0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过串级PID算法对直立车的平衡及运动的控制方案

电子设计 来源:csdn 作者:卓晴 2021-01-18 16:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者:徐厚华 何哲嘉 向颖锋

直立平衡车因其动力学系统同时具有多变量,非线性,不稳定,强耦合等特性,传统的单环PID控制平衡已经略显吃力。本文将采用内环角速度PI控制、外环角度PD控制及最外环速度PI控制组成的串级 PID算法来控制直立车的平衡及运动,串级PID控制器比常规PID控制系统具有较强的稳定性、抗干扰性。

o4YBAGAFQM-ADtG3AAcRnrI04o0052.png

▲ 制作的节能直立组车模

■ 前言

智能车是现代汽车工业和电子计算机等科技成果相结合的产物, 具有自动识别道路的功能从而实现自动驾驶。两轮直立小车广泛的应用于仓库物流运输以及巡逻的代步工具等方面[1]。两轮直立智能车赛题在大学生智能车竞赛中已经出现快十年,直立车的控制算法也日趋多样,两轮直立智能车在赛道中,需同时兼顾速度、平衡与循迹,姿态与循迹控制效果的优劣直接决定行驶平均速度的高低[2]。直立车模本身只具有一个执行机构,即两个主控马达。对于传统PID控制,涉及到平衡角度环和速度环控制输出复用一个执行机构问题,为提升在较高速度下的运行性能,对传统算法进行了一定程度的改进,提出一种基于串级PID的直立车姿态控制算法。

01串激PID控制

直立车由双电机驱动,左右电机为控制对象,控制器需具有直立、行驶同时兼顾转向的功能。传统直立车控制算法,大多采用角度环输出与速度环输出线性叠加,在高速行驶状态时姿态的跟随能力欠佳,在此在传统算法基础上将速度-角度进行了串联,并增加了角速度为最内环回路。串级PID 控制器输出后经过处理换算为PWM,输入驱动板后可使直立车行驶。

o4YBAGAFQRGAVwk7AAHGgqAz9B0666.png

▲ 系统总体框图

1.1传统直立车PID控制系统

直立车传统控制系统如图1所示。为使其具有速度控制与姿态平衡能力,利用2个单独的闭环分别进行控制,输出电机控制信号为各环输出的叠加。该控制方案虽简单但存在一定问题,如:仅单独施加直立控制,其车身平衡效果虽能满足要求,但此时如果在该基础上额外施加速度控制,速度控制势必会打破直立车的平衡姿态,使得速度与直立控制互相耦合,此时如果再施加转向控制,就会导致高速时转向控制实时性和姿态的平衡性欠佳。

o4YBAGAFQR-ASpz3AAEsah5Vq3A507.png

▲ 图1 直立车传统控制框图

传统位置式PID控制算法公式[3]:

pIYBAGAFQS2AFkeTAABe5X0Se9I295.png

其中P(k)为调节器输出,e(t)是当前角度误差,Kp比例系数,Ki积分系数,Kd微分系数。

1.2直立车串级PID 控制

串级PID控制系统结构如图2所示。

o4YBAGAFQUCAIatdAACHV_o285Q375.png

▲ 图2 直立车串级控制系统框图

串级PID外环控制算法如公式2:

pIYBAGAFQUyAZ6kZAABnLq7slaU627.png

式中ω ( k ) \omega \left( k \right)ω(k)为外环调节器输出,θ ( k ) \theta \left( k \right)θ(k)是当前角度误差。

内环PID控制算法公式:

o4YBAGAFQVqAR_QpAACGf-F3y1E969.png

式中p(k)为内环调节器输出,e(k)是当前角速度误差,ω ( t ) \omega \left( t \right)ω(t)为当前角速度。

如图2所示,行驶闭环控制车模的行驶姿态和运行速度。在行驶速度闭环中,速度PID 计算输出的值为直立车在机械零点角需要前倾或者后仰的角度,该输出值需与机械零点角相加才能将速度控制转化为角度控制,而角度的变化是要由角速度产生的俯仰角度PID 计算输出值为直立车需要保持的角速度,俯仰角速度PID 计算结果即为串级行驶闭环的输出值

