微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 机器人技术 > 一种移动机器人的路径规划算法

一种移动机器人的路径规划算法

时间:11-28 来源:互联网 点击:
1 引言

移动机器人路径规划问题是指在有障碍物的工作环境中寻找一条恰当的从给定起点到终点的运动路径,使机器人在运动过程中能安全、无碰撞地绕过所有的障碍物。

障碍环境中机器人的无碰撞路径规划是智能机器人研究的重要课题之一,由于在障碍空间中机器人运动规划的高度复杂性使得这一问题至今未能很好地解决。路径规划问题根据机器人的工作环境模型可以分为两种,一种是基于模型的路径规划,作业环境的全部信息都是预知的;另一种是基于传感器的路径规划,作业环境的信息是全部未知或部分未知的。

对机器人路径规划的研究,世界各国的专家学者们提出了许多不同的路径规划方法,主要可分为全局路径和局部路径规划方法。全局路径规划方法有位形空间法、广义锥方法、顶点图像法、栅格划归法;局部路径规划方法主要有人工势场法。这些方法都各有优缺点,也没有一种方法能够适用于任何场合。

本文提出一种最短切线路径的规划方法,其涉及的理论并不高深,计算简单,容易实现,可供侧重于应用的读者参考。下面将详细介绍该算法的基本原理,最后给出仿真实现的结果。

2 最短切线路径算法

2.1 算法基本原理

(1)首先判断机器人和给定的目标位置之间是否存在障碍物。如图1所示,以B代表目标位置,其坐标为(x B ,y B ),以R、A分别代表机器人及障碍物,坐标为(x R ,y R )、(x A ,y A )。Rr和Ra表示机器人和障碍物的碰撞半径,也就是说在其半径以外无碰撞的危险。这里对碰撞半径的选择作出一点说明,碰撞半径越 小,发生碰撞的危险度越大,但切线路径越短;碰撞半径越大,发生碰撞的危险度越小,但同时切线路径越长。要根据实际情况和控制要求来确定碰撞半径。若机器人与目标位置之间不存在障碍物,机器人可走直线直接到达目标位置,此时的直线方程可由两点式确定:



写成ax+by+c=0的标准形式得:



若d>Ra+Rr,则机器人可沿直线到达目标点而不碰物体A,此时物体A不是障碍物。 若d<Ra+Rr,机器人走直线可能碰上物体A,此时物体A应被视为障碍物。



(2)求切线路径。如图1所示,以A点为圆心,Ra+Rr为半径作碰撞圆,其方程为:



k 1 ,k 2 为待求斜率,联立方程组:



可分别求得两切线的斜率k 1 ,k 2 ,显然k 1 ,k 2 各有两个值,分别对应两条切线方程。两组切线两两相交,由方程组



求得两个交点C1、C2,称为绕过障碍物A的中途点。由此可以得到绕过障碍物A并到达目标点B的两条切线路径,路径1:R→C1→B;路径2:R→C2→B。比较两条路径的长度,在图1中,|RC 1 |+|BC 1 |<|RC 2 |+|BC 2 |,可知,路径1为最短切线路径。



2.2n多障碍物情况

对于存在多个障碍物的情形,可分成几种情况来考虑。

(1)障碍物位于前一障碍物的中途点。也就是说,机器人要到达的中途点位于另一个障碍物的碰撞圆内,如果机器人到达中途点就有可能碰上该障碍物,此时可以用该障碍物的坐标代替原障碍物的坐标来求这一侧的中途点。对于另外一侧的中途点,如果也有障碍物,同样处理;若没有,则中途点不变。然后,仍然计算并比较两条路径的长度,选择最短的切线路径。如图2所示,图中虚线表示原来的路径1,由于中途点被障碍物A2阻挡,路径1上移。此时,|RC 1 |+|BC 1 |>|RC 2 |+|BC 2 |,最短切线路径应为路径2。



(2)在切线路径上存在障碍物。可把绕过多个障碍物到达最终位置的任务分割成若干子任务,每个子任务要求绕过一个障碍物。这样,一个子任务就相当于前面只有一个障碍物的情况。以Bi、Ci分别表示第i个子任务的目标点和中途点,执行第i个子任务时,如果在到达Bi的路径上存在障碍物,则增加第i +1个子任务,此时目标点Bi+1就是Bi;如果在到达Ci的路径上存在障碍物,则增加第i+1个子任务,此时目标点Bi+1是Ci。以此类推,寻找切线路径直至到达给定的最终目标位置,计算最短切线路径之和即为所求的最优路径。图3给出了机器人绕过两个障碍物并到达目标位置的行走路径。



3 实际应用

(1)搬运机器人对于厂房车间的移动搬运机器人,切线路径规划方法是一种可行而且实用的方法。首先,机器人及障碍物的位置可以实时测得,且障碍物一般为固定不动;其次,障碍物数量固定,形状大小可预知;再次,搬运的效率要求机器人的行走路径为最短,而且走直线比走曲线更能讲究效率。

(2)足球机器人Mirosot足球机器人为两轮驱动机器人。机器人足球比赛中,双方机器人以及球的坐标由悬挂在球场上方的摄像头识别并传入计算机,比赛过程中,机器人要把球踢进对方球门而得分。机器人首先要避开其他机器人并捉到球,根据算法,把球的坐标作为目标位置,把其他阻挡其前进路线的机器人作为障碍物,进行实时路径规划。出于目的只是避碰,而不是完全不能碰撞(事实上比赛中碰撞是难免的),碰撞半径可以尽量选小,刚好包住机器人便足够,这样做虽然碰撞危险度上升,但切线路径可以尽量缩短。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top