基于A_算法的空间机械臂避障路径规划

基于A_算法的空间机械臂避障路径规划
基于A_算法的空间机械臂避障路径规划

机 械 工 程 学 报

JOURNAL OF MECHANICAL ENGINEERING 第46卷第13期

2010年7月

Vol.46 No.13 Jul. 2010

DOI :10.3901/JME.2010.13.109

基于A *算法的空间机械臂避障路径规划*

贾庆轩 陈 钢 孙汉旭 郑双奇

(北京邮电大学自动化学院 北京 100876)

摘要:针对空间机械臂在轨操作任务需求,提出一种基于A*算法的避障路径规划算法。根据机械臂和障碍物几何特征,对机械臂模型和障碍模型进行简化。通过研究机械臂本身所固有的几何特性,根据障碍物的位姿坐标,分析机械臂各杆件与障碍物发生碰撞的条件,进而求解空间机械臂的无碰撞自由工作空间。在此基础上,利用A*算法在空间机械臂的自由工作空间进行无碰撞路径搜索,实现了空间机械臂的避障路径规划。通过仿真试验验证了基于A*算法的空间机械臂避障路径规划算法的有效性与可行性。

关键词:空间机械臂 避障路径规划 A*算法 中图分类号:TP242

Path Planning for Space Manipulator to Avoid Obstacle

Based on A * Algorithm

JIA Qingxuan CHEN Gang SUN Hanxu ZHENG Shuangqi

(Automation School , Beijing University of Posts and Telecommunications, Beijing 100876)

Abstract :A novel path planning method to avoid obstacle based on A* algorithm is presented for space manipulator to accomplish the in-orbit mission. According to the geometric characteristics of manipulator and obstacle, the manipulator model and obstacle model are simplified. On the basis of the inherent geometric characteristic of manipulator, and according to the position and orientation coordinates of obstacle, the collision conditions of all links of manipulator are analyzed. And then, the collision-free workspace of space manipulator is obtained. On this basis, the collision-free path search in the free workspace of space manipulator is carried out by using A* algorithm, thereby, the obstacle avoidance path planning is achieved. The effectiveness and feasibility of the proposed path planning algorithm based on A* algorithm for space manipulator to avoid obstacle are verified by simulation and experiment.

Key words :Space manipulator Obstacle avoidance path planning A* algorithm

0 前言

随着空间探索的不断深入,空间机械臂应用技

术已经成为空间技术的重要研究方向。空间机械臂代替宇航员完成空间作业任务,如组装与搭建空间站、释放与回收卫星、维护空间设备以及完成空间科学试验等,大大减小了宇航员舱外作业的风险,因此空间机械臂应用技术受到国内外专家的高度重视。在微重力环境下,空间机械臂系统处于自由漂

* 国家高技术研究发展计划资助项目(863计划,2009AA7041007)。

20100324收到初稿,20100504收到修改稿

浮状态,使得机械臂控制变量与非独立变量之间存在强烈的运动耦合,运动控制难度加大,从而空间机械臂的路径规划变得特别复杂[1]。此外,由于空间环境中的空间碎片,空间舱体外设试验装置等都有可能成为空间机械臂在轨操作过程中的障碍,因此为了顺利完成在轨操作任务,开展空间机械臂避障路径规划研究十分重要。

避障路径规划是指在给定的障碍条件以及起始和目标的位姿,选择一条从起始点到达目标点的路径,使运动物体能安全、无碰撞地通过所有的障碍[2]。目前,针对机械臂避障路径规划提出了许多方法,其中最为典型的包括基于自由空间法和人工

机械工程学报第46卷第13期110

势场法两种。LOZANO-PEREZ[3-4]提出了基于C空间的自由空间法。首先以机械臂的关节坐标系建立C空间,将障碍物映射到C空间,形成空间构型障碍,从而求得C空间的补集,即自由空间。在此基础上,利用启发式搜索算法在机械臂的自由空间内寻找机械臂的运动路径。该方法虽然能够实现机械臂无碰撞路径规划,但是由于将障碍物映射到C空间方法较为复杂,对于复杂环境难以满足实时性的要求。KHABIT[5]对障碍定义一个排斥势场,目标点处定义一个吸引势场,机械臂的运动由两个势场共同作用力来决定,由此来保证机械臂在避障的同时顺利到达最终目标点。该方法对于处理全局路径规划中的动态避障非常有效,但容易陷入局部最小点处。FIORINI等[6]提出了基于速度的C空间法,该方法能够实现机器人移动障碍物环境中的避障,但该法只适用于移动机器人的避障路径规划。李大生等[7]利用系统内能方法推导了机械臂无碰运动规划的系列公式,提出了基于动力学约束的机器人无碰路径规划方法,但由于该方法涉及动力学计算的推导,对于6自由度空间机械臂采用该方法太过复杂。

目前,国外针对空间机械臂避障路径规划算法的研究主要集中于国际空间站的冗余度机械臂。SAKATA等[8]基于梯度投影法提出了一种空间冗余度机械臂的避障路径规划算法,该方法主要利用冗余度机械臂自运动的特点实现其实时的避障路径规划,不适用于非冗余机械臂。SHAFFER等[9]提出了基于八叉树空间机械臂的避障路径规划算法,该方法需要预先构建空间机械臂整个工作空间的八叉树模型,在此基础上实现空间机械臂的实时避障路径规划,因此机械臂工作空间中的物体位置的改变和空间漂浮物的漂移都需重新构建机械臂的工作空间的模型。

本文针对具体的空间机械臂构型,首先对空间机械臂的模型和障碍物模型进行合理的简化;在此基础上,将笛卡尔空间障碍物映射到关节空间,进而求得机械臂的自由运动空间;利用A*启发式搜索算法在机械臂的自由空间内进行了路径搜索;最后,通过仿真试验对本文提出的空间机械臂避障路径规划算法进行了验证。

1 碰撞模型

1.1 空间机械臂模型

本文研究的机械臂为6自由度空间机械臂,其具体的构型D-H坐标系与参数分别如图1和下表所

示。机械臂杆件均为圆柱体,因此机械臂杆件碰撞

模型采用圆柱模型,且其半径均为0.15 m。

图1 机械臂D-H参数坐标系图

表机械臂D-H参数表

序号

关节角

/

i

θ(°)

扭角

/

i

α(°)

连杆长度

/m

i

a

连杆偏置

/m

i

d

1 1θ(90) –90 0 0.5

2 2θ(0) 0 2.5 0.3

3 3θ(0) 0 3.0 –0.3

4 4θ(0) 90 0 0

5 5θ(–90) –90 0 0.3

6 6θ(0) 0 0 0.6 1.2障碍模型

三维障碍物一般具有不规则的几何形状,因此

本文利用障碍物的规则体包络来近似建模,这种建

模方法虽然在一定程度上扩大了障碍域,但是使障

碍域大大简化,有效地提高了规划的效率,同时也

使得整个机械臂避碰路径规划更具有安全性。

障碍物可以采用球形包络描述为

(,)

S

S P r,如

图2所示。其中,

0000

(,,)

P x y z为球心在基坐标系中

的坐标,

S

r为球的半径,这种障碍物的球形包络近

似的求取方法,大大简化了计算,方法简单直观。

图2 障碍物的球形包络几何模型

2010年7月贾庆轩等:基于A*算法的空间机械臂避障路径规划111

2 笛卡尔空间障碍向构型空间的转化

本文首先根据机械臂模型和障碍物模型将笛卡尔空间障碍通过几何关系向机械臂的构型空间进行转化,从而形成机械臂的自由运动空间,为利用A*算法进行机械臂的无碰撞路径规划提供条件。2.1问题的提出

空间机械臂在轨操作过程中,机械臂的运动会导致基座随之运动,因此空间机械臂的避障运动规划不仅与障碍物有关而且与基座的运动控制紧密结合。由于机械臂安装于基座上,当障碍物也固定于基座时,障碍物与机械臂安装位置间的相对位姿关系在整个机械臂运动过程中保持不变。此时,可以采用相对于基座坐标系的方式进行规划,障碍物向构型空间的转化只需要求解一次即可得出整个运动过程中机械臂的自由运动空间。当障碍物独立于基座时,机械臂的运动会导致障碍物相对于机械臂的安装位置发生运动,此时,需要采用相对于惯性坐标系的方式进行路径规划,因此每个控制周期都需要将障碍物向构型空间的转化,从而得出该控制周期机械臂的自由运动空间。

为了便于分析和着重阐明本文提出的避障路径规划算法,本文以下均针对障碍物固定于空间飞行器基座的情况进行讨论,障碍物独立于基座的情况只是需要多次求解机械臂的自由运动空间,其求解方法与障碍物固定于基座模式相同。以下着重阐明求解机械臂自由运动空间方法。

