ROS命令行大全(概括)
1.节点工具命令行
命令行 | 作用 |
---|
roscore | 运行ROS核心 |
rosrun “软件包” “节点程序” | 通过软件包找到程序去运行 |
rosnode list | 查看在运行的节点 |
roscd | 通过包名进去到所在目录 |
rospack | 获取软件包的有关信息,加上find可以查看路径 |
rosls | 通过包名显示所在目录的文件 |
rosed | 通过包名找到程序并打开编辑器,默认是vim,可以更换编辑器 |
roslaunch | 可以用来启动定义在launch(启动) 文件中的节点 |
- 使用[重映射参数](http://wiki.ros.org/Remapping Arguments)来改变节点名称:
$ 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.1rosparam
- 能让我们在ROS[参数服务器(Parameter Server)](http://wiki.ros.org/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号,第一次写下,后续会完善!
Azitide博客·首更 :https://azitide.github.io/