基于PC/104与单片机的仿人机器人控制系统设计
扫描二维码
随时随地手机看文章
摘 要:为了简化仿人机器人控制系统结构,增强机器人系统的功能。采用PC/104嵌入式系统作为仿人机器的主控计算机,完成图像处理,做出控制决策,计算并生成运动序列。关节控制器选用C8051F310单片机,采用串口与主控计算机通信,接收来自主控计算机的运动序列指令,产生PWM波,经过放大电路,实现21路电机的控制。经过实验,得到图像采集分析结果和仿人机器人稳态步行。实验表明,这种控制系统能够实现仿人机器人的控制。
关键词:仿人机器人;主控制计算机;关节控制器;PWM波
0 引 言
机器人作为一个各学科交叉的复杂系统,越来越多的科研者采用机器人作为实验平台,因为它包括机械结构的设计,控制系统的构建,信息的采集与处理,运动学和动力学分析,人工智能等多方面知识的融合。仿人机器人从最初简单模拟人的外形、动作、行走等,逐渐向人的思维、视觉、触觉、智能等方面转变,这就对机器人整个系统提出了更高的要求,不但要进一步完善机器人的机械结构和安装,而且要增强控制系统的功能和处理能力。
对于控制系统而言,目前在仿人机器人上常用的控制芯片有DSP,ARM或其他一些单片机等,为了进一步增强机器人的可扩展性,这里采用嵌入式系统PC/104作为机器人的主控制计算机,它具有实时性好,成本低,小型化的优点,克服了传统的基于单片机控制系统功能不足和基于PC控制系统非实时性的缺点,在仿人机器人应用中具有广泛前景。
l 仿人机器人结构及控制系统
该机器人共有21个自由度,其中头部2个自由度,可以实现头部的俯仰和左右偏转,在头上装有一个CCD摄像机,并且带有视觉采集卡以及视觉处理计算机,能够实现目标的识别和定位,为主控计算机直接提供目标信息。每个手臂3个自由度,能够完成伸展和弯曲等动作,在机器人摔倒后可以提供支撑力,让机器人可以自行起立。腰上1个自由度,实现仿人机器人躯干的前倾和后仰,便于机器人在行走或执行手上动作时重心的调节,增强机器人的可控性和稳定性。下肢6个自由度,其中踝关节处2个自由度,髋关节处3个自由度,与人的腿部结构相似,能够灵活的完成下肢的各种动作。仿人机器人的整个结构采用框架式结构,有利于减轻机器人结构上的重量,提高机器人的承载能力,为机器人控制系统的改进提供了更大的空间。如图1所示为仿人机器人实物图。
仿人机器人控制系统以ACS一4051VEPC/104主板模块作为主控制器,通过USB直接连接摄像头,一个RS 232串行口与关节控制器相连,实现主控制计算机与关节控制器的通信。驱动模块和关节控制器集成在一个PC板上,主要实现PWM波的产生,驱动电机转动。ACS一4051VE主板集成了Intel 82559ERl0/100 Mb/s以太网卡,外接一个无线网卡可以实现与外部无线网络的通信。仿人机器人控制系统总体上主要分为2个部分:主控制器模块和关节控制器模块。它的总体结构实物图如图2所示。
[!--empirenews.page--]
主要特性有:
(1)高速、流水线结构的8051兼容的CIP一51内核(可达25 MIPS),70%的指令的执行时间为1个或2个系统时钟周期,能满足关节控制器的需要。
(2)有4个通用16位计数器/定时器,以及16位可编程计数器/定时器阵列,5个捕捉/比较模块,29个端口I/O。通过对片内进行编程,以及合理地分配比较器与I/O口,实现在C8051F310芯片上产生21路PWM波。由于单片机输出的是数字形式的控制量,必须经过D/A转换变成模拟控制量,经伺服放大器驱动电机。
在此采用MAXIIM的12位串行D/A芯片MAX531作为数/模转换芯片,将MAX531工作在双极性电压方式下,其输出模拟量的范围在一2.048~+2.048 V,精度为1 mV。输出的模拟量经过运算放大器进行放大,进入伺服放大器驱动电机。
C8051F310作为关节控制器控制核心,它主要负责21路PWM的产生,在C8051F310芯片中集成了4个通用的16位计数器/定时器,5个捕捉/比较模块,运用1个计数器/定时器和1个比较模块控制6路I/0端口,其他3个计数器/定时器和3个比较器控制15路I/O口,来实现21路PWM波的产生。这里以6路PWM波的产生来说明运用C8051F310实现电路,其电路图如图4所示:CEXn引脚产生脉宽调制PWM输出,PWM输出的频率取决于PCA计数器/定时器的时基,使用模块的捕捉/比较寄存器PCA0CPLn改变PWM输出信号的占空比。当关节控制器接收给定的6个电机转动角度序列数据后.由软件将6个数据从小到大排列,并依次求出相邻2个数的差值,按照最小的数、前2个数的差值到最后两个数的差值排列好,并将从小到大的数据对映的交叉开关的地址依次对映。
程序将第一个最小角度数放入比较寄存器的低8位PCA0CPLn中,当PCA计数器/定时器的低字节(PCAOL)与PCA0CPLn中的值相等时,CEXn引脚上的输出被置“1”;同时程序将第二个数据即差值放入比较寄存器的PCA0CPLn中,PCA计数器/定时器清零,并将交叉开关置位到相应的输出脚,当PCA计数器/定时器的低字节(PCAOL)与PCA0CPLn中的值再次相等时,CEXn引脚上的输出被置“1”,直到这组数据完毕。PCAOL中的计数值溢出,CEXn输出被复位,准备第二轮的PWM波的产生。
3 实 验
3.1 图像采集处理
为了使机器人能够达到预定目标,必须对软件系统进行设计规划。主控计算机上安装了WIN98系统,图像采集与处理采用VC进行编程,下面是图像采集处理的程序运行界面如图5所示。
3.2 仿人机器人稳定步行
运用这种控制系统来实现DF一1仿人机器人行走的控制,通过实验表明,此系统能够完成仿人机器的动态稳定行走,图6是一系列行走连续行走的截图。
4 结 语
基于PC/104嵌入式计算机和C8051F310芯片设计了仿人机器人的控制系统,实现了机器人的图像采集和处理,以及机器人的稳定步行。PC/104嵌入式计算机功能齐备,运算能力强,可扩展性好,作为仿人机器人控制系统有它独特的优点。单片机实现仿人机器人的关节控制,由于其计算能力有限,难以实现复杂的控制,因此这种控制系统可以用来作为实验用和教学用机器人。