机器人实时定位与导航系统的设计研究
2012-09-29吴焱岷徐宏英
李 毅,吴焱岷,徐宏英,2
LI Yi1, WU Yan-min1,XU Hong-ying1,2
(1.重庆电子工程职业学院 计算机应用系,沙坪坝 401331;2.重庆大学 自动化学院,沙坪坝 401331)
0 引言
在机器人技术中的一个关键的目标就是让自动机器人能够在室内环境下完成一系列的工作。为了达到这个目标,机器人必须能够感知周围的环境以及获得它自己的定位信息。为了让机器人能够得到比较准确到达目标点,起到一定的导航效果,一般的方法有寻线、视觉、惯性导航和编码器等[1]。它是在新技术革命中迅速发展起来的一项高新技术,已经在众多的科学领域与工业部门中得到应用,并显示出强大的生命力。机器人技术是一门综合性学科,它综合了多种基础学科、技术学科及新兴科技领域的多方面知识,突出地体现了当代科学技术发展的高度分化而又高度综合这一特点。
路径规划可以建模成在一定的约束条件下,机器人在工作过程中能够避开障碍物从初始位置行走到目标位置的路径优化过程。本文采给出了一种改进的机器人的定位和导航算法,改进的方法,有效的解决了机器人导航过程中的定位、累计误差修正、路径规划以及避障等问题,本文在机器系统中引入了无线调试系统,使得机器人在运行过程中的各种信息变的可控可观测,极大地加快了系统的调试进度,使得机器人策略路线的制定更加方便可靠。
1 机器人控制技术设计研究
1.1 机器人寻线定位
机器人定位主要就是通过传感器进行寻找线定位。寻线定位方式要解决的问题主要是传感器的稳定性和抗干扰能力以及比较完善的寻线算法。相对于其他的定位方式而言,寻线比较容易实现,而且成本比较低。在传感器稳定的情况下,如果寻线算法比较完备的话,机器人将是非常稳定的,因此,绝大多数队伍都是使用了这种点位方式。但寻线的定位方法仍然有其弊端。首先,很难获得比较稳定的寻线传感器;其次,这种行走方式决定了机器人只能“横平竖直”地运动,限制了机器人的灵活性。
1.2 机器人定位系统
传统的机器人定位技术主要是对当前值进行预处理,而并没实时的对历史值进行积分处理,所以,机器人在每个时刻并不知道自己当前角度和位置信息,只知道当前所处的状态。如当机器人正在走直线的时候,它只知道自己在走直线,并不知到自己在行走过程中的位置和角度信息,旋转时也是如此。如果对从初始状态之后所有的值进行积分的话机器人就可以知道自己当前的位置和角度信息了。
1.3 本文提出的机器人定位算法模型
假设机器人的定位信息使用[x y θ]来描述。其中x,y分别表示机器人在全局坐标系下的坐标,θ表示机器人的方位角。图1是定位算法模型示意图,其中CG表示全局坐标系,CR表示机器人的局部坐标系。
当机器人从第n个状态,经过很小的运动到达第n+1个状态时,左边和右边的从动轮各自行走了一段很小的圆弧。设机器人左边编码器的变化量为L1,右边的变化量为L2。机器人在这个过程中旋转的角度dθ可以表示为:
图1 定位算法模型
将机器人坐标系中的dy,dx,dθ转换为全局坐标系中的位置和角度信息,需要进行如下变换:
其中 表示前一时刻的定位信息, 表示当前时刻的位置信息。这样累加出来的结果就可以实时地得出机器人的定位信息了。从整个算法上来看,如果机器人在横向出现便偏移的话,位置信息会出现比较大的误差,而角度值由于是使用差值,故不会出现较大的误差。所以说整个运动过程中,角度值受到影响的程度很小。
由于系统的所有定位信息都是由编码器的值来确定的,虽然对编码器的参数进行了矫正,但是误差仍然是存在的,在长时间的工作之后,累计误差会导致机器人无法正常定位。为了保证机器人能够长时间的工作,本文采用累计误差修正算法进行误差消除。
设机器人路径为一圆形,圆形的的中心和从动轮中心连线的中心的距离为l,圆的坐标为,则通过以下公式可以得到机器人的当前位置:
实验表明,经过累计误差修正之后的机器人,在没有受到严重撞击的情况下可以连续运行沿路径运动。
1.4 机器人导航技术
由于系统在每个时刻知道自己的位置和角度,因此可以利用这些信息来对机器人做反馈。具体的,本系统使用目标点和编码器中心点的连线与当前机器人行走方向的夹角作为反馈参数,使用机器人与目标点的距离作为判断是否到达的条件。其可用如下模型来描述。
图2 导航算法示意图
如图2所示,设机器人车头方向和目标点的夹角为α,目标点的坐标为 ,通过如下公式可将目标点的坐标转化为机器人的局部坐标值:
其中,PIDresult表示调整量,P,I,D分别为PID调节的三个参数αn为当前时刻的α值,αn-1为上一时刻的α值。当机器人与目标点的距离小于一定阈值时,机器人便可以认为自己已经到达目标点附近了,应该退出导航模式,执行后继动作。
2 实验结果与分析
本文实验系统的硬件平台如图3所示,导航数据都是通过机器人上的无线模块与计算机进行的通信,机器人的运动控制的一些命令都是通过计算机的终端控制软件通过无线模块进行发出信号的,本文将上面提出的算法通过mat lab进行编译绘图进行分析,得出本文提出的机器人定位导航算法的有效性和实用性。
图3 本文硬件结构图
本文将机器人放置于水平的地面上,零点坐标的标定后,从原点出发,通过计算机来控制机器人在地面上的不断的自由移动,并且最后采用定为标志使得机器人回到原来的起始原点,本文采用提出的算法对机器人的轨迹进行描述,如图4所示
图4 机器人运动轨迹导航定位系统输出路径轨迹
从图4中可以看出,实线表示的是机器人实际运动的轨迹,虚线表示的是采用本文提出的方法输出的机器人的路径轨迹,实验结果可以看出,最大的误差不到10%。
3 结束语
由于机器人的定位和导航方式需要大量的运算,导航的稳定性取决于导航PID参数的设置;同时,机器人执行机构也十分复杂,为了提高得分效率,不得不做执行机构和导航的并行处理,机器人的路径规划是机器人学的一个重要研究领域,是人工智能和机器人学的一个结合点。机器人路径规划可以建模成在一定的约束条件下,机器人在工作过程中能够避开障碍物从初始位置行走到目标位置的路径优化过程。实验结果表明,本文提出的方法误差更小,能够实时的跟踪定位机器人,使得机器人策略路线的制定更加方便可靠。
[1] Néda Z,Ravasz E,Vicsek T et al.The sound of many hands clapping[J].Nature,2000,403:849-850.
[2] Olfati-Saber R,Richard M.Murray.Consensus Problems in Networks of Agents with Switching Topology and Time-Delays[J].IEEE Transactions on Automatic Control,2004,9:1520-1533.
[3] Olfati-Saber R,et.al.Consensus and Cooperation in Networked Multi-Agent Systems[J].IEEE Transactions on Automatic Control,VOL.95,NO.1,2007:215-233.
[4] Wei Ren,et al.A Survey of Consensus Problems in Multiagent Coordination[C].American Control Conference,2005:1859-1864.
[5] 雷斌.动态环境下多移动机器人路径规划研究[D].武汉:武汉理工大学,2006.
[6] Lei B,Li W.A Fuzzy Behaviours Fusion Algorithm for Mobile Robot Real-time Path Planning in Unknown Environment[C].IEEE International Conference on Integration Technology,2007,3:173-177.