[跟我学ROS]2.ROS系统中文件系统及命令工具介绍


描述:这篇文章主要介绍ROS文件系统的概念,包括roscd,rosls和rospack等命令工具的用法;

1.1 ROS文件系统中的相关概念

功能包(Packages):功能包是ROS中比较基础的软件组织方式,每个功能包可包含依赖库,可执行文件,脚本文件及其它的相关文件;

Manifest(package.xml):Manifest是功能包的描述文件,它主要定义功能包与其他功能包之间的依赖关系,并提供关于功能包的版本信息,维护者信息和许可信息等。

1.2 文件系统工具集

由于ROS代码分布在许多功能包中,如果采用ls和cd等命令将会非常繁琐,因此ROS提供一些自定义的工具集辅助操作;

1.2.1 rospack使用介绍

rospack用于获取功能包的相关信息,在这篇文章中,我们只涉及其中的find参数,它返回功能包的路径信息;

用法:
# rospack find [package_name]

示例:
  1. $ rospack find roscpp
复制代码

执行结果如下:
YOUR_INSTALL_PATH/share/roscpp

如果你的ROS是从apt安装到Ubuntu系统中的,将会显示如下结果:
/opt/ros/groovy/share/roscpp

1.2.2 roscd使用介绍

roscd 是rosbash套件中的一部分,利用它可以改变路径到指定的功能包或功能包集中;

用法:
# roscd [locationname[/subdir]]

示例:
  1. $ roscd roscpp
复制代码

为了验证是否改变到roscpp功能包的路径下,可采用Uinx的命令pwd打印出当前的路径信息;
  1. $ pwd
复制代码

得到如下执行结果:
YOUR_INSTALL_PATH/share/roscpp

这个路径和上一个示例中rospack find roscpp查找出的路径是一致的;

注意,roscd和其他ROS命令工具一样,只会查找ROS_PACKAGE_PATH变量中包含的packages,通过下面的命令可以查看ROS_PACKAGE_PATH包含的信息:

  1. $ echo $ROS_PACKAGE_PATH
复制代码

ROS_PACKAGE_PATH变量包含一系列被冒号“:”隔开的路径,通常情况下,ROS_PACKAGE_PATH变量值如下所示:
/opt/ros/groovy/base/install/share:/opt/ros/groovy/base/install/stacks

与其他环境变量的用法一致,可以添加路径到ROS_PACKAGE_PATH中,路径间必须用冒号隔开;

子目录

roscd也可以改变到一个功能包或者功能包集的子目录中;

试用如下命令:
  1. $ roscd roscpp/cmake
  2. $ pwd
复制代码
执行结果如下所示:
YOUR_INSTALL_PATH/share/roscpp/cmake

1.2.3 roscd log

roscd log 将会把你引导到ROS日志所在的目录下;需要注意的是,如果你没有运行任何ROS程序,它将显示日志目录不存在的错误信息;

如果你已经运行过ROS程序,可以尝试如下命令:

  1. $ roscd log
复制代码

1.2.4 rosls使用介绍

rosls是rosbash套件的一部分,它可以通过功能包的名称列出其下面包含的文件,而不必使用绝对路径;

用法:
# rosls [locationname[/subdir]]

示例:
  1. $ rosls roscpp_tutorials
复制代码

执行结果如下:
cmake  package.xml  srv

1.2.5 使用Tab键

有时拼写出整个功能包的名称会比较繁琐,在上一个示例中, roscpp_tutorials是一个相当长的名称,幸运的是大部分ROS的命令工具支持TAB键操作;

按照如下所示操作:
# roscd roscpp_tut<<< 此处按下TAB键 >>>

按下TAB键后,命令行会自动填充完余下的字符,如下所示:
$ roscd roscpp_tutorials/

1.2.6 ROS命令工具的风格

经过上面的一些示例可以总结出关于ROS命令的命名风格:
rospack = ros + pack(age)
roscd = ros + cd
rosls = ros + ls

在ROS系统中,大部分的命令工具均采用这样的命名方式;


注:欢迎你转载本篇文章,时飞提醒你转载时请注明出处!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值