dajianli

金牌会员
  • 主题:31
  • 回复:288
  • 金钱:1016
  • 积分:1674
ROS文件系统工具
         在ROS中程序代码是分布在众多ROS软件包当中,当使用命令行工具(比如ls和cd)来浏览时会非常繁琐,因此ROS提供了专门的命令工具来简化这些操作。
         在Linux下当要输入一个完整的软件包名称时比较繁琐,我们会使用Tab补齐,在ROS中同样支持这个功能,善用这个功能增加生产效率。
一、Rospack=ros+pack(age)
   功能:rospack允许你获取软件包相关信息
   格式:rospack find [package-name];package-name是包名称
   例程:rospack find roscpp
   返回结果:在ubuntu12.04下,返回/opt/ros/hydro/share/roscpp
二、Roscd=ros+cd
   功能:对ROS文件系统允许利用包的名字直接切换到相应的文件目录下。
   格式:roscd [locationname[/subdir]],[locationname[/subdir]]是[本地包名称/子目录]
   例程:roscd roscpp
   返回结果:就直接跳到那个目录下了,输入pwd看到
   /opt/ros/hydro/share/roscpp
   
   备注:
   roscd将只能打开存在与环境变量ROS_PACKAGE_PATH中的目录及其子目录
   使用命令
   ROS_PACKAGE_PATH
   
   export | grep ROS 查看   ROS_PACKAGE_PATH后的文件。
   显示结果:
   /opt/ros/hydro /share:/opt/ros/hydro/stacks,中间用冒号隔开。
   其它roscd用法:
   1、直接切换到一个软件包或软件包集中
   命令:roscd roscpp/cmake
   Cmake为roscpp下的子目录
   2、直接切换到ROS保存日记文件的目录下
   命令:roscd log
   如果没有运行过任何ROS程序,则会报错,负责跳转到改目录下
三、Rosls=ros+ls
   功能:直接利用包的名字,去列举包中的所有文件即文件夹,而不用使用绝对路径。它的使用和roscd是一样的,只有存在于ROS_PACKAGE_PATH中的目录及其子目录才能使用这个命令。
   格式:roscd  [locationname[/subdir]],[locationname[/subdir]]是[本地包名称/子目录]
   例程:rosls_roscpp_tutorials
   返回结果:列出目录roscpp_tutorials下的所有文件。