APP下载

二轮自平衡机器人系统设计

2021-11-04彭小丹刘金溢

现代信息科技 2021年9期
关键词:PID控制

彭小丹 刘金溢

DOI:10.19850/j.cnki.2096-4706.2021.09.037

摘  要:二轮自平衡移动机器人在狭小空间中具有较高的适用性,是一种典型的欠驱动系统。文章研究了二轮自平衡机器人的动力学建模方法,完成了控制系统设计,基于Simulink实现了二轮自平衡机器人仿真和控制程序一体化设计,缩短了开发周期。设计了以STM32单片机为核心的二轮自平衡机器人控制器,基于Simulink编程方式实现了机器人的直立和行进控制。经仿真和实际测试表明,该二轮自平衡机器人能够较好地控制车体保持平衡状态,具有较强的稳定性。

关键词:Simulink;PID控制;二轮自平衡机器人;STM32

中图分类号:TP242.6;TP273 文献标识码:A 文章编号:2096-4706(2021)09-0141-04

The System Design of Two-Wheeled Self-Balancing Robot

PENG Xiaodan,LIU Jinyi

(North China University of Technology,Beijing  100144,China)

Abstract:Two-wheeled self-balancing robot has a high applicability in a confined space,which is a typical underactuated system. This paper researched the method of dynamic modelling for the two-wheeled self-balancing robot and finished the design of control system. Based on Simulink,the integrated design of simulation and control program of two-wheeled self-balancing robot is realized,which shortens the development cycle. A two-wheeled self-balancing robot controller based on STM32 single chip microcomputer is designed. The vertical and moving control of the robot is realized based on Simulink programming. The simulation and actual test show that the two-wheeled self-balancing robot can better control the vehicle body to maintain the balance state and has strong stability.

Keywords:Simulink;PID control;two-wheeled self-balancing robot;STM32

0  引  言

二輪自平衡移动机器人具有体积小、灵活度高、可应用于狭小作业空间的优点。二轮自平衡机器人系统是一个高阶次、不稳定、多变量、非线性、强耦合的系统[1]。该类机器人的控制器开发通常先完成理论仿真验证控制系统设计的可行性再开发实际控制器,开发过程耗费时间较长。而基于模型设计的方法可实现仿真与实际控制器一体化开发,能够提高开发效率。

作为控制理论算法实践平台之一的二轮自平衡机器人,众学者对其系统设计展开了大量研究。史策通过MATLAB对模糊滑模控制器和卡尔曼滤波器进行仿真,利用Keil5集成开发环境完成编写程序代码和调试工作[2]。朱年华对二轮自平衡机器人建立动力学模型,并通过MATLAB设计控制算法进行仿真,在KEIL平台下实现程序设计[3]。钱庆文通过调动动态链接库,采用MATLAB和VC++混合编程的方式实现对机器人的控制,降低了开发成本[4]。目前现有开发方式多数通过MATLAB平台进行算法仿真,利用KEIL集成开发环境编写程序代码的方式分步开发,多平台多次编程的开发方式开发周期较长。

本系统设计利用模型化开发方式,基于Simulink软件平台的快速控制原型方法,采用将建模、仿真与实际代码编写一体化的开发方式,提高开发效率。本系统设计以STM32F4系列微处理器为控制核心,采用HI229姿态测量传感器,通过PID控制算法实现平衡车的直立和行走。Simulink软件设计开发平台通过模块化的方式搭建控制算法,具有可视性高,易于模块化管理的特点。经仿真和实例验证,本文设计的系统具有较高的可行性和实用性。

1  理论模型及仿真

1.1  动力学建模

二轮自平衡机器人通过电机转矩改变车体运动姿态,当机器人车体发生倾斜时,电机驱动车轮产生与车体倾斜方向相同的加速度进行补偿,以达到保持平衡的目的。由于二轮自平衡机器人系统控制输入为电机扭矩,因此二轮自平衡机器人系统是一个非线性系统,其数学模型较为复杂。结合实际与理论推导需求,本文假设该二轮自平衡机器人系统结构对称,左右轮参数相同,从而可将系统简化为如图1所示的模型[5]

图1中,θ表示车体与垂直方向的偏角,l表示车体质心到车轮轴的距离,mt和mw分别为车体和车轮质量。将二轮自平衡机器人分解成车体和车轮两部分分别采用牛顿力学分析法对系统进行分析,从而推导出系统输入量电机扭矩与输出量二轮自平衡机器人车体偏角和整体速度之间的关系。

车体在水平方向的位移xd可表示为车轮在水平方向的位移x与车体相对车轮在水平方向上位移之和:

xd=x+lsinθ

即车体在水平方向上的加速度为:

姿态发生变化,通过反馈控制实现系统闭环。

二轮自平衡机器人主要通过角度环控制保持直立稳定状态,采用PD控制算法实现。当平衡车朝某个方向倒下时,车体实际角度会与期望角度产生偏差,通过比例(P)环节控制减小偏差。当比例系数Kpa较大時,系统会发生振荡,通过微分(D)环节预测偏差信号的变化趋势,降低系统超调。为了使二轮自平衡机器人能够保持稳定,还需加入速度环控制。利用积分环节消除静差,采用PI控制算法使二轮自平衡机器人以给定速度移动。角度环控制是二轮自平衡机器人保持平衡的主要控制方法,速度环控制相对其而言属于干扰信号,为了减小二轮自平衡机器人速度对角度环的干扰,对速度进行一阶滤波,减缓速度差值。

