(一)Description—描述:
本部分教程介绍ROS文件系统的概念,包括命令行工具roscd,rosls和rospack的使用
(二)Tutorial Level教程水平:BEGINNER—-初级
1)预备工作
在本教程中,我们将会用到ros-tutorials程序包,请先安装:
sudo apt-get install ros--ros-tutorials
将–<发行版>–替换成你所安装的版本(比如jade,indigo,futured等版本)
比如我的环境是:ubuntu14.04+indigo(靛蓝),则命令代码如下所示:
sudo apt-get install ros-indigo-ros-tutorials
注意:
这一步需要注意的是,如果你的ROS安装的时候是”完全版本”,那么,这一步,你可以省略
2)快读了解文件系统的概念
1–Package:软件包—是ROS应用程序代码的组织单元,每个软件包都可以包含:
1–程序库
2–可执行文件
3–脚本
4–或者其他手动创建的东西
2–Manifest(package.xml)—配置清单—是对于”软件包”相关信息的描述,用于定义软件包相关信息之间的依赖关系,
这些信息包括:
1–版本信息
2–维护者
3–许可信息
3)文件系统工具
1–程序代码是分布在—众多ROS软件包当中,当使用linux的命令行工具(比如ls和cd)来浏览时会非常繁琐,因此ROS提
供了专门的命令行工具来简化这些操作
2–使用rospack
1–rospack允许你获取软件包的有关信息。我们只涉及到rospack中find参数选项,该选项可以返回软件包的
的——-路径信息
2–rospack的用法:
rospack find [包名称]
示例:
wei@wei:~
rospackfindroscpp结果:返回rosapp这个软件包的—路径信息,如下所示:/opt/ros/indigo/share/roscpp3–使用roscd1–roscd是rosbash命令集中的一部分,它允许你直接切换–工作目录–到–某个软件包或者软件包集中2–用法:roscd[本地包名称/子目录]示例:wei@wei:
roscd roscpp
结果为:
wei@wei:/opt/ros/indigo/share/roscpp$
3--为了验证我们已经切换到了roscpp软件包的目录下,我们可以使用linux的命令pwd--来查看当前的工作目
录
示例:
wei@wei:/opt/ros/indigo/share/roscpp
pwd输出的结果为:/opt/ros/indigo/share/roscpp你可以看到现在输出的roscpp软件包的–路径信息和之前使用rospackfind得到的–路径信息是一致的.注意:就像ROS中的其他工具一样,roscd只能切换—那些路径已经包含在ROSPACKAGEPATH环境变量中的软件包,要查看ROSPACKAGEPATH,可以使用下面的命令:echo
ROS_PACKAGE_PATH
输出的结果如下所示:
/opt/ros/indigo/share:/opt/ros/indigo/stacks
跟其他路径变量类似,你可以在ROS_PACKAGE_PATH中添加更多其他路径,每条路径使用冒号”:”分隔
4–子目录—使用roscd也可以切换到一个软件包或软件包集合中的子目录
示例:
roscd roscpp/cmake
操作结果如下所示:
5–使用roscd log—可以切换到ROS保存日记文件的目录下,需要注意的是,如果你没有执行过任何ROS程序,
系统会报错或者说该目录不存在,如果你已经运行过ROS程序,那么你可以尝试:
roscd log
4–使用rosls命令
1–rosls是rosbash命令集中的一部分,它允许你直接按软件包的名称而不是绝对路径执行—ls–查看目录
信息
2–示例–rosls roscpp_tutorials
3–输出的结果为–cmake launch package.xml srv
5–Tab键—自动完成输入
1–示例–wei@wei:/opt
roslsroscpptut2–按Tab键补全—结果—−wei@wei:/opt
rosls roscpp_tutorials/
4)本节回顾
你也许已经注意到了ROS命令工具的—命名方式:
rospack=ros+pack
roscd=ros+cd
rosls=ros+ls