当时,多个机器人的用例很少,这些机器人的 3D 模拟是不可能的。因此,我为虚幻锦标赛 2000-2004 年的游戏引擎编写了一个 mod ,以实现四个机器人的模拟。我们由四名程序员组成的小团队花了大约 3 年的时间来开发一个可以可靠运行 15 分钟的模拟环境。
图 1 。四个机器人的模拟(左)和机器人的视频(右)
该环境能够在五台最先进的台式机上模拟四个带有摄像头、 Hokuyo LiDAR 、里程计和地图的机器人,并远程接收每个机器人的视频馈送。我们的一位工程师编写了一个 C ++ TCP 客户端,该客户端将直接从游戏引擎在本地网络上传输数据,并以全屏方式显示。我们必须严格运行代码,以使机器人按时在正确的地方产卵。
图 4 。 Nimbus 机器人编辑器(左)和 Nimbus 配置编辑器(右)
然后我们创建了如图 5 所示的节点配置。
我和我的团队都被这种方法带来的无尽可能性惊呆了。在上述配置中,模拟的感觉数据通过支持 ROS 和 ROS 2 的 ROS gateway 从 Isaac Sim 到达。视图和控制功能由 Nimbus 启用。
开箱即用,这种设置使我们的团队能够执行基本的模拟任务,并在实验室本地模拟机器人车队的控制,以及更多的功能。我们现在可以记录机器人的模拟运行和感官数据,远程 SSH 到模拟机中,全局监控模拟数据,甚至可以通过网络浏览器向我们的验证团队发送有关模拟进度的电子邮件和短信通知。
将 Isaac Sim 与 Nimbus 相结合,形成了一个统一的系统,该系统在功能上与可用的云模拟产品相似,但在本地机器上运行,不涉及额外的云模拟计算成本。此外,它还开辟了新的尖端模拟流程,例如硬件在环的模拟。当模拟在云中运行时,这是不可能的。图 6 显示了 Nimbus 中的控制、导航和映射的外观。
图 6 。 Nimbus 机器人 WebRTC 视频监控(左)和 Nimbus 地图视图和自主控制(右)
将机器人代理安装在 Isaac Sim 无头运行的同一桌面上后,您将能够通过远程 SSH 提供模拟,并从 Nimbus 网站监控模拟机。
访问 Nimbus 集线器以部署 Isaac Sim 配置。由于所有东西都已经被容器化了(包括 Isaac Sim ),并且控制是基于浏览器的,所以您不需要安装任何应用程序。机器上的代理将设置执行所需的一切。
对于自主机器人的成功部署,仿真是关键。多次运行同一场景对测试至关重要,但多机器人模拟不同。开发高保真多机器人模拟环境很复杂,需要时间,但可以使用 NVIDIA Isaac Sim 和 Nimbus 进行简化,如本文所述。