RPS规则研讨

Catalogue
  1. 1. 自定义控制器
    1. 1.1. 协议
    2. 1.2. 功能
    3. 1.3. 备注
  2. 2. 步兵机器人
  3. 3. 雷达
    1. 3.1. 平台参数
    2. 3.2. 传感器参数
  4. 4. 参考图案
  5. 5. 参赛规则
    1. 5.1. 单项赛
      1. 5.1.1. 步兵对抗赛
      2. 5.1.2. 攻击伤害
      3. 5.1.3. 伤害扣血
    2. 5.2. 兑换
    3. 5.3. 建筑
    4. 5.4. 能量机关
      1. 5.4.1. 激活失败
  6. 6. 关键时间节点
  7. 7. 2021评测
    1. 7.1. 自瞄
      1. 7.1.1. 优点
      2. 7.1.2. 不足
    2. 7.2. 能量机关
    3. 7.3. 工程自动对位
  8. 8. 技术指标
    1. 8.1. 场地
    2. 8.2. 弹路模型
      1. 8.2.1. 参量
      2. 8.2.2. 建模
      3. 8.2.3. 具体表现
    3. 8.3. 控制预测模型
      1. 8.3.1. 参量
      2. 8.3.2. 模型
      3. 8.3.3. 具体计算
      4. 8.3.4. 进一步探讨
      5. 8.3.5. 应用
    4. 8.4. 雷达解算测距模型
      1. 8.4.1. 定位
    5. 8.5. 能量机关模型
      1. 8.5.1. 定位
      2. 8.5.2. 参数
    6. 8.6. 抛射模型
      1. 8.6.1. 定位
      2. 8.6.2. 原因
      3. 8.6.3. 特性
      4. 8.6.4. 参数
      5. 8.6.5. 模型
    7. 8.7. AI托管
    8. 8.8. 前哨站
  9. 9. 参考资料

自定义控制器

协议

裁判系统串口通信

功能

控制传输

视频传输

备注

非重点

步兵机器人

当没有特殊分类说明时,步兵机器人包括常规步兵机器人、自动步兵机器人和平衡步兵机器 人

雷达

平台参数

项目 限制 备注
最大功率 750W
最大外形尺寸 600 * 350 * 600 地面正投影不超出600*350

传感器参数

项目 限制 备注
最大重量 30kg
最大外形尺寸 1200 * 1200 * 1500

参考图案

image-20211018221212985

image-20211018221313952

参赛规则

单项赛

步兵对抗赛

自动步兵上场允许雷达上场

攻击伤害

装甲板最小检测间隔为50ms(使用42mm弹丸击打装甲板模块,检测时间间隔最长可能延长至200ms)

伤害扣血

伤害类型 血量伤害值
42mm弹丸 机器人装甲模块:100 基地装甲模块: 200
17mm弹丸 机器人装甲模块:10 基地、前哨战装甲模块: 5
撞击 2
飞镖 基地:100 前哨站:750

兑换

针对机器人: 小弹丸 每金币10滴血容错率高 大弹丸 每金币6.6滴血容错率低

针对建筑: 小弹丸每金币5滴血 大弹丸每金币13.3滴血

空中支援不稳定

建筑

基地血量5000 前哨站血量1500

能量机关

发生变更新赛季能量机关在双方同时激活时激活落后的一方仍然可以获得部分加成则根据大能量机关激活时对方的点亮支架数,对方机器人发射的 17mm 弹丸获得点亮 支架数乘以 20%的攻击力增益,42mm 弹丸获得点亮支架数乘以 10%的攻击力增益

大能量机关机制中,将加入旋转起伏台,具体机制后续更新

开始时间和持续时间不变

激活失败

  • 未能在 2.5 秒内击中随机点亮的装甲模块

  • 击中非随机点亮的装甲模块

关键时间节点

日程 环节
2021.11.27 规则评测
2021.11.29 赛季规划
2022.1.21 裁判系统评测
2022.2.21 中期进度考核
2022.4.4 完整形态考核

2021评测

自瞄

优点

  • 优秀的远程实时调试功能
  • 微服务分布式结构
  • 串口信息实时检测
  • 针对不同距离采用管道流处理
  • 参数自动保存生效和配置
  • 较高的处理速度和帧率
  • 对TX2性能进行线程绑定等优化技巧
  • 功能模块化,采用行为树组织结构
  • protobuf通信协议封装

不足

  • 对于复杂干扰下适应性差,对环境敏感性高
  • 未能针对不同兵种进行差异化的优化升级
  • 复杂冗长的安装部署配置
  • 依赖于大量阈值设定,调试时间漫长且对调试技巧要求较高
  • 相机等部分模块存在bug
  • 迭代具有跳跃性,对电控造成一定成都困扰
  • PNP解算的距离存在未知的误差和扰动

能量机关

  • 架构类似大部分内容同上
  • 目标中心位置定位不够鲁棒在赛场出现问题
  • 大能量机关击打策略和其他学校相比较慢

工程自动对位

  • 对环境依赖程度高,依赖于现场环境调节参数

技术指标

场地

RMUC 的核心比赛场地被称为“战场”。战场是一个长为 28 米、宽为 15 米的区域,内部为木质结构,表 面贴地胶(厚度 3mm),主要包含基地区、高地区、资源岛区、补给区和飞行区等。战场外围有上边沿距 离战场地面高度为 2.4 米的黑色钢制围挡

场地红色和蓝色为地胶(对比2021为场地灯效)

