ROBOMASTER比赛作品集

一、ROBOMASTER比赛介绍

全国大学生机器人大赛RoboMaster 机甲大师赛是由共青团中央、全国学联、深圳市人民政府联合主办,DJI 大疆创新发起并承办的机器人赛事,作为全球性的射击对抗类的机器人比赛,在其诞生伊始就凭借其颠覆传统的机器人比赛方式、震撼人心的视听冲击力、激烈硬朗的竞技风格,吸引到全球数百所高等院校、近千家高新科技企业以及数以万计的科技爱好者的深度关注。
简单来讲RoboMaster机器人比赛就是通过队伍之间使用自研机器人对抗,发射弹丸来判断胜负的比赛。比赛的规则类似MOBA类游戏,双方机器人需要攻击对方的基地通过基地剩余血量来决定比赛的胜负。双方的机器人组织不同策略,进攻、防守。击杀敌方机器人能够获得更高的功率上限,枪口热量上限,为最终击破地方基地做准备。
所以各队伍的自研机器人的性能,稳定性会很大程度上影响比赛的结果。

二、项目介绍

本人参加了两届RoboMaster比赛,在比赛中负责英雄机器人的嵌入式软件开发。英雄机器人在比赛中能够发射大弹丸,大弹丸伤害高射速慢,对发射机构与云台系统有较高的考验。一台成功的英雄机器人在比赛中能够实现远距离攻击地方基地,斩杀敌方地面机器人等效果。
根据规则,我们将英雄机器人战术定位为队内的炮手,专门负责远距离吊射前哨站,哨兵,以及基地等高血量建筑及机器人,追求远程吊射精确度高设计了类坦克的丝杆传动Pitch轴和下供弹的供弹设计可进行高精度的云台运动瞄准,加装了左右摇摆臂悬挂的底盘具有一定的机动性与越障能力,并且可根据需要适配安装步兵的双云台结构,攻守兼备。
在这里插入图片描述

英雄机器人在设计时提出以下控制上的功能需求:
1.麦克纳姆轮全向底盘控制,加速快且平滑,稳定爬坡
2.两轴云台运动控制稳定,静止发射时保证不会抖动偏移
3.功率控制不超功率,控制上流畅不造成卡顿
4.超级电容充放电控制
5.发射射频射速稳定,不超热量,发射延迟低且稳定

本人在项目中负责整台机器人硬件线路布局规划、机器人控制主板嵌入式驱动开发、机器人嵌入式软件构架设计、机器人运动 控制算法等。协调与机械组员、嵌入式硬件(PCB)组员和视觉算法组员共同开发机器人。

三、根据机械结构设计的控制方案

云台pitch轴采用了无刷减速电机直连导程12mm的丝杆并通过鱼眼轴承+铝柱的连杆结构将丝杆螺母的上下运动转化为云台的俯仰运动。pitch轴俯仰使用的丝杆可以实现自锁,而且主要需求电机高转速,所以pitch轴的正常控制模式下采用电机编码器反馈速度闭环,能保证pitch轴的快速响应与静态稳定需求。
云台的yaw轴采用了1:5的同步带轮传动设计,使用无刷减速电机作为动力源,旋转响应速度快。yaw轴统一需求动态响应与静态精度,为了保证控制精度,yaw轴采用外置绝对值编码器位置闭环与陀螺仪提供云台相对于地面的绝对角度校正编码器坐标系,相当于使用了编码器的精度与陀螺仪的地面坐标系角度校准的双传感器反馈模式。在原有的单陀螺仪反馈在精度和控制稳定性上大大提升。
原创控制流程图

四、机器人控制板与传感器模块

嵌入式熟悉机器人操作与控制流程,外设硬件使用,所以就负责硬件线路布局规划了
在这里插入图片描述
机器人主控板有很多的外设,包括与裁判系统,小电脑,六轴姿态传感器模块等使用的UART串口,舵机,BLDC电调使用的PWM,电机与双主控通讯用到的CAN等等。
设计硬件连接布线需要考虑很多因素,模块安装位置,滑环通过电流,裁判电源系统安装,线材与保护的选择,接口选择等

五、机器人软件构架设计

在这里插入图片描述
仿造操作系统HAL层,API层,应用层的结构设计软件结构
在这里插入图片描述

六、软件应用层流程图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、六轴姿态传感器模块

1.性能参数
1)测量维度:加速度 3维,角速度 3维,角度 3维
2)量程:加速度:±2/4/8/16g 角速度:±250/500/1000/2000°/s
3)数据输出内容:角速度 角度
4)数据输出频率:1HZ~500HZ (默认使用500HZ)
5)串口(TTL 电平,波特率支持 2400、4800、9600、19200、38400、57600、115200(默认))
2.实物图及引脚
在这里插入图片描述

3.软件算法
1)大致流程
在这里插入图片描述

