Servers by jDrones

Overshooting Yaw by about 80% PID's don't seem to make any difference?

Sorry for double posting this is also in the ardupilot 3.5 section but I was recommended to try here also.

Vehicle: octo running arducopter latest build 3.5.3. frame 910mm 6kg without payload. I’ve just swapped over to a Pixhawk 2 FC and i’ve noticed a strange behavior with Yaw before and after tuning and auto tuning. The copter keeps spinning after yaw command by about 80% of the initial, so say if I input yaw till the copter completes a full 360 degrees stop input, the copter won’t stop yawing until another 270 degrees. i’ve adjusted PID’s and ran several autotunes but no real change. incresing the I value to 1/10th of P and beyond yealds no discernible change. I’ve attached a snapshot of my current PID’s above.

Hard for people to help without a log. Can you provide one?

Hi James,
Here’s a link to my bin file of the flight in which I autotuned yaw and test flying after.!AtWZQxEqLM0Hg8V6SowPnUxlhxTp9g
I’ve re calibrated my compasses as one user suggested. Yaw extremely sluggish PID’s don’t seem to change this.
And a screenshot of some values


I’m having a hard time downloading it (poor connection at my end). Would you be willing to give a go?

Sure James, nice resource.
Here it is

PID tuning again today. Manually achieved excellent roll and pitch results, still getting nowhere with yaw though.
Autotune repeatedly gives yaw values of
Both the values of P & I are beyond the limits defined in the parameter list, does this render them useless? the Copter is now loosing a lot of altitude with Yaw.

More discoveries,
Motors 3,4,5 and 6 (counter clockwise motors) are on average sent 150 higher signal than the clockwise motors…
My ATC_ACCEL_Y_MAX: Acceleration Max for Yaw value was very low (compared to the recommended value) mine was at 8021, pushing this up to 30,000 gave me a bit more response but the same overshoot was there. This time right yaw overshoot bounced back about 20% afterit had stopped yawing right. This was not happening when I yawed right though. (Not in log’s)

P.S. Cell average down to 3.5 at the end. copter found it very hard to slow decent hence hard landings. I think. Slightly underpowered I think

I still can’t get to the log file unfortunately. From your description and screen shots, a couple of things to check:

  1. is one of your booms a small amount off vertical (which would induce a yaw, and account for the CW/CCW differential).
  2. Rate Yaw gains in the screenshot are REALLY high, which would explain the overshoot. Divide P and I by 10 (0.2, 0.02), and see how it performs. Then try another autotune, or manual tuning flight with RAT_YAW_P on a slider.

Can you put a log from one of your autotune flights up? It may be that autotune isn’t selected for yaw, but if the yaw channel is selected, and is giving the sort of results above, it should be looked at further. @Leonardthall

Thanks, yep that explanation for the ccw motor difference would make a lot of sense.
The yaw autotune is on and I’ve carried out many yaw only autotune flights all resulting in the same high values. I’m fairly sure I tried then at 10% like you suggest but hadn’t noticed much change. I’ll have another go tomorrow.

Hi Nathan,

So the problem is that you have a large aircraft with low accelerations on the yaw. Your default maximum yaw rate is very high for such a large aircraft. Because you letting the aircraft build up to a high yaw rate over a full 360 degree turn it is also taking a long time to slow down again. In your case it looks like it takes approximately 270 degrees to speed up and slow down.

I can see from your plot above that your yaw is following the commanded input with the acceleration of 6223 centi degrees per second per second.

Your first thing to do is decrease ACRO_YAW_P to 3 or maybe 2 with your yaw acceleration.

During the autotune process Autotune measures your maximum acceleration and sets this parameter for you ATC_ACCEL_Y_MAX. You can sometimes increase this a little but you risk getting bounce back. You may try setting it to 9000 but if you see it bounce back you probably need to go back down to 6250.

Let us know how this goes.

Thanks Leonard,
Tried ACRO_YAW_P=3 today together with ATC_ACCEL_Y_MAX=9000.
And yes much better yaw results, vastly reduced overshoot. But I am getting a very significant drop in altitude when I yaw clockwise. I guess this is tied in to my CCW motors having to output more than my CW, I can’t notice any twist in the motor/boom angle by looking. I’ll have to bench the copter and check more accurately.
Will I be able to autoune keeping the figures you recommended in an effort to solve the altitude drop?
Log if interested

1 Like

Hi Nathan,

You are getting a drop in altitude because your quad needs to use full yaw output to follow ATC_ACCEL_Y_MAX of 9000 acceleration. Because your aircraft has a high hover throttle when your yaw goes to maximum your total thrust goes down and your aircraft loses altitude. As you say, finding the reason your are getting asymmetric yaw output will help this. You can also drop ATC_ACCEL_Y_MAX back to 6000 (I can see in the log that 9000 is a bit high).

I am not sure if you fully understood what I said in my last post. What you are seeing with yaw is not overshoot. In the same way you don’t expect the car to come to a stop the moment you hit the breaks. When you release the yaw stick the aircraft needs to slow the yaw rate down and come to a stop. That means the aircraft will always keep rotating after you let go of the stick. The trick is to make sure the maximum rate is reasonable for the acceleration so it feels good to the pilot.

Good luck!

I also have a yaw problem. Very low turn rates, overshoot and not able to fly in windy conditions in auto mode.

If I read you answer I get the idea that I have made a construction error. I have swaped 2 of my hexa motos upside down. They are 6 cm vertically off when I yaw they turn very slow.

Is it a construction error if the props are not in one plane?

Thanks, Tobias

Servers by jDrones