根据书ROS_BY_EXAMPLE(ROS入门实例)第五章。
准备活动
gmapping:
cd ~/catkin_ws/src
git clone https://github.com/ros-perception/slam_gmapping.git
amcl
cd ~/catkin_ws/src
git clone https://github.com/ros-planning/navigation.git
机器人模拟器
这里使用模拟器arbotix。还需要使用一些依赖库,所以直接使用如下命令进行安装
其他一些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
机器人模拟器
rbx1下载和安装
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
测试
我们主要使用arbotix_python仿真器来测试代码应用到机器人上面的效果,之前的一堆指令中已经安装过arbotix。现在先在终端中输入roscore指令。
然后启动仿真的TurtleBot机器人。再打开一个终端,启动fake_turtlebot.launch文件。
roslaunch rbx1_bringup fake_turtlebot.launch
rosrun rviz rviz -drospack find rbx1_nav
/sim.rviz
注意第二条命令中的引号是tab键上的那个键位,而不是回车键旁边的。
执行rosrun rviz rviz时有时会报错,如图:
上面两个命令是在两个窗口执行的,每个都要source setup.sh文件,并且第一个命令执行前,要执行rospack profile命令。
接着发布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}}’
机器人会走圆形路径: