MavSDK Android


I am currently trying to build an Android application that works like a rwmote control with two joysticks. I am a bit confused about the setup I need. What are the following parts for and which one of them do I need:

The goal is to have an application that can reolace the remote control.

Thanks in advance.

You are working with a PX4 flight controller right ?

You run MAVSDK-Java on Android.

MAVSDK-Server is the link between MAVSDK-Java and PX4. It can run on your Android device as well, on a companion computer or somewhere else. You just need to properly specify the IP address / port.

With MAVSDK-Java, you can use Offboard command such as actuator control to send the value you are reading on your joystick (link is C++ but you should find equivalent in Java).

No need of MavRouter / MavProxy with your described use case IMO.

A good reading here

1 Like

A good follow up from the comment above, is to mention that if you are hoping to also use QGC, then you need the mavlink-router in between the PX4 Autopilot and MAVSDK+QGC

So if I use a a ground control (e.g. Mission Planner) and the app, what setup do I need?

App sends to the MAVSDK-Server and then the Mavlink-Router and then the flight controller (we are using the following one: omnibus f4 pro)

You connect your autopilot directly to the mavlink-router, and then your app, and any other mavlink resource directly to the mavlink-router.

Check-out the project README for more instructions