第5章 ROS命令
本章主要讲解了ROS下的常用操作命令,包括shell命令、执行命令、信息命令、catkin命令、功能包命令。
由于这一章内容实在太多了,因此博客分三节进行学习记录。本文主要记录shell命令和执行命令。
此外,建议结合古月居ROS入门21讲同步学习。
第5章 ROS命令
1 ROS命令概述
ROS可以通过在shell环境中输入命令来进行文件系统的使用、源代码编辑、构建、调试和功能包管理等。
- shell 命令
- 执行命令
- 信息命令
- catkin命令
- 功能包命令
2 ROS shell命令
ROS shell命令又被称为rosbash,可以在ROS开发环境中使用Linux中常用的bash shell命令。
主要命令有:
2.1 roscd:移动ROS目录
roscd 移动到保存有功能包的目录,该命令的基本用法是在roscd命令之后将功能包名称写入参数。
$ roscd turtlesim
/opt/ros/kinetic/share/turtlesim $
$ roscd my_first_ros_pkg
~/catkin_ws/src/my_first_ros_pkg $
2.2 rosls:ROS文件列表
rosls 查看指定的ROS功能包的文件列表
$ rosls turtlesim
cmake images msg srv package.xml
2.3 rosed:ROS编辑命令
rosed 用于编辑功能包中的特定文件。
运行时,它会用用户设置的编辑器打开文件。用于快速修改相对简单的内容。
$ rosed turtlesim package.xml
3 ROS执行命令
ROS执行命令管理ROS节点的运行。
最重要的是,roscore被用作节点之间的名称服务器。
主要命令:
3.1 roscore:运行roscore
- roscore命令会运行主节点,主节点管理节点之间的消息通信中的连接信息。
- 主节点是使用ROS时必须首先被运行的必要元素。
- ROS 主节点由roscore运行命令来驱动,并作为XMLRPC服务器运行。
- 主节点接收多种信息的注册,如节点的名称、话题和服务名称、消息类型、URI地址和端口号,并在收到节点的请求时将此信息通知给其他节点。
- 此外,会运行rosout,这个命令用于记录ROS中使用的ROS标准输出日志。它还运行一个管理参数的参数服务器。
3.2 rosrun:运行ROS节点
rosrun 执行指定的功能包中的一个节点的命令。
3.3 roslaunch:运行多个ROS节点
- roslaunch是运行指定功能包中的一个或多个节点或设置执行选项的命令。
- 通过运行openni_launch功能包,可以运行20个以上的节点和10个以上的参数服务器。
如图,列出了多个参数和节点:
3.4 rosclean:检查及删除ROS日志
rosclean 命令检查或删除ROS日志文件。
在运行roscore时,对所有节点的记录都会写入日志文件,随着时间的推移,需要定期使用rosclean命令删除这些记录。