本系列博客将开源近两年结合Unity和多旋翼无人机的相关工作,涵盖仿真、建模、全局云端通信网络、本地局部通信网络、ROS+Unity、VR等方面内容。该工作完整构建以虚控实,沉浸式VR交互,全局监控,群体控制等一体化平台,如今完全开源,旨在提供一个可实际应用且适合机器人开发的数字孪生框架。整个平台是以四旋翼无人机为研究对象,开源PX4为控制器,Ubuntu系统为上层控制器。
部分代码已经开源在:https://github.com/DTUAV,具体的使用教程见本系列博客,后续代码将不断更新,预计该平台将维护到v3.0。部分视频见实验室B站。
下面是本平台的两张基本框架图:
图1:基于Unity的仿真平台框架
图2:多旋翼无人机数字孪生平台
虚拟仿真在机器人开发中是及其重要的。而本平台专注是在线的虚实结合,我们希望无人机在虚拟世界和物理世界中同步运动并且在虚拟世界中,数字化的虚拟无人机能够给物理无人机提供运行指导。利用实时的物理传感器数据,虚拟端能够在线构建物理环境模型并通过快速的迭代仿真,验证和优化所设计的方案。如何更好地利用虚拟仿真是我们关注的问题,而在这里我们首先提供一个可虚实在线并可监控的平台。
(所有系列将在七月底前完成)
3. 传感器
Gazebo+Unity
F450
本人是控制专业出身,所实现平台的相关代码具有很大的优化空间,目标在于提供一个可应用框架。自2018年入门ROS系统,研究过Gazebo仿真器的底层代码,跑过超10架无人机的Gazebo集群仿真。在多年开源社区的推动下,Gazebo的功能很完善,但是其对使用者的要求比较高,特别是模型文件配置,插件等。在2019年接触Unity后,我萌生打造自己仿真平台的想法,希望实现自己想怎么样做仿真就能怎么样做仿真。2019年9月至2020年9月,通过大量阅读Unity相关的书籍,零基础起步,从无人机三维模型、动力学模型、控制器等方面一步一步构建,充分利用Unity提供的各种组件,开发基于Unity的多旋翼无人机仿真平台。2020年9月后,尝试将物理无人机和仿真连接起来,实现虚实同步。由于无人机是三维运动并且运动范围大,单纯的wifi网络时难以满足要求,所以引入4G/5G 网络。2021年后尝试引入上层服务端,做远程控制、VR交互的探索。现在尝试通过虚实结合实现强化学习在四旋翼无人机的落地应用。这部分仍在探索,这部分工程暂时不开源。本平台部分基础的代码借鉴社区各位博主的分享,如今全部回馈社区。如果有好的改进,欢迎共享代码到仓库。