关于 RM 模拟器 - scutrobotlab/RM2021_simulation GitHub Wiki

这个概念并不是我们想出来的,早在 18 年就有 RM 选手制作了 17 年的比赛模拟器。那时的模拟器还没有太多实用考量。在第一版出现后,基本每一年都可以在论坛看到一两个制作模拟器的帖子,但是热度并不高,也基本没有投入实用。2019 年,官方发布了当年的比赛模拟器,实现的赛制不多,没有联机对战功能。这是官方唯一一次发布 RMUC 模拟器,后面就转做大疆教育平台 去了。20 年和 21 年也有战队在论坛上分享模拟器设计,不过完成度并不是很高。

各战队在网上共享的模拟器都存在相似的问题:车辆运动模型不真实、缺乏场地交互、赛制实现不完整、无法承载全阵容联机等。模拟器开发阻力大主要原因有两个,第一是 RM 备赛时间并不算充裕,参赛队员造车调车、操作手训练就已经占满了时间表,并没有太多空闲时间研究其他项目;第二是模拟器属于纯软件领域,对大多数参加 RM 的自动化、车辆工程、机械等专业的同学来说比较陌生。这样的特性意味着模拟器必须有专门的同学、小组来负责,让其他队员专注于机器人开发和训练。

好消息是,相对造车而言,模拟器开发几乎没有资金需求。如果能够组织良好的协作,安排一个小组对接模拟器的开发工作对大多数战队来说并非难事。

模拟器的用途

与机器人开发中可能用到的软、硬件仿真不同,模拟器主要用于以视觉方式呈现赛场,协助参赛队员在没有完整场地!111的情况下提前适应比赛氛围,把握比赛节奏。相对而言,模拟器不要求精确的物理模拟、尺寸匹配,系统的设计以视觉为主导。除了已有的战术模拟功能,模拟器还可能用于流程模拟。例如三分钟准备流程的训练等。

迭代的重要性

这里说到的迭代是指在同一赛季中,不同备赛阶段对模拟器特性需求的迭代。由于 RM 的比赛规则可能中途更新,场地会不断调整,随着队伍车辆的开发进程,车辆模型、功能也会不断更新。所以相对于一般软件开发,模拟器开发者必须对变化时刻做好准备。在设计软件架构时,也必须时刻记住这点。