Turtlebot2激光雷达(Rplidar)gmapping构建地图测试环境ubuntu16.04 + kinect
已安装Turtlebot包,具体安装:deb包安装 | 源码安装
依赖包:
Turtlebot应用包,https://github.com/ncnynl/turtlebot_apps.git
激光雷达rplidar一代驱动,https://github.com/ncnynl/rplidar_ros.git
*2、建立工作空间,初始化

$ mkdir -p  ~/turtlebot_ws/src
$ catkin_init_workspace

3、将下载turtlebot_apps和rplidar_ros两个功能包复制到创建的工作空间的src路径下,,编译功能包*

$ cd  ~/turtlebot_ws
$ catkin_make

4、添加环境变量,在~/.bashrc最后添加一行:

$ gedit ~/.bashrc
$ source /home/用户名/turtlebot_ws/devel/setup.bash

刷新配置

$ source ~/.bashrc

$ rospack profile

5、创建激光雷达(Rplidar)的串口别名

确认idVendor和idProduct,ID后面的部分idVendor:idProduct

$ lsusb

Bus 001 Device 006: ID 10c4:ea60(可通过插拔激光的USB检查串口是否读取成功)
新建 /etc/udev/rules.d/rplidar.rules文件,将如下内容复制到rplidar.rules文件:(别名为rplidar,实际名称为:/dev/rplidar,一般需添加root权限才可修改)

KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE:="0666", GROUP:="dialout",  SYMLINK+="rplidar"

增加当前用户对串口的默认访问权限:

$ sudo usermod -a -G dialout 用户名

使UDEV配置生效:(使串口的默认访问权限生效,需要重启机器)

$ sudo service udev reload
$ sudo service udev restart

6、制作雷达驱动启动文件

$ roscd turtlebot_navigation   #此路径必须为/turtlebot_ws/src/turtlebot_apps/turtlebot_navigation
$ mkdir -p laser/driver
$ sudo cp ~/turtlebot_ws/src/rplidar_ros/launch/rplidar.launch laser/driver/rplidar_laser.launch

打开rplidar_laser.launch,并修改

$ rosed turtlebot_navigation rplidar_laser.launch   #若无法打开表明刷新环境有问题

复制如下代码:

<launch><node name="rplidarNode"          pkg="rplidar_ros"  type="rplidarNode" output="screen"><param name="serial_port"         type="string" value="/dev/ttyUSB0"/>  <param name="serial_baudrate"     type="int"    value="115200"/><param name="frame_id"            type="string" value="laser"/><param name="inverted"            type="bool"   value="false"/><param name="angle_compensate"    type="bool"   value="true"/></node><node pkg="tf" type="static_transform_publisher" name="base_to_laser" args="0.0 0.0 0.18 0 0.0 0.0 base_link laser 100"/>
</launch>

7、增加rplidar_gmapping_demo.launch文件,用于启动gmapping.

$ roscd  turtlebot_navigation
$ touch  launch/rplidar_gmapping_demo.launch
$ rosed  launch/rplidar_gmapping_demo.launch**

复制如下代码:

<launch><!-- Define laser type--><arg name="laser_type" default="rplidar" /><!-- laser driver --><include file="$(find turtlebot_navigation)/laser/driver/$(arg laser_type)_laser.launch" /><!-- Gmapping --><arg name="custom_gmapping_launch_file" default="$(find turtlebot_navigation)/launch/includes/gmapping/$(arg laser_type)_gmapping.launch.xml"/><include file="$(arg custom_gmapping_launch_file)"/><!-- Move base --><include file="$(find turtlebot_navigation)/launch/includes/move_base.launch.xml"/></launch>

8、增加rplidar_gmapping.launch.xml文件,执行gmapping建图

$ roscd  turtlebot_navigation
$ touch  launch/includes/gmapping/rplidar_gmapping.launch.xml
$ rosed  launch/includes/gmapping/rplidar_gmapping.launch.xml

复制如下代码:

