当前位置:文档之家› 一种求取运动学逆解的新算法

一种求取运动学逆解的新算法

第2卷第1期2004年1月 中国工程机械学报Q于INESE JOURNAL OF CONSTRUCTION MACHINERY、场」.2 No. l

Jan. 2004

一种求取运动学逆解的新算法黄志雄,何清华,邹湘伏,柳 (中南大学机电工程学院,湖南长沙波,张新海

410083)

摘要:从计算机原理中位置数制的描述获得启发,将其中的某些规律进行合理的转换,形成搜索算法的步长表达式,在吸收传统登山法的优点的基础上,提出了求取多关节机械臂运动学逆解的新算法—智能登山法,并对算法进行了描述,写出了完整的通用流程图.运用该方法求取机器人运动学逆解,无需矩阵运算、三角变换;收敛速度快,适于实时控制.仿真试验验证了该方法的可行性、实用性.

关键词:多关节机械臂;运动学逆解;步长;智能登山法中图分类号:TH 113.2

New Algorithm for Searching Kinematic Inverse SolutionHUANG Zhi-,xiong,HE Qing-hua,ZOU Xiang-fu,LIU Bo,ZHANG Xin-hai(College of Mechanical and Electrical Engineering, Central South University, Changsha 410083, China)

Abstract: In this paper, inspired from the position-numeral description in computer, the step's expression ofthe search algorithm was gained through reasonable conversion of some interrelated rules. Based on inheritingthe advantages of traditional hill climbing, a new way to search the kinematic inverse solution of multi一ointrobot-intelligent hill climbing, was put forward. Moreover, the algorithm was described, and the integratedflow chart was given. Making use of this new way, kinematic inverse solution can be gotten conveniently andfastly, furthermore, it's not necessary for matrix operation and triangular transformation. And it's suitable forreal time control for its fast convergence velocity. The feasibility and practicability were verified by simulation

