Dual-motor tailsitters

Okay I’ve managed to get the control surfaces working correctly, both for hover and forward flight. My parameters are:

SERVO1_FUNCTION = 77
SERVO1_REVERSED = Reversed
SERVO2_FUNCTION = 78
SERVO2_REVERSED = Normal
SERVO3_FUNCTION = 73
SERVO3_REVERSED = Normal
SERVO4_FUNCTION = 74
SERVO4_REVERSED = Normal
SERVO5_FUNCTION = 75
SERVO5_REVERSED = Reversed
SERVO6_FUNCTION = 76
SERVO6_REVERSED = Reversed

RC1_REVERSED = Reversed
RC2_REVERSED = Reversed
RC3_REVERSED = Normal
RC4_REVERSED = Reversed
RC5_REVERSED = Reversed
RC6_REVERSED = Reversed

I’ve still got some random twitching of the tilts at in hover, but this is testing on a tether so hopefully this is due to the tether altering the path of the wing from where it might travel on its own. Proper test at a field coming soon hopefully. Any tips on how to turn logging on and how that works with checking data post?

hello Mark,
I have successfully edited the code and modified the magnitude of the throttle scaling. I tested it this morning and it works. I have appreciate the way you guided me, thank you a lot for that.
Some questions now:
1- how I can change the scaling with the lean angle. I saw in your code a constant 0.25f which may stand for the reduction of 4.
2- I am tempted to test your quad configuration, there are top and bottom motor. Are they declared 89 and 90 ?
regards
pierre

@losawing I’m glad to hear that you’re able to make your own changes to the code now, and that I was of some help to you.

I just rebased my stryker_quad branch, since master has had a lot of commits lately… Looks like there were no conflicts though, so I’m commenting on the current PR with my changes to add hover throttle learning and “gain scheduling” based on roll/pitch angles:

There is a “magic_attenuation” number of 0.5 in my code here: https://github.com/ArduPilot/ardupilot/pull/8113/files#diff-95aa20faacc038dd68995d78c3c3766fR223

+        if (pitch > tailsitter.transition_angle) {
+            scaling = constrain_float(magic_attenuation * (float)(tailsitter.transition_angle) / pitch, 0.25f, 1.0f);
+        }

So when the pitch angle magnitude exceeds tailsitter.transition_angle, the scaling value abruptly changes to 0.5 times (transition_angle / pitch). The value of scaling is constrained by the call to constrain_float() to be in the range [0.25, 1], so it will start at 0.5 and decrease linearly to a minimum of 0.25 when pitch is twice the transition_angle (and scaling=0.5 * (transition_angle/pitch) = 0.5 * 0.5).

–Mark

Bzucak, i’ve been working with that three motor configuration for a while now. Good idea, I think. I use two relatively small lifters on the wings (FX-61 derivative) vectored in pitch, folding props, with total thrust equal to about the weight of the aircraft. They give me roll, pitch and yaw in hover mode. The third motor, pusher, has about thrust equal to the weight of entire aircraft also, so together they will easily lift the airframe, with power to spare.
I’m new to arduplane, so am trying to learn as much as I can before I risk the hardware.
But I know the Idea works-I used a KK2.1.5 board with OAVTOL V1.5, and it hovered pretty well. I set the two vectored lift motors at about 70% power for hover, and made a mix that throttled all three for hover, so the third motor loafed in hover. OAVTOL makes transition % easily controllable from a knob or slider, but the board can’t use baro or gps data, so transition and hover can really get hairy.:scream: So I’m here.

Seems to have all three motors in the front of the airframe would make for big CG problems. What is your airframe? Wing?
I’m not happy with the idea of bypassing the Pixhawk and controlling the third (pusher, for me) motor directly- I moved to pixhawk/arduplane to take advantage of the smart controller available with this combination. Still very much learning mode for me .

@losawing Sorry, I just realized I didn’t answer your second question…
The new motor functions are declared in SRV_Channel.h:
k_throttleTop = 89,
k_throttleBot = 90,

regards,
Mark

thank you, so I am going to add 2 more motors to my test wing and post a video as soon as possible.
regards,
Pierre

Do I understand that you are considering a separate lift and thrust TVBS? Makes a lot of sense to have very efficient forward flight motor (pusher) and two vectored motors for lift with folding props. Easier than variable pitch on the tilt rotors.

Helloo

Good news, my plane is able to raise on the ground! :slight_smile: But that is where good news end.
I can’t gen stabilize it, some throttle lag (Pushing throttle up, nothing happens - But in 5-6 second it will happens, even if that point i’m not pushing throttle up. some extremely lag?)

