基于滑模变结构的轮式机器人运动误差控制器设计
2022-06-01刘妍萍
刘妍萍
(西安工程大学,西安 710600)
0 引言
轮式机器人在探索未知领域方面有很大的优势,其应用已从工业延伸到服务业、教育、国防等领域,轮式机器人在各个领域的应用已经对人类社会的生产和生活产生了积极而深远的影响。在轮式机器人的实际应用环境中,各种不确定性因素影响着控制系统的性能,甚至使控制系统不稳定,降低了控制精度。车轮移动机器人是一个典型的非完整控制系统,在考虑轮滑的运动模型时,不可避免地要考虑轮毂的滑移系数,因为车轮一旦发生滑移,若在复杂情况下,理想运动学控制器不再适用,则使其跟踪精度降低,使其轨迹偏离预期轨迹。为此,应对轮式机器人的运动误差进行控制。
目前已有相关学者对轮式机器人运动误差控制器进行设计研究。文献[1]提出基于黎卡提微分方程的移动机器人运动误差控制研究方法,构建黎卡提微分方程,以此推导轮式机器人动力学方程。通过设计黎卡提微分控制器,推导机器人运动的相关状态,实现机器人运动控制的稳定性;文献[2]结合综合位姿误差控制方法,在机器人逆运动学模型基础上,构建误差传递矩阵模型,根据求解结果,确定机器人姿态,根据相关姿态数据,控制机器人运动状态。然而,这两种方法受到不确定性因素干扰,使得控制效果不理想,为此,结合滑模变结构,设计了一种轮式机器人运动误差控制器。
1 控制器硬件结构
轮式机器人运动误差控制系统硬件结构是由基于TMS320F2812DSP、FB900C/E角度变送器、自校正角度变送器和陀螺组成的。该硬件结构分为俯仰通道和倾斜通道两个通道,除了进动速度快或慢之外,其他情况相同。该系统的硬件结构如图1所示。
图1 控制器硬件结构示意图
由图1可知,陀螺仪是系统的控制对象,为系统提供电力;角度变送器由FB900C/E角度变送器实现角位移或线位移输出,两者共同组成系统的信号采集部分;采用TMS320F2812DSP作为控制系统控制器的电路板,用于控制整个系统各部分的工作状态及各部件间的数据传输,并通过调整陀螺仪控制电压,为系统各部分提供电平转换。
1.1 双框架陀螺仪
双框陀螺仪由两个机架组成,分别为俯仰和倾斜机架,为交流力矩电机提供驱动力。扭矩电机可以接受的最大供电电压为25 V的400 Hz交流电,通过改变电压来控制电动机的速度,通过改变正负向功率来改变其方向。双框式陀螺仪有3种控制方式,一是改变进动速度,二是改变陀螺仪框架的方向,三是改变的复位信号。采用自校正装置,利用数模变换将陀螺仪两通道进动角度位置转换为比例交流信号,然后输出。通过一个32孔插座,将陀螺仪自带的内部信号进行采集和处理。
图2中显示了改变陀螺仪速度的程序控制放大器。
图2 程控放大器电路示意图
由图2可知,该程控增益放大器电路由数据锁存器74LS373、4SPST模拟开关MAX313、运放0P07 和一个电阻网络组成。其功能是将 DSP输出的数字量转换为模拟量,即幅度可调电压。通过选择电阻网络电阻R1~F4和电阻RI的阻值,经模拟开关4个通道的切换与组合,可得到15个不同的放大/衰减增益。此电路的输入、输出交流电压幅值很小,可使信号在传输时保持电压相位不变。该方法利用 DSP对给定的输入值进行调节,进而改变陀螺仪的进动速度。
1.2 角位变送器
反馈部分采用FB900C/E角变送器作为传感器,其内部采用自调节的陀螺仪作为检测部件。利用对接收到的交流信号进行处理,可将陀螺仪两个通道旋转的角度转换为角位移或线位移,并输出模拟量或数字量。选取发送数位,即通过串口将陀螺仪的进动角以特定格式发送给DSP,由DSP程序从中提取进动角度值。角变送器分辨率为10位,用于360°角的检测。如此,发射器至少能感觉到0.3°的角度位置进动。
FB900C/E变送器具有串口输出RS232C和RS485,每次只能使用其中的一个,资料由串行端口传送。发射机可以编号,以便主机能通过串口存取来自多个发射机的数据。传送器串行通信协议有两种选择,一个是使用 ASCII码,另一个是十六进制数。角位变送器存在两种输出模式,分别是数据连续输出和指令单独输出。其中数据连续输出指的是在串口处连续发送数据,而指令单独输出指的是通过上位机发送相关命令。因DSP2812在设计中使用了两个串行接口,一种是用于与计算机通讯,另一种是用于采集两个通道的角位置信号,所以本设计采用了 ASCII编码的指令输出。
1.3 DSP控制器
选择TI公司的C2000系列 DSP:TMS 320 f 2812。TMS320F2812程序空间与数据空间分离,CPU可同时存取程序和数据,有效提高了DSP的运算速度。采用 DSP采集陀螺仪的进动信号,调节控制电压,实现与计算机的通讯,由于TMS320F2812芯片具有相应的存储器控制系统,因此外部存储器接口问题无需考虑。TMS320F2812正常工作所需的电压包括两个部分:1.8 V芯片核心电压和3.3 V Flash电压。该控制器还具备去耦合电容作用,一是可用于抑制电源产生的噪声对数字信号处理机的正常工作;二是作为储能电容器;三是可以滤除 DSP芯片工作时产生的高频噪声。
DSP用于控制整个系统各部分的工作状态及各部件间的数据传输,根据滑模变结构误差控制计算结果设置DSP指令,能够实现数字信号的处理,将数字信号转换为控制指令,轮式机器人运动误差控制。
1.4 数字电位器
利用数字输入来控制数字电位器,产生模拟输出。数字电位器,也叫 CNC可编程电位计,是一种新型的 CMOS集成电路,取代了传统的机械电位计(模拟电位计)。最常见的Max5432型数字电位计是一种是由Maxim公司制造生产的7位,且具有32个可选择的螺杆,不容易丢失的线性数字电位计,它包括了7位的移位寄存器、数据锁存器、电位器和控制时钟逻辑电路。该数字电位计的控制主要包括3个部分,分别是晶片选择(Circuit Select)、 DIN (Digital Input, DIN)、 SCLK (SCLK)。电路采用2.7 V至5.25 V供电,它的内部电阻上的电压是由VDD和 VSS外部提供的。VDD和VSS的电压应该在9 V以上,在31.5 V以下。这样,Max5432就可以很好地选择输入电压。另外,Max5432的外部线路也很简单,该系统无需外部器件即可调整输入电压及输出。
数字电位器芯片使用I2C串行总线作为接口,以400 kbps的数据通讯速度对芯片和电位计进行调速。当上电时,电可擦可编程只读存储器(EEPROM)能使滑动端回到上次关机时所储存的位置。该装置接收到的最大分电流能够达到几百微安或几毫安,这与数字电位器的性能有关。数字电位器具备数控调整功能,能够取代机械式电位计,是一种半导体集成电路,取消了传统的基板和电阻。在自动控制过程中,能够精准地测量电刷上的电阻。在系统控制过程中,也能够精准地测量控制角度,并根据输出的反馈信号,通过旋转轴来调整输出。数字电位器一般都有一个总线接口,它既可以用单片机也可以用逻辑电路来实现。
1.5 自整角机
自整角机具有两个自调节装置和一个双极型调节方式,它是一种利用自整定步进特性,可以把角变换成交流电压的异步电动机。在伺服系统中,该装置起到了位移检测的作用。同时,它还可以进行远距离的传输、转换、接收、显示等功能。通过导线连接的两个以上的电机,能够使两个以上没有机械连接的转轴实现自转或同步转动,该过程的工作模式被称为自调整模式。
在两个自调整装置中,一个是用来传送角信号的,它的激励线圈连接到一相交流电源上。另一个是利用角度信号,将角度信号转换为感应电势,由感应线圈所输出,也就是自调节角度接收机。采用两台自调角机的定子上的全步进线圈组成一星形,三相的相位绕组构成环形。将单相 AC电流加到同步变频器的励磁绕组上,在两个同步器的间隙处形成一个脉冲磁场,该脉冲磁场的幅值随时间变化,脉动磁场使自整角传感器产生了一个全步进线圈的相感电位。全阶绕组的电势最大值是由各相绕组的轴与激发线圈轴的相对位置决定的,全阶绕组的电势最大值是由各相绕组的轴与激发线圈轴的相对位置决定的。
2 控制器软件部分设计
2.1 基于滑模变结构的误差控制
滑模变结构是一种非线性特殊结构,具有不连续性,该结构并非固定,而是根据结构当前状态随时发生改变,使得系统进入预先设定的运动轨迹中。研究单输入、n
阶线性定常系统的相位变量形式,所构造的运动方程矩阵如下:(1)
公式(1)中,a
和b
分别表示已知的常规参数。滑模变结构控制,存在如下不连续形式,可表示为:
(2)
公式(2)中,f
(x
)表示滑模切换函数,当λ
(x
)≠λ
(x
)时,滑模变结构控制律应满足如下条件:(3)
滑模切换函数也可称为状态向量的线性函数,其公式为:
f
(x
)=ε
x
+ε
x
+…+ε
-1x
-1+x
(4)
公式(4)中,ε
,ε
,…,ε
-1表示相变量参数。在n
维相空间中,滑模变结构控制滑动面可表示为:ε
x
+ε
x
+…+ε
-1x
-1+x
=0(5)
由于运动方程矩阵为相变量形式,所以为了保证滑模变结构模态控制阶段的稳定,需选择合理的相变量参数,使特征方程的所有特征根都具有负实数。
当滑模变形轮式机械手的运动轨迹达到转换流型后,便会沿着它的运动方向继续向前,这时,滑模变结构的轮式机器人的运动轨迹仍停留在转换流形上,这就是所谓的“理想滑模”状态。但在实际工作中,由于机械臂的惯性延迟,使其无法维持原有的运动轨迹,只能在接近转换流形的地方来回移动,这就是所谓的抖振。为此,理想状态下的滑模与实际情况滑模存在一定偏差。在理想情况下,当滑模变结构的轮式机器人进入滑模运动状态后,由于滑模变结构的轮式机器人的运动轨迹停留在其上面,所以运动点趋近切换面的运行速率为0,为此可确定在轮式机器人上施加的力是等效或平均作用力。轮式机器人在滑模上运动的微分方程实质上是对滑模运动的一种极限状态,在该状态下,轮式机器人处于滑模运动状态时,是无法用连续控制方式来实现非连续控制的。因此,在滑模变结构模态控制阶段,使滑模切换函数f
(x
)=0,由此可得到:ε
x
+ε
x
+…+ε
-1x
-1=-x
(6)
抖振是滑模变结构控制研究中的一个重要问题,抖振的加剧会导致机器人的稳定偏差,从而对滑模变结构的性能造成一定的影响,而且还会不断地消耗轮式机器人的能源。基于此该问题,提出了一种等效控制方法。利用指数逼近律,使机械臂在一定的时间内进入稳定的工作状态,并能满足轮式机械臂的良好的运动平顺性,极大地减少了抖振;在滑模片状态下,当移动点靠近切换表面时,移动速度为0时,滑模变结构模型的运动方程也为0,此时,由于不存在高频率分量,使得滑模抖振更趋近等效控制,因而可以有效地防止滑模抖振。
基于此,构建的滑模变结构模态控制阶段的运动方程矩阵可改写为:
(7)
因此,在滑模变结构模态控制阶段的动态行为可以由n
-1阶状态方程来表征。当控制器工作状态穿越滑模面f
(x
)=0进入f
(x
)<0时,控制量λ
(x
)从λ
(x
)切换到λ
(x
)而达到条件公式(2),使得控制器状态迅速穿越滑模面,并进入f
(x
)>0,由此完成了滑模面的滑变运动。充分考虑非线性时变系统,在状态空间中,存在一个超曲面ε
为0,如图3所示,可将其状态空间分为ε
>0和ε
<0两个部分。图3 滑模面的滑变运动示意图
滑动模变结构与传统控制不同,滑模变结构是一种不连续控制,甚至系统的“结构”在切换特性上是动态变化的。其主要目标是利用滑模变结构控制的不连续状态设计状态空间中的超平面,即在有限条件下按预定状态轨迹连续改变系统结构。该系统的状态逐渐滑向某一超平面的平衡点并最终移动到接近平衡点边界的边界区域,即滑模运动。一般而言,控制器状态空间存在一个超平面ε
=0,这3个点分别为普通点,初始点和截止点,当它通过超平面的控制器,使其接近一个超平面时,如A点所示;当控制器的初始点靠近超平面时,将运动到超平面的两边,如B点所示;当控制台在接近超平面的时候,切断点从超平面的两侧移动到此点,如C点所示。滑动模变结构控制中,截止点相对于共同点和初始点具有特殊的意义。假如某一切面上的某一区域只有一个截止点,那么当系统移动到该区域时,就会被“吸引”到该区域的移动。所以,包含开关平面上所有截止点的区域称为“滑动模域”,这一地区的系统性运动称为“滑模运动”。滑动模变结构控制主要是通过控制目标来设计滑模切换面,使系统的状态点向滑模切换面移动,从而最终实现控制目标。
2.2 程序流程设计
DSP程序主要由主程序和定时中断子程序组成。DSP程序流程如下所示。
步骤一:在DSP主程序中,首先对系统进行初始化,包括 CPU的初始化和相关外设的初始化。在 DSP主程序中,需要对系统进行初始化,并对 CPU及外部设备进行初始化。其次,对数字式电位计进行初始化,也就是把电位计的滑臂放在规定的位置。最后,通过启动计时器中断来接收主机的运行指令。一旦接到指令,计时器就会被触发,并进入一个死循环。在中断时限结束时,将会执行一个中断子程序;在接收到一个系统终止命令时,停止该系统的运行。
步骤二:启动数字电位计,也就是将电位计的滑动臂放在指定位置。数字式电位计和机械式电位计一样,具有很好的实用价值。3个端子中的两个与电阻器的两个端子相接触,而另一个(也就是电阻器)可以将不同的点连接到一个电阻的长度,由此设置了一个期望的电阻值。区别于机械电位器和数字电位器,它是对电阻型接触的控制。当数字电位计由串行总线或数字控制线路来实现时,机械电位计是用来实现电阻触点的连接的。数码可程式电位计的体积也较小,使得它更适用于便携使用。该装置具有新的接口,便于与系统集成,并能直接由微处理器进行控制。另外,它对干扰的影响也不是很大。DSP电位仪的电阻接触位置可以被储存在不同的易失性存储器或电位仪自身的非挥发存储器中,这样以前的设定信息就不会丢失,而在系统重新调节后,又会重新进行。
步骤三:开启计时器,接受上位机系统运行命令,如果接收到打开定时器的命令,进入循环,中断时间执行中断子程序。
步骤四:当接收到停止指令时,停止系统移动。
步骤五:将读取指令发送到角度变送器,并接收其反馈数据;
步骤六:在误差控制的基础上,将滑模变结构控制指令送至数字电位器。把陀螺仪的运行数据最终发送给 PC。
综上,可得出控制器的软件流程图如图4所示。
图4 控制器的软件流程图
由图4可看出,首先构造滑模变结构控制器的运动方程矩阵,设计滑模变结构控制律,控制机械臂在一定的时间内进入稳定的工作状态,通过控制目标来设计滑模切换面,使系统的状态点向滑模切换面移动,并设计DSP程序流程将控制指令传输至从而最终实现控制目标。
3 实验分析
为验证基于滑模变结构的轮式机器人运动误差控制器设计的有效性,以图5所示轮式机器人为对象进行轮式机器人运动误差控制器实验。
图5 轮式机器人实验对象
3.1 数值分析
分别采用分别使用基于黎卡提微分方程、综合位姿误差控制优化仿真方法和基于滑模变结构的误差控制器对轮式机器人运动轨迹进行跟踪控制,实验选定的目标是直线轨迹。轮式机器人机身几何中心到两轮中心的距离均为0.2 m,轮子半径均为0.25 m,车身总质量为5 kg。
在直线轨迹误差控制实验中,图6显示了关节1、2的轨迹跟踪及控制输入曲线。
图6 关节1、2轨迹跟踪和控制输入曲线
图7 3种方法关节1、2轨迹跟踪和控制输入结果对比
由图6可知,未经过处理的曲线受到不确定性因素干扰,关节1、2轨迹跟踪和控制输入曲线均出现毛糙现象。
3.2 结果分析
基于此,分别使用基于黎卡提微分方程、综合位姿误差控制优化仿真方法和基于滑模变结构的误差控制器,对比分析轮式机器人运动误差控制情况,对比结果如图7所示。
由图7可知,使用基于黎卡提微分方程的控制方法,关节1位置控制力矩在0.2~1.6 s内,最大值为250 N·m,最小为0 N·m.关节2位置控制力矩在0.2~1.6 s内,最大值为550 N·m,最小为200 N·m;使用综合位姿误差控制优化仿真方法,关节1位置控制力矩在0.2~1.6 s内,最大值为100 N·m,最小为-150 N·m。关节2位置控制力矩在0.2~1.6 s内,保持不变,力矩值为200 N·m;使用基于滑模变结构的误差控制器,关节1位置控制力矩在0.2~1.6 s内,最大值为0 N·m,最小为~150 N·m。关节2位置控制力矩在0.2~1.6 s内,保持不变,力矩值为0 N·m。
通过上述分析可知,使用基于黎卡提微分方程、综合位姿误差控制优化仿真方法受到不确定性因素干扰,没有消除滑模抖振,且在跟踪时间范围内,关节运动轨迹与实际运动轨迹不一致;使用基于滑模变结构的误差控制器通过自适应调整参数后,滑模抖振得到明显消除。且在短时间内,关节运动轨迹与实际运动轨迹一致。
分别使用这3种方法,对比分析轮式机器人运动误差控制精准度,对比结果如图8所示。
图8 3种方法轮式机器人运动误差控制精准度对比
由图8可知,使用基于黎卡提微分方程、综合位姿误差控制优化仿真方法存在轨迹跟踪误差,最大误差分别为0.3 rad和0.6 rad。使用基于滑模变结构的误差控制器,最大误差为0.01 rad。
4 结束语
针对传统滑模变结构变结构控制方法受到不确定性因素影响而出现控制效果不佳的问题,设计了一种基于滑模变结构的运动误差控制器,消除了常规滑模变结构控制的趋近模态环节,模拟结果表明该方法是有效的。该方法的研究是在系统初始状态下进行的,使得滑模面在很大程度上取决于系统工作状态,因此,该方法不具有普适性。而且,该方法受到环境噪声影响,使得系统偏离了滑模面,引起强烈抖振。因此,在今后研究进程中,需加入一种神经网络来干扰信号,并设计补偿控制器,使滑模颤振得到一定的抑制。