分享

基于图像的机器人视觉伺服系统

 robotfan 2010-12-07
基于图像的机器人视觉伺服系统


  对工作在未知环境中的机器人,在其位置控制和运动控制中引入视觉反馈信息是一种很有吸引力的解决方案。利用视觉传感器得到的图像作为反馈信息,构造机器人的位置和运动闭环控制,即视觉伺服[1]。
  本文主要研究手部摄像机视觉机器人的控制问题,采用基于图像的直接视觉伺服。它的控制算法不需要求解逆像问题以及机器人运动学,同时它的结构不依赖于机器人惯量以及科里奥利矩阵。

机器人视觉伺服系统的物理结构
  机器人视觉伺服系统的结构可分为摄像机固定和手部摄像机两种。在摄像机位置固定的机器人系统中,有多个摄 像机安装在机器人周围的环境中,可同时获得机器人和周围环境的图像,这种方法的目标是控制机器人末端执行器的运动直至触碰到期望目标。而手部摄像机机器人 的摄像机安装在机器人手部,只能获取机器人周围环境的信息,这种方法的目标是控制机器人的运动,使运动或静止的目标在摄像机图像平面上到达期望位置。
摄像机固定的安装方式可获得固定的图像分辨率,并同时获得机器人和机器人周围环境的信息,便于将视觉系统集成到控制中。但在机器人运动过程中,可能发生 图像特征遮盖现象,观察灵活性差。而手部摄像机方式具有较大的工作范围,不存在图像特征遮盖问题。同时,随着手爪接近目标物体,可获得较高的图像分辨率, 从而提高图像精度。本文建立的机器人系统采用较低的运动速率,避免了因摄像机运动引起的图像的模糊,同时能够保证目标处于摄像机视场范围内,故采用手部摄 像机的安装方式[2]。
视觉伺服的方式
  根据反馈信号表达方式,分为基于位置的视觉伺服和基于图像的视觉伺服。
  基于位置的视觉伺服
其反馈信号在三维任务空间中以直角坐标形式定义。基本原理是通过对图像特征的抽取,并结合已知的目标几何模型及摄像机模型,在三维笛卡尔坐标系中对目标 位姿进行估计,然后以机械手当前位姿与目标位姿之差作为视觉控制器的输入,进行轨迹规划并计算出控制量,驱动机械手向目标运动,最终实现定位、抓取功能。 该方式的控制精度在很大程度上依赖于目标位姿的估计精度,但位姿计算与手眼系统参数标定有关,因此要保证这一估计过程的准确度是十分困难的。
  基于图像的视觉伺服
其误差信号直接用图像特征来定义。其基本原理是由该误差信号计算出控制量,并将其变换到机器人运动空间中去,从而驱动机械手向目标运动,完成伺服任务。 基于图像的视觉伺服系统的定位精度对摄像机标定误差不敏感。与基于位置的视觉伺服相比,基于图像的方法仅需要计算图像特征误差函数、深度参数和逆雅可比矩 阵,具有较少的计算量[3]。
  综合考虑标定难度、控制精度和计算量等因素,本文研究的机器人系统采用基于图像的视觉伺服结构。

控制系统结构
  系统采用双闭环结构,其中内环为关节伺服控制,可实施高采样频率,通过关节位置和速率反馈来稳定机器人,从而获得近似线性 的机器人对象特性。外环为视觉控制器,以较低的采样速率完成关节角设定。双环结构将机器人机械运动奇异性与视觉控制器隔离,把机器人看成理想笛卡尔运动元 件,简化了设计过程。
  系统结构如图1所示:

 

图1 基于图像的视觉伺服控制系统结构

  基于图像的视觉伺服系统,其误差信号直接用图像特征来定义,即:通过摄像机获取的图像特征与期望的图像特征比较,经过特征空间控制律输入到机器 人关节控制器控制机器人的运动。控制问题的关键在于:将视觉空间的图像特征误差信息映射到机器人所在的三维笛卡尔空间中去,即如何表达手眼增量关系。

