室内移动机器人的定位技术研究

2019-07-26 09:25赵宇琛
制造业自动化 2019年7期
关键词:轮式移动机器人坐标系

赵宇琛

(武汉大学 动力与机械学院,武汉 430072)

0 引言

随着现代科技的快速发展,室内机器人已经越来越多的走进了人们日常的生活中,为人们完成一系列的任务,给人们带来了很多的便利,为了实现更多的功能,人们对室内机器人技术的要求越来越高。机器人的室内定位导航技术是室内移动机器人领域的重要成果,通过定位导航技术,移动机器人可以更精准。

1 室内移动机器人定位技术概述

随着机器人技术的飞速发展,工业机器人被广泛应用于航空航天、军事技术、医疗卫生等多个高科技领域,为人们的生活提供了很多的便利,经过这些年的发展,室外的定位技术已经日趋成熟,GPS导航系统已经非常的完备,有着一整套的体系。但是室内由于受到空间环境等多方面因素的限制,在灵敏度等方面要求更高,并且还要克服室内一些不确定因素的干扰,因此室内定位导航技术还存在很大的发展空间。对室内移动机器人的导航定位需要考虑四个方面:位置,实时姿态,目的和路径。要想精准的完成任务,准确的定位并确定机器人的姿态是至关重要的,然后找到最合适的路径,使移动机器人能够在最短的时间内完成任务,这是室内定位技术需要发展的方向。

2 轮式机器人的室内定位方式

2.1 相对定位

2.1.1 超声波网络定位方法

利用超声波测距传感器可以计算得出机器人到前方障碍物或者参照物的绝对距离,其原理和实物如图1所示。

图1 超声波测距原理图

两个探头分别发射和接收超声波,声波在空气中传播的距离为L,声波在空气中传播的速度为ν,超声波在空气中的传播时耗为Δt,发射器和接收器之间的距离L如式(1)所示。

超声波网络定位方法,顾名思义需要在机器人四周分别布置超声波发射器,室内空间天花板上需装备至少3个信标,即超声波接收器。通过计算机器人到每一个固定信标的不同距离,以精确获得机器人当前所处位置。超声波网络定位示意图如图2所示。机器人根据这些传感器回传的数据进行计算分析,然后控制伺服电机以使机器人精确完成后续动作。

图2 超声波网络定位示意图

图中A、B、C为信标,坐标分别为(xA,yA,h),(xB,yB,h),(xC,yC,h)设机器人坐标为(x,y,h),机器人到LA个信标的距离分别为LA,LB,LC,则求解机器人坐标的方程式如2所示。

超声波接收器和超声波发射器之间通过无线信号进行通信。当超声波发射器发射超声波,并将发射无线信号出发超声波接收器开始计时。当超声波接收器接收到超声波信号后,停止计时,得到超声波传播时耗Δt,通过式(1)可以计算出每一个信标和机器人之间的距离L。该方法原理十分简单,只是在室内会受到各种信号的干扰,会影响到超声波的质量,从而影响传感器的精度。

2.1.2 激光传感器定位方法

利用激光的反射通过时间差来测量到障碍物的距离实现相对定位,其激光反射测距原理图如图3所示。它可以装在轮式机器人的车身外侧,通过扫描场地上的挡边,得到两次的时间差,那么就可以利用这个时间差编写程序来计算距离。当然如果想要保证每次出发的位置不变也可以用到它来重复定位,效果也比较的好,算法相对简单。但是激光测距容易触发其他机器人上激光原件工作并且也容易受到外界的信号干扰,这样就容易产生较大的误差,所以这种测量方法也有着一定的环境的局限性。

图3 激光反射测距原理图

相对定位都要借助确定的物体作为参考,容易受到环境的干扰,精度便会大打折扣,这对于移动机器人是一个致命的问题,因此想要考虑一下全场把握的办法,从整体上来确定机器人的位置,下面再来讨论一下有关绝对定位的方法。

2.2 绝对定位

2.2.1 机器视觉绝对定位

视觉导航技术在轮式机器人上安装摄像头,通过它拍摄场地图片并且对图像进行处理。机器人在行进过程中,拍摄图片与全部场地图片进行比对,确定当前位置,从而完成机器人定位。移动机器人依靠视觉来感知环境,通过对摄像头的数据进行分析、比对、处理便可以获得当前移动机器人的位置。整体框架如图4所示。

图4 整体框架

