预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于图形建模的未知环境定位系统摘要针对移动机器人研究领域中的地图构建问题,传统方案往往会出现机器人不能准确定位,创建地图时间长等问题。为了解决该问题,本文提出了一种较为可靠的方案。通过激光传感器回传的数据传输回控制室绘图并显示,以此即使在不可见情况让探测人员实时了解周遭环境,可以应用在矿区探测,深海探测以及外星探测中。【关键词】环境探测实时绘图图形建模伴随着移动机器人应用领域的不断涌现与发展,实时定位与制图技术成为当前移动机器人研究领域中倍受关注的热门研究方向,也是实现自主导航的一个重要环节。目前,在已知、室外环境下的地图创建和自主导航,已有多种有效的解决办法。然而,机器人所处的环境往往具有未知性、动态性与复杂性等特点,造成了机器人无法准确的进行图形建模。这就要求机器人要利用自身创建的地图进行自主定位和导航。研究中将这一问题统称为移动机器人的同时定位与地图创建问题。为了研究该问题的解决方案,本文简单的分析了基于激光雷达采样的处理方案。实验证明,该算法在移动机器人的同时定位与地图创建问题上有较好的解决效果。1激光应用激光由于其单色性好,方向性好的特点在生活中得到了广泛的使用,适合在许多环境中使用,而由于其的诸多优点,可以制成精度高的测距传感器,通过将其旋转便可以向周围360°进行扫描测距,由此便可以得到一幅二维平面图的数据,由此得到的数据进行处理就可以得到当前环境的实时情况。2移动平台搭建移动平台作为该系统的重要组成部分,主要由三部分组成:环境扫描回传,平台控制部分,无线数据传输部分。环境扫描回传采用Rplidar激光传感器,该传感器为RoboPeak研发,可以回传出当前测量的角度以及距离数据,该传感器一次共回传三个数据quality信号质量distance距离,angle角度三个数据。二是远程控制部分,采用stm32最为MCU,以及L298N模块作为电机驱动驱动履带电机,MCU主要经由控制台传输的指令进行相应的移动操作,三是无线通讯模块,在平台制作中,首先基于成本考虑,采用了蓝牙模块HC-05进行无线通讯,接收控制端数据至MCU,以及传输由Rplidar激光传感器输出的数据至控制端口进行解算。移动平台部分代码详解:USART1_Config();初始化串口1设置波特率9600GPIO_Config();设置控制电机的4个GPIO口初始化电平通过USART_ReceiveData(USART1)函数接收串口数据根据相应数据与设定值进行分析对比,最后从中得出相应的命令控制移动平台前后左右停止。3控制端搭建控制端分为两部分,一是控制移动平台的移动控制端,采用手机APP的形式,通过蓝牙通信给移动平台通信发送指令。二是绘图部分,将无线传输的数据回传到控制端后,解算出相应的角度与距离数据,按比例缩放后调用图形界面,绘制出二维平面图。绘图软件部分详解:使用CDC与CBitmap分别定义一个显示设备对象和一个位图对象,接下来建立一个与屏幕显示兼容的位图,将位图选入到内存的显示设备中以及设置窗口大小,然后创建画笔,之后就开始画图。借着建立一个循环次数为传输回来的数据包的大小,每次循环都将保存数据包的数据取出来,包括角度数据以及距离数据,将距离数据按比例系数缩小,接着将角度数据取出来经过换算得到正确角度,距离与角度换算如下:floatdistPixel=_scan_data[pos].dist*distScale;floatrad=(float)(_scan_data[pos].angle*PI/180.0);接下来将以上数据换算成二维平面图的相应坐标,公式如下centerPt.x,centerPt.y为中心坐标的值。floatX=sin(rad)*(distPixel)+centerPt.x;floatY=centerPt.y-cos(rad)*(distPixel);然后使用quality来对亮度信息来反应该点的信号质量信息。接着使用FillSolidRect方法将计算出的相应数值作为参数填入,该方法输入参数有三个,分别为X,Y坐标,以及亮度信息,该方法能够根据以上参数在窗口的相应的X,Y坐标标出点,点的亮度由第三个参数决定,每次循环都能完成一个点的绘制,扫描一圈的数据绘制将会循环结束后完成,便可以得到周遭环境的二维模型。基本功能如上,为了实用性的考虑还需要能够知道传感器的旋转起始角度,因此在回传回的数据存储将旋转角度先存储,如果开始的数据不是起始角度,将从下一圈开始作为起始圈重新开始存储以及绘图。在此之外,还要进行噪点的判断以增强程序的健壮性,激光在测量的范围内返回的quality是有一定范围的,如果超过了范围就可以判断为噪点,在绘图时去除;去除后为了保证图像的连续性,还需要在绘制过程中将图像补充完整,可以通过对相邻点的数据求导,取极限来估