DJI Matrice 100 is a programmable flying platform through DJI SDK. Its back-end is closed source and might not be the best option out there for those who want to delve into the software for custom/low level controller behavior. Given that there is a level of closedness, DJI does not close its doors to open-source community and thus exposes a ROS Interface using ROS services & topics as wrappers on top of DJI-SDK front-end.
The nice thing about integrating a robot into ROS landspace is the usability of any existing simulation/debugging/prototyping tool thereafter, which hugely facilitates prototyping and testing phases in a robotics development pipeline. This stack is developed specifically for Gazebo with two modes: HITL and SITL. As a side note: In other domains, they are generally mentioned as HIL and SIL; but since Dronecode used HITL and SITL explicitly in their documentation , a minor parlance change originated in the Robotics software (or let’s say ROS) community. The main difference between HITL and SITL is obvious. In the former the real hardware with all or some subset of its sensors and actuators is the medium for the software/application (some stick with the term firmware due to historical reasons); whereas, in the latter only the software/application is ran on a nominal hardware unit simulated in a computer.
Above main points possess a great deal of strength on its own already, which drastically (and really) eliminates the necessity on carrying out on-site tests in the early development stages. DJI provides DJI Assistant, but it is a toy software when developing such industrial products and can’t be used for testing. Another hugely useful feature that this stack doesn’t provide now, but natively extensible, is the introduction of a Continuous Integration pipeline with unit and integration tests.(See this.)
As being a fully-featured multi-robot dynamics engine, integrating a robot into Gazebo, which the scope of this work exemplifies, opens the way for quality and competent robotics software. You may reach out to me through the mail given in Contact section, if you are interested in integrating ROS and Gazebo to your robot.