logo资料库

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

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
DO I :10.13873/j .1000 -97872010.10.039         传 感器与微系统(TransducerandMicrosystemTechnologies)          2010年 第 29卷 第 10期 116 计算与测试 基于牛顿 —拉夫逊迭代法的 6自由度机器人逆解算法 * 王  宪 , 杨国梁, 张方生, 丁 锋 (江南大学 通信与控制工程学院, 江苏 无锡 214122) 摘 要:为解决一般 6自由度旋转关节机器人逆 运动学问题, 提出了一种用牛顿 —拉夫逊迭代 法逐次逼近 目标位姿的逆解算法 。根据正 运动学方程建立雅克比矩阵, 采用基于豪斯霍 尔德的 SVD分解 求其伪逆来 避免雅克比矩阵的奇 异性问题, 通过建立迭代规则并逐次迭代找到最优的 逆运动学单解, 实际应用时无需 再建立多解 取优策略。 本算法具有较好的局部快速收敛性, 能够达到较好 的精度和速 度, 并 在基于 ARM9 的嵌入式系 统上实现了此算法。 相应的测试表明:算法实时性能够满足系 统要求, 可应用于机器人实时控 制系统。 关键词:机器人;运动控制;微分运动;6自由度旋转关节 中图分类号 :TP242   文献标识码:B   文章编号:1000 — 9787(2010)10— 0116 — 03 Aninversekinematicsalgorithm ofthegeneral6-DOF robotbasedonNewton-Raphsoniteration* WANGXian, YANGGuo-liang, ZHANGFang-sheng, DINGFeng (CollegeofCommunicationandControlEngineering, JiangnanUniversity, Wuxi214122, China) Abstract:Toresolvetheinversekinematicsproblemofthegeneral6-DOFrotaryjointrobot, aninversealgorithm isproposed, usingpseudo-inverseofJacobianmatrixtosolvedifferentialmovementandusingNewton-Raphson iterationtoapproximatetargetposition.Jacobianmatrixisestablishedaccordingtoforwardkinematics, usingSVD decompositionofHouseholdertoavoidthesingularityproblem.Thisalgorithmhasgoodandfastlocalconvergence, andcanachievehigherprecisionandtheidealspeed.ThealgorithmisrealizedonanARM9-basedembedded system.Thecorrespondingtestsshowthatthealgorithmisreal-timewhichcanmeetsystemrequirements.Itcanbe appliedtoreal-timerobotcontrolsystem;6 degreeoffreedom(DOF)rotaryjoinot Keywords:robot;motioncontrol;differentialmotion;6 degreeoffreedom(DOF)rotaryjoint 0 引 言 随着工业自动化 程度的不 断提高, 机 器人特 别是 6自 由度旋转关节机器人 以其较少的冗余和较大的自由度得到 了广泛的应用。 现代 工业机 器人多 采用在线 编程 的方式, 要求在满足必需的 精度的 前提下达 到较快 的速度, 这就 使 得作为机器 人控 制基 础的 运动 学问 题受 到越 来越 多的 重 视。 运动学分为正运 动学和 逆运动 学, 前 者一般 采用齐 次 坐标变换法 [ 1] , 此 种算 法简 单可 靠, 比 较成 熟。 后 者由 于 机器人本体的多变性 , 至 今没有 成熟的 算法 [ 2] 。 国内 的研 究一般集中 在 Puma560 或类 Puma560 等符 合 Pieper准 则 的机器人上, 如程 永伦 等人 [ 3, 4] 利用 旋转 子矩 阵正 交的 特 性, 通过矢量运 算构 造方 程等 方法 提高 了求 逆 解的 速度。 由于机器人的生产、装配 及使用 磨损等 不可避 免的会带 来 收稿日期 :2010— 04— 12 *基金项目 :国家自然科学基金资助项目 (60574051) 误差, 甚 至一些机器人在 设计时 就不 符合 Pieper准则。 针 对此时求解困难的问题, LeeHY等人 [ 5, 6] 通过 矢量乘法 运 算找到 14个线性无关的逆运动学方 程, 利用分离变量消 元 法将逆运动学问题简 化为关 节变量半 角正切 的一 元 16 次 方程求根问题, 但 此算法得到的运动学解不唯一, 需要进 一 步验证各解正确性并建立取优策略, 增加了算法运算量;金 媛媛等人 [ 7] 将局部 搜索 能力 强的 模拟 退 火算 法与 全局 搜 索能力强的遗传算法 相结合 提出了一 种逆运 动学解 法, 虽 然能达到一定的精度, 但程 序需要 占用较 大的存 储空间 且 存在迭代次数多、运算量较大的问题, 在嵌入式系统上难 以 达到较高的 实时 性。 本文 以雅 克比 矩阵 和 微分 运动 为 基 础, 提出 了一种用牛顿 —拉夫逊迭代法来求逆运动学解的 方 法, 采 用基 于 豪斯 霍 尔 德 的SVD分 解 求 雅 克比 矩 阵 的 伪
第 10期          王 宪, 等:基于牛顿 —拉夫逊迭代法的 6自由度机器人逆解算法            117 逆来解决奇异性问题, 通过迭代可以得到 逆运动学 唯一解, 此解等同于按能量最小原则确 定的最终解。 算 法参数和所 需存储 空间均较少, 借助牛顿 —拉夫逊迭 代法的局部快速收 敛性, 以较少的迭代次数即可得到所需精度的解。 1 正运动学 正运动学是解决 如何将机器人的关节坐标 系转换到笛 卡尔坐标系的问 题。 本 文采用 齐次 坐标变 换法, 建 立机器 人 DenavitHarten-berg(DH)坐标系, 如图 1, 其中, X0Y0Z0 基坐标系, 其余为关节坐标系, a表示关节间杆件长 度。 为 图 1 DH坐标系 Fig 1 DHcoordinatesystem   根据 DH法则与定义的 4个连杆参数[ θαad] , 可得 从坐标系 Xn-1 Yn-1Zn-1到坐标系 XnYnZn的变换关系为   n-1 Tn=An=Rot(z, θn)×Trans(0, 0, dn)×  Trans(an, 0, 0)×Rot(x, αn) = cosθn -sinθncosαn sinθnsinαn ancosθn sinθn cosθncosαn -cosθnsinαn ansinθn 0 0 sinαn 0 cosαn 0 dn 1 . (1) 从基座开始到末 端执行器的总齐次变 换公式 即为 T= A0 A1 A2A3 A4A5。 2 逆运动学 逆运动学是解决 在已知机器人位姿的条件 下如何求解 各关节角度 的问题。 牛 顿 —拉夫 逊迭 代法有 收敛 速度 快和 自我校正的优点 [ 8] , 上次迭 代产生 的误 差不会 传递 到下次 迭代中, 它是解非线 性方 程组的 一个 重要 方法。 为 了解决 迭代法中雅克比矩 阵奇 异或病 态时 无法进 行迭 代的 问题, 本文用伪逆代替雅克 比矩阵的伪逆 [ 8, 9] , 使得算法的应用范 围更加广泛。 合式(2)可得 v ω =J(θ)dθ dt=lim Δt※0 1 ΔtD , 即 Jdθ=D . (3) 雅克比矩阵 J中的每 个元素可由对应的运 动学方程 对 其中一个关节 变量 θi的 导数求 得。 对 式(3)两 边左 乘 J+ 得 dθ=J+D . (4) 由于 J可能 是一 个非 满秩 的方 阵, 所 以, 此 处 J+为 J 的伪逆。 由 如 下方 法 计 算, 对 J进 行 基 于 豪 斯 霍 尔 德 的 SVD分解得到 J=U∑ V*(U为上三角矩阵, ∑ 是一个对 角 矩阵), 变形后可得 J+ =V∑ +U*(∑ +是将∑ 转置, 并将 其 主对角线上每个非零元素 求倒数得到的, U*为 U的共轭 转 置)。 此时关节角增量 dθ=V∑ +U* D . 式(5)即为建 立的牛顿 —拉夫逊迭代法的修正方程。 下面进行微 分运动向量 D的求解。 用微分算子乘以一 (5) 个坐标系将导致 坐标系的变化, 微分算子可由式(6)求得 Δ =Trans(dx, dy, dz)×Rot(k, dθ)-I 1 0 0 1 0 0 = 0 dx 0 dy 1 dz 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 =   0   1 -δz  δy 0  δz  1 -δx 0 -δy  δx  1   0  0  0   0 -δz  δy dx  δz   0 -δz dy -δy  δx   0 dz   0   0   0 1 0 - . (6) 微分运动可 以表示为由当 前位姿 Tcur运动到 目标位 姿 Tend Tend=Tcur(I+Δ), 即 Δ=Tcur (7) -1 Tend-I. 结合式(6)、式(7)可求 得 dx, dy, dz及 δx, δy, δz的值, 即得到微分运动 向量 D。 综上所述, 采用牛顿 —拉夫逊迭代 法求一般 6 自由度 旋 牛顿 —拉夫逊迭代法 需要用到微分运动 和雅克比 矩阵。 转关节机器人逆 运动学解的步骤为: 定义 6自由度旋转关节机器人关节坐 标系的广 义速度为线 速度 v和角速度 ω组成 的 6维 列向 量, 微分运 动则 描述为 微 分平移 d和微分旋转 δ组成的 6维列向量 D, 可由广义速 度对时间的导数求得 , 即有 v ω =lim Δt※0 1 Δt d δ =lim Δt※0 1 ΔtD . (2) 6自由度旋转关节机器 人笛卡 尔空间 的广义速 度和关 节空间的关节速度可 通过 6 ×6雅克比矩 阵 J相互 转换, 结 1)根据当前机 器人 的关节 角度 运用 正运 动学 求得 当 前位姿 Tcur(或直接用上次计算保留的当前位姿)。 2)以机器人末端坐标系作 为微分运动 的参考坐 标系, 设目标位姿为 Tend, 根据 当前 位姿计 算微 分运 动矩 阵:Δ= curTend-I, 根据式(6)的相应元素得到微分运动向量 D。 T-1 3)将正运动学方程各式分 别对各关节 角求导, 得到 雅 克比矩阵 J, 进 一步 建 立 牛 顿 —拉夫 逊 迭 代 法的 迭 代 方 程 Jdθ=D。
                   传 感 器 与 微 系 统                    第 29卷 118 4)对 J进行 SVD分 解并 变 形 求得 J的 伪 逆 J+, 由 dθ=J+(θ)D计算得到 dθ。 5)计算‖ dθ‖ , 设定一个 满足精度的 充分小的 数 eps, 当‖ dθ‖ ≤eps时, 退 出循环 并输 出当 前位姿 Tcur;当 循环 次数大于 N时, 循环 结束并 输出 失败信 息, 其中, N为满足 预定 循环 次 数 要求 的 自定 义 充分 大 的 整数;当 ‖ dθ‖ > eps, 且循环次数小于 N时, 令 θcur=θcur+dθ, 并计算 Tcur, 重 复步骤(1)至(5), 直至满足循 环退出条件, 此时 θcur即为满 足条件的机器人各关 节角度。 由于采用的是逐渐逼近目 标位姿的求解 策略, 所以, 不 存在多解问题, 迭代时 会趋近 于距 离当 前关节 角最 接近的 角度。 3 验 证 本文 所使用 的硬件 为一台 6自由度 焊接机 器人, 具有 6个旋转关节, 采 用基于 S3C2440(主 频 400MHz)的 嵌入式 系统通工业 以 太网 控制 驱 动器 驱 动 6 台 电机, 采用 Linux (版本 2.6.15)开源操作系统作为软 件平台, 应用程 序使用 面向对象的 C++语言编写, 系统结构如图 2。 图 2 系统结构框图 Fig2 System structurediagram   设定最大循环次 数为 N=100, 精度 eps=10 -6, 初始位 姿 Tcur= 1 0 0 0 0 1 0 0 0 0 1 0 。 0 0 0 1 3.1 算法正确性测试 对图 3所示 三角形 的三条 边进行焊 接实验, 设 各顶点 别为 A(-0.985 023, -19.378 845, 32.918 547), B(23.452 674, 8.329 251, 14.181 958), C(-2.186 015, -24.791 642, 14.181 958)。 为 了使 机 器人 末端 执 行器 沿三 条 边精 确运 动, 每条边 各取 70个等 分点, 分别 用本文逆 运动学 算法计 算对应的关节角度。 试 验时 机器人 从 A点 开始 焊接, 并沿 三条边依次经 B点、C点 后 再返 回到 A点, 此 过 程机 器人 6个关节的 角度变化情 况如图 4 所示。 将得到 的关节角度 代入正运动学中得 到末 端执行 器的 坐标, 此坐 标和 三角形 三条边上各等分点 相吻 合, 表 明算 法能 够正确 计算 逆运动 学解, 并达到所需要的精度。 3.2 算法迭代次数 迭 代次数 是衡量算 法收敛 性能好 坏的重 要指标, 根据 不同的精度, 取 1000次计算分别记录 逆运动学算 法迭代次 数, 结果取平均值, 如表 1。 在操作 机器人 时可以由 精度和 迭代次数的关系, 根据实际需要设置。 图 3 需要焊接的三角形图 Fig 3 Diagram oftriangleneededtoweld 图 4 各关节角的变化图 Fig4 Diagram ofvariousjointanglechanges 表 1 不同精度下的迭代次数 Tab 1 Numberofiterationsunderdifferentprecision 精度(rad) 10 -3 10 -6 10-9 迭代次数 23 47 60 3.3 算法性能测试 算法所用时间的长短 直接影响到机器人实 际控制时 的 实时性, 本次测试在基于嵌入式系统的 焊接机器人 上进行, 逆运动学结果精确到小数 点后 6位, 取 1 000次 计算并记 录 算法所用时间, 结果取平均值, 如表 2所示。 表 2 算法所用时间 Tab 2 Timeofalgorithm spent 正运动学 逆运动学 SVD分解 69.425 92.572 算法 时间(ms) 9.805   对雅克比 矩阵 进行 SVD分解 所用 的 时间 占到 了逆 运 动学算法总时间 的 75%, 可见 雅克比矩阵 分解算 法对整 个 逆运动学 解 法的 执行 时 间有 较大 影 响。 本文 采 用的 SVD 分解法虽然增加了 算法 的执行 时间, 但 很好 的解决 了雅 克 比矩阵奇异性 问题, 使得 算法 应用范 围更 广。 在本 嵌入 式 系统平台上, 对文献[ 3] 所提 算法进行 试验, 结果 虽然比 文 中算法所用时间 略短, 但 文献[ 3] 的算 法所得 为多解, 需 要 进一步确定最 优解, 再次 增加 了算法 时间 和复杂 性。 考 虑 到在此嵌入 式系 统平 台 上控 制机 器 人的 伺 服周 期为 微 秒 级, 文中所提算法完全能 够达到 所需要 求, 且 比文献 [ 3] 算 法更具优势。 4 结 论 本文在嵌入式系统上实现了一种一般 6自由度旋转关节 (下转第 131页)
