基于模糊控制的全位移平衡机器人设计

2023-08-12 03:40杨明辉邓晓刚曹玉苹
测控技术 2023年7期
关键词:云台底盘模糊控制

刘 恒, 李 哲, 杨明辉, 邓晓刚, 曹玉苹

(中国石油大学(华东) 控制科学与工程学院,山东 青岛 266580)

随着世界经济和科技的高速发展以及人口数量的不断增多,人类对于各类资源的需求与日俱增,促使各国纷纷开始对未知风险的领域与地区进行资源的勘探与开发。与此同时,近年来频发的自然灾害与安全事故带给人们的血泪教训,也同样促使着人们加大关于应用型机器人的投入与发展。

针对目前勘探工作与灾难事故救援中所具有的复杂性、紧迫性和危险性的问题,基于模糊控制的全位移平衡机器人应用于未知环境下的探测工作与灾难事故救援时,可以有效地缓解工作中时间紧、危险性大等问题,还能克服人类无法逾越的障碍,保障人们的生命财产安全,减少损失[1]。

随着嵌入式以及智能控制的发展,双轮自平衡机器人已经在许多领域开展研究和投入使用[2]。传统的两轮机器人可以实现前进、后退、转弯等常规运动,能够满足人们的日常需求。但在勘探救援等工作中,会面临众多复杂狭小的地形。双轮机器人的体积较小,转弯半径小使得其运动更加灵活[3]。这类机器人在静态下是个典型的不稳定结构,具有非线性、不确定性和强耦合性的特点[4],必须实时依靠双轮移动来保持平衡[5]。笔者所设计的四轮平衡机器人可以有效地解决这个问题,实现平移功能,并且通过缩小机器人的整体体积,从而增加机器人的可应用场景。

移动机器人运动控制系统通常包含两部分内容:一是完成所需的控制功能和算法的定义;二是这些功能在硬件和软件上的实现[6-7]。运动控制系统精度是衡量机器人性能的重要指标之一[8],传统自平衡机器人的控制算法一般采用传统的PID控制、滑模(Sliding Mode)控制、状态反馈极点配置控制器和模糊控制等[9-10],模糊控制的基本思想最早是由Zadeh和Mamdani[11-12]提出的,本设计使用了模糊控制PID改进算法,使得机器人在起伏等复杂环境中能够拥有较强的适应性及鲁棒性。

1 机械系统设计

1.1 底盘设计

目前常用的轮式机器人驱动方式有:麦克纳姆轮式机器人、全轮偏转式移动机器人和球轮式移动机器人[13-14]。笔者采用四同轴心麦克纳姆轮设计,在具有原地转向和水平移动功能的基础上,还具有速度快、结构稳定、负载能力强、维护简单等优点。为进一步缩小机器人整体尺寸,根据麦克纳姆轮运动分析,采用交叉布置、同步带传动方式。为确保底盘结构具有充足的鲁棒性、稳定性,使机器人能够适应多种复杂路况,结合实际成本、材料强度以及设计水平和实现难度等因素,悬挂机构采用垂直悬挂。根据平衡机器人的特点,采用大扭矩电机和同步带驱动的连杆组设计,保证了机器人在倒地后具有自救能力,以适应复杂、恶劣工况下的任务要求。机器人底盘机械设计如图1所示。

图1 机器人底盘机械设计

基于麦克纳姆轮的全向移动机器人能实现前进、横移、360°零半径旋转等基本运动和复合运动[15]。传统麦克纳姆轮的安装方向分为互为镜像关系的A轮与B轮。当麦轮正向旋转时,由速度的正向分解,A轮可分解为沿轴向左与垂直于轴向的前向速度分量;B轮可分解为沿轴向右与垂直于轴向的前向速度分量。据此结构可以实现平移功能。传统结构麦轮组合示意图如图2所示。

图2 传统结构麦轮组合示意图

