I’ve been working on a setup that runs ArduRover SITL directly on an Android phone and uses the phone itself as part of the navigation hardware.
The current prototype is working with:
ArduRover SITL running locally on Android
Android GPS injected into ArduPilot through MAVLink GPS_INPUT
Phone accelerometer, gyroscope and magnetometer used through the SensAItion ExternalAHRS backend
QGroundControl running on the same Android device
Modified Andruav integration
MAVProxy routing MAVLink locally between the different applications
I published the complete working setup here:
GitHub:
Current release: v0.1-alpha
The goal is to make it useful as a generic Android-based ArduPilot Rover platform, not limited to one type of vehicle. It could potentially be adapted to wheeled, tracked, marine or other mobile robotic platforms.
I’m sharing it in case other ArduPilot users want to experiment with the same approach, reproduce it on another Android device, or build something on top of it.
Feedback, testing on other devices and contributions are welcome.