一种求取运动学逆解的新算法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
作者简介: 黄志雄(96 , 湖南长沙人, 17 一)男, 博士生.
中
国 工 程
机 械
学 报
第 z卷
言之, 就是在已知执行器结构参数, 位姿的情况下, 设计一套快速求取各关节变量的算法.
1 算法的推导
11 登山搜索算法原理 . 人工智能领域研究的几个方面都是十分激动人心的. 但多数人工智能应用的基础却是问题求解. 运动
一种求取运动学逆解的新算法
黄志雄, 何清华, 邹湘伏, 波, 柳 张新海
( 湖南 长沙 408 ) 中南大学 机电工程学院, 103
摘要: 从计算机原理中位置数制的描述获得启发, 将其中的某些规律进行合理的转换, 形成搜索算法的步长表 达式, 在吸收传统登山法的优点的基础上, 提出了 求取多关节机械臂运动学逆解的新算法— 智能登山法, 并 对算法进行了描述, 写出了完整的通用流程图. 运用该方法求取机器人运动学逆解, 无需矩阵运算, 三角变换; 收 敛速度快, 适于实时控制. 仿真试验验证了该方法的可行性, 实用性.
的值只有无限地逼近 N, 而得不到绝对精确的 N. 显然, 新旧规则的差异很明显. 这样, 在上述七条新规则的制约下, 十进制数值 N 可描述成
N,又k z d r
在充分逼近的条件下可以认为
N=又k ` d r
() 2
第1 期
黄志雄, 一种求取运动学逆解的新算法 等:
式中: 为符号常量, k 将其称作" , 10 一 ) 权"取(,, 1中的 一个值,G(,)称作基值, r 01, d称为初值. 把式() 3称 为带权的特殊进制方法. 在误差一定, 充分逼近十进制 数值 N 时, , , n k d和r 的组合可有无穷多个. 将此方 法应用于人工智能中的搜索技术( 登山法) 来描述每次 搜索的步长, 就形成一种新的启发式搜索技术— 带
B=B+ ; ;kdr ; "
权变步长搜索方法, 称之为" 智能登山法" .
开 始
初始化
.. \ >. ,一N ?
十Y
nn = +1
输 出
2 算法描述
由智能登山算法的表达式: N=
, 以这样 可
来描述该算法: 搜索一个值 N 时. f) 选定基值 r 初值 d } 初始化: , .
搜索失败 !
() 时, r 或一 r 作步长搜索, 2n =i 以d` - ( d` ) 若接近 目 N= d` 标, N+ r 或N= d', =n 1 ( N- )n + . r () 目 则以一 d`或 2r) 3 若远离 标, 2 r( d'作步长搜
启发式算法都能更快地找到一个比较理想的解.
对人而言, 寻求搜索算法来求解多关节机械臂运动学逆解, 标是" 目 尽快找到一个比较理想的解"并 , 且, 在搜索各关节变量的解时, 要求的是每一步搜索都更接近目 标点( 或者说不远离目 标点)而不在乎它 , 是否最接近 目 这同 " 标. 登山法" 的思想很接近.
学 逆 际 就 一 题 解的 程, 索 能 技 有 种, 搜 hli i sr ) 求 实 上 是 个问 求 过 搜 可 解的 术 多 登山 索(llbg c E】 ic n e h5 就 -m a , 6
是用得非常普遍的一种.
登山 搜索源于深度优先搜索. 登山算法选择下一步节点时, 考虑是否最接近目 即离现在位置最远 标(
元 迭 和 何 以 这些方法为 素, 代法 几 法, 及以 基础演变而成的一些方法等〔. '这些方法中 〕 有些计算量比 较
小, 适于实时计算, 但只能得到局部最优解, 关节运动不具有可重复性, A L g i提出的梯度投影 如 . es io e
法2I . e 的 束 量 等3有 I, W l: 1. a 提出 约 变 法 (; 些可以 全局最 解, 运动 有可 复 但 量 D k 1 得到 优 关节 具 重 性, 计算
N二(nri -n +二 dr+ 0 i ' 二 dm-卜 Ed2 d l-+ r 十 l dr+ 二 + + _ m _n d 2- , 2 i o d 一 - . r = r
() 1
式中: n m, 是正整数, n为整数的位数, m为小数的位数;* ,,-,r 1中的任意一个数 r表示 d 是012二 ( 一 ) 基值 . r 当 取不同值时, 就形成不同的进位制.
rl c tl tft e ecvli . fsiy p cc iy e fd s u tn e t e r f i a c vr ne cyT e il ad tal wrv i b i li a i o o o s o g m n r s n e t h e bi n r ibi e e i y ao o a t a t re m Ky d: to t tk eac r suo; ; l et c b g rh ( C ) e w r m l i r o; m t i ee tn sp ieinhl i aot I A o s ui n o 一 b i in s o i t n l n v l e t g i l n l im H li m g
te at eo tdi ahl b ga w y s r te e ac e e tn m l o t h avn gs r i nl cm i , w t e c h k m t i r suo o ui i d a f t a o i l n n l i e a o h i a n i n s o i f t n v l 一 r o n l et cm i , pt a . e e, a ot ws cbdad ier e o t tl n hl b gw s f w r Mo o rt l rh a d re, t n g t b -iei g i l n a u o d r v h g im e i n h t a d l i r e s e fw rws nMai ue h nw yk e ac ee tn b gtn vn ny l ca ag e. n soti e w , m t i r suo c e t c ei t ad o h t i v k g f s a i i n s o i a n v l n o e o e l n n ft , e o , nt s r m tx ri ad nur srao. is alf al f t r r is nc s f aioe tn tagl tno tnA d sib o sy uh m et o e a o r p ao n r r ' e y r i a r fm i n t u e a ' t r
的 置 ·个 字 源 登 者 半 腰 迷 的 似 形假 营 在 顶那 尽 在 里他 知 位 ) 名 来 于 山 在 山 处 路 类 情 ,如 地 山 ,么 覃 夜 ,也 这
道所走的每一步方向都是正确的. 由于有启发信息的引导, 登山法使问题可尽快得到解. 登山算法在许多
情况下能提供一个较好的解, 为它试图减少到达解之前应访问的节点数一 般说来, 因 登山算法比其他非
例如: r 2时, 当 = 就是二进制 ,
N=兄d2 ( 1 )
可以看出, 这种计数制有如下规律: r ① 进制中d 可取 O r 1 ' - 个不同的数码, 一 这些数码为非负整数. ② 每个数位有一定的位值, 它是基值 r 的某次幂, 所以, 相邻高位的位值是其低位的 r 在加减法运算中, 倍; 采用" r 逢 进一" 借一当 r的规则. 对于正数, 和" " ③ 表达式() 1中N的值随i 增大而递增; 对于负数, 表达 式() 1中N的值随i 增大而递减. 对于某一进制, ④ 基值 r 是定值, 且为正整数. i ⑤ 为整数, 可取负值. 尝试把以上这些规律作如下修改: ①针对某一个数, d的取值是固定的, 而且不明确确定 d一定为整 数, 在此基础上再赋予 d一个符号值k将其称作" , , 权"k可取( 101三个数值. 每个数位有一定的 一 ,,) ② 位值, 它是基值 r 的某次幂, 但是, 相邻高位的位值并不一定是其低位的 r 因为它还要受 k的影响. 倍, ④ 表达式 N的值随i 的变化是非单调的, 但通过运用新算法进行搜索, 能够很快逼近 N. 基值 r ⑤ 理论上 可取(,) 01范围内的数值, 但具体取某个值, 应根据实际情况而定. i ⑥ 为正整数. 一般情况下, ⑦ 表达式
1 搜索表达式的导出 . 2 计算机最基本的功能就是对数进行计算和处理, 数在机器中是用器件的物理状态表示的, 而具有两种
物理状态的器件容易制造, 稳定可靠, 所以计算机中的数是用二进制表示的. 最常用的数制是位置数制, 它是按位定值的数制, 即是按各个数码的位置规定了该数码所具有的数 值, 在位置数制中, N可写成: 数
第wk.baidu.com 卷第 1 期 20 年 1 04 月
中 国 工 程 机 械 学 报 Q IEE R A O C N T U TO M C IE Y 于 S JU N L O S R C IN HN R N O F A
, . N . 场」2 l o Jn 0 4 2 0 a .
关键词: 多关节机械臂; 运动学逆解; 步长; 智能登山法 中图分类号: H 32 T 1 . 1
N w l rh fr ac i Kn m t I es S l i e Ag im S rh g e ai n r o t n ot o e n i c e u o v
H A G i i g H Qn-u , O Xag u L U , H N Xn a U N Z - o , E g a Z U n- , I B Z A G - i h, n x i h i f o ih
非常大, 不适于实时控制, K Wa r n n 如 . e ui 利用最优控制理论建立边值问题的微分方程组, zo a 从而确定关
节 角 等 转 [ . ] '
在此, 笔者试图寻求一种简捷, 优化的算法来求取多关节工业机器人运动学逆解, 这种方法无需矩阵 运算, 三角变换等繁琐的计算, 只要给出控制目 标与约束条件, 通过该算法便能搜索到各关节变量的值; 换
(oe oM c naa E c c Eg e n, r Su U irt, g a 03C i ) Clg f h il lt a nie gCn a o h v syCa s 408 , a e e a c n er l n r etl d i i t nei h h 1 n h n
AsatIts e ipe fm psi - m r dsii ic pt , sps rsn btc n pp , id t otn u e l rtn o u r h t 'ep so o r : h a rn r r h i n a e po n e t e x ei f i s o e o c m e t sr aot ws e t og r s alc vro os e rle re Bs o i etg h e c l rh agi d uh o b o e i f ieet u s a d n ri e h im a a g n h r e n e sn o n ra d . n i a n m t l e h n
机器人运动学逆解在机器人学中占有重要地位, 它直接关系到运动分析, 离线编程, 轨迹规划等, 是将
工作空间内机器人末端件的位置, 姿势转化成关节量的方法.
国内外学者对机器人( 包括冗余度机器人) 运动学逆解的求取进行了广泛而深人的研究. 有关机器人 逆解的求解方法很多, 其中主要有下面一些: 反变换( 又称解析法和代数法)旋量代数, , 对偶矩阵, 对偶四
中
国 工 程
机 械
学 报
第 z卷
言之, 就是在已知执行器结构参数, 位姿的情况下, 设计一套快速求取各关节变量的算法.
1 算法的推导
11 登山搜索算法原理 . 人工智能领域研究的几个方面都是十分激动人心的. 但多数人工智能应用的基础却是问题求解. 运动
一种求取运动学逆解的新算法
黄志雄, 何清华, 邹湘伏, 波, 柳 张新海
( 湖南 长沙 408 ) 中南大学 机电工程学院, 103
摘要: 从计算机原理中位置数制的描述获得启发, 将其中的某些规律进行合理的转换, 形成搜索算法的步长表 达式, 在吸收传统登山法的优点的基础上, 提出了 求取多关节机械臂运动学逆解的新算法— 智能登山法, 并 对算法进行了描述, 写出了完整的通用流程图. 运用该方法求取机器人运动学逆解, 无需矩阵运算, 三角变换; 收 敛速度快, 适于实时控制. 仿真试验验证了该方法的可行性, 实用性.
的值只有无限地逼近 N, 而得不到绝对精确的 N. 显然, 新旧规则的差异很明显. 这样, 在上述七条新规则的制约下, 十进制数值 N 可描述成
N,又k z d r
在充分逼近的条件下可以认为
N=又k ` d r
() 2
第1 期
黄志雄, 一种求取运动学逆解的新算法 等:
式中: 为符号常量, k 将其称作" , 10 一 ) 权"取(,, 1中的 一个值,G(,)称作基值, r 01, d称为初值. 把式() 3称 为带权的特殊进制方法. 在误差一定, 充分逼近十进制 数值 N 时, , , n k d和r 的组合可有无穷多个. 将此方 法应用于人工智能中的搜索技术( 登山法) 来描述每次 搜索的步长, 就形成一种新的启发式搜索技术— 带
B=B+ ; ;kdr ; "
权变步长搜索方法, 称之为" 智能登山法" .
开 始
初始化
.. \ >. ,一N ?
十Y
nn = +1
输 出
2 算法描述
由智能登山算法的表达式: N=
, 以这样 可
来描述该算法: 搜索一个值 N 时. f) 选定基值 r 初值 d } 初始化: , .
搜索失败 !
() 时, r 或一 r 作步长搜索, 2n =i 以d` - ( d` ) 若接近 目 N= d` 标, N+ r 或N= d', =n 1 ( N- )n + . r () 目 则以一 d`或 2r) 3 若远离 标, 2 r( d'作步长搜
启发式算法都能更快地找到一个比较理想的解.
对人而言, 寻求搜索算法来求解多关节机械臂运动学逆解, 标是" 目 尽快找到一个比较理想的解"并 , 且, 在搜索各关节变量的解时, 要求的是每一步搜索都更接近目 标点( 或者说不远离目 标点)而不在乎它 , 是否最接近 目 这同 " 标. 登山法" 的思想很接近.
学 逆 际 就 一 题 解的 程, 索 能 技 有 种, 搜 hli i sr ) 求 实 上 是 个问 求 过 搜 可 解的 术 多 登山 索(llbg c E】 ic n e h5 就 -m a , 6
是用得非常普遍的一种.
登山 搜索源于深度优先搜索. 登山算法选择下一步节点时, 考虑是否最接近目 即离现在位置最远 标(
元 迭 和 何 以 这些方法为 素, 代法 几 法, 及以 基础演变而成的一些方法等〔. '这些方法中 〕 有些计算量比 较
小, 适于实时计算, 但只能得到局部最优解, 关节运动不具有可重复性, A L g i提出的梯度投影 如 . es io e
法2I . e 的 束 量 等3有 I, W l: 1. a 提出 约 变 法 (; 些可以 全局最 解, 运动 有可 复 但 量 D k 1 得到 优 关节 具 重 性, 计算
N二(nri -n +二 dr+ 0 i ' 二 dm-卜 Ed2 d l-+ r 十 l dr+ 二 + + _ m _n d 2- , 2 i o d 一 - . r = r
() 1
式中: n m, 是正整数, n为整数的位数, m为小数的位数;* ,,-,r 1中的任意一个数 r表示 d 是012二 ( 一 ) 基值 . r 当 取不同值时, 就形成不同的进位制.
rl c tl tft e ecvli . fsiy p cc iy e fd s u tn e t e r f i a c vr ne cyT e il ad tal wrv i b i li a i o o o s o g m n r s n e t h e bi n r ibi e e i y ao o a t a t re m Ky d: to t tk eac r suo; ; l et c b g rh ( C ) e w r m l i r o; m t i ee tn sp ieinhl i aot I A o s ui n o 一 b i in s o i t n l n v l e t g i l n l im H li m g
te at eo tdi ahl b ga w y s r te e ac e e tn m l o t h avn gs r i nl cm i , w t e c h k m t i r suo o ui i d a f t a o i l n n l i e a o h i a n i n s o i f t n v l 一 r o n l et cm i , pt a . e e, a ot ws cbdad ier e o t tl n hl b gw s f w r Mo o rt l rh a d re, t n g t b -iei g i l n a u o d r v h g im e i n h t a d l i r e s e fw rws nMai ue h nw yk e ac ee tn b gtn vn ny l ca ag e. n soti e w , m t i r suo c e t c ei t ad o h t i v k g f s a i i n s o i a n v l n o e o e l n n ft , e o , nt s r m tx ri ad nur srao. is alf al f t r r is nc s f aioe tn tagl tno tnA d sib o sy uh m et o e a o r p ao n r r ' e y r i a r fm i n t u e a ' t r
的 置 ·个 字 源 登 者 半 腰 迷 的 似 形假 营 在 顶那 尽 在 里他 知 位 ) 名 来 于 山 在 山 处 路 类 情 ,如 地 山 ,么 覃 夜 ,也 这
道所走的每一步方向都是正确的. 由于有启发信息的引导, 登山法使问题可尽快得到解. 登山算法在许多
情况下能提供一个较好的解, 为它试图减少到达解之前应访问的节点数一 般说来, 因 登山算法比其他非
例如: r 2时, 当 = 就是二进制 ,
N=兄d2 ( 1 )
可以看出, 这种计数制有如下规律: r ① 进制中d 可取 O r 1 ' - 个不同的数码, 一 这些数码为非负整数. ② 每个数位有一定的位值, 它是基值 r 的某次幂, 所以, 相邻高位的位值是其低位的 r 在加减法运算中, 倍; 采用" r 逢 进一" 借一当 r的规则. 对于正数, 和" " ③ 表达式() 1中N的值随i 增大而递增; 对于负数, 表达 式() 1中N的值随i 增大而递减. 对于某一进制, ④ 基值 r 是定值, 且为正整数. i ⑤ 为整数, 可取负值. 尝试把以上这些规律作如下修改: ①针对某一个数, d的取值是固定的, 而且不明确确定 d一定为整 数, 在此基础上再赋予 d一个符号值k将其称作" , , 权"k可取( 101三个数值. 每个数位有一定的 一 ,,) ② 位值, 它是基值 r 的某次幂, 但是, 相邻高位的位值并不一定是其低位的 r 因为它还要受 k的影响. 倍, ④ 表达式 N的值随i 的变化是非单调的, 但通过运用新算法进行搜索, 能够很快逼近 N. 基值 r ⑤ 理论上 可取(,) 01范围内的数值, 但具体取某个值, 应根据实际情况而定. i ⑥ 为正整数. 一般情况下, ⑦ 表达式
1 搜索表达式的导出 . 2 计算机最基本的功能就是对数进行计算和处理, 数在机器中是用器件的物理状态表示的, 而具有两种
物理状态的器件容易制造, 稳定可靠, 所以计算机中的数是用二进制表示的. 最常用的数制是位置数制, 它是按位定值的数制, 即是按各个数码的位置规定了该数码所具有的数 值, 在位置数制中, N可写成: 数
第wk.baidu.com 卷第 1 期 20 年 1 04 月
中 国 工 程 机 械 学 报 Q IEE R A O C N T U TO M C IE Y 于 S JU N L O S R C IN HN R N O F A
, . N . 场」2 l o Jn 0 4 2 0 a .
关键词: 多关节机械臂; 运动学逆解; 步长; 智能登山法 中图分类号: H 32 T 1 . 1
N w l rh fr ac i Kn m t I es S l i e Ag im S rh g e ai n r o t n ot o e n i c e u o v
H A G i i g H Qn-u , O Xag u L U , H N Xn a U N Z - o , E g a Z U n- , I B Z A G - i h, n x i h i f o ih
非常大, 不适于实时控制, K Wa r n n 如 . e ui 利用最优控制理论建立边值问题的微分方程组, zo a 从而确定关
节 角 等 转 [ . ] '
在此, 笔者试图寻求一种简捷, 优化的算法来求取多关节工业机器人运动学逆解, 这种方法无需矩阵 运算, 三角变换等繁琐的计算, 只要给出控制目 标与约束条件, 通过该算法便能搜索到各关节变量的值; 换
(oe oM c naa E c c Eg e n, r Su U irt, g a 03C i ) Clg f h il lt a nie gCn a o h v syCa s 408 , a e e a c n er l n r etl d i i t nei h h 1 n h n
AsatIts e ipe fm psi - m r dsii ic pt , sps rsn btc n pp , id t otn u e l rtn o u r h t 'ep so o r : h a rn r r h i n a e po n e t e x ei f i s o e o c m e t sr aot ws e t og r s alc vro os e rle re Bs o i etg h e c l rh agi d uh o b o e i f ieet u s a d n ri e h im a a g n h r e n e sn o n ra d . n i a n m t l e h n
机器人运动学逆解在机器人学中占有重要地位, 它直接关系到运动分析, 离线编程, 轨迹规划等, 是将
工作空间内机器人末端件的位置, 姿势转化成关节量的方法.
国内外学者对机器人( 包括冗余度机器人) 运动学逆解的求取进行了广泛而深人的研究. 有关机器人 逆解的求解方法很多, 其中主要有下面一些: 反变换( 又称解析法和代数法)旋量代数, , 对偶矩阵, 对偶四