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

合集下载

机器人逆解算法

机器人逆解算法

机器人逆解算法机器人逆解算法近年来,机器人已经成为了很多领域的重要工具。

机器人的智能化程度越来越高,能够实现更多的功能。

其中,机器人逆解算法就是很重要的一种算法。

下面,我们来详细介绍一下机器人逆解算法。

一、什么是机器人逆解算法机器人逆解算法主要用于解决机器人的位置求解问题。

它的主要目的是通过机器人的末端执行器的位置和姿态,求解出机器人每个关节的角度。

这个过程也被称为“逆运动学”。

二、机器人逆解算法的工作原理机器人逆解算法的工作原理可以用以下的步骤来概括:首先,要利用机械臂的正运动学方程来确定末端执行器的位置和姿态,然后就可以使用逆解算法来计算每个关节的角度。

具体而言,逆解算法可以分为几个步骤:1.确定运动学参数。

机器人的运动学参数包括机器人的关节长度、机器人手臂各个件的相对位置和各个关节限制。

2.求解正运动学方程。

机器人的正运动学方程是一组方程式,可以通过这组方程式求解机器人的姿态,进而得到机器人末端执行器的位置。

3.使用逆解算法。

在知道了机器人末端执行器的位置和姿态后,可以使用成熟的逆解算法来反向计算出每个关节的角度。

但是,由于机器人的逆运动学方程式比较复杂,所以还需要借助计算机程序来帮助进行计算。

4.运算。

通过计算机程序计算出角度之后,即可将计算结果反馈给机器人,使其能够实现特定的动作。

三、机器人逆解算法的应用机器人逆解算法广泛应用于机器人姿态控制、机器人运动规划、机器人轨迹规划和机器人仿真等方面。

比如,在制造业中,机器人逆解算法常被用于对零件进行精确加工,从而提高了生产效率和生产质量。

此外,机器人逆解算法还被广泛应用于机器人导航、机器人探测和机器人遥控等方面。

在这些应用中,机器人逆解算法可以帮助机器人快速、准确地完成特定的任务,提高了机器人的工作效率和准确性。

四、机器人逆解算法的未来发展随着机器人技术的不断成熟,机器人逆解算法也将不断发展。

未来,我们可以预见机器人逆解算法将更加精简、高效,甚至在某些情况下可以实现实时的逆解计算。

基于四元数的6R串联机器人运动学逆解应用

基于四元数的6R串联机器人运动学逆解应用

基于四元数的6R串联机器人运动学逆解应用陈爱;冯桑;何春;陆晓【摘要】针对6R串联机器人运动学求解计算量大、传统方法求解困难以及涉及多解和奇异性等问题,在普吕克坐标系(Plücker Coordinate)下描述了刚体运动,建立刚体运动的四元数数学模型,进一步建立了6R串联机器人运动学几何数学模型,从而可以方便的求得6R串联机器人8组运动学逆解。

最后,以一种串联机器人为例,利用Matlab/Simulink模型进行算法计算,最后用Matlab/robot toolbox进行结果验证。

与传统方法相比,采用该方法求解串联机器人运动学,计算简洁、精度高、具有普遍通用性,有利于改善计算机控制的实时性。

%For the calculating of 6R series robot kinematics is an arduous task , it is hard to deal with the multiple solutions and the singularity problem in the way of traditional method to calculating of 6R series robot kinematics , this paper describes the rigid body motion in Plücker coordinate,establishes the rigid body motion of the mathematical model based on quaternions , further establishes 6R serial robot kinematics geometry mathematical model, which can be easily to solve the 6R serial robot inverse kinematics and get the 8 group’s conclusions . By the presented method, the inverse kinematics of a serial mechanism is given as an example. The results show that compared with traditional methods, the method is simple, high accuracy, of universal used, will do work to improve the real-time computer control.【期刊名称】《机电工程技术》【年(卷),期】2013(000)009【总页数】6页(P5-10)【关键词】四元数;算法;普吕克坐标系;串联机器人;运动学逆解【作者】陈爱;冯桑;何春;陆晓【作者单位】广东工业大学,广东广州 510006;广东工业大学,广东广州 510006;广东工业大学,广东广州 510006;广东工业大学,广东广州 510006【正文语种】中文【中图分类】TP2410 前言空间6R机械手的运动学逆解是空间机构学中最难的问题之一,曾被Freudenstein喻为机构运动学中的“珠穆朗玛峰”[1]。

