Flight-data-based high-fidelity system identification of DJI M600 Pro hexacopter
Research and industrial application can require custom high-level controllers for industrial drones. Thus, this paper presents the high-fidelity dynamic and control model identification of the DJI M600 Pro hexacopter. This is a widely used multicopter in the research and industrial community due to its high payload capability and reliability. To support these communities, the focus of control model identification was on the exploration and implementation of DJI Onboard Software Development Kit (OSDK) functionalities, also including some unconventional special modes. Thus, the resulting model can be controlled with the same OSDK functionalities as the real drone, making control development and application time effective. First, the hardware and software structure of the additional DJI M600 onboard system are introduced. Then, the postulated dynamic and control system models are shown. Next, real flight test campaigns generating data for system identification are presented. Then, the mass and inertial properties are estimated for TB47S and TB48S battery sets and the custom Forerunner UAV payload. Dynamic system model identification includes the aerodynamic effects and considers hover, vertical, and horizontal forces together with static horizontal wind components and finally the rotational moments and dynamics. The control system components were identified following the structure of OSDK, including vertical, horizontal, and yaw loops. After identification, the model was validated and refined based on an unused flight test and software-in-the-loop simulation data. The simulation is provided by DJI and was also compared to real flight results. This comparison showed that the DJI simulation covers the dynamics of the real drone well, but it requires being connected to the drone and needs the controllers onboard to be implemented in advance, which limits applicability and increases development time. This was another motivation to introduce a standalone simulation in Matlab Simulink, which covers all the important modes of OSDK control and can be run solely in Matlab without any hardware support. The constructed model will be published for the benefit of the research and industrial community.