(RB-13K137)RPLIDAR 激光雷达扫描测距仪开发套件

来自ALSROBOT WiKi
2015年9月23日 (三) 16:21Arduino77讨论 | 贡献的版本

跳转至: 导航搜索
13K13701.png

目录

产品概述

RPLIDAR激光雷达是一款测量半径6米以上、360度全向视角、扫描频率5.5hz的2D激光雷达,同时它也是一款机器人SLAM的理想传感器。与动辄上万的同类传感器相比,RPLIDAR采用了自主研发的光学图像引擎,极大地消减了成本,使之更适合于成本敏感的领域,例如消费级产品和广大机器人爱好者。RPLIDAR的激光测距引擎可以实现每秒2000次的测距操作,在保证每周360个角度采样解析度的条件下,可实现5.5hz的扫描频率。用户也可以自行调制扫描电机转速,实现2hz-10hz不等的扫描频率,RPLIDAR仍然自适应当前的实际转速正确输出每一个角度位置所对应的距离值。

RPLIDAR开发套件清单

  • RPLIDAR 模组(内置PWM电机驱动器)*1
  • USB 适配器*1
  • RPLIDAR 模组通讯排线*1
  • Micro USB 线缆*1

套件内包含模组如图所示:

RB13K13702.png

RPLIDAR 模组技术参数

  1. 型号:A1M1
  2. 测距范围:0.2—6米
  3. 扫描角度:0-360度
  4. 测距分辨率(1.5米以内):小于0.5mm
  5. 测距分辨率(全部量程范围内):小于实际距离的1%
  6. 单次测距时间:0.5mm
  7. 测量频率:大于等于2000Hz
  8. 扫描频率:5.5Hz
  9. 机械系统供电:3.6V—6V
  10. 数字系统供电:3.6V—5V
  11. 通讯接口:3.3V UART/USB
  12. 应用场合:家用看护/清洁机器人的导航与定位、通用的机器人导航与定位、智能玩具的障碍物检测、环境扫描与3D重建、通用的同步定位于建图(SLAM)

配件介绍

RPLIDAR 模组

RPLIDAR开发套装中包含了标准版本的RPLIDAR模组(A1M1—R1)。同时模组内集成了可以使用逻辑电平(3.3V)驱动的电机控制器。开发者可以使用该电机驱动器使用PWM信号对电机转速进行控制,而从控制RPLIDAR扫描频率或者在必要时刻关闭电机节能。

RPLIDAR模块引脚规格与定义

开发套装中RPLIDAR模块底部使用5267-7A规范的2.5mm间距7pin插座。用户可以使用带有符合5264-7规范端子的排线与其进行连接。其引脚定义如下:

RB13K13710.png
RB13K13711.png

外部系统必须给VMOTO以及V5.0同时提供符合要求的供电,方可以使得RPLIDAR的测距核心以扫描电机工作。在要求不高的场合,VMOTO以及V5.0可以共用同一组电源。
MOTOCTL引脚可以用以控制电机的运行或者定转控制,也可以使用PWM信号对电机的旋转速度进行调制,从而控制RPLIDAR扫描频率。

USB适配器

开发套装中包含一个USB适配器模块,用于对RPLIDAR模组进行供电驱动,并使用USB接口与PC等外部设备进行通信。只要使用配套的通讯排线与RPLIDAR模组相连,用户只需要一根USB线缆既可使用RPLIDAR。

USB适配器引脚定义

USB适配器同样采用5267-7A规范的2.5mm间距7pin插座,并通过通讯排线与RPLIDAR模块对接。其引脚定义如下:

RB13K13710.png
RB13K13712.png

模组连接与使用介绍

设备连接

(1)将开发套装中提供的信号连接排线分别与RPLIDAR 模组及USB适配器进行连接。RPLIDAR模组的对应接口插座位于模组底部。如图所示:

RB13K13703.jpg

(2)将USB适配器通过Micro-USB线缆与PC连接。 如果PC已经启动,在USB线缆连接后,可以观察到RPLIDAR底部的电源指示灯点亮,并且RPLIDAR开始转动。

USB适配器驱动程序安装

