引言
近年来各类军用机器人在国防领域和地缘战略中发挥着重要的作用。在我国广大西部地区,由于地形复杂、道路崎岖,传统的轮式或履带式机器人无法满足地形通过性要求,而仿生四足机器人能够较好地满足在非结构化地形条件下可靠行进的任务需求。液压驱动的仿生四足机器人是近年国内外的研究热点与主攻项目,在其关键技术群中,电液伺服控制技术则是保障仿生液压四足机器人实现稳定行进功能的核心技术。
1总体设计
1.1控制对象分析
本文依托北京理工大学特种机器人技术创新中心正在研发的一款仿生液压四足机器人展开研究,机器人每条腿具有3个主动自由度和1个被动自由度,分别为髋侧摆关节、髋正摆关节、膝关节和足部二阶弹簧减震器,全部12个主动关节均由液压缸驱动。机器人的结构尺寸长为120 cm,宽为50 cm,大腿腿节杆件等效长度(髋关节轴到膝关节轴距离)为40cm,小腿腿节杆件等效长度(膝关节轴到足端包络圆心距离)为40 cm。在未集成机载液压油源的实验条件下自重118.5 kg。四足仿生机器人整体结构如图1所示。
图1 四足仿生机器人整体结构
1.2系统架构设计
综合考虑伺服控制任务可以发现,系统性能要求有若干矛盾,如多通道并行伺服控制和单一通道伺服控制精度的时间资源冲突以及多输入/输出接口设计的硬件资源冲突。使用单一控制器的集中式控制系统很难在时间资源与硬件资源的分配上实现平衡,从而无法达到任务指标要求。基于上述目标,本系统采用一种分布式系统架构进行电液伺服控制系统的设计工作。本系统在运动控制器下设计4个伺服控制器,如图2所示,并通过伺服总线连接构成分布式电液伺服控制系统。
图2 电液伺服控制系统结构框图
4个伺服控制器分别负责机器人一条腿上3个液压伺服单元的伺服控制。通过分布式系统架构设计,一方面,拆分简化了控制任务,使得单个控制器的任务时序更加具有规律性,提高了软件系统的稳定性;另一方面实现了控制系统和机械结构相对应的模块化设计。该设计兼顾了系统任务中对精度和实时性的要求。
2伺服总线接口设计
伺服总线接口是位于运动控制器与4个伺服控制器之间的总线接口,负责传递下行的各液压伺服单元伺服指令和反馈上行的各液压伺服单元工作状态,需要具备网络特性。常用的总线主要包括RS422/485串行通信总线、以太网、I2C总线、SPI总线和CAN总线。CAN总线拓扑结构灵活多变,无主从特性。网络上任何一个处于工作状态的节点都可以随时发送数据,实现点对点、点对多的数据传输。采用非破坏性仲裁技术,邮箱和ID决定了节点数据的优先级,ID越小,优先级越高。采用短帧结构传输时,每帧8个有效字节,传输时间短,抗干扰能力强[1]。本设计选择CAN总线作为系统的伺服总线,拓扑结构如图3所示。
图3 CAN总线结构简图
伺服总线更新频率为200 Hz,伺服指令帧长度为每轴6字节,可以使用CAN协议设计单帧伺服指令,单周期指令总长为72字节,每周期吞吐量计算如下所示:
156bpf×12f×200 Hz=374.4 kbps(1)
其中,bpf是位每帧,f为帧,可计算得总线波特率为374.4 kbps,CAN总线在40 m内通信波特率可达1 Mbps,能够满足总线通信速率要求。考虑到伺服指令的高实时性要求,需要考虑避免反馈信息数据包占用总线影响数据时效性的问题,因此在设计时使用双线设计,CAN1只用于运动控制器对伺服控制器下发指令数据包,CAN2用于伺服控制向运动控制器返回传感反馈信息。CAN收发器电路原理图如图4所示。
图4 CAN收发器电路原理图
选择SN65HVD232 CAN总线收发器。图4中R1为CAN总线的端负载电阻,按照伺服控制器所处总线位置决定是否短接跳线JP1。当对应伺服控制器位于总线端点时,为了防止信号反射,短接跳线JP1,将端接负载电阻传入差分信号环路,抑制信号反射干扰。CAN总线控制器使用STM32F4系列MCU的片内外设bxCAN,两个bxCAN外设分别控制指令总线和传感反馈总线。伺服控制器总线驱动设计如图5所示。
图5 伺服总线驱动流程图
3伺服阀控制接口设计
常用的输出级设计包括模拟直驱、DAC功率放大半数字驱动、数字功率驱动[2]。本文使用PWM驱动MOSFET全桥的方式实现数字功率驱动,使用MOSFET SI4405P和SI4404N搭建功率驱动全桥。使用STM32F405内部定时器产生互补PWM驱动对应桥臂,这种控制方式首先实现了直接的数字控制,没有使用模拟器件;其次使用单电源供电实现双极性控制,简化了电源和电路设计,并且可以通过对PWM载波频率的调整,来实现伺服阀驱动信号中颤振信号的叠加[3]。
4传感反馈接口设计
机器人液压驱动单元使用的位置传感器和压力传感器均使用电压信号输出形式 ,STM32F405集成有2个16通道的12位高性能内部ADC,单通道采样频率可达2.4 Msps,6通道轮询采样最快可保证每通道400 ksps,可以满足1 kHz伺服频率以及精度要求,因此本设计不使用独立的外部ADC,直接使用内部外设。传感器输出信号为0~10 V,调理电路如图6所示。图6无源增益传感信号调理电路原理图
图6 功率全桥PWM驱动调试电路原理
ADC使用STM32F405内部外设,单通道采样频率设置为16 ksps,通过DMA写入16字节滚筒缓存,进行数字滤波。软件流程如图7所示。
图7 传感反馈接口驱动设计
5伺服总线指令协议设计
配置CAN总线通信ID为标准11位ID。通过对11位ID的配置,设计伺服指令ID格式如下所示。
ID0、ID1位为伺服控制器编号编码位,按照左前腿0号、右前腿1号、左后腿2号、右后腿3号的顺序进行编码。ID2、ID3位为关节编号编码位,对单腿自上而下的髋侧摆、髋正摆和膝关节分别编码为0、1和2。具体编码如表1所列。
ID5~9位用于指令编码,因为伺服总线和反馈总线相互独立,所以对伺服控制和状态反馈分别进行设计。ID4位为广播标志位,该位置为1时,对应指令以广播的形式发给每个通道。ID10位为伺服总线的读写标志位,该位置为0时,控制指令代表对相应控制量的读指令,伺服控制器通过CAN2发出回包数据。
5.1伺服控制总线指令协议
伺服控制指令由运动控制器通过CAN1下发,按照CAN总线对ID的响应机制进行设计,高优先级指令控制字较小,总线仲裁优先级较高。设计的控制指令略——编者注。
5.2状态反馈总线指令协议
状态反馈指令用于通过CAN2反馈自检信息和回传工作状态略——编者注。
6非对称前馈补偿模糊自适应PID算法设计
仿生液压四足机器人的运动由液压执行机构系统驱动,而机器人自身具有负载可变、环境时变的特点,因此控制对象是一个非线性、参数时变的系统。模糊PID控制在这种系统控制方面有很大优势,可提高控制性能[5]。
为了降低模糊控制器的复杂度,本系统使用了一种误差分段智能控制算法,其控制方案的原理如图8所示。图中的辨识开关通过判断误差阈值,选择BangBang控制或模糊自适应PID控制。当误差大于设定阈值时,进行BangBang控制;当误差小于设定阈值时,进行模糊自适应PID控制。模糊推理专家库的参数通过自整定系统在调试模式获取[6]。
图8非对称前馈补偿模糊自适应PID控制器结构图
针对液压控制系统的非对称性和滞环特性,在以上控制器设计基础上加入速度和加速度前馈控制参数,以补偿系统的滞环,提高响应速度。通过对两个运动方向设置不同的前馈参数,实现对有杆腔和无杆腔运动方向的非对称补偿。具体的实现方式是,由一个方向判断开关来选择两个运动方向的补偿参数,从而实现控制,同时,液压缸控制参数的非对称性在模糊策略表中体现。
7实验
将液压缸一端固定在实验平台上,另一端空载或者串联10 kg负载,使用具有功率冗余的21 MPa大功率外油源供油。
7.1正弦位置控制实验
对于85 mm行程液压伺服系统,输入20 mm幅值、4.5 Hz正弦波激励所获得的响应结果略——编者注。其表现了性能对称、位置速度跟踪情况良好的伺服控制效果。
7.2阶跃响应实验
对膝关节100 mm行程液压伺服系统施加幅值30 mm的方波激励,实现正反双向60 mm行程的阶跃信号。能在三次震荡之内达到0.01mm的稳态误差,实验响应曲线略——编者注。记录实验数据表略——编者注。
结语
本文基于STM32F405设计了分布式电液伺服控制架构,使用CAN总线搭建了伺服总线,并对电液伺服输入和输出接口进行了有针对性的设计,引入了具有非对称前馈补偿的模糊自适应控制算法。经过实验检验,控制器伺服控制水平满足性能指标要求,达到了良好的控制效果。