根据图4可以把全向视觉分为两个步骤,首先在线下把每一种不同的颜色进行拍照获取,从而把采集的数据进行特征的提取,分析完后把每一种颜色都设置一个范围边界,即阈值,并存储于自带flash。当运用到具体的场地时,就可以根据摄像头采集到的视觉信息进行图像分割,并与场地图像信息对比,完成定位。

2.2.2 码盘与陀螺仪结合定位

轮式机器人与地面紧密接触,所以可以在车上装上码盘,通过自身坐标系,码盘定位坐标系以及场地坐标系这三个坐标系进行坐标解算,从而实现全场定位。具体的原理与结构如图5所示。

图5 轮式机器人结构

这个是垂直码盘的三维模型,两个码轮的信号,这两路信号是周期性变化的方波,便可以实现双向定位的控制。轮子每转动一圈,编码器便可以输出相应数量的脉冲,通过累加脉冲数就可以不断更新码盘走过的距离。基于此,可以在程序里设置两个计数器分别记录两个码盘的脉冲数,把脉冲数转化成计数器记录的次数,其Keil里的程序如图6所示。

图6 将脉冲数转化为计数器记录的次数

当得到两个码盘所输出的脉冲数后,便可以通过标定轮子的轮径系数算出码盘走过的距离,求解公式如式(3)所示。

其中CM_PER_CNT1和CM_PER_CNT2代表的是两个码盘的轮径系数,也就是编码器发出一个脉冲时轮子转动的距离。

由此我们便知道了定位系统的位移量,而下一步便是把定位系统坐标系和轮式机器人自身坐标系统一起来,转化成机器人的上带有增量式编码器,上面有四个接口,分别代表GND,A相与B相以及5V电压,当轮式机器人运动时,码盘轮子转动会带动编码器A相和B相输出两路相位相差90°位移。该算法如式(4)所示。

其中V1,Vy为沿自身坐标系机器人的速度(cm/s),L为自身坐标系原点到定位系统坐标系原点距离,α为向量Vx转向向量L的夹角,顺负逆正,β为向量Vx转向向量V1的夹角,也是顺负逆正,两者均为弧度制表表示。绘制下图7来表示该算法:

图7 算法图示

那么轮式机器人在自身坐标系中的位移便可以用下式(5)所示:

其中x_del和y_del表示的是轮式机器人在自身坐标系中的位移量。

轮式机器人在具体的场地中运动时,其自身的姿态会发生变化,这导致其自身坐标系和场内坐标系并不统一,要想了解机器人在场内的坐标,还得把自身坐标系与场地坐标系做矩阵变换,其矩阵变换公式如式(6)所示:

其中θ为姿态角,定义为Vx转向 Vx的弧度。

根据这两个矩阵变换就可以把轮式机器人在场内两坐标轴上的位移通过码盘的位移转化而成,可以利用增量式更新不断更新坐标,设起始坐标(轮式机器人在出发区摆放时的状态)为X0,Y0,Angle0,ΔX,ΔY为机器人在一段时间内沿场地坐标系走过的位移,因此实时坐标如式(7)所示:

由此便解决了沿直线行走的问题,剩下的还有转动角度的问题,那就需要用到光纤陀螺仪,这是一种专门用来测角度的装置,基于角动量守恒的原理,光纤陀螺仪可获得水平面内轮式机器人转动的角速度,然后通过测量到的旋转的角速度进行积分运算便可以得出转过角度的增量,再利用增量式更新得出最后的角度。这样就能最终定出轮式机器人在场内具体的坐标及其转过的角度。

这种定位方式跟码盘初始的位置密切相关,不同的安装位置对应的距离L,夹角α和夹角β不同,那么每一次都要重新赋值,并且在走直线的时候经常会存在横向的偏差,这是因为在安装的时候存在着一定的安装误差,导致轮式机器人出发的时候是在沿着一条倾斜的直线移动,于是需要不断调整安装误差角来测试其准确性。一般来说光纤陀螺仪的精度较高,通过调整正反转的积分系数可以把转动一圈360°的误差控制在2~3°,直线走10m横向偏差可以在3mm以内,因此这种方法能够广泛使用在轮式机器人的定位上。

综上所述,轮式机器人采用绝对定位的方式要比相对定位更加准确,不过绝对定位的算法较为复杂,这样才能保证得到更高的精度,但是就需要运算能力强的MCU。

3 四足机器人的室内定位技术

3.1 四足机器人的姿态调节

