Hi all,
Here's the obligatory YouTube video, it's REALLY cool! There are two runs that have the same phenomenon (I put both runs in this video which is only 1 minute 20 seconds long).
https://www.youtube.com/watch?v=TMM_wWSaJGc&feature=youtu.be
Cool, eh?
I try not to report a "feature" I can't reproduce, but this "feature" is reproducible. I wasn't able to prevent a crash in the first run from Monday night (it was a surprise), but after thinking about the problem, today (Tuesday morning) I was prepared to STOP the motors midflight, then restart them, in order to recover, this worked nicely.
It's the Conditional_Yaw that starts the twirling.
Here's the documentation for Conditional_Yaw, which seems incomplete and/or wrong, not sure.
*********************************************
CONDITION_YAW
Option | Alt | Lat | Lon |
Direction (1 = clockwise, 0 = counter) | Relative: amount (degrees), Absolute: ending angle(degrees) | Speed (meters/s) | Relative angle change = 1, Absolute = 0 |
- Fine grain controls of the Yaw
*********************************************
What I've found using version 2.5.5 is that the first parameter (labeled "Degs" in mission planner) seems to be degrees per second. The second parameter (Labeled "Sec" in mission planner) seems to be the time in seconds for the conditional_yaw. This is seems to be my experience with 2.5.5.
In this run, my parameters were 36 deg's per second, and 10 seconds, so should do one revolution in 10 seconds.
The problem starts at about 72% in the attached TLog file and record 11350 in the attached Log file. It happened 2 times this morning, first time I put it in stabilize and it recovered without help. This is because I put it in stabilize before it really got up to full "twirl speed".
After I went to stabilize and it recovered (first incident this morning), I went back to Auto, it started the run again, went to waypoint 3, then repeated the twirl on its way to WP5, but this time I let it twirl until it started spinning like a top. After I went to stabilize, it kept spinning, like the prior evening, and I believe it would have crashed if I had not had a recovery plan in place.
In order to recover, I was ready to STOP the motors, let it slow down twirling, then restarted the motors. This worked, and prevented the crash this morning (adrenalin rush here!).
What may be different from my use of Condtional_Yaw in version 2.5.5 is I'm pretty sure that Relative/Absolute was set to Relative, and in this "mission", I believe I had it set to Absolute. This could have given it a huge Yaw Position Error to begin with, and it got into a crazy Yaw Aliasing Control loop problem.
Let me know what you all think.
Attached is an APM Log Visualizer Graph Screen shot. It shows an AngleBoost spike (I have no idea what this means).
You can also see when the red line goes to zero is when I went into stabilize, You can see it continue to spin, then you see the ThrottleIn (Cyan Color) go to zero, that's when I stopped the motors. Then you see the Yaw recover nicely when I restart the motors.
Dan Gray, Portland, Oregon
P.S. here's a video taken when using a conditional Yaw in version 2.5.5. It starts at about index 1:22
https://www.youtube.com/watch?v=dZTQf6WMLAc
P.S.S. All of my GPS paths look more jagged in version 2.7, does anybody know why? I've seen this reported before too.
Replies
Interesting, thanks. If pulling the throttle low fixed the issue then it is a Yaw Rate I problem.
We went to the Yaw_Rate_I parameter in 2.7, but it's a tricky one. It seems to have built up during that mode and once you go to Stab, it's still there, built up. in 2.7.1 we've reduced the i_max value to cope with buildup. It was too high for what it needed to do. It won't fix this bug, but it will prevent the spinning while in Stab and promote a fast recovery.
I'll look into it.
Jason
Here's the screenshot and the TLog and Log files.
APMLogVisualizerGraphOfTwirlThenRecovery.jpg
2012-07-31 08-12-55.tlog
2012-07-31 08-40 1.log