Vol.36 No.18 Computer Engineering ·人工智能及识别技术·
文章编号:1000—3428(2010)18—0232—03
文献标识码:A
2010年9月
September2010
中图分类号:TP391.41
机器人捕捉运动目标的动力学视觉伺服方法
邝宏武1,郝矿荣1,丁永生1,2
(1. 东华大学信息科学与技术学院,上海 201620;2. 数字化纺织服装技术教育部工程研究中心,上海 201620)
摘 要:提出一种机器人捕捉运动目标的动力学视觉伺服方法。基于位置阻抗控制器,通过双目立体视觉检测并跟踪运动目标的位置,结合CMAC网络,采用以视觉阻抗的二次型为训练目标的学习型视觉阻抗控制器,用于克服控制器对系统结构参数变化适应性差的缺点,并对阻抗参数进行优化。实验结果表明,该视觉伺服方法在机器人捕捉运动目标时具有良好的动力学特性和轨迹控制效果。 关键词:运动目标捕捉;视觉阻抗控制;CMAC网络;Kalman滤波器
Dynamics Visual Servo Method for Robot’sGrasping Moving Object
KUANG Hong-wu1, HAO Kuang-rong1, DING Yong-sheng1,2
(1. College of Information Science and Technology, Donghua University, Shanghai 201620, China;
2. Engineering Research Center of Digitized Textile & Fashion Technology of Ministry of Education, Shanghai 201620, China)
【Abstract】This paper proposes a dynamics visual servo method for robot’s grasping moving object. The motion object target position is detectedand tracked by dual stereo vision. With CMAC network, a learning visual impedance controller taking the quadratic of vision impedance as trainingtarget is adopted. It promotes the adaptability of position controller of the system structure parameters, so the impedance parameters are optimized.Experimental results show that the dynamics characteristics are improved and a flexible trajectory control is obtained with the method. 【Key words】moving object grasping; vision impedance control; CMAC network; Kalman filter
1 概述 机器人捕捉运动目标是指机器人基于视觉伺服控制完成运动目标的跟踪和抓取,是智能机器人的一个前沿应用课题,在工业、航天和娱乐等领域有良好的应用前景。在运动目标的捕捉中,机械手必须跟踪并接近目标;另一方面,必须能够感知环境以避开可能的障碍,这需要很高的实时性和抗干扰能力[1]。此外,系统还受动力学约束、关节几何约束等限制,而这一切都必须在实时的条件下完成。 在运动目标捕捉问题中,机器人工作空间与关节空间的时变非线性映射关系易使运动规划超出关节的驱动能力,从而造成机器人运动偏离期望的轨迹,特别是在机器人高速抓取运动目标及避障时,会引起严重问题。本文采用动力学视觉伺服方法,可以实现6R机器人对检测出的运动目标进行实时平稳的跟踪和捕捉。 成运动目标捕捉任务,系统硬件结构如图1所示。 zS1yh双目摄像机OzhyS2xhS1:6R机器人S2:运动目标Ox 图1 动力学视觉伺服控制系统硬件结构 2 机器人捕捉运动目标的视觉伺服 2.1 机器人的动力学视觉伺服 视觉伺服控制是一门多学科交叉的研究领域,先由视觉系统采集图像并进行相应处理,然后通过计算估计感兴趣目标的位置来控制机器人运动。 视觉反馈使机器人可以更好地与环境进行交互。传统的视觉伺服以位置或速度作为反馈输出量,不能实现力约束。动力学视觉伺服根据视觉检测结果,计算机器人的加速度和关节转矩,实现机器视觉的力反馈作用。 2.2 机器人捕捉运动目标控制系统结构 运动目标捕捉系统硬件结构包括6R机器人、双目立体视觉系统和一台PC,待捕捉目标在台面上运动。控制系统以视觉传感器和关节传感器的反馈信息为输入,对输入信息进行预处理,并采用动力学视觉伺服模块,控制6R机器人完 ——232
在该视觉伺服控制模块中,阻抗控制能有效利用视觉、力觉和位置编码器等传感器装置获得的环境信息,使机器人与环境有更好的交互作用。有研究表明,人手的阻抗在多关节运动时起很重要的作用[2],人能在不改变手臂位置和方向的同时,轻易改变其刚性、阻尼等阻抗参数。Y.Nakabo提出了视觉阻抗的概念,并建立了一套视觉阻抗算法,文献[3]应用视觉阻抗控制实现机械手的避障,并引入关节阻抗实现了柔顺控制的效果;D.M.Katic等在阻抗控制中采用神经网络对环境中的不确定信息进行学习,对阻抗控制参数进行一定的补偿。因此,若能实现较理想的视觉阻抗控制,就能做到柔基金项目:国家自然科学基金资助项目(60775052);国家自然科学基金资助重点项目(60534020);上海市科学技术委员会重点基础研究基金资助项目(09JC1400900);上海市人才发展资金资助项目(001); 上海市领军人才后备人选专项资金资助项目
作者简介:邝宏武(1984-),男,硕士研究生,主研方向:机器视觉,机器人控制;郝矿荣,教授、博士后、博士生导师;丁永生,教授、博士、博士生导师
收稿日期:2010-03-09 E-mail:krhao@dhu.edu.cn
顺地捕捉运动目标。 通过机器视觉,可以检测并计算出机器人末端和待捕捉运动目标的位置信息。假定机器人末端与运动目标之间存在虚拟接触力FE,FE按二阶阻抗模型,根据视觉反馈信息进行计算。FE在机器人自由运动时能引导机器人末端接近运动目标,在进入受限状态后,能减小机器人的运动超调量,使得运动目标捕捉过程具有柔顺的特性,如图2所示。 X(t)FFEEX(t)Xd(t)Xd(t)虚拟接触面虚拟接触面 (a)自由运动阶段 (b)受限运动阶段 图2 运动目标捕捉系统硬件结构 2.3 基于Kalman滤波器的视觉反馈信息处理 在机器人视觉伺服控制中,实时性问题是一个难以解决的重要问题,图像采集和处理速度较慢给系统带来明显的时滞,因此,需要对视觉反馈信息的测量误差进行滤波处理。 对于运动方程易于建模的情况,可直接求解运动方程参数来实现预测。如Giorgio C.Buttazzo等采用二阶滤波器进行数字滤波,然后建立直线运动方程对目标实现运动估计,这种方法针对的是可以预先估计的目标运动模型。另外,粒子滤波在处理非线性运动目标跟踪问题上具有特殊的优势[4],但是需要用大量的样本数量。 捕捉运动目标时,目标轨迹模型难以预先确定,Kalman滤波器对模型先验知识的依赖性小,能有效抑制运动目标视觉检测误差的干扰,其计算量小、可实时计算的特点符合视觉信息实时反馈的要求。采用三维卡尔曼滤波器对运动目标点进行跟踪[5],可以减小由于遮挡产生的检测数据的不连续性,并缩小图像搜索范围。Kalman滤波器的系统运动方程为: xk=Axk−1ω+Buk+ωk (1) 其中,xRn,xTTk∈0=⎡⎣x0xT
0⎤⎦是运动目标的位置状态向量;随机信号ωk表示过程激励噪声;uk是控制变量;n×n阶增益矩阵A将上一时刻k−1的状态线性映射到当前时刻k的状态,n×l阶矩阵B代表可选的控制输入uk∈Rl的增益。 量测方程为: zk=Hxk+vk (2) 其中,vk表示观测噪声;m×n阶矩阵H表示状态变量xk对测量变量zk的增益。实际中显然不知道每一时刻噪声wk和vk各自的值,但是可以认为目标在一定时间内是静止的,因此,将它们假设为0。图3给出了原始轨迹经滤波后平滑而得到的沿目标运动方向的预估位置,证明Kalman滤波器能对视觉检测中存在的误差和滞后影响起一定的补偿作用。 800700含测量误差的原始轨迹Kalman滤波后轨迹600m500m/y40030020010000100200300400500600x/mm
FM
XX
D
XX
KXX (3) 其中,FE为理想阻抗或期望的动作;X为手爪位置;Xd为末端的期望轨迹,在运动目标捕捉时为运动目标的轨迹;目标位置Xd=0,Xd
=J⋅q;MI为机器人的惯性系数矩阵,在有较大加速度的高速运动或会产生冲击的运动中影响较大;DI为阻尼系数矩阵,在中速运动或有较强干扰作用时影响较大;KI是刚性系数矩阵,在平衡状态附近的低速运动时影响较大。 机器人的动力学模型为: M(q)q
+h(q,q)=τ−JT⋅FE (4) 手爪的加速度为: Xe
=Jq+Jq (5) 控制力矩可表示为: τ=M(q)J−1(q)(Xe
−Jq)+h(q,q)+JT⋅FE (6) 假设机器人缓慢动作,且不考虑摩擦等影响时,可以认为Xe
=0、Jq=0、h(q,q)=0,则: τ=JT⋅FE (7) 阻抗控制需要传感器检测末端和目标的接触力,而视觉阻抗控制根据末端和目标的相对位置计算出阻抗力。随着计算机视觉技术的发展,可以对运动目标进行实时的视觉检测,获取机器人末端和运动目标的位置,将视觉反馈信息与阻抗控制相结合,使机器人系统跟踪目标阻抗,并保证阻抗跟踪误差的渐近收敛。 为了确保机器人末端与运动目标之间不产生刚性冲击,假定运动目标存在虚拟的包围球接触面,定义其半径为Rb,则机器人末端与运动目标的刚性距离可定义为: ΔX′=⎛⎜Rb
⎞
⎜1−
X⎟⎟X−X ⎝
d−X⎠
(d) (8) 运动目标捕捉时,定义视觉阻抗为: FE=MIΔX+DIΔX+KI
ΔX′ (9) 基于视觉阻抗补偿的运动目标捕捉系统结构如图4所示,其根据视觉阻抗反馈控制机器人末端快速接近运动目标,实现对运动目标的捕捉。 XX(t)−X(t)hˆ(t)关节传感器(t)+ΣX−ΣEK++UDMˆ++τ6R机++Σ++ΣΣ+JT器人X(t)−EΣKPXU−1pFEdXdXd+F机器EMPΔX+DPΔX+KPΔX′视觉视觉阻抗补偿反馈 图4 位置型视觉阻抗控制系统结构 —233—
在该位置型视觉阻抗控制器中,输入信号为: U=Xd+KD(Xd−X)+KI(Xd−X) (10) τ=JT(Mˆ(U+FEM-1I)+hˆ+FE)=JT(αMUˆ+hˆ+Fv) (11) Fv=MFEM−1I+FE (12) 位置型视觉阻抗控制方法以精确的分解运动加速度控制为基础,通过关节传感器反馈和视觉信息反馈计算控制量。但是由于机器人动力学模型本身的不精确,视觉阻抗补偿量适应性差,控制系统的鲁棒性差,因此借助CMAC网络动力学进行补偿优化。 3.2 基于CMAC网络的动力学补偿优化 传统的阻抗控制要求精确的机器人模型并且环境已知,固定的阻抗参数对运行过程的适应性差,易产生超调和振荡。人能够通过学习调整自身的阻抗控制策略,很容易实现运动目标的捕捉。基于CMAC网络的视觉阻抗反馈补偿能根据视觉反馈误差,对位置控制器的输出进行补偿,确保得到平稳柔顺的期望阻抗。 小脑模型神经网络是1972年由J.S.Albus提出的,本质上可看作是一种用于表示复杂非线性函数的查表结构。CMAC方法相比其他神经网络方法收敛快,学习精度高,具有很强的泛化能力,学习速度非常快,适用于在线学习控制,在控制领域得到了广泛的应用[7]。 本文采用Hash映射的CMAC网络结构,CMAC网络的输出为:Fv=(fv0,fv1,\",fvi,\",fvn−1),则第s个状态对应的输出为: FvTTs
=As
W=Cs
HW (13) 其中,Cs是存储单元激活向量;H是Hash矩阵;W是CMAC网络的权值矩阵。CMAC网络输入S=[ΔX
,ΔX,ΔX]是笛卡尔坐标系下的手爪和运动目标间的位置差,也可以是图像坐标系的视觉差。以视觉反馈信息作为CMAC网络在线学习的误差训练信号,定义在线学习目标函数为视觉阻抗的二次型: JTon=(1/2)FEFE (14) 不断更新权值的规则,使Jon最小,即通过最小化视觉阻抗FE实现机器人末端柔顺地靠近运动目标。输入向量S的维数为n,可以根据式(12)计算∂J
on
∂Fv,则在第k+1时刻的输出n期望值为: Fˆvn(k+1)=Fvn
(k)−η∂Jon∂Fv
(15) n其中,η为学习率。 采用误差反向传播更新权值[6],在线迭代学习算法可以表示为: Wmn(k+1)=Wmn(k)+
amn
NAmn(k)⎡ˆv(k)−AT(k)W(k)⎤ e
⎣fnmnmn⎦ (16) 其中,m,n=1,2,\",6;Wmn(k+1)表示k+1时刻第m个输入子空间对于第n个输出的联想强度向量;Am(k)表示k时刻第m个输入子空间对于Wmn(k)的激活向量;amn为在线学习率。 定义补偿控制因子为: α=
X(t)−Xd(t)X(0,1) (17) 0(t)−Xd(t)
,α∈在运动开始时,CMAC还未得到训练,置Wmn(0)=0,补偿作用小,随着手爪接近运动目标,增大CMAC网络的补—234
—偿作用,逐渐从反馈过程过渡到前馈过程,从而改善控制性能。经补偿,机器人的控制输入量为: τ=αFp+(1−α)Fv=JT(αMU
ˆ+αhˆ+(1−α)Fv) (18) 4 仿真实验 为了验证视觉阻抗控制算法的实际控制效果,使用6自由度模块化机器人AS-MRobot模型对其作业范围内的运动小球进行捕捉。采用Triclops双目立体视觉检测系统,在机器人坐标系下对摄像机进行固定和标定。基于VS2005平台,结合C++计算机视觉函数库OpenCV1.1和机器人运动仿真库Roboop1.31,控制6R机器人对台面上的运动小球进行捕捉。 本文计算方法选取的机器人末端惯性增益系数为MI=[0.010.010.01],阻尼增益为DI=[0.010.030.02],增加DI可以抑制机器人在接近运动目标时超调,刚性增益系数为KI=[0.10.20.1],KI取决于机器人与环境接触所需的刚度。CMAC网络的输入为位置状态向量:S=[Δx,Δx,Δx, Δy,Δy,Δy,Δz,Δz,Δz],泛化参数C=5。 随着手爪不断接近运动小球,视觉阻抗减小,当达到设定的极小阈值时,进行目标捕捉动作。在机器人运动控制中,进行视觉阻抗补偿比单一的位置型视觉阻抗伺服控制器有更平稳的控制效果,使手爪能更柔顺地接近运动目标,减小由于控制量太大引起的机器人运动时产生的抖动,同时跟踪时间上会有一定的增加,目标捕捉结果见表1。 表1 机器人捕捉运动目标的伺服控制结果 伺服控制方法 时间/s 平均视觉阻抗/N 位置型 4.3 135 位置型视觉阻抗 3.5 70 CMAC网络补偿 3.9 46 手爪在笛卡尔坐标系下的运动目标捕捉轨迹如图5所示,证明本文算法应用在运动目标捕捉任务时具有较好的控制效果。 Kalman滤波后轨迹300机器人末端轨迹m/mz250200600运动目标轨迹400y/mm4002002000-200x/mm
图5 机器人运动目标捕捉轨迹 5 结束语 本文给出了一种面向运动目标捕捉的、具有一定学习能力的动力学视觉伺服方法,能够根据视觉反馈直接对机器人末端的阻抗力进行控制。并对控制结果进行了优化,使机器人对模型参数误差和标定误差具有强鲁棒性。实验结果表明,利用视觉阻抗提高了机器人在捕捉运动目标时的平稳性,提高了机器人对环境的适应能力,为机器人能执行更多复杂的任务提供了良好的基础。关于滞后补偿和不确定性补偿需要经过大量实验测试,这些将在后续工作中总结。 (下转第237页) 仿真体系框架构建的一个实现直升机任务效能评估的大型复杂系统。任务想定假设为一个红方某型直升机对蓝方某型坦克群攻击的仿真试验。系统不仅要集成武器火控、传感器仿真、电磁对抗、指挥与决策以及仿真运行管理等具有HLA接口的联邦成员,还要实现对不具有HLA接口的视景、音响等仿真子系统的集成和管理调度,后者的实现是通过仿真运行管理系统作为中转机,与RTI上的其他联邦成员进行交互。 系统中通过中转机实现对局域网内系统的集成和管理是重点和难点。本文初步构建了HLA/局域网仿真系统,集成了仿真运行管理(中转机)、数据管理、飞行动力学以及视景等子系统,分别运行在5台PC机上,结构如图3所示。 视景仿真运行管理HLA/RTI音响-1.451 80-1.451 85-1.451 90飞行坐标Y/104实时数据处理后的数据-1.451 95-1.452 00 -1.452 05 -1.452 10-1.452 1520406080100120140160180200仿真时间/ms 图5 处理前后数据相对变化 飞行仿真 数据管理由图5可知,处理后“坐标Y”变化平滑,即经中转机的有限更新机制处理后,数据能够满足仿真步长为20 ms的视景子系统的需求。 实验证明,整个系统满足在设计之初设定的仿真步长等各项性能指标,满足系统功能设计的要求。特别对于局域网内的子系统,例如视景子系统,没有出现画面抖动等问题,采取的数据处理方法满足了系统交互的实时性及数据有效性。 操纵/负荷:操纵杆5 结束语 按照上述的结构设计、系统构建以及数据处理等方法,本文已构建了初步的HLA/局域网的异构仿真系统。经过测试,系统完全满足实时性和稳定性的要求。本文所采用的仿真结构为解决基于HLA集成非HLA接口的仿真节点的问题提供了方法,不仅充分利用了HLA/RTI框架的优点,而且在满足多种仿真需求的同时,使系统的开发和构建更加灵活方便,对今后构建大型的异构仿真系统具有很好的实用价值和参考意义。 参考文献 [1] 周 彦, 戴剑伟. HLA仿真程序设计[M]. 北京: 电子工业出版
社, 2002.
[2] 郭 斌, 范文慧, 熊光楞. 基于HLA的复杂产品多联邦协同仿
真运行管理研究[J]. 系统仿真学报, 2006, 18(5): 1212-1216. [3] 程 龙, 陈 勇, 李 岩. HLA/实时总线协同仿真结构研究[J].
微计算机信息, 2008, 24(19): 256-257.
[4] Kuhl F, Weatherly R, Dahmann J. 计算机仿真中的HLA技术[M].
付正军, 王永红, 译. 北京: 国防工业出版社, 2003.
[5] 徐勇波, 王行仁, 贾荣珍. 飞行仿真器联网仿真视景图像抖动研
究[J]. 系统仿真学报, 2005, 17(2): 414-416.
图3 小型仿真系统结构 在仿真进行过程中,由操纵杆控制飞行仿真子系统,各项飞行参数通过RTI传输到仿真运行管理(即中转机)和数据管理子系统。仿真运行管理子系统接收到的数据显示界面如图4所示,并对数据进行选择性的监控显示和存储,用专用的进程apiRTI.exe对数据进行处理后传输到视景和音响子系统;数据管理子系统对数据进行存储管理,以供事后分析。 图4 飞行仿真系统各项飞行参数 为了验证有限更新机制的有效性,在仿真运行管理软件的显示界面的飞行参数中选取“坐标Y”进行监控并存储。图5给出了某段时间内间隔40 ms采集的操纵杆的实时数据Y,以及在每隔20 ms就有数据需求的情况下,经过有限更新机制处理后的数据Y'。 (上接第234页) 参考文献 [1] Allen P K, Timcenko A, Yoshimi B, et al. Automated Tracking and
Grasping of a Moving Object with a Robotic Hand-eye System[J]. IEEE Trans. on Robotics and Automation, 1993, 9(2): 152-165. [2] Walker I D. The Use of Kinematic Redundancy in Reducing Impact
and Contact Effect in Manipulation[C]//Proc. of 1990 IEEE Conference on Robotics and Automation. [S. l.]: IEEE Press, 1990. [3] Tsuji T, Tanaka Y. Bio-mimetic Impedance Control of Robotic
Manipulator for Dynamic Contact Tasks[J]. Robotics and Autonomous Systems, 2008, 56(4): 306-316.
编辑 顾逸斐
[4] 蒋 旻, 许 勤, 尚 涛. 基于粒子滤波和Mean-shift的跟踪算
法[J]. 计算机工程, 2010, 36(5): 21-22.
[5] 晏剑云, 郑江滨, 李秀秀. 视频运动捕获系统中多标记点的三维
跟踪算法[J]. 计算机工程, 2008, 34(24): 206-207.
[6] Lippiello V, Siciliano B, Villani L. A Position-based Visual
Impedance Control for Robot Manipulators[C]//Proc. of 2007 IEEE International Conference on Robotics and Automation. [S. l.]: IEEE Press, 2007.
[7] 孙 炜, 王耀南. 一种CMAC网络模型及其在机器人控制中的
应用[J]. 动力学与控制学报, 2005, 3(3): 56-62.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
编辑 张 帆
—237—
因篇幅问题不能全部显示,请点此查看更多更全内容