四足机器人不同于轮式机器人紧贴地面,它会在空间的三个平面内运动,所以姿态比较复杂,不仅仅包括XoY平面内的转角,还有XoZ和YoZ这两个平面内转过的角度,于是我们就需要能够测量这三个面角度的装置,所以得用到带有三轴陀螺仪的装置。本文所使用的是MPU6050,这是一种可以集成在单片机上的功能单元,带有三轴的陀螺仪和三轴的加速度计,可以确定三轴的角速度和三轴的加速度,因为加速度计的精度并不很高,所以一般来说并不用它来积分得到位移,而是单纯的做数据的融合来得到角度。在MPU6050的内部用到了dmp库的自带四元数算法用来解算欧拉角,包括横滚角,俯仰角和偏航角,便能够得到三轴的转角,进而得到其姿态,具体算法如式(8)所示:

其中,pitch为俯仰角,roll为横滚角,yaw为偏航角。

但是由于重力沿z轴方向,所以会导致在XoY平面的偏航角yaw读出的数据不准确,会有一定的误差,具体表现为随着时间变化有一定的累积效应,30s后大概会有八九度的偏差,这样会给姿态的确定带来很大的影响。因此需要加入补偿来补偿这个差距,不过偏航角的误差跟时间有着一定变化关系,所以补偿需要写入主函数循环语句里面并且要写成跟时间变化有着确定函数关系的表达式。经过补偿之后,偏航角的精度可以达到误差在一两度以内,这样就可以知道每时每刻四足机器人的姿态。但是这种方法适用于具体的偏差值,并不是通用的,要想找到通用的只用调节特定的参数就能调整偏航角的办法,还需要再算法上下功夫。

3.2 基于加速度积分的定位

在确定了姿态以后,下一步便是确定出四足机器人的位置,其中有一种方法是想通MPU6050上的三轴加速度计进行二次积分得到位移,但三轴加速度的波形如图8所示。

图8 三轴加速度计的输出波形图

这是模拟四足的运动在线下对MPU6050的加速度计进行的测试,其中 Series1-Series3代表了x,y,z三轴的加速度的波形,这是大概运动30s后得到的曲线,可以发现误差还是比较大,其中z轴的加速度有大概20的误差,积分会导致误差的累计,而位移需要通过加速度进行二次积分得到,所以如果通过这种方式得到位移精度会非常的差,应该换成另外的装置。

但是考虑到四足机器人在运动的时候整个部分会上下抖动,如果传感器与四足机器人固连,那么传感器便无法接收到准确的信号,所以要想办法让定位装置一直位于同一个平面内,可以在机器人身体的下部装上一个云台,在上面放上激光雷达,保证雷达在一个平面内来用于定位。具体的装置如图9所示。

图9 激光雷达

激光雷达是一种用来测量距离和速度的雷达系统,它通过向目标发射探测信号,然后将接收到的从目标反射回来的信号与发射信号进行比较,作适当处理后,就可以获得目标的有关信息,获得目标的距离姿态等信息。它的激光束能够覆盖240°的范围,通过它在四足机器人上扫三边的障碍便可以获得机器人的相对位置,但是这个方法也存在很多缺陷,比如识别障碍物的时候对激光雷达的帧率要求比较的高,如果识别的帧率不够,那么就无法清晰的确认相对的位置信息。还有就是云台的机械结构设计也是十分重要的,如何保证四足机器人在各种姿态下运动的时候,它都能保证自身维持在同一个平面是一个有待解决的问题。

四足机器人因其姿态一直在发生着变化,对其定位的要求更加的苛刻,目前所提到的一些方法都存在各自的缺点,还需要不断地完善与改进,找到更加简便高效的方法。

4 结束语

室内由于受到环境场所的限制,找到精度较高的定位方法并不是一件十分容易事,通过的对移动机器人的研究我们可以发现:要想提高精度首先要保证传感器的精度,其次要保证定位方案的合理性,本文认为全局定位方式应该是我们未来主要的研究方向,在现有的方式中找出问题不断改进,不断完善提高定位精度。

猜你喜欢
轮式移动机器人坐标系
移动机器人自主动态避障方法
独立坐标系椭球变换与坐标换算
移动机器人路径规划算法综述
轮式装备抢救抢修车
基于四元数卷积神经网络的移动机器人闭环检测
基于改进强化学习的移动机器人路径规划方法
坐标系背后的故事
三角函数的坐标系模型
求坐标系内三角形的面积
挖掘机的较量:履带式挖掘机VS.轮式挖掘机