ROS shell 命令
ROS shell命令又被称为rosbash,这使我们可以在ROS开发环境中使用Linux中常用的bash shell命令。
roscd:移动ROS目录
roscd [功能包名称]
这是一个移动到保存有功能包的目录的命令
rosls:ROS文件列表
rosls [功能包名称]
该命令查看指定的ROS功能包的文件列表
一般使用roscd命令移动到功能包,然后使用正常的ls命令执行相同的功能。
rosed:ROS编辑命令
rosed [功能包名称] [文件名称]
该命令用于编辑功能包中的特定文件。
用到的编辑器可以在~/.bashrc文件中进行指定
ROS执行命令
ROS执行命令管理ROS节点的运行。
roscore:运行roscore
roscore [选项]
roscore命令会运行主节点,此外,会运行rosout,这个命令用于记录ROS中使用的ROS标准输出日志。它还运行一个管理参数的参数服务器。
rosrun:运行ROS节点
rosrun是执行指定的功能包中的一个节点的命令。
rosrun [功能包名称] [节点名称]
# example
rosrun turtlesim turtlesim_node
roslaunch:运行多个ROS节点
roslaunch [功能包名称] [launch文件名]
roslaunch是运行指定功能包中的一个或多个节点或设置执行选项的命令。
rosclean:检查及删除ROS日志
rosclean [选项]
# 是检查日志使用情况
rosclean check
# 删除日志
rosclean purge
该命令检查或删除ROS日志文件。
ROS信息命令
ROS信息命令用于识别话题、服务、节点和参数等信息
rosnode:ROS节点
# 列出正在运行中的所有节点
rosnode list
# 与指定的节点进行连接测试
rosnode ping [节点名称]
# 检查指定节点的信息
rosnode info [节点名称]
# 查看指定设备(PC或终端)上运行的所有节点。
rosnode machine [PC名称或IP]
# example
rosnode machine 192.168.1.100
# 终止指定节点的运行,一般使用[Ctrl+c]结束
rosnode kill [节点名称]
# 删除无法验证连接信息的虚拟节点的注册信息
# 当节点由于意外事件而异常终止时,该命令将从节点目录中删除连接中断的节点。
rosnode cleanup
#ROS有一个强大的功能,就是你可以通过命令行重新分配名称。
rosrun turtlesim turtlesim_node __name:=my_turtle 注意:如果你仍看到/turtlesim在列表中,这可能因为你是在终端中使用Ctrl+C停止的节点而不是关闭窗口,或者你没有按网络配置 - 单机器配置中的描述定义$ROS_HOSTNAME环境变量。可以尝试清除下rosnode列表: $ rosnode cleanup 我们可以看到新的/my_turtle节点。使用另外一个rosnode指令,ping,来测试它是否正常:
rosnode ping my_turtle
#
rostopic: ROS话题
# 列出活动话题
rostopic list
# 以分开发布话题和订阅话题,并将每个话题的消息类型一起显示
rostopic -v
# 实时显示指定话题的消息内容
rostopic echo [话题名称]
# 显示使用指定类型的消息的话题
rostopic find [类型名称]
# 显示指定话题的消息类型
rostopic type [话题名称]
# 显示指定话题的消息数据带宽(bandwidth)
rostopic bw [话题名称]
# 显示指定话题的消息数据发布周期
rostopic hz [话题名称]
# 显示指定话题的信息
rostopic info [话题名称]
# 使用指定的话题名称发布消息,一般使用【Tab】补齐
rostopic pub [话题名称] [消息类型] [参数]
rosservice:ROS服务
# 显示活动的服务信息
rosservice list
# 显示指定服务的信息
rosservice info [服务名称]
# 显示服务类型
rosservice type [服务名称]
# 查找指定服务类型的服务
rosservice find [服务类型]
# 服务参数输出
rosservice args [服务名称]
# 输入的参数服务请求
rosservice call [服务名称] [参数]
rosparam:ROS参数
# 查看参数列表
rosparam list
# 获取参数值
rosparam get [参数名称]
# 检查所有参数的值
rosparam get /
# 将参数保存到指定的文件
rosparam dump [文件名]
# example
rosparam dump ~/parameters.yaml
# 设置参数值
rosparam set [参数名称]
# 从指定的文件读取参数
rosparam load [文件名称]
# example
rosparam load ~/parameters.yaml
rosservice call clear
# 删除参数
rosparam delete [参数名称]
rosmsg: ROS消息信息
# 显示所有消息
rosmsg list
# 显示指定的消息信息
rosmsg show [消息名称]
# 显示用于指定功能包的所有消息
rosmsg package [功能包名称]
# 显示使用消息的所有功能包
rosmsg packages
rossrv:ROS服务信息
# 显示所有服务
rossrv list
# 显示指定服务的信息
rossrv show [服务名称]
# 显示用于指定功能包的所有服务
rossrv package [功能包名称]
# 显示使用服务的所有功能包
rossrv packages
rosbag:ROS日志信息
# 记录指定话题的消息
rosbag record [选项][话题名称]
# 要同时记录所有话题
rosbag record -a
# 查看bag文件的信息
rosbag info [bag文件名]
# 回放指定的bag文件
rosbag play [bag文件名]
# 压缩指定的bag文件
rosbag compress [bag文件名]
# 对指定的bag文件解压
rosbag decompress [bag文件名]
ROS catkin命令
ROS的catkin命令用于使用catkin 构建系统来构建功能包。
# 自动生成功能包
catkin_create_pkg [功能包名称] [依赖性功能包1]
catkin_create_pkg my_package roscpp std_msgs
# 基于catkin 构建系统的构建
catkin_make [选项]
# 只构建一部分功能包
catkin_make --pkg [包名]
#如果你的源代码不在默认位置(catkin_ws/src),比如说存放在了my_src中,那可以这样来使用catkin_make:
$ catkin_make --source my_src
$ catkin_make install --source my_src # (可选)
对于ROS Melodic和早期版本的Python 3用户:注意,如果你从源代码构建ROS来实现Python 3的兼容性,并适当地设置您的系统(即:安装所有必需的ROS Python包的Python 3版本,例如catkin),那么在干净的catkin工作区中的第一个catkin_make命令必须是:
$ catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3
这将会配置catkin_make使用Python 3,在以后的构建中可以只使用catkin_make。
ROS功能包命令
ROS功能包命令用于操作ROS功能包
# 显示指定的ROS功能包的相关信息
rospack [选项] [功能包名称]
## 显示该功能包的存储位置
rospack find [包名]
## 显示PC上的所有功能包
rospack list
## 仅显示使用指定功能包的功能包列表
rospack depends-on [包名]
## 显示运行该功能包所需的依赖性功能包的列表
rospack depends [包名]
## 在不知道要安装功能包的确切名字的情况下找到目标包
apt-cache search ros-kinetic | grep rqt-
rosdep 安装ROS依赖
切换到工作空间运行以下指令:
rosdep install --from-paths src --ignore-src -r -y