A lightweight Java-based multirotor simulator supporting MAVLink for drone autopilot development and testing.
jMAVSim is a Java-based multirotor simulator that supports the MAVLink protocol for simulating drone flight and autopilot behavior. It provides a 3D visualization environment where developers can test flight controllers, simulate sensor data, and interact with ground control stations without needing physical hardware.
Drone developers, researchers, and hobbyists working with PX4 or other MAVLink-compatible autopilots who need a lightweight simulator for testing and development.
jMAVSim offers a simple, extensible, and platform-independent simulation tool that integrates seamlessly with existing MAVLink ecosystems, making it ideal for rapid prototyping and validation of drone software.
Simple multirotor simulator with MAVLink protocol support
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Direct support for the MAVLink protocol enables seamless communication with autopilots like PX4 and ground control stations such as QGroundControl, facilitating realistic drone testing and development.
Supports importing custom 3D models in .obj format and defining new vehicle types, making it adaptable for various multirotor configurations without extensive recompilation.
Can simulate sensor data and replay logs from real flights, which is useful for debugging and validating autopilot behavior without needing physical hardware.
Allows customization of MAVLink protocols via XML definitions and integration of custom dynamics, providing flexibility for advanced development and testing scenarios.
Relies on Java3D, which has a history of discontinuation and revival, leading to potential compatibility problems on different operating systems, as highlighted in the troubleshooting section with Mac OS errors.
Critical settings like serial port names are hardcoded in Simulator.java, requiring manual edits for different setups, which can be cumbersome and error-prone for frequent changes.
Primarily optimized for multirotors; simulating fixed-wing aircraft demands significant additional aerodynamics knowledge and customization, as admitted in the development notes, making it less versatile out-of-the-box.
Setup involves ant builds, submodule initialization, and specific command-line options, which can be less straightforward compared to modern simulators with simpler installers or package management.