Sphinx is a free simulation tool initially thought to cover the needs of Parrot engineers developing drone software. It provides a software-in-the-loop (SITL) simulation where the drone and its environment are completely virtualized.
The system is built on the open-source Gazebo multi-robot simulator to simulate the physical and virtual surroundings of the drone. The Parrot drone firmware is run in an isolated environment well separated from the host system.
Sphinx currently supports the following drones:
- Parrot Bebop
- Parrot Bebop2
- Parrot Disco
- Parrot Airborne
- Parrot Mambo
- Parrot Swing
Modify drone's behaviour and the physics of the environment at runtime
An important feature of Sphinx is the control of the behaviour of simulated drone's hardware/physical components like the drone sensors and physical phenomena such as atmospheric conditions or wind velocity.
For example, if you need to test your application with a drone that has no GPS signal, you just need to deactivate the GPS component for the desired duration.
Two interfaces are available to control the components:
- Web interface: The most convenient in case of manual tests
- Command line: More appropriate to automatize sequences
Connect to any kind of controller
You can connect a smartphone running FreeFlight Pro (Android/iOS) or FreeFlight Mini (Android/iOS), or a Parrot Skycontroller 2 to directly interact with the simulation environment.
Video sensor and streaming
For drones equipped with a camera, Sphinx may retransmit its flow, in streaming, to your smartphone's screen.
Visualize flight data in real-time via your Web browser
Sphinx offers several ways to observe flight data while (or after) a simulation is running. Depending on your needs, you can monitor the drone behaviour at runtime, or investigate a problem more thoroughly with post-mortem flight data.
Build your own scenes
Thanks to Gazebo, it is super easy to create a world by inserting simple shapes or objects from the model database either programmatically or through the GUI.
Gazebo also supports Digital Elevation Model (DEM) to simulate realistic terrains. Rescue or agriculture applications might be interested in testing their drone behaviours using a simulated terrain that matches the real world.
Sphinx can be started as a centralized server, with multiple clients running the same scene. This lets you have a powerful server that delivers the GPU power needed to simulate wide angle cameras in real-time to any user, anywhere.
For running Sphinx, you will need a 64-bit Linux distribution. See the documentation for a list of compatible Linux distributions.
Learn more about Sphinx in the User Manual.
For developement questions, feel free to ask the Parrot developer community.