机械臂运动学逆解

机械臂运动学逆解

机械臂运动学逆解一、前言机械臂是一种多自由度的机器人,具有广泛的应用领域,如工业生产线、医疗手术、军事等。

机械臂的运动学逆解是机械臂控制中非常重要的一部分,本文将详细讲解机械臂运动学逆解的相关知识。

二、机械臂运动学基础1. 坐标系在机械臂中,通常采用笛卡尔坐标系和关节坐标系描述位置和姿态。

笛卡尔坐标系是一个三维直角坐标系,由三个互相垂直的轴组成。

关节坐标系则是由每个关节的旋转轴所确定的坐标系。

2. 运动学模型在运动学模型中,我们通常采用DH(Denavit-Hartenberg)参数来描述机械臂各个关节之间的相对位置和姿态。

DH参数包括四个量:a、α、d和θ。

其中a表示前一个关节沿着x轴方向移动到达当前关节时x轴方向上的位移;α表示前一个关节绕z轴旋转到达当前关节时z轴方向上与x轴正方向之间夹角的大小;d表示当前关节沿着z轴方向上的位移;θ表示当前关节绕z轴旋转的角度。

3. 正运动学正运动学是机械臂控制中最基本的问题,其目的是通过给定各个关节的角度,计算出机械臂末端执行器的位置和姿态。

正运动学可以通过矩阵变换来实现。

4. 逆运动学逆运动学是机械臂控制中比较困难的问题,其目的是通过给定机械臂末端执行器的位置和姿态,计算出各个关节应该具有的角度。

逆运动学通常采用解析法或数值法来解决。

三、机械臂运动学逆解方法1. 解析法解析法是指通过数学公式求解机械臂逆运动学问题。

对于一些简单的机械臂模型,可以采用此方法求解。

例如对于一个二自由度平面机械臂,可以通过三角函数公式求解出各个关节应该具有的角度。

2. 数值法数值法是指通过迭代计算来求解机械臂逆运动学问题。

数值法通常包括牛顿-拉夫森方法、雅可比方法等。

其中,牛顿-拉夫森方法是通过不断迭代来逼近解的方法,而雅可比方法则是通过求解雅可比矩阵来实现。

3. 混合法混合法是指将解析法和数值法相结合来求解机械臂逆运动学问题。

该方法通常采用解析法求得初始值,然后通过数值法进行迭代计算,以提高计算精度。

自适应麻雀搜索法求解核运维机器人逆运动学解

自适应麻雀搜索法求解核运维机器人逆运动学解

自适应麻雀搜索法求解核运维机器人逆运动学解
张钦;陈光明
【期刊名称】《核电子学与探测技术》
【年(卷),期】2024(44)1
【摘要】探讨了核运维机器人在核设施内工作时,基于自适应麻雀搜索算法(ASSA)的核运维机器人逆运动学求解方法。

ASSA在麻雀搜索算法(SSA)的基础上,将自适应步长策略引入SSA中警戒者的位置更新方式中,实现了算法寻优性能的提升。

通过3个基准函数对ASSA的性能进行了测试,获得了比SSA更高的求解精度、更快的求解速度和更强的计算稳定性。

实测结果表明:ASSA得到的核运维机器人位姿误差更小,计算耗时更少,求解稳定性更好。

【总页数】8页(P61-68)
【作者】张钦;陈光明
【作者单位】江苏联合职业技术学院准安生物工程分院;南京农业大学工学院【正文语种】中文
【中图分类】TP18;TP241
【相关文献】
1.紧耦合多机器人联合吊运系统逆运动学求解
2.机器人逆运动学差分自适应混沌粒子群求解
3.工业机器人工作空间求解及逆运动学唯一解的确定
4.改进混沌麻雀搜索算法及其在冗余机械臂逆运动学求解中的应用
5.基于改进麻雀搜索算法的锚护机器人逆运动学求解
因版权原因,仅展示原文概要,查看原文内容请购买。

4自由度机械臂逆解

4自由度机械臂逆解

