Hi All, 

I just posted a new experimental version of Arducopter with new PIDs and control laws for Yaw. It's download only for now and I wouldn't recommend trying it unless you can rigorously test it. Please be careful. I've flown this in Stable, Simple, Acro, Loiter, and Alt Hold with no known issues. But you never know! This version is not yet compatible with the mission planner.


What's new:

New PIDs - I rewrote the control laws from scratch to add a PI Rate function. The end result should fly nearly identically to the current version. The nice detail is that we can use NG PID values for easy transition!

Before: ->  After

Stabilize P –> Stabilize P (Use NG values, or 8.3 x the older AC2 value)

Stabilize I –> Stabilize I (Stays same value)

Stabilize D –> Rate P (Stays same value)

–> Rate I (new)


I added a new value – an I term for rate. The old stabilization routines did not use this term. Please refer to the config.h file to read more about the new PIDs.

I added the framework for using DCM corrected Accelerometer rates. Code is commented out for now.

Added set home at Arming.

Crosstrack is now a full PID loop, rather than just a P gain for more control.
Throttle now slews when switching out of Alt hold or Auto modes for less jarring transitions

Sonar and Baro PIDs are now combined into a throttle PID Yaw control is completely re-written.



Views: 2934

Reply to This

Replies to This Discussion

Awesome when wil it be ready for th MP?


Hi Jason, very good enhancements. Like to set home at arming, but why the 'tune down compass'  (dmc_yaw_kp & ki) in the arming routine?


Another question, don't know if I'm wrong, but is altitude kept in the path between waypoints?.

Guess the framework is made ready for rate controlled waypoint approach ?, speed up to next waypoint, slow down near the waypoint?


You're one excellent coder!


Wow, you certainly have been busy !

Those improvements all sound really promising.  I'm gonna take my copter to a show tomorrow, so I won't fiddle with it now, but on monday I'll give the new code a shakedown !

Waiting for YAW improvements! THANKS
For those who want to test this code, it's here. Use Arduino to compile and upload to your copter.
you so hard worker... bravo...
btw what motor+prop+frame size, you using for this test? please... share.
becouse i have see some of your video test, and many diffrent motor you use.

and my 2nd problem is about compas.

when i enable compas the yaw is not lock
alway go ringht about 5degre and back left 5degre and continue repeat.

but if i disable (just disable compass no change any ) the yaw is good,

maybe i wrong setting declination

can you help me to check my declination, please...

my coordinat is LAT:6°21'51.53"S, LONG:106°48'54.97"E

i check my declinasion is 0.44 (hope i wrong)

hope you can understand my text and i can using arducopter again :D
many thank's

you need to convert that to decimal degrees. = 0.733


thank jason..

i'll try.

and how about my ask  about motor+prop+frame size, you using for this test?

can you share?

My magnetic is 6.39 ? right ?

Convert that to decimal degrees here:



I believe the answer is 6.65


hm converted..but where is that magic number?


What I sent you is an Angle, Minutes, seconds to decimal degrees converter. You take the declination and enter in to convert it to decimal. So 6° 39' will be 6.65° once converted. Enter that into the Mission planner or CLI.


Reply to Discussion


© 2018   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service