ROS1 命令大全
·
1.ROS 核心与节点管理(Core & Nodes)
roscore
启动 ROS Master、参数服务器及日志节点。一个 ROS 网络仅需运行一次。
roscore
若端口冲突,使用 killall -9 rosmaster 强制终止残留进程。
rosrun
运行指定功能包中的节点。
rosrun <package_name> <node_name>
支持节点重命名和话题重映射:
rosrun turtlesim turtlesim_node __name:=my_turtle # 重命名节点
rosrun turtlesim turtlesim_node /turtle1/cmd_vel:=/cmd_vel # 重映射话题
roslaunch
通过 .launch 文件启动多节点,自动拉起 roscore。
roslaunch <package_name> <launch_file.launch>
传递自定义参数或检查语法:
roslaunch my_pkg robot.launch arg_name:=value # 传参
roslaunch --check my_pkg robot.launch # 语法检查
rosnode
管理运行中的节点:
rosnode list:列出活跃节点。rosnode info /turtlesim:查看节点详情(话题、服务、PID)。rosnode kill /turtlesim:终止节点(注意respawn配置)。rosnode cleanup:清理僵尸节点注册信息。
2.话题管理(Topics)
rostopic
调试与监控话题数据:
rostopic list -v:列出所有活跃话题及发布/订阅关系。rostopic echo /odom -n 5:仅打印5条数据。rostopic hz /camera/image_raw:检查发布频率。rostopic pub -r 10 /cmd_vel geometry_msgs/Twist "[2.0, 0, 0]" "[0, 0, 1]":以10Hz循环发布速度指令。
3.服务管理(Services)
rosservice
查询与调用服务:
rosservice list:列出所有服务。rosservice call /spawn "x: 2.0 y: 2.0 theta: 0.0 name: 't2'":调用带参服务(按Tab键自动补全参数结构)。
4.参数服务器管理
rosparam
操作全局参数:
rosparam get /:以YAML格式导出全系统参数。rosparam dump params.yaml:保存参数到文件。rosparam load params.yaml:从文件加载参数。
5.数据类型与消息
rosmsg & rossrv
查看消息/服务结构:
rosmsg show geometry_msgs/Twist # 显示消息字段
rossrv show turtlesim/Spawn # 显示服务请求/响应结构
6. 数据录制与回放 (Bag Files)
# 录制指定话题(保存为my_data.bag)
rosbag record -O my_data.bag /odom /cmd_vel
# 录制除指定正则匹配外的所有话题
rosbag record -a -x "/camera/(.*)"
# 查看文件元信息
rosbag info my_data.bag
# 基础回放
rosbag play my_data.bag
# 高级回放(需算法调试时使用)
rosbag play -r 2 -s 10 -u 30 --clock my_data.bag
7. 功能包路径管理
# 定位功能包路径
rospack find turtlesim
# 查看依赖关系
rospack depends1 my_pkg # 直接依赖
rospack depends my_pkg # 递归依赖
# 快速跳转路径
roscd # 默认安装路径
roscd log # 日志目录
# 功能包文件操作
rosls turtlesim # 文件列表
rosed turtlesim CMakeLists.txt # 文件编辑
* 配置编辑器:在~/.bashrc添加 export EDITOR='nano' *
8. 工作空间与编译
# 初始化工作空间(在src目录执行)
catkin_init_workspace
# 创建功能包(自动配置依赖项)
catkin_create_pkg my_robot_pkg roscpp rospy std_msgs sensor_msgs
# 标准编译(工作空间根目录执行)
catkin_make
# 优化编译模式
catkin_make -DCMAKE_BUILD_TYPE=Release
# 选择性编译(调试利器)
catkin_make -DCATKIN_WHITELIST_PACKAGES="pkg1;pkg2"
# 清除白名单设置
catkin_make -DCATKIN_WHITELIST_PACKAGES=""
# 限制核心编译(嵌入式场景)
catkin_make -j4
# 清理构建产物
catkin_make clean
注:turtlesim 是 ROS 机器人系统里的官方入门模拟器,2D的小乌龟模型
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)