在程序运行开始,先将蚁群随机分布于规则表上。在迭代过程中,蚂蚁每次从这n个规则中按每条规则的选取概率选取下1条规则。每只蚂蚁选中的规则列入该只蚂蚁的规则禁忌表中,在以后的选取中不再考虑。直到每只蚂蚁都选出l(l为指定的预选规则数,l
其中100表示所对应得规则没有选中。
当一次循环完成后,从所有蚂蚁形成的规划方案中选择具有最小目标函数值的规划方案,并与当前保存的最优方案进行比较。如果新方案比当前保存的最优方案进行比较。如果新方案比当前保存的最优方案还要好,那么用新方案代替当前保存的方案;否则维持当前的最优方案。重复上述过程直至达到最大迭代次数。
从上述的用蚁群算法优化控制规则表的操作过程可以看出,在形成一个可行解(即一个规则表)的过程中,蚂蚁是一条规则接着一条规则的选取,直到选出一个规则集合,构成一个规则表,这和遗传算法将规则表编码后看成一个染色体操作显然是不同的,这样操作有利于在形成规则表的过程中逐一的审视构成规则表的每一条规则,这就给对规则引入约束条件提供了可操作性。在本文中,为了避免产生的控制规则不连续,加入的约束条件为每一条规则的邻域窗口内至少有一条规则被选中。
为模拟实际蚂蚁的行为,首先引进如下记号:设m是蚁群中蚂蚁的数量,τj(t)表示t时刻在j规则节点上残留的信息量.初始时刻,各条规则上信息量相等,设τj(0)=C(C为常数)。蚂蚁k(k=1,2,...,m)在运动过程中,根据各条规则节点上的信息量决定转移方向,pj(t)表示在t时刻蚂蚁k由当前位置转移到位置j值得注意的是本文中的蚁群算法和传统的应用于TSP问题的蚁群算法不同的是:并没有定义启发式信息(在TSP问题中为城市间距离的倒数)。原因是,对于文中的问题不存在这样的启发式信息。在文献[7]中提到,由于信息激素在算法的开始时设为同等强度的随机值,在算法开始阶段,信息激素并不能很好的指导蚂蚁找到好的初始解,也可能找到非常坏的解,这样对算法就产生了错误的收敛导向,而启发式信息的主要作用正是在算法开始阶段导引蚂蚁向好的解上留下信息素。所以当算法加入了局部搜索的机制时,认为启发式信息没有必要也是合理的。这样既提高了计算的速度(在TSP问题中,启发式信息在城市间的转移概率中是乘积运算),又为蚁群算法应用在不能或者不易定义启发式信息的问题上提供了理论依据。在本文的问题中,启发式信息是不必要的。原因有二,一是本文的问题没法定义启发式信息,二是本文中定义的约束条件可以认为是一种局部搜索机制(保证规则表连续的局部搜索机制),定义启发式信息并不是十分必要的。
视觉系统控制规则
随着机器人技术的迅猛发展,机器人承担的任务更加复杂多样,传统的检测手段往往面临着检测范围的局限性和检测手段的单一性.视觉伺服控制利用视觉信息作为反馈,对环境进行非接触式的测量,具有更大的信息量,提高了机器人系统的灵活性和精确性,在机器人控制中具有不可替代的作用.
视觉
伺服控制系统是指使用视觉反馈的控制系统,其控制目标是将任务函数e(s¡s(m(t);a))调节到最小,其中s;s分别为系统的当前状态和期望状态.与常规控制不同的是,s基于图像信息m(t)和系统参数a构造,比传统的传感器信息具有更高的维度和更大的信息量,提高了机器人系统的灵活性.
视觉伺服系统通常由视觉系统、控制策略和机器人系统组成,其中视觉系统通过图像获取和视觉处理得到合适的视觉反馈信息,再由控制器得到机器人的控制输入.在应用中,需要根据任务需求设计视觉伺服系统的实现策略.从这三个方面对视觉伺服中存在的主要问题和研究进展进行综述.
视觉伺服控制涉及计算机视觉、机器人技术和控制理论等多个领域,国内外学者在过去20余年中进行了广泛的研究.Hutchinson等的三篇经典论文对视觉伺服控制的研究起到了引导作用.近年来,Staniak等和Azizian等分别对视觉伺服系统的结构及其在医疗机器人中的应用进行了综述.在国内的研究中,林靖等、赵清杰等、薛定宇等、王麟琨等、方勇纯分别对视觉伺服控制进行了综述,总结了经典的视觉伺服控制方法.
随着计算机视觉和机器人技术的飞速发展,视觉伺服控制的研究也有了显著的进步.相比于以往的综述,本文重点分析了视觉伺服系统设计中存在的主要问题及相应的解决方案.如图1所示,设计视觉伺服系统时主要需要考虑视觉系统、控制策略以及实现策略三个方面.在视觉系统方面,本文首先介绍了视觉系统的构造方法,并对动态性能的提升和噪声的处理进行了讨论.在控制策略方面,主要针对视觉伺服系统中模型不确定性和约束的处理进行了分析.另外,考虑到视觉伺服系统的可实现性和灵活性,文中对系统的实现策略进行了总结.最后,基于当前的研究进展,对未来的研究方向进行了展望.
1.视觉伺服中的视觉系统
首先介绍视觉系统的组成,然后对视觉系统动态性能的优化和噪声的处理方法进行分析和总结.
1.1视觉系统的组成
视觉系统由图像获取和视觉处理两部分组成,图像的获取是利用相机模型将三维空间投影到二维图像空间的过程,而视觉处理则是利用获取的图像信息得到视觉反馈的过程.
1.1.1相机模型
机器人传感器映射到球面,如重力向量、磁场向量或角速度等,从而可以设计
多传感器信息融合的
机器人控制器.
1.1.2视觉反馈
视觉伺服中的视觉反馈主要有基于位置、图像特征和
多视图几何的方法.其中,基于位置的方法将视觉系统动态隐含在了目标识别和定位中,从而简化了控制器的设计,但是一般需要已知目标物体的模型,且对图像噪声和相机标定误差较为敏感.目标识别和跟踪可以参考相关综述,下文中主要介绍基于图像特征和多视图几何的方法.
1)基于图像特征的视觉反馈
常用的基于图像特征的视觉反馈构造方法,其中基于特征点的方法在以往的视觉伺服中应用较为广泛,研究较为成熟,但是容易受到图像噪声和物体遮挡的影响,并且现有的特征提取方法在发生尺度和旋转变化时的重复性和精度都不是太好,在实际应用中存在较大的问题.因此,学者们提出了基于全局图像特征的视觉反馈方法,利用更多的图像信息对任务进行描述,从而增强视觉系统的鲁棒性,但是模型较为复杂,控制器的设计较为困难,且可能陷入局部极小点.目前针对这一类系统的控制器设计的研究还比较少,一般利用局部线性化模型进行控制,只能保证局部的稳定性.
2)基于多视图几何的视觉反馈
多视图几何描述了物体多幅图像之间的关系,间接反映了相机之间的几何关系.相比于基于图像特征的方法,多视图几何与笛卡尔空间的关系较为直接,简化了控制器的设计.常用的多视图几何包括单应性、对极几何以及三焦张量需要强调的是,两个视图之间的极点与相对姿态不是同构的,当极点为零时不能保证二者姿态一致,而只能保证二者共线,一般使用两步法补偿距离误差.单应性矩阵描述了共面特征点在两个视图之间的变换关系,可以唯一决定二者的相对姿态.对于非平面物体,可以结合对极几何的方法进行处理.结合单应性矩阵和极点构造了在平衡点附近与姿态同构的误差系统.中采用类似的思路,并利用图像配准的思想对几何参数进行估计.但是,由于模型复杂,文献中只提出了局部稳定的控制律.相比之下,三焦张量是一种更加通用的方法,对目标形状没有要求,且不存在奇异性问题.目前基于对极几何和三焦张量的方法还主要用于平面移动机器人的控制,在六自由度控制中的应用有待进一步研究.
1.2视觉系统动态性能的提升
相比于常规的
机器人传感器,视觉系统的采样频率较低,视觉处理算法的时间延迟较大,而且具有一定的噪声,这对视觉伺服系统的动态性能有很大的影响.近年来的研究主要从以下三个方面进行改进:采用高速视觉系统,提高处理速度和采样频率;使用分布式的网络化架构,提高算法的执行效率;设计观测器,处理视觉反馈中的噪声和延迟问题.
1)高速视觉系统
常用的数字相机的采样频率较低,一般在30fps左右.为了适应高速视觉伺服任务的需求,近年来研究者开发出各种高速视觉系统.高速视觉系统一般采用并行的结构,图像检测和处理都是以高速进行,从而可以达到高于1kHz的频率,方便进行高速运动物体的跟踪和柔性物体的识别,常用于快速反应的系统,但是受到硬件设备的限制,图像分辨率较低,物体表面纹理不清晰,难以描述复杂的场景,且系统较为复杂,开发和维护的成本高.对于这一类的系统,可以使用图像矩、核采样、互信息等全局图像特征,不需要特征点的提取,对图像分辨率的要求较低,相比之下控制精度更高.
2)分布式网络化的视觉系统
文献中提出基于网络化分布式计算的视觉
伺服控制系统,从分布在不同部位的传感器(如
视觉传感器、
光学传感器、雷达等)采集的数据通过网络传送到处理器节点进行处理,从而提高了视觉伺服系统的采样速度.文献中提出了视觉伺服系统中图像数据的传输协议及其调度策略.分布式的实现策略充分利用了多个网络节点的计算资源,从而更快地进行多传感器信息融合,但是其效率很大程度上依赖于网络的速度,并且网络化的系统增加了控制算法的复杂程度,特别是针对网络延时、故障的处理.
3)结合观测器的视觉系统
由于视觉设备的采样频率低,并且具有噪声,因此可以利用观测器对图像特征进行观测,从而应对噪声和延迟对系统的影响.在硬件条件限制下,使用观测器是最有效的改善视觉系统性能的方法.
卡尔曼滤波(Kalman¯lter)是一种常用的方法,对于视觉伺服系统这种非线性对象,可以使用扩展
卡尔曼滤波器.当噪声特征未知时,可以使用自适应或自整定的方法.另外,由于视觉系统处理时间较长,因此可能出现测量时间长于控制周期的情况,可以使用双速率卡尔曼滤波的方法对系统状态进行观测.
粒子滤波(Particle¯lter[55])可以用于非高斯噪声下的非线性系统,相比于
卡尔曼滤波的方法更加适合于视觉伺服系统的应用.其基本思想是通过随机采样获取概率分布,基于这些观测值,实际的概率分布可以通过调整采样的权重和位置得到.
虚拟视觉伺服(Virtualvisualservo[56])以重投影误差作为任务函数,设计虚拟控制律使其最小化,再将此控制律中得到的控制输入(速度、加速度)进行积分从而得到观测到的相机位置和速度,省去了目标识别、定位等耗时的过程.
1.3视觉系统噪声的处理
视觉系统的噪声主要来自于相机感光元件的噪声和视觉处理算法的误差,对控制系统性能有较大影响.视觉系统噪声的处理可以从以下4个方面入手:
1)设计鲁棒的特征提取算法图像噪声对图像特征的提取影响较大,尤其是基于像素梯度的局部图像特征,会出现特征点的误提取和误匹配,直接导致系统状态变量的误差,对控制系统的稳定性有很大的影响.常用的去除例外点的方法有RANSAC(Randomsampleconsensus)算法、霍夫变换、
最小二乘法以及M-estimators算法等.
2)使用观测器降低噪声的影响对于含有噪声的特征向量,可以利用观测器对其状态进行观测降低噪声的影响.常用的方法有Kalman滤波[52¡54]、粒子滤波[55]等.另外,在有些控制器中需要利用图像空间中的速度信息,由于图像采样频率较低且噪声较大,数值微分的方法存在较大的误差,此时也可以利用观测器对其进行估计
3)利用冗余的特征向量对于冗余的特征向量,可以利用每个特征点测量的统计特征描述该特征点的可靠性,在设计控制律时可以基于每个维度的可靠性设计加权矩阵,从而降低噪声较大或误匹配特征点对系统的影响.另外,也可以引入随特征点与图像边界距离递增的加权函数处理目标部分离开视野的情况,保证控制律的连续性,提高系统的容错性.
4)提高对目标的感知力图像对物体运动的感知力与特征点的选取以及物体姿态有关,当存在图像噪声时,不同的特征点选取对系统稳态误差有一定的影响,因此可以利用优化的方法选取最佳的特征点对任务进行描述[59].在控制的过程中,可以利用图像
雅可比矩阵的奇异值衡量对目标的感知能力.在任务零空间中优化轨迹以增强感知力,从而提高控制性能.
视觉伺服中的控制规则
在视觉伺服控制器的设计中,主要的问题在于模型不确定性和约束的处理.这是由于视觉模型依赖于目标深度、相机参数等未知或不精确的信息,并且在控制的过程中需要保证目标的可见,对系统的稳定性和动态性能有较大的影响.
2.1视觉伺服中模型不确定性的处理
针对模型不确定性问题,主要有三种解决方案,分别为
自适应算法、鲁棒算法和智能算法.自适应算法通过自适应环节在线调整模型,从而优化控制性能;鲁棒算法基于最优估计参数设计控制器,并保证对一定范围内参数摄动的稳定性;智能算法一般基于学习的策略应对参数不确定性.
2.1.1自适应视觉伺服控制
考虑到模型参数不确定带来的问题,研究者提出了一系列自适应的方法对模型误差进行补偿.自适应控制方法由控制律和自适应环节组成,通过自适应环节的在线修正保证系统的稳定性.自适应的方法可以分为参数自适应和
雅可比矩阵自适应方法.
由于特征点在图像空间的运动特性依赖于其深度和相机参数,从而可以在控制过程中根据控制输入使用当前估计参数将运动投影到图像空间,预测特征点的运动.预测值与实际观测的特征点运动之间的差异作为估计投影误差,可以通过迭代优化的方法使该投影误差最小化从而对参数进行在线估计.一种常用的自适应方法是结合Slotine等的思想,利用梯度法或其他搜索方法对特征点的估计投影误差进行在线最小化.
对于视觉伺服轨迹跟踪控制,常规的方法需要加入图像空间中的速度作为前馈项,而图像中的速度一般是通过对图像坐标信息的数值微分得到的,相比于关节空间的速度具有更大的噪声,尤其是当采样频率较低时具有较大的误差.因此,一些学者提出不需要测量图像速度的方法.这一类方法利用关节速度和估计的雅可比矩阵设计图像空间速度的观测器,并加入对相机参数和深度的自适应.因为机器人关节速度的测量是比较精确的,因此可以较好地改善数值微分带来的问题.
2)雅可比矩阵自适应算法
这一类的方法直接对雅可比矩阵进行在线辨识,由递推的雅可比矩阵辨识算法和控制律组成.常用的雅可比矩阵辨识方法如Broyden算法、加权递推最小二乘算法、Kalman滤波等.Pari等通过实验对比了使用递推
最小二乘法估计的雅可比矩阵和使用解析形式的雅可比矩阵时的控制性能,结果证明基于雅可比矩阵在线辨识的方法具有与基于解析形式雅可比矩阵的方法相差不多的控制效果和鲁棒性,而基于雅可比矩阵在线辨识的方法不需要大量对系统的先验知识和复杂的模型推导过程,但是其模型只在其训练的区域内有效.
2.1.2鲁棒视觉伺服控制
在基于图像的视觉伺服控制中,由相机参数、目标深度以及机器人模型误差造成的图像雅可比矩阵的不确定性会对控制效果产生影响,并可能造成控制器不稳定.为了保证在参数摄动的情况下的控制器的稳定性,可以在最优参数估计的基础上设计
鲁棒控制器,从而在一定的参数变化域内保证稳定性.
一种常用的思路是利用李雅普诺夫的方法设计鲁棒控制器,从而克服深度和标定误差、机器人模型误差以及机器人执行速度指令时的量化误差带来的不确定性问题.另一种思路是基于优化的方法,通过对性能指标的在线优化(如H2=H1指标、闭环系统的稳定域等)得到在具有参数不确定性时的最优控制输入.另外,滑模控制也是一种常用的方法,通过构造与系统不确定性参数和扰动无关的滑动面,并设计控制律迫使系统向超平面收束,从而沿着切换超平面到达系统原点.由于常规的滑模控制产生的控制输入是不连续的,可能造成系统的抖振,可以使用二阶滑模Super-twisting控制的方法解决此问题.
虽然基于鲁棒控制的方法一般都具有对参数变化和扰动不敏感的优点,但是通常需要较大的控制增益,造成系统响应不光滑,使执行器的损耗较大,且可能造成系统的抖振.在未来的研究中可以结合自适应控制的方法,在模型细小变化时利用控制器的鲁棒性从而避免自适应机构过于频繁的调整,当模型变化较大时,则利用自适应的方法对其进行修正,从而避免鲁棒控制方法过高的增益造成的问题.
2.1.3智能视觉伺服控制
智能控制不需要精确的数学模型,并且具有自学习能力,适合于具有模型不确定性的视觉伺服系统控制.智能视觉伺服控制方法有:
基于计算智能的方法一般利用
人工神经网络、遗传算法等方法对视觉伺服系统模型进行拟合,并利用学习到的模型进行控制.
BP神经网络是一种常用的方法,为了提高其收敛速度,可以使用遗传算法设计其初值和参数.这一类方法不需要复杂的建模过程,但是需要预先进行离线训练,而且当环境变化时又需要重新训练,限制了其应用.
模糊控制利用模糊规则描述视觉伺服系统中各变量之间的关系,不需要精确的系统模型,但是需要一定的先验知识或离线学习.在应用中,可以直接设计
模糊控制器或利用模糊规则对其他控制器参数进行更新.但是,对于多自由度的视觉伺服系统,变量之间的关系复杂且耦合严重,模糊规则的设计困难,因此以往的研究主要针对低自由度的系统.对于具有重复特性的视觉伺服任务,
迭代学习控制利用先前动作中的数据信息,通过迭代找到合适的控制输入,可以实现精确的轨迹跟踪.这一类方法主要有两种思路,一种是直接迭代学习控制,使用迭代学习律得到控制输入的前馈量,并可以加入反馈辅助项提高收敛速度;另一种是间接迭代学习控制,使用迭代学习对模型参数进行更新,从而最终得到精确的模型用于跟踪控制.这一类方法要求任务具有重复特性,可以用于工业现场的流水线作业.
视觉伺服中的实现策略
近20多年来,机器人视觉伺服控制得到了广泛的研究,但是在实际中的应用较少.实际上,视觉伺服的理论研究与实际应用有一定的脱节,大部分的研究考虑理想的工作环境和任务,并采用示教(Teach-by-showing)的方式.这适合于静态环境下的重复性任务,但是机器人的任务是复杂多样的.近年来,研究者提出了创新性的解决方案,为视觉伺服系统的实施和应用提供了新的思路.在实际中,基于视觉伺服的系统主要有两种类型,一种是机器人自主控制系统,完全由机器人自身根据视觉反馈完成分配的任务;另一种是人机协作系统,在任务完成的过程中需要人为的干预,其目的在于协助人更好地完成任务.
3.1自主控制系统
视觉伺服在机器人系统中有广泛的应用,如移动机器人的视觉导航和机械臂的末端控制等.移动机器人的视觉导航可以描述为视觉伺服跟踪控制问题或一系列的视觉伺服调节控制问题,一般需要预先进行训练得到期望的图像序列.
工业机械臂常使用示教的策略,以零件组装任务为例,工程师需要先利用手操器对其进行编程,机械臂再通过执行记录的驱动信号完成任务.引入视觉伺服系统可以简化此过程,只需要人在相机的监控下完成一次操作,机械臂即可利用视觉反馈完成任务.传统的视觉伺服系统使用示教的方式,其控制器的设定值为相机在期望位置处拍摄到的图像.这种方法适合于在局部空间内执行重复性任务的工业机械臂,但是对于大范围的移动机器人视觉导航任务显得实现成本较高.学者们提出了以下几种改进策略:
1)利用其他相机拍摄的图像作为设定值,如Teach-by-zooming策略;
2)利用其他模态的图像作为设定值,如基于互信息的方法;
3)利用几何信息定义视觉伺服任务.
在现实生活中,如果要告诉某人去某地,可以提供该地点的照片或地图,也可以描述该场景的几何特性.实际上,上述的三种策略分别对应了人类的这些行为习惯.在未来的机器人应用中,可以充分利用互联网资源,如Google街景、Google地图等,使其更灵活地为人类服务.
3.2人机协作系统
目前大部分机器人的自主定位和导航任务都需要预先对任务进行精确描述,但是实际应用中的一些复杂任务难以用数学描述,且在任务完成的过程中需要进行智能决策,以当前的人工智能发展程度无法由机器人自主完成.因此可以构造人机协作系统,在任务执行过程中加入人类的判断,视觉伺服控制作为辅助系统,帮助人更轻松地完成一些复杂任务,形成半自动的系统.常见的人机协作系统有以下几种实现策略:
1)人机串级控制,人负责上层的决策控制,视觉伺服系统负责底层的运动控制,如水下遥控机器人、半自动驾驶轮椅等.
2)视觉伺服系统对操作对象施加运动约束,降低人需要操作的自由度,提高操作精度,如人机协作操作、手术辅助系统等.
3)人机切换控制,将任务分为人主导的区域和机器人主导的区域,共同完成任务.
在医疗领域,学者们提出了一系列基于医疗成像设备的视觉伺服系统,对医生的手术操作起到协助作用.