两轴云台及击发控制的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RoboMasters机器人大赛
两轴云台及击发控制的设计与实现
目录
一. 项目概述 (4)
1. 比赛简介 (4)
2. 课题简介 (4)
二. 项目目标 (5)
1. 基本功能与性能 (5)
2. 扩展功能与性能 (5)
三. 系统设计方案 (5)
1. 系统框图
(5)
2. 子系统框图 (6)
3. 方案比较 (7)
四. 各模块工作原理(详细设计部分) (13)
1. 串口通信协议设计 (13)
2. 弹药击发结构及驱动设计 (14)
3. 两轴云台运动控制 (14)
五. 系统测试及调试 (17)
1. 以云台控制视觉识别为例介绍测试流程 (17)
2. 其他的问题以及解决方案 (18)
六. 项目实施总结及心得体会 (20)
七. 致谢 (21)
八. 参考文献 (21)
九. 附录 (22)
1. 电路图 (22)
2. 源工程详见附件 (23)
一. 项目概述
1. 比赛简介
RoboMasters 是一项全新的机器人超级对抗赛。参赛队伍通过自行设计制造多种机器人进行射击对抗,完成指定任务,由比赛裁判系统判定比赛胜负。参赛机器人包括可以发射“弹丸”的手动机器人以及能够完成一定任务的自动机器人。参赛队员需要遥控手动机器人在复杂的场地中移动并发射“弹丸”,攻击对方机器人和基地以取得胜利。自动机器人将在比赛中自动完成指定任务。
每场比赛双方最多可各有6 台机器人上场参与对抗,每队的编制是2 台机器步兵、2 台机器射手、1 台机器炮手和1 台机器哨兵。2 台机器步兵由比赛组委会提供,其余机器人均由参赛队员自行设计制作完成。
比赛采用红、蓝双方对抗的形式,每场比赛采用多局制,每局限时5 分钟。
2. 课题简介
图:战车主要模块分布图
本项目基于STM32F405开发平台,主要利用位置式双闭环PID控制算法,实现对两轴云台的运动以及发弹的控制。
云台控制板通过串口分别与主控板及工控机进行通信,从底盘主控板或工控
机获取两轴云台运动指令及发射子弹指令,再经由电流环、位置环双闭环PID
控制算法,精确控制云台运动模式,并尽可能快、尽可能稳地使两轴云台达到目标位置;同时通过输出不同占空比PWM波,驱动并控制双摩擦轮转速,达到发射子弹的要求。
二. 项目目标
1. 基本功能与性能
(1)通信部分:云台控制部分能够通过串口与底盘主控和工控机正常通信,正常接收与传送数据或指令。
(2)云台运动:两轴云台可以按照指定指令,快速到达规定角度位置,并稳定下来。
(3)子弹发射:可以正常驱动双摩擦轮,并以固定速度发射子弹。
2. 扩展功能与性能
(1)串口通信在正常通信的情况下,要在满足系统对通信速率的要求下,设计相应具有查错或纠错能力的通信协议,使误码率尽可能低,提高通信的稳定性。(2)两轴云台在满足系统对稳定性的要求下,改进系统参数,要求尽可能提高对系统指令的响应速度。
(3)在实现以单一速度驱动双摩擦轮的基础上,实现根据底盘指令,变速控制双摩擦轮,多级调速,满足不同对战环境下的发射子弹速度要求。
三. 系统设计方案
1. 系统框图
图:系统框图
由图,云台控制部分处于整个通信系统的中心:一方面,云台控制中心需要通过串口与底盘主控进行通信,接收来自操作手通过遥控器转发过来的关于云台的相关指令;另一方面,云台控制中心需要通过串口与火控部分工控机进行直接通信,接收在自动瞄准过程中的云台自动调整功能,这一部分的设计由于环境等因素在区域赛中没有起到作用。
特别地,在炮手系统设计中,云台控制中心还要负责转发工控机关于底盘自适应性运动的相关指令,控制底盘运动,如下图:
图:炮手通信
2. 子系统框图
子系统主要涉及到摩擦轮驱动部分以及两轴云台驱动部分。具体框图如下:
HG900电调PWM 波
摩擦轮电机
图:摩擦轮驱动系统框图
由图,云台控制版输出PWM 波,需经由HG900电调模块驱动电机转动。电调相关工作模式配置在模块详细设计部分再详细说明。
RM6025驱动板CAN 帧
RM6025无刷电机
图:两轴云台驱动系统框图
由图,云台控制板通过CAN 通信协议与RM6025驱动板进行通信,控制信息以一个CAN 消息帧的形式传输。其中,由云台控制板到RM6025驱动板的CAN 帧内容为三轴驱动电流大小,但此处实际只用到了两轴电流大小的数据。由
RM6025驱动板到云台控制板的CAN 帧内容包括三轴实时驱动电流大小以及三轴当前绝对角度值,同理,这里我们只会用到其中两轴的相关数据。两轴云台的具体控制算法为位置式双闭环PID 控制算法,其具体设计在模块详细设计部分再详细说明。
3. 方案比较
控制算法比较与选择
云台的三闭环控制:
位置环和速度环是在云台主控里实现的,HG900驱动板中已经集成了电流环的控制,如下图:
图:云台PID 控制
(1)位置式PID 控制算法
比例积分微分⊕
⊕受控对象
输入信号
r(n)输出信号y(n)
_
图:数字PID 控制算法流程
PID 调节器是一种线性调节器,控制偏差定义为e(n) = r(n) – y(n),并对该控制偏差作比例,积分,微分等运算,并将其各步运算结果作线性运算作为控制量输出,用于控制受控对象。其中PID 算法根据实现方式分为模拟式与数字式PID 算法。对于本系统,采用数字式PID 控制算法。其输出变量的离散表达式为:
()()⎪⎪⎭⎫ ⎝⎛--++=∑=k j D I p n e n e T T j e T T n e k n u 0))1()(()(
上式可以进一步简化为: ()))
1()(()()(0--++=∑=n e n e k j e k n e k n u k j d i p
其中,d i p k k k ,,分别称为比例常数,积分常数与微分常数,D I T T T ,,分别为系统采样时间,积分区间时间,微分区间时间。实际利用位置式PID 控制受控系统时,常采用经验值法或试凑法来分别调整d i p k k k ,,的大小,调整或改善系统控制性能。
PID 运算结果u(n)直接控制执行机构,在本系统中,该值对应着驱动两轴云台无刷电机的电流值大小,其缺点在于当前采样时刻的输出与过去的各个状态有关,计算时要对各个时刻的e(n)进行累加,运算量大,且由于控制器的输出u(n)对应的是直接驱动无刷电机的电流大小,因而若计算出现异常,u(n)的大幅度变化会引起云台运动的极其不稳定。其优点在于适用性广,易于实现且对于位置式控制方式的系统,系统适用性总体较强,控制效果较好。
(2)增量式PID 控制算法
相对于位置式PID ,增量式PID 控制器的输出只是控制量的增量)(n u ∆,其对于位置式PID 算法的转化计算式为u(n) = u(n-1)+ )(n u ∆。其输出变量离散表达式如下: