EAI Dashgo D1環境搭建/鍵盤控制/rplidar a1 a2建圖導航詳細教程
阿新 • • 發佈:2019-02-20
昨天同學讓我幫他看一下EAI Dashgo D1怎麼用,因為好像按官方教程還是有一些問題,甚至連鍵盤控制都不能,查看了一下官方說明,再安裝發現的確有一些地方需要注意,尤其對於小白來說這個教程還是有點不太詳細。
1.環境配置
在roswiki的引導中,安裝完整版ROS系統,最好是ubuntu14下的indigo
安裝後建議安裝完整版turtlebot包
sudo apt-get install ros-indigo-turtlebot ros-indigo-turtlebot-apps ros-indigo-turtlebot-interactions ros-indigo-turtlebot-interactions ros-indigo-rocon-qt-library ros-indigo-ar-track-alvar-msgs ros-indigo-turtlebot-simulator
接下來,設定串列埠許可權
sudo usermod -a -G dialout your_user_name
其中your_user_name為你的使用者名稱,安裝後要記得重啟後才能生效,不重啟前可能遇到按Tab按鍵無法自動補全ros包名的問題
安裝依賴包
sudo apt-get install git python-serial ros-indigo-serial g++
這樣就可以安裝機器人的程式包了
mkdir -p ~/dashgo_ws/src cd ~/dashgo_ws/src git clone https://github.com/EAIBOT/dashgo.git cd ~/dashgo_ws/src/dashgo git checkout slam_02 如果使用非F4鐳射雷達而是rplidar A1或A2改為 git checkout slam_01 cd ~/dashgo_ws catkin_make
編譯完成後,配置環境變數
echo "source ~/dashgo_ws/devel/setup.bash" >> ~/.bashrc source ~/.bashrc
為 D1 的串列埠增加一個裝置別名 /dev/dashgo
cd ~/dashgo_ws/src/dashgo/dashgo_bringup/startup sudo chmod +x ./* sudo sh create_dashgo_udev.sh重新插拔連線 PC 的 D1 USB 線後,通過如下命令檢視是否生效。
ls -l /dev/dashgo
接下來終於要到鍵盤控制D1走一走的時候了,但在走之前還得配置一下鍵盤控制程式,不過很簡單
sudo gedit /opt/ros/indigo/share/turtlebot_teleop/launch/keyboard_teleop.launch
將釋出的話題改為D1接受的cmd_vel,如圖
接下來,就可以控制它動了
roslaunch dashgo_bringup minimal.launch roslaunch turtlebot_teleop keyboard_teleop.launc
2. 使用rplidar A1/A2建圖
首先在rplidar官網下載你的sdk包和ros包 http://www.slamtec.com/cn/Lidar/A3
下載好後,將提取出來的sdk包放到一個位置,make一下就好
將下載好的rplidar ros包放到 dashgo_ws/src 下待全部下好後一起編譯
安裝見圖依賴包
cd ~/dashgo_ws/src git clone https://github.com/ros-perception/slam_gmapping git clone https://github.com/ros-perception/openslam_gmapping git clone https://github.com/ros-planning/navigation.git
下載好後還有一個依賴需要安裝才能編譯,否則會報錯!
rosdep where-defined bullet sudo apt-get install libbullet-dev安裝好後
cd ~/dashgo_ws catkin_make
建立dashgo和rplidar的串列埠別名的訪問
roscd dashgo_bringup/startup sudo sh create_dashgo_udev.sh sudo sh create_rplidar_udev.sh
執行如下進行建圖
roslaunch dashgo_bringup minimal.launch roslaunch dashgo_nav gmapping_demo.launch roslaunch turtlebot_rviz_launchers view_navigation.launch roslaunch turtlebot_teleop keyboard_teleop.launch
建好圖就可以儲存,一會使用它來導航了
roscd dashgo_nav/maps rosrun map_server map_saver -f my_map
3.自主導航
首先修改launch檔案,引用儲存好的地圖
gedit ~/dashgo_ws/src/dashgo/dashgo_nav/launch/teb_amcl_demo.launch
如圖,將地圖名改為你剛才儲存好的my_map,修改完後儲存!
輸入一下指令進行導航
roslaunch dashgo_bringup minimal.launch roslaunch dashgo_nav teb_amcl_demo.launch roslaunch turtlebot_rviz_launchers view_navigation.launch