直立车平衡控制使用串级PID,外环角度,内环角速度,最外环速度,只需要通过姿态传感器采集一个轴的数据即可。速度环100ms环控制一次,角度环10ms进行一次控制,角速度环2ms控制一次,外环输出先加一个限幅才传给内环,实测效果非常稳定,不会震荡,也不会出现明显的反应滞后。速度控制和平衡控制,转化为角度和角速度的控制,整个控制系统中仅仅有角速度环的输出给电机控制,原理上可以有效地消除传统速度PID 与直立平衡PID 并联所产生的耦合。

1.3算法实现

串级PID算法的实现在于角速度环、角度环和速度环控制的不同周期。初始化程序完成之后,启动周期为2 ms的定时中断。PIT 中断要为循环中的算法提供程序执行的时序标志位控制,根据标志位实现不同周期执行不同控制环节,这种程序结构有助于提高算法的执行效率以及实时性。中断服务函数中具体控制的算法流程[4]如图3所示。

pIYBAGAFQW2AeDMeAADRuiQdpZw482.png

▲ 图3 中断程序框图

1.4串级PID参数整定

由于串级控制,速度环、角度环和角速度环会互相影响,所以调节参数时应该从内环开始整定。先令外环(角度环、速度环)调节器目标值为零,然后开始整定内环(角速度)PID参数,因为陀螺仪在测量角速度过程中会不断积累误差以及各种噪声的干扰,最终造成系统的稳态误差,所以角速度环采用PI控制来降低系统的稳态误差,调整参数至直立车能够做缓慢的自由落体运动,此时内环参数整定完成。

调整好角速度环后就可以开始整定角度环PID参数了,角度环采用PD控制,调节到直立车能够快速响应在机械零点保持平衡,给一个干扰后能快速回到平衡位置且不发生震荡就算调节好外环参数。

速度环采用PID调节,速度环的参数整定最后来完成,先应该通过设定目标值为零来确定参数的极性,然后通过观察车模实际运行状态,通过上位机观察各数据来给定参数。

02方案对比分析

当系统受到多级噪声时,内环会先进行调整,再由外环进行调整,所以控制的精度和稳定性都优于单极PID控制[5]。通过实际小车运行状态来看,如图4所示。传统算法围绕中线产生了较大过调;串级PID算法过调明显较小,且跟随能力远强于传统算法,可以看出常规PID 的稳定时间比串级控制短。串级PID控制器比常规PID 控制系统具响应迅速,稳定性高等优点[6]。

pIYBAGAFQX-ADzMgAAD-Ds6_UXc041.png

▲ 图4实验数据图

03结论

串级 PID 相比典型的 PID 算法控制更精准、稳定,系统内环为角速度环,外环为角度环,经过系统测试,能够实现良好的平衡控制效果。由于串级算法实现简单且实用,对传统方案进行改进不需要额外的硬件要求,在直立车控制上具有一定的工程推广和参考价值。

参考文献:

[1]潘飞。基于KEA128芯片的直立电磁小车设计[J]。电子技术与软件工程,2019(10):98-99.

[2]王英杰,孟威李灵恩,姚晓晨,张宁博。改进的两轮直立车多回路控制[J]。自动化与仪表,2019,34(12):39-44.

[3]徐涢基,肖城钢,李婷,龚明,陈芳。串级PID算法在滚球控制系统中的应用[J]。现代电子技术,2020,43(09):122-125.

[4]谢丹妮。 直立智能车运动控制设计与实现[D]。湖南大学,2017.

[5]乔纬国。 一种采用双PID串级控制的双轮自平衡车的研制[D]。吉林大学,2017.

