柔性脊柱四足机器人的控制系统

2021-01-13 12:17陈新杰胡天麒
装备制造技术 2020年10期
关键词:工控机控制算法总线

陈新杰,胡天麒

(武汉理工大学机电工程学院,武汉430070)

作为移动类型机器人之一,四足机器人在很多领域(如军事、家庭、救援等)都有很好的实用性以及广大的应用前景[1]。较之于其他类型的履带式、轮式移动机器人,四足机器人运动过程落脚点离散,这一运动特点使得它能够在非结构环境中适应性更强和运动灵活性更高,可以在多数的地面顺利行走。采用刚性脊柱是目前绝大多数的四足机器人发展现状,而使用刚性脊柱限制了四足机器人性能的提升。将柔性脊柱引入四足机器人,脊柱的协调配合可对外界冲击起到柔顺作用,在调整机身姿态和四条腿的落足点方面优势跟明显,能够有效地提高机器人运动的稳定性和运动灵活性[2]。

目前,对于大多数机器人控制系统的通信方式都是采用RS485、RS232端口和一些现场总线,但在机器人结构比较复杂,控制关节较多的情况下,不能保证控制系统实时性和稳定性。CAN总线是一种能够解决繁多数量控制设备间数据交换的串行数据通信协议,CAN通信具有通信速度快、采用多主方式工作可挂载多个节点等特点。本文基于CAN总线设计并开发了分层式的柔性脊柱四足机器人控制系统,并采用一种新型的积分分离PID控制算法来控制电机的运动。

1 四足机器人结构和控制要求

依照机器人结构设计原则,设计结构简图如图1所示。柔性脊柱型四足机器人由腿部、腰部、前体和后体机身组成,每条腿3个关节,髋关节、膝关节和横摆关节。其中,驱动髋关节和膝关节可以使机器人前行,驱动横摆关节机器人可以实现侧摆。脊柱有前、后两个关节,柔性脊柱能够有效的提高机器人的运动速度和灵活性[3-5]。机器人一共14个关节,采用直流无刷电机驱动,实现精确定位和多模式控制。

图1 四足机器人结构简图

带柔性脊柱的四足机器人比刚性脊柱四足机器人结构更加复杂,自由度更多,控制起来也更加的复杂,控制需求更高。首先,需要对每条腿的各个关节进行精准控制,与此同时还要保证腿的协调性;其次,加入脊柱关节控制后,要协调腿部和腰部,保证机身的稳定性和灵活性。最后,带柔性脊柱四足机器人系统整体规模大、驱动器数量多、传感模块输入信号量大、各个模块间的通信复杂,要求控制系统有较高的控制频率,有良好的实时性。

2 控制系统方案设计

对于带柔性脊柱四足机器人复杂的控制,以往采用单处理器和主从式架构无法满足对腿部和腰部电机协调和控制系统的实时性要求,达不到预期的控制效果。为了满足脊柱型四足机器人的控制需求,采用分层式的控制系统,对系统进行分层控制,对每一层的任务明确分工,加快系统的响应速度,控制效果更优[6]。整个控制系统分为三层:监控层、规划控制层和执行层,系统总体控制方案如图2所示。

图2 机器人控制系统方案

(1)监控层。监控层主要是监控计算机,监控机通过无线以太网与规划层的工控机相连实现两者间的自由通信。接收传感器获得和工控机计算出的运动状态信息并进行存储备份,用以检测机器人的运行情况,方便操作人员监控机器人的实时运动状态,实现人机交互功能。

(2)规划控制层。规划控制层主要完成机器人的整机运动状态的控制,规划运动步态、路径和完成上层控制算法,发送指令到执行层。选择研华工控机PC104作为主控制器,型号为PCM-3362N-S6A1E,英特尔CPU,最大内存2 G,功耗低,计算能力强。通过惯性测量单元IMU实时获取机身的姿态角,工控机同时采集和处理腿部及机体躯干的传感器的信息,分析计算机器人的姿态和评估运动状态。依据采用的控制算法策略对机器人进行协调控制,然后通过CAN总线发送控制指令到执行层的各个驱控模块完成机器人规划的运动状态和机体姿态。

(3)执行层。为了提高系统的控制频率,采用多片DSP芯片,以到达1 kHz的控制频率。执行层由14片 DSP28335、14个maxon公司的 EC45 flat直流无刷电机(BLDC)及驱动电路组成。执行层通过CAN总线与规划层实现通信,工控机要通过CAN总线网络实现对个直流无刷电机的协调控制。实质是挂在总线上的工控机与各个节点(DSP)之间的通信,工控机将指令或数据发送给CAN总线上的各个节点,再由各个节点(DSP)通过一定的控制算法和驱动电路完成对BLDC的控制[7-10]。CAN网络上所有的节点通过报文滤波确定是否接收报文,可以单独接受也可以同时接受并做出反应,同时接受时是为多播方式。上位机通过CAN总线接受或发送指令,以点对点的方式与某节点通信可以对该节点施加动作,也可以用多播方式同时对总线上所有节点施加动作,实现多个关节电机的同步运行。通过CAN总线的报文滤波,再依据DSP采用一定的算法控制电机动作,可以实现机器人的多个关机电机的同步控制和协调控制。驱动电路如图4所示。

执行层电机的控制采用双闭环控制,EC45 flat直流无刷电机内置有霍尔传感器和增量式编码器,可实时将电机当前位置和速度反馈给DSP,伺服精度较高。DSP产生PWM波经过光电隔离电路输出到驱动芯片IR2136,经过三相逆变器驱动电机本体。同时,通过采样电路对电机的三相电流采用并送到DSP的A/D转换模块,实现电机的双闭环控制,提高电机的控制精度,控制结构如图3所示。

图3 执行层控制结构

