DASA数字孪生机器人概念
我们在 虚幻引擎 (UE) 的帮助下在 DASA 中建立了数字孪生机器人概念。 UE 是 Epic Games 开发的 3D 计算机图形游戏引擎,广泛应用于视频游戏、电影和电视。我们在 DASA 中利用强大的 UE 功能来实现外观逼真的数字机器人,并允许与现实中的对应机器人进行实时同步。
软件构成
数字孪生机器人概念由几个组件组成,如上图所示:
- DASA 基础设施软件模块:DASA 软件提供机器人定位、通信和消息同步,如教程 Start Localization Process in Indoor DASA System 中所示。该软件位于 ~/DASA_space/catkinws_dasa。
- UE 引擎:UE 4.27 引擎安装在 DASA 桌面中,该桌面随我们的解决方案一起提供,位于 /home/dasa/src/UnrealEngine-4.27-plus 下,我们为 DASA 机器人创建带有插件的定制项目。
- Airsm ROS 包装器:Airsim ROS 包装器通过向 ROS 网络公开接口,实现与 UE 引擎中的数字机器人的交互。
设置步骤
- 机器人端
我们需要在机器人机载电脑端安装和编译最新的catkinws_dasa工作区软件,参考
启动过程章节,并设置好在局域网内同步的topic信息, 以下是 1 架无人机和 2 辆无人车的共享话题:
'/dasa/local_position/pose',
/uav1/dasa/local_position/pose', '/uav1/dasa/local_position/velocity',
'/rover2/dasa/local_position/pose', '/rover2/dasa/local_position/velocity',
'/rover3/dasa/local_position/pose', '/rover3/dasa/local_position/velocity'
- DASA 计算机配置
- 我们必须以与机器人端相同的方式安装和构建 catkinws_dasa 工作区。
- 我们需要配置位于文件 ~/Documents/Airsim/settings.json 中的 Airsim 插件。默认情况下,用户不需要更改该文件。请记住在进行任何修改之前备份它。
如何启动
- 机器人端
我们需要打开 DASA_SWARM 路由器,然后启动每个机器人。默认情况下,每个机器人将启动与 catkinws_dasa 工作区对应的节点并连接到 DASA_SWARM 网络。用户也可以参考教程 Start Localization Process in Indoor DASA System 了解详细信息。
- DASA 计算机配置
- 通过ping指令查看各机器人是否连接到本地局域网,例如:
ping uav1
ping rover2
ping rover3
# or ping their corresponding ip address directly
ping 192.168.0.101
ping 192.168.0.102
ping 192.168.0.103
如果ping有返回值,证明各机器人端已经联网,否则需要查看和排查网络连接情况。
- 启动~/DASA_space/catkinws_dasa/scripts目录下的run_gcs_visualization.sh脚本,之后通过rostopic 指令,我们可以看到所有机器人发布的位姿话题。
- 启动UE引擎,并运行城市沙盘项目,点击play按钮。
- 启动Airsim的ROS wrapper,之后可以尝试手动移动机器人查看UE引擎显示,正常情况下虚拟世界的机器人位姿和实际的是同步的
~/src/cloudkernel_proj/Airsim/ros
source devel/setup.bash;
roslaunch airsim_ros_pkgs airsim_node.launch;
关于我们
云讷科技(深圳)有限公司是一家机器人科技教育公司,我们提供下述产品和服务:
- 提供基于无人系统技术的教育产品和课程:包括无人机,无人车,无人飞车和人工智能教育;
- 提供部分行业核心解决方案,如无人机飞行控制器,无人驾驶软件方案等。
我们的主页是 https://cloudkernel.cn