偏心圆腿六足机器人控制电路设计
2011-12-25何新强王宇俊谭兴军
何新强,王宇俊,谭兴军
(西南大学计算机与信息科学学院,重庆 400715)
偏心圆腿六足机器人控制电路设计
何新强,王宇俊,谭兴军
(西南大学计算机与信息科学学院,重庆 400715)
介绍了偏心圆腿六足机器人的控制电路设计,该电路采用模块化设计方法.控制电路分别由MCU核心电路、电源电路、红外接收与解码电路、信号采集电路和驱动控制电路共5个部分组成,其中MCU作为可编程核心器件控制整个系统工作.实验验证,该控制电路能满足偏心圆腿六足机器人的控制需要,从而保证了系统的可靠性、稳定性和可扩展性,为后继的研究奠定了基础.
偏心圆腿六足机器人;模块化设计;MCU;红外接收与解码;信号采集;驱动控制
0 引言
目前,用于人类不宜、不便或不能进入的地域进行独立探测的机器人主要分3种:由轮子驱动的轮式机器人、安装履带的履带式机器人,以及基于仿生学的足式机器人[1].其中多足式机器人地面适应性最好、可靠性较高、控制难度也较低.因此,多足机器人可广泛应用于野外侦察、灾难救援、核能工业、星球探测、水下探测等领域.
在各类多足机器人中,模仿六足纲昆虫的肢体结构和运动控制策略而创造出的六足机器人是最容易实现稳定行走的一种.六足机器人与两足、四足机器人相比,具有控制难度小、地表适应性强、稳定性好、肢体冗余等特点,这些特点使得六足机器人更能胜任野外侦查、水下搜寻以及太空探测等复杂地形环境中对独立性、可靠性要求较高的工作.
近年来,国内外对六足机器人进行了广泛的研究与应用,美、日、德等发达国家从20世纪80年代就开始大规模投入六足机器人的研发.其中具有代表性的包括iRobot公司研制的Genghis、麻省理工学院研制的Attila、密歇根大学研制的Rhex.国内关注和研制仿生六足机器人的研究者也越来越多,主要作品有沈阳自动化所研制的LR-1型六足步行机器人、北京理工大学研制的仿生六足爬行机器人和西南大学研制的ELHR系列.对于所有六足机器人的研究者来说,控制系统一直都是研究与设计的重点内容,不管提出的是何种类型的行走机构与步态原理,研究者都必须设计相应的控制系统去实现.而控制电路又是控制系统的物理实现,是一切控制策略与算法实现的基础与平台,一定程度上控制电路决定了控制系统的功能性、稳定性与实用性.
本文针对一种偏心圆腿结构的六足机器人控制电路的设计进行分析和讨论.该控制电路采用模块化设计,降低了电路复杂度,保证了系统的可靠性、稳定性和可扩展性.电路选用目前已被广泛使用、可靠性和稳定性得到充分认可,并在制作成本上也占优势的元器件.
1 偏心圆腿六足机器人概述
偏心圆腿六足机器人由遥控器与机器人构成,通过遥控可控制机器人前行、后退和左右转向.该机器人的行走机构采用偏心圆结构,共有6条相同的偏心圆腿,分别由6个相同的直流减速电机驱动.机器人行走采用经典的三角步态,控制电路控制6条腿协同工作完成步态算法.该机器人的特点是:机械结构对称简洁,可靠性高,稳定性好;偏心圆腿比传统杆状腿柔性好、地面适应性更强,不仅适合平整硬质地面,草地、沙滩、碎石等地面都能行走;越障能力强,该机器人高112 mm,即能轻松越过70 mm的障碍物.
2 控制电路设计
2.1 控制电路总体框架
该偏心圆腿六足机器人控制电路采用模块化设计,降低了电路复杂度,保证了系统的可靠性、稳定性和可扩展性.如图1所示,该控制电路由MCU核心电路、电源电路、红外接收与解码电路、信号采集电路和驱动控制电路5个模块组成.
控制电路的控制过程如下:机器人启动后自动进行系统初始化与腿的复位操作,包括电路自检、中断设置、各条腿与光电编码器性能测试,并使所有腿立于地面将任意放置的机器人机身支撑起来.复位操作完成后MCU开始监听红外通信接收与解码电路传来的遥控指令.若接收到遥控指令则执行该指令所对应的控制程序,否则继续监听.当监听到前进的指令后,MCU即执行前进算法控制程序:通过分析采集的光电编码信号判断各条腿当前所处的位置并调整到正确的位置.通过P3.2输出高电平接通驱动电路的驱动电源,根据算法通过P0口和P2口相关的引脚输出PWM信号来控制各条腿旋转从而驱动机器人机身前进,同时通过光电编码信号进行反馈.当监听到新的指令后MCU立即执行新指令对应的算法程序,当监听到停止指令后MCU在保证机身处于支撑起的状态下切断所有控制端的PWM信号,并通过P3.2输出高电平切断驱动电路的驱动电源.
图1 控制电路结构框图Fig.1 Block d iagram of control circuit
2.2 MCU核心电路
MCU选择AT MEL公司的AT89S52型单片机.MCS51系列单片在国内被广泛使用,而AT89S52又是性价比最高,使用最多的型号之一.AT89S52最高工作频率33MHz,该电路中为12MHz.它不仅提供8 KB片内Flash程序存储器,256 Byte的片内RAM,32个可编程I/O口,2个16位定时/计数器,5×2级中断机构和一个全双工可编程串行UART通道,支持在线可编程,还支持低功耗空闲和掉电模式,这些特点很好地满足了该控制电路信号采集与驱动控制的要求[2].
图2 MCU核心电路Fig.2 MCU core circuit
如图2所示的MCU核心电路中单片机采用按键复位,将P0口接上了上拉电阻以便P0口作为通用输入输出端口使用.虽然AT89S52内部集成了256 Byte的片内RAM,但系统涉及数据采集,需要更大的数据存储空间.我们使用AT24C02为MCU提供了额外的256 Byte数据存储空间以满足系统需要.此外,为了方便程序的下载和在线调试,该电路将单片机ISP接口引出.
2.3 电源电路
由于驱动电机采用12 V直流减速电机,控制电路使用TTL电平,因此系统需要12 V和5 V2种电源.该系统采用12 V电池组供电,并通过LM7805将12 V转换成5 V给控制电路供电(图3).LM7805是美国国家半导体公司(National Semiconductor)推出的一款三端稳压电路.LM78××系列是一种降压式正电压输出稳压器,采用TO-220封装,内置热过载保护和短路保护电路,它们的外形酷似三极管,3只引脚分别为输入、接地和输出[3].LM7805的输入电压为5~35 V,但要获得5 V的输出至少需要2 V的压差,一般使用时采用7~20 V输入电源较佳.LM7805的输出电压+5 V,最大输出电流1.5 A,当需要更大输出电流时可以将多片LM7805并联使用或增加更有效的散热片.
2.4 红外接收与解码电路
偏心圆腿六足机器人是移动机器人,其正常工作时会在地面爬行,其身体重心呈正弦型波动.因此,若要对其进行实时控制,最好的办法是通过遥控控制.根据机器人自身特点和应用场合,我们选择红外遥控对其进行实时控制.红外发射端使用普通家电遥控器,编码格式为NEC Code重复脉冲格式;红外接收端使用S M0038一体化接收头接收红外信号,AT89S51单片机进行信号解码,并通过一对数码管显示解码结果以方便测试和调试.
图3 电源电路Fig.3 Power circuit
S M0038是一个小功率一体化红外接收器件,电路内置P IN二极管、前置放大器、带通滤波器、积分器和自动增益控制电路,采用防电场干扰设计和塑料封装[3].S M0038的输出电平与TTL和CMOS兼容,且适用于包括NEC Code重复脉冲在内的多种数据格式.如图4所示,S M0038仅有3只引脚,从左到右依次为输出端、VCC和GND.图中的R1为单片机P0.0的上拉电阻,R2和C11组成的滤波电路用来抑制电源干扰.
图4 红外接收与解码电路Fig.4 IR receiver and decod ing circuit
2.5 信号采集电路
偏心圆腿六足机器人共有6条腿,每条腿都由1个电机独立驱动,6条腿协同工作以完成相应的步态最终达到行走的功能.要精确控制这6条腿协同工作就必须获得每条腿的实时状态,即检测每条腿转动的速度和转过的角度.由于驱动电机不带有编码器,因此为每条腿都制作了一套红外光电编码器.每套编码器都由码盘、红外收发对管和信号放大转换电路构成,图5所示的信号采集电路中包括了后两者.
其中的码盘是将一个圆均分成多个扇形,并涂成黑白相间的颜色.当红外线照射到白色部分时大部分会被反射回来,而照射到黑色部分时大部分被吸收,只有很少一部分能被反射回来.将码盘固定在机器人腿上并与腿的轴心同心,这样码盘的转动状况与腿的转动状况就能保持一致,只要检测码盘就能知道腿的转动状态.其中的红外收发对管选用RPR220.RPR220是一种一体化反射型光电探测器.其发射器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度的硅平面光电三极管.其特点是自带塑料透镜以提高灵敏度,内置可见光过滤器以减小离散光的影响,体积小、结构紧凑且采用D IP4封装.将RPR220固定在机器人侧面正对着码盘,当码盘旋转到白色部分时便能输出一个脉冲.
由于作为MCU的AT89S52单片机采用TTL电平,而RPR220输出的信号很微弱且不是标准的方波,不能直接提供给MCU使用[4].因此,我们在它们中间加入了一个信号放大转换电路,将RPR220输出的信号转换成标准TTL电平方波输出.如图5所示,其中的放大转换功能由LM339完成.虽然LM339并不是放大器而是电压比较器,但它有如下功能特性:当同相输入端电压高于反相输入端时,输出管截止,相当于输出端开路;当同相输入端电压低于反相输入端时,输出管饱和,相当于输出端接低电位;只要2个输入端电压差别大于10 mV就能确保输出能从一种状态可靠地转换到另一种状态.因此,把LM339用在RPR220输出的弱电信号检测上是可行的.每片LM339包含了4个独立电压比较器,机器人只需要6个电压比较器,因此只需2片LM339即可.
图5中同相输入端为参考电压,反相输入端为比较电压.当码盘旋转到黑色部分时,RPR220的光电三极管处于截止状态,LM339的反相输入端(图中为6脚)电压为VCC,大于同相输入端(图中为7脚)电压,输出端电压为GND;当码盘旋转到白色部分时,RPR220的光电三极管处于饱和状态, LM339的反相输入端电压为UCE,小于同相输入端电压,输出端电压为VCC.输出端需接一个上拉电阻才能输出VCC电压,并联一个LED显示输出状态以便测试和调试.由于RPR220的输出状态受与码盘间距离、码盘材质等因素影响,因此LM339同相输入端可以通过一个可变电阻器进行调节.
图5 信号采集电路Fig.5 Signal acquisition circuit
2.6 驱动控制电路
偏心圆腿六足机器人的驱动控制电路由2部分组成,即驱动电源控制电路和驱动电机控制电路.为了保证系统的可靠性, MCU需要能控制驱动电源VS.图6所示为驱动电源控制电路,该电路中通过一个常闭型电磁式继电器来控制VS.当MCU的P3.2脚置0时Q1截止,VS断开,当P3.2脚置1时Q1饱和,VS导通.输出的VS作为L298N的VS输入,并联的2个电容用以抑制电源抖动.
偏心圆腿六足机器人共有6个直流减速电机,采用3片意法半导体公司(ST Microelectronics)的L298N作为驱动控制器[5]. L298N是一种恒压恒流桥式驱动芯片,内部包含2个H桥驱动电路,可以独立驱动2个直流电机或1个两相步进电机.其输出电压可达46 V,输出电流最高达2.5 A.如图7所示为驱动2个电机的控制电路,VS接12 V驱动电源,VCC接5 V逻辑电源.其中OUT1和OUT2为第1个H桥电路的2个输出, IN1、 IN2、ENA为其控制信号的输入端.当ENA有效时第1个H桥电路使能,此时若 IN1为高电平 IN2为低电平则电流经OUT1流出电机M1正向旋转,若IN1为低电平 IN2为高电平则电流经OUT2流出电机M1反向旋转.OUT3和OUT4为第2个H桥电路的2个输出, IN3、 IN4、ENB对其控制.为了节省引脚资源,将该电路的使能端ENA、ENB直接接VCC,通过对 IN1~ IN4输入PWM信号来控制电机的方向与速度.
图6 驱动电源控制电路Fig.6 Drive power control circuit
虽然L298N的各控制端可直接与单片机引脚相连,但为了保证系统的可靠性我们将该信号进行了光电隔离,以避免驱动电流的波动对控制电路其他部分造成影响.TLP521是东芝公司生产的光电耦合器,性能较好,使用也比较广泛.TLP521-4内部有4组相互独立的光电耦合器,刚好可供1片L298N的控制端输入.
3 实验与分析
从实验结果来看,本控制电路在实验用偏心圆腿六足机器人上得到很好效果,能够很好地使偏心圆腿六足机器人完成直行前进、后退、左右转向、越障等步态控制.但作为MCU的AT89S52单片机功能非常有限,工作频率低,不能装载多任务实时操作系统;自制的光电编码器精确度和稳定性不是太理想.
4 结束语
本文所述偏心圆腿六足机器人控制电路采用模块化设计,分别由MCU核心电路、电源电路、红外接收与解码电路、信号采集电路和驱动控制电路5个部分组成,其中MCU作为可编程核心器件控制整个系统工作.该电路与其他有关电路相比降低了电路复杂性,在成本上也比较低.该控制电路用于原理机进行行走机构的原理验证和步态算法的正确性检测,但对于有实际用途的机器人来说还有很大的距离.当然,笔者目前正着力于新一代更有实用性质的六足机器人的研制,在控制电路的设计方面将会采用功能更强大、档次更高的设备和元器.希望偏心圆腿六足机器人能早日投入使用.
图7 驱动电机控制电路Fig.7 Drive motor control circuit
[1] 储忠.六足仿生机器人的运动步态研究[D].安徽:合肥工业大学,2007:3-5.
[2] 陈继荣.智能电子创新制作——机器人制作入门[M].北京:科学出版社,2007:158.
[3] 谭兴军,王宇俊,何新强.基于单片机的管道机器人多路数据实时采集系统的设计[J].工业控制计算机,2010,23(11):23-26.
[4] SARANL IU,BUEHLERM,KOD ITSCHEKD E.RHex:A simple and highlymobile robot[J].InternationalJournalofRoboticsResearch,2001, 20(7):616-631.
[5] 王倩.六足仿生机器人步态规划与控制系统研制[D].哈尔滨:哈尔滨工业大学,2007:1-3.
Design of Control Circuit of Eccentric-Type Legged Hexapod Robot
HE Xin-qiang,WANG Yu-jun,TAN Xing-jun
(College of Com puter and Infor m ation Science,Southwest University,Chongqing400715,China)
Introduces the design of control circuit of an Eccentric-Type Legged Hexapod Robot,which is used of modular design method.The control circuit is made up ofMCU core circuit,power circuit,infrared receiver and decoding circuitry,signal acquisition circuit and drive control circuit,totally 5 parts,of which MCU controls the entire system work as a programmable core of device.Exper iments show that the control circuit canmeet the Eccentric-Type Legged Hexapod Robot’s control need,which can ensure system reliability,stability and scalability,as the basis for subsequent research.
eccentric-type legged hexapod robot;modular design;MCU;infrared receiver and decoder;signal acquisition;drive control
TP242.6
A
1007-0834(2011)01-0036-05
10.3969/j.issn.1007-0834.2011.01.012
2011-01-05
何新强(1976—),男,河南漯河人,西南大学计算机与信息科学学院在读硕士研究生.