查看(RB-13K137)RPLIDAR 激光雷达扫描测距仪开发套件的源代码
←
(RB-13K137)RPLIDAR 激光雷达扫描测距仪开发套件
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
[[文件:13K13701.png|500px|有框|右]] ==产品概述== 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 套件内包含模组如图所示:<br/> [[文件:RB13K13702.png|700px|有框|居中]] ==RPLIDAR 模组技术参数== # 型号:A1M1 # 测距范围:0.2—6米 # 扫描角度:0-360度 # 测距分辨率(1.5米以内):小于0.5mm # 测距分辨率(全部量程范围内):小于实际距离的1% # 单次测距时间:0.5mm # 测量频率:大于等于2000Hz # 扫描频率:5.5Hz # 机械系统供电:3.6V—6V # 数字系统供电:3.6V—5V # 通讯接口:3.3V UART/USB # 应用场合:家用看护/清洁机器人的导航与定位、通用的机器人导航与定位、智能玩具的障碍物检测、环境扫描与3D重建、通用的同步定位于建图(SLAM) ==配件介绍== ===RPLIDAR 模组=== RPLIDAR开发套装中包含了标准版本的RPLIDAR模组(A1M1—R1)。同时模组内集成了可以使用逻辑电平(3.3V)驱动的电机控制器。开发者可以使用该电机驱动器使用PWM信号对电机转速进行控制,而从控制RPLIDAR扫描频率或者在必要时刻关闭电机节能。 ===USB适配器=== 开发套装中包含一个USB适配器模块,用于对RPLIDAR模组进行供电驱动,并使用USB接口与PC等外部设备进行通信。只要使用配套的通讯排线与RPLIDAR模组相连,用户只需要一根USB线缆既可使用RPLIDAR。 ==模组连接与使用介绍== ===设备连接=== (1)将开发套装中提供的信号连接排线分别与RPLIDAR 模组及USB适配器进行连接。RPLIDAR模组的对应接口插座位于模组底部。如图所示: [[文件:RB13K13703.jpg|700px|有框|居中]] (2)将USB适配器通过Micro-USB线缆与PC连接。 如果PC已经启动,在USB线缆连接后,可以观察到RPLIDAR底部的电源指示灯点亮,并且RPLIDAR开始转动。 ===USB适配器驱动程序安装=== USB适配器采用CP2102芯片实现串口(UART)到USB信号的转换。因此需要在PC系统中安装对应的驱动程序。其驱动程序可以在配套的SDK包中找到,或者从官网上下载 [http://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx CP2102驱动官网下载地址]<br/> ====安装过程演示==== 这里以Windows系统为例,演示安装过程<br/> 通过前面的操作将USB适配器与PC相连接,执行CP2102的Windows驱动程序安装文件(CP210x VCP Windows)。请按照操作系统的版本选择执行32位版本(X86)或者64位版本(X64)的安装程序<br/> [[文件:RB13K137031.png|600px|有框|居中]] [[文件:RB13K13704.png|500px|有框|居中]] [[文件:RB13K13705.png|500px|有框|居中]] ==使用评估软件== RoboPeak提供了RPLIDAR扫描画面的可视化软件frame_grabber。通过该软件客户可以直观的观测到RPLIDAR实时的测距扫描结果,并且可以保存测距结果到外部文件供进一步分析使用。目前该软件需要运行在Windows平台下。<br/> 运行演示软件:frame_grabber.exe,选择USB适配器对应的串口号: [[文件:RB13K13706.png|400px|有框|居中]] 如果连接正常,则将看到如下的画面: [[文件:RB13K13707.jpg|500px|有框|居中]] 其中标题栏显示了目前样机的固件/硬件版本和序列号信息。所有对RPLIDAR可进行的操作均已经在工具栏中列出: [[文件:RB13K13709.png|500px|有框|居中]] ==常见问题整理== 1、什么是激光雷达<br/> 答:激光雷达是以发射激光束探测目标的位置、速度等特征量的雷达系统。从工作原理上讲,与微波雷达没有根本的区别:向目标发射探测信号(激光束),然后将接收到的从目标反射回来的信号(目标回波)与发射信号进行比较,作适当处理后,就可获得目标的有关信息<br/> 参考:[http://baike.baidu.com/view/131602.htm?fr=aladdinRoboPeak 激光雷达百度百科]激光雷达可以进行360°的扫描,因此可以将周边最近6米以内的最近的物体到模块本身的距离测量出来。<br/> 也可以理解为激光雷达就是一圈的激光测距仪。<br/> 2、激光雷达能干什么<br/> 答:激光雷达可以进行360°的二维距离探测,SLAM,3D扫描与模型构建,障碍物检测,多点触摸等<br/> 3、激光雷达有什么缺点<br/> 答:由于采用激光进行探测,所以无法正确反射激光的都会导致数据不准确,镜面,透明玻璃,水等会导致数据偏离。所以如果有这种环境的地方,需要考虑用其他传感器进行补充。<br/> 4、激光雷达有在 processing,Arduino, Raspberry or pcDuino上的样例代码吗? 答:激光雷达有提供SDK,把SDK中的linux代码在Raspberry or pcDuino 上编译即可。processing可以直接获取激光雷达的串口数据,根据SDK中提供的数据格式进行各种处理。Arduino下的驱动可以在以下网址找到。<br/> [http://www.robopeak.com/blog/?p=618 激光雷达在Arduino下的驱动程序]<br/> [http://www.robopeak.net/data/doc/rplidar/appnote/RPLDAPPN01-rplidar_appnote_arduinolib-zhCN.pdf 激光雷达使用说明]<br/> [http://www.tudou.com/programs/view/rf2Lo7ov95U/?lvt=0&resourceId=0_07_10_28 激光雷达使用效果演示]<br/> 5、arduino是否可以用Robopeak的激光雷达做slam<br/> 答:arduino可以用robopeak的激光雷达作为传感器,但是由于激光雷达的数据量较大(115.2kbps),以arduino的能力来说无法完成slam的处理,因此建议采用更高级一些的控制器来进行处理,例如树莓派,pcduino,cubeboard等。但作为360的传感器是完全可以使用的。<br/> 6、是否可以采用智能手机来作为激光雷达的数据处理。<br/> 答:是的,可以通过手机来进行激光雷达的数据处理。由于Robopeak提供的激光雷达采用串口通信,如果你有一定的编程基础,可以参考Robopeak开源的sdk将激光雷达数据进行采集和处理。采集的方式可以直连或者通过其他无线的方式进行。<br/> 7、为什么我测量300mm的距离 给显示290mm左右,测量800mm的距离 给显示812mm 分辨率和精度有什么区别<br/> 答:分辨率是对距离的解析程度。在近距离情况下,由于传感器激光出射角是在偏离中心位置的,所以你观测的距离和传感器观测到的实际数据有一定偏差的。<br/> 近距离下你会发现有1cm左右的偏差。这倒不是说传感器不准。 <br/> 8、如何进行激光雷达的标定<br/> 答:基本的思路如下<br/> 在已知距离Y用不透光平板挡住,读取传感器读数X,然后用软件进行数据拟合。<br/> 二次拟合的公式可以是:<br/> Y = A*x^2 + B*x + C<br/> 其中,X是传感器读数,Y是真实数据。你先通过采集点的过程,用(X,Y)序列拟合这个函数,求出A B C三个系数。<br/> 以后,软件采集到传感器读数了,代入到上述公式的x中,就求出标定后的距离值了<br/> 10、想询问下电机旋转一圈能采集多少个点的数据?我使用arduino,我观察到,每圈大概有10到20点的数据被采集到,这正常吗?<br/> 答:采样量能够根据以下的公式来获得:<br/> number of samples = SAMPLE_RATE / rotation_frequency.<br/> SAMPLE_RATE是有数据手册提供的常数,这个数据一般为2000,是当前的旋转速度。<br/> 距离来说,如果当前的转速是5.5hz(或者说是330rpm)那采样的数据应该是在2000/5.5=363.6左右。<br/> 你可以用我们提供的SDK中的图像采集工具进行检查。<br/> 对于arduino来说,你会发现取样数据会小于预期的数据,这是因为AVR的处理器能力确实没有办法做到这个处理能力。<br/> 对2000/秒的数据量来说,处理器必须在每个500毫秒内处理完这些数据。但是对于16Mhz的处理器来说,这远远不足以处理每个接收到的数据节点。进来的数据就会被抛弃了。<br/> 11、我在用SDK里面提供的ultra_simple.exe测试时记录下了角度制,并制成图标发现在记录角度时会重复的出现偏差/峰值(并不是单调递增的)。为什么会出现这样的表现? 有什么解决方法的建议呢?<br/> 答: 这种情况是正常的。这是由于激光点并不是由原点发射(这是由于激光雷达的光学特性)出来的。<br/> 如果你希望你的角度数据在图表中已单调递增的形式出现,请使用我们SDK中的ascendScanData() 函数。这个函数会重新调整数据的顺序。在我们ROS节点驱动中使用这个函数来仿真,以便让数据看起来像传统的扫描仪(激光由中心发射)。你可以参考我们托管在github的代码<br/> 由于我们是基于三角定位法的激光测距仪,所以激光点并不是由传感器中心发出的。所以指向被测物体的角度并不是探测器的中心角度。发射角度和指向面有一定的夹角。由于角度偏移量取决于被检测出的目标物体的距离的变化,虽然我们的传感器保持采取在一个固定的时间周期的测量(传感器的旋转部件的角度增量是恒定的),所检测到的目标点的角度增量可能仍是不同的。如果当前检测到的物体的距离比前面的对象更远,当前角度值可以小于前一个。此外,如果当前的样本数据是无效的(没有对象检测),就没有办法来获得实际的角度值,编码器的原始角度值将被使用。<br/> 12、请问我怎么获得这个激光雷达的资料<br/> 答:可以和客服直接联系询问索要或者和robopeak联系哦。他们的网址是www.slamtec.com<br/> 13、使用这个激光雷达,推荐多少位的单片机?<br/> 答:32位,主频100Mhz以上,内存20k以上<br/> ==产品相关推荐== [[文件:erweima.png|230px|无框|右]] ===产品购买地址=== [http://www.alsrobot.cn/goods-640.html RPLIDAR 激光雷达扫描测距仪开发套件 360度全方位扫描]<br/> ===周边产品推荐=== [http://www.alsrobot.cn/goods-628.html 原装进口 iSense 3D扫描仪 ipad 专用 3D systems 手持式扫描仪]<br/> [http://www.alsrobot.cn/goods-642.html 手持3D扫描仪 Sense 3D scanner 美国3D Systems人像扫描静物扫描]<br/> ===相关问题解答=== [http://www.makerspace.cn/forum.php?mod=viewthread&tid=4743&fromuid=10780 RPLIDAR 激光雷达扫描测距仪开发套件 360度全方位扫描 6米测距简介]<br/> ===相关学习资料=== [http://pan.baidu.com/s/1i3LAnOx 激光扫描测距系统使用手册与说明书下载网址]<br/> [http://www.robopeak.com/blog/?p=618 RPLIDAR现已支持ROS和Arduino]<br/> [http://www.makerspace.cn/portal.php 奥松机器人技术论坛]<br/>
返回
(RB-13K137)RPLIDAR 激光雷达扫描测距仪开发套件
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面
页面信息