<launch><arg name="scan_topic"  default="scan" /><arg name="base_frame"  default="base_footprint"/><arg name="odom_frame"  default="odom"/><node pkg="gmapping" type="slam_gmapping" name="slam_gmapping" output="screen"><param name="base_frame" value="$(arg base_frame)"/><param name="odom_frame" value="$(arg odom_frame)"/><param name="map_update_interval" value="0.01"/><param name="maxUrange" value="4.0"/><param name="maxRange" value="5.0"/><param name="sigma" value="0.05"/><param name="kernelSize" value="3"/><param name="lstep" value="0.05"/><param name="astep" value="0.05"/><param name="iterations" value="5"/><param name="lsigma" value="0.075"/><param name="ogain" value="3.0"/><param name="lskip" value="0"/><param name="minimumScore" value="30"/><param name="srr" value="0.01"/><param name="srt" value="0.02"/><param name="str" value="0.01"/><param name="stt" value="0.02"/><param name="linearUpdate" value="0.05"/><param name="angularUpdate" value="0.0436"/><param name="temporalUpdate" value="-1.0"/><param name="resampleThreshold" value="0.5"/><param name="particles" value="8"/><!--<param name="xmin" value="-50.0"/><param name="ymin" value="-50.0"/><param name="xmax" value="50.0"/><param name="ymax" value="50.0"/>make the starting size small for the benefit of the Android client's memory...--><param name="xmin" value="-1.0"/><param name="ymin" value="-1.0"/><param name="xmax" value="1.0"/><param name="ymax" value="1.0"/><param name="delta" value="0.05"/><param name="llsamplerange" value="0.01"/><param name="llsamplestep" value="0.01"/><param name="lasamplerange" value="0.005"/><param name="lasamplestep" value="0.005"/><remap from="scan" to="$(arg scan_topic)"/></node>
</launch>

9、重新编译工作空间并source测试激光雷达gmapping构建地图
打开终端,启动turtlebot

$ roslaunch turtlebot_bringup minimal.launch

新开终端,启动gmapping,用于构建地图(若出现没有此launch文件等表明source不成功)

$ roslaunch turtlebot_navigation rplidar_gmapping_demo.launch

重新打开终端,启动键盘操作Turtlebot

$ roslaunch turtlebot_teleop keyboard_teleop.launch

再开终端,启动rviz,实时查看建图情况

$ roslaunch turtlebot_rviz_launchers view_navigation.launch

10、构建地图结束保存地图

新开终端,建立目录,保存地图(也可使用默认路径)

$ mkdir -p ~/map
$ rosrun map_server map_saver -f ~/map/rplidar_gmapping
$ ls ~/map   #查看内容,包含rplidar_gmapping.pgm  rplidar_gmapping.yaml

查看地图,已经生成rplidar_gmapping.pgm文件,可以用图像浏览器(gimp, eog, gthumb, 等等)打开查看。

