Turtlebot2激光雷达(Rplidar)gmapping构建地图
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构建地图相关推荐
- Turtlebot_01——激光雷达运行gmapping建图
一.基本功能包安装 1.使用环境:Ubuntu14.04 LTS + ROS indigo + hokuyo URG-04LX-UG01(激光型号) 2.安装 Turtlebot包(若要学习源码,修改 ...
- ROS下用gmapping 构建实验室地图的实现
ROS下用gmapping 来实现构建实验室地图 由于move_base类已经配置好,可用了,所以就来尝试用gmapping构建地图了,看看效果.下面来说下具体的过程. Gmapping 构建地图需要 ...
- ROS 导航——SLAM之用Gmapping构建一张地图
用Gmapping构建一张地图 Gmapping功能包介绍 使用Gmapping功能包的一些准备 /tf 雷达和机器人基座标 里程计 /scan 使用Gmmaping功能包 得到的地图 Gmappin ...
- 【环境配置】Turtlebot2 激光雷达+深度相机 GAZEBO仿真
前言 最近老师接了一个项目,做一个机器人仿真环境,我是负责移动机器人这部分的.老师的要求是以Turtlebot2为参考,后面可能涉及实机演示.在仿真的过程中我发现Turtlebot2仿真环境是以Kin ...
- 华为开源构建工具_5个开源工具可快速构建地图应用
华为开源构建工具 近年来,地理信息系统(GIS)引起的所有关注都可能使您认为它们是新事物. 实际上,超过160年前,地理空间数据在确定1854年伦敦霍乱致命爆发的来源方面发挥了重要作用. 当地医生约翰 ...
- 利用深度摄像头生成仿激光数据并构建地图
前言 博主本来是想自己将生成的激光数据和ros中的地图构建工具生成地图的,结果搜了一下github发现这项工作已经被大牛们写好并且打包上传了,可以只利用激光数据不需要里程计数据来构建地图,不过还是把过 ...
- 发布职位:智行者科技idriverplus#d轮结束,即将ipobase:北广鄂渝技术路线:激光雷达+摄像头+高精地图前端后端移动端大数据感知嵌入式算法
发布职位:智行者科技idriverplus# d轮结束,即将ipo base:北广鄂渝 技术路线:激光雷达+摄像头+高精地图 前端后端移动端大数据感知嵌入式算法
- 发布职位:小马智行 pony.ai#估值最高的自动驾驶独角兽,2月份c+轮+11亿$=60亿$base:硅谷 广北上深技术路线:激光雷达+摄像头+高精地图前端后端移动端大数据嵌入式传感
发布职位: 小马智行 pony.ai#估值最高的自动驾驶独角兽,2月份c+轮+11亿$=60亿$ base:硅谷 广北上深 技术路线:激光雷达+摄像头+高精地图 前端后端移动端大数据嵌入式传感算法
- CMRNet++:一种相机在激光雷达构建地图中的定位方案
点云PCL免费知识星球,点云论文速读. 标题:CMRNet++: Map and Camera Agnostic Monocular Visual Localization in LiDAR Maps ...
- 思岚发布新品TOF激光雷达——RPLIDAR S1 性能更强、更稳定
去年2月, 思岚科技 对外发布了第三代激光扫描测距雷达RPLIDAR A3,基于思岚科技最新的RPVision 3.0测距引擎,可实现25米范围的实用化距离探测,每秒16,000的采样频率,刷新了三角 ...
最新文章
- POJ 1185 炮兵阵地(状态压缩DP)
- 用户控件(.ascx)调用网页(.aspx)的方法
- 【Android RTMP】x264 编码器初始化及设置 ( 获取 x264 编码参数 | 编码规格 | 码率 | 帧率 | B帧个数 | 关键帧间隔 | 关键帧解码数据 SPS PPS )
- java 正则表达式提取价格
- widget模式弄不出来_【春天文化】互联网时代的教育模式培养精英
- android远程命令行工具,Android 使用 adb命令 远程安装apk
- 人工智能大地图之分布式人工智能篇
- threejs 物体根据相机位置显示_认识Threejs
- 创维发布四款新品 将投入65亿元建MiniLED显示科技产业园
- 手机修图软件测试,照片秒变高清修图软件APP
- Tomcat启动Maven项目异常:java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext
- java 中 byte[]、File、InputStream 互相转换
- 【软考】2019 上半年软件设计师 下午真题及答案
- 数组中除一个元素外其他所有元素出现二或三次,找到只出现一次的元素
- 米家?华为?阿里?Homekit?有没有你在用的智能家居平台?
- 程序员日常,你的痛只有我懂,因为小编也是程序员,扎心不老铁?
- python之html网页转PDF
- 阿里云OSS获取文件强制下载的签名URL
- 人工智能数学课高等数学线性微积分数学教程笔记
- ceph节点journal盘更换