自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 给服务器的粘贴本

main()函数,这就能清楚地看到问题了。

2025-10-27 20:59:25 224

原创 AI给出的exploration_plan.cpp解释

下面给你一份的详尽中文代码分析报告。内容覆盖:类结构、成员变量、主要函数逻辑、数据流(输入→处理→输出)、关键参数与 launch 的对应关系、常见故障点、调试/单元测试建议和改进建议。篇幅较长——为了便于实战接手,我把分析分成若干清晰小节,按优先级给出你可以马上做的操作与变更点。

2025-10-20 17:07:38 307

原创 exploration_scene_moon参数解释

参数名默认值含义0传感器相对底盘中心的 X 偏移(前后)0传感器相对底盘中心的 Y 偏移(左右)0摄像头的高度偏移true是否支持双向行驶(前进+倒车)maxSpeed1.0车辆最大速度(m/s)true是否启用自动驾驶模式1.0自动驾驶默认速度2.0从手柄切换到自动速度的延迟(秒)goalX100全局目标点 X 坐标(m)goalY100全局目标点 Y 坐标(m)这个launch模块功能全局探索路径规划多地图融合提取局部目标点生成局部路径并检测障碍执行路径跟随控制。

2025-10-13 20:04:56 690

原创 isaacsim开源项目【正在更新】

isaac sim前沿方向调研

2025-08-08 11:55:10 579

原创 ubuntu自动重启BUG排查指南

如果记录中包含 shutdown 或 crash,则可能是人为操作或系统故障导致。如果输出包含内存或 CPU 错误信息,例如 EDAC memory error,可能需要更换相关硬件。当 Ubuntu 系统意外重启时,排查原因需要从系统日志、硬件状态和定时任务等多个方面入手。如果日志中显示内存错误或硬件问题(如温度过高),需进一步检查硬件状态。通过以上方法,可以有效定位并解决 Ubuntu 系统的重启问题。,可以定位重启前的错误信息。如果发现异常任务,可禁用相关配置。示例:通过日志检查重启原因。

2025-08-05 21:49:25 1994

原创 如何用Docker部署ROS2

自身电脑ubuntu20.04由于工作需要humble,遂采用docker安装安装之前可以先用鱼香ROS的一键安装代码,里面又一键安装docker以及ROS docker版但是一键安装过程中有人可能出现报错,无法下载(比如我),所以整理一下安装的全过程。

2025-07-30 16:48:05 1337 1

原创 [python]@staticmethod

是用于定义独立于类和实例的工具方法的装饰器,适用于逻辑与类无关但需归类组织的场景。若需访问类属性或操作类状态,应优先选择。

2025-04-18 14:00:11 1080

原创 [python]sort

是 Python 中高效、灵活的列表排序方法,通过key和reverse参数可应对复杂排序需求。若需更广泛的应用场景(如处理其他可迭代对象),建议结合sorted()函数使用。

2025-04-18 13:47:01 390

原创 SPI通信学习(自用)

SPI(Serial Peripheral Interface)通信协议支持全双工和半双工操作,其模式的选择通常取决于硬件设计和软件配置。

2025-02-27 17:22:13 1038

原创 hardware_interface::LoanedCommandInterface 解析

🚀 **如果你正在开发 ROS 2 机器人控制器,理解。对你的硬件控制至关重要!(如电机、电机驱动器等)。

2025-02-13 15:35:38 765

原创 RAII(Resource Acquisition Is Initialization)机制

