1297 字
3 分钟
lesson0 算法组的工作及后续学习路线及学会正确提问
2026-05-31

lesson0 算法组的工作及后续学习路线及学会正确提问#

在RoboMaster比赛中算法组干什么#

借用我之前在视觉群看到的一句话:如果说机械赋予血肉,电控赋予大脑,那算法则赋予灵魂。

我们通过相机赋予视觉,以视觉算法带来精确打击;我们通过雷达赋予定位,以导航算法带来灵活移动。不仅仅如此,弹道解算、雷达站、自定义客户端、飞镖制导等等,都主要是算法组的工作。

在这里说明一下,算法组中分为视觉和导航两个方向,但彼此并非完全分离(我们的hy佬就是双修😇),故在此就不特别区分,如有说明会在旁边注释。

具体到赛场上的主要应用如下:

  • 自瞄:通过对敌方车上的装甲板识别、追踪和弹道解算(考虑物理阻力、重力和数据处理延迟以及敌方小陀螺旋转等因素,直接瞄准视觉识别方向是不可行的,我们要把识别效果转化为命中结果,因此我们也需要做一些控制方面的工作),实现精准命中(相当于fps的锁头挂,如果你对aimlab里的排名有了解,那处于第二梯队的就是通过视觉自瞄实现的)
  • 导航:对于我们的哨兵兵种,这是台全自动机器人,无操作手操控(26赛季新增了半自动,但几乎没人用😄),因此我们需要导航算法来控制哨兵移动
  • 机械臂操作(机器人控制方向):对于我们的工程机器人,需要通过机械臂完成取矿、兑换等任务(主要运用在工程机器人上面)。这包括:目标检测与位姿估计(相机)、运动规划(MoveIt2)、手眼标定等
  • 通信:对于车上的通信,我们使用串口通信与下位机进行通信(此处为算法与电控对接处);对于26赛季新增的自定义客户端,规则规定使用MQTT + Protobuf通信

诸如此类,实际上算法的工作涉及范围特别广,每次规则改动都会要去了解新东西(写文档的时候我就负责自定义客户端,处理图传数据视频流方面确实以前未接触过),也希望各位期望进算法组的小灯们要怀有一颗时刻学习新知识的心。

算法组的学习路线#

介绍了那么多,那学习算法需要了解哪些知识呢?以下为本人认为需要学习的知识(此处仅为介绍,队内具体学习规划另外发布):

  • 语言基础:c++(必学,算法组基本使用c++),python(非必须),rust(非必须,但本人推荐学习了解一下(才不是rust邪教🥰))
  • 编程能力:多线程(必学),modern cpp(非必须,但推荐大家了解cpp新标准,我们也基本使用c++23标准),可视化(非必须),socket编程(非必须)
  • 操作系统:ubuntu(必用,22.04或24.04版本,但本人推荐22.04humble版本,建议将开发环境工具等全部配置到该操作系统上(不要在抱着windows用了,加入 linux大家庭😋,本人可能会去玩玩arch linux))
  • 版本管理工具:git(必学,孩子一定要多逛逛github🤗)
  • 各类第三方库或工具:opencv(视觉必学),ROS2(导航必学,不推荐视觉使用ROS框架),Eigen(矩阵运算库,非必须),QT(可视化组件,非必须),Pytorch/TensorFlow(深度学习训练,非必须,推荐pytorch),TensorRT/OpenVINO(深度学习部署,非必须)
  • cmake构建工具的基本使用(必学)
  • 相机软硬件知识(如调参,选型等,非必须,但要基本了解)
  • 坐标TF变换(非必须,但要基本了解)
  • kalman等滤波算法和各类优化算法(必学)
  • 嵌入式开发(非必须(但在与电控的交流中多多少少会了解一点))

学会提问#

加入我们这个战队,免不了需要进行交流学习,无论线上线下,本人希望各位小登要学会如何正确的提问(本人也在各类群里看过不少笑话) 建议学习一下经典文档提问的艺术,https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way

pmAAbYF.jpg(这也是视觉救命群梗图)

pmFPm1x.jpg

pmFPe91.jpg

pmFPnc6.jpg

—由qing_feng编写

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

lesson0 算法组的工作及后续学习路线及学会正确提问
https://www.wust-rm.top/posts/teach00/
作者
qing_feng
发布于
2026-05-31
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录