1. 程式人生 > >EAI Dashgo D1環境搭建/鍵盤控制/rplidar a1 a2建圖導航詳細教程

EAI Dashgo D1環境搭建/鍵盤控制/rplidar a1 a2建圖導航詳細教程

昨天同學讓我幫他看一下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