USB适配器采用CP2102芯片实现串口(UART)到USB信号的转换。因此需要在PC系统中安装对应的驱动程序。其驱动程序可以在配套的SDK包中找到,或者从官网上下载 CP2102驱动官网下载地址

安装过程演示

这里以Windows系统为例,演示安装过程
通过前面的操作将USB适配器与PC相连接,执行CP2102的Windows驱动程序安装文件(CP210x VCP Windows)。请按照操作系统的版本选择执行32位版本(X86)或者64位版本(X64)的安装程序

RB13K137031.png
RB13K137041.png
RB13K13705.png

使用评估软件

RoboPeak提供了RPLIDAR扫描画面的可视化软件frame_grabber。通过该软件客户可以直观的观测到RPLIDAR实时的测距扫描结果,并且可以保存测距结果到外部文件供进一步分析使用。目前该软件需要运行在Windows平台下。
运行演示软件:frame_grabber.exe,选择USB适配器对应的串口号:

RB13K13706.png

如果连接正常,则将看到如下的画面:

RB13K13707.jpg

其中标题栏显示了目前样机的固件/硬件版本和序列号信息。所有对RPLIDAR可进行的操作均已经在工具栏中列出:

RB13K13709.png

常见问题整理

1、什么是激光雷达
答:激光雷达是以发射激光束探测目标的位置、速度等特征量的雷达系统。从工作原理上讲,与微波雷达没有根本的区别:向目标发射探测信号(激光束),然后将接收到的从目标反射回来的信号(目标回波)与发射信号进行比较,作适当处理后,就可获得目标的有关信息
参考:激光雷达百度百科
激光雷达可以进行360°的扫描,因此可以将周边最近6米以内的最近的物体到模块本身的距离测量出来。
也可以理解为激光雷达就是一圈的激光测距仪。
2、激光雷达能干什么
答:激光雷达可以进行360°的二维距离探测,SLAM,3D扫描与模型构建,障碍物检测,多点触摸等
3、激光雷达有什么缺点
答:由于采用激光进行探测,所以无法正确反射激光的都会导致数据不准确,镜面,透明玻璃,水等会导致数据偏离。所以如果有这种环境的地方,需要考虑用其他传感器进行补充。
4、激光雷达有在 processing,Arduino, Raspberry or pcDuino上的样例代码吗? 答:激光雷达有提供SDK,把SDK中的linux代码在Raspberry or pcDuino 上编译即可。processing可以直接获取激光雷达的串口数据,根据SDK中提供的数据格式进行各种处理。Arduino下的驱动可以在以下网址找到。
激光雷达在Arduino下的驱动程序
激光雷达Arduino平台的使用说明
激光雷达使用效果演示
5、arduino是否可以用Robopeak的激光雷达做slam
答:arduino可以用robopeak的激光雷达作为传感器,但是由于激光雷达的数据量较大(115.2kbps),以arduino的能力来说无法完成slam的处理,因此建议采用更高级一些的控制器来进行处理,例如树莓派,pcduino,cubeboard等。但作为360的传感器是完全可以使用的。
6、是否可以采用智能手机来作为激光雷达的数据处理。
答:是的,可以通过手机来进行激光雷达的数据处理。由于Robopeak提供的激光雷达采用串口通信,如果你有一定的编程基础,可以参考Robopeak开源的sdk将激光雷达数据进行采集和处理。采集的方式可以直连或者通过其他无线的方式进行。
7、为什么我测量300mm的距离 给显示290mm左右,测量800mm的距离 给显示812mm 分辨率和精度有什么区别
答:分辨率是对距离的解析程度。在近距离情况下,由于传感器激光出射角是在偏离中心位置的,所以你观测的距离和传感器观测到的实际数据有一定偏差的。
近距离下你会发现有1cm左右的偏差。这倒不是说传感器不准。
8、如何进行激光雷达的标定
答:基本的思路如下
在已知距离Y用不透光平板挡住,读取传感器读数X,然后用软件进行数据拟合。
二次拟合的公式可以是:
Y = A*x^2 + B*x + C
其中,X是传感器读数,Y是真实数据。你先通过采集点的过程,用(X,Y)序列拟合这个函数,求出A B C三个系数。
以后,软件采集到传感器读数了,代入到上述公式的x中,就求出标定后的距离值了
10、想询问下电机旋转一圈能采集多少个点的数据?我使用arduino,我观察到,每圈大概有10到20点的数据被采集到,这正常吗?
答:采样量能够根据以下的公式来获得:
number of samples = SAMPLE_RATE / rotation_frequency.
SAMPLE_RATE是有数据手册提供的常数,这个数据一般为2000,是当前的旋转速度。
距离来说,如果当前的转速是5.5hz(或者说是330rpm)那采样的数据应该是在2000/5.5=363.6左右。
你可以用我们提供的SDK中的图像采集工具进行检查。
对于arduino来说,你会发现取样数据会小于预期的数据,这是因为AVR的处理器能力确实没有办法做到这个处理能力。
对2000/秒的数据量来说,处理器必须在每个500毫秒内处理完这些数据。但是对于16Mhz的处理器来说,这远远不足以处理每个接收到的数据节点。进来的数据就会被抛弃了。
11、我在用SDK里面提供的ultra_simple.exe测试时记录下了角度制,并制成图标发现在记录角度时会重复的出现偏差/峰值(并不是单调递增的)。为什么会出现这样的表现? 有什么解决方法的建议呢?
答: 这种情况是正常的。这是由于激光点并不是由原点发射(这是由于激光雷达的光学特性)出来的。
如果你希望你的角度数据在图表中已单调递增的形式出现,请使用我们SDK中的ascendScanData() 函数。这个函数会重新调整数据的顺序。在我们ROS节点驱动中使用这个函数来仿真,以便让数据看起来像传统的扫描仪(激光由中心发射)。你可以参考我们托管在github的代码
由于我们是基于三角定位法的激光测距仪,所以激光点并不是由传感器中心发出的。所以指向被测物体的角度并不是探测器的中心角度。发射角度和指向面有一定的夹角。由于角度偏移量取决于被检测出的目标物体的距离的变化,虽然我们的传感器保持采取在一个固定的时间周期的测量(传感器的旋转部件的角度增量是恒定的),所检测到的目标点的角度增量可能仍是不同的。如果当前检测到的物体的距离比前面的对象更远,当前角度值可以小于前一个。此外,如果当前的样本数据是无效的(没有对象检测),就没有办法来获得实际的角度值,编码器的原始角度值将被使用。
12、请问我怎么获得这个激光雷达的资料
答:可以和客服直接联系询问索要或者和robopeak联系哦。[www.slamtec.com robopeak官方网站]
13、使用这个激光雷达,推荐多少位的单片机?
答:32位,主频100Mhz以上,内存20k以上