2.2总体思路

本文研究对象为6自由度机械臂,其具有6个关节,每个关节角的旋转均可以引起机械臂与障碍物之间碰撞的发生,因此本文拟采用分级讨论的方法来求解障碍物与各杆件碰撞的条件。

其总体思路为:首先求解关节1可能导致机械臂连杆与障碍发生碰撞的运动范围,后续各关节导致碰撞发生的情况均在该范围内讨论;在此范围之内可以推导出连杆2与障碍发生碰撞的条件;在连杆2与障碍不发生碰撞所对应的关节角2的范围内,讨论连杆3与障碍发生碰撞的条件;同理能够求得连杆4,连杆5与障碍发生碰撞的条件。

2.3 杆件与障碍碰撞条件分析

由于杆件1只作绕自身轴线的运动,因此杆件1与障碍发生碰撞的情况不作考虑。杆1与杆2之间的偏置量为0.3 m,而杆件模型为半径为0.15 m 的圆柱体,因此杆件1、2之间的偏置连杆与障碍发生碰撞的情况已包含在杆件1、2与障碍发生碰撞的分析过程中。同理,其余偏置连杆也均不作考虑。

为了便于分析问题,在杆3与杆4之间的偏置连杆

只考虑了两端各0.15 m部分,中间0.3 m部分未作

考虑。因此以下针对杆2、杆3、杆4和杆5与障碍

发生碰撞的条件进行分析。

(1) 可能发生碰撞的关节1运动范围。为了讨

论杆件与障碍发生碰撞的情况,首先需要求解发生

碰撞的关节1的运动范围。将图1中所示的机械臂

在Oxy平面内投影,则关节1发生碰撞的两个极限

位置如图3所示。

图3 碰撞发生的关节1极限位置图

根据图3中的几何关系,可以求出障碍物中心

在底面投影点与坐标原点连线的偏角

11

= arctan(/)

x y

p p

θ (1) 求解关节1转动使整个机械臂不发生碰撞的角

11

θ?和

12

θ?

11h2d1

= arcsin(/)

d d

θ?) (2)

12h2d1

= arcsin(/)

d d

θ?) (3)

式中,

d1

d为障碍物中心底面投影到坐标原点的距

离,

h1

d与

h2

d分别为投影中心到关节1坐标系原点

和关节4坐标系原点连线的距离。

1min11112

θθθ

=??,

1max11111

θθθ

=+?,则可能

发生碰撞关节1部分运动范围为:

[]

11min11max1

,

θθθ

∈。

又由于

1

θ转动具有对称性,负向时角度范围为

1min21111

π

θθθ

=???,

1max21112

π

θθθ

=?+?。由此

可得可能发生碰撞的关节1的另一部分运动范围

为:

11min21max2

[,]

θθθ

∈。

综上,可能发生碰撞关节角1运动范围为:

11

θ?

∈,其中:

11min11max11min21max2

[,][,]

?θθθθ

=∪。

(2) 杆件2与障碍发生碰撞条件。在可能发生

碰撞的关节角1的运动范围内,任意给定一个

1

θ,

求出

21

p(杆2的起始点)的位置及杆2的方向矢量,

并由障碍域中心位置与

21

p的距离

1

d判断球是否在

杆2的碰撞范围内。关节2发生碰撞的极限位置如

图4所示。

机 械 工 程 学 报 第46卷第13期

112

图4 碰撞发生的关节2极限位置图

如果12d a R >+,则不在其范围之内,无须进行进一步分析;否则,须进行如下计算。

1) 判断障碍物中心向杆2平面的投影距离11d ,若11bj d R r >+(R 为障碍物半径,bj r 为碰撞裕量),则杆2不会发生碰撞。否则,可求出障碍物与杆2

运动平面的切圆半径为qie1r =垂点1o 到21p 距离为12d ,由此可以计算出碰撞时的

边界转动角为

2qie112= arcsin(/)r d θ? (4) 2) 求解障碍物中心在杆2面上的投影点1o 与21p 连线矢量的方向角2temp θ。由平面与垂线交点的

式子可求出垂点1o 坐标,进而求出1o 点与21p 所确定矢量的角度2temp θ。

3) 求解碰撞发生的2θ范围。由以上推导可知:

22temp 2θθθ=±?,其中

2min12temp 22temp 2min{,}θθθθθ=??+?

2max12temp 22temp 2max{,}θθθθθ=??+?

由于1θ具有的对称性,则

2min22temp 22temp 2min{ππ}θθθθθ=????+?, 2max22temp 22temp 2max{ππ}θθθθθ=????+?,

由此可得,对于给定的1θ,连杆2发生碰撞的条件为:22θ?∈,其中

22min12max12min22max2[,][,]?θθθθ=∪

(3) 杆件3与障碍发生碰撞的条件。在11

θ?∈且22θ??的范围内任意给定1θ、2θ,讨论杆3发生碰撞条件。过杆3建立垂直于H 平面的V 平面。根据给定的1θ、2θ,求解点31p 的坐标,并由障碍域中心位置与31p 的距离d 判断障碍物是否在杆3的碰撞范围内。关节3发生碰撞的极限位置如图5所示。如果23d a R >+,则不在其范围,无须进行以下分析;否则,进行如下计算。

1) 求解障碍物中心到V 平面的距离21d ,若

21bj d R r >+,则杆3不发生碰撞;否则,求出障碍物与杆3

运动平面切圆半径qie2r =垂点2o 到31p 距离为22d ,由此可以计算出碰撞时的

图5 碰撞发生的关节3极限位置图

边界转动角为

3qie222arcsin(/)r d θ?= (5) 2) 求解垂点2o 与31p 所确定矢量的方向角,在关节3坐标系下,可得322arctan(/)y z o o θ=,则 3min 3333min{,}θθθθθ=??+?

3max 3333max{,}θθθθθ=??+?

由此可得,有可能发生碰撞的关节角3运动范

围为:33θ?∈,33min 3max [,]?θθ=。

杆4和杆5与障碍发生碰撞的条件分析方法与

杆3分析方法相同,可得出有可能发生碰撞的关节

角4运动范围和关节角5运动范围分别为:

44?θ∈,44min 4max [,]?θθ=;55?θ∈,55min 5max [,]?θθ=,

此处不再做进一步分析。

以上分析计算过程均采用解析的数学公式进行,因此利用以上的方法可以将笛卡尔空间障碍物实时地转化到关节空间,从而求出了机械臂的自由运动空间。

3 基于A*算法的无碰撞路径规划

A*算法是一种启发式搜索方法,在搜索中加入了与问题有关的启发性信息,指导搜索朝最有希望的方向进行,用于搜索状态空间的最短路径[10]。 3.1 算法思想

A*算法是人工智能中典型的启发式搜索方法,被广泛应用于最优路径求解的问题中。A*算法的核心部分,在于估价函数的设计。在选择当前结点的下一个考察节点时引入了估价函数()f x

()()()f x g x h x =+ (6) ()f x 表示从起始节点到节点x 的一条最佳路径的实际代价加上从结点x 到目标节点的一条最佳路径的代价之和。而()g x 就是从起始节点到节点x 之间最小代价路径的实际代价,()h x 则是从x 节点到目标节点路径的估计代价。 3.2 基于A *算法的路径规划方法

为了便于利用A*算法,定义空间机械臂的6个关节角度为一个六维数组,起始关节角度为

2010年7月 贾庆轩等:基于A*算法的空间机械臂避障路径规划

113

int [6]q ;关节角搜索步长step [6]l ;第i 步最佳关节角度为best_i [6]q ;第i 步的后继节点关节角suc_i [6]q ,由搜索步长确定;期望关节角为des [6]q 。

定义估价函数中-11()[6][6]i

i i i m g q q q ==?∑,

des 1,2,,6

()max [][]i i m h q q m q m ==? ,由此可以求出第i 步

后继节点关节角的估价函数()i f q 。选择第i 步后继节点关节角中()i f q 值最小的节点作为此步的最优关节角,根据步长生成第1i +步的后继节点关节角,重复此过程可保证每一步都得到最优关节角,因此通过该估计函数的启发式信息可以实现机械臂从起始关节角到目标关节角的关节空间最优路径搜索。

为了便于分析,设定3个表,即OPEN 、CLOSE 和后继节点表,把起始点int [6]q 放入OPEN 表,初始化00()()f q h q =,置CLOSE 表为空表。

重复下列过程,直到找到目标节点为止。若OPEN 为空表,则宣告失败;否则,开始以下循环。

(1) 选取OPEN 表中未设置过的具有最小f 值的节点为最佳节点best_i [6]q ,并把它放入CLOSE 表,同时将其从OPEN 表中删除。