图像雅可比矩阵
  图像雅可比矩阵又被称为特征敏感度矩阵,其定义如下[4]:

  其中,


  式中,f为图像特征矢量参数,r为机械手在任务空间中的坐标参数。k为图像空间维数,m为任务空间维数。
  另一方面,对n关节的机器人系统,机器人关节角速度 与手爪位姿变化率 之间具有几何雅可比矩阵关系,即:

 

  其中,   因此,图像特征变化率 与关节角速度 之间也具有图像雅可比矩阵关系:

 

  其中, ,也即:



  图像雅可比矩阵不是常数矩阵,而是随着机器人位姿改变而不断变化的,具有非线性、时变等特点。本文采用基于神经网络的方法来求取图像雅可比矩阵。

 

基于神经网络动态估计图像雅可比矩阵的视觉伺服控制方法
  采用多输入、多输出bp神经网络,输入向量为特征点在图像平面的坐标值变化量,输出向量为相应的机器人关节运动量。学习算法采用bp算法。神经网络学习输入、输出之间的关系,不断更新权值直至误差减少到零[5]。图2描述了神经网络的执行过程。

 

图2 神经网络执行过程


  执行完毕,可以得到当前时刻机器人位姿与目标图像之间的关系模型jq。
  假设要达到的目标特征为fd,当前的特征向量为fc,则当前的特征误差为:
△f=fd-fc
  基于当前的图像雅可比矩阵jq,给出关节误差为:
△q=jq-1△f
  由于图像雅可比矩阵仅在q的邻域精确,随后的关节运动量由dq=k·△q给出,其中k为比例系数。
  机器人执行完上述运动后,神经网络重新学习输入、输出关系,得到新一时刻的图像雅可比矩阵,再按照上述方式进行迭代。上述过程反复进行,直至图像特征为零,即机器人运动到期望位置[6]。

系统的实现
  系统由机器人本体、伺服电机控制器、视觉系统、主控计算机以及图像处理计算机等部分组成。其中,视觉系统硬件为usb摄像头和普通pc机,具有价格低廉、安装方便、高带宽、易于扩展等优点。系统总体结构如图3所示。

 

图3 视觉机器人总体结构图

  系统控制对象为自主设计的四自由度机械臂,如图4所示。机械臂共有4个关节,包括1个横扫关节和3个屈伸关节,关节活动灵活、工作范围较大。每 个关节分别由一台直流电机独立驱动。4个关节均有位置检测和速率检测,其中位置检测元件为精密角度仪,速率检测元件则采用adi公司的adxrs300型 速率陀螺。

 

图4 四自由度机械臂装置


  基于图像的视觉伺服机器人工作原理如下:视觉系统通过usb总线把摄像头采集到的图像实时地传输到计算机的图像数据库中,为后续的图像 处理工作提供有力的数据支持。图像处理在matlab环境下进行,可利用其相应的基本函数,例如,卷积、傅立叶变换、滤波等,使得在matlab环境下编 写图像处理程序十分简单。图像处理过程可分为三个步骤:首先,为提取出有用的目标边缘采用基于canny边缘算子的图像分割方法作为前处理高通滤波,得到 最优的边缘响应。然后,采用中值滤波去除孤立噪声点,最后利用hough变换在零散的二值边缘图像中提取出有意义的点、直线、圆等特征参数,得到有效的图 像特征向量,并通过rs232串口将图像特征向量上传至主控计算机。另一方面,机器人各关节均分别采用速率陀螺和角度传感器测量关节速率和角度,将速率和 角度分别转换为电压信号,经pci1711板卡的a/d端口模/数转换后上传至主控计算机,从而得到机器人的运动状态和位姿。主控计算机根据图像特征向量 和机器人位姿求取当前雅可比矩阵,进而计算出机器人各关节的运动量,并在rtw环境下将控制信号通过pci1711板卡的d/a口给到电机控制器上,实现 对机器人的视觉伺服控制。
  在伺服电机控制部分,采用速度控制模式。自主设计了直流伺服电机的驱动电路、检测电路及保护电路。其中,直流电机采用脉宽调制 (pulse width modulation, pwm)调速方式,电机驱动电路采用h桥结构。

结语
  本文对机器人伺服系统的控制结构及实现方案进行了研究,并搭建了机器人视觉伺服系统实验装置。采用基于图像的动态视觉伺服结构,毋须求解逆像问题以及机器人逆运动学方程,具有计算量少、控制精度高等优点,有实用价值。目前,系统已完成初调试工作。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多