今天先学习了一些关于ros系统的东西
现在在看ros的基本命令行
$rospack find packagename
$rosstack find stackname
$roscd pathname
$roscd log
$rosls packagename/stackname
Tab键可以得到整个包的名字,在只打出一部分名字的情况下
所有的ROSpackage包括很多类似的文件:mainfests,CmakeLists.txt,mainpage.dox和Makefiles
package可以手工制作,也可以用工具,例如:roscreate-pkg
package可以是ROS_ROOT或者ROS_PACKGE_PATH里面的一个目录/文件夹,包括一个mainfest.xml文件;package还可以是ROSstacks的组成部分
创建一个package
1.首先使用roscreate创建一个package
$roscreate-pkg packagename
例子:创建beginner_tutorials package,它依赖std_msgs, roscpp, rospy
$ roscreate-pkg beginner_tutorials std_msgs roscpp rospy
这里我们需要仔细阅读manifest.xml,所以这里我把生成的manifest.xml贴于下面:
<package>
<description brief="beginner_tutorials"> beginner_tutorials </description>
<author>root</author>
<license>BSD</license>
<review status="unreviewed" notes=""/>
<url>http://ros.org/wiki/beginner_tutorials</url>
<depend package="std_msgs"/>
<depend package="rospy"/>
<depend package="roscpp"/>
</package>
2.将该路径添加到ros系统中(即更新ros查找路径)
$ export ROS_PACKAGE_PATH=YOUR_BEGINNER_TUTORIALS_PATH:$ROS_PACKAGE_PATH
对于我机子而已,是这样添加:
$ export ROS_PACKAGE_PATH=./:$ROS_PACKAGE_PATH
然后我确认是否在ROS可以找到:
$ rospack find beginner_tutorials
结果如下:
/opt/ros/cturtle/ros/beginner_tutorials
3.我们可以查看package相关第一层依赖项
$ rospack depends1 beginner_tutorials ----package第一层依赖项查询
结果如下:
std_msgs
rospy
roscpp
$ rospack depends1 rospy ----package依赖项rospy的第一层依赖项查询
结果如下:
roslib
roslang
$ rospack depends beginner_tutorials ---package所有依赖项查询
genmsg_cpp
rospack
roslib
rosconsole
std_msgs
roslang
rospy
xmlrpcpp
roscpp