(2) 判断best_i [6]q 是否为目标节点des [6]q ,若是,则求解成功,循环结束;否则,转至(3)。

(3) 根据设定的步长step [6]l 值计算,产生后继节点suc_i [6]q 。

(4) 对每个后继节点suc_i [6]q 进行下列过程。 1) 判断suc_i [6]q 是否在机械臂的自由运动空间内,若是,建立从suc_i [6]q 返回best_i [6]q 的指针;否则,转至(3)。

2) 计算11

()[6][6]i

i i i m g q q q ?==?∑。

3) 判断suc_i [6]q 是否在OPEN 表中,若是,转至4);否则,转至5)。

4) 定义数组old_i suc_i [6][6]q q =,将old_i [6]q 填到best_i [6]q 的后继节点表中,进而比较新旧路径代价。

判断old_i suc_i ([6])([6])g q g q >是否成立,若是,则更新old_i [6]q 的父辈节点为best_i [6]q ,并更新old_i suc_i ([6])([6])g q g q =,进一步修正old_i ([6])f q 值

并转至7);否则,停止扩展此节点并转至7)。

5) 判断suc_i [6]q 是否在CLOSE 表中,若在,则转向4);否则,转至6)。

6) 将suc_i [6]q 放入OPEN 表中,并添入到best_i [6]q 的后继表中,转至7)。

7) 计算suc_i ([6])f q ,并转至1)。

循环结束时,顺序输出CLOSE 表中的数据即

为空间机械臂运动的无碰撞最优路径。根据以上的分析可以得出,基于A*算法的空间机械臂避障路径规划算法流程图如图6所示。

图6 基于A*算法机空间械臂避障路径规划流程图

4 试验与仿真

为了验证以上提出的基于A*算法的空间机械臂路径规划算法,以带有漂浮基座的6自由度空间机械臂为例开展仿真验证工作,其具体构型的坐标系和D-H 参数如图1和上表所示。障碍物模型采用半径为0.5 m 的球体模型,如图2所示。

利用Visual C++开发环境,搭建了空间机械臂仿真系统,并基于OpenGL 开发了空间机械臂仿真模型,可进行空间机械臂运动学和动力学分析。该仿真系统的运行平台是主频2.4 GHz 、内存为1 GB 的计算机。试验中机械臂的控制周期为100 ms 。

为了验证提出的避障规划算法,分别设计杆2和杆3避障碍物运动规划的试验。设两个试验中,

机械工程学报第46卷第13期114

机械臂的初始构型均为{25°, –54°, –49°, –7°,

7°, 0°},期望关节角度均为{30°, 10°, –49.5°,

47.5°, 6.5°, 0°},其对应的目标点位姿为{0.88,

?

4.80, 3.16, 36.5°, 0.9°, –98°},其中前3项是位置坐

标,后3项是ZYX欧拉角。

4.1 杆2避障碍物运动规划试验

设定障碍物的位置为{}

1,1,2。利用本文提出的

基于A*算法的空间机械臂避障碍路径规划算法可

以得出机械臂的无碰撞路径。整个运动过程如图7

所示。

(a) 初始状态(b) 避障状态(c) 终止状态

图7 空间机械臂杆2避障路径规划仿真图

从图7可以看出,如果机械臂从初始状态到达

终止状态如采用最短路径原则进行路径规划时,杆

件2必然会与障碍物发生碰撞。而利用文中提出的

基于A*算法的避障路径规划算法只在机械臂的自

由运动空间内进行机械臂关节角的最优运动路径搜

索,因此在杆件2接近障碍时,顺利地实现了其避

障碍运动,保证了整个机械臂运动过程中无碰撞发

生。图7中灰色曲线为机械臂末端的运动轨迹。

4.2 杆3避障碍物运动规划试验

设定障碍物的位置为{}

0.5,2.0,5.0

?。利用本文

提出的基于A*算法的空间机械臂避障碍路径规划

算法可以得出机械臂的无碰撞路径。整个运动过程

如图8所示。

(a) 初始状态(b) 避障状态(c) 终止状态

图8 空间机械臂杆3避障路径规划仿真图

从图8可以看出,利用文中提出的基于A*算法

的避障路径规划算法顺利地实现了杆3的避障碍运

动,保证了整个机械臂运动过程中未与障碍球发生

碰撞。图8中灰色曲线为机械臂末端的运动轨迹。

在仿真过程中,测试两个试验的整个过程计算

时间分别为9.2 ms和8.9 ms,能够满足控制周期的

实时性的要求。通过以上两个试验可以证明本文中

提出的基于A*算法的避障碍路径规划能够顺利地

实现空间机械臂连杆与障碍物之间的避障碍运动,

整个运动过程平稳,速度连续,因此,该算法能够

应用于空间机械臂的实际控制过程中。

5 结论

针对空间机械臂在轨操作应用过程中可能与

环境中障碍发生碰撞的情况,在将障碍从笛卡尔空

间向关节空间转化的基础上,利用A*启发式搜索算

法实现了空间机械臂的无碰撞路径规划。

(1) 文中利用机械臂的几何关系实现了将空间

障碍向关节空间的转化,求解出了机械臂的自由运

动空间。该方法主要基于杆件和障碍物的几何关系,

并通过计算分析得出了杆件和障碍物发生碰撞条件

的解析表达式,因此利用该方法求解机械臂的无碰

撞路径规划计算量小。

(2) 利用A*算法在机械臂的自由运动空间进

行路径搜索,可以实现机械臂的无碰撞路径规划。

同时由于在整个机械臂关节空间路径搜索过程中,

根据启发式信息进行了关节角的寻优,因此利用该

方法得出的关节角序列为机械臂从起始关节角运动

到目标点关节角的关节空间最优路径。

(3) 对于空间漂浮物体仅仅需要将其空间位姿

坐标变换到机械臂基座坐标系下,然后利用文中提

出的将空间障碍向关节空间转化的方法即可求出其

当前状态下机械臂的自由运动空间,在每次路径搜

索前更新机械臂的自由运动空间即可。

参考文献

[1] 陈靖波,赵猛,张珩. 空间机械臂在线实时避障路径规

划研究[J]. 控制工程,2007,14(4):445-450.

CHEN

Jingbo,ZHAO Meng,ZHANG Heng. On-line

real-time obstacle avoidance path planning of space

manipulator[J]. Control Engineering of China,2007,

14(4):445-450.

[2] 黄献龙,梁斌,吴宏鑫. 机器人避碰规划综述[J]. 航天

控制,2002,1:34-40.

HUANG

Xianlong,LIANG Bin,WU Hongxin. A survey

2010年7月贾庆轩等:基于A*算法的空间机械臂避障路径规划115

on robotics collision avoidance planning[J]. Aerospace Control,2002,1:34-40.

[3] LOZANO-PEREZ T. Automatic planning of manipulator

transfer movement[J]. IEEE Transaction on Systems Man.

and Cybemetics,1981,SMC-11(10):681-698.

[4] LOZANO-PEREZ T. Spatial planning:A configuration

space approach[J]. IEEE Transaction on Computers,

1983,C-32(2):108-120.

[5] KHABIT O. Real-time obstacle avoidance for manipul-

ators and mobile robots[J]. The International Journal of Robotics Research,1986,5(1):90-98.

[6] FIORINI P,SHILLER Z. Motion planning in dynamic

environments using the relative velocity paradigm[C]// Proceedings of the IEEE International Conference on Robotics and Automation,May 2-6,1993,Atlanta,

GA,USA. Piscataway,N.J.,USA:IEEE,1993:560-565.

[7] 李大生,刘欣,吴明华,等. 基于动力学约束的机器

人无碰运动规划[J]. 机器人,1990,12(5):14-19.

LI

Dasheng,LIU Xin,WU Minghua,et al. Collision-free movement planning of robots with dynamic constraints[J].

Robot,1990,12(5):14-19.

[8] SAKATA H,NG T,MACK B. Collision avoidance

system concept for mobile servicing system[C]// Intelligent Robots and Systems ′91. Intelligence for

Mechanical Systems,Proceedings IROS 91. IEEE/RSJ

International Workshop,November 3-5,1991,Osaka.

Washington,DC,USA:NASA,1991:1 641-1 646. [9] SHAFFER C A,HERB G M. A real-time robot arm

collision avoidance system[J]. IEEE Transaction on

Robotics and Automation,1992,8(2):149-160. [10] 赵真明,孟正大. 基于加权A*算法的服务型机器人路

径规划[J]. 华中科技大学学报,2008,S1:196-198.

ZHAO

Zhenming,MENG Zhengda. Path planning of service mobile robot based on adding-weight A* algorithm[J]. Journal of Huazhong University of Science