图4 直流无刷电机驱动电路

3 新型积分分离PID控制算法

为了提高控制系统的响应速度,将机身姿态调整、步态规划等控制策略放在规划层,而把电机的驱动和控制算法放在执行层DSP上。在执行层采用一种基于积分分离PID的新型控制算法控制电机的状态,提高电机的控制速度和精度。图5所示为传统的PID 控制算法结构原理图,r(t)是给定值,y(t)为输出值,两者差值为e(t),而u(t)为 PID 控制器的输出值。

图5 典型PID控制原理框图

典型的PID算法控制量:

3.1 新型积分分离PID算法

新型的积分分离PID控制算法在传统PID算法的基础上,对比例系数、积分环节做出调整,同时引入死区控制,使PID算法的更加灵活、控制效果更好[11-12]。

(1)比例控制。比例环节能够迅速反映偏差从而减小偏差,比例系数越大偏差越小,但是Kp加大会引起系统不稳定。因而在实际应用中,需要合理的调整Kp。当实际输出偏离参考指令信号,增大Kp以减小系统的偏差值。当实际输出在跟踪输出参考指令信号,偏差与偏差变化率异号,此时应该减小Kp,避免比例系数过大引起超调而造成系统不稳定。比例系数调整规则如下:

1)偏差e减小,保持比例系数Kp不变。

2)偏差e增大,且时e·(de/dt)>0,增大Kp;偏差e增大,但e·(de/dt)<0 时,减小Kp。

(2)积分控制。引入积分环节可以减小稳态误差,提高空系统的控制精度。但是,积分环节会加大系统的超调量,引起系统振荡。采用积分分离PID控制能够有效平衡减小误差和保持系统稳定。具体而言,当偏差e(k)较大时取消积分作用,以避免过大的超调量;当被控量接近设定值,偏差e(k)小于一个阈值β时加入积分作用,减小稳态误差,提高精度。积分分离PID算法为:

积分分离PID控制量:

(3)引入死区控制。当系统偏差很小时,频繁调整输出会引起振荡。因此,可以引入死区参数ε使控制器在一定的范围内输出保持恒定。当系统的偏差e(k)绝对值不大于ε时,忽略存在的微小偏差,控制器继续维持的上周期输出值不变,即当时,保持控制量为:

3.2 建模与仿真

建立直流无刷电机的MATLAB/simulink仿真模型,对四足机器人执行层电机控制算法进行仿真[13-14]。依据图6所示的控制原理,建立新型积分分离PID算法的simulink模型,如图7所示。取控制器的初始整定参数Kp=10.7,Ki=0.15,对系统进行仿真操作。

图6 新型积分分离PID控制原理

图7 新型积分分离PID控制器simulink模型

电机的额定转速为4 860 r/min,以额定转速空载启动,在0.7 s电机由空载加负载至电机的额定转矩0.128 N·m,传统PID和新型的带死区积分分离PID控制电机的转速波形如图8所示。从图8知,相比于传统的PID算法在0.28 s有超调量,新型的带死区积分分离PID算法可以很好的跟踪输入的期望转速;加入负载后,传统PID控制输出转速存在超调量,而新型PID算法能够保持系统的稳定状态。

图8 两种控制算法电机转速输出对比波形图

4 软件设计

本文采用模块化设计软件框架,将软件系统分为四个模块:监控机PC模块、数据采集模块、规划控制层模块和执行层模块。作为软件设计的核心,规划控制层担负着信息采集,解算关节角,根据控制策略通过CAN总线发出控制指令到执行层。为了提高系统的实时性,采用多线程技术来进行软件程序设计,多个线程并行执行提高信息处理能力。

首先数据采集线程完成机器人的姿态、速度和各电机状态等信息的采集,依据采集的信息控制算法解算线程计算关节角度,控制指令发送线程发出控制指令到CAN总线上,通过CAN通信线程发送到驱动器,驱动器接受信息并及时做出响应。规划控制层模块程序设计如图9所示,设置时要保证控制频率不高于采样频率,通过不断地循环各个线程,保证四足机器人的正常稳定行走。

图9 执行层程序流程

5 实验与结果

通过对电机进行测试,来验证机器人控制系统的实时性和可靠性,实验平台实物图如图10所示。柔性脊柱四足机器人采用位置控制模式,输入周期T=1 s、幅值A=10 000 qc的正弦位置信号,观察电机位置信号的输出情况,实验结果如图11所示,虚线代表输入信号而实线代表跟踪信号。从实验结果可以看出,输出的位置轨迹能够很好的跟踪规划的位置轨迹,幅值和相位的均只有微小的衰减,能够满足精度要求。

图10 实验平台实物图

图11 电机测试响应曲线图

6 结束语

以工控机和多个DSP28335为控制器,设计了分层式的带柔性脊柱四足机器人的控制系统。在以工控机为核心的控制规划层运行机器人所用的运动学和动力学算法。通过CAN通信实现多个关节电机的同步与协调动作,DSP完成电机的新型积分分离PID运动控制算法并驱动电机,采用多个DSP提高控制系统的实时计算能力和响应速度。通过电机建模仿真和响应测试,验证了控制系统的可靠性和稳定性。

猜你喜欢
工控机控制算法总线
基于滑模观测器的直驱PMSG机侧控制算法研究与应用
定制工控机在老旧线路计算机联锁设备中的应用
一种基于CAN总线的误码测试方法
高精度位置跟踪自适应增益调度滑模控制算法
基于双工控机模式的混合车道系统设备控制的设计与实现
印刷网络化解决方案中工控机系统的设计与实现
CAN总线并发通信时下位机应用软件设计
基于CAN总线的水下通信系统设计
基于航迹差和航向差的航迹自动控制算法
一种基于专家知识的动力定位控制算法及试验