My colleague @Walter and me plan to build a new class of tricopter VTOL (as successor to our VTOL “Mozart”): This new Tricopter-Tiltrotor VTOL should have only one front motor but two rear motors.
What for? We expect efficiency advantages over the conventional tricopter tiltrotor, because for forward flight you need only one engine, the rear propulsion system could be optimized for hovering and carry the main weight.
To avoid complex mechanics by simultaneously tilting the front motor around the transverse and longitudinal axis, the front motor can be tilted 90 ° as usual, the rear motors can be tilted for about 15° forwards or backwards for vectored YAW control.
DraftS:
Unfortunately, there is no way to parameterize such a VTOL with Q_FRAME_CLASS 7. So my question to the developers, especially to @tridge, What do you think about that concept ?
The idea was born from the actually amazing efficiency of Quadplanes. In Q-Planes, four motors increase drag in forward flight - but this disadvantage is more than compensated by the possibility to optimize the four motors/props for hover and the forward propulsion system for the intended cruising speed. We therefore expect a somewhat better efficiency from a “reverse” in comparison to a conventional tricopter tiltrotor.
you might be able to get it to work as it is, would be a bit of a bodge tho. I think negative pitch PID gains would make a ‘revese tricopter’ work and you might be able to get the the tilt working with the tilt output, however I think you would need a new class to get only yaw with the rear tilts and use the front for transition.
Great idea,
we will first look how the plane will behave as a copter. The wiring is done/planned as follows:
Motor 1 output with rear Motor right (instead of right frontmotor as usual)
Motor 2 output with rear motor left (instead of left frontmotor )
Motor 4 output with front motor (instead of the rear mtoor)
Q_TILT_MASK = 8 (only Motor 4 is tiltable)
Q_TILT_TYPE = 0 (no vectored for der Controler)
ServoXX_Function 41 to the front motor tilt servo
Motor 7 Output (usualy for yawservo) with both ±30° tiltservos of the rear motors.
Might even work right out of the box if your lucky, if I get a chance I will add a reverse tricopter mixer. With those settings I don’t think you will need anything custom on the tilt rotor side.
I think a new Q_FRAME_TYPE makes sense for this. I think we’ll also need some work in the ArduPlane/tiltrotor.cpp code, as we’d need to support vehicles where some motors only tilt by a small amount and others tilt a large amount.
I have done a PR for reversed tricopter, should make it into master before you need it hopfully, otherwise I can build it for you.
This just inverts the outputs of the PID’s so is the same as using negative PID’s but now you wont get the errors and you can autotune. You need to set Q_FRAME_TYPE to 6 for MOTOR_FRAME_TYPE_PLUSREV.
As soon as the ESCs will arrive, we want to perforn the first hover tests (still without wings. The wings still under construction are outlined in yellow) @iampete Peter, could you build us a binary for a pixhawk 1?
So we do not need to use negative PIDs and will set Q_FRAME_TYPE to 6 for MOTOR_FRAME_TYPE_PLUSREV
yep. I hope it doesn’t matter that it’s nominally a motor output because I switched the motor outputs to Dshot. If not, I have to switch the motorutputs to PWM.
For the first hover-tests we have vectored yaw enabled - with a little trick:
Our rear servo mechanics tilts the motors at PWM values between 1100µs and 1900µs by +/- 45°. The rear servos of course can not tilt the engine completely forward, but the software does not know. You simply have to set SERVOn_MIN down to a suitable “virtual” value, as in the following example:
Unfortunately, in one of the tests, a mechanical failure caused the front servo to break. Better on the ground than later in the air. It will take a few days until a new servo is installed.