and Technology,2008,S1:196-198.

作者简介:贾庆轩(通信作者),男,1964年出生,博士,教授,博士研

究生导师。主要研究方向为机器人学、空间机器人技术和虚拟现实技术。E-mail:sdjqx@https://www.360docs.net/doc/0c11337506.html,

陈钢,男,1982年出生,博士研究生。主要研究方向为机器人学和空间

机器人技术。

E-mail:buptcg@https://www.360docs.net/doc/0c11337506.html,

基于A_算法的空间机械臂避障路径规划

机 械 工 程 学 报 JOURNAL OF MECHANICAL ENGINEERING 第46卷第13期 2010年7月 Vol.46 No.13 Jul. 2010 DOI :10.3901/JME.2010.13.109 基于A *算法的空间机械臂避障路径规划* 贾庆轩 陈 钢 孙汉旭 郑双奇 (北京邮电大学自动化学院 北京 100876) 摘要:针对空间机械臂在轨操作任务需求,提出一种基于A*算法的避障路径规划算法。根据机械臂和障碍物几何特征,对机械臂模型和障碍模型进行简化。通过研究机械臂本身所固有的几何特性,根据障碍物的位姿坐标,分析机械臂各杆件与障碍物发生碰撞的条件,进而求解空间机械臂的无碰撞自由工作空间。在此基础上,利用A*算法在空间机械臂的自由工作空间进行无碰撞路径搜索,实现了空间机械臂的避障路径规划。通过仿真试验验证了基于A*算法的空间机械臂避障路径规划算法的有效性与可行性。 关键词:空间机械臂 避障路径规划 A*算法 中图分类号:TP242 Path Planning for Space Manipulator to Avoid Obstacle Based on A * Algorithm JIA Qingxuan CHEN Gang SUN Hanxu ZHENG Shuangqi (Automation School , Beijing University of Posts and Telecommunications, Beijing 100876) Abstract :A novel path planning method to avoid obstacle based on A* algorithm is presented for space manipulator to accomplish the in-orbit mission. According to the geometric characteristics of manipulator and obstacle, the manipulator model and obstacle model are simplified. On the basis of the inherent geometric characteristic of manipulator, and according to the position and orientation coordinates of obstacle, the collision conditions of all links of manipulator are analyzed. And then, the collision-free workspace of space manipulator is obtained. On this basis, the collision-free path search in the free workspace of space manipulator is carried out by using A* algorithm, thereby, the obstacle avoidance path planning is achieved. The effectiveness and feasibility of the proposed path planning algorithm based on A* algorithm for space manipulator to avoid obstacle are verified by simulation and experiment. Key words :Space manipulator Obstacle avoidance path planning A* algorithm 0 前言 随着空间探索的不断深入,空间机械臂应用技 术已经成为空间技术的重要研究方向。空间机械臂代替宇航员完成空间作业任务,如组装与搭建空间站、释放与回收卫星、维护空间设备以及完成空间科学试验等,大大减小了宇航员舱外作业的风险,因此空间机械臂应用技术受到国内外专家的高度重视。在微重力环境下,空间机械臂系统处于自由漂 * 国家高技术研究发展计划资助项目(863计划,2009AA7041007)。 20100324收到初稿,20100504收到修改稿 浮状态,使得机械臂控制变量与非独立变量之间存在强烈的运动耦合,运动控制难度加大,从而空间机械臂的路径规划变得特别复杂[1]。此外,由于空间环境中的空间碎片,空间舱体外设试验装置等都有可能成为空间机械臂在轨操作过程中的障碍,因此为了顺利完成在轨操作任务,开展空间机械臂避障路径规划研究十分重要。 避障路径规划是指在给定的障碍条件以及起始和目标的位姿,选择一条从起始点到达目标点的路径,使运动物体能安全、无碰撞地通过所有的障碍[2]。目前,针对机械臂避障路径规划提出了许多方法,其中最为典型的包括基于自由空间法和人工

最短路径规划实验报告

电子科技大学计算机学院标准实验报告 (实验)课程名称最短路径规划 电子科技大学教务处制表