在 C++98 及之前,动态分配对象需要手动使用。在 C++ 里,我们可以使用 RAII 方式,,C++11 以后我们可以使用。,避免了 C 语言里可能出现的。✅ 当你需要手动管理资源(如。RAII 典型的做法是:使用。RAII,因为 C 没有。

2025-02-13 15:29:10 1518

原创 override 关键字的作用

✅。

2025-02-13 15:02:51 700 1

原创 解析 rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface

允许它们被动态管理。

2025-02-13 14:50:33 636

原创 C++中接口与继承的区别(自我学习用)

(Interface)是面向对象编程(OOP)中的两种不同概念,虽然在 C++ 中没有像 Java 那样的。让我们详细比较它们的区别。,可以重用和扩展父类的功能。继承和接口(纯虚类)使代码更灵活!(Inheritance)和。✅ 在 C++ 中,可以。在 C++ 中,没有。

2025-02-13 11:34:39 1729

原创 什么是右值引用&&

右值引用是 C++11 引入的一种引用类型,用于引用那些没有名字、临时创建的右值对象。总结来说,右值引用是 C++11 为优化内存管理和性能而引入的一项特性,它支持移动语义和完美转发,从而减少了不必要的拷贝操作,提高了程序的整体效率。右值通常代表临时对象或不需要长期保存的值,通过右值引用可以直接操作这些值,而不必像左值引用那样受生命周期的限制。这为资源优化提供了便利。在上面的例子中,MyClass 的移动构造函数就利用了右值引用,它能够接收一个将要销毁的临时对象,并将其资源转移到新创建的对象中。

2025-02-12 16:42:00 230

原创 什么是句柄?

总之,句柄是一种在软件设计中常见的抽象机制,用来隔离和管理复杂的底层资源,提供了一种安全、高效且一致的操作方式,使得应用程序可以方便地访问和操作这些资源,而不需关心其底层的具体实现。通过句柄,程序可以完成对资源的操作,而无需了解资源的具体细节。虽然句柄有时底层可能实现为指针,但句柄通常被视为不透明的数据类型,用户只能通过预定义的 API 操作,而不能直接访问其内部数据结构。句柄在计算机编程中通常指一个抽象的引用或标识符,用于代表和访问系统或应用程序中的某个资源,而不必直接暴露该资源的内部实现细节。

2025-02-12 16:40:41 556

原创 ROS2 生命周期节点

生命周期节点为 ROS2 提供了一种更为规范和可控的节点管理机制,使得系统开发者能够设计出更健壮、灵活和易于维护的分布式机器人软件系统。通过定义明确的状态和转换流程,生命周期节点在初始化、激活、停用、重启以及关闭过程中的行为更加确定,能够处理各类异常情况,最终提高整个系统的可靠性和安全性。生命周期节点(Lifecycle Node)是 ROS2 引入的一种节点管理方式,它为节点提供了一套明确的生命周期状态和状态转换机制,方便开发者对节点进行更加精细的控制和管理。– 节点释放资源,恢复到未配置状态。

2025-02-11 17:40:25 645

原创 VirtualBox安装增强功能

在有光盘基础上最简单添加增强功能方法

2025-02-11 15:57:08 3623

原创 git简单使用

因此,在使用这些命令之前,请确保你已经保存好了所有需要的更改,并且明确清楚自己想要清除的修改范围。是一个常用的 Git 命令,用于将本地代码库中的更改推送到远程仓库(通常是名为 “origin” 的远程仓库)的 “master” 分支。这个命令会将远程仓库的地址添加到本地仓库,并指定远程仓库的名称为 “origin”。请注意,如果要推送更改到远程分支,你需要先添加远程分支的名称,然后才能进行推送操作。完成这些步骤后,Git 会将指定的分支克隆到你的本地目录,并建立一个与远程分支同名的本地分支。

2025-01-14 15:22:47 731

原创 理解 C++ 中的 std::chrono::duration

是 C++11 中引入的一个模板类,用于表示时间间隔。类模板表示具有特定刻度周期和计数的时间间隔。每个都是具有不同刻度周期的。Duration 可用于像。

2025-01-13 11:19:30 642

原创 std::this_thread::sleep_for解析

是 C++ 标准库中提供的一个函数,属于 头文件。其作用是让当前线程暂停执行(也就是 "睡眠")一段指定的时间。namespace std { namespace this_thread { template< class Rep, class Period > void sleep_for( const std::chrono::duration<Rep, Period>& rel_time ); }}主

2025-01-10 10:50:41 3850

原创 std::thread:C++标准线程类详解

是 C++11 新增的标准线程类,用来支持多线程编程,是 C++ 的标准库中为线程操作提供的一种高层抽象模型。它允许创建和管理独立的线程,以实现并发程序设计。如果两个线程因互相等待对方的资源而永远无法运行,便会发生死锁。调用类的成员函数时要配合类对象使用,并注意引用成员函数时指出指针(,可以创建额外的线程,让某些任务并发执行。对象关联一个子线程,子线程与主线程并发运行。当子线程设置为脱离模式时,它独立于主线程运行。在 C++ 中,每个程序的执行起点就是。(未同步)问题,需通过锁(如。或 detach()

2025-01-09 11:49:17 1229

原创 shared_ptr访问对象和指针区别

是一个封装了指针的智能指针,因此,它本质上也是一个指针。为了访问其所管理的对象的成员,你需要使用。也能访问成员,但这是一种较繁琐的方式,且容易出错。// 获取 shared_ptr 指向的对象,并访问其成员。,因为它更符合智能指针的设计目的,也更简洁优雅。// 使用 -> 是正确的。// 使用 . 是错误的。

2025-01-03 23:17:33 363

原创 ROS2中机械臂FollowJointTrajectory详解

trajectory_msgs/JointTrajectory trajectory :这里面传入了机器人的运行轨迹,包含了机器人各关节运行的位置、速度、加速度、运行时间等等。这几个都是时间和目标的容忍度。如果发送到服务端发现没法在规定时间内运行到响应位置,就会回传拒绝的请求。

2025-01-03 18:32:51 2271

原创 AGV两种驱动方式对比-(差速驱动和麦轮驱动)

但有利也有弊,首先相较于传统的包胶轮,复杂的结构自然价格更为昂贵,其对使用环境也更为苛刻,路面必须平整,使用寿命、载重以及运行速度也处于劣势,综合来说应用成本较高,性价比略低。驱动轮与电机减速器输出轴直连,辅以轴承座等部件减轻输出轴的受力,动力输出上更平顺,速度上相比于自由轴的更有优势,但同样的其转弯半径要比自由轴的更大,在曲线过弯的灵活性能力上要打上折扣。这种结构的AGV受益于驱动轮的自由度高,转弯半径小,运动时更加灵活,尤其体现在曲线轨迹的路线上,一般牵引式AGV应用较多。

2024-09-24 10:54:59 5684

原创 Matlab 机器人工具箱 (一)DH参数和正逆运动学

作者为大三学生,本博客为边学习边使用,如有错误,请见谅。在文章结束附加代码。

2023-11-05 16:23:23 9673 5

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除