ROS命令行大全

1.节点工具命令行

命令行 作用
roscore 运行ROS核心
rosrun “软件包” “节点程序” 通过软件包找到程序去运行
rosnode list 查看在运行的节点
roscd 通过包名进去到所在目录
rospack 获取软件包的有关信息,加上find可以查看路径
rosls 通过包名显示所在目录的文件
rosed 通过包名找到程序并打开编辑器,默认是vim,可以更换编辑器
roslaunch 可以用来启动定义在launch(启动)文件中的节点
  • 使用重映射参数来改变节点名称:
$ rosrun turtlesim turtlesim_node __name:=my_turtle

2.话题工具命令行

命令行 作用
rosrun rqt_graph rqt_graph 打开节点程序,查看话题和节点之间的通信关系
rostopic list 列出当前已被订阅和发布的所有话题,加上空格后使用-v可以查看分类
rostopic echo “话题” 显示在某个话题上发布的数据
rostopic type “话题” 查看所发布话题的消息类型
rostopic pub 将数据发布到当前某个正在运行广播的话题
rostopic hz 查看话题数据发布的速率
rqt_plot 在滚动时间图上显示发布到某个话题上的数据

:“话题”是指在ros中的话题名称

详情:话题工具

3.服务工具命令行

命令行 作用
rosservice list 列出正在活跃服务的信息
rosservic call 用给定的参数调用服务
rosservice type “服务” 查看 服务的消息类型
rosservice find “服务的消息类型” 按照服务类型查找服务
rosservice uri 查看服务的ROSRPC uri

:”服务”是指在ros中的服务名称。

uri:节点程序的服务的统一资源定位符或者说是地址。

3.1 rosparam
  • 能让我们在ROS[参数服务器Parameter Server]上存储和操作数据
命令行 作用
rosparam set 设置参数
rosparam get 获取参数
rosparam load 从文件中加载参数
rosparam dump 向文件中转储参数
rosparam delete 删除参数
rosparam list 列出参数名

4.msg和srv

  • msg(消息):msg文件就是文本文件,用于描述ROS消息的字段。它们用于为不同编程语言编写的消息生成源代码。
  • srv(服务):一个srv文件描述一个服务。它由两部分组成:请求(request)和响应(response)。
命令行 作用
rosmsg -h 列出可以显示消息的消息类型工具命令行
rossrv -h 列出显示服务的消息类型工具命令行
rossrv show 显示服务格式内容
rossrv list 显示服务列表
rossrv package 显示指定包中的所有服务列表
rossrv packages 显示所有带有服务的包的列表
rossrv md5 显示指定服务类型的 md5 总和

5.录制和回放数据bag命令行

命令行 作用
rosbag record -a 录制所有话题,所有发布的话题都应该积累在一个bag文件中
rosbag info “bag文件” 执行info命令检查bag文件的内容而不回放它
rosbag play “bag文件” 回放bag文件
rosbag record -O subset “话题1” 录制指定话题
time rosbag info “bag文件” 手动检查所有已发布的话题,查看发布了多少信息
time rosbag play –immediate demo.bag –topics “话题” 使用--immediate选项 回放文件,他就只会发布我们指定的话题

详情:bag使用方法

6.系统与软件包

命令行 作用
roswtf 检查ROS系统错误、话题与节点的错误
rosdep install “软件包” 安装ROS 软件包所需要的系统依赖项
./install_for_noetic.ch 安装软件包依赖项
catkin_create_pkg “软件包名” roscpp rospy 创建软件包,roscpp等为所需依赖项
catkin_make 到工作空间里,去重新编译软件包

c++程序每次修改后都需要回到工作空间编译,catkin_make

python程序则只需要增加一次可执行文件权限即可,chmod +x “python文件”

消息包的类型:

https://www.edrawsoft.cn/viewer/public/s/858ac382469902 (谷歌游览器打开)

7.仿真

命令行 作用
gazebo 启动Gazebo仿真,在新版的ros已经嵌入 ,无需下载
rqt_robot_steering 图形化速度调节器,控制机器人移动速度
rviz 可视化雷达工具
rqt_console &查看节点日志信息
rqt_logger_level &改变查看节点日志信息的详细级别
gmapping建图
命令行 作用
rosrun rqt_tf_tree rqt_tf_tree 查看tf树
rosrun gmapping slam_gmapping 启动建图节点
rosrun wap_server map_saver -f “文件名” 保存地图文件,生成图片和一个yaml文件
rosrun map_server map_server “yaml文件” 加载地图文件
一般发布类型的话题
话题 意义
/scan 雷达数据发布话题
/map 地图数据发布话题
/tf 坐标系数据转换的话题
/cmd_vel 机器人移动发布话题
/imu/data 机器人的姿态发布话题
依赖项
依赖项 作用
roscpp **c++**的程序支持
rospy python的程序支持
sensor_msgs 传感器消息类型的消息包
std_msgs 基本数据类型的消息包
nav_msgs 地图数据类型的消息包

笔者于2023年8月7号,第一次写下,后续会完善!