I can add here my log file 2 diffrent one. Mayby someone can check and see what parameter is very out of range to be stabilized fixed plane.

  1. log file (Regular flight). I just try to stabilize in Qhover mode. My friend holds form edge a little bit to not wreck the plane if it falls, but there are no chance it could fly alone. Sometimes it hover, but like 2-3 sec, then it falls or start doing weird moves.
    Logfile Regular Flight: https://www.upload.ee/files/8428844/00000060.BIN.html

  2. I turned of my ailerons, i only tried to throttle and engines. I wanted that plane stabilizes itself if i push it a little bit down, or play with it. So i used only one axis. My friend holds up that plane with a stick which is pushed through middle of plane. Like plan in stick :smiley: But still it sailises some kind, but still a not very well. I push down plane goes up with big range and then goes a little bit down and then up and so on, until yeah it stays stabilize. Also Throttle issue, if i m in centered throttle, everything is corect, when i push it in Hoover mode, it does start throtteling more about 5-6 second. But i dont know why it doesnt, start immideately. Maybe LOG file can tell what is problem.
    Only Throttle LOG file: https://expirebox.com/download/3df156296d987e57835c1ae0789bcdd9.html

Also one question more, my plane, is it X or + frame?

My modificated plane:
image

image

Regards
TopGun17

Difficult to say what is wrong. Do you have a GPS connected to the pixhawk? I can not find data from the gps in your log. Arduplane need gps 3D fix to work and there is no chance to get the 3D fix indoor.
A strict compass calibration is also very important.
x or + is not a tailsitter parameter.

1 Like

But what is Tailsitter parameter, FRAME_TYPE?, right now i use X frame

And no, i dont have GPS. So if i dont have GPS, i cannot fly as a tailsitter?

Regards

q_frame_type is applicable to quadplane but not to tailsitter and this is not the only one.
Yes you need a gps to fly your tailsitter. Extract from arduplane website: The QuadPlane code requires GPS lock for proper operation. This is inherited from the plane code, which disables inertial estimation of attitude and position if GPS lock is not available. Do not try to fly a QuadPlane indoors. It will not fly well

1 Like

Sure? I flew mine indoors without any problems…

But what option i choose in code? Some frame i have to choose? Plus?

Also i have already tried my plane, ofcourse not inside but like i described it is unstable, cant hover very well and someone have to hold it when soing test, otherwise it would definately fell someway…
But if i use GPS does it make better stabilization? I’m afraid gps doesnt fix my stabilization huge errors.

Thanks :slight_smile:

Regards

http://ardupilot.org/plane/docs/quadplane-parameters.html
it is written, the quadplane will not fly well. So, It means it will fly…
According to my experience when I make some tests indoor while holding the wing manually elevon and tilt motor behavior is weird but I never tried to fly without gps 3d fix.

http://ardupilot.org/plane/docs/common-apm-navigation-extended-kalman-filter-overview.html
no gps means no EKF, just DCM. Dont ask me how the tailsitter will fly with just DCM, I dont know.

regarding Q_frame _type, I have 1 in my parameters but I think you can set any value.

1 Like

Intresting, so i use random value, i choose x frame. Funny that it doesnt matter what frame i choose :smiley:

But one question about plane physics.
Do you think my ailerons are too long? Maybe if i cut them smaller i get better stability?

Picture is post 1075

Regards

there are at least 50% chance your bad stability is due to gps lack. You may pay attention to the warning: disables inertial estimation of attitude and position if GPS lock is not available. For me it means that accelerometers are no longer used to stabilize the aircraft. This is much more than a longitude and latitude question.
Matching the length of elevon to the propeller diameter may help to increase the descent rate but this is not the cause of unstability.
Ardupilot is complicate and need some learning curve. For me it represents 2 or 3 years of continuous tests. This is normal to get problems and the goal is to overcome them.

Hello!

Did put GPS on today, Here GNSS and took some time to adjust to get green led to work :slight_smile:
But still, it Didn’t stabilize itself in the air, still need to hold the plane, otherwise it will fell.

It ended a little crash also, but i can build up my plane again. But i’m out of ideas. I really dont know what to do anymore

I put along my log files, mayby someone can look up and give some informations

https://www.upload.ee/files/8437173/testflights.7z.html

Regards

Sorry that your aircraft did not stabilize.
I run auto analysis of your log, 71 and 72 are OK.
I also had a look at XKF3, it gives important information about the EKF health according to
http://ardupilot.org/dev/docs/extended-kalman-filter.html
Data from 71 are very different from what I used to see and very different from the wiki, I am lost…
I would suggest the following
Mandatory calibrations are very important, specially the compass calibration, try to make it again. When you make the onboard compass calibration, how many mag do you see ? Because if you have a wiring problem with your external compass you will only see the internal.
In mission planner HUD there is an EKF icon. click on it and it pop up some gauges. Look at them while flying, if nothing turn red your calibrations are probably OK and it that case I would say your problem is more hardware orientated. We will see next time.
Do you have arming check enable ? It it not easy to read parameters from the log as parameters are somewhere within the first 1000 lines.

1 Like

One interesting question more.
When i am in Qhover mode my throttel is 50%, evrything is goog. But when i push my throttle stick up, itt akes 4-5 seconds when my plane gets more throttle ? Why is there dealy, and can i chane it i dont know like 0,5 seconds?

Regards