基于DSP的四足机器人电控系统设计
2011-06-19李声晋
陈 玉,李声晋,卢 刚
(西北工业大学,陕西西安710072)
0 引 言
目前,机器人已经广泛应用于工业生产中,在其他领域的应用也逐渐增多[1]。四足机器人作为移动机器人的一种,自由度多,运动灵活,具有很强的环境适应能力,在星球探测、军事侦察以及灾后搜救等方面具有广阔的应用前景,越来越受到各国研究者的关注。
本文以实验室自行研制的四足机器人为对象,对四足机器人控制系统进行了软硬件设计,并通过实验验证了控制系统的合理性与有效性。
1 控制系统总体方案设计
本文使用的四足机器人以狗为仿生对象,对狗的骨骼结构进行了部分简化,整体关节分布如图1所示。三相无刷直流电动机作为关节驱动电机,采用仿生CPG控制算法作为四足机器人的运动控制算法。
图1 四足机器人关节分布图
1.1 控制方式
由于四足机器人控制系统要执行大量计算协调多关节的运动,并同时控制12个关节驱动电机动作,还要具备一定的扩展性,因此决定采用多CPU结构、分布式控制方式。控制系统的总体结构图如图2所示。
图2 控制系统总体结构图
图2中,PC机处于最高层,用来完成机器人的导航和路径规划,确定机器人的行走路径;主控制器处于中层,接收PC机的指令,并将指令转化成多关节的协调步态,分解为关节信息并发送给各个关节控制器;关节控制器处于控制的最底层,接收主控制器的关节信息,完成对关节的驱动控制。
本文主要介绍主控制器和关节控制器的软硬件设计。
1.2 通信方式
机器人控制系统主控制器与PC机之间的通信采用无线方式,这样避免了通信双方之间的线缆连接,可以实现远距离通信。
主控制器与关节控制器之间的通信属于多点通信,通信距离在60 cm左右,要求可靠性高,实时传输。CAN总线可以满足这些要求,而且接口电路在DSP、单片机上容易实现,开发比较方便,因此选用CAN总线作为电控系统主控制器和关节控制器之间的通信总线。
2 硬件设计
2.1 主控制器硬件设计
主控制器硬件电路由主控芯片及其外围接口电路、传感器检测电路、无线通讯电路、CAN总线通讯电路和串口通讯电路组成。其结构框图如图3所示。
图3 主控器组成框图
考虑到设计要求和开发的难易程度,主控芯片采用微星公司的dsPIC30F6014A。该控制器集成了高性能的运算单元、大容量的片上存储器和丰富的外设电路,可以提供高运算速度、精度和强数据处理能力,完全满足本控制系统的使用要求。
无线收发芯片采用Integration公司的IA4421。IA4421成本低、集成度高、调试简单,包括RF部分、基带放大过滤部分、数据处理单元和片上控制器。片上控制器通过SPI接口与外部通信,控制无线数据的接收和发送。
传感器选用ADI公司的单轴角速度传感器ADXRS300和双轴加速度传感器ADXL210E。将角速度传感检测电路和加速度传感检测电路分别做成容易安装在机体上的小电路板,然后将两个加速度检测板分别安装在与机体平面平行和垂直的两个平面上,三个角速度检测板安装在三个相互垂直的平面上,组成机体的位姿检测平台。
CAN总线通讯电路中,dsPIC30F6014A片上带有两个CAN模块,因此通过外扩CAN控制器和CAN收发器即可实现多个CAN接口。CAN控制器采用微星公司的MCP2510,使用SPI接口可以外扩4路MCP2510来实现4个CAN接口。CAN收发器选择比较常用的PCA82C250。串行通信电路中,主控制器端采用RS485串行通信接口,外接RS485收发器SP491E,然后通过RS485-RS232转换器连接到PC机的串口。
2.2 关节控制器硬件设计
关节控制器硬件电路主要由电源模块、CPU模块、驱动模块、功率变换模块、检测模块和通讯模块组成。控制器原理框图如图4所示。
蓄电池提供的电压为24 V,控制器的各个部分所需要的用电电压不同,可分为三组:功率模块为24 V,驱动模块为15 V,CPU及其外围电路需要5 V供电。分别使用线性稳压器7815和7805,得到15 V和5 V电压。
图4 关节控制器原理框图
CPU选用微星公司的16位高性能控制器dsPIC30F4012,它是专门为电机高速控制所设计的一种16位微处理器,集成了多种功能模块,其中包括一个6通道的电机专用MCPWM控制器,通过编程可产生互补的三相6路PWM波形,大大简化了产生脉宽调制(PWM)波形的控制软件和外部硬件。同时,还可以通过编程设置死区时间防止同一桥臂上下两个功率管发生直通造成短路。
驱动芯片采用美国国际整流器公司的多路驱动芯片IR2130,一个IR2130可驱动三相桥式电路的六个功率开关器件,内部设计有过电流、过电压及欠电压保护,输出的最大正向峰值驱动电流为250 mA,而反向峰值驱动电流为500 mA,耐压600 V,满足系统的需要。其外围电路主要包括驱动连接电路和高压侧的自举电路。
功率变换电路采用三相全桥方式,功率器件选用N沟道的MOSFET IRF540,开关速度快、驱动功率小,额定电流为40 A,耐压为100 V,导通电阻只有44 mΩ,工作结温范围为-55℃ ~175℃,满足系统的使用要求。
针对过电流设计了故障保护电路,采用漏源极电压探测的方式对三个下管进行检测。将探测电压与参考电压进行比较,比较输出信号接入IR2130的ITRIP引脚(高电平有效)。当发生过流时,ITRIP引脚被置高,IR2130封锁PWM输入信号,输出全为低电平,保证6个功率管全部关断。
角位移传感器用于测量关节转动的角度,选用了导电塑料电位计WDY-35D4-619,线性度0.1%,有效角度范围0°~345°。
3 软件设计
电控系统的软件设计包括主控制器和关节控制器的软件设计。采用模块化编程方法,可将控制软件分成多个独立的功能模块,软件模块框图如图5中所示。
3.1 主控制器软件设计
主控制器的功能主要包括:进行CPG算法迭代计算,将计算得到的各关节指令发送给各关节控制器,同时接收各关节控制器的反馈信息;采集位姿传感器的输出,通过无线通讯方式发送给上位机,同时解包接收的上位机指令,其主程序流程图如图6所示。
图5 软件模块框图
图6 主程序流程图
3.2 关节控制器软件设计关节控制器的功能主要包括:接收到主控制器的位置指令后,驱动电机转动,利用积分分离PID控制算法对关节转角进行闭环控制,定时读取关节角度信息,通过CAN总线将关节角度信息回送给主控制器。
关节控制器主程序流程图如图7a所示,PID计算子程序流程图如图7b所示。
图7 关节控制器主程序流程图
4 实 验
4.1 单关节驱动实验
关节用无刷直流电动机参数:24 V供电,额定功率52 W,额定电流2.55 A,额定转速3 000 r/min,额定转矩 0.16 N·m。
实验测得dsPIC30F4012输出PWM的死区时间值为500 ns,如图8a所示,与设定值相符,该死区时间可在软件中进行修改。电机稳态运行时三路PWM输出和电机某一线电动势波形如图8b所示。实验结果表明,关节控制器可以对关节电机进行准确有效的控制。
图8 PWM死区时间与驱动信号波形图
4.2 步行实验
图9 实地步行试验图
机器人样机长75 cm、宽 50 cm、高 50 cm,重 14 kg,分别让机器人进行了行走、小跑、溜步、奔跑步态的实验。图9为实地步行试验图。
实验表明,当机器人处于行走步态时,同一时刻只有一条腿处于摆动相,重心变化范围小,通过补偿关节角,步行动作可持续进行。处于其他步态如小跑、溜步、奔跑时,重心变化范围较大,关节角不能及时响应到达,容易造成跌绊和摔倒。为了提高机器人的行走速度,应该再对机械结构进行改进,使用性能更好的驱动器。
5 结 语
采用dsPIC30F6014A和dsPIC30F4012芯片设计了以狗为仿生对象的四足机器人电控系统,充分利用了芯片的高效运算处理能力和丰富的片内资源,使得系统硬件电路设计更为简单可靠,软件设计也易于实现。通过实验可以看出,该控制系统设计合理,能够对四足机器人在四种步态下的行为进行有效控制,并具有较强的扩展性,基本满足自主移动机器人控制系统的要求。
[1]蔡自兴.机器人学[M].北京:清华大学出版社,2006.
[2]陈学东,孙翊,贾文川.多足步行机器人运动规划与控制[M].武汉:华中科技大学出版社,2006.
[3]Hohl L,Tellez R,Michel O,et al.Aibo and Webots:simulation,wireless remote control and controller transfer[J].Robotics and Autonomous Systems,2006,54:472-485.
[4]尹真.四足机器人电控系统研制[D].西北工业大学,2008.
[5]Hernandez-Guzman V M,Santibanez V,Campa R.PID control of rigid robots actuated by brushless DC motors[C]//American Control Conferrence.Seattle,WA.2008:1430-1435.