RM2026 · 南京理工大学 Alliance 战队

自瞄开源 地面 | 前哨 | 大小符

0. 关键要素

creeper2026-08-24 23:581.8k 字5 个链接 · 10 张图

大符平均环数 6.4、臂数 9.7(1st),局均17mm命中 36.5%,8m 内可打前哨(6点pnp),9m 内可打地面兵种(2D 输入 EKF),RMCS,工程化,调试友好

1. 仓库地址

https://github.com/Alliance-Algorithm/rmcs_auto_aim_v2


2. 效果展示

官方机器人关键数据:

能量机关排名.png


击打蓝色大符串流录制:



3. 细节介绍

3.1 对地面兵种

3.1.1 基本链路

  • 神经网络检测装甲板四角点,亚像素角点优化;绿灯定位辅助滤除建筑类误识别
  • 每个目标维护一个运动学滤波器,状态包含:中心位置、平移速度、自转角/角速度、机器人外形尺寸(前后/侧向半径、侧板高度)
  • 初始化:单块装甲板 PnP 反推旋转中心,提供初始位姿(整个 EKF 生命周期仅此一次 PnP,后续迭代全是 2D 输入)
  • 多灯条关联:先找四角点误差最小的完整装甲板做锚,其余灯条按位置顺序递推分配 ID,逐条滤波更新


3.1.2 技术亮点

  • 纯 2D 像素级观测的 EKF:观测直接取装甲板角点与灯条端点的像素坐标,通过透视投影雅可比把像素观测与 3D 运动学状态关联,观测噪声定义在像素域。整条链路上 3D 位姿完全由滤波器自行估计,不存在 PnP 解算误差的二次传播,近远距离观测噪声天然一致,可利用信息更多、更全面
  • 动态攻击窗口:将装甲板周期性扫过视野建模为锯齿波,在云台实测最大速度/加速度约束下,用时间最优曲线(bang-bang / 梯形速度)计算可稳定跟踪的窗口;目标转速超过云台能力时降级为瞄中心,装甲板扫过弹道射线时点射
  • 预瞄策略:窗口内无板时提前瞄准来板一侧边界等待;施密特滞回防止相邻板间抖振
  • 视线角速度/角加速度前馈输出,减轻云台跟踪滞后(实际没时间上了,上了命中率应该还能提升不少)


3.2 对前哨站

3.2.1 基本链路

  • 神经网络检测前哨站装甲板,PnP 给出初值
  • 距离优化:利用装甲板厚度与邻侧灯条宽度构成几何约束,修正远距离下 PnP 测距退化(6 点 PnP)
  • 滤波器状态仅含旋转中心与转速/角度;利用前哨站固定几何将单板观测折算到参考板坐标系后滤波


3.2.2 技术亮点

  • 切板检测与方向锁定:观测 yaw 跳变超阈值判定换板;旋转方向需连续两次同向确认才锁定,抗视觉噪声
  • 板序号在线辨识:三块板高度比较的滑动缓冲确定当前观测的是哪一块,未观测板自动跳过比较,三块齐后校正绝对序号
  • 单板观测即可滤波:视野内通常仅见一块板;配合观测超时与发散检测保证鲁棒性
  • 距离优化器(6点 PnP)显著改善远距离打击精度,这是前哨站链路相对地面兵种的核心增益

    与地面兵种的观测差异

    前哨站滤波器使用的是 PnP 解算后的 3D 观测(板中心 + yaw),而非像素级 2D 观测——因为前哨站几何完全固定,3D 观测噪声可以通过距离优化压制到可接受水平;而地面兵种运动灵活、外观多变,2D 像素观测更能避免解算误差。


3.3 对能量机关

3.3.1 基本链路

  • 纯传统视觉检测(无神经网络):靶心用"峰谷深度"指标判定是否激活;R 标用骨架提取 + 拓扑特征匹配
  • 滤波器状态包含符面中心、朝向、自转角/角速度;初始化由 R 标 + 未激活靶心 PnP 生成候选,按布局评分择优
  • 观测关联:马氏距离门限 + 匈牙利算法,将检测到的 R 标/靶心与模型特征(1 个 R 标 + 5 片符叶)配对,逐特征更新
  • 转速模型双拟合:大符正弦模型(规则转速附近扫频 + 最小二乘)、小符恒速线性模型,按拟合代价自动切换;历史窗口指数加权
  • 火控:只瞄准未激活符叶,按时序在"待机/发射"间交替,单发射击(纯定时器触发)

2026-07-12-095823_hyprshot.png2026-07-12-095814_hyprshot.png2026-07-12-095829_hyprshot.png

大符检测算法图表



3.3.2 技术亮点

  • 检测零神经网络依赖:轻量、可控、易调试
  • 正弦转速解析积分前推:状态预测用解析积分而非欧拉外推,长时间前推不漂移
  • 视线前馈含完整旋转运动学:角加速度项与向心加速度项齐备,符叶转向时云台能同步加速
  • 符面朝向约束:符面法线与视线夹角异常即判发散重建
  • 虚拟能量机关:给定符面三维坐标直接投影生成观测,无实物也可全链路调试
  • 收敛门控:模型未收敛前不出击打点,防止乱打


最后,关注 Alliance 战队喵~,放一些我画的画/设计的海报

1714975512296.pngImage_1721659274083.pngImage_372145362814488.png

Image_372282144934420.pngImage_1753248188251.jpg



正文与图片来自原文,版权归原作者所有;本站仅作检索与阅读。原文链接 ↗