4自由度机械臂逆解
4自由度机械臂逆解
机械臂是一种能够模拟人类手臂运动的机器人,它可以在工业生产线上完成各种复杂的操作。

机械臂的运动是由多个关节的运动组合而成的,因此,机械臂的逆解问题就变得非常重要。

4自由度机械臂是一种具有4个关节的机械臂,它可以在三维空间内完成各种复杂的运动。

在进行逆解时,我们需要确定每个关节的角度,以使机械臂能够到达指定的位置和姿态。

逆解的过程可以分为两个步骤:正运动学和逆运动学。

正运动学是指根据机械臂的关节角度计算出机械臂的末端位置和姿态。

逆运动学则是根据机械臂的末端位置和姿态计算出每个关节的角度。

对于4自由度机械臂的逆解问题,我们可以采用解析法或数值法来求解。

解析法是指通过数学公式来求解逆解问题,这种方法需要对机械臂的运动学模型进行建模,并且需要求解一系列复杂的方程式。

数值法则是通过计算机模拟机械臂的运动来求解逆解问题,这种方法可以通过迭代算法来逐步优化机械臂的关节角度,以使机械臂能够到达指定的位置和姿态。

无论采用哪种方法,逆解问题都是机械臂控制中非常重要的一部分。

通过逆解,我们可以控制机械臂完成各种复杂的操作,从而提高生产效率和质量。

因此,对于机械臂的逆解问题,我们需要不断地进行研究和探索,以提高机械臂的控制精度和效率。

机械臂的逆向运动学求解方法

机械臂的逆向运动学求解方法

机械臂的逆向运动学求解方法机械臂是一种可以在工业自动化和制造方面进行各种任务的重要工具。

在机械臂控制中,逆向运动学(IK)是一个非常重要的问题,因为这决定了我们如何根据期望末端位置来控制机械臂各个关节的姿态。

在机器人控制中,逆向运动学求解是一个决策艰难的问题,因为它需要解决一些数学问题。

本文将介绍机械臂逆向运动学求解的方法,希望能对读者有所启发。

1. 逆向运动学(IK)的概述在机器人领域,运动学是一个非常重要的问题,这是因为它可以使我们了解如何根据关节角度控制机械臂姿态。

在机械臂中,正向运动学(FK)可以帮助我们从关节角度到末端位置的变换,反之,逆向运动学可以帮助我们从末端位置到关节角度的变换。

因此,IK的目的是找到使机械臂末端到达目标位置的关节角度。

在机械臂控制中,IK是一个非常重要的问题,因为它可以使得机械臂执行各种任务。

2. Jacobian矩阵对于给定的末端位置,IK问题的解决方法取决于所选的控制方法。

在Jacobian-based方法中,我们利用机器人的Jacobian矩阵来实现IK问题。

在数学上,Jacobian矩阵可以帮助我们计算机械臂关节角度对末端位置的响应。

为了理解Jacobian矩阵,我们必须了解关节角度和末端位置之间的关系。

Jacobian矩阵是末端位移向量与关节角度变化向量之间的比率。

在机械臂控制中,我们希望以末端位置(例如,机械臂的手指)为输入,以机械臂关节角度的变化(即速度)为输出,我们希望确定与系统响应相匹配的关节变量。

这样就需要计算Jacobian矩阵。

3. 迭代方法在常规情况下,IK问题的解决方法是用迭代方法。

迭代方法的实现方式是,利用机器人的Jacobian矩阵计算末端位移向量与关节角度变化向量之间的比率。

然后,将其应用于计算机械臂关节角度的变化,使得机械臂的末端位置与期望位置之间的误差不断缩小。

这个过程可以重复进行,直到达到所需的误差水平。

整个过程可以表示如下:J(q) · δq = dx其中,“J(q)”是机械臂位置的Jacobian矩阵,“q”是目前的关节角度,“dx”是期望变化的位移向量,“δq”是应用于机械臂的关节角度变化量。

6轴机械臂逆解算法

6轴机械臂逆解算法机械臂逆解算法是指通过已知的目标姿态和末端执行器的位姿,计算出相应的关节角度。

在机械臂的控制中,逆解算法是十分重要的一部分,它能够帮助机械臂实现目标位置和姿态的精确控制。