实验报告 学生姓名:李彦博学号:2902107035 指导教师:陈昆 一、实验项目名称:最短路径规划 二、实验学时:32学时 三、实验原理:Dijkstra算法思想。 四、实验目的:实现最短路径的寻找。 五、实验内容: 1、图的基本概念及实现。 一、图的定义和术语 图是一种数据结构。 ADT Graph{ 数据对象V :V是据有相同特性的数据元素的集合,称为顶点集。 数据关系R : R={VR} VR={|v,w∈V且P(v,w), 表示从v到w的弧,P(v,w)定义了弧的意义或信息} 图中的数据元素通常称为顶点,V是顶点的有穷非空集合;VR是两个顶点之间的关系的集合,若顶点间是以有向的弧连接的,则该图称为有向图,若是以无向的边连接的则称为无向图。弧或边有权值的称为网,无权值的称为图。 二、图的存储结构 邻接表、邻接多重表、十字链表和数组。这里我们只介绍数组表示法。 图的数组表示法: 用两个数组分别存储数据元素(顶点)的信息和数据元素之间的关系(边或弧)的信息。其形式描述如下: //---------图的数组(邻接矩阵)存储表示---------- #define INFINITY INT_MAX //最大值 #define MAX_VERTEX_NUM 20 //最大顶点个数 Typedef enum{DG,DN,UDG,UDN} GraphKind; //有向图,有向网,无向图,无向网Typedef struct ArcCell{ VRType adj; //顶点关系类型,对无权图,有1或0表示是否相邻; //对带权图,则为权值类型。 InfoType *info; //弧相关信息的指针

机械臂控制

江西理工大学应用科学学院微机控制课程设计报告 设计题目:机械手控制(继电器+发光二极管) 设计者: 学号: 班级:电气工程及其自动化 指导老师: 完成时间:2012/7/6

摘要 随着工业自动化的普及和发展,控制器的需求量逐年增大主要在汽车,电子,机械加工、食品、医药等领域的生产流水线或货物装卸调运, 可以更好地节约能源和提高运输设备或产品的效率,满足现代经济发展的要求。机械手技术涉及到电子、机械学、自动控制技术、传感器技术和计算机技术等科学领域,是一门跨学科综合技术。随着工业自动化发展的需要,机械手在工业应用中越来越重要。文章主要叙述了机械手的设计过程,文章中介绍了四自由度机械手的设计理论与方法。本设计以51 单片机为核心,利用继电器控制电机正转,反转和停止。本机械手的执行机构主要由四台电机组成,分别控制机械臂的X轴伸缩、Z 轴升降、底盘、腕回转功能。动作模式有两种:自动模式,手动模式。单片机驱动继电器,继电器动作由发光二极管指示(二极管代表各电机)。 【关键词】:四自由度机械手, 51 单片机,直流电机,继电器,发光二极管.

目录 摘要 (2) 目录 (3) 1 绪论 (1) 1.1 机械手概述 (1) 1.2 设计要求及设计内容 (3) 1.2 此次设计研究的主要内容应解决的问题 (3) 2 设计方案 (5) 2.1用户板抄板步骤及过程 (5) 2.1.1原理图绘制说明 (5) 2.2 户板检测步骤及过程 (7) 2.4 各部分电路介绍 (7) 2.4.1 51单片机系统板电路介绍 (7) 2.4.2 机械手控制电路介绍 (9) 2.4.3 主要器件介绍 (12) 3 系统程序设计 (14) 3.1、程序流程图 (14) 3.2、程序设计 (15) 3.3、电路总图 (19) 总结 (20) 致谢 (22) 参考文献 (23)

扫地机器人的路径策略

数学建模小组作业 ——扫地机器人的路径优化 二〇一四年七月二十三日第10组组员: +++

扫地机器人的路径策略 【摘要】 我们将扫地机在房间内扫垃圾的路径策略问题抽象为方格化模型,用原始给 定数据做出垃圾指标矩阵Q[300*251],根据扫地机需要的行走路径进行程序嵌套,并用线性规划的方法来进行最优解的求取,然后根据建立的模型,用Matlab 进行仿真演示。最终可以观察到扫地机在每种情况下的清扫路径。由于墙角也会存在垃圾,因此一般情况下我们不能实现100%的清扫,所以我们在此规定清扫完95%的区域即作为合格的条件。下面我们根据题目要求进行如下考虑:问题一 经过分析我们可以将整个清扫区域划分成如图4.1.1所示的小区域,通过运用矩阵整合函数,将矩阵Q[300*251]整合成一维数组T[5],经过固定时间间隔 所对应的区域,在区域边沿随机选的扫描判断{T(1),T(2),T(3),T(4),T(5)} MAX 取坐标作为运行起始点,如果检测到的最大的元素的所在区域发生了变化,则根据当前位置与随机选好的碰撞点进行路径转移,按照这种方式运行,直到达到扫地机的结束条件停止。 问题二 这时扫地机每次只选择垃圾总指标最多的路径,并且每次扫描发生在扫地机与墙壁发生碰撞的时。扫描过后,机器人可以任意选择方向,选择方向的合适程度将成为扫地机扫地效率的关键,所以我们设定某一点作为扫地机扫描的起点每 次碰撞时的扫描决定下一时刻可能的转弯方向,即某个方向上的垃圾总指标C k 最大的即为下一时刻的转弯方向。 问题三 设计智能扫地机路径,保证扫地机以最短时间达到清扫要求,我们可以选取以下两种优化方向:(1)避免与墙壁进行碰撞,提高机器的灵活性;(2)提高单位长度上清扫垃圾指标总量,即提高清扫效率。 比较问题1与问题2 问题1中的方案存在其合理性,问题2中则显得较为高效,比较两者发现:改变S 大小可以改变地段扫地机性能。 T 关键词:线性规划路径转移划分区域清扫效率

机械臂的轨迹规划

机械臂运动的轨迹规划 摘要 空间机械臂是一个机、电、热、控一体化的高集成的空间机械系统。随着科技的发展,特别是航空飞机、机器人等的诞生得到了广泛的应用,空间机械臂作为在轨迹的支持、服务等以备受人们的关注。本文将以空间机械臂为研究对象,针对空间机械臂的直线运动、关节的规划、空间直线以及弧线的轨迹规划几个方面进行研究,对机械臂运动和工作空间进行了分析,同时对机械臂的轨迹规划进行了验证,利用MATLAB软件对机械臂的轨迹进行仿真,验证算法的正确性和可行性,同时此路径规划方法可以提高机械臂的作业效率,为机械臂操作提高理论指导,为机器人更复杂的运动仿真与路径规划打下基础。 本文一共分为四章: 第一章,首先总结了机械臂运动控制与轨迹规划问题的研究现状及研究方法,归纳了各种轨迹规划的算法及其优化方法,阐述了机械臂的研究背景和主要内容。 第二章,对机械臂的空间运动进行分析研究,采用抽样求解数值法—蒙特卡洛方法,进行机械臂工作空间求解,同时在MATLAB中进行仿真,直观展示机械臂工作范围,为下一章的轨迹规划提供理论基础;同时通过D-H参数法对机械臂的正、逆运动分析求解,分析两者的区别和联系。 第三章,主要针对轨迹规划的一般性问题进行分析,利用笛卡尔空间的轨迹规划方法对机械臂进行轨迹规划,同时利用MATLAB对空间直线和空间圆弧进行轨迹规划,通过仿真验证算法的正确性和可行性。 第四章,总结全文,分析本文应用到机械臂中的控制算法,通过MATLAB 结果可以得出本文所建立的算法正确性,能够对机械臂运动提供有效的路径,而且改进了其他应用于空间机械臂的路径规划问题。 【关键词】运动分析工作空间算法研究轨迹规划

(完整版)用平面二连杆机器人为例贯穿运动学、雅可比、动力学、轨迹规划甚至控制与编程

一、平面二连杆机器人手臂运动学 平面二连杆机械手臂如图1所示,连杆1长度1l ,连杆2长度2l 。建立如图1所示的坐标系,其中,),(00y x 为基础坐标系,固定在基座上,),(11y x 、),(22y x 为连体坐标系,分别固结在连杆1和连杆2上并随它们一起运动。关节角顺时针为负逆时针为正。 图1平面双连杆机器人示意图 1、用简单的平面几何关系建立运动学方程 连杆2末段与中线交点处一点P 在基础坐标系中的位置坐标: ) sin(sin )cos(cos 2121121211θθθθθθ++=++=l l y l l x p p (1) 2、用D-H 方法建立运动学方程 假定0z 、1z 、2z 垂直于纸面向里。从),,(000z y x 到),,(111z y x 的齐次旋转变换矩阵为: ?? ??? ???????-=100 010000cos sin 00sin cos 1 111 01θθ θθT (2) 从),,(111z y x 到),,(222z y x 的齐次旋转变换矩阵为: ?? ??? ???????-=100 010000cos sin 0sin cos 2 212212 θθ θθl T (3) 从),,(000z y x 到),,(222z y x 的齐次旋转变换矩阵为:

? ???? ???????+++-+=?? ??? ? ? ?? ???-?????????????-=?=10000100sin 0)cos()sin(cos 0)sin()cos( 1000010 000cos sin 0sin cos 1000 010000cos sin 00sin cos 1121211121212212 2111 1120102θθθθθθθθθθθθθθθθ θθl l l T T T (4) 那么,连杆2末段与中线交点处一点P 在基础坐标系中的位置矢量为: ? ?? ? ? ???????=????????????++++=? ? ? ?? ? ?????????????? ?? ???+++-+=?=110)sin(sin )cos( cos 10010000100sin 0)cos()sin(cos 0)sin()cos( 212112121121121211121212 020p p p z y x l l l l l l l P T P θθθθθθθθθθθθθθθθ (5) 即, ) sin(sin )cos(cos 2121121211θθθθθθ++=++=l l y l l x p p (6) 与用简单的平面几何关系建立运动学方程(1)相同。 建立以上运动学方程后,若已知个连杆的关节角21θθ、,就可以用运动学方程求出机械手臂末端位置坐标,这可以用于运动学仿真。 3、平面二连杆机器人手臂逆运动学 建立以上运动学方程后,若已知个机械臂的末端位置,可以用运动学方程求出机械手臂二连杆的关节角21θθ、,这叫机械臂的逆运动学。逆运动学可以用于对机械臂关节角和末端位置的控制。对于本例中平面二连杆机械臂,其逆运动学方程的建立就是已知末端位置 ),(p p y x 求相应关节角21θθ、的过程。推倒如下。 (1)问题 ) sin(sin )cos(cos 2121121211θθθθθθ++=++=l l y l l x p p 已知末端位置坐标),(p p y x ,求关节角21θθ、。 (2)求1θ

机械臂控制系统的设计

机械臂控制系统的设计 1 引言 近年来,随着制造业在我国的高速发展,工业机器人技术也得到了迅速的发展。根据负载的大小可以将机械臂分为大型、中型、小型三类。大型机械臂主要用于搬运、码垛、装配等负载较重的场合;中小型机械臂主要用于焊接、喷漆、检测等负载较小的场合。随着国外工业机器人技术的不断发展,尤其是一些中小型机器人,它们具有体积小、质量轻、精度高、控制可靠的特点,甚至研发出更为轻巧的控制箱,可以在工作区域随时移动,这样大大方便了工作人员的操作。在工业机器人的应用中最常见的是六自由度的机械臂。它是由6个独立的旋转关节串联形成的一种工业机器人,每个关节都有各自独立的控制系统。 2机械臂硬件系统设计 2.1 机械臂构型的选择 要使机器臂的抓持器能够以准确的位置和姿态移动到给定点,这就要求机器人具有一定数量的自由度。机器臂的自由度是设计的关键参数,其数目应该与所要完成的任务相匹配。为了使安装在双轮自平衡机器人上的机械臂能够具有完善的功能,能够完成复杂的任务,将其自由度数目定为6个,这样抓持器就可以达到空间中的任意位姿,并且不会出现冗余问题。在确定自由度后,就可以合理的布置各关节来分配这些自由度了。 由于计算数值解远比封闭解费时,数值解很难用于实时控制,这样,后3个关节就确定了末端执行器的姿态,而前3个关节确定腕关节原点的位置。采用这种方法设计的机械臂可以认为是由定位结构及其后面串联的定向结构或手腕组成的。这样设计出来的机器人都具有封闭解。另外,定位结构都采用简单结构连杆转角为0或90°的形式,连杆长度可以不同,但是连杆偏距都为0,这样的结构会使推倒逆解时计算简单。 定位机构是涉及形式主要有以下几种:SCARA型机械臂,直角坐标型机械臂,圆柱坐标型机械臂,极坐标型机械臂,关节坐标型机械臂等。 SCARA机械臂是平面关节型,不能满足本文对机械臂周边3维空间任意抓取的要求;直角坐标型机械臂投影面积较大,工作空间小;极坐标方式需要线性

清扫机器人路径规划方法研究

清扫机器人路径规划方法研究 摘要:近年来,智能清扫机器人系统的研究和开发已具备了坚实的基础和良好的 发展前景。现在的智能清扫机器人通过软硬件的合理设计,使其能够自动避开障 碍物,实现一般家居环境及特定户外环境的自主清扫工作。本文简单介绍了清扫 机器人基于无环境模型的路径规划的具体办法。 关键词:清扫机器人、无环境模型、路径规划 一、绪论 机器人的研究在日本和欧美的一些发达国家的研究相对比较深入,同时也取 得了很多显著的成果。国内关于清扫机器人的研究也取得了极大的进展。我国继 清华大学于1994年通过智能清扫机器人鉴定之后,陆续有中国科学院沈阳自动 化所研制了全方位移动式机器人视觉导航系统;2001年香港城市大学完整地研究了地面清扫机器人的导航、控制及整个硬件系统;2009年哈尔滨工业大学与香港中文大学合作,联合研制开发出一种全方位地面清扫机器人。总而言之,清洁机 器人的研究正在快速发展,并且也越来越深入,但是还有需要完善和改进的地方,例如清洁机器人的避障问题,路径规划等等,所以针对清扫机器人进行一系列的 技术研究探讨是相当有意义的。 二、基于无环境模型的路径规划 清洁机器人的路径规划是根据机器人所感知到的工作环境信息,按照某种优 化指标,在起始点和目标点规划出一条与环境障碍无碰撞的路径,并且实现所需 清扫区域的合理完全路径覆盖,同时实现封闭区域内机器人行走路径对工作区域 的最大覆盖率和最小重复率。目前全区域覆盖路径规划有两种,一种是无环境模 型的路径规划,另一种是基于环境模型的路径规划。本文主要着重介绍无环境规 划的整个过程。 无环境模型的路径规划不需要建立环境模型,有随机遍历路径规划和全区域 覆盖路径规划两种模式。机器人在清扫的时候比较自由,一般都是采用递进的方式,清扫完这个直线再偏移一段距离,掉头清扫另外一条直线,以达到全区域清扫,本文也着重介绍无环境模型的路径规划。基于无环境模型的依据边界的路径 规划方法 三、基于无环境模型的路径规划具体方法 (一)建立房间边界 首次在未知空间内行驶时,小车所能记录的信息为两种,一种是小车两个驱 动轮行驶路程L1与L2,另一种是各传感器被触发的状态。下图是小车在某转角 处的路线图,根据以上特点及为后续数据处理提供依据,我们可以建立如下规则。轨迹计算原理,数据处理规则。 (1)小车转角计算 若小车沿某一物体边缘转过θ角,则可以通过如下公式求算θ角 规定为行走时小车的拐角,规定连续经过多个拐角时,为各自拐角的和。 (2)小车行程的计算 小车行程的计算可以按照两驱动轮轨迹线的中心线即可代表小车行驶时的轨迹,小车行 车记录为: (3)机器人沿着边界行驶 机器人选择任意一方向寻找边界,找到边界后,小车沿边界方向前进直到遇到拐角。行 进过程中根据传感器状态确定内外侧路径,确定完内外侧后,小车前进过程中所记录的拐角

基于蚁群算法的路径规划

MATLAB实现基于蚁群算法的机器人路径规划 1、问题描述 移动机器人路径规划是机器人学的一个重要研究领域。它要求机器人依据某个或某些优化原则(如最小能量消耗,最短行走路线,最短行走时间等),在其工作空间中找到一条从起始状态到目标状态的能避开障碍物的最优路径。机器人路径规划问题可以建模为一个有约束的优化问题,都要完成路径规划、定位和避障等任务。 2 算法理论 蚁群算法(Ant Colony Algorithm,ACA),最初是由意大利学者Dorigo M. 博士于1991 年首次提出,其本质是一个复杂的智能系统,且具有较强的鲁棒性,优良的分布式计算机制等优点。该算法经过十多年的发展,已被广大的科学研究人员应用于各种问题的研究,如旅行商问题,二次规划问题,生产调度问题等。但是算法本身性能的评价等算法理论研究方面进展较慢。 Dorigo 提出了精英蚁群模型(EAS),在这一模型中信息素更新按照得到当前最优解的蚂蚁所构造的解来进行,但这样的策略往往使进化变得缓慢,并不能取得较好的效果。次年Dorigo 博士给出改进模型(ACS),文中改进了转移概率模型,并且应用了全局搜索与局部搜索策略,来得进行深度搜索。Stützle 与Hoos给出了最大-最小蚂蚁系统(MAX-MINAS),所谓最大-最小即是为信息素设定上限与下限,设定上限避免搜索陷入局部最优,设定下限鼓励深度搜索。蚂蚁作为一个生物个体其自身的能力是十分有限的,比如蚂蚁个体是没有视觉的,蚂蚁自身体积又是那么渺小,但是由这些能力有限的蚂蚁组成的蚁群却可以做出超越个体蚂蚁能力的超常行为。蚂蚁没有视觉却可以寻觅食物,蚂蚁体积渺小而蚁群却可以搬运比它们个体大十倍甚至百倍的昆虫。这些都说明蚂蚁群体内部的某种机制使得它们具有了群体智能,可以做到蚂蚁个体无法实现的事情。经过生物学家的长时间观察发现,蚂蚁是通过分泌于空间中的信息素进行信息交流,进而实现群体行为的。 下面简要介绍蚁群通过信息素的交流找到最短路径的简化实例。如图2-1 所示,AE 之间有两条路ABCDE 与ABHDE,其中AB,DE,HD,HB 的长度为1,BC,CD 长度为0.5,并且,假设路上信息素浓度为0,且各个蚂蚁行进速度相同,单位时间所走的长度为1,每个单位时间内在走过路径上留下的信息素的量也相同。当t=0时,从A 点,E 点同时各有30 只蚂蚁从该点出发。当t=1,从A 点出发的蚂蚁走到B 点时,由于两条路BH 与BC 上的信息素浓度相同,所以蚂蚁以相同的概率选择BH 与BC,这样就有15 只蚂蚁选择走BH,有15 只蚂蚁选择走BC。同样的从E 点出发的蚂蚁走到D 点,分别有15 只蚂蚁选择DH 和DC。当t=2 时,选择BC 与DC的蚂蚁分别走过了BCD 和DCB,而选择BH 与DH 的蚂蚁都走到了H 点。所有的蚂蚁都在所走过的路上留下了相同浓度的信息素,那么路径BCD 上的信息素的浓度是路径BHD 上信息素浓度的两倍,这样若再次有蚂蚁选择走BC 和BH 时,或选择走DC 与DH 时,都会以较大的概率选择信息素浓度高的一边。这样的过程反复进行下去,最短的路径上走过的蚂蚁较多,留下的信息素也越多,蚁群这样就可以找到一条较短的路。这就是它们群体智能的体现。 蚁群算法就是模拟蚂蚁觅食过程中可以找到最短的路的行为过程设计的一种仿生算法。在用蚁群算法求解组合优化问题时,首先要将组合优化问题表达成与信息素相关的规范形式,然后各个蚂蚁独立地根据局部的信息素进行决策构造解,并根据解的优劣更新周围的信息素,这样的过程反复的进行即可求出组合优化问题的优化解。 归结蚁群算法有如下特点: (1)分布式计算:各个蚂蚁独立地构造解,当有蚂蚁个体构造的解较差时,并不会影响整体的求解结果。这使得算法具有较强的适应性; (2)自组织性:系统学中自组织性就是系统的组织指令是来自系统的内部。同样的蚁

一种快速神经网络路径规划算法概要

文章编号 2 2 2 一种快速神经网络路径规划算法α 禹建丽? ∏ √ 孙增圻成久洋之 洛阳工学院应用数学系日本冈山理科大学工学部电子工学科 2 清华大学计算机系国家智能技术与系统重点实验室日本冈山理科大学工学部信息工学科 2 摘要本文研究已知障碍物形状和位置环境下的全局路径规划问题给出了一个路径规划算法其能量函数 利用神经网络结构定义根据路径点位于障碍物内外的不同位置选取不同的动态运动方程并针对障碍物的形状设 定各条边的模拟退火初始温度仿真研究表明本文提出的算法计算简单收敛速度快能够避免某些局部极值情 况规划的无碰路径达到了最短无碰路径 关键词全局路径规划能量函数神经网络模拟退火 中图分类号 ×°文献标识码 ΦΑΣΤΑΛΓΟΡΙΤΗΜΦΟΡΠΑΤΗΠΛΑΝΝΙΝΓ ΒΑΣΕΔΟΝΝΕΥΡΑΛΝΕΤ? ΟΡΚ ≠ 2 ? ? ≥ 2 ≥ ∏ ΔεπαρτμεντοφΜατηεματιχσ ΛυοψανγΙνστιτυτεοφΤεχηνολογψ Λυοψανγ

ΔεπαρτμεντοφΕλεχτρονιχΕνγινεερινγ ΦαχυλτψοφΕνγινεερινγ ΟκαψαμαΥνι?ερσιτψοφΣχιενχε 2 Ριδαι2χηο 2 ?απαν ΔεπαρτμεντοφΧομπυτερΣχιενχε Τεχηνολογψ ΣτατεΚεψΛαβοφΙντελλιγεντΤεχηνολογψ Σψστεμσ ΤσινγηυαΥνι?ερσιτψ Βει?ινγ ΔεπαρτμεντοφΙνφορματιον ΧομπυτερΕνγινεερινγ ΦαχυλτψοφΕνγινεερινγ ΟκαψαμαΥνι?ερσιτψοφΣχιενχε 2 Ριδαι2χηο 2 ?απαν Αβστραχτ ∏ √ √ √ × ∏ ∏ ∏ ∏ ∏ ∏ 2 ∏ √ × ∏ ∏ ∏ ∏ √ ∏ Κεψωορδσ ∏ ∏ ∏ 1引言Ιντροδυχτιον 机器人路径规划问题可以分为两种一种是基于环境先验完全信息的全局路径规划≈ 另一种是基于传感器信息的局部路径规划≈ ?后者环境是未知或者部分未知的全局路径规划已提出的典型方法有可视图法 ! 图搜索法≈ ! 人工势场法等可视图法的优点是可以求得最短路径但缺乏灵活性并且存在组合爆炸问题图搜索法比较灵活机器人的起始点和目标点的改变不会造成连通图的重新构造但不是任何时候都可以获得最短路径可视图法和图搜索法适用于多边形障碍物的避障路径规划问题但不适用解决圆形障碍物的避障路径规划问题人工势场法的基本思想是通过寻找路径点的能量函数的极小值点而使路径避开障碍物但存在局部极小值问题且不适于寻求最短路径≈ 文献≈ 给出的神经网络路径规划算法我们称为原算法引入网络结构和模拟退火等方法计算简单能避免某些局部极值情况且具有并行性及易于从二维空间推广到三维空间等优点对人工势场法给予了较大的改进但在此算法中由于路径点的总能量函数是由碰撞罚函数和距离函数两部分的和构成的而路径点 第卷第期年月机器人ΡΟΒΟΤ? α收稿日期

机械臂建模与控制

一、柔性机械臂协调操作柔性负载 1. 建模方法 1) 假设模态法 假设模态法是利用有限个已知模态函数来确定系数的运动规律。连续系统的解可写作全部模态函数的线性组合,若取前n 个有限项作为近似解,则有 ()()1(,)n i i i y x t x q t φ==∑ 其中(),1,2,,i q t i n = 为广义坐标,(),1,2,i x i n φ= 应该为系统的实际模态函数,但计算时常近似地代以假设模态,也就是满足部分或者全部边界条件,但不一定满足动力学方程的试函数族。 采用以广义坐标表示的功和能来描述系统的动态性能,所有不做功的力和约束力在这种方法中均不出现,因此最后得到的方程是封闭形式的表达式,提供了关节力矩和关节运动之间的明显解析关系。同时,柔性机械臂由于连杆柔性会在工作过程中产生扭曲变形、轴向变形、和剪切变形,但考虑到机器人连杆的长度总比其截面线径大的多,运行过程中所产生的轴向变形和剪切变形相对于扭曲变形而言非常小。因而在系统的动力学建模过程中通常可以忽略轴向变形和剪切变形的影响,将每个柔性连杆简化为Euler 一Bemuolii 梁来处理。此时,在拉格朗日方程的基础上,采用假设模态法来描述弹性连杆的变形,该方法具有计算量相对少,方法简单,具有系统性和效率高的特点。即将弹性连杆的高阶模态忽略不计,可以得到离散化的维数较低的动力学方程,进而有利于系统的动力学分析和控制器设计。 2) 有限元法 有限元法是一种以计算机辅助分析为手段的,全新的结构分析方法。在利用有限元法进行建模的过程中,柔性物体被离散化为若干个弹性体单元,而这些弹性体单元在边界点(结点)处相互连接,从而组成整个柔性物体,各个弹性体单元的分布质量可以按照一定的格式集中到各自的结点上。对于每一个弹性体单元,其在物体坐标系内的挠度和转角,可以用结点位移的插值函数来表示,而插值函数实质上就是一种假定振型,这样,整个柔性物体的振动状态就可以用这些节点位移来表示,这里的节点位移并不是对整个结构或某个子结构所取的假定振型,而是具备简单物理意义的参数。 利用有限元法进行数学建模,所得到的数学模型的广义坐标不但维数有限,而且物理意义明确,这就使得获取某些参数不必经过复杂的数值运算而可以直接通过测量得到。从弹性体单元的选择到整个柔性物体运动方程的建立都有统一的方法,这就使得有限元法的相关数值运算可以利用计算机来完成。利用有限元法建立起来的柔性物体模型设计控制器时,不必考虑很多近似因素,可以更加准确的设计控制器。 3) 分布参数法 柔性机械臂分布参数模型的建立,主要利用哈密顿原理,由此得到的是一组复杂的高度非线性的常微分-偏微分耦合方程组,而考虑到在小的挠曲变形的假设下,可以得到一个相对简单的分布参数模型。 哈密顿原理是柔性臂系统分布参数模型动力学建模的理论基础,由哈密顿原理建模的步骤大致是:建立系统的动能、势能和虚功表达式;对系统的变分积分方程进行必要的推导和整理。该方法以能量方式建模,可以避免方程中出现内力项,适用于比较简单的柔性体动力学方程。而对于复杂的结构,函数的变分运算将变得非常繁琐。但是变分原理又有其特点,由于它是将系统真实运动应满足的条件表示为某个函数或泛函的极值条件,并利用此条件确