image-20211019214412060

弹路模型

参量

初速度、像素偏差、距离、水平垂直控制误差角度

建模

在垂直方向可近似为仅受重力的抛体运动
$$
v_x = v_0cos\theta \
v_y = v_0
sin\theta \
h = v_y*t- \frac{1}{2}gt^2 \
$$
化简整理可得
$$
sin(2\theta-\psi) = \frac{d^2g}{v_0^2} + h
$$

具体表现

当角度在5m 、8m 、10m 、15m处时角度每变化一度产生的偏差变化

所以

  • 电控角度控制误差允许在 0.1~0.2度
  • 机械散布的误差要求为在假定电控误差取均值的情况下上下波动范围为0-5cm

图像误差像素1piexy

控制预测模型

参量

通讯延迟、控制延迟、响应延迟、飞行延迟、目标移动速度、初速度和仰角

模型

对原始数据可简化为控制延迟和飞行延迟两部分

对于控制延迟,从采集图像开始到目标信息发送到下位机到电机响应并移动至指定位置可记为
$$
t_1 = t_{capture \ image}+t_{minipc \ process}+t_{communication}+t_{stm32\ process}+t_{motor \ move}
$$
对于在弹丸从拨盘转动供弹到摩擦轮转动给定初速度到发射机构出樘到命中这过程时间可记为
$$
t_2 = t_{dial \ rotation} + t_{friction \ wheel} + t_{fly}
$$
在二维平面中水平方向(暂时不考虑空气阻力影响)可认为速度恒定由初速度和出樘角度决定
$$
v_x = v_0cos\theta
$$
在三维空间中我们不妨假设目标以最大速度水平运动则如果不计算延迟弹丸落点和实际位置间的误差为
$$
\Delta x = T * (t_1 +t_2)
$$

具体计算

所以当不考虑中间延迟而直接击打目标的情况下,各距离误差为

5m 8m 10m 15m

进一步探讨

$t_1 $ << $t_2$的考量若忽略$t_1$ 实际误差估计为

应用

精准测量各个阶段误差,以保证命中率

雷达解算测距模型

定位

  • 通过深度相机或激光雷达对目标和己方单位进行测距并计算想对位姿通过解算三角形给定己方单位目标方位和距离并进行弹道计算。

  • 条件允许的情况下对整个战场进行建图并和己方单位通讯并进行预警,针对受击扣血进行警告。

  • 场地识别标志帮助雷达进行标定获得精准的位姿估计和空间坐标映射

    能量机关模型

定位

  • 干扰打符模式

参数

抛射模型

定位

击打距离大于10m以上,击打固定建筑物如基地、前哨站或呈有规律简单运动的哨兵

原因

抛射受限于初始射速和较远的距离,在面对目标进行复杂运动的情况下很难命中和预测,故其实际定位倾向于静止稳定的目标。而且10m以上随枪口抬升其目标往往超出相机视野或在视野中可见度较差所以比较推荐如借助雷达或其他单位等进行辅助测距。

特性

  • 计算量大
  • 实时性需求低
  • 需要精准的距离和高度差
  • 对控制要求精准
  • 较小的着弹点散布

参数

  • 当前枪口的姿态为方便计算我们可简化为和目标在同一二维平面,其水平方向的偏差在后续进行讨论

  • 目标和自身枪口基点的高度差h和水平距离d

  • 速度可分解为垂直分量和水平分量,但由于重量尺寸42mm原因收空气阻力影响较大应考虑在内

    image-20211020233024584

模型

基本和上述弹道模型保持一致,但出于空气阻力的原因需要对速度在水平和垂直放行分别进行修正。

空气阻力公式为
$$
F_r = \frac{1}{2}C_d\rho Sv^2
$$
其中,粗糙高尔夫球的阻力系数$C_d=0.26 $,空气密度,在正常的干燥空气可取 $\rho= 1.293$ , 物体的迎风面积S,物体和空气的相对速度记为$v$ ,进一步由运动分解可拆解为
$$
F_{rx} = \frac{1}{2}C_dSV_x^2 \
F_{ry} = \frac{1}{2}C_dSV_y^2
$$
带入上公式(1)进行新的受力分析可得新公式为

水平方向:
$$
V_x = V_0cos\theta-C_dSV_x^2t \
V_x = \frac{-2m+\sqrt{4m^2+4C_dStv_0cos\theta}}{2C_dSv_xt}
$$

垂直方向

  1. 上升阶段

$$
v_y = v_{y0} - (g+F_r/m)t \
h = v_{y0} - \frac{1}{2}(g+F_r/m)t^2
$$

  1. 上升后的下降阶段
    $$
    0 = v_{y0} - (g+F_{ry}/m)t_1 \
    h1 = v_{y0} - \frac{1}{2}(g+F_{ry}/m)t_1^2 \
    h2 = \frac{1}{2}(g-F_{ry}/m)t_2^2 \
    h = h1+h2
    $$

AI托管

针对飞镖新增命中后10s中黑屏,这对于受击放来说无疑是一个非常致命的真空期,一方面操作手在此期间无法做出有效的应对,另一方面在前哨站或基地血量锐减的情况下心态非常容易出现问题,再者敌人往往会利用这个真空期发起进攻引起一系列的反应。

针对这个问题我们可以采用行为树或者状态机进行状态切换控制行进或者开启小陀螺驻扎,并根据推荐算法进行识别打击,尽最大可能提高自身生存能力。

前哨站

旋转的中层装甲板

参考资料