2022年的机器人操作系统ROS开发者大会最近在日本举行。作为一个干仿真的,我将带领观众朋友们看一下今年的开发者大会有什么关于仿真的新东西。
今天首先看一下来自Rapyuta Robotics的talk:Distributed Robotics Simulator with Unreal Engine。该团队核心的工作是开发了一个基于UE4引擎的ROS2 client library:rclUE。
据他们介绍,通过rclUE,ros2的节点node可以变成Unreal引擎中的基本对象单元之一Actor,从而实现对rostopic的publish/subscribe。同时,ros相关的内容可以通过Unreal强大的脚本工具blueprint直接操作。该团队还利用了UE游戏引擎的特性进行了ros下多agent的分布式仿真,能更加有效地利用计算资源。
利用游戏引擎如Unreal等进行仿真是机器人和自动驾驶领域的常用做法,看重的就是游戏引擎精良的视觉渲染能力以便模拟物理级传感器,还有此次Rapyuta Robotics提到的blueprint界面和天然支持多用户游戏的分布式仿真架构。因为大量算法基于ROS,游戏引擎与ROS的结合也有很多人在做尝试。如基于UE的自动驾驶仿真平台Carla也对ROS1/ROS2有支持。
图2是Rapyuta放出的仿真效果截图,看上去视觉效果还不错。图3是他们开源的ros经典的turtlebot实例的Unreal版。他们的开源成果可以在github上搜索rclUE和turtlebot3-UE找到。
rapyuta-robotics::turtlebot3-UE