平衡机器人的底盘根据传统麦克纳姆轮的结构进行改进,使其在减小整体体积的同时兼具灵活性和稳定性。改进设计的平衡机器人麦克纳姆轮底盘如图3所示。

图3 改进设计的平衡机器人麦克纳姆轮底盘

图4为平衡机器人通过狭小环境示意图,相比于传统四轮机器人,本设计能够更好地通过狭小空间,适应性更强。

图4 机器人通过狭小环境示意图

1.2 云台设计

移动式云台的机械结构角度可随控制信号作用进行调整,为提高平台视觉系统在立体空间内的检测范围与精度效果,选取双轴移动式云台结构作为设计方案,双轴为俯仰(Pitch)轴和旋转(Yaw)轴。Pitch轴采用电机直驱的方式进行驱动,Yaw轴采用同步带进行传动,保证了控制的准确性。云台机械结构设计如图5所示。

图5 云台机械结构设计

1.3 仿真测试

使用Adams对机器人自救机构进行仿真,计算电机需要的扭矩。根据整机的质量,对所需轮组电机扭矩进行计算。根据Adams进行悬挂分析,观察机器人的运动形态。机器人参数说明如表1所示。平衡机器人整体机械设计示意图见图6。

表1 机器人参数说明

图6 平衡机器人整体机械设计示意图

2 机器人控制系统的硬件设计

围绕STM32F405最小系统电路,依据机器人任务要求设计功能电路,主要包括:数字/模拟电路、外设功能电路、接口保护电路、电源转化电路、电源防反接与短路电路等。

2.1 电源模块设计

硬件系统电源输入为24 V电池,进行LC滤波后,进行并联分流处理,为底盘电机、云台电机及视觉模块等部分提供24 V电压电流。24~5 V(DC-DC)电路选择MP2482电源芯片,实现24~5 V的电源变换。3.3 V输出电源为所有电源电路中对信号波纹质量要求最高的部分。为保证硬件系统内所有3.3 V芯片高效、稳定地工作,本设计采用电路信号波纹稳定、结构相对简单的低压差线性稳压器(LDO)电源变换芯片MIC3975实现5~3.3 V(LDO)转换电路。

2.2 保护电路设计

直流电源输入通常会给端口带来瞬时脉冲噪声。为了消除噪声对器件造成的损害。设计瞬态二极和(TVS)保护电路将瞬时电流从敏感器件引到地信号中。

系统存在模电电源与数字电源两种电源分量,数字电源及信号中含有的高频分量会对模拟信号产生干扰、损害等影响。本设计使用LC低通滤波器,有效地将模电电源与数字电源进行分离,保证系统数字电源与模拟电源之间互不干扰。

2.3 外设电路设计

外设电路设计主要包括:ICM20948传感器电路(如图7所示)、CAN通信差分电路(如图8所示)、USART接口电路、DEBUS协议接收电路、PWM控制电路、蜂鸣器报警电路、串行线调试(SWD)电路等。STM32F405主控设计如图9所示。

图7 ICM20948电路原理图

图8 CAN通信差分电路

图9 STM32F405主控设计

3 机器人控制算法的设计

3.1 主程序逻辑框架

主程序逻辑建立在STM32系统中断的基础上,防止各个模块任务之间的冲突,不同模块的任务拥有不同的优先级,如图10所示。最高优先级的任务为:遥控器数据接收;高优先级的任务为:CAN以及USART等数据接收;次高优先级的任务为:底盘电机、云台电机以及各种数据处理;低优先级任务为:各模块初始化、看门狗、LCD显示等。

图10 各任务优先级顺序

图11 主体程序流程图

通过对不同任务的中断优先级的设计,使得任务能够稳定正常地运行,同时对遥控器的数据进行处理,使机器人在接收到不同的数据时做出对应的决策。在没有接收到遥控器指令时,能对自身的状态进行监控,主体程序流程图见11。

3.2 云台算法设计