首先通过SPI总线读取BMI160传感器的原始数据,使用低通滤波和均值滤波对原始数据进行处理,由加速度数据计算重力倾角,再通过卡尔曼滤波对重力倾角进行修正,得到动态角度。
2)角度解算
Pitch与roll轴角度解算采用卡尔曼滤波融合加速度与角速度,得到的最优估计角作为pitch轴与roll轴的动态角度
在这里插入图片描述

卡尔曼滤波流程:
i.由上一时刻的最优估计角加上输入的当前角速度减去上一时刻角速度误差的差乘MCU运算周期时间得到当前的预测角即先验估计角

 angle_kf += (gyro_m - q_bias) * dt;

ii.上一时刻误差协方差矩阵P通过状态转移方程模型加上过程噪声Q计算得到当前先验误差协方差矩阵
在调参过程中:误差的协方差矩阵表示对当前预测值的信任程度,越小则越信任当前的预测值,由于实际测试中角速度积分角度可信度较高只受到陀螺仪测量动态精度影响(角度漂移)参数Q的值可以调小提高对预测值即角速度的信任程度

Pdot[0] = P[1][1] * dt + Q_angle - P[0][1] - P[1][0];
Pdot[1] = -P[1][1]; 
Pdot[2] = -P[1][1]; 
Pdot[3] = Q_gyro; 

P[0][0] += Pdot[0] * dt;  
P[0][1] += Pdot[1] * dt; 
P[1][0] += Pdot[2] * dt;  
P[1][1] += Pdot[3] * dt;  

iii.先验估计角与倾角做差得到角度残差(表示测量值和预测值的偏离程度(预测值即使用角速度数据的先验估计)(测量值即加速度计算的重力倾角)

   angle_err = angle_m - angle_kf;

iv.计算残差协方差:基于误差协方差矩阵P与测量协方差R
调参过程中:卡尔曼增益即对残差的信任度,则残差协方差E越大对测量值(加速度倾角)越不信任,在实际测试中加速度倾角受到陀螺仪水平移动影响较大(平移过程中产生水平加速度不只存在重力加速度,导致通过重力估算倾角失效)测量协方差R则需要增大以降低对重力倾角的信任程度

E = R_angle + P[0][0] ;

v.计算卡尔曼增益:基于误差协方差矩阵P与残差协方差E

K_0 = P[0][0] / E; 
K_1 = P[1][0] / E;

vi.计算最优估计角度

angle_kf += K_0 * angle_err;//角度最优估计
q_bias += K_1 * angle_err;  //角速度偏差
angle_dot = gyro_m - q_bias;  //角速度估计

vii.更新后验协方差矩阵(用过误差协方差矩阵的迭代对估计值进行优化以得到最优估计值,卡尔曼滤波器可以基于我们对于系统状态估计值的修正度来自动修正误差协方差矩阵。修正系统的状态既要基于误差协方差矩阵P也要基于残差的协方差E)

t_0 = P[0][0]; 
t_1 = P[0][1]; 
P[0][0] -= K_0 * t_0; 
P[0][1] -= K_0 * t_1; 
P[1][0] -= K_1 * t_0; 
P[1][1] -= K_1 * t_1;  

3)Yaw轴处理
由于未采用磁力计,yaw轴加速度积分角度无法通过卡尔曼滤波进行校准
Z轴角速度进行处理在可接收范围内降低Z轴角速度的动态精度提高其静态精度以降低yaw角度漂移现象
云台控制中通过控制逻辑切换陀螺仪闭环模式与编码器闭环模式去除陀螺仪yaw轴漂移的影响
在这里插入图片描述

4)陀螺仪零飘及温漂校准
通过采集数据求均值及写入芯片FLASH操作对陀螺仪角速度进行零飘校准

校准流程:
在这里插入图片描述

4.测试效果数据
通过j-scope进行测试陀螺仪输出波形
1)陀螺仪三轴角度正常工作
在这里插入图片描述

2)Yaw轴响应灵敏
在这里插入图片描述

3)Yaw轴静态精度测试
在这里插入图片描述

零飘校准及精度调整之后的效果
4)卡尔曼滤波效果
以roll轴为例
在这里插入图片描述

紫色是重力倾角绿色为卡尔曼最优估计角,在对陀螺仪施加外部高速加速度变化,重力倾角影响很大,通过卡尔曼滤波处理,卡尔曼角度几乎不受外部平移加速的影响
在这里插入图片描述

5.数据输出

0xfegxHgxLgyHgyLgzHgzLrollHrollLpitchHpitchHpitchHpitchLyawHyawL0xee

计算方法:
角速度:

gx =((gxH<<8)| gxL)/100(°/s)
gy =((gyH<<8)| gyL)/100(°/s)
gz =((gzH<<8)| gzL)/100(°/s)

角度

roll =((rollH<<8)| rollL)/100(°)
pitch =((pitchH<<8)| pitchL)/100(°)
yaw =((yawH<<8)| yawL)/100(°)
八、项目成果展示

(只能放已发布视频 先放团队的总体视频)

东莞理工学院ACE战队2019机器人中后期形态视频

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值