虚拟机下建地图

使用 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是保存地图的名称,根据实际情况命名。

运行效果如下图:

这里写图片描述

results matching ""

    No results matching ""