考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
  当前位置:Linux认证 > 综合辅导 > 文章内容
  

Linux教程:机器人操作系统ROS学习教程

来源:robotos.net [ 2016年2月14日 ] 【
描述:这篇文章主要介绍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]
 
示例:
$ 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]]
 
示例:
$ roscd roscpp 
为了验证是否改变到roscpp功能包的路径下,可采用Uinx的命令pwd打印出当前的路径信息;
$ pwd
 
得到如下执行结果:
YOUR_INSTALL_PATH/share/roscpp
 
这个路径和上一个示例中rospack find roscpp查找出的路径是一致的;
 
注意,roscd和其他ROS命令工具一样,只会查找ROS_PACKAGE_PATH变量中包含的packages,通过下面的命令可以查看ROS_PACKAGE_PATH包含的信息:
 
$ 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也可以改变到一个功能包或者功能包集的子目录中;
 
试用如下命令:
$ roscd roscpp/cmake
$ pwd

执行结果如下所示:
YOUR_INSTALL_PATH/share/roscpp/cmake
 
1.2.3 roscd log
 
roscd log 将会把你引导到ROS日志所在的目录下;需要注意的是,如果你没有运行任何ROS程序,它将显示日志目录不存在的错误信息;
 
如果你已经运行过ROS程序,可以尝试如下命令:
 
$ roscd log
 
1.2.4 rosls使用介绍
 
rosls是rosbash套件的一部分,它可以通过功能包的名称列出其下面包含的文件,而不必使用绝对路径;
 
用法:
# rosls [locationname[/subdir]]
 
示例:
$ 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系统中,大部分的命令工具均采用这样的命名方式;
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved