649 字
2 分钟
ROS常用指令表速查
ROS2 常用指令速查表
1. 工作空间相关
| 命令 | 说明 |
|---|---|
mkdir -p ~/ros2_ws/src | 创建工作空间目录 |
cd ~/ros2_ws && colcon build | 编译工作空间 |
colcon build --packages-select <package_name> | 只编译指定功能包 |
colcon build --symlink-install | 使用符号链接安装(方便 Python 节点开发) |
source ~/ros2_ws/install/setup.bash | 激活环境 |
2. 功能包操作
| 命令 | 说明 |
|---|---|
ros2 pkg create <package_name> --build-type ament_cmake | 创建 C++ 功能包 |
ros2 pkg create <package_name> --build-type ament_python | 创建 Python 功能包 |
ros2 pkg list | 列出所有已安装的功能包 |
ros2 pkg executables <package_name> | 查看功能包中的可执行文件 |
3. 节点管理
| 命令 | 说明 |
|---|---|
ros2 run <package_name> <executable_name> | 运行节点 |
ros2 node list | 列出当前运行的节点 |
ros2 node info <node_name> | 查看节点详细信息(订阅/发布/服务等) |
4. 话题操作
| 命令 | 说明 |
|---|---|
ros2 topic list | 列出所有话题 |
ros2 topic list -t | 列出话题及其消息类型 |
ros2 topic echo <topic_name> | 打印话题消息内容 |
ros2 topic echo <topic_name> --once | 打印话题消息内容一次 |
ros2 topic info <topic_name> | 查看话题信息 |
ros2 topic pub <topic_name> <msg_type> '<data>' | 发布消息到话题 |
ros2 topic pub -r 10 /<topic_name> <msg_type> "<data>" | 固定频率持续发布消息 |
ros2 topic hz <topic_name> | 查看话题发布频率 |
ros2 topic bw <topic_name> | 查看话题带宽 |
ros2 topic type <topic_name> | 查看话题数据类型 |
5. 服务操作
| 命令 | 说明 |
|---|---|
ros2 service list | 列出所有服务 |
ros2 service list -t | 列出服务及其类型 |
ros2 service type <service_name> | 查看服务类型 |
ros2 service find <service_type> | 查找指定类型的服务 |
ros2 service call <service_name> <service_type> '<request>' | 调用服务 |
ros2 interface show <service_type> | 查看服务接口定义 |
6. 参数操作
| 命令 | 说明 |
|---|---|
ros2 param list | 列出所有参数 |
ros2 param get <node_name> <param_name> | 获取参数值 |
ros2 param set <node_name> <param_name> <value> | 设置参数值 |
ros2 param dump <node_name> | 导出节点参数到文件 |
ros2 param load <node_name> <file> | 从文件加载参数 |
ros2 run <package> <node> --ros-args --params-file <file> | 启动时加载参数文件 |
7. 启动文件
| 命令 | 说明 |
|---|---|
ros2 launch <package_name> <launch_file> | 运行启动文件 |
ros2 launch <package_name> <launch_file> --show-args | 显示启动文件的可用参数 |
8. 消息与接口
| 命令 | 说明 |
|---|---|
ros2 interface list | 列出所有可用接口(消息/服务/动作) |
ros2 interface package <package_name> | 列出某功能包提供的接口 |
ros2 interface show <interface_name> | 查看接口详细定义 |
ros2 interface proto <interface_name> | 查看接口的 protobuf 风格定义 |
9. 动作通信
| 命令 | 说明 |
|---|---|
ros2 action list | 列出所有动作 |
ros2 action list -t | 列出动作及其类型 |
ros2 action info <action_name> | 查看动作信息 |
ros2 action send_goal <action_name> <action_type> '<goal>' | 发送动作目标 |
ros2 action send_goal <action_name> <action_type> '<goal>' --feedback | 发送目标并显示反馈 |
10. 录包与回放
| 命令 | 说明 |
|---|---|
ros2 bag record <topic_names> | 录制指定话题 |
ros2 bag record -a | 录制所有话题 |
ros2 bag info <bag_file> | 查看录包文件信息 |
ros2 bag play <bag_file> | 回放录包文件 |
ros2 bag play <bag_file> --loop | 循环回放 |
ros2 bag play <bag_file> --rate <rate> | 以指定倍速回放 |
11. 调试与工具
| 命令 | 说明 |
|---|---|
ros2 run rqt_graph rqt_graph | 打开节点话题可视化图 |
ros2 run rqt_console rqt_console | 查看日志输出 |
ros2 run rqt_plot rqt_plot | 绘制话题数据曲线 |
ros2 run tf2_ros tf2_echo <frame1> <frame2> | 查看坐标变换 |
ros2 run tf2_ros tf2_monitor | 监控坐标变换 |
ros2 doctor | 检查 ROS2 系统状态 |
ros2 doctor --report | 生成详细诊断报告 |
ros2 run tf2_tools view_frames | 查看所有坐标树 |
ros2 run tf2_ros tf2_echo map odom | 查看map到odom坐标变换 |
ros2 run rosbridge_server rosbridge_websocket | 启动rosbridge_server |
12. 环境与配置
| 命令 | 说明 |
|---|---|
ros2 --version | 查看 ROS2 版本 |
echo $ROS_DISTRO | 查看当前 ROS2 发行版 |
ros2 daemon stop | 停止 ROS2 守护进程 |
ros2 daemon start | 启动 ROS2 守护进程 |
ros2 multicast send | 测试多播通信 |
ros2 multicast receive | 接收多播测试 |
附:常用消息类型示例
# 发布 Twist 消息(控制机器人)ros2 topic pub /cmd_vel geometry_msgs/msg/Twist "{linear: {x: 0.5, y: 0.0, z: 0.0}, angular: {z: 0.2}}"
# 调用清空服务(Gazebo 仿真)ros2 service call /clear_world std_srvs/srv/Empty 分享
如果这篇文章对你有帮助,欢迎分享给更多人!
ROS常用指令表速查
https://niushaoxiong.top/posts/ros2常用指令表速查/ 部分信息可能已经过时
相关文章 智能推荐