- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于双计算机的仿人机器人的视觉跟踪系统
录入:edatop.com 点击:
3 运动控制子系统
3.1运动控制系统的结构
机器人的运动控制子系统是一个典型的计算机控制系统。机器人头部的控制目的是为了机器人的头部能够实时跟踪运动目标,因此实际控制信号输入量是根据目标物体的位置信息求得的规划数据。在反馈信号的输入方面,因为被控对象是电机转动的角度,用电机上面的轴角编码器的输出作为反馈信号。
系统使用了一套多功能接口板,将所有的A/D转换、D/A转换、ENC(encoder)、PWM、IO等多种功能都集成在该接口板上,提高了系统的集成性并减小了系统体积和重量。多功能接口板上上的ENC接口来作为反馈信号的输入通道,它可以测量轴角编码器的脉冲输出个数。每个运动关节采用经典的PD伺服控制。
3.2运动控制系统的软件结构
运动控制子系统采用了RT-Linux(Real Time Linux)实时操作系统,其软件结构如图4所示,主要包括两个模块:主程序模块、实时任务模块,主程序模块是linux应用程序,实时任务模块是 RTlinux下的实时进程。两个模块也是两个进程,通过管道(FIFO)进行通讯等。
3.1运动控制系统的结构
机器人的运动控制子系统是一个典型的计算机控制系统。机器人头部的控制目的是为了机器人的头部能够实时跟踪运动目标,因此实际控制信号输入量是根据目标物体的位置信息求得的规划数据。在反馈信号的输入方面,因为被控对象是电机转动的角度,用电机上面的轴角编码器的输出作为反馈信号。
系统使用了一套多功能接口板,将所有的A/D转换、D/A转换、ENC(encoder)、PWM、IO等多种功能都集成在该接口板上,提高了系统的集成性并减小了系统体积和重量。多功能接口板上上的ENC接口来作为反馈信号的输入通道,它可以测量轴角编码器的脉冲输出个数。每个运动关节采用经典的PD伺服控制。
3.2运动控制系统的软件结构
运动控制子系统采用了RT-Linux(Real Time Linux)实时操作系统,其软件结构如图4所示,主要包括两个模块:主程序模块、实时任务模块,主程序模块是linux应用程序,实时任务模块是 RTlinux下的实时进程。两个模块也是两个进程,通过管道(FIFO)进行通讯等。
图4 BHR1运动控制系统的软件结构 实时任务主模块包括两部分:周期性执行的实时控制循环(即实时线程)和实时任务触发器。实时线程的周期性执行是由一个循环实现的。该循环主要完成两大功能:机器人运动控制、与各电机相连的轴角编码器的信息采集。实时任务周期为3毫秒。实时任务周期是根据D/A通道处理时间和码盘计数器读取时间,以及传感器信息获取时间确定。 主程序模块与一般的Linux应用程序没有区别,它主要有以下几个功能:与信息处理系统通讯;向实时任务传送控制参数;实现人机交互,即将从实时任务传过来的电机转动数据和传感器数据输出到监视器上,同时将通过键盘输入的控制信号,实际上主程序模块主要实现控制台的作用,可以称之为控制台程序。 3.3运动控制过程 跟踪系统的控制目标是:根据图像处理获取的目标质心在图像平面中的位置,实时调整机器人头部的2个电机转动角度,将目标置于图像平面的中央位置。运动控制系统中一个控制循环大约需要3毫秒的时间。在信息处理系统中,处理一帧图像平均需要100毫秒左右的时间。由此可见,视觉处理的周期要远远大于运动控制的周期。因此在一个视觉处理周期之后,系统应该做好下一个视觉处理周期之内的运动规划,也就是做好后面多个控制周期之内的运动规划,这样才能保证机器人的头部以均匀、平缓,同时又是准确的速度来跟踪目标。 4 实验 在仿人机器人BHR1中,信息处理计算机的CPU为PⅣ2.4GHz,内存为512MB,运动控制计算机的CPU为PIII700MHz,内存为 256MB。SVS系统的采集速度为15帧每秒,采集图像的大小为320×240像素。Memolink采用PCI接口,最大传输速率为1M bytes/s或1M words/s。 4.1 复杂背景下运动目标的跟踪 在运动物体跟踪实验中,红色小球作为目标在机器人的视野中做单摆运动。为了验证基于多图像信息的目标识别算法,背景中放置了红色的方块和一个绿色的小球。实验结果如图5所示,第一行图像是实验场景,第二行图像是左摄像头的视频序列,结果表明彩色目标运动速度小于0.3m/s时,机器人头部仍可以很好地跟踪目标的运动,并使其始终位于左侧摄像机所采集到图像的中央位置。在复杂的非结构环境的室内背景下,利用单一的图像信息,系统很可能会跟踪失败。相同背景下,单一的颜色信息不能将红色的小球和背景中的红色方块区分开来。
|