云台等待遥控器发出信号,当收到遥控器信号之后,云台参数开始初始化,随后云台位置归中,当云台归中任务完成后,云台给定值由遥控器发送,随后云台进入串级控制模式,云台控制逻辑如图12所示。

图12 云台控制逻辑框图

当云台初始化任务完成之后,云台Pitch轴的角度由遥控器给定,云台Yaw轴的角度由底盘给定,即云台Yaw轴跟随底盘旋转。云台外环反馈值是电机输出的速度值,内环反馈值是电机当前的角度值,构成速度环为主回路,角度环为内回路的串级PID控制器。云台Pitch轴串级控制如图13所示。

图13 云台Pitch轴串级控制框图

图14 平衡机器人受力分析

3.3 底盘算法设计

在现实平衡机器人的控制中,当平衡机器人受到不同的扰动时,机器人倾斜的角度与速度不同,那么恢复所需的速度与加速度往往是不同的;同时机器人在自平衡和受干扰时所需要的条件不同,这就需要动态调整PID的参数,使机器人能够更好更快更稳地调整和保持姿态,而模糊控制刚好能够满足这一条件。

3.3.1 底盘整体控制逻辑设计

经过改进的全位移平衡机器人的底盘,通过对平衡和位移运动的解耦,底盘上装有HI220陀螺仪传感器,可以实时测得底盘的倾斜角度和加速度,通过导电滑环和CAN通信与云台上的STM32F405进行通信,据此反馈在速度环和角度环串联之后由模糊控制的PID形成平衡任务的算法,使得平衡机器人可以像传统麦克纳姆轮底盘一样,实现平移、旋转等多种运动。

3.3.2 模糊控制算法设计

① 输入量的量化。通过量化函数将输入量映射到对应的区间,根据传感器测得平衡机器人的实际倾斜角度为[-30,30],选择映射域为[-6,6]。

② 输入值的模糊化。首先确定对应各语言变量的模糊子集,然后根据量化的结果,判断该输入所属的集合并用三角形隶属度函数(见公式(1))计算出对应的隶属度。三角形曲线的形状由3个参数a,b,c确定:

(1)

式中:参数a和c确定三角形的最小值,参数b确定三角形的最大值。

③ 建立模糊规则表。将偏差E以及偏差增量EC划分为7个模糊子集:负大(NL)、负中(NM)、负小(NS)、零(ZE)、正小(PS)、正中(PM)、正大(PL)。

比例调节系数KP值的选取决定于系统的响应速度。增大KP能提高响应速度,减小稳态偏差;但是,KP值过大会产生较大的超调,甚至使系统不稳定,减小KP可以减小超调,提高稳定性,但KP过小会减慢响应速度,延长调节时间。因此,调节初期应适当取较大的KP值以提高响应速度,而在调节中期,KP则取较小值,以使系统具有较小的超调并保证一定的响应速度;而在调节过程后期再将KP值调到较大值来减小静差,提高控制精度。基于上述描述定义KP的模糊规则,如表2所示。

表2 KP规则表

同理,在系统控制中,积分控制主要是用来消除系统的稳态偏差,根据积分调节系数KI的作用定义KI的模糊规则,如表3所示。

表3 KI规则表

微分环节的调整主要是针对大惯性过程引入的,微分环节系数KD的作用在于改变系统的动态特性。根据KD的作用定义KD的模糊规则,如表4所示。

表4 KD规则表

根据偏差E和偏差增量EC模糊化的结果以及规则库推理出比例、积分、微分调节系数变化量ΔKP、ΔKI、ΔKD对应的模糊子集。通过三角形隶属度函数来确定输入输出值在模糊子集的隶属度,推理出的ΔKP、ΔKI、ΔKD模糊子集通常是一个由模糊变量组成的矩阵,而系统输入是由E和EC模糊变量组成的向量。

④ 解模糊处理。常见的解模糊的处理方法包括:最大隶属度法、重心法、加权平均法等,本设计采用重心法来进行解模糊,每个输出量表达式为

(2)

