Reverse Tricopter-VTOL Plane

After repair of the servomechanics we wanted to complete the first hoverfly in qstabilize today.

Unfortunately, the pitch regulation goes in the wrong direction. The aircraft would therefore jump over immediately after taking off. AHRS_ORIENTATION is 0, Pixhawk shows forward, Q_FRAME_TYPE is 6, Q_FRAME_CLASS is 7. PIDs are positiv. (Roll is okay).

Here is the full parameterlist:
mozart2.param (20.8 KB)

Rolf

1 Like

hum, thats strange, do you have a log?

Yes, just tried again due to the rainy weather indoor :
https://www.magentacloud.de/lnk/Evginj7b

I turned the plane by hand alternately forward and backward or to the sides.
Roll works properly, Nick stops the front engine when the nose is down (instead up)

Motor 1 (rear right) Servo9_Function=33
Motor 2 (rear left Servo10_Function=34
Motor 4 (Front) SERVO11_FUNCTION=36

not sure whats going on, the log also shows its backwards. I guess you rebooted after setting the frame class and type params?

I’m 95% sure I tested this and it worked fine in SITL Maybe you could also try in Qacro? although i doubt that will make any difference. I will double check its all working in SITL.

edit: although i tested on copter rather than plane, maybe there is a initialisation difference or something

Peter, thanks for looking over it.

Of course.

I just wanted to do that, but where and how to choose qacro?

i think its in the latest mission planner, otherwise its mode 23, you can assign it to one of the FLTMODE 's for you mode switch.

not sure what to suggest, its working perfectly for me on both copter and plane.

I tested using some of your Q_ params too, the tilt rotor stuff does not seem to make any difference.

I think I would suggest setting up as a normal tricopter first, check that that works. To do this you can change your AHRS rotation to 4 for yaw 180 and swap M1 and M2. (and set your Q_FRAME_TYPE to zero). You could even do this on the stable release to make sure there is nothing odd in my code.

That should fly, then flash back to the new code and changing to Q_FRAME_TYPE 6 should cause it not to fly because of reversed pitch. (but check it does fly before you change it).

Hi Peter,

With your code an flghtmode=23, the control for the front engine is also incorrect.

The motor control works fine with the settings for a “normal” Tricopter VTOL
(Q_FRAME_CLASS = 7 for Tri, Q_FRAME_TYPE = 1 for x) and AHRS_ORIENTATION = 4 ( because the the single motor is in the tail.)
It works both with normal AP 3.9.8 stable and after flashing back to the new code.

But as soon as AHRS_ORIENTATION = 0, Q_FRAME_CLASS = 7 for Tri, Q_FRAME_TYPE = 6 for invers tri, the regulation for motor 4 (front engine) is wrong again. Roll is always ok.

Rolf

you should also have to swap the left and right motors?

I’m stumped, Do you have a log of the new code as a normal tricopter and as a reversed tricopter?

Is it enough if I systematically record log/tlog files with the new code
a) as normal tricopter (AHRS_ORIENTATION 4, Q_FRAME_TYPE 1)
b) and reverse tricopter (AHRS_ORIENTATION 0, Q_FRAME_TYPE 6)
both during pitchup / down motion by hand ?

If you want, I do the whole thing for the roll axis also, but the roll axis motor regulation works in all cases…

I could do it tomorrow.

great, did you also have to swap the roll motors when changing the orientation? otherwise I suspect that is your issue.

Of course, what was right before, is left. (We changed the direction of travel like a tram) :wink:

Pitch regulation is the problem:
Regarding roll, the power control of the rear engines works well, regarding pitch, the power control has the same malfunction as the front motor (speed increase if it should decrease and vice versa)

Though I better check :wink: ,

as I say i’m pretty stumped, maybe you could reset to defaults and setup the minimum required to try the tricopter, ie set Q_enable and the there motor outputs and the tilt

Without vectored yaw and without dshot: it comes out the same malfunction.
Do you have your parameters ? - then I will try these.
Or could it be an error while compiling? flash a new compiled code ?

Rolf

These a my Quad plane SITL params, for comparison Revrse Tricopter SITL.param (22.4 KB)

I did rebase on master before testing, don’t think it will make any difference tho. This is updated master + the fix for plane, and also copter. You could try copter i guess. As I say its working fine for me, not much more I can think of to try. arduplane.apj (916.0 KB) arducopter.apj (903.3 KB)

Hi Peter

no idea what the error was, but it seems to work:

I have further tested with your origin code. The Motor ESCs changed to the outputs 1,2,3 (previously 9,10,11) did not solve the problem.
Then, regardless of the simulator version, I have just completely loaded your parameters. You won’t believe it, the pitch control works properly. Also with AHRS_ORIENTATION = 0, AHRS_TYPE = 2. (It was 10 , i suppose because it’s SITL).

odd, glad that its working, Yeah AHRS_TYPE 10 is SITL. I guess flash your parameters back and see if one of them causes the issue.

All parameters simply played back again - and roll and pitch induced power control of the motors are correct ! Unfortunately it is raining at the moment. Hover test maybe not until next weekend.

Thanks for your patience and help Peter.

The Roll/Nick test in QStabilize with running propellers (with a second person holding the aircraft near the CG) was also successful. Now we hope to have good weather at the weekend.

1 Like

To our despair, pitch doesn’t work.
If you do not pay attention, the plane rolls over immediately.

Roll axis corrects correctly, pitch again in opposite directions:


Logfile and parameter: https://www.magentacloud.de/share/c4-k8nm-76
Rolf