罗彦英,梅 益,江明会
(贵州大学 机械工程学院,贵州 贵阳 550025)
光伏组件长时间暴露在室外环境中容易受到灰尘、落叶等覆盖物的影响,导致光伏组件发电效率和使用寿命下降[1~3],因此定期清洗光伏板具有重要意义[4~6]。目前,市面上广泛应用的悬挂式光伏清洁机器人,在实际工作中,由于机械结构的制造、安装误差以及传动装置的松散等因素,机器人的上下驱动很难完全同步,容易导致机器人发生偏摆。
为解决光伏清扫机器人偏摆问题,学者们提出了多种控制算法,包括模糊控制[7]、PID控制[8]和线性二次型调节器(linear quadratic regulator,LQR)控制[9~11]方法,旨在减少偏摆现象的发生。然而,由于机器人是一个复杂的非线性系统,实际模型与数学模型存在较大差异,增加了控制的复杂性。而模型预测控制(model predictive control,MPC)利用已建立的数学模型、当前系统状态和未来控制量来预测系统未来的输出,通过滚动求解带约束的优化问题来实现控制目标[12,13]。该控制方法具有预测模型、滚动优化和反馈校正的优点,能够应对复杂环境下的跟踪误差,并及时弥补由模型失配和外界干扰引起的不确定性[14]。因此,MPC适用于数学模型不精确且存在约束条件的系统,为解决光伏清扫机器人偏摆问题提供了一种可行的方法。
本文提出了一种基于MPC 方法的光伏清扫机器人防偏摆控制策略。
由图1可知,光伏清扫机器人主要由车身、滚刷、行走装置、防偏摆装置组成。其中机器人的防偏摆装置位于机器人的上端,由防偏架和2个弹簧轮组成,弹簧轮与光伏板上端侧面接触,起到支撑的作用。由于机器人两轮行走很难完全同步,可能导致机器人发生偏摆甚至卡死;而弹性滚轮通过发生弹性形变在一定程度上起到防止偏摆的作用。
图1 光伏清扫机器人样机
如图2所示,以XOY 为惯性坐标系,其原点到左右履带轮的距离相等。设G点为整个光伏清扫机器人的重心;h1和h2分别为左、右履带轮到重心的距离,h 为左右履带轮之间的距离,即|GN1|=h1,|GN2|=h2,|N1N2|=h;其中,点N1、N2为y轴与左右履带轮中心线的交点。两弹性滚轮之间的距离为2b,由于光伏清扫机器人的结构对称,则弹簧轮到y轴的距离为b。
图2 光伏清扫机器人简图
当光伏清扫机器人沿着x轴方向运行,左右履带轮行走速度不一致时,机器人易发生偏摆,弹簧轮沿着机器人偏摆方向弹性变形,2个弹性滚轮的变形示意如图3所示。
图3 弹簧轮变形示意
根据图3可知,弹性滚轮的参数变化几何关系式为
式中 ΔK1,ΔK2为2个弹性滚轮的变形量,ΔK1=K1-K′1,ΔK2=K2-K′2;ΔK为弹簧的总变形量;K1,K2为弹簧的原始长度;K′1,K′2为弹簧形变后的长度;θ为光伏清扫机器人运行时偏摆的角度。
光伏清洁机器人建模时进行以下假设:1)机器人的各个部分均为刚体结构;2)忽略光伏清扫机器人的滚刷部分;3)机器人地面接触为纯滚动无滑动。设xGy为固定在G处运动参考坐标系,x1Gy1为固定于G 点且y1轴平行于光伏清扫机器人的车架横杆的附体坐标系,且x1轴沿光伏清扫机器人前进方向。
由图4可知,光伏清扫机器人发生偏摆时,在重心处的运动学方程为
图4 机器人运动学模型
式中 v为机器人重心处的瞬时速度;vl,vr分别为左、右履带轮的速度。系统的状态量为x =[x y θ]T,控制量为u =[vlvr]T。
图5所示,根据牛顿第二定律分别建立以下光伏清扫机器人的动力学方程
图5 机器人动力学模型
式中 FL,FR为左右履带轮所受的牵引力;RL,RR为左右履带轮所受摩擦阻力;Fkx,Fky为弹簧轮在x、y方向变形时产生的弹力;Fro为空气阻力;m为整个光伏机器人的重量;γ为光伏组件与安装地面之间的夹角;Mμ为摩擦阻力矩;Mθ为弹簧轮变形时产生的力矩。
在行进过程中,可忽略光伏清扫机器人Y 向的动力学变化,并将以上各分力代入式(3)得
式中 Pe为驱动电机的额定功率,η为驱动电机传输效率,S为安全系数,BL和BR为粘性摩擦力系数,AL和AR为库仑摩擦力系数,ρ为空气密度,AF为光伏机器人行驶时的迎风面积,Vwind为风速。
忽略非线性库伦摩擦力等的影响,令sin θ≈θ,cos θ≈1,tan θ≈θ,将式(4)进行线性化处理得
防偏摆控制器的结构如图6所示。
图6 防偏摆控制器结构
系统状态响应与控制量的关系式为
在参考点(xr,ur)处,对式(6)进行泰勒展开,并减去参考轨迹可得
防止控制变量不连续[15],则目标函数为
式中 Q,R为权重矩阵,均为对角矩阵;Np为系统的预测时域;Nc为控制时域。该目标函数第一项由预测输出量和参考轨迹输入量的偏差及Q矩阵组成,反映光伏清扫机器人对参考轨迹的跟踪能力;第二项由控制时域Nc内的控制增量及R矩阵组成,反映机器人对跟踪过程中控制量的约束;第三项中ε为松弛因子,ρ为权重系数,可以保证目标函数在控制周期内无最优解时,会以控制器得到的次优解作为控制变量输入。
其中
对控制量和控制增量建立约束条件
在优化求解的过程中,将约束条件下的优化问题求解变换为求解标准二次规划问题。求解时目标函数做以下变换
则目标函数变为
根据MPC的基本控制原理,控制序列中的第一个元素被用作被控对象的实际控制输入;将其应用于系统,并执行这一控制增量直到下一刻;根据状态信息重新预测下一段控制时域的输出,通过优化求解得到新的控制增量序列。这个过程不断循环,直到控制任务完成。
光伏清扫机器人数学模型参数如表1所示。
表1 光伏清扫机器人数学模型参数
对机器人进行仿真时,设置以0.05 m/s作为x方向的预设速度,令机器人从原点出发。不施加控制时,其偏转角度如图7所示;施加控制时,系统状态量的仿真结果如图8所示。
图7 未施加控制的偏摆角度变化曲线
图8 机器人模型仿真结果
由图8(a)可知,纵向的位移跟参考轨迹相比存在一定的误差,运动学模型和动力学模型轨迹误差分别不超过0.5 m和0.2 m。图8(b)为在动力学模型的防偏摆控制器作用下,机器人速度在0 ~10 s逐渐达到最大值0.09 m/s,然后在振荡后大约16 s后稳定至0.05 m/s。相较之下,基于运动学模型的控制器,在0 ~20 s期间,重心速度最大值为0.15 m/s,之后在25 s左右稳定在0.05 m/s。图8(c)、(d)为2种控制器下机器人的偏摆角度和偏摆角速度随时间变化的过程,均有效地使机器人偏摆角度从0.1 rad 快速趋于0。
综上所述,基于运动学模型的防偏摆控制器比基于动力学模型的控制器有更大的跟踪误差,因为运动学模型只考虑了左右履带速度,与实际情况存在较大差异;而动力学模型考虑了摩擦阻力、弹力、风力等因素,使得模型更准确。
样机防偏摆实验基于MPC,控制量由Odrive输出作用于移动装置,用MPU6050传感器来测量机器人的偏摆角数据。为更好地观察防偏摆效果,将机器人车身倾斜0.1 rad放置在光伏板上,使机器人以0.05 m/s 的速度前进,得到机器人偏摆角度变化情况,如图9 所示。光伏清扫机器人的偏摆角度收敛迅速,但由于机器人的数学模型与实物之间存在误差,所以偏摆角度存在一定的响应波动。
图9 样机验证结果
首先,建立了光伏清扫机器人的运动学及动力学数学模型,并在仿真软件中搭建了相应的数学模型。然后,设计了线性时变防偏摆控制器,通过优化控制机器人的左右带轮速度,将防偏摆问题转化为标准的二次规划问题。最后,对机器人进行实验验证。仿真结果表明:控制器使机器人在x 方向速度快速达到预设的0.05 m/s,并且偏摆角从0.1 rad迅速趋近于零,有效解决了光伏清扫机器人车身偏摆问题,确保了机器人运行的平稳性。