【ROS书籍】ROSByExampleⅡ——第二章 安装ROS-BY-EXAMPLE代码

来源:互联网 发布:装修公司设计软件 编辑:程序博客网 时间:2024/05/21 11:13

第二章 安装ROS-BY-EXAMPLE代码

  请注意,本书的代码是在ROS Indigo下编写。虽然其中有一些可能用于ROS的早期版本,但是强烈读者使用ROS Indigo版本。特别是,以下列出的依赖包和Moveit!机械臂导航示例程序特定于Indigo。


  在开始安装卷二代码之前,如果我们安装了大部分我们以后需要的额外ROS包,会节约很多时间。(提供的介绍用于安装独立的包用于全书。)简单的拷贝和粘贴以下的代码(没有$标记)到终端窗口来安装我们需要的包。(如果你正在阅读本书的印刷版本,查看以下备用介绍。)每一行最后的字符“\”代表未完,并且会将以下的部分作为一个整体就像一行命令一样。


$ sudo apt-get install ros-indigo-arbotix \ ros-indigo-dynamixelmotor ros-indigo-rosbridge-suite \ ros-indigo-mjpeg-server rosindigo-rgbd-launch \ ros-indigo-openni-camera ros-indigo-moveitfull \ros-indigo-turtlebot-* ros-indigo-kobuki-* ros-indigo-moveit-python \python-pygraph python-pygraphviz python-easygui \ mini-httpdros-indigo-laser-pipeline ros-indigo-ar-track-alvar \ros-indigo-laser-filters ros-indigo-hokuyo-node \ ros-indigodepthimage-to-laserscan ros-indigo-moveit-ikfast \ros-indigo-gazebo-ros ros-indigo-gazebo-ros-pkgs \ ros-indigo-gazebomsgs ros-indigo-gazebo-plugins \ ros-indigo-gazebo-ros-control rosindigo-cmake-modules \ ros-indigo-kobuki-gazebo-plugins ros-indigokobuki-gazebo \ ros-indigo-smach ros-indigo-smach-ros ros-indigograsping-msgs\ ros-indigo-executive-smach ros-indigo-smach-viewer \ros-indigo-robot-pose-publisher ros-indigo-tf2-web-republisher \graphviz-dev libgraphviz-dev gv python-scipy


  如果你正在阅读本书的印刷版本,拷贝和粘贴不是一个好选项。替代的,你可以使用以下的命令来下载一个小的shell脚本,该脚本名为rbx2-prereq.sh用于运行以上的apt-get命令:


$ cd ~$ wget https://raw.githubusercontent.com/pirobot/rbx2/indigodevel/rbx2prereq.sh$ sh rbx2-prereq.sh


  即使你没有那本卷一的书,我们也同样需要卷一存储库(rbx1)代码。安装rbx1的ROS Indigo(你没有安装的情况下),运行以下命令:


$ cd ~/catkin_ws/src$ git clone https://github.com/pirobot/rbx1.git$ cd rbx1$ git checkout indigo-devel$ cd ~/catkin_ws$ catkin_make$ source ~/catkin_ws/devel/setup.bash


  克隆并编译ROS Indigo的卷二存储库(rbx2),运行以下步骤:


$ cd ~/catkin_ws/src$ git clone https://github.com/pirobot/rbx2.git$ cd rbx2$ git checkout indigo-devel$ cd ~/catkin_ws$ catkin_make$ source ~/catkin_ws/devel/setup.bash



  注意:最后一行如果你还没有完成,你应该添加到~/.bashrc文件的最后一行。这个会保证你的catkin包添加到你的ROS_PACKAGE_PATH,不管你什么时候开启一个新终端。

如果ROS By Example代码在最近更新,你可以用存储库的本地拷贝合并更新,使用以下命令进行实现:


$ cd ~/catkin_ws/src/rbx2$ git pull$ cd ~/catkin_ws$ catkin_make$ source devel/setup.bash


  保持最新:如果你愿意询问关于代码的问题、报告错误或收到更新同时,请加入ros-by-example谷歌组。


  所有的ROS By Example卷二代码开始于rbx2。关于该包的列表,移动到rbx2元包父目录下,使用Linux ls命令:


$ roscd rbx2$ cd ..$ ls -F


  将会得到以下结果:


pedestal_pi_no_gripper_moveit_config/rbx2_bringup/ rbx2_msgs/
pedestal_pi_with_gripper_moveit_config/ rbx2_description/ rbx2_nav/
pi_robot_moveit_config/ rbx2_diagnostics/ rbx2_tasks/ rbx2/
rbx2_dynamixels/ rbx2_utils/ rbx2_arm_nav/
rbx2_gazebo/ rbx2_vision/ rbx2_ar_tags/
rbx2_gui/ README.md


  因此本书我们将使用roscd命令从其中的一个包到另一个包。例如,移动到rbx2_dynamixels包,你可以使用如下命令:


$ roscd rbx2_dynamixels


  注意你可以从任意目录运行这个命令,并且ROS会找到这个包。


  重要:如果你使用两个电脑来控制或监控你的机器人,例如一个在机器人上笔记本和你的桌面笔记本,确保两台机器上都克隆并编译了rbx2和rbx1的Indigo分支储存库。




阅读全文
0 0
原创粉丝点击