自瞄赛季总结
自瞄赛季总结
给老师的汇报
自瞄技术历经人员流失与两年断续迭代,今年虽终得稳定落地,但7v7实战效果未达预期。当前流水火控仅适配爆发模式与高弹频哨兵,面对前哨站及冷却模式步兵命中效果大幅下滑,底层PID控制滞后严重,视觉组已开发的MPC先进火控受限于目前pid控制算法的落后难以落地,亟需为前哨站设计专用火控逻辑。 硬件层面,pitch轴6020电机小角度控制超调,轴承磨损与电机老化引入回差;微机平台老化严重,内存接口脱落导致帧率骤降,串口与相机掉线重连长达4和14秒,关键对局直接断供,013相机清晰度与主流016系列存在代差。传统底盘地形适应性差,复杂地形下车身剧烈晃动,自瞄难以持续锁定,算法能力无从发挥。 必须同步推进轮腿机器人研发以提升瞄准平台稳定性,并将p轴更换为4310电机、更新微机与相机,为MPC火控及专用击打逻辑扫清部署障碍,方能将已有识别跟踪能力转化为赛场实打实的命中效果。
英雄:
最终实际投入人力(人天):
900(3人*300天)
项目推进及赛场暴露的能力缺口:
跨组交流与系统理解薄弱:视觉与机械、电控组之间缺乏常态化技术对接,对机械结构(如云台刚度、电机选型回差)、电控硬件(实时性瓶颈、通信延时来源)的系统性知识培训与了解不足,导致算法设计脱离硬件实际,先进控制方案难以落地。 代码开发非系统化、非协作化:缺乏统一的代码规范、版本管理流程与模块化设计,基本是各写各的,无人负责整体架构与接口定义;缺少代码评审、单元测试、持续集成,调试时互相依赖“口头传导”。 技术栈陈旧,缺乏系统传承:仍使用古老的ROS1框架,未迁移至ROS2,图像传输延迟大、实时性差;过往两年的算法成果(如卡尔曼滤波、弹道解算、降自由度优化)未形成文档、设计图或可复用的库,新人接手几乎推倒重来,导致迭代效率极低,同一问题反复踩坑。
下赛季人才培养/招新重点建议:
招新要求: 熟悉ROS2、现代C++/Python工程化实践(CMake、Git工作流、单元测试);具备跨学科思维,愿意主动学习机械/电控基础知识(如电机特性、通信总线、时延来源)。
培训与机制改革: 建立技术文档与代码管理规范:每个算法模块需附带可复现的实验记录和接口说明,统一用代码仓库管理,每周提交简短进度报告,确保经验可传承。 定期组织视觉、电控、机械三组联合分析会,针对云台响应慢、通信延时等系统瓶颈一起排查原因,制定各方协同的优化方案,避免各自为战。 推行协作开发流程:强制使用分支开发、合并请求和代码审查,至少一人审核后方可合并,逐步改变各写各代码的习惯。
本机器人软件核心得失
本赛季自瞄系统最核心的突破是降自由度Yaw角优化。其核心思想是:roll和pitch通过标定预先确定,将这两个自由度固定后,仅对yaw角进行独立建模与优化。我们深入对比了上交三分法与同济暴力搜索方案,最终选定上交方案进行工程化落地。配合fitLine最小二乘法对灯条角点进行亚像素级优化,成功将装甲板在0°正对附近的Yaw角跳变从原先的30°~60°压制到5°以内,从根本上解决了角度跳变导致的0度观测抖振问题,为卡尔曼滤波提供了稳定、连续的观测输入。 另一核心亮点是系统时延链路优化。我们基于Eigen手写了脱离ROS的坐标变换器,避免TF消息传递带来的时间错位;实现了帧率控制器与插值补偿机制,将图像采集到处理的时间差严格对齐到50帧系统节拍。这套体系使核心跟踪节点跑通100Hz以上处理能力,并在保证时间戳一致性的前提下将有效输出稳定在50Hz,在实时性与稳定性间取得最优平衡。 今年在卡尔曼滤波方面针对步兵、前哨两种车型分别设计了独立的观测器,各自匹配不同的状态转移矩阵和过程噪声参数。观测噪声中距离项乘以与yaw角度相关的增益,目标侧对时测距噪声自动放大,减少了距离跳动对状态估计的影响。调参上配合协方差迹监控来指导Q/R调整,使卡尔曼调参从经验试错转为可追踪、可复现的过程。
步兵:
最终实际投入人力(人天): 900(3人*300天)
项目推进及赛场暴露的能力缺口
项目推进中,跨组交流不够,视觉对机械和电控的硬件了解不足,导致算法设计脱离实际,好的控制方案很难落地。代码开发没有统一规范,没有版本管理和模块化设计,大家各写各的,缺乏整体架构和代码审查,调试全靠口头沟通。技术方面还在用老旧的ROS1,没升级到ROS2,图像传输延时大;前两年的算法成果没整理成文档或可复用库,新人接手又要从头开始,效率很低,重复踩坑。
下赛季人才培养/招新重点建议
招新时要找熟悉ROS2、现代C++/Python开发工具(如CMake、Git、单元测试)的人,还要愿意主动学习机械电控基础知识。培训上要建立文档和代码管理规则,每个算法模块都需附带可复现的实验记录和接口说明,用代码仓库统一管理,每周提交进度报告,方便传承。定期组织视觉、电控、机械三组联合分析会,一起排查云台响应慢、通信延时等问题,制定协同方案。强制推行分支开发、合并请求和代码审查,至少一人审核才能合并,逐步改掉各写各的习惯。
本机器人软件核心得失 亮点: 本赛季自瞄系统最大突破是Yaw角降自由度优化——固定roll和pitch,只对yaw建模,比较了上交和同济的方案后选上交,配合fitLine优化角点,使0°附近Yaw跳变从30~60度压到5度以内,解决了抖动,为卡尔曼滤波提供了稳定输入。另一个亮点是系统延时优化,手写坐标变换避免TF时间误差,实现帧率控制和插值补偿,使核心跟踪节点处理速度达100Hz以上,稳定输出50Hz,兼顾实时性和稳定性。卡尔曼滤波针对步兵和前哨分别设计观测器,观测噪声中距离项根据yaw角度自动放大,减少距离跳动影响;调参时用协方差迹监控指导Q/R调整,让调参从凭经验变成可追踪可复现的过程。 踩坑点 MPC轨迹规划器最终未能落地。电控发弹延时接近200ms,远超同济开源方案的20ms水平,MPC预测20个时间片后的位置做提前规划,其价值大打折扣。根本原因在于视觉单方面无法解决系统延时瓶颈,需要电控同步实现力控算法并压缩发弹延时,跨组协作不足导致方案悬空。四阶龙格库塔方案因装甲板测距不准同样受限,测距误差在远距离被空气阻力项指数放大,导致旋转目标命中率极低。测距精度是整个弹道解算的前置依赖,单目视觉的物理限制在当前硬件条件下没有好的解法。前哨战采用流水火控的方案由于惯量大跟随差,命中率较低
战术定位:
项目标题:
自瞄
最终确定的规划:
识别实现降自由度优化Yaw角,手写坐标变换降低系统延时, 设计多运动模型卡尔曼滤波,实现高精度的稳定跟踪。
赛场实际达成情况:
自瞄系统在赛场上整体稳定运行,哨兵搭载的自瞄具备稳定推掉前哨1000血的能力,对步兵形成较强威慑力。自瞄DPS高,与人对拼时能更快击杀对手;识别鲁棒性好,无需频繁调曝光;系统稳定性有保障,即便自瞄掉线也能通过重启功能快速恢复。
优劣势与战术得失:
优势: 自瞄DPS高是赛场上的核心杀伤力来源,比赛中与对手正面交火时往往能更快击杀,形成局部人数优势。识别算法鲁棒性好,不同场地光照条件下无需频繁调曝光,减少了调试负担和赛前准备时间。系统稳定性方面,自瞄具备自动重启功能,即便出现异常也能快速恢复,比赛中掉自瞄后能重新找回目标,不至于全场离线。
劣势: 云台惯量大导致响应慢,电控调参未适配到位,出现超调问题,尤其在应对高速旋转目标时跟随滞后明显。前哨战三层装甲板击打命中率低,现有步兵方案直接复用效果不佳,前哨战需要独立设计击打逻辑。远距离(5m外)命中率偏低,PnP测距误差随距离增大,落点系统性偏低且随距离变化不稳定,调试依赖现场反复试射,效率低。
下赛季优化建议:
下赛季优先解决系统延时瓶颈:升级ROS2或共享内存传输降低图像延迟;落地MPC需电控同步实现力控算法并压缩发弹延迟至50ms内,配合历史查询或提前开火补偿;前哨战单独设计火控逻辑,提高前哨击打命中率.
哨兵:
最终实际投入人力(人天): 900(3人*300天)
项目推进及赛场暴露的能力缺口: 跨组交流与系统理解薄弱:视觉与机械、电控组之间缺乏常态化技术对接,对机械结构(如云台刚度、电机选型回差)、电控硬件(实时性瓶颈、通信延时来源)的系统性知识培训与了解不足,导致算法设计脱离硬件实际,先进控制方案难以落地。 代码开发非系统化、非协作化:缺乏统一的代码规范、版本管理流程与模块化设计,基本是各写各的,无人负责整体架构与接口定义;缺少代码评审、单元测试、持续集成,调试时互相依赖“口头传导”。 技术栈陈旧,缺乏系统传承:仍使用古老的ROS1框架,未迁移至ROS2,图像传输延迟大、实时性差;过往两年的算法成果(如卡尔曼滤波、弹道解算、降自由度优化)未形成文档、设计图或可复用的库,新人接手几乎推倒重来,导致迭代效率极低,同一问题反复踩坑。
下赛季人才培养/招新重点建议: 招新要求: 熟悉ROS2、现代C++/Python工程化实践(CMake、Git工作流、单元测试);具备跨学科思维,愿意主动学习机械/电控基础知识(如电机特性、通信总线、时延来源)。
培训与机制改革: 建立技术文档与代码管理规范:每个算法模块需附带可复现的实验记录和接口说明,统一用代码仓库管理,每周提交简短进度报告,确保经验可传承。 定期组织视觉、电控、机械三组联合分析会,针对云台响应慢、通信延时等系统瓶颈一起排查原因,制定各方协同的优化方案,避免各自为战。 推行协作开发流程:强制使用分支开发、合并请求和代码审查,至少一人审核后方可合并,逐步改变各写各代码的习惯。
本机器人软件核心得失 本赛季自瞄系统最核心的突破是降自由度Yaw角优化。其核心思想是:roll和pitch通过标定预先确定,将这两个自由度固定后,仅对yaw角进行独立建模与优化。我们深入对比了上交三分法与同济暴力搜索方案,最终选定上交方案进行工程化落地。配合fitLine最小二乘法对灯条角点进行亚像素级优化,成功将装甲板在0°正对附近的Yaw角跳变从原先的30°~60°压制到5°以内,从根本上解决了角度跳变导致的0度观测抖振问题,为卡尔曼滤波提供了稳定、连续的观测输入。 另一核心亮点是系统时延链路优化。我们基于Eigen手写了脱离ROS的坐标变换器,避免TF消息传递带来的时间错位;实现了帧率控制器与插值补偿机制,将图像采集到处理的时间差严格对齐到50帧系统节拍。这套体系使核心跟踪节点跑通100Hz以上处理能力,并在保证时间戳一致性的前提下将有效输出稳定在50Hz,在实时性与稳定性间取得最优平衡。 今年在卡尔曼滤波方面针对步兵、前哨两种车型分别设计了独立的观测器,各自匹配不同的状态转移矩阵和过程噪声参数。观测噪声中距离项乘以与yaw角度相关的增益,目标侧对时测距噪声自动放大,减少了距离跳动对状态估计的影响。调参上配合协方差迹监控来指导Q/R调整,使卡尔曼调参从经验试错转为可追踪、可复现的过程。
引用开源
类型: 开源资料 项目名称: WMJAimer (西北工业大学 WMJ) 链接: https://github.com/SnocrashWang/WMJAimer 借鉴内容: EKF + 熵权法多运动模型匹配的整车建模、MPC 轨迹规划器
项目名称: rm.cv.fans (上海交通大学) 链接:https://github.com/julyfun/rm.cv.fans 借鉴内容: 三分法降自由度 Yaw 角优化、弹道可视化调参工具、坐标变换器设计
项目名称: sp_vision_25 (同济大学 SuperPower) 链接:https://github.com/TongjiSuperPower/sp_vision_25 借鉴内容: 暴力搜索法降自由度 Yaw 角优化、MPC 轨迹规划器
项目名称:rm_auto_aim (华南师范大学) 链接:https://github.com/FaterYU/rm_auto_aim 借鉴内容: fitLine 灯条角点优化
项目名称:FYT2024_vision (中南大学 FYT) 链接:https://github.com/CSU-FYT-Vision/FYT2024_vision 借鉴内容: PCA 灯条角点优化
技术骨干人才情况
姓名
所属组别
核心技能/方向
典型案例/贡献描述
实际研发技术点与目标差异原因分析
自瞄系统的实际研发技术点与目标差异分析原因 自瞄系统的实际研发技术点与目标差异原因分析: 由于视觉组对电控底层逻辑(双环PID跟随特性、稳态误差、电控时延等)理解不足,MPC轨迹规划器所需的力控算法配合和电控前馈未能打通,导致MPC以半成品收尾未能落地。当前火控设计主要针对地面移动目标,未针对前哨站固定中心旋转+三装甲板120°分布的特殊运动模式做适配,且自制前哨站与官方前哨站在装甲板安装高度、半径及装配精度上存在差异,导致前哨站击打命中率低,专门的前哨站火控仍处于计划阶段。ROS图像传输延迟大且嵌入式计算资源有限,全向感知(多相机采集调度)仅完成初步部署,未能实现多相机联合调度。
学术创新
添加桂工自瞄文档
点赞数据加载中
文档修订记录 4 次修订
- 197fd12 修复大小标题显示失败的bug
- 9a00af8 Fix: apply heading heuristic to 44 existing posts (26+18) - TOC now shows real sections
- edc8d79 博客界面更换 一些笑哦bug维修
- b1f3034 6_28剩余文档同步