GIS环境下的最短路径规划算法

GIS 环境下的最短路径规划算法 ―――此处最短路理解为路径长度最小的路径 02计算机1班刘继忠 学号:2002374117 1.整体算法说明: 将图的信息用一个邻接矩阵来表达,通过对邻接矩阵的操作来查找最短路进,最短路径的查找采用迪杰斯特拉算法,根据用户给出的必经结点序列、起点、终点进行分段查找。 2.各函数功能及函数调用说明。 1).void Welcome() 程序初始化界面,介绍程序的功能、特点及相关提示 2) void CreatGraph(MGraph *G,char buf[]) 把图用邻接矩阵的形式表示,并进行 初始化。 3).int ShortestPath(MGraph *G,int jump,int end,int avoid[],int P[MAXSIZE][MAXSIZE],int Dist[],int ShPath[])根据用户给出的起点、终点、必经结点、避开结点进行最短路径的分段查找。 4).void Print(int jump,int end,int Dist[],int ShPath[]) 输出找到的最短路径所经的 结点和路径长度。 函数调用图: 3.各函数传入参数及返回值说明: 1).void Welcome() 无传入和返回值 2) void CreatGraph(MGraph *G,char buf[ ]) MGraph *G为主函数中定义的指向存放图的信息的指针变量。 char buf[ ]为主函数中定义的用来存放在图的相关信息录入时的界面信息的数组,以便以后调用查看各结点的信息。

