楼主

[开源汇总] 【RM2021-RMUC模拟器项目简介开源】华南理工大学 华南虎

[复制链接]
顾问huang825172
2021-8-17 14:48:03 只看该作者

马上注册,玩转Robomaster!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
  • 本次开源项目出自华南理工大学华南虎战队,作品仅用于技术交流,未经作者允许,不得作任何商业用途。
  • 转载需注明作品出处,对非法转载者,作者保留采用法律手段追究的权利。



        为了在疫情防控形势严峻、造车排期紧张的 2021 赛季备赛期间,给操作手们提供跑场、对战训练、战术分析的条件,弥补先前仿真系统联机功能相对较弱的缺口,华南虎战队开发了一套 RMUC 比赛模拟器软件。模拟器能够在单机或联机模式下运行,提供了较为完整的场地、赛制模拟功能,最多支持 15 人联机对战。经多次模拟赛验证,模拟器主要功能运行稳定,为战队赛前的场地熟悉、战术准备提供了帮助。我们将分享本赛季模拟器开发的经验总结和可用的模拟器软件,希望能够为各参赛队提供研发思路,拓宽竞技机器人赛场的技术广度,发现解决问题的全新视角。


功能概述

        模拟器系统分为服务端与客户端两部分,均打包为 Windows 平台应用程序。服务端用于在局域网或公网服务器部署,以 Headless 模式运行。客户端可在本地独立运行,可作为 Host 端运行,也可以连接服务器。模拟器的开发目标是实现规则手册中的所有赛制,目前已实现的功能有(部分赛制已变更):

  • 可操控角色:步兵、英雄、工程、飞手、云台手、裁判。
  • 裁判角色功能:AR 自由视角、查看第一视角、判罚。
  • 地面作战机器人功能:弹丸兑换、发射、经验与等级系统、自瞄、热量系统、小陀螺等。
  • 工程机器人功能:采矿、兑换、刷卡复活、固连救援、自动回血与复活、障碍块搬运等。
  • 哨兵机器人功能:自主运动、索敌、射击等。
  • 云台手、飞手功能:无人机运动、空中支援、自瞄、飞镖、第二屏幕等。
  • 其他:底盘与发射机构类型机制、增益点、能量机关、矿石、狙击点等更多规则。

        模拟器服务端软件可以在 1 核 2G 配置下流畅运行,具体部署方式参照组织手册。模拟器客户端软件会根据实际运行帧率调整画质水平,经测试在 i7-8550u + MX150 + 16G 配置下可以流畅运行。

(裁判 AR 视角)

(击打能量机关)

(矿石掉落)

(击打哨兵)

(云台手第二屏)

研发思路

        与仿真软件不同,模拟器主要用于以视觉方式呈现赛场,协助参赛队员在没有完整场地的情况下提前适应比赛氛围,把握比赛节奏。相对而言,模拟器不要求精确的物理模拟、尺寸匹配,系统的设计以视觉为主导。
        模拟器开发所使用的技术栈主要包括游戏引擎、网络同步方案、实时通讯方案等。可供选择的方案组合很多,具体的功能与利弊对比在完整的开源文档中有详细介绍。综合考虑开发效率、学习难度、软件稳定性等因素,我们最终选择了 Unity引擎 + Mirror网络库 技术栈。此外还使用了 WebSocket 等周边技术。
        模拟器的软件主要包括匹配系统和对战模拟系统两部分。匹配系统只参与联机游戏,其作用是为所有客户端分配角色,并保证所有客户端同步开始对战模拟。对战模拟系统是模拟器软件的核心,其包括所有赛制逻辑的实现、所有机器人的运动模型、各客户端间的网络同步、根据时间推进比赛进程等功能。
        为了还原真实的赛场,模拟器所使用的场地模型来自官方公布的文件,车辆模型来自机械组同学的 CAD 文件。为了压缩素材大小,优化软件性能和视觉效果,在将模型导入引擎之前,需要先对其进行简化、修补、材质划分。模型导入后,为了让车辆响应操作,需要为每种机器人设计不同的运动模型,并通过不断测试、调整,逐渐优化模型参数,使操作手感接近于真车。完成机器人手感调校后,就可以逐步加入裁判系统逻辑和网络同步功能。由于网络同步过程贯穿于所有逻辑中,在开发初期就应该对使用的网络框架进行了解,并基于此进行软件架构设计。在开发过程中,需要不断进行测试,测试内容包括单元测试、功能走查、压力测试等,尽早发现并修正逻辑上和网络同步上的问题。当主要功能开发完成后,可以渐进地组织模拟赛,除继续修复漏洞之外,将模拟器训练逐步结合到操作手日常训练中去。

(场地模型处理)

(DevLog)

(模拟器训练)

资料链接

        我们已经将模拟器开发过程中的经验和思考整理成文档,与模拟器软件一起开源。


        在总结文档中,我们详述了模拟器的各组成部分及其实现方式,并给予 2021 赛季模拟器进行了反思和展望。目前 RM 模拟器开发的参考资料非常少,希望我们能为这一领域的技术积累作出贡献。

