安装ROS工具包和Rviz仿真器

安装ROS工具包和Rviz仿真器

这一次主要学习INSTALLING THE ROS-BY-EXAMPLE CODE,是书中第五章的内容,如果我们按照上一篇教程执行过了,就可以直接进入第五章,安装一个叫rbx1的包。这个包里面包括了本书中用到的所有例子的源码,包括路径规划,视觉,语音识别等功能。这本书基本就围绕这个包来学习ROS的使用方法。

  • 准备工作
  • 测试ARBOTIX SIMULATOR
  • 下一步

1.准备工作

在安装ROS-BY-EXAMPLE源码包之前,先装一些本书可能用到的Packages,把下面这一堆命令复制到终端执行即可。


sudo apt-get install ros-indigo-turtlebot-bringup \
ros-indigo-turtlebot-create-desktop ros-indigo-openni-* \
ros-indigo-openni2-* ros-indigo-freenect-* ros-indigo-usb-cam \
ros-indigo-laser-* ros-indigo-hokuyo-node \
ros-indigo-audio-common gstreamer0.10-pocketsphinx \
ros-indigo-pocketsphinx ros-indigo-slam-gmapping \
ros-indigo-joystick-drivers python-rosinstall \
ros-indigo-orocos-kdl ros-indigo-python-orocos-kdl \
python-setuptools ros-indigo-dynamixel-motor-* \
libopencv-dev python-opencv ros-indigo-vision-opencv \
ros-indigo-depthimage-to-laserscan ros-indigo-arbotix-* \
ros-indigo-turtlebot-teleop ros-indigo-move-base \
ros-indigo-map-server ros-indigo-fake-localization \
ros-indigo-amcl git subversion mercurial

如果出现unable to locate的错误的话,先执行sudo apt-get update,再执行上述指令。接下来,从仓库中clone rbx1源码包,如果之前没装过git的话要先装一下git。
执行下面的指令将rbx1 clone到本地。

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
rospack profile

source指令保证当你打开一个新的终端后,你的catkin packages在你的ROS_PACKAGE_PATH路径下。
装好之后,你的~/catkin_ws/src/rbx1目录下会有下面这些文件。

这里写图片描述

2.测试ARBOTIX SIMULATOR

我们主要使用arbotix_python仿真器来测试代码应用到机器人上面的效果,之前的一堆指令中已经安装过arbotix。现在先在终端中输入roscore指令。
然后启动仿真的TurtleBot机器人。再打开一个终端,启动fake_turtlebot.launch文件。

roslaunch rbx1_bringup fake_turtlebot.launch

一切正常的话,终端会输出以下信息。

安装ROS工具包和Rviz仿真器_第1张图片

然后启动RViz仿真器。

rosrun rviz rviz -d `rospack find rbx1_nav`/sim.rviz

这样就可以很方便的用可视化的工具观察机器人的运行状况。接下来通过发布Twist消息来控制机器人的运动。

rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.2, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0.5}}'

这个消息的意思是,使机器人的线速度保持Vx=0.2m/s,自旋角速度保持0.5rad/s,这样机器人就会做圆周运动。仿真器运行结果如下:

安装ROS工具包和Rviz仿真器_第2张图片

如果想让机器人停下来的话,先Ctrl+C终止进程,再输入以下指令:

rrostopic pub -1 /cmd_vel geometry_msgs/Twist '{}'

3.下一步

这里只是做完基本准备工作和一个简单的仿真测试。下一步我们学习如何用move_base来控制机器人的运动。

你可能感兴趣的:(packages,ROS,机器人,Rviz)