第 10期            吴立恒, 等:电容式倾斜传感器在地壳形变测量中的应用              131 图 3 倾斜传感器标定曲线 Fig 3 Calibrationcurveoftiltsensor 数据。 图 4, 图 5, 图 6是倾斜仪在漳州台工 作的数据节选。 图 6 南北向倾斜传感器记录到的印尼两次 7 级地震的同震响应 Fig6 North-southtiltsensorrecordedamagnitude7 level earthquakeinIndonesiatwicetorespondtothesameshock 漳州实现安装, 工作环境恒温又无大的 振动干扰, 较好地 记 录到地球固体潮 汐变化曲线, 地震发生 前、地壳 的异常变 化 和地震发生时的震 波, 为地 震研究 工作 提供 了丰富 的数 据 和依据。 参考文献 : [ 1]  欧阳祖熙 , 张  钧 , 陈  征 , 等 .地壳 形变深 井综合 观测技 术 图 4 东西向倾斜传感器观测曲线节选 的新进展 [ J] .国际地震动态 , 2009(11):1-13. Fig 4 Observationcurveexcerptofeast-westtiltsensor [ 2]  何成平 , 欧阳 祖熙 .倾斜 形变观测 技术发展 综述 [ J] .地壳 构 造与地壳应力文集 , 2006(18):149 -157. [ 3]  邱 泽华 , 谢 富仁 , 苏恺 之 , 等 .发 展钻 孔应 变 观测 的战 略 构 想 [ J] .国际地震动态 2004, 301(1):7-14. [ 4]  黄  立 , 武立 华.二维垂 直摆倾斜 仪对地倾 斜的响 应 [ J] .哈 尔滨工程大学学报 , 2006, 27(3):469 -473. [ 5]  马鸿 钧 , 孟 保 成 .一 种 测量 地 壳微 形 变的 竖直 摆 倾斜 传 感 图 5 南北向倾斜传感器观测曲线节选 器 [ J] .传感器技术 , 1998, 17(6):36-38. Fig 5 Observationcurveexcerptnorth-southtiltsensor [ 6]  欧阳祖熙 , 张宗润 , 何成平 .基于 感应耦合比率臂 的高精度 位 4 结 论 电容式倾斜传感 器灵敏度高(2 ×10 -4 ″)、线性好、预调 节动态范围大, 能 够很 好地满 足深 井安装 的要 求。 将其 集 成在深井地壳形变宽频带多分量的综合观测 系统里。 在福建 移测量系统[ J] .电子技术应用 , 2004(4):41-43. 作者简介 : 吴立恒 (1980-), 女 , 浙江宁 波人 , 硕士 , 助 理研 究员 , 主要 从 事地震前兆仪器传感器的研究 。 (上接第 118页) 机器人运动 学算 法, 并作 了相 应的 测试, 结 果表 明 基于 牛 顿 —拉夫逊迭代法的逆 运动学 算法能 够在满 足实 时性要 求 的前提下达到较高的 精度, 具有较好的实用性。 参考文献 : [ 1]  王  浩 , 谢存禧 .基于回 转变换 张量的 6R机 器人 运动 学研 究 [ J] .厦门大学学报 , 2005, 9:640-644. [ 2]  于艳秋 , 廖启征 .基于有理数运算的一般 6R机器人位置逆解 算法 [ J] .机械工程学报 , 2005, 41(3):229-233. [ 3]  程永伦 , 朱世强 , 刘松国 .基于旋转 子矩阵正 交的 6R机 器人 运动学逆解研究 [ J] .机器人 , 2008, 3:160 -164. [ 4]  刘松国 , 朱世强 , 王宣银 .基于矩阵分解的一般机器人 实时高 精度逆运动学算法 [ J] .机械 工程学报 , 2008, 11(11):304 - 309. rithmfortheinversekinematicsofageneralserial6Rmanipula- tor[ J] .MechanismandMachineTheory:2007, 42(1):66 -81. [ 6]  LeeHY, LiangCG.Anewvectortheoryfortheanalysisofspa- tialmechanisms[ J] .Mechanism and MachineTheory, 1988, 23(3):209-217. [ 7]  金媛媛 , 秦  伟 .机器人逆 运动学的模拟退 火自适应遗传 算 法 [ J] .机械与电子 , 2007(1):31-38. [ 8]  谭  营 , 何振亚 , 邓  超 .一种机器人逆运动学求解的神经 网 络方法 [ J] .电子科技大学学报 , 1998(3):310-314. [ 9]  YangSX, MengM.Anefficientneuralnetworkmethodforreal- timemotionplanningwithsafetyconsideration[ J] .Roboticsand AutonomousSystem, 2000, 32:115-128. 作者简介 : 王  宪 (1955-), 男 , 江苏无锡人 , 学士 , 高级工程师 。 研究 领 [ 5]  ManfredLH, MartinP, Hans-PeterS.Anewandefficientalgo- 域为智能控制系统 , 现场总线 。
分享到:
收藏