无返回值。 3).int ShortestPath(MGraph *G,int jump,int end,int avoid[],int P[MAXSIZE][MAXSIZE],int Dist[ ],int ShPath[ ]) MGraph *G指向存放图的信息的指针变量。 int jump起点,int end终点,int avoid[ ] 避开结点序列。 int P[MAXSIZE][MAXSIZE]用来记录各点当前找到的最短路径所经过 的结点。 int Dist[ ] 记录各结点的当前找到的最短路径的长度。 int ShPath[ ]用来存放用户需要的最短路径所经的各结点。 返回最短路径查找是否成功的信息。(return SUCCEED;return ERROR)4).void Print(int jump,int end,int Dist[],int ShPath[]) int jump起点,int end终点。 int Dist[ ] 记录各结点的当前找到的最短路径的长度。 int ShPath[ ]用来存放用户需要的最短路径所经的各结点。 无返回值。 4.用户说明: ①源程序经编译连接后运行,出现程序的初始化界面,其内容为介绍程序的 功能、特点及相关提示。如下: Welcome to shortest path searching system. Instructions Function: 1. Personal travelling route choosing. 2. Assistan helper in city's traffic design. 3. Shortes path choose in the comlicated traffic net of the city. Characteristic: It is convient,you could set vital point you must travel,and the point you must avoid. Prompt: If the condition is too secret ,maybe there will have no path available. Designer: Liu jizhong. Complate-data: 2004. 3. 21 CopyRight: Shared program,welcome to improve it. Press anykey to enter the program... ②按任意键进入图的信息录入界面根据提示即可完成图的信息的录入。