后续开发

        在 2021 赛季模拟器开发过程中,我们还有很多设想未能实现,具体内容在 GitHub Wiki 文档中有所提及。由于这一版模拟器还有很多不完善的地方,而 RoboMaster 的赛制每年都不相同,我们希望能够在已有经验的基础上,继续推动新版模拟器的开发。
        模拟器开发是一项综合性很强的工作,要将它做得更好,除了需要在技术上不断突破,更离不开思维的交流碰撞。在此,我们诚邀各方有志之士一同进行新版模拟器的设计、研发工作。感兴趣的队伍可以扫描二维码进群。


总结展望

        研发 RM 模拟器,是一件十分有意思的事情。相对于造车,模拟器开发给队伍带来的压力很小;模拟器使用就像打游戏,同样不会给队员造成负担。线上模拟赛能够有效弥补造车进度紧张、校内缺乏场地造成的操作手训练空档,提升队员战术意识,让比赛对抗更加精彩。我们希望能通过分享模拟器开发经验,吸引更多队伍加入自研模拟器行列,期待大家精彩的技术分享!



跳转到指定楼层
推荐

[开源汇总] 【RM2021-RMUC模拟器项目简介开源】华南理工大学 华南虎

[复制链接]
顾问kinsky-金斯基
2021-8-17 16:21:47 只看该作者
太强了,业界标杆
推荐

[开源汇总] 【RM2021-RMUC模拟器项目简介开源】华南理工大学 华南虎

[复制链接]
英雄菜狗灰灰
2021-8-17 15:13:36 只看该作者
摸着虎虎过河!
回复 支持 7 反对 0

使用道具 举报

推荐

[开源汇总] 【RM2021-RMUC模拟器项目简介开源】华南理工大学 华南虎

[复制链接]
顾问huang825172
 楼主| 2021-8-30 10:50:43 只看该作者
RELL 发表于 2021-8-29 10:22
请问主机开启服务器过后,还是说服务器离线怎么解决,(或者有可能是服务器开启失败,能否推荐个教程) ...

服务器离线这个是在网页上看的吗?网页端后面几个版本没有跟进,接口可能有些问题,不用参考。
如果是连接不上服务器的话,可能是:
+ 程序弹窗问网络权限的时候,需要给公用、专用网络权限
+ 主机是本地PC,防火墙规则没有设置,需要增加 7 7 7 7 端口 udp,tcp 入站规则
+ 主机是云服务器,检查防火墙是否开启,如果开启的话同本地主机设置,阿里云的话防火墙默认是关闭的,直接在网页控制台设置安全组规则
+ 其他部署步骤请查看开源资料 Github Release 中的手册,再有问题可以加QQ群咨询或者直接戳群主
回复 支持 2 反对 0

使用道具 举报

推荐

[开源汇总] 【RM2021-RMUC模拟器项目简介开源】华南理工大学 华南虎

[复制链接]
正式队员Lin shuo
2021-8-29 21:42:13 只看该作者
小老虎确实牛逼啊
回复 支持 1 反对 0

使用道具 举报

6#

[开源汇总] 【RM2021-RMUC模拟器项目简介开源】华南理工大学 华南虎

[复制链接]
正式队员Mentos_Seetoo
2021-8-17 14:50:01 只看该作者
前排占位一楼!
7#

[开源汇总] 【RM2021-RMUC模拟器项目简介开源】华南理工大学 华南虎

[复制链接]
英雄小袁搜题
2021-8-17 14:53:14 只看该作者
二楼,捧场
回复

使用道具 举报

8#

[开源汇总] 【RM2021-RMUC模拟器项目简介开源】华南理工大学 华南虎

[复制链接]
正式队员Cristiano Jie
2021-8-17 15:00:27 来自手机 只看该作者
搬小板凳
回复

使用道具 举报

9#

[开源汇总] 【RM2021-RMUC模拟器项目简介开源】华南理工大学 华南虎

[复制链接]
顾问Hero-w
2021-8-17 15:08:23 只看该作者
终于来了
回复

使用道具 举报

10#

[开源汇总] 【RM2021-RMUC模拟器项目简介开源】华南理工大学 华南虎

[复制链接]
正式队员苏锌雨
2021-8-17 15:17:24 只看该作者
回复

使用道具 举报

11#

[开源汇总] 【RM2021-RMUC模拟器项目简介开源】华南理工大学 华南虎

[复制链接]
前哨站林河马
2021-8-17 15:18:22 只看该作者
本帖最后由 林河马 于 2021-10-8 16:18 编辑

首页帮顶
回复

使用道具 举报

12#

[开源汇总] 【RM2021-RMUC模拟器项目简介开源】华南理工大学 华南虎

[复制链接]
正式队员Deemo
2021-8-17 15:19:06 只看该作者
好耶好耶!
回复

使用道具 举报

13#

[开源汇总] 【RM2021-RMUC模拟器项目简介开源】华南理工大学 华南虎

[复制链接]
正式队员youhm1
2021-8-17 15:41:39 只看该作者
顶,模拟训练真的很重要
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

触屏版 | 电脑版

Copyright © 2024 RoboMasters 版权所有 备案号 粤ICP备2022092332号

快速回复 返回顶部 返回列表