一种常用的逆解算法是基于几何关系的方法,其基本原理是根据机械臂的结构和运动学,将目标位姿转化为关节角度。

下面是一个具体的逆解算法的示例。

假设机械臂有6个关节,每个关节的旋转角度分别为θ1、θ2、θ3、θ4、θ5和θ6。

机械臂的末端执行器的位姿可以通过欧拉角或四元数表示,其中包括位置(x, y, z)和姿态(rx, ry, rz)。

1. 根据机械臂的结构和坐标系,确定机械臂的正运动学方程。

这可以通过矩阵乘法来表示。

例如,可以使用旋转矩阵和平移矩阵将目标位姿转化为机械臂末端执行器的位姿。

2. 根据关节的限制和物理特性,确定关节的解空间。

关节的解空间是指关节能够取到的有效角度范围。

这可以通过关节的旋转范围和机械臂的物理限制来确定。

3. 根据逆运动学的基本原理,使用几何关系求解关节角度。

这可以通过正运动学方程的逆运算来实现。

例如,可以通过矩阵的逆运算来计算出关节角度。

4. 对于给定的目标位姿,根据机械臂的结构和运动学,计算出相应的关节角度,并检查其是否在关节的解空间内。

如果关节角度不在解空间内,则需要进行适当的调整。

5. 将计算得到的关节角度发送给机械臂的控制系统,以实现机械臂的精确控制。

除了几何关系方法,还有其他的逆解算法,例如基于数值方法的迭代算法和基于优化方法的求解算法。

这些方法对于复杂的机械臂和非线性约束的逆解问题更加有效。

总结起来,机械臂逆解算法是实现机械臂精确控制的关键一步。

通过确定机械臂的正运动学方程、关节的解空间以及使用几何关系等方法,可以计算出目标位姿对应的关节角度。

逆解算法在机械臂的应用领域具有广泛的应用前景,例如工业自动化、医疗机器人和服务机器人等领域。

逆运动学算法

逆运动学算法引言:在机器人控制领域中,逆运动学算法是一种重要的技术,它用于确定机器人末端执行器的位置和姿态,以实现所需的运动。

逆运动学算法是机器人学中的一个关键问题,如何根据期望的末端执行器位置和姿态来计算关节角度是一个非常具有挑战性的问题。

本文将介绍逆运动学算法的基本原理和常见方法,并讨论其应用领域和局限性。

一、逆运动学算法的基本原理逆运动学算法是指根据机器人末端执行器的期望位置和姿态来计算机器人关节角度的过程。

它是正向运动学的逆过程。

正向运动学是指根据机器人关节角度计算末端执行器的位置和姿态的过程。

逆运动学算法的基本原理是通过解决一组非线性方程组来确定关节角度。

这些非线性方程组描述了机器人的几何特性和运动学约束。

通常情况下,这些方程组是复杂的,无法直接求解,因此需要使用数值方法来近似求解。

逆运动学算法的目标是找到一组关节角度,使得机器人末端执行器的位置和姿态与期望值尽可能接近。

二、逆运动学算法的常见方法1. 解析法:解析法是指直接求解非线性方程组的解析解。

这种方法适用于一些简单的机器人模型,其几何特性和运动学约束可以用简单的数学公式描述。

解析法的优点是计算速度快,但局限性在于只适用于某些特定机器人模型,且求解过程可能非常复杂。

2. 数值法:数值法是指使用迭代算法逐步逼近非线性方程组的解。

常见的数值法包括牛顿法、拟牛顿法、Levenberg-Marquardt算法等。

这些方法通过不断迭代来逼近解,直到满足精度要求为止。

数值法的优点是适用于各种机器人模型,且求解过程相对简单,但缺点是计算速度较慢。

三、逆运动学算法的应用领域逆运动学算法在机器人控制领域有广泛的应用。

它可以用于工业机器人、服务机器人、医疗机器人等各种类型的机器人。

在工业领域,逆运动学算法可以用于机器人的自动化生产线上,实现精密的物体抓取、装配和焊接等操作。

在服务领域,逆运动学算法可以用于机器人的姿态控制和路径规划,实现自主导航和物体搬运等任务。

UR机械臂运动学正逆解方法

