准備工作:
ubuntu 16.04系統;ROS kinetic版本;ROS包turtlebot,導航包rbx1,模擬器arbotix,可視化rviz
1、安裝ubuntu 16.04系統與安裝ROS kinetic版本自行百度安裝。一下鏈接可作為參考。
http://blog.csdn.net/weicao1990/article/details/52575314
2、在安裝好ROS kinetic版本的ubuntu系統中, ctrl+art+t打開一個終端,安裝turtlebot包,輸入命令
sudo apt-get install ros-kinetic-turtlebot-*
3、安裝可視化工具rviz
rosdep update
rosdep install rviz
rosmake rviz
運行rviz:
在一個終端中運行
roscore
在另一個終端中運行
rosrun rviz rviz
(記得先運行roscore,否則就會出現錯誤:could not contact ROS master)
4、安裝arbotix模擬器
方法一:
sudo apt-get install ros-kinetic-arbotix-*
方法二:(使用git源碼安裝)
在ROS工作包caktkin_ws中的源碼文件夾src中下載git源碼
cd ~/catkin_ws/src git clone https://github.com/vanadiumlabs/arbotix_ros.git cd .. catkin_make
(ps:提示找不到ROS包錯誤,就去更新一下環境:source ~/catkin_ws/devel/setup.bash)
5、安裝ROS-BY-EXAMPLE書配套的代碼包rbx1
cd ~/catkin_ws/src git clone https://github.com/pirobot/rbx1.git cd .. catkin_make
ps:在安裝rbx1之前,可以選擇性的安裝一些依賴包
sudo apt-get install ros-kinetic-turtlebot-bringup \ ros-kinetic-turtlebot-create ros-kinetic-openni-* \ ros-kinetic-openni2-* ros-kinetic-freenect-* ros-kinetic-usb-cam \ ros-kinetic-laser-* ros-kinetic-hokuyo-node \ ros-kinetic-audio-common gstreamer0.10-pocketsphinx \ ros-kinetic-pocketsphinx ros-kinetic-slam-gmapping \ ros-kinetic-joystick-drivers python-rosinstall \ ros-kinetic-orocos-kdl ros-kinetic-python-orocos-kdl \ python-setuptools ros-kinetic-dynamixel-motor \ libopencv-dev python-opencv ros-kinetic-vision-opencv \ ros-kinetic-depthimage-to-laserscan ros-kinetic-arbotix-* \ ros-kinetic-turtlebot-teleop ros-kinetic-move-base \ ros-kinetic-map-server ros-kinetic-fake-localization \ ros-kinetic-amcl
准備工作到此結束,接下來進行仿真。
6、導航仿真
運行機器人節點:
roslaunch rbx1_bringup fake_turtlebot.launch
使用測試地圖運行amcl節點:
roslaunch rbx1_nav fake_amcl.launch map:=test_map.yaml
運行rviz
rosrun rviz rviz -d `rospack find rbx1_nav`/nav.rviz
之后單擊2D Pose Estimate,單擊地圖位置,選擇機器人初始位置,點擊2D Nav Goal ,點擊地圖,選擇機器人目的位置。選擇完成后機器人后自動走到目的位置。
加載地圖:

選擇機器人初始位置

選擇機器人目的位置
自動導航效果:
相關導航的原理可查詢ros官網wiki
http://wiki.ros.org/cn/navigation/Tutorials
參考博客
http://www.guyuehome.com/273