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号,第一次写下,后续会完善!