操作建议

1.预热与最佳工作时间
由于测距核心在工作中将产生热量,建议在RPLIDAR工作(开启扫描模式、扫描电机开始运转)2分钟后使用,此时测距精度将达到最佳水平。
2.环境温度
当环境温度与常温差距过大时会影响测距系统的精度,并可能对扫描系统的结构产生损害。请避免在高温(大于40摄氏度)以及低温(小于-10摄氏度)的条件中使用。
3.环境光照
RPLIDAR的理想工作环境为室内,室内环境光照(包括无光照)不会对RPLIDAR工作产生影响。但请避免使用强光源直接照射RPLIDAR的视觉系统。
如果需要在室外使用,请避免RPLIDAR的视觉系统直接面对太阳照射,这将会可能导致视觉系统的感光芯片出现永久性损伤,从而使测距失效。
RPLIDAR标准版本在室外强烈太阳光反射条件下的测距范围将缩短。

产品相关推荐

Erweima.png

产品购买地址

RPLIDAR 激光雷达扫描测距仪开发套件 360度全方位扫描

周边产品推荐

原装进口 iSense 3D扫描仪 ipad 专用 3D systems 手持式扫描仪
手持3D扫描仪 Sense 3D scanner 美国3D Systems人像扫描静物扫描

相关问题解答

RPLIDAR 激光雷达扫描测距仪开发套件 360度全方位扫描 6米测距简介

相关学习资料

激光扫描测距系统使用手册与说明书下载网址
RPLIDAR现已支持ROS和Arduino
奥松机器人技术论坛