关于RMAI计划的调整

发布于 20 天前  11 次阅读


原计划

深入了解ML-Agents源码,将Academy,Sensor,Actuator深入嵌入DOTS架构中。

融合ML-Agents和DOTS后完成RM的规则、仿真部分。

变故

已经阅读完Academy和Agent的源码,发现如果重构Sensor和Actuator,除非彻底的将ML-Agents重构,并不会更改workflow的流程,也不会有效率上的提高。

Academy管理ML-Agents的流程,Agent收集obs和提供act。阅读完Sensor的代码后尝试在IComponentData中实现Sensor的功能,突然意识到在DOTS中实现Sensor仅仅是再造一遍轮子,数据还是照常流入Agent,通过Academy传到python端。真正能提高效率的是物理的模拟,控制的仿真,并不应该在这部分花太多时间。

可以通过DOTS和Mono的数据传递实现同样的效果。可在DOTS端将需要的数据传入Agent中,然后执行Academy的Step,然后在DOTS中读Agent收集到的actions。就像在之前的3DBall重构项目中用的方法。这是最简单也是最高效的。

之前一直认为这样浅层的重构是丑陋。抛去这份偏见,以工程的角度考虑就是应该浅层的重构。

新计划

通过浅层的重构完成剩下ML-Agents提供的Examples。

提前开始RMAI。

null
最后更新于 2024-08-31