ROS初级教程1---官方ROS文件系统导览

Posted loongembedded

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS初级教程1---官方ROS文件系统导览相关的知识,希望对你有一定的参考价值。

1.文件系统概念简介

•软件包(packages):包是ROS代码的软件组织单元,每个软件包都可以包含程序库、可执行文件、脚本或其他构建。
•Manifests(package.xml):清单(Manifest)是对软件包的描述。它用于定义软件包之间的依赖关系,并记录有关软件包的元信息,如版本、维护者、许可证。

2.文件系统工具

程序代码散落在许多ROS中,使用linux内置命令行工具(如ls和cd)来进行查找和导航可能非常繁琐,我们可用ROS提供的命令工具来简化这些操作

2.1使用rospack

rospack允许你获取软件包的有关信息,在本教程中,我们只涉及到find参数选项,该选项可以返回软件包的所在路径
用法:$ rospack find [package_name]

2.2使用roscd

roscd是rosbash命令集的一部分,它允许你直接切换目录到某个软件包或软件包集中。
用法:$ roscd [locationname[/subdir]]

roscd后面跟的是路径名不是包名,比如slam_gmapping只是路径名,不是包名。
需要注意,就像ROS中的其他工具一样,roscd只能切换到那些路径包含在ROS_PACKAGE_PATH环境变量中的软件包。要查看它包含的路径可以输入
echo $ROS_PACKAGE_PATH

/home/kandi/catkin_ws/src:/opt/ros/noetic/share中前面的路径是我增加的,后面是自带的。

2.2.1 子目录

roscd也可以切换到一个软件包或软件包集的子目录中。

2.2.2 roscd log

roscd log进入存储ROS日志文件的目录。需要注意的是,如果没有执行过任务ROS程序,系统会报错说该目录不存在

2.3 使用rosls

rosls允许你直接按软件包的名称执行ls命令(而不必输入绝对路径)
用法:$ rosls [locationname[/subdir]]

2.3 Tab补全

如果输入完整的软件包名称有时候比较繁琐,ROS工具支持Tab补全功能
输入后,当按Tab健后,命令应该会尽可能自动补齐完整,但有许多软件包都以我们输入的名字开头(比如turtle),当再次按下Tab健后会列出所有以turtle开头的ROS软件包,这时只需要在turtle后面输入s然后按Tab健就能自动补齐找到turtlesim了。

如果要查看当前安装的所有软件包的列表,也可以利用Tab补全:
用法:rosls <<<双击TAB键>>>

以上是关于ROS初级教程1---官方ROS文件系统导览的主要内容,如果未能解决你的问题,请参考以下文章

Windows使用ROS机器人操作系统教程说明

ROS官方教程知识点总结[低阶阶段]

ROS官方教程知识点总结[低阶阶段]

ROS官方教程知识点总结[低阶阶段]

探索之路机器人篇-ROS系统并创建工作空间和项目

ROS Noetic安装教程