UR机械臂运动学正逆解⽅法最近⼏个⽉因为⼯作接触到了机械臂的项⽬,突然对机械臂运动⽅法产⽣了兴趣,也就是如何控制机械臂的位置和姿态。

借⽤⼀张⽹上的图⽚,应该是ur5的尺⼨。

我⽤到的是ur3机械臂,除了尺⼨不⼀样,各关节结构和初始位置和ur5是⼀样的。

ur机械臂是六⾃由度机械臂,由D-H参数法确定它的运动学模型,连杆坐标系的建⽴如上图所⽰。

我当时在这个地⽅的理解上⾛了不少弯路,后来找个⼀个视频,我觉得讲解地⽐较容易理解,可以参考⼀下。

ur机械臂DH参数表如下,转动关节θi是关节变量,连杆偏移d i是常数。

关节编号α(绕x轴)a(沿x轴)θ(绕z轴)d(沿z轴)1α1=900θ1d1=89.220a2=-425θ2030a3=-392θ304α4=900θ4d4=109.35α5=-900θ5d5=94.75600θ6d6=82.5由此可以建⽴坐标系i在坐标系i-1的齐次变换矩阵,注意每次不管平移还是旋转是相对于当前的运动坐标系变换,矩阵右乘那么把DH参数代⼊就可以得到所有相邻坐标系的变换矩阵所以末端坐标系6到基座固定坐标系0的变换矩阵。

那么求正解就很简单了,只要输⼊六个关节⾓度θi,就得到末端坐标在基坐标系的变换矩阵T。

ur机械臂的视教板上末端点的坐标是⽤六个值[x, y, z, rx, ry, rz]表⽰的。

前三个值[x, y, z]是三维笛卡尔坐标,表⽰空间位置,后三个值[rx, ry, rz]是坐标旋转向量,表⽰空间姿态。

我们得到的变换矩阵T怎么变成六值坐标[x, y, z, rx, ry, rz]呢?设T的左上⾓的3x3矩阵是旋转矩阵,旋转矩阵和旋转向量之间可以通过罗德⾥格斯(Rodrigues)变换进⾏转换。

opencv⾥有相应的函数调⽤。

算法也⽐较简单,不⽤opencv的函数⾃⼰写代码也不难。

T的右上⾓3x1就是空间位置[x, y, z]。

这样有变换矩阵T得到六值坐标,完成了正解。

逆解相对要复杂⼀些,由末端的空间位置和姿态,计算可能的关节⾓度。

基于牛顿-拉夫逊迭代法的6自由度机器人逆解算法

王 宪,杨 国梁 ,张方 生 ,丁 锋
( 江南 大 学 通 信 与 控 制 工 程 学 院 , 苏 无 锡 24 2 ) 江 11 2

要 :为解决一般 6自由度旋转关节机器人逆运动学 问题 , 出了一种用牛顿一 提 拉夫逊迭代 法逐次逼近
目标位姿的逆解算法。根据正运动学方程建立稚克 比矩 阵, 采用基于豪斯霍尔 德的 S D分解求 其伪逆来 V 避免雅克 比矩阵的奇异性问题 , 通过建 立迭代规则并逐次迭代找到最优的逆运动学单解 , 际应用时无需 实
Байду номын сангаас
误差 , 甚至一些机器 人在设计 时就不符 合 Pee 准则 。针 i r p
s se The c re po d n e t h w h tt lo t m sra —i ih c n me ts se r q r me t. tc n b y tm. o r s n i g tsss o t a heag r h i e ltmewh c a e y tm e uie ns I a e i
api a t erbt o t l yt 6dge fr dm( O )rt io pl dt rl i o cn o ss m; ereo e o D F o r j n t e o e -m o r e fe a o y Ke o d :r o; oo ot l dfrni oo ; ereo ed m( O )rt it yw rs o t m t ncn o; i et m tn 6d g freo D F o r j n b i r e l a i e f a o y 0 引 言
Ab ta t orsl eivrek e t s r l f h e e l - O t yji b ta v r lo tm s c :T eo et e i ma c o e o tegn r D F r a n r o,ni e ea rh r v h n s n i p b m a6 o r o to n s gi
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第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.各关节变量采用智能登山法的描述形式为

相关文档
最新文档