Q&A
Q: 什么是Bubble?为什么要开发Bubble?
A:Bubble是一个为RMU打造基于ROS2的视觉算法软件栈。 Bubble的前身是 BTP_DM,随着RMU赛场需要的机器人系统日趋庞大和复杂,在维护BTP_DM的过程中,我们发现了很多问题。Bubble希望在RMU背景下,构建统一的算法系统,满足不断变换RMU需求。 当我们计划重构BTP_DM时,我们惊喜的发现ROS2生态相比前几年有了长足的进步,ROS通过功能包将机器人系统模块化的设计也与设计初期的设计思想不谋而合。同时ROS也提供了一系列丰富的工具,进行机器人调试。 在评估系统整体工作量后,我们将BTP_DM做了整体迁移,将原有的项目拆解成了不同的功能包,并将该系统应用到了RMUC2022中。
Q: 当前版本的Bubble实现了那些功能?稳定性如何?
A:当前版本的Bubble除了系统整体的设计外,针对的RMU实现了机器人自动瞄准、极大大小能量机关等功能。此外,针对RMUA我们进行了一些尝试,对机器人进行SLMA相关的任务。 但这部分内容目前还存在着许多问题,故没有放入当前版本的Bubble中,我们后续会对其中出现的问题进行修复。
Bubble被我们实际应用在了RMUC2022东部分区赛中,从系统的整体表现来看,Bubble能够满足BMU比赛的需要。但受到多方面的影响,我们还没有针对系统的稳定性进行专门的测试,当前版本的Bubble也确实存在着很多稳定性问题, 我们会在后续的版本中逐步修复。
Q: 注意到了项目中通讯协议的部分,为什么不直接使用官方通讯协议?
A:官方的比赛数据等信息通过裁判系统发送至MCU,当上位机需要得到这部分信息时,MCU可以直接对系统信息转发或处理后发送。 在参与RMU前,我们基于匿名飞控进行了许多有意思的尝试,MCU与上位机间的数据通讯主要采用匿名通讯协议进行。 在接触RMU初期,我们理所当然对匿名通讯协议进行了修改,增添了RMU比赛的关键数据帧。 与官方的通讯协议相比,目前项目使用的通讯协议时间复杂度相对较低,在代码中进行了一定的封装,能够较为便捷地使用。
Q: 我可以参与Bubble的开发吗?后续版本的Bubble会实现那些功能?
A:我们非常欢迎RMU参赛队伍在满足相关许可证的前提下,参与Bubble项目的开发,我们在这里列举了一些我们对项目治理的初步想法。在后续版本的Bubble中,我们会逐步提升系统的稳定性,并针对RMU变换的比赛规则, 逐步添加Bubble中的功能模块,使其能够能好的满足RoboMaster赛场的需求。