式中:M为隶属度;F为模糊量化值;n为输出量级数个数。引入权重系数α,根据实际对象微调KP、KI和KD变化量。

至此,即可得到模糊自适应后的PID三个参数。

3.3.3 模糊控制算法仿真

(1) 平衡机器人数学模型的建立。

使用Simulink软件对模糊控制算法进行验证,首先搭建模糊控制系统的仿真模型。设机器人的质量为m=14 kg,高度为L=0.3 m,重力加速度为g=9.8 m/s2,将机器人置于水平面上,当其受到大小为F的外力干扰时,其偏角为θ。

平衡机器人系统的微分模型表达式为

(3)

当偏角很小时,可以认为sin(θ(t))=θ,cos(θ(t))=1,则微分模型可由式(3)化简为

(4)

在初始时刻对式(4)进行拉氏变换,可得:

mLs2θ(s)=mgθ(s)+F(s)

(5)

平衡机器人的传递函数为

(6)

代入参数可得:

(7)

(2) 模糊控制算法的建立。

通过表2~表4的规则库可建立模糊控制算法,其中ΔKP、ΔKI、ΔKD的输出曲面分别如图15~图17所示。

图15 ΔKP输出曲面

图16 ΔKI输出曲面

图17 ΔKD输出曲面

(3) 平衡机器人仿真系统的实现。

通过MATLAB的Simulink工具箱调整模糊PID的3个基础参数值,最终分别选取为KP=140,KI=0,KD=3。

仿真结果表明模糊PID控制算法相较于传统PID算法,具有更快的响应速度和更小的超调量,同时在系统受到外界扰动时,系统的恢复速度和鲁棒性也更好。受到外界扰动时仿真结果如图18所示。

图18 受到外界扰动时仿真结果

3.3.4 模糊控制算法验证

根据仿真结果设计模糊PID核心控制代码。通过实际测试调节规则库控制逻辑,并根据实际机器人模型选择量化论域,从而实现PID参数的动态调整,提高整体的鲁棒性以及适应性。模拟通过盲道仿真结果如图19所示。

图19 模拟通过盲道仿真结果

通过全位移平衡机器人搭载模糊控制算法进行实际测试,在自平衡无外部干扰的情况下,使用虚拟示波器读取机器人底盘陀螺仪的实时角度值,如图20所示。

图20 机器人自平衡角度变化值

测试并读取机器人在爬升15°斜坡时和通过复杂起伏盲道地形的数据,如图21和图22所示。

图22 机器人通过盲道时角度变化值

测试结果表明所设计的机器人具有较好的平衡性和稳定性;在受到有限范围内的外部干扰情况下,机器人能够较快地恢复平衡并保持稳定,由此可见使用改进的模糊PID控制算法使机器人在鲁棒性和稳定性等方面均有良好的表现。全位移平衡机器人在15°斜坡测试如图23所示。

4 结束语

针对目前勘探及救援工作中地形复杂崎岖等难点,设计了一款全位移平衡机器人。相较于普通机器人体积大幅缩小,使得平衡机器人携带运输等更加方便,同时相较于传统的两轮平衡机器人运动上所需的空间更小,为机器人在复杂场景下的应用提供了更多的可能性。平衡机器人兼具全位移机器人的灵活性与传统机器人的稳定性,通过改进的模糊控制算法,提升了机器人的鲁棒性与稳定性。平衡机器人的云台可搭载多种传感器以及摄像头,能够有效地帮助工作人员勘察情况,适应各种工作场景,获取更多未知的信息。

猜你喜欢
云台底盘模糊控制
云上之家——万科·郡西云台
龙门山·卧云台
帮我买云台
基于STM32的无线FPV云台设计
铿锵回答“关键五问”夯实脱贫攻坚底盘
T-S模糊控制综述与展望
基于模糊控制的PLC在温度控制中的应用
基于模糊控制的恒压供水系统的研究
依维柯New Daily底盘改装房车中国首秀
用于光伏MPPT中的模糊控制占空比扰动法