Key words: multi一oint robot; kinematic inverse solution; step; intelligent hill climbing algorithm(IHCA) 机器人运动学逆解在机器人学中占有重要地位,它直接关系到运动分析、离线编程、轨迹规划等,是将工作空间内机器人末端件的位置、姿势转化成关节量的方法. 国内外学者对机器人(包括冗余度机器人)运动学逆解的求取进行了广泛而深人的研究.有关机器人逆解的求解方法很多,其中主要有下面一些:反变换(又称解析法和代数法)、旋量代数、对偶矩阵、对偶四元素、迭代法和几何法,以及以这些方法为基础演变而成的一些方法等〔‘〕.这些方法中有些计算量比较小,适于实时计算,但只能得到局部最优解,关节运动不具有可重复性,如A. Liegeois提出的梯度投影法I21, I. D. Walke:提出的约束变量法等(31;有些可以得到全局最优解,关节运动具有可重复性,但计算量

非常大,不适于实时控制,如K. Wazerounian利用最优控制理论建立边值问题的微分方程组,从而确定关节转角[’]等. 在此,笔者试图寻求一种简捷、优化的算法来求取多关节工业机器人运动学逆解,这种方法无需矩阵运算、三角变换等繁琐的计算,只要给出控制目标与约束条件,通过该算法便能搜索到各关节变量的值;换

作者简介:黄志雄(1976一),男,湖南长沙人,博士生.中国工程机械学报第z卷

言之,就是在已知执行器结构参数、位姿的情况下,设计一套快速求取各关节变量的算法.1算法的推导1.1登山搜索算法原理 人工智能领域研究的几个方面都是十分激动人心的.但多数人工智能应用的基础却是问题求解.运动学求逆实际上就是一个问题求解的过程,搜索可能解的技术有多种,登山搜索(hill-climbing search) E5,6】就是用得非常普遍的一种. 登山搜索源于深度优先搜索.登山算法选择下一步节点时,考虑是否最接近目标(即离现在位置最远的位置)・这个名字来源于登山者在半山腰处迷路的类似情形,假如营地在山顶,那么尽覃在夜里,他也知道所走的每一步方向都是正确的.由于有启发信息的引导,登山法使问题可尽快得到解.登山算法在许多情况下能提供一个较好的解,因为它试图减少到达解之前应访问的节点数一般说来,登山算法比其他非启发式算法都能更快地找到一个比较理想的解. 对人而言,寻求搜索算法来求解多关节机械臂运动学逆解,目标是“尽快找到一个比较理想的解”,并且,在搜索各关节变量的解时,要求的是每一步搜索都更接近目标点(或者说不远离目标点),而不在乎它是否最接近目标.这同“登山法”的思想很接近.1.2搜索表达式的导出 计算机最基本的功能就是对数进行计算和处理,数在机器中是用器件的物理状态表示的,而具有两种物理状态的器件容易制造,稳定可靠,所以计算机中的数是用二进制表示的. 最常用的数制是位置数制,它是按位定值的数制,即是按各个数码的位置规定了该数码所具有的数值,在位置数制中,数N可写成:

N二(dn_lrn -i + d,-2r n-2+二十dlri + dor0 + d-i二一‘+.二+d_mr-m卜Ed=r2式中:基值.m, n是正整数,n为整数的位数,m为小数的位数;d*是0,1,2-二,(r一1)中的任意一个数

当r取不同值时,就形成不同的进位制.

(1)r表示

例如:当r=2时,就是二进制,N=兄 d1 (2)可以看出,这种计数制有如下规律:①r进制中d‘可取O- r一1个不同的数码,这些数码为非负整数.②每个数位有一定的位值,它是基值r的某次幂,所以,相邻高位的位值是其低位的r倍;在加减法运算中,采用“逢r进一”和“借一当r”的规则.③对于正数,表达式(1)中N的值随i增大而递增;对于负数,表达式(1)中N的值随i增大而递减.④对于某一进制,基值r是定值,且为正整数.⑤i为整数,可取负值. 尝试把以上这些规律作如下修改:①针对某一个数,d的取值是固定的,而且不明确确定d一定为整数,在此基础上再赋予d一个符号值k,将其称作“权”,k可取(一1,0,1)三个数值.②每个数位有一定的位值,它是基值r的某次幂,但是,相邻高位的位值并不一定是其低位的r倍,因为它还要受k的影响.④表达式N的值随i的变化是非单调的,但通过运用新算法进行搜索,能够很快逼近N.⑤基值r理论上可取(0,1)范围内的数值,但具体取某个值,应根据实际情况而定.⑥i为正整数.⑦一般情况下,表达式的值只有无限地逼近N,而得不到绝对精确的N. 显然,新旧规则的差异很明显.这样,在上述七条新规则的制约下,十进制数值N可描述成

N、又kdrz在充分逼近的条件下可以认为N=又kdr`(2)第1期黄志雄,等:一种求取运动学逆解的新算法

式中:k为符号常量,将其称作“权”,取(1,0,一1)中的一个值,rG(0,1),称作基值,d称为初值.把式(3)称为带权的特殊进制方法.在误差一定,充分逼近十进制数值N时,n,k,d和r的组合可有无穷多个.将此方法应用于人工智能中的搜索技术(登山法)来描述每次搜索的步长,就形成一种新的启发式搜索技术—带权变步长搜索方法,称之为“智能登山法”.

开始初始化

。>。。?\、一N输出

2算法描述 十Y

n=n+1

由智能登山算法的表达式:N=来描述该算法:搜索一个值N时. f})初始化:选定基值r、初值d.

,可以这样搜索失败!

(2) n=i时,以dr-`(或一dr`)作步长搜索,若接近目标,N=N+dr`(或N=N- dr'),n=n+1. (3)若远离目标,则以一2dr`(或2dr')作步长搜索,若接近目标,N=N-2dr'(N=N +2dr'),n=n

+1. (4)若远离目标,n=n+1. (5)重复(2).(3),(4),直到达到目标或n超过设

定值. 将以上步骤写成程序流程框图,如图1.

B=B;+k; d; r"伍n, a, o)=F( B; )E, f (p, n, a, o)

。】>。?\卜N爪:= E一

图1智能登山搜索算法流程图 Fig. l Flow chart of INCA

3仿真验证 对于多关节机械手,对应某一位姿,至少存在一组解01,...,马7... 90M能实现该位姿,这组解可以用新算法描述为

0,一E kidl:、,…,e;==Z, k}d}rj',…,0.一另kmdmrm(3)

式中,el}...}ej,...,0在初始值开始最多经过n次搜索后,必定充分逼近目标点(0109**.9ei0q...,gmo)- 下面,就以水轮机叶形现场检测机械臂川为例,用智能登山法来求解其运动学逆解.确定目标函数为 f(p)=(p一PO),=(p二一pxo)2 + (p,,一p,o )2 + (p二一pz0)2 (4) f(n,a,o)=f (n)+f (a)+f (o)=(n一no )2+(。一ao)2+(。一。0)2= (n二一n.0)2+(n,一n刃 )2.v0+(n二一nz0 )2+(a二一axo )2+(a,一a刃 )2+(a二一azo)2+ (0x一0.x0)2 + (0,.一0,0)2 + (0二一020)2 (5)其中,(pot no}aoyoo)是目标值,(p,n,a,o)是实际搜索值 优化指标为 f(p)<El,f(n,a,0)<e2

为了计算的简化,将姿态项f(n,a,o)省略,只保留位置项f (p).并令f (p)的综合误差E=0.1.各关节变量采用智能登山法的描述形式为

相关主题