昨天同学让我帮他看一下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