ROS智能硬件

ROS进阶学习(二) - 管理系统依赖关系

2017-03-13  本文已影响463人  Savior2016

1 系统依赖关系

ROS package有时候需要开源系统提供额外的库文件或者工具。这些必须的库和工具通常被称为系统依赖。有时候这些依赖不是默认会被安装的,ROS提供了一个简单的工具,rosdep,用来下载和安装系统依赖。
ROS包必须在他们的manifest里声明他们需要哪些系统依赖。我们可以来看一下我们小海龟的manifest:
(貌似我前面有些地方打成了mainfest)
输入:
roscd turtlesim
然后:
cat package.xml
我们会看到:

<?xml version="1.0"?>
<package>
  <name>turtlesim</name>
  <version>0.7.1</version>
  <description>
    turtlesim is a tool made for teaching ROS and ROS packages.
  </description>
  <maintainer email="dthomas@osrfoundation.org">Dirk Thomas</maintainer>
  <license>BSD</license>

  <url type="website">http://www.ros.org/wiki/turtlesim</url>
  <url type="bugtracker">https://github.com/ros/ros_tutorials/issues</url>
  <url type="repository">https://github.com/ros/ros_tutorials</url>
  <author>Josh Faust</author>

  <buildtool_depend>catkin</buildtool_depend>

  <build_depend>geometry_msgs</build_depend>
  <build_depend>qtbase5-dev</build_depend>
  <build_depend>message_generation</build_depend>
  <build_depend>qt5-qmake</build_depend>
  <build_depend>rosconsole</build_depend>
  <build_depend>roscpp</build_depend>
  <build_depend>roscpp_serialization</build_depend>
  <build_depend>roslib</build_depend>
  <build_depend>rostime</build_depend>
  <build_depend>std_msgs</build_depend>
  <build_depend>std_srvs</build_depend>

  <run_depend>geometry_msgs</run_depend>
  <run_depend>libqt5-core</run_depend>
  <run_depend>libqt5-gui</run_depend>
  <run_depend>message_runtime</run_depend>
  <run_depend>rosconsole</run_depend>
  <run_depend>roscpp</run_depend>
  <run_depend>roscpp_serialization</run_depend>
  <run_depend>roslib</run_depend>
  <run_depend>rostime</run_depend>
  <run_depend>std_msgs</run_depend>
  <run_depend>std_srvs</run_depend>
</package>

在这里我们就能看到它的依赖关系了。

1.1 rosdep

rosdep是一个你可以用来安装ROS package系统依赖的工具
用法:
rosdep install [package]
下载安装小海龟仿真需要的系统依赖:
$ rosdep install turtlesim
如果你是第一次使用rosdep,你会看到一个error:

ERROR: your rosdep installation has not been initialized yet.  Please run: 

运行下面两条命令,然后再尝试运行上面的命令:

    sudo rosdep init
    rosdep update

然后你会看到:

#All required rosdeps installed successfully
上一篇下一篇

猜你喜欢

热点阅读