《学习篇》学会这18个常用ROS命令集合就能入门ROS了
@[TOC] Ros命令常用ROS命令概述ROS常用命令可以按照其使用场景分为ROSshell命令、ROS执行命令、ROS信息命令、ROS catkin命令与ROS功能包命令。虽然很难从一开始就很熟练地使用所有的命令,但是随着使用的次数增多,你会发现常用的几个ROS命令就大概18个左右,你也会用得更加得心应手。参考链接: ros重要命令.参考书籍:《ROS_Robot_Programming》作者
常用ROS命令概述
ROS常用命令可以按照其使用场景分为ROSshell命令、ROS执行命令、ROS信息命令、ROS catkin命令与ROS功能包命令。虽然很难从一开始就很熟练地使用所有的命令,但是随着使用的次数增多,你会发现常用的几个ROS命令就大概18个左右,你也会用得更加得心应手。
参考链接: ros重要命令.
参考书籍:《ROS_Robot_Programming》作者:表允晳 赵汉哲 郑黎蝹 林泰勋
本文只供大家学习相关知识使用,不以任何商业盈利为目的,转载或分享请注明相关来源。如涉及到相关侵权,请联系我删除。
1 ROS shell命令
ROS shell命令又被称为rosbash。这使我们可以在ROS开发环境中使用Linux中常用的bash shell命令。主要使用前缀是ros且带有多种后缀的命令,例如cd、pd、d、ls、ed、cp和run。相关命令如下:
命令 | 重要度 | 命令释义 | 详细说明 | 参考模板 |
---|---|---|---|---|
roscd | ★★★ | ros+cd(changes directory) | 移动到指定的ROS功能包目录 | roscd [功能包名称] |
rosls | ★☆☆ | ros+ls(lists files) | 显示ROS功能包的文件和目录 | rosls [功能包名称] |
rosed | ★☆☆ | ros+ed(editor) | 编辑ROS功能包的文件 | rosed [功能包名称] [文件名称] |
roscp | ★☆☆ | ros+cp(copies files) | 复制ROS功能包的文件 | — |
rospd | ☆☆☆ | ros+pushd | 添加目录至ROS目录索引 | — |
rosd | ☆☆☆ | ros+directory | 显示ROS目录索引中的目录 | — |
相对常见的为roscd、rosls和rosed命令。
说明:
ROS shell命令的使用环境
想要使用ROS shell命令,需要用以下命令安装rosbash,并且只能在设置了source /opt/ros/<ros distribution>/setup.bash的终端窗口中可以使用。可通过下面命令进行安装:
sudo apt-get install ros-<ros distribution>-rosbash
2 ROS 执行命令
ROS 执行命令管理ROS节点的运行。最重要的是,roscore被用作节点之间的名称服务器。执行命令是rosrun和roslaunch。rosrun运行一个节点,当运行多个节点或设置各种选项时使用roslaunch。rosclean是删除节点执行时记录的日志的命令。
命令 | 重要度 | 命令释义 | 详细说明 | 参考模板 |
---|---|---|---|---|
roscore | ★★★ | ros+core | master(ROS名称服务) + rosout(日志记录) + parameter server(参数管理) | roscore [选项] |
rosrun | ★★★ | ros+run | 运行单个节点 | rosrun [功能包名称] [节点名称] |
roslaunch | ★★★ | ros+launch | 运行多个节点或设置运行选项 | roslaunch [功能包名称] [launch文件名] |
rosclean | ★★☆ | ros+clean | 检查或删除ROS日志文件 | rosclean [选项] |
3 ROS 信息命令
ROS 信息命令ROS信息命令用于识别话题、服务、节点和参数等信息。尤其是rostopic、rosservice、rosnode和rosparam经常被使用,并且rosbag是ROS的主要特征之一,它具有记录数据和回放功能,大家一定要掌握。
命令 | 重要度 | 命令释义 | 详细说明 | 参考模板 |
---|---|---|---|---|
rostopic | ★★★ | ros+topic | 确认ROS话题信息 | rostopic [选项]/[选项+话题/类型名称] 也可以通过pub指定话题发布消息 |
rosservice | ★★★ | ros+service | 确认ROS服务信息 | rosservice [选项]/[选项+服务/类型名称] 也可以通过call用输入的参数请求服务 |
rosnode | ★★★ | ros+node | 确认ROS节点信息 | rosnode [选项]/[选项+节点名称] |
rosparam | ★★★ | ros+param(parameter) | 确认和修改ROS参数信息 | rosparam [选项]/[选项+参数/文件名称] |
rosbag | ★★★ | ros+bag | 记录和回放ROS消息 | rosbag [选项]/[选项+文件名称] |
rosmsg | ★★☆ | ros+msg | 显示ROS消息类型 | rosmsg [选项]/[选项+消息/功能包名称] |
rossrv | ★★☆ | ros+srv | 显示ROS服务类型 | rossrv [选项]/[选项+服务/功能包名称] |
rosversion | ★☆☆ | ros+version | 显示ROS功能包的版本信息 | ——— |
roswtf | ☆☆☆ | ros+wtf | 检查ROS系统 | ——— |
4 ROS catkin命令
ROS catkin命令ROS的catkin命令用于使用catkin 构建系统来构建功能包。
命令 | 重要度 | 详细说明 | 参考模板 |
---|---|---|---|
catkin_create_pkg | ★★★ | 自动生成功能包 | catkin_create_pkg [功能包名称] [依赖性功能包1] [依赖性功能包2] … |
catkin_make | ★★★ | 基于catkin 构建系统的构建 | catkin_make --[选项] |
catkin_eclipse | ★★☆ | 把用catkin 构建系统生成的功能包修改,使得可以在Eclipse 环境中使用 | catkin_eclipse |
catkin_prepare_release | ★★☆ | 发布时用到的日志整理和版本标记 | catkin_prepare_release |
catkin_generate_changelog | ★★☆ | 发布时生成或更新CHANGELOG.rst文件 | catkin_generate_changelog |
catkin_init_workspace | ★★☆ | 初始化catkin 构建系统的工作目录 | catkin_init_workspace |
catkin_find | ★☆☆ | 搜索catkin | catkin_find [功能包名称] |
5 ROS 功能包命令
ROS 功能包命令用于操作ROS功能包,比如显示功能包信息、安装相关功能包等。
命令 | 重要度 | 命令释义 | 详细说明 | 参考模板 |
---|---|---|---|---|
rospack | ★★★ | ros+pack(age) | 显示与ROS功能包相关的信息 | rospack [选项] [功能包名称] |
rosinstall | ★★☆ | ros+install | 安装ROS附加功能包 | —— |
rosdep | ★★☆ | ros+dep(endencies) | 安装该功能包的依赖性文件 | rosdep [选项] |
roslocate | ☆☆☆ | ros+locate | 与ROS功能包信息有关的命令 | roslocate [选项] [功能包名称] |
roscreate-pkg | ☆☆☆ | ros+create-pkg | 自动生成ROS功能包 (用于旧的rosbuild系统) | —— |
rosmake | ☆☆☆ | ros+make | 构建ROS功能包(用于旧的rosbuild系统) | —— |
更多精彩内容,可以关注我的个人微信公众号
也欢迎志同道合者互相交流学习,微信:Zhihua_Steven
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)