Turtlebot2激光雷达(Rplidar)gmapping构建地图相关推荐

  1. Turtlebot_01——激光雷达运行gmapping建图

    一.基本功能包安装 1.使用环境:Ubuntu14.04 LTS + ROS indigo + hokuyo URG-04LX-UG01(激光型号) 2.安装 Turtlebot包(若要学习源码,修改 ...

  2. ROS下用gmapping 构建实验室地图的实现

    ROS下用gmapping 来实现构建实验室地图 由于move_base类已经配置好,可用了,所以就来尝试用gmapping构建地图了,看看效果.下面来说下具体的过程. Gmapping 构建地图需要 ...

  3. ROS 导航——SLAM之用Gmapping构建一张地图

    用Gmapping构建一张地图 Gmapping功能包介绍 使用Gmapping功能包的一些准备 /tf 雷达和机器人基座标 里程计 /scan 使用Gmmaping功能包 得到的地图 Gmappin ...

  4. 【环境配置】Turtlebot2 激光雷达+深度相机 GAZEBO仿真

    前言 最近老师接了一个项目,做一个机器人仿真环境,我是负责移动机器人这部分的.老师的要求是以Turtlebot2为参考,后面可能涉及实机演示.在仿真的过程中我发现Turtlebot2仿真环境是以Kin ...

  5. 华为开源构建工具_5个开源工具可快速构建地图应用

    华为开源构建工具 近年来,地理信息系统(GIS)引起的所有关注都可能使您认为它们是新事物. 实际上,超过160年前,地理空间数据在确定1854年伦敦霍乱致命爆发的来源方面发挥了重要作用. 当地医生约翰 ...

  6. 利用深度摄像头生成仿激光数据并构建地图

    前言 博主本来是想自己将生成的激光数据和ros中的地图构建工具生成地图的,结果搜了一下github发现这项工作已经被大牛们写好并且打包上传了,可以只利用激光数据不需要里程计数据来构建地图,不过还是把过 ...

  7. 发布职位:智行者科技idriverplus#d轮结束,即将ipobase:北广鄂渝技术路线:激光雷达+摄像头+高精地图前端后端移动端大数据感知嵌入式算法

    发布职位:智行者科技idriverplus# d轮结束,即将ipo base:北广鄂渝 技术路线:激光雷达+摄像头+高精地图 前端后端移动端大数据感知嵌入式算法

  8. 发布职位:小马智行 pony.ai#估值最高的自动驾驶独角兽,2月份c+轮+11亿$=60亿$base:硅谷 广北上深技术路线:激光雷达+摄像头+高精地图前端后端移动端大数据嵌入式传感

    发布职位: 小马智行 pony.ai#估值最高的自动驾驶独角兽,2月份c+轮+11亿$=60亿$ base:硅谷 广北上深 技术路线:激光雷达+摄像头+高精地图 前端后端移动端大数据嵌入式传感算法

  9. CMRNet++:一种相机在激光雷达构建地图中的定位方案

    点云PCL免费知识星球,点云论文速读. 标题:CMRNet++: Map and Camera Agnostic Monocular Visual Localization in LiDAR Maps ...

  10. 思岚发布新品TOF激光雷达——RPLIDAR S1 性能更强、更稳定

    去年2月, 思岚科技 对外发布了第三代激光扫描测距雷达RPLIDAR A3,基于思岚科技最新的RPVision 3.0测距引擎,可实现25米范围的实用化距离探测,每秒16,000的采样频率,刷新了三角 ...

最新文章

  1. POJ 1185 炮兵阵地(状态压缩DP)
  2. 用户控件(.ascx)调用网页(.aspx)的方法
  3. 【Android RTMP】x264 编码器初始化及设置 ( 获取 x264 编码参数 | 编码规格 | 码率 | 帧率 | B帧个数 | 关键帧间隔 | 关键帧解码数据 SPS PPS )
  4. java 正则表达式提取价格
  5. widget模式弄不出来_【春天文化】互联网时代的教育模式培养精英
  6. android远程命令行工具,Android 使用 adb命令 远程安装apk
  7. 人工智能大地图之分布式人工智能篇
  8. threejs 物体根据相机位置显示_认识Threejs
  9. 创维发布四款新品 将投入65亿元建MiniLED显示科技产业园
  10. 手机修图软件测试,照片秒变高清修图软件APP
  11. Tomcat启动Maven项目异常:java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext
  12. java 中 byte[]、File、InputStream 互相转换
  13. 【软考】2019 上半年软件设计师 下午真题及答案
  14. 数组中除一个元素外其他所有元素出现二或三次,找到只出现一次的元素
  15. 米家?华为?阿里?Homekit?有没有你在用的智能家居平台?
  16. 程序员日常,你的痛只有我懂,因为小编也是程序员,扎心不老铁?
  17. python之html网页转PDF
  18. 阿里云OSS获取文件强制下载的签名URL
  19. 人工智能数学课高等数学线性微积分数学教程笔记
  20. ceph节点journal盘更换

热门文章

  1. 最全常见算法工程师面试题目整理
  2. ZFAKA最新版最简安装教程
  3. 华为PUSH推送所有Token都不合法
  4. Python编程 whl文件安装库
  5. Unity移动视角(MainCamera的操作)
  6. MATLAB图像去雾算法RETINEX实现
  7. Ad hoc queries(即席查询)
  8. dw做注册登录页面HTML代码,用DW做的简单的个人网站(可以用来当网页作业)
  9. XJOI恺撒加密术1级19段
  10. SPSS学习 (一)概述