深圳pcb抄板单片机与PC104的仿人机器人控制系统设计
机器人作为一个各学科交叉的复杂系统,越来越多的科研者采用机器人作为实验平台,因为它包括机械结构的设计,控制系统的构建,信息的采集与处理,运动学和动力学分析,人工智能等多方面知识的融合。仿人机器人从最初简单模拟人的外形、动作、行走等,逐渐向人的思维、视觉、触觉、智能等方面转变,这就对机器人整个系统提出了更高的要求,不但要进一步完善机器人的机械结构和安装,而且要增强控制系统的功能和处理能力。
对于控制系统而言,目前在仿人机器人上常用的控制芯片有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所示。
主要特性有:
(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位计数器/定时器,pcb抄板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个数的差值到最后两个数的差值排列好,并将从小到大的数据对映的交叉开关的地址依次对映。