Dual-motor tailsitters

Hi everyone!

Quick question regarding the max operating temperature of the pixhawk.
In normal flight use (Roughly 10 min) i’m seeing the temperature in my logs reach ~58.1C from a starting temperature of ~30-35. Should this be a concern or is this considered a normal operating temp?

PH1, yes -> get better cooling
PH2, no -> has intentionally heated IMU core

Hello All,

I have a small team who have developed and flown our first tail sitter. Right now, hover, forward flight, and both transitions are great and smooth. The only issue we’re running into is on our descent. When we descend quicker than approximately 2 m/s, the craft tips over and starts to nose dive. We have experimented with larger elevons, but this made our hover and forward flight very uncontrollable. So I believe that keeping the descent rate under the critical threshold is pretty much on the back of our pilot. We have tried to reduce the max allowable vertical speed (Q_VelZ_DN I believe) to 1 m/s, but this has not solved our issue. We have been able to successfully land while in Q_Stabilize, but it has only been a handful of times, so we are looking to make this more consistent. We have recently tried Q_Hover, which has been somewhat promising, but has not solved the issue either. If anyone has any suggestions on what to do, I would greatly appreciate it!

Can you post some pics?
Whats the span and weight?

Here’s a picture, without electronics of course. It has a 1m wingspan and weight 813g fully loaded with a 3s 1800mah battery.
Edit: We went out to fly it again this afternoon. I believe I was correct in saying that it was caused and solved by our pilot. We decided to descend 30 yards away from our launch site, and our pilot brought it down successfully in Q_Stabilize. With a better angle for his line of sight, he kept our descent rate under 2 m/s (confirmed in log).

Have got around to doing some maximum throttle scaling tests, a low value shows a significant improvment in flight at low throttle in my case. The oscillations are caused by the D value in the PID gain so there is quite a sharp change between oscillation and no oscillation. Hope fully this change will allow people to better tune for hover without being restricted by low throttle oscillations.

The only change is reduce the max scale value, this graph shows the difference.

Throttle%20scale3

I hope to add this value as a proper parameter rather than just hard-coding it and submit a PR.

I have done a pull request for the above fix,

2 Likes

I think some are happy. But:

What are the names of the new params?
And what the values recommended or to start with?
How to enable it?

Thanks, Otto

When descending are you descending straight down (i.e. through your prop wash) or are you flying forward/backward whilst descending?

If you are descending straight down, it might be worth trying an angled descent (flying forward or backward whilst descending). If this makes your a/c more stable then it suggests that your aircraft is struggling because of its own messy prop wash. If this is the case you can try using smaller rotor blades with a higher advance. It may help to improve the decent rate by increasing the disc loading and therefore increasing the induced velocity from the rotor. This will come at the cost of reduced hover efficiency though.

I have added two new parameters, which will if left as default have no effect.

The first is Q_TAILSIT_THSCMX this is the maximum throttle scaling value as shown above, the default is 5, this was previously hard coded. In order to tune it i would recommend tuning for hover. This however may result in some oscillation at low throttle due to the d term. The oscillation may be hard to see unless they are bad enough to shake the aircraft while on the ground as you very quickly pass through low throttle on take off. A suspension rig as i use above makes them clearer. Then you just reduce the Q_TAILSIT_THSCMX until the oscillations go away. Because they are D ossialitons there is quite a sharp change, for my aircraft I found 1.5 oscillation but 1.4 does not. I wound recommend staying above 1 or you will change the throttle scaling at hover.

The second parameter is Q_TAILSIT_TH_SC, if left at the default value of zero this has no effect. If it is changed it will over ride the hover throttle parameter used for throttle scaling.

the curve goes from (hover_throttle / throttle) to (Q_TAILSIT_TH_SC/ throttle).

This allows you to isolate the throttle scaling from the hover throttle parameter use for Q_hover and Q_lotter. For example if you enable hover learning currently this will change the curve, this is useful to compensate for voltage drop of battery, but if you drop a payload for example it will cause a change in response. So in order to override the Q_M_THST_HOVER value set the Q_TAILSIT_TH_SC to the same value. you can then tune up Q_M_THST_HOVER or enable auto learning.

Alternatively you can try changing the throttle curve directly for example you may want a stepper curve for more response at high throttle. This will however cause the hover point to no longer be at 1 you will there for need to scale back the PID’s for pitch and yaw accordingly. They should scale in accordance with the new hover point. ie if your new hover throttle point results in a scale of 0.5 instead of 1 you should be able to double you PID’s and get the same performance at hover (I have not tested this)

If it would be useful I can post a matlab script to visualize the effect of the parameters on a graph as i have done above.

2 Likes

Thanks for the precise description.
Otto

Thanks for this!

Is there any way we can testfly this right now? Is there a daily built that we can flash, or do wee need to wait till its merged to master? (I dont know how this all works…)

you can compile it from my fork:

otherwise i think you will have to wait for it to be merged for it to be in the daily’s

(Pete pls correct me if wrong)

Howto:

it seem to me that the way to compile the code is described in this link
http://ardupilot.org/dev/docs/building-px4-with-make.html

You first have to log in to github and download the github desktop, and only after you can clone the code to a folder on your computer (download does not work).
Once this is done, you can follow instructions of the link above.
Unfortunately I always have an error during the compiling process. Please, let me know if you have more success.

Yeah, that is the method i have been using, seems abit hit and miss sometimes.

I have just finished another PR:

I can compile some firmware with both fixes if you like, I only have the last stable with both fixes on, or you can have the master with one or the other. I have been unable to compile the master for pixhawk 1 for some reason though.

sorry I dont understand your last sentence. Does it means you can compile the master with a fix provided this is for another controller than the pixhawk 1. I have a pixhawk 1 and I am interested by the fix about the pid scaling. Because,as I already said, as soon as the wing produce some lift the throttle is reduce and as a matter of fact servos begin to oscillate.

Yes, I think so although I have only tried for a Pixhawk 2. When I try and compile for Pixhawk 1 i get a maximum firmware size error, must be something to do with making on windows i think, because it compiles for all on the github checks. I can compile you the latest stable + the fix for pixhawk 1 if that is any good?

Maybe the compilation problem has something to do with the 1mB flash memory bug the pixhawk 1 has. It makes sense if the code size is already close to the limit.
Yes and thank you to compile the latest + the PID throttle fix.

I made some progress.
I have cloned again master and I succeed to compile arduplane using ‘make px4-v3’ command, so for pixhawk 2. But the command ‘make px4-v2’ give again and again an error (so unable to compile for pixhawk 1). This test was done one master so, I think, without your fix.
My supposition is that there is a bug somewhere probably with the code size.