3两轴云台及击发控制的设计与实现.docx
- 文档编号:2155831
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:18
- 大小:1.63MB
3两轴云台及击发控制的设计与实现.docx
《3两轴云台及击发控制的设计与实现.docx》由会员分享,可在线阅读,更多相关《3两轴云台及击发控制的设计与实现.docx(18页珍藏版)》请在冰豆网上搜索。
3两轴云台及击发控制的设计与实现
RoboMasters机器人大赛
两轴云台及击发控制的设计与实现
3.1、控制算法比较与选择.............................................................7
3.2、PID算法改进方式选择........................................................10
2.1、云台运行噪声问题..............................................................18
2.2、pitch轴电机运动不稳定,工作电流过大问题.................18
2.3、串口通信数据串扰及数据错误问题..................................19
一.项目概述
1.比赛简介
RoboMasters是一项全新的机器人超级对抗赛。
参赛队伍通过自行设计制造多种机器人进行射击对抗,完成指定任务,由比赛裁判系统判定比赛胜负。
参赛机器人包括可以发射“弹丸”的手动机器人以及能够完成一定任务的自动机器人。
参赛队员需要遥控手动机器人在复杂的场地中移动并发射“弹丸”,攻击对方机器人和基地以取得胜利。
自动机器人将在比赛中自动完成指定任务。
每场比赛双方最多可各有6台机器人上场参与对抗,每队的编制是2台机器步兵、2台机器射手、1台机器炮手和1台机器哨兵。
2台机器步兵由比赛组委会提供,其余机器人均由参赛队员自行设计制作完成。
比赛采用红、蓝双方对抗的形式,每场比赛采用多局制,每局限时5分钟。
2.课题简介
图1.1:
战车主要模块分布图
本项目基于STM32F405开发平台,主要利用位置式双闭环PID控制算法,实现对两轴云台的运动以及发弹的控制。
云台控制板通过串口分别与主控板及工控机进行通信,从底盘主控板或工控机获取两轴云台运动指令及发射子弹指令,再经由电流环、位置环双闭环PID控制算法,精确控制云台运动模式,并尽可能快、尽可能稳地使两轴云台达到目标位置;同时通过输出不同占空比PWM波,驱动并控制双摩擦轮转速,达到发射子弹的要求。
二.项目目标
1.基本功能与性能
(1)通信部分:
云台控制部分能够通过串口与底盘主控和工控机正常通信,正常接收与传送数据或指令。
(2)云台运动:
两轴云台可以按照指定指令,快速到达规定角度位置,并稳定下来。
(3)子弹发射:
可以正常驱动双摩擦轮,并以固定速度发射子弹。
2.扩展功能与性能
(1)串口通信在正常通信的情况下,要在满足系统对通信速率的要求下,设计相应具有查错或纠错能力的通信协议,使误码率尽可能低,提高通信的稳定性。
(2)两轴云台在满足系统对稳定性的要求下,改进系统参数,要求尽可能提高对系统指令的响应速度。
(3)在实现以单一速度驱动双摩擦轮的基础上,实现根据底盘指令,变速控制双摩擦轮,多级调速,满足不同对战环境下的发射子弹速度要求。
三.系统设计方案
1.系统框图
图3.1:
系统框图
由图3.1,云台控制部分处于整个通信系统的中心:
一方面,云台控制中心需要通过串口与底盘主控进行通信,接收来自操作手通过遥控器转发过来的关于云台的相关指令;另一方面,云台控制中心需要通过串口与火控部分工控机进行直接通信,接收在自动瞄准过程中的云台自动调整功能,这一部分的设计由于环境等因素在区域赛中没有起到作用。
特别地,在炮手系统设计中,云台控制中心还要负责转发工控机关于底盘自适应性运动的相关指令,控制底盘运动,如下图:
图3.2:
炮手通信
2.子系统框图
子系统主要涉及到摩擦轮驱动部分以及两轴云台驱动部分。
具体框图如下:
图3.3:
摩擦轮驱动系统框图
由图3.3,云台控制版输出PWM波,需经由HG900电调模块驱动电机转动。
电调相关工作模式配置在模块详细设计部分再详细说明。
图3.4:
两轴云台驱动系统框图
由图3.4,云台控制板通过CAN通信协议与RM6025驱动板进行通信,控制信息以一个CAN消息帧的形式传输。
其中,由云台控制板到RM6025驱动板的CAN帧内容为三轴驱动电流大小,但此处实际只用到了两轴电流大小的数据。
由RM6025驱动板到云台控制板的CAN帧内容包括三轴实时驱动电流大小以及三轴当前绝对角度值,同理,这里我们只会用到其中两轴的相关数据。
两轴云台的具体控制算法为位置式双闭环PID控制算法,其具体设计在模块详细设计部分再详细说明。
3.方案比较
3.1控制算法比较与选择
云台的三闭环控制:
位置环和速度环是在云台主控里实现的,HG900驱动板中已经集成了电流环的控制,如下图:
图3.5:
云台PID控制
(1)位置式PID控制算法
图3.6:
数字PID控制算法流程
PID调节器是一种线性调节器,控制偏差定义为e(n)=r(n)–y(n),并对该控制偏差作比例,积分,微分等运算,并将其各步运算结果作线性运算作为控制量输出,用于控制受控对象。
其中PID算法根据实现方式分为模拟式与数字式PID算法。
对于本系统,采用数字式PID控制算法。
其输出变量的离散表达式为:
上式可以进一步简化为:
其中,分别称为比例常数,积分常数与微分常数,分别为系统采样时间,积分区间时间,微分区间时间。
实际利用位置式PID控制受控系统时,常采用经验值法或试凑法来分别调整的大小,调整或改善系统控制性能。
PID运算结果u(n)直接控制执行机构,在本系统中,该值对应着驱动两轴云台无刷电机的电流值大小,其缺点在于当前采样时刻的输出与过去的各个状态有关,计算时要对各个时刻的e(n)进行累加,运算量大,且由于控制器的输出u(n)对应的是直接驱动无刷电机的电流大小,因而若计算出现异常,u(n)的大幅度变化会引起云台运动的极其不稳定。
其优点在于适用性广,易于实现且对于位置式控制方式的系统,系统适用性总体较强,控制效果较好。
(2)增量式PID控制算法
相对于位置式PID,增量式PID控制器的输出只是控制量的增量,其对于位置式PID算法的转化计算式为u(n)=u(n-1)+。
其输出变量离散表达式如下:
进一步展开得到:
式中,分别称为比例常数,积分常数与微分常数,e(n)=r(n)–y(n),为目标与输出量之差,称为控制偏差。
增量式PID算法的优点在于,算式中不需要累加,输出的值仅仅与最近三次的采样值有关,容易通过加权处理获得较好的控制效果。
另外,控制器每次只输出控制增量,即对应执行机构的位置的变化量,故而当机器偶然性故障时,影响范围相对于位置式PID较小,不会严重影响系统的整体性能。
再者,增量式PID控制可以做到手动至自动切换冲击效应小,当控制器从手动向自动切换时,可以做到无扰动切换。
(3)棒棒控制算法
设定门限门限,在误差比较大的时候采用大输出控制电机,将误差在最短时间内减小到所要求的范围,这就是棒棒控制的思想。
棒棒控制又称时间最优控制。
设非线性时变系统的状态方程由下列微分方程描述:
初始条件为:
目标集条件为:
性能指标为:
控制u(n)是受限的,即:
现在的问题是要求最优控制函数,使系统从最快转移到终止状态,受限控制的最优解为:
棒棒控制的优点在于其在随动系统调转控制过程中能很好满足系统快速性的要求,达到阶跃过程最小化,并且结合其它控制方法能提高系统自适应能力和控制精度,有很好的推广价值。
其缺点在于,阈值选取不当,可能会出现超调或严重回摆的现象,常常需要与其他控制算法配合使用。
三种算法主要优缺点比较如下图:
控制算法
性能比较
位置式PID
增量式PID
棒棒控制
优点
适用性广,易于实现
运算量小,误差影响小
系统响应快
缺点
运算量大
响应不快
阈值不当影响大
适合配合使用
图3.7:
PID算法比较
综上所述,考虑到云台无刷电机是有绝对电流值大小来驱动,且其感官可控制量为其轴固定下来时的绝对角度,故而不可采用增量式PID控制算法,位置式PID算法相较于棒棒控制算法,尽管实现起来复杂程度较高,但总体性能上,可以做到响应速度与精度更高。
再考虑到PID算法已有资源更为丰富,在参考他人的调参数经验上,采用位置式PID控制算法,将会更快取得较为理想的控制效果。
故而,综合考虑,我们决定采用位置式PID控制算法。
3.2PID算法改进方式选择
(1)基于生物遗传算法改进的模糊PID算法
遗传算法是计算数学中用于解决最佳化的搜索算法,是进化算法的一种。
进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择以及杂交等。
遗传算法通常实现方式为一种计算机模拟。
对于一个最优化问题,一定数量的候选解(称为个体)的抽象表示(称为染色体)的种群向更好的解进化。
传统上,解用二进制表示(即0和1的串),但也可以用其他表示方法。
进化从完全随机个体的种群开始,之后一代一代发生。
在每一代中,整个种群的适应度被评价,从当前种群中随机地选择多个个体(基于它们的适应度),通过自然选择和突变产生新的生命种群,该种群在算法的下一次迭代中成为当前种群。
遗传算法的基本运算过程如下:
a)初始化:
设置进化代数计数器t=0,设置最大进化代数T,随机生成M个个体作为初始群体P(0)。
b)个体评价:
计算群体P(t)中各个个体的适应度。
c)选择运算:
将选择算子作用于群体。
选择的目的是把优化的个体直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。
选择操作是建立在群体中个体的适应度评估基础上的。
d)交叉运算:
将交叉算子作用于群体。
遗传算法中起核心作用的就是交叉算子。
e)变异运算:
将变异算子作用于群体。
即是对群体中的个体串的某些基因座上的基因值作变动。
群体P(t)经过选择、交叉、变异运算之后得到下一代群体P(t+1)。
f)终止条件判断:
若t=T,则以进化过程中所得到的具有最大适应度个体作为最优解输出,终止计算。
基于生物遗传算法改进的模糊PID算法,其优点在于总可以求得局部最优解,实时根据系统环境改变PID参数,从而改进系统的稳定性与响应速度。
但其缺点在于,每次搜索最优解需要反复计算每个个体的适应度,计算量太大,可能给系统带来较大的延时。
且适应度函数的确定直接关系着最优解的选取,为了达到好的参数选择效果,必须确定一个合适的适应度函数。
(2)基于分段的模糊PID算法
传统PID是用事先调好的一套PID参数施用在系统的整个控制过程中且保持不变。
基于分段的模糊PID算法,在两轴云台的参数设计中,是根据当前两轴位置与目标位置的误差大小来分别确定一套适应性的PID参数,并基于该分段思想,将整个控制过程根据控制误差大小划分为多个区域,用多套参数随控制误差变化而变化,从而适应整个调节过程。
基于分段思想的模糊PID算法,其优点在于思路简单,实现过程没有复杂的计算过程,能够很好适应系统对时延的要求。
对于测试环境并不过于复杂的情况,可以很好提高系统的适应性与稳定性。
缺点在于如果系统测试环境较为复杂,必须将测试环境分为许多参数区间,增大参数的调试任务。
(3)基于权重分配改进的模糊PID算法
所谓基于权重分配改进的模糊PID算法,是在分段模糊PID算法的基础上,根据当前的控制误差与已有的各分段边界的距离,对距离做归一化和计算权重,距离越远,该段参数的值对最终值的形成影响便越弱。
在权重的基础上,对各区间参数值作加权平均得到最终用于控制系统的PID参数。
该算法思想取自数字图像处理图像平滑算法思想。
其优点在于,可以在很快的响应时间内,得到实时变化的PID参数,从而增强系统的鲁棒性。
其缺点在于,最终得到的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 两轴云台 击发 控制 设计 实现