I just wondered why the main loop in the ACM code is only executed at 100Hz

NG code runs at 200Hz (which is slow for a quad)

 

if you take a look at Aeroquad and Mikrokopter code: they all run at 500Hz

 

I now that the ADC on APM runs at 400Hz, but I also know that it is capable of 2000Hz readings.

So why not speed the ADC up and let the code run at 200 (or maybe more) Hz ?

Views: 967

Reply to This

Replies to This Discussion

 

    I believe this is at least partially because we use DCM which gives us a quick and accurate estimation of attitude which means we don't need to update as quickly to get stable results.  I read somewhere that once you get up to really high rates (like 2000hz) you're updating the instructions to the engines every quarter turn of the prop.  It's hard to imagine that that's really necessary... in fact, it's hard to imagine that it's useful to cycle at anything above the update frequency of the gyros and ESCs.

We sample the ADC at a higher rate so we don't need to have such a high loop. If you want to, feel free to up it to the amount you'd like. It's hard coded at the main loop. Just lower the number. You can even try and assign it to a radio channel to explore different rates until you feel comfortable that you found something that works for you. I've kept it to 100 because I needed the headroom for future code execution.

Like Randy and Jason said, we are using DCM others mostly using Kalman and other methods to estimate angles. DCM is much more efficient on those. We have tested on earlier ArduCopter 100Hz and even that gave really good results. Speed up from 100 to 200Hz did not give any great change on stability.  Also most of ESCs will filter out updates that are coming faster than 150Hz. So it's rather useless to send updates faster than that to motors.

 

NG main loop actually runs with 160Hz.

 

ok thanks for your information =)

Reply to Discussion

RSS

Groups

Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service