Is Ardupilot limited to the predefined supported vehicles?


I’m working on several VTOL projects and had quite some success with the KK 2.1.5. But now I want to try some more modern solution: Matek with Ardupilot.

But my main concern: it seems from the documentation that Ardupilot ‘limits’ me to a set of predefined configurations:
There are a lot of options, but still, it’s limited.
With a KK 2.1.5, I’m very flexible, since I can assign any control or gyro, to any servo/motor output port. So I can build any configuration I want. Is the same also possible with Ardupilot?

Example: I want to build a copter that looks a little bit as quadcopter plus (+) config. BUT…
The motors left en right will be much smaller than the motor front and back (since I only need them to help roll stabilisation during hover).
Also, I want the front motor to be able to tilt left/right, for yaw.

Can this be built with Ardupilot? Do I have this flexibility?

Thanks in advance!


no it is not.

long answer:
It is not as comfortable for special designs like openaerovtol, but it is worth the work!!!

If you can’t use any predefined ones, you can do two things:

Use a LUA script to change the motor assignments.

Or change the C code.
If you do only small changes like position of the motors or how strong they are working, this is easy.
Basically you can assign pitch, roll and yaw to each motor.

1 Like

Thanks for your help! I think I can achieve what I want by converting for example the AP_MotorsTri.cpp. This already has the yaw function via a servo, so I just have to add an extra motor.

So maybe some changes from the original:

_thrust_right = roll_thrust * -0.5f + pitch_thrust * 0.5f;
_thrust_left = roll_thrust * 0.5f + pitch_thrust * 0.5f;
_thrust_rear = pitch_thrust * -0.5f;

I could change that in:
_thrust_right = roll_thrust * -0.5f;
_thrust_left = roll_thrust * 0.5f;
_thrust_rear = pitch_thrust * -0.5f;
_thrust_front = pitch_thrust * 0.5f;

Plus a few other changes of course. Ok, I think I will get there, eventually :slight_smile:

1 Like