DashgoD1底盘新指南-7.4 虚拟机下建地图
DashgoD1底盘新指南-7.4 虚拟机下建地图
使用 Flash Lidar F4 激光雷达进行gmapping建图
安装ROS依赖包
$ sudo apt-get install ros-indigo-serial ros-indigo-turtlebot-rviz-launchers ros-indigo-move-base-msgs libghc-sdl-image-dev libsdl-image1.2-dev ros-indigo-navigation ros-indigo-slam-gmapping ros-indigo-teb-local-planner
- 若还没有搭建Dashgo运行环境,便可直接执行以下操作:
$ mkdir -p ~/dashgo_ws/src
$ cd ~/dashgo_ws/src
- 下载 Dashgo SLAM 版本
$ git clone https://github.com/EAIBOT/dashgo.git
$ cd dashgo
$ git checkout slam_02
- 下载激光雷达 Flash Lidar 一代驱动
$ cd ~/dashgo_ws/src
$ git clone https://github.com/EAIBOT/flashgo.git
$ cd flashgo
$ git checkout 1.1.0
- 然后编译
$ cd ~/dashgo_ws
$ catkin_make
- catkin_make 编译完成后,添加 Dashgo 环境变量 ~/.bashrc 文件中。
$ echo "source ~/dashgo_ws/devel/setup.bash" >> ~/.bashrc
$ source ~/.bashrc //source ~/.bashrc 使环境变量的配置生效。
若已经搭建 Dashgo 运行环境,便执行以下操作:
Dashgo 切换到 SLAM 版本
$ cd ~/dashgo_ws/src/dashgo
$ git checkout slam_02
- 下载激光雷达 Flash Lidar 一代驱动
$ cd ~/dashgo_ws/src
$ git clone https://github.com/EAIBOT/flashgo.git
$ cd flashgo
$ git checkout 1.1.0
下载建图依赖包
$ cd ~/dashgo_ws/src $ git clone https://github.com/ros-perception/slam_gmapping.git $ git clone https://github.com/ros-perception/openslam_gmapping.git $ git clone https://github.com/ros-planning/navigation.git
然后编译
$ cd ~/dashgo_ws/
$ catkin_make
串口访问权限
- 创建 dashgo 和 flash lidar 的串口别名的访问
$ roscd dashgo_bringup/startup
$ sudo sh create_dashgo_udev.sh
$ sudo sh create_flashlidar_udev.sh
重新插拔连接电脑的USB线
分别在虚拟机上,选择 D1 串口与激光雷达F4 USB口,如下图所示
- 查看 D1 串口是否存在
$ ls -l /dev/dashgo
- 查看激光雷达USB口是否存在
$ ls -l /dev/flashlidar
运行地图扫描节点
Ctrl + Alt + T 打开命令窗口,运行命令
$ roslaunch dashgo_nav gmapping_demo.launch
运行rviz,查看扫描结果
Ctrl + Alt + T 打开新的命令窗口,运行命令
$ roslaunch turtlebot_rviz_launchers view_navigation.launch
注意:在建图前要先对激光雷达与D1的坐标进行对齐,请看 虚拟机下激光雷达与D1的坐标对齐 这章节。 键盘控制 D1 移动扫描地图
- Ctrl + Alt + T 打开新的命令窗口,运行命令
$ rosrun dashgo_bringup teleop_twist_keyboard.py
- 得到如下内容
Reading from the keyboard and Publishing to Twist!
---------------------------
Moving around:
u i o
j k l
m , .
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
anything else : stop
CTRL-C to quit
- 控制 D1 移动的按键分布如下:
前进: i
后退: ,
左转: j
后转: l
停止: k
注意:键盘控制移动的速度较大,注意人物安全。
扫描完地图后,保存地图
Ctrl + Alt + T 打开新的命令窗口,运行下面命令
$ roscd dashgo_nav/maps
$ rosrun map_server map_saver -f my_map //my_map是保存地图的名称,根据实际情况命名。
- 运行效果如下图:
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号