logo资料库

ROS与激光雷达入门教程.pdf

第1页 / 共29页
第2页 / 共29页
第3页 / 共29页
第4页 / 共29页
第5页 / 共29页
第6页 / 共29页
第7页 / 共29页
第8页 / 共29页
资料共29页,剩余部分请下载后查看
ROS 与激光雷达入门教程 说明:  本栏目介绍多款激光雷达的安装,使用  会收录的激光雷达包括:Neato XV-11、Hokuyo、RPLIDAR 、北醒、镭神等 ROS 与激光雷达入门教程-ROS 中使用激光雷达(Neato XV-11) ROS 与激光雷达入门教程-ROS 中使用激光雷达(RPLIDAR) ROS 与激光雷达入门教程-ROS 中使用激光雷达(hokuyo) ROS 与激光雷达入门教程-激光雷达(neato xv-11)gmapping 构建地图 ROS 与激光雷达入门教程-激光雷达(Rplidar)gmapping 构建地图 ROS 与激光雷达入门教程-激光雷达(Hokuyo)gmapping 构建地图 目录:       参考: 公共  2D-slam 激光 slam: 开源代码的比较 HectorSLAM Gmapping KartoSLAM CoreSLAM LagoSLAM Hokuyo turtlebot 上 hokuyo UTM-30LX 激光扫描仪的添加及导航 Ros 中 2D_Slam 说明: turtlebot+kinect 改写成 turtlebot+laser(hokuyo)     激光测距仪 hokuyo-ug01 与 ros ROS 中 Hokuyo_node 使用        hokuyo_node turtlebot 上 hokuyo UTM-30LX 激光扫描仪的添加及导航 ROS 下使用 Hokuyo 和 AMCL 进行 P3dx 平台导航的实现 ROS 下用 gmapping 构建实验室地图的实现 RPLIDAR tk1 刷机+ROS 安装+rplidar 安装和配置+turtlebot 安装和配置 ros 中 kobuki(turtlebot)+rplidar 跑 gmapping turtlebot2+激光雷达 Neato XV-11  在 ROS 系统中使用 XV-11 Lidar 进行 SLAM  Neato XV-11 激光雷达利用 hector_slam 建图
ROS 与激光雷达入门教程-ROS 中使用激光雷达(Neato XV-11) 说明  介绍激光雷达(Neato XV-11)  介绍在 ROS 中使用激光雷达 激光雷达(Neato XV-11)  Neato XV-11 激光雷达主要来自 Neato 牌子的扫地机,多为二手。  激光雷达内部图示:  激光雷达安装图示:
 数据参数: o 串口通讯: 速率 115200 8N1 o 雷达每完整旋转一周会发送 90 个数据包 o 每个数据包中包含 4 个测量点的信息 o 每个数据包长度固定是 22 个字节 o 360°旋转一周共 1980 个字节,相当于每度会有一个距离数据.  雷达的数据包格式: [Data 0] [Data 1] [Data 2] [Data 3]  雷达的数据包分析: o :0xFA,是固定格式表明数据包开始,可用来从数据流中分割数据包。 o :数据包的索引号,范围从 0xA0 到 0xF9 (总共 89 个包,每个包 4 个数据)。 o :有两个 speedL 和 speedH ,它们各一个字节,共同组成转速信息,大概是低 6bit 表示小数部分。 o :[ Data 0] 到 [Data 3] 是四组测量数据,其中每组测量数据分别由 4 个字节组成,如下: o o o byte 0 : # 距离信息的 0-7 位 byte 1 : <“invalid data” flag> <“strength warning” flag> # 错误信息标志位 , 警 告位, 距离信息 13-8 位 byte 2 : # 信号强度 0-7 位 byte 3 : # 讯号强度 8-15 位 距离信息的单位是 mm ,整个激光雷达的测量范围大概是 15cm 到 6m, 只需要把距离信息的两个字 节组装成一个整数即可(注意判断无效数据位为 0,如果为 1 意味是无效的数据,需丢弃)。 o :由两个字节组成的校验码,用来校验整个数据包是否正确 驱动安装前准备  假设本测试在 Ubuntu 14.04 + Indigo 下进行  激光雷达的驱动:https://github.com/ncnynl/xv_11_laser_driver 驱动安装  进入工作空间,下载代码,编译