室内清洁机器人路径规划的设计.

的标准偏差与最大峰谷值减少达到50%以上, 跟踪 精度有了大幅提高. 表3 抑振前后柔性臂跟踪误差值统计 项目 末端无负载 末端带55g 负载 标准偏差最大峰谷值标准偏差最大峰谷值 抑振前关节误差0. 12110. 8230. 20011. 254抑振后关节误差0. 07230. 2910. 08440. 574减少百分比 40. 28% 64. 64% 57. 82% 54. 23% 3 结束语 运用模糊控制方法, 通过实验实现了2R 柔性机械臂关节跟踪和跟踪过程中振动的主动抑制. 与传统控制方法相比, 该方法不依赖柔性机械臂的动力学模型, 算法简单, 实时性好. 对于非线性、复杂对象的控制具有响应快、有效性好等优点. 实验数据表明, 在整个实验过程中模糊控制能够较大幅度地减小振动, 达到较好的抑振效果; 同时跟踪精度提高, 跟踪效果有了大幅度提高. 参考文献: [1] Book W J, M aizza -Nett o O , Whitney D E. F eedback

co nt ro l of tw o beams, tw o jo ints sy stem w ith distr ibu -ted flexibilit y, ASM E [J]. D yn. Sys. M eas. and Cont, 1975, 97(4 :424-431. [2] Craw ley E F , De Luis J. U se o f piezoelectr ic actuator s as element s of intelligent str uctures [J ].A IA A Jour -nal, 1987, 25(10 :1373-1385. [3] H o -Cheol Shin, Seung -Bok Cho i. P osition co ntr ol of a tw o -link flex ible manipulato r featuring piezoelectr ic ac -tuator s and sensors[J]. M echatro nics, 2001, (1 :707-729. [4] Gustav o L uiz C M de Abr eu, Jo s F Ribeiro. A self -o r -g anizing fuzzy log ic contr oller for the act ive co nt rol o f flex ible structur es using piezo electr ic actuator s[J].A p -plied Soft Co mputing , 2002, (1 :271-283. [5] 宋轶民, 余跃庆, 等. 柔性冗余度机器人振动主动控制 [J].机械科学与技术, 2002, 21(2 :210-212. [6] 王洪福, 曲东升, 孙立宁, 祝宇虹. 两自由度柔性臂压电 陶瓷抑振方案优化设计[J]. 压电与声光, 2003, 25(2 :118-121. 作者简介:单业涛 (1983- , 男, 河南信阳人, 硕士研究生, 研究方向为机器人学; 余跃庆 (1958- , 男, 北京人, 教授, 博士研究生导师, 研究方向为机器人学. 室内清洁机器人路径规划的设计 马艳, 刘华波, 徐淑华 (青岛大学自动化工程学院, 山东青岛266071

最短路径算法及其在路径规划中的应用

最短路径算法及其路径规划中的应用 摘要: 这篇文章把徒步运动的路径规划问题转化为求解图中任意两点间的最短路径问题,进而针对此问题介绍了Floyd算法,对该算法的时间花费进行分析,并介绍了在实际问题中如何灵活运用该算法解决路径决策中遇到的问题。 关键词:路径规划、最短路径、决策、Floyd算法 将实际地图的转化为有向图 在策划一次徒步旅行时,设计正确的旅行的线路特别重要,首先我们必须先要得到那个地区的地图,以便进行后续的线路规划。当我们拿到某一地区的地图时,我们可以把地图上的每一条线路用线段表示,用顶点表示地图上的岔路口,即多条线段的交点,这样就形成了一个由点和线段组成的图。我们可以在每条线段上标上数字,表示两点之间的实际距离,或者表示通过这条路径所需的时间。当然,如果两点之间没有线段相连,我们可以认为距离为无穷大,用∞表示。有时候某些线路是单向的,即只能从一个方向到另一个方向,不能逆行。这种情况在具体的路径设计中非常常见,比如,在繁华的都市内会有一些单行道,在山区景点中,常会出现一些上山索道,这些都是单向线路的常见例子。有时候,沿某条线路的两个方向所需的时间不同,这种例子更为常见,比如上山与下山,顺风与逆风等等。对于这两种情况,我们可以在表示路径的线段上加上箭头表示该路径的方向,形成有向图。 到达v2的距离为8,而从v2到v1的距离为3。 从点v1到v0的距离为5,而从v0到v1的距离 为∞。这种带有箭头的有向图,比不带箭头的无 向图能够表示更一般的情形,可以说无向图只是 有向图的一种特殊情况。 如果我们知道任意两点间的最短路径,这对 我们进行路径规划将会有很大的帮助,但当地图 较为复杂时,凭直觉估计最短路径的方法往往不 可靠,这时就必须借助计算机的强大计算能力,寻找最短路径。下面,我们就以 这种有向图为工具,来探究寻找最短路径的方法。

多种方法求多段图的最短路径问题 算法设计与分析课程设计

学号: 《算法设计与分析B》 大作业 题目多种方法解决多段图的最短 路径问题 学院计算机科学与技术学院专业软件工程 班级 姓名 指导教师 2014 年12 月26 日

多种方法解决多段图的最短路径问题 摘要 多段图的最短路径问题是求从源点到终点的最小代价路径。本文主要描述的是分别用动态规划法、贪心法和分支限界法来解决多段图最短路径问题时的情况。文章首先阐述了各个方法的原理,主要的思路是通过输入一组数据,比较三者的输出结果的准确性以及运行时间,以之为基础来分析、讨论三者的性能区别。文章最后讲述了若这几种方法运行到有向图中的情况,几种方法的对比和它们比较适应的使用情况的讨论,并给出了自己的建议。 关键字:多段图最短路径问题;动态规划法;分支限界法;贪心法

目录 摘要................................................................. II 1 引言 (1) 2 问题描述 (1) 3 贪心法求解 (2) 3.1 贪心法介绍 (2) 3.2 问题分析 (3) 4 动态规划法求解 (3) 4.1 动态规划法介绍 (3) 4.2 问题分析 (4) 5 分支限界法求解 (5) 5.1 分支限界法介绍 (5) 5.2 问题分析 (5) 6 程序清单 (6) 6.1 源代码 (6) 6.2 结果截图 (9) 7 结果分析 (9) 8 课程体会 (10) 9 参考文献 (10)

1引言 当前社会,关于最短路径的问题屡屡出现。例如在开车自驾游的一个过程中,排除其它影响因素,从一个地点到另一点,这个时候必然是希望有一条距离最短的路程来尽量减少消耗的时间以及花费的(它们在模型中被称为代价),市场上对该问题的解决有很大的需求,因此,这里我将讨论多段图的最短路径的问题。 大二开设的《数据结构》课程中就包括最短路径这方面问题的讨论。当时老师介绍了分别面向单源(Dijkstra算法)与非单源(Floyd算法)两种问题的算法——这是我们最早的对最短路径方面的理解,也是我们接触的比较早的关于图的问题。 在这学期的《算法设计与分析》课程中,我们学习了很多基本的算法设计技术,蛮力法、分治法、减治法、动态规划法、贪心法、回溯法、分支限界法等,它们把以前学习的诸多方法都命名并归纳分类起来,其中有多种算法都可以用来解决最短路径问题,并且该问题作为一个图的问题,对该问题的继续探讨优化的需求很大、本文将就不同算法在解决该最短路径问题时的不同方法进行对比并给出该问题在不同基础上不同的最终解决方案。由于时间的限制,本文将重点分析动态规划法下的情况,并会对图的情况加以简化、限制,最后会对其它的图做一些拓展。 2问题描述 设图G=(V, E)是一个带权有向连通图,如果把顶点集合V划分成k个互不相交的子集Vi(2≤k≤n, 1≤i≤k),使得E中的任何一条边(u, v),必有u∈Vi,v∈Vi+m(1≤i<k, 1<i+m≤k),则称图G为多段图,称s∈V1为源点,t∈Vk为终点。多段图的最短路径问题是求从源点到终点的最小代价路径。多段图的最短路径问题是求从源点到终点的最小代价路径。 由于多段图将顶点划分为k个互不相交的子集,所以,可以将多段图划分为k段,每一段包含顶点的一个子集。不失一般性,将多段图的顶点按照段的顺序进行编号,同一段内顶点的相互顺序无关紧要。假设图中的顶点个数为n,则源点s的编号为0,终点t的编号为n-1,并且,对图中的任何一条边(u, v),顶点u的编号小于顶点v的编号。 这里我们讨论的多段图是可以分段的,各段之间的关系最好是单向的,即对该有向图来说,图中是没有环的存在的。

相关文档
最新文档