news 2026/8/11 9:34:46

ROS2开发中常用的库

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ROS2开发中常用的库
C++对象Python对象作用应用场景
rclcpp::Noderclpy.node.NodeROS2节点基础对象,所有程序运行单元创建雷达节点、SLAM节点、控制节点
rclcpp::Publisher<T>rclpy.publisher.PublisherTopic发布对象,向外发送消息发布/scan/imu/cmd_vel
rclcpp::Subscription<T>rclpy.subscription.SubscriptionTopic订阅对象,接收消息接收激光雷达、IMU、摄像头数据
rclcpp::Service<T>rclpy.service.ServiceService服务端,请求-响应通信保存地图、机器人状态查询
rclcpp::Client<T>rclpy.client.ClientService客户端,调用服务请求启动任务、调用功能
rclcpp_action::Server<T>rclpy.action.ActionServerAction服务端实现导航、机械臂动作
rclcpp_action::Client<T>rclpy.action.ActionClientAction客户端调用Nav2导航任务
rclcpp::TimerBaserclpy.timer.Timer定时器,周期执行函数控制循环、状态发布
rclcpp::Parameterrclpy.parameter.Parameter参数对象配置速度、SLAM参数
rclcpp::Timerclpy.time.TimeROS时间对象消息时间戳、传感器同步
rclcpp::Durationrclpy.duration.Duration时间间隔对象计算时间差
rclcpp::Raterclpy.timer.Rate控制循环频率10Hz控制、100Hz控制
rclcpp::Executorrclpy.executors.Executor管理节点回调执行多节点运行
rclcpp::SingleThreadedExecutorrclpy.executors.SingleThreadedExecutor单线程执行器普通节点
rclcpp::MultiThreadedExecutorrclpy.executors.MultiThreadedExecutor多线程执行器SLAM、多传感器处理
rclcpp::CallbackGrouprclpy.callback_groups.CallbackGroup回调分组管理多线程任务隔离
rclcpp::NodeOptionsrclpy节点参数配置节点初始化配置命名空间、参数加载
rclcpp::Loggerrclpy.logging日志输出调试机器人状态
rclcpp::Clockrclpy.clock.Clock时间源管理仿真时间、系统时间
rclcpp::QoSrclpy.qos.QoSProfile通信质量配置LiDAR高频数据传输
rclcpp::WaitSetrclpy.wait_for_message等待消息事件底层通信控制

ROS2消息类型对应

ROS2消息C++类型Python类型作用机器狗应用
Stringstd_msgs::msg::Stringstd_msgs.msg.String字符串状态信息
Boolstd_msgs::msg::Boolstd_msgs.msg.Bool布尔状态开关控制
Float32std_msgs::msg::Float32std_msgs.msg.Float32浮点数据温度、速度
Posegeometry_msgs::msg::Posegeometry_msgs.msg.Pose位姿机器人位置
PoseStampedgeometry_msgs::msg::PoseStampedgeometry_msgs.msg.PoseStamped带时间位姿导航目标点
Twistgeometry_msgs::msg::Twistgeometry_msgs.msg.Twist速度控制/cmd_vel
TransformStampedgeometry_msgs::msg::TransformStampedgeometry_msgs.msg.TransformStampedTF数据坐标转换
Imusensor_msgs::msg::Imusensor_msgs.msg.ImuIMU数据姿态估计
LaserScansensor_msgs::msg::LaserScansensor_msgs.msg.LaserScan2D激光SLAM
PointCloud2sensor_msgs::msg::PointCloud2sensor_msgs.msg.PointCloud2点云3D LiDAR
Imagesensor_msgs::msg::Imagesensor_msgs.msg.Image图像摄像头

TF2对应

C++Python作用
tf2_ros::TransformBroadcastertf2_ros.TransformBroadcaster发布TF
tf2_ros::TransformListenertf2_ros.TransformListener接收TF
tf2_ros::Buffertf2_ros.Buffer保存TF缓存
tf2::Quaterniontf_transformations.quaternion_from_euler()欧拉角转四元数
tf2::Transformtf2相关接口坐标计算
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/11 9:28:40

档案室改造技术选型:手动、电动、智能密集架场景适配、预算匹配与ROI深度分析

一、选型前言 在档案标准化合规落地、存量库房提质升级、数字化转型常态化的行业背景下,政企档案室改造经常面临核心选型难题:手动、电动、智能密集架该如何精准匹配场景?多数采购与技术负责人容易陷入两种误区:低配导致合规不达标、后期返工整改;高配造成功能闲置、预算资…

作者头像 李华
网站建设 2026/8/11 9:28:30

微信小游戏内存优化实战:ASTC压缩纹理方案详解

1. 项目概述&#xff1a;当内存成为微信小游戏的“阿喀琉斯之踵” 做微信小游戏开发&#xff0c;尤其是用Unity或者团结引擎这类“重型”引擎&#xff0c;最头疼的问题是什么&#xff1f;十个开发者里&#xff0c;有八个会告诉你&#xff1a;内存。这几乎成了微信小游戏生态里一…

作者头像 李华
网站建设 2026/8/11 9:28:05

如何快速解密网易云音乐ncm文件:免费图形化工具完整指南

如何快速解密网易云音乐ncm文件&#xff1a;免费图形化工具完整指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换&#xff0c;Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否因为网易云音乐的ncm加密格式而无法…

作者头像 李华
网站建设 2026/8/11 9:27:39

为AI智能体构建持久化AST感知代码记忆库:Lybrary与MCP集成指南

最近在尝试为 AI 智能体&#xff08;Agent&#xff09;构建一个能够“记住”代码上下文、理解代码结构的长期记忆系统时&#xff0c;发现了一个非常有意思的项目&#xff1a; Lybrary 。它不是一个简单的代码片段管理器&#xff0c;而是一个 持久化、具备抽象语法树&#xf…

作者头像 李华
网站建设 2026/8/11 9:26:58

终极魔兽争霸3优化指南:5分钟解决现代电脑兼容性问题

终极魔兽争霸3优化指南&#xff1a;5分钟解决现代电脑兼容性问题 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为经典魔兽争霸3在现代Windows系…

作者头像 李华
网站建设 2026/8/11 9:25:17

Godot 2D几何破坏系统:轻量级多边形切割与碎裂实现

1. 项目概述&#xff1a;为什么我们需要一个轻量级的2D几何破坏系统&#xff1f;在开发2D游戏时&#xff0c;尤其是物理解谜、平台动作或者带有破坏元素的射击游戏时&#xff0c;一个常见的需求是让场景中的物体能够被“打碎”。想象一下&#xff0c;玩家发射的子弹击碎了一堵砖…

作者头像 李华