仿真过程中,假设二轮自平衡机器人初始状态x0=[0  0  0.1  0]T,即车体初始角度为5.73°。根据图3角度变化曲线可知,系统调节时间约为47 ms,超调角度为0.2°左右,系统超调量约为3.5%。根据仿真结果可以推测,角度环PD控制和速度环PI控制能够使二轮自平衡机器人保持平衡,且具有较好的稳定性、准确性和快速性。

2  控制系统设计

二轮自平衡机器人控制系统是一个闭环系统,通过霍尔编码器和姿态传感器获取车体实时姿态运动信息,将采集的数据与期望值输入控制器进行实时控制,并作用于电机实现二轮自平衡机器人的运动控制。本系统采用GM37直流电机,该电机通过霍尔编码器来实现位置信息反馈。根据AB两相信号输出高低电平的先后顺序来确定电机的正反向运动,通过单位周期内脉冲数量得到电机转速。姿态传感器通过串口通信将获取的角速度和欧拉角等姿态信息发送给上位机。控制器具有较高的运算能力,能够将获取的外部信息进行融合处理,利用各类控制算法进行控制,通过定时器输出通道输出PWM控制电机,设置输出端口高低电平实现电机正反转控制,从而使二轮自平衡机器人姿态发生改变,控制系统结构图如图4所示。

结合二轮自平衡机器人平衡状态下各个方向上运动速度慢和角度信息反馈精确等特点,该硬件系统采用HI229姿态测量模块,其集成了三轴加速度计、三轴陀螺仪和一款微控制器,可以通过串口通信的方式向上位机发送姿态信息,满足系统姿态信息获取需要。其最大帧数输出速率为200 Hz,符合控制器每5 ms更新一次数据的要求。TB6612FNG驱动模块可以提升单片机I/O引脚的带载能力,可使微控制器同时控制2个直流电机。GM37电机配备正交编码器,可以通过TB6612FNG驱动模块直接获取电机方向标志位和编码值到控制器,并根据定时器设置的数据采集频率,解算得到电机转速。硬件系统框图如图5所示。

3  实例验证

根据仿真结果的可行性,对实际系统进行控制,通过Simulink在仿真模型的基础上实现I/O口、定时器、串口等功能完成实际控制系统模型搭建,将模型编译生成C代码,在Keil5下进行在线调试,实时记录平衡车角度和速度的变化。在平衡车保持直立稳定的状态下,输入一个扰动信号,观察系统响应过程和特性。二轮自平衡机器人的角度和速度变化如图6所示,横坐标为时间轴(ms),纵坐标为角度值(°)和速度值(m/s)。

如图6所示,车体受到扰动后最大偏角为-13°,系统经0.8 s左右达到稳定状态,车体瞬时速度最高达到-32 m/s。在上电前将二轮自平衡车倾斜20°,通过观察二轮自平衡车的角度和速度变化检测平衡车的控制性能,如图7所示。

上电后,车体角度迅速向当前倾斜角度的反方向摆动,上升时间约为0.1 s,峰值时间约为0.2 s,约0.9 s后系统达到稳定状态,响应速度较快,系统超调量大约为25%。根据图6、7测试结果可知,本系统设计具有较好的稳定性和可行性。

4  结  论

本文首先对二轮自平衡机器人进行动力学分析,建立状态空间方程,通过Simulink搭建被控对象模型以及PID控制算法,经仿真验证本系统设计可行。通过分析系统性能需求,本系统设计采用STM32F4系列微处理器为控制核心,利用HI229姿态测量传感器获取车体姿态信息,通过PID控制算法实现闭环控制。根据仿真结果的可行性,通过Simulink对实际控制系统进行设计,经实际测试本系统设计具有较好的稳定性和可行性。后期将以本文设计系统为搭载平台,对各类控制算法进行研究。

参考文献:

[1] 王恒,桑元俊.基于新型惯性传感器的两轮自平衡车的设计 [J].现代电子技术,2017,40(18):49-54.

[2] 史策.模糊滑模控制在两轮自平衡小车中的应用研究 [D].马鞍山:安徽工业大学,2019.

[3] 朱年华.两轮自平衡电动车控制系统设计与研究 [D].南昌:华东交通大学,2016.

[4] 钱庆文.两轮自平衡车摆机器人建模与控制方法的研究 [D].哈尔滨:哈尔滨理工大学,2019.

[5] 姜立标,何家寿.两轮自平衡代步车控制策略及动力学仿真 [J].华南理工大学学报(自然科学版),2016,44(1):9-15.

[6] 赵磊.两轮平衡车建模与系统设计 [D].成都:西南交通大学,2013.

作者简介:彭小丹(2000—),女,汉族,安徽合肥人,本科在读,研究方向:智能机器人控制

收稿日期:2021-04-14

猜你喜欢

PID控制
内模控制在火电厂主汽温系统中的应用
常规PID控制和常规模糊控制的比较
一种基于SPWM的逆变电源并联运行参数设计及控制策略仿真
关于多旋翼式飞行器系统的研究
新型试验电源直流降压斩波系统的PID控制仿真研究