张鹏翔,廖启征,魏世民,郭 磊
(北京邮电大学,北京 100876)
四足机器人与履带、轮式机器人相比,具有较强的地形适应能力,能够通过山地,雪地等特殊地形。因此,四足机器人已成为机器人领域的研究热点。特别是采用液压作为驱动,机器人拥有一定的负载能力,从而具有较大的使用价值。名为 BigDog的四足机器人为典型。
四足机器人主要是依赖分布于四条腿上的驱动单元来行走,其运动性能直接取决于液压系统性能。因此,液压系统是机器人系统中的重点部分。由于驱动单元为液压执行器件,只要能控制液压执行器件的运动,就可以决定四足机器人的整体运动。所以控制系统的设计需要考虑到液压系统的实际情况。
四足机器人的每个腿部均有 4个驱动,仅驱动控制就有 16个,导致机器人的控制系统设计较为复杂。因此,机器人的控制系统分为两部分:主控制系统,用于机器人整体控制和外部通信;从控制系统,用于控制机器人各腿部的运动和与主控制系统通信。二者通过总线相连接。
四足机器人的液压系统主要包括液压泵,液压执行元件(液压缸),电液伺服阀,蓄能器,溢流阀和其他必要的附件。液压泵将外部动力能转化为液压能,驱动液压系统工作,为恒压变量泵,工作压力 16 MPa。液压缸将液压能转换为机械能,用以驱动机器人行走,单活塞杆型,内径 16 mm,活塞杆径 12 mm,行程70 mm。电液伺服阀是液压系统中最重要的元件,能将微弱的电信号转化为液压能,用以控制通过液压缸的流量,从而控制机器人的运动。四足机器人一个腿部的液压系统原理图如图 1所示。机器人的所有液压缸均由同一个液压泵驱动。由于机器人为独立工作,因此液压泵的动力源为两冲程汽油机,考虑到冷却因素,液压系统的冷却形式为风冷。
图1 四足机器人液压系统原理图
根据所选用伺服阀的情况,其电气接口主要有:电源输入端(24 V直流),控制信号输入端(±10 V),阀芯位置输出端(4~20 mA电流),以及信号、保护接地。因此,调节控制信号输入端的电压大小和极性,即可控制液压缸的流量和运动方向。由液压控制原理可知,在开环情况下,即不把液压缸的位移作为反馈,通过伺服阀只能控制液压缸的移动速度。为此,采用电位计测量液压缸的伸缩量,构成闭环。伺服阀的控制采用 PWM信号,阀芯的位移响应 PWM信号的平均值,通过调节 PWM信号的占空比,来控制伺服阀的控制输入电压。由于 PWM信号包含一定频率的脉动量,使阀芯处于微振动状态,可减小伺服阀的滞环,静摩擦等负面影响。考虑伺服阀自身的动态特性,选择PWM信号的频率为 11 kHz。
由引言可知,四足机器人的控制系统分为两个部分。由于嵌入式系统具有体积小,重量轻,可靠性高等特点,因此主,从控制系统均采用嵌入式微处理器作为控制器。其中,主控制器为 S3C2440芯片,从控制器为 LPC2210芯片。考虑到芯片引脚的复用情况以及控制器之间的实时数据交互,各控制器采用 I2C总线连接,控制系统原理图如图 2所示:
图2 四足机器人控制系统原理图
主控制系统是四足机器人的核心部分。S3C2240硬件连接方面:通过 I2C总线与 LPC2210连接,保持相互之间的数据交互;通过 USB接口与陀螺仪相连接,获得机器人当前的姿态;通过串口与机器人各足底部的六维力传感器连接,获取机器人的受力情况,其中波特率 115200;此外接有通信模块,与外部操作人员保持通信。
在从控制系统中,每个控制器负责机器人一个腿部的运动控制。LPC2210通过 4路 PWM信号控制腿部的伺服阀的控制输入电压,进而调节液压缸的运动,由于管脚的电压为 0~3.3 V,因此 PWM信号在送入伺服阀之前需进行电平转换。LPC2210共有 8路 AD转化,其中 4路接电位计,用以测量液压缸的伸缩量。由于伺服阀有阀芯位置输出端,当输出电流为 0时,表明伺服阀出现故障,液压系统需要停止工作。为此,将该输出信号首先进行电流-电压转换,然后进行 AD转换,送至 LPC2210,用以实时监控伺服阀状态。AD采样频率均为 100Hz。另外,为了测量机器人腿部各关节的转动,采用光电编码器测量关节的转角。LPC2210硬件资源配置如图 3所示。
图3 从控制系统硬件配置框图
主控制系统移植了嵌入式 Linux操作系统,采用多线程处理机器人的整体控制。主要线程有:通信线程,通过通信端口接收外部的操作指令;传感器线程,接收机器人陀螺仪,六维力传感器输出数据;控制线程,根据通信线程和传感器线程所获得的数据,由四足机器人的控制模型,计算出各腿部的运动指令;I2C线程,将控制线程所得运动指令通过 I2C总线发送至从控制器,同时接收从控制器的返回数据;监控线程,监控液压系统的工作状况,如液压系统任意部件出现异常,使机器人停止运动。
从控制系统中,接受主控制器的运动指令,根据当前腿部关节和液压缸的实际位置,计算出液压缸的位置,产生相应占空比的 PWM信号,驱动伺服阀测试相应的开度,使液压缸动作。控制器还监控伺服阀的阀芯位置输入,以避免伺服阀的故障对机器人系统造成损坏。同时,从控制器向主控制器返回当前腿部的运动状态。从控制系统程序流程图如图 4所示。
图4 从控制系统程序流程图
针对四足机器人液压系统的性质,分析所用电液伺服阀的特点,提出了采用嵌入式控制器设计机器人的控制系统。将控制系统分为两层,主控制系统负责机器人的整体控制,产生机器人的运动指令。各从控制系统负责控制相应腿部的运动,根据主控制系统的指令,通过调节伺服阀的输入控制电压,来控制液压缸的动作。通过实际试验表明,该控制系统设计方案能够达到预期效果。
[1] Marc Reibert,Keivn Blankespoor,Gabriel Nelson.Rob p layter and the bigdog team bigdog the rough-terrain quadruped robot[C].The 17th International Federation of Automatic Control World Congress,2008,7.
[2] 雷天觉.新编液压设计手册[M].北京:北京理工大学出版社,1998.
[3] 吴振顺.液压控制系统[M].北京:高等教育出版社,2008.[4] 王耀南,张志国,蔡玉连.凝汽器水下清洗机器人的控制系统 [J].控制工程,2009,3.
[5] 周立功,等.ARM嵌入式系统基础教程[M].北京:北京航空航天大学,2005.
[6] 孙琼.嵌入式 Linux应用程序开发详解[M].北京:人民邮电出版社,2006.