[6]周瓒,徐海荣。基于串级PID闭环控制的飞行控制原理仿真实验[J]。电子制作,2019(21):52-54.
编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PID算法
    +关注

    关注

    2

    文章

    172

    浏览量

    25541
  • PID
    PID
    +关注

    关注

    37

    文章

    1489

    浏览量

    90095
  • PID控制器
    +关注

    关注

    2

    文章

    173

    浏览量

    19584
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    怎样理解变频器内置PID控制参数的含义

    应用三个维度展开分析。 一、PID控制的基本原理与变频器实现 PID(比例-积分-微分)控制是一种通过误差反馈实现系统调节的经典
    的头像 发表于 12-06 07:39 1046次阅读

    高精度机器人控制的核心——基于 MYD-LT536 开发板的精密运动控制方案

    算法与 C++ 实时模块开发; - 可作为控制核心部署在高精度测量机器人、激光切割机械臂、协作机械臂、AGV导航等系统中; - 具备机器人动态补偿算法与误差校正
    发表于 11-14 15:48

    ASM1042A3SCANFD芯片在两轮平衡控制方案中的技术应用

    摘要 本文以国科安芯推出的ASM1042A3SCAN FD芯片为例,讨论在两轮平衡控制
    的头像 发表于 10-23 17:49 469次阅读

    LM3466 多 LED 电流平衡器技术手册

    到电源的数或每个 LED 的正向电压 字符。 如果任何 LED 灯在运行过程中打开,LM3466 会自动平衡通过所有剩余活动 LED
    的头像 发表于 08-29 14:27 857次阅读
    LM3466 多<b class='flag-5'>串</b> LED 电流<b class='flag-5'>平衡</b>器技术手册

    PID控制算法学习笔记资料

    用于新手学习PID控制算法
    发表于 08-12 16:22 7次下载

    PID控制在同步发电机励磁控制中的应用

    对自并励励磁系统进行了仿真分析,通过仿真结果的对比分析,说明神经网络预测-PID控制在励磁控制
    发表于 06-16 21:56

    两轮自平衡电动及其电机控制器设计

    摘要:两轮自平衡电动平衡原理源自倒立摆模型,为研制两轮自平衡电动设计了一套两轮自平衡电动
    发表于 06-09 16:15

    改进粒子群算法的永磁同步电机PID控制

    采用粒子优化算法进行PID模糊控制训练能提高永磁同步电机的控制精度,提出一种基于改进粒子群算法的永磁同步电机
    发表于 05-28 15:44

    自制一个支持AI 控制的无刷平衡机器人:开源项目D-BOT全攻略

    今天给大家介绍一款创意桌面机器人——D-BOT!它不仅是一个功能强大的平衡机器人,也是一个融合了AI控制、3D建模与PCB设计的开源项目。 D-BOT 被作者称为“小探险家”(Discovery
    发表于 04-28 11:45

    限时免积分下载:增量式与位置式PID算法的C语言实现分享

    前面咱们有分享对PID算法离散化和增量式PID算法原理进行来探索,之后又使用Matlab进行了仿真实验,对PID三个参数又有了更深入的认识,
    发表于 03-05 18:32

    用硬件电路去实现PID控制

    PID是一种非常经典的控制方法,该方法被广泛的应用在工业领域,通常PID算法通过对希望控制的模
    的头像 发表于 03-03 19:33 1957次阅读
    用硬件电路去实现<b class='flag-5'>PID</b>的<b class='flag-5'>控制</b>

    PID控制详解(可下载)

    一、PID控制简介 PID( Proportional Integral Derivative)控制是最早发展起来的控制策略之一,由于
    发表于 02-27 15:42 6次下载

    资料免费下!PID电机控制系统(控制原理+控制算法+程序范例)

    原理延伸到位置式和增量式的PID算法,以及控制器参数整定的三大方法,全面解析PID的用法和特点,并通过程序的流程和说明让读者轻松可以进行实战
    发表于 02-27 14:17

    PID控制算法的C语言实现:PID算法原理

    的是,在我所接触的控制算法当中,PID 控制算法又是最简单,最能体现反馈思想的控制
    发表于 02-26 15:24

    西门子PID控制算法-FB块封装

    西门子的PID控制算法-FB(功能块)封装主要应用于工业自动化和过程控制系统中,用于实现闭环控制。具体来说,它广泛应用于需要维持某一设定值的
    的头像 发表于 12-30 11:01 2052次阅读
    西门子<b class='flag-5'>PID</b><b class='flag-5'>控制</b><b class='flag-5'>算法</b>-FB块封装