< >
Home » DashgoD1底盘新指南 » DashgoD1底盘新指南-6.3 树莓派使用gmaping建图

DashgoD1底盘新指南-6.3 树莓派使用gmaping建图

DashgoD1底盘新指南-6.3 树莓派使用gmaping建图

树莓派使用gmaping建图

本教程介绍使用Flash Lidar F4激光雷达、D1、树莓派3 进行 gmapping 建图。
若购买了EAI的树莓派3,树莓派的运行环境已经搭建了,只需要搭建PC端的环境。

树莓派上安装 Dashgo 包与 F4 驱动包

  • Ctrl + Alt +T 打开终端,创建 dashgo_ws 工作空间
    $ 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 F4驱动

      $ cd ~/dashgo_ws/src
    
      $ git clone https://github.com/EAIBOT/flashgo.git
    
      $ cd flashgo
    
      $ git checkout 1.1.0
    
  • 然后编译

    $ cd ~/dashgo_ws

    $ catkin_make
  • 编译完成后,增加环境变量到 ~/.bashrc 文件中,执行如下命令
    $ echo "source ~/dashgo_ws/devel/setup.bash" >> ~/.bashrc

    $ source ~/.bashrc
  • source ~/.bashrc使环境变量的配置生效。

树莓派串口访问权限

  • 创建 dashgo 和 flashlidar 的串口别名的访问

      $ roscd dashgo_bringup/startup
    
      $ sudo sh create_dashgo_udev.sh
    
      $ sudo sh create_flashlidar_udev.sh
    
  • 重新插拔连接树莓派的 USB 线与串口线

  • 修改两端的hosts文件

  • 树莓派修改/etc/hosts文件,让树莓派知道PC端的IP与主机名

sudo vim /etc/hosts

127.0.0.1   localhost
127.0.1.1   dahsgo-d1
172.20.105.96 eaibot  #添加这行信息

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
PC端修改/etc/hosts文件,让PC端知道树莓派的IP与主机名
sudo vim /etc/hosts

127.0.0.1   localhost
127.0.1.1   eaibot
172.20.105.80 dahsgo-d1   #添加这行信息

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

注意:若没有设置两端的/etc/hosts文件,两端数据难以通信的。

树莓派运行扫地图主程序

    $ roslaunch dashgo_nav gmapping_demo.launch

PC端运行rviz

  • PC端安装rviz包(前提:ROS系统已经安装成功)
    $ sudo apt-get install ros-indigo-serial ros-indigo-turtlebot-rviz-launchers
  • PC端运行图形界面
    $ export ROS_MASTER_URI=http://172.20.105.96:11311

    $ roslaunch turtlebot_rviz_launchers view_navigation.launch

注意:ROS_MASTER_URI 的 IP 要根据实际情况来定。

在正式建图前,需要对激光雷达与D1进行坐标校正,请看 “激光雷达与D1的坐标校正” 这章节。

键盘控制 D1 移动

  • 树莓派端再启动一个窗口控制 D1 运动
    $ rosrun dashgo_bringup teleop_twist_keyboard.py

树莓派端保存地图

  • 控制 D1 运动建地图后,可保存地图。
    $ roscd dashgo_nav/maps

    $ rosrun map_server map_saver -f my_map
  • 运行效果如下图:

请输入图片描述

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: dashgo d1