代码解析
文章平均质量分 90
MAXLLRED
欢迎交流、分享技术心得。谢谢!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Fast-LIO使用——mid360.yaml配置文件代码解析
mid360.yaml是用于Livox Mid-360激光雷达的ROS 2节点参数配置文件,主要包含SLAM系统参数设置。文件分为通用参数(如话题名称、时间同步)、预处理参数(如雷达类型、盲区过滤)、建图参数(如噪声协方差、外参估计)和发布参数(如路径/地图发布选项)。关键配置包括关闭特征提取、设置点云降采样、定义地图立方体边长1000米、启用外参估计和点云保存功能。该文件完整配置了从数据采集到建图发布的整个SLAM流程参数。原创 2025-09-08 10:52:08 · 1235 阅读 · 0 评论 -
示例example_interfaces_control_01.cpp代码解析
ROS2知识:创建自定义节点类,继承自基类C++知识:使用类继承实现代码复用,遵循OOP设计原则节点(Node):ROS2的基本执行单元服务(Service):请求-响应通信模式客户端(Client):服务请求方话题(Topic):发布-订阅通信模式订阅(Subscription):话题接收方接口(Interface):服务/消息的数据结构定义回调(Callback):异步事件处理机制。原创 2025-07-30 19:12:03 · 885 阅读 · 0 评论 -
示例example_interfaces_robot_01.cpp代码解析
ROS2机器人服务节点代码摘要 这段代码实现了一个ROS2机器人服务节点,提供移动服务和状态发布功能。主要包含: Robot类:封装机器人状态(当前位置/目标位置)和行为(移动逻辑),提供移动距离和状态查询方法。 节点类:继承rclcpp::Node,实现: 创建move_robot服务,处理客户端移动请求 定时发布机器人状态到robot_status话题 使用Robot类完成实际移动逻辑 关键ROS2功能: 服务服务器/客户端通信模式 话题发布/订阅机制 定时器实现周期性任务 使用自定义消息和服务接口 C原创 2025-07-30 20:56:55 · 930 阅读 · 0 评论 -
示例example_interfaces_robot_02.py代码解析
selfself。原创 2025-07-31 20:08:28 · 999 阅读 · 0 评论 -
示例example_interfaces_control_02.py代码解析
Python 知识:定义新类,继承自Node类ROS2 知识:所有 ROS2 节点必须继承自Node类Python 知识__init__:类的构造函数,在创建对象时调用self:指向当前对象实例的引用:调用父类Node的构造函数ROS2 知识name参数指定节点的唯一名称self.get_logger().info("节点已启动:%s!" % name)Python 知识:使用self访问对象的方法ROS2 知识:获取节点的日志记录器info():输出信息级日志消息Python 知识。原创 2025-07-31 20:21:31 · 1148 阅读 · 0 评论 -
示例example_interfaces_control_01.cpp代码解析II
C++ OOP:定义节点类继承自对比 Python:Python 中。原创 2025-07-31 20:33:44 · 876 阅读 · 0 评论 -
示例parameter_basic.cpp代码解析
本文详细解析了一个ROS2/C++节点示例代码,重点介绍了参数管理和日志系统的实现。主要内容包括:1)节点类通过继承rclcpp::Node创建;2)使用declare_parameter声明参数并设置默认值;3)定时器回调中动态获取参数并更新日志级别;4)演示了DEBUG到FATAL多级日志输出效果;5)展示了如何通过命令行动态修改参数。该示例完整呈现了ROS2参数系统的核心功能,包括参数声明、获取、动态更新等操作,以及日志级别的设置和效果验证,是学习ROS2节点开发的重要基础案例。原创 2025-08-01 16:03:17 · 860 阅读 · 0 评论 -
示例action_robot_01.cpp代码解析
本文解析了一个ROS2 Action服务端的实现代码,用于控制机器人移动。主要内容包括: Action服务端创建流程:使用rclcpp_action::create_server创建服务端,需要实现三个回调函数(目标处理、取消处理和接受处理) 关键组件: 目标验证:检查目标距离是否有效 执行控制:独立线程执行移动任务 反馈机制:定期发布执行进度 取消处理:响应客户端取消请求 结果返回:成功/取消时返回最终结果 技术特点: 使用C++11特性(智能指针、lambda、线程) 异步任务处理避免阻塞主线程 完善的原创 2025-08-02 11:06:43 · 1107 阅读 · 0 评论 -
示例action_control_01.cpp代码解析
本文详解了ROS2中Action客户端的C++实现,包含代码解析与核心概念讲解。主要内容包括: Action机制:ROS2异步通信方式,适用于长时间任务,包含Goal/Feedback/Result三部分 客户端实现: 通过create_client创建Action客户端 使用async_send_goal异步发送目标 设置三类回调处理响应、反馈和结果 关键代码: 等待服务器(10秒超时) 构建目标消息(距离10) 处理三种执行状态(SUCCEEDED/ABORTED/CANCELED) 通信流程:显示完整原创 2025-08-03 09:23:55 · 921 阅读 · 0 评论 -
nav2.yaml导航参数代码示例解析
本文详细解析了ROS 2导航系统(Nav2)的关键参数配置,涵盖定位、路径规划、代价地图等核心模块。其中,amcl定位模块采用粒子滤波算法,设定了运动模型噪声参数、粒子数量范围等;控制器服务器配置了20Hz运行频率和路径跟踪参数;代价地图系统分为本地(5Hz更新)和全局(1Hz更新)两种,分别采用滚动窗口和静态地图策略,均包含障碍物检测和膨胀层配置。行为树导航器通过插件机制实现任务管理,DWB控制器则定义了详细的轨迹评估标准。整体系统设计注重实时性与精度平衡,参数设置考虑了机器人运动特性和环境感知需求。原创 2025-08-25 09:25:50 · 1588 阅读 · 0 评论 -
icp_registration.hpp代码解析
作用:创建自定义点云类型别名PointType:带强度(intensity)和法线(normal)的3D点:XYZ+强度点云:XYZ+强度+法线点云public:~IcpNode();作用:声明ROS2节点类继承自包含构造函数和析构函数这是一个基于多阶段ICP配准输入:接收激光点云 + 初始位姿估计处理点云降采样(粗/精双分辨率)带法线的ICP配准(粗配准+精配准)输出优化后的map→odom变换通过TF系统发布坐标变换特点线程安全设计(互斥锁保护)原创 2025-08-16 09:06:25 · 211 阅读 · 0 评论 -
示例fishbot_gazebo.urdf代码解析
该URDF文件描述了一个名为"fishbot"的双轮差分驱动机器人。主体采用圆柱形设计(直径20cm、高12cm),通过两个驱动轮(直径6.5cm,间距20cm)和前万向轮实现移动。配置了360°激光雷达(5Hz更新/3.5m范围)和IMU传感器,分别发布到/scan和/imu话题。Gazebo插件集成差分驱动控制(响应cmd_vel指令并发布odom)、关节状态发布(30Hz)及传感器接口。原创 2025-08-09 10:50:27 · 1039 阅读 · 0 评论
分享