$ cd ~/catkin_ws/src $ git clone https://github.com/ncnynl/xv_11_laser_driver.git $ cd ../ $ catkin_make 激光雷达配置  查看端口,采用指定端口方式。一般都是 ttyUSB0,查看端口方法: $ ls /dev/ttyUSB* /dev/ttyUSB0 /dev/ttyUSB1  配置端口,采用别名方式:  连接雷达后,查看雷达端口,获取 idVendor 和 idProduct 信息。ID 后面的数字 idVendor:idProduct $ lsusb Bus 001 Device 006: ID 138a:0011 Validity Sensors, Inc. VFS5011 Fingerprint Reader  新建 /etc/udev/rules.d/rplidar.rules 文件:(设置别名为 neatolaser,实际名称为:/dev/neatolaser) KERNEL=="ttyUSB*", ATTRS{idVendor}=="138a", ATTRS{idProduct}=="0011", MODE:="0666", GROUP: ="dialout", SYMLINK+="neatolaser"  增加当前用户对串口的默认访问权限: $ sudo usermod ‐a ‐G dialout 用户名  使 UDEV 配置生效:(使串口的默认访问权限生效,需要重启机器) $ sudo service udev reload $ sudo service udev restart 激光雷达测试  新开端口, 导入环境变量: $ source ~/catkin_ws/devel/setup.bash  新开端口,启动 roscore $ roscore  新开端口,测试使用的是版本 2,注意:不同版本数据格式有差异 。
$ rosrun xv_11_laser_driver neato_laser_publisher _port:=/dev/ttyUSB0 _firmware_version:= 2  或使用别名 $ rosrun xv_11_laser_driver neato_laser_publisher _port:=/dev/neatolaser _firmware_versio n:=2  或利用 launch 启动, 修改端口或用/dev/neatolaser $ roslaunch xv_11_laser_driver neato.launch  打开 RVIZ $ rosrun rviz rviz  修改 Global Options 的 Fixed Frame 为/neato_laser(手打),如图:
 点击 Add,添加 LaserScan,可以看到点云数据,如果没看到,旋转雷达的开关,调整速度。  可能显示的点云很小,调整下大小 size(m)为 0.05,如图:
ROS 与激光雷达入门教程-激光雷达(neato xv-11)gmapping 构 建地图 说明  介绍激光雷达(neato xv-11)在 Turtlebot 平台上实现 gmapping 构建地图 参考  Turtlebot 入门教程-激光雷达(neato xv-11)gmapping 构建地图
ROS 与激光雷达入门教程-激光雷达(Rplidar)gmapping 构建地 图 说明  介绍激光雷达(Rplidar)在 Turtlebot 平台上实现 gmapping 构建地图 参考  Turtlebot 入门教程-激光雷达(Rplidar)gmapping 构建地图 ROS 与激光雷达入门教程-激光雷达(Hokuyo)gmapping 构建地 图 说明  介绍激光雷达(Hokuyo)在 Turtlebot 平台上实现 gmapping 构建地图 参考  Turtlebot 入门教程-激光雷达(Hokuyo)gmapping 构建地图 ROS 与激光雷达入门教程-ROS 中使用激光雷达(RPLIDAR) 说明  介绍激光雷达(RPLIDAR)  介绍在 ROS 中安装和测试 激光雷达(RPLIDAR)  RPLIDAR 是低成本的二维雷达解决方案,由 SlamTec 公司的 RoboPeak 团队开发。  它能扫描 360°,6 米半径的范围。  它适合用于构建地图,SLAM,和建立 3D 模型。
分享到:
收藏