A public thank you to Caleb from CH Robotics


As some people might know there is a team hard at work on OpenPilot and we are making some progress, like every complex project things don't go as fast as you like but progress is happening. One of the things we are working on now is the low level infrastructure for the AHRS, this makes it so our EKF developers can just drop their code in without messing with the low level side of things.


On of the issues we needed to resolve was filtering the inputs, we were a bit unsure on which way to go. I sent an email to Caleb from CHR to ask his advice, he not only helped a lot but also gave us permission to use parts of his gyro filtering code such as his FIR filter as long as we credited him. Naturally he will be credited in the code and the credit file but I wanted to say a public thank you for this as well.



What I love about OpenPilot is the community, this side was mentioned on the podcast where we announced the project. Caleb is a perfect example of this community spirit.


Additionally, I don't see the CHR-6dm AHRS mentioned much here, so if you are looking for a well priced, powerful AHRS with a complete EKF have a look at http://www.chrobotics.com/ - Caleb rocks :-)


A small update on OpenPilot as well. Things are moving along, we have our issue tracker running now which can be found at bugs.openpilot.org there are still tasks to be added as not everything being is done is in there yet but it will be. There is a burn down chart which shows how far away we are from the version 1.0 release and a list of outstanding tasks that we need help with if people want to get involved.




Views: 670


Developer
Comment by Ryan Beall on March 16, 2010 at 10:41pm
Most people here are interested in dynamic vehicles which this unit cannot handle beings it has no external velocity sensor to help subtract centripetal accel. His EKF is useless in anything that has non gravity acceleration.

Developer
Comment by Ryan Beall on March 16, 2010 at 10:44pm
I stand corrected, it appears that the new version has the option of adding gps via serial? And it is open source so...could be possible. Great looking gear nontheless!
Comment by Caleb Chamberlain on March 16, 2010 at 10:54pm
@David

Thanks for the shout out!

@Ryan

An orientation sensor without something to subtract out centripetal acceleration isn't necessarily useless. I'd say it has a lot to do with, say, how long you expect to remain in a coordinated turn compared with how long you can trust your rate gyros. For many low-budget hobbyist UAV projects, I would think that a sensor similar to the CHR-6dm should work just fine... although I could be wrong.

Developer
Comment by Ryan Beall on March 16, 2010 at 11:22pm
I spent a whole year trying to get a closed AHRS to work in a small UAV that didn't have and Centrip-comp. And no matter the gains on the EKF we ended up making our own to include more modeling because it just wasn't enough. Granted they probably had zero washout on the accelerometers but even that could prove very untrustworthy for most uav's

It is funny how even the slightest help from gps even though it is slow and laggy helps out so much!
Comment by Caleb Chamberlain on March 17, 2010 at 8:17am
@Ryan

Ah, you are the voice of experience, then. :-) What were you trying to use the closed AHRS for? Were you wrapping angle hold control loops around the state estimate outputs? If so, how were you able to decouple the control and state estimation problems? (ie. how did you determine that the problem was related to poor state outputs, and not the interplay between your controller and observer, or simply the controller itself?) I guess if you spent a year on it, a forum post might not be the best place to talk about it...

Developer
Comment by Ryan Beall on March 17, 2010 at 8:27am
Angle control feedback loops on roll and pitch. We knew it was the state estimates because they were being sent down to the groundstation and after anything other than straight and level we would get estimates that were all over the place reguardless of the aircraft being in manual control of autopilot control.

Developer
Comment by Ryan Beall on March 17, 2010 at 8:28am
** "manual control or autopilot control."
Comment by Caleb Chamberlain on March 17, 2010 at 8:32am
That's really interesting. And the bad angle estimates persisted even if you decreased your process covariances and increased your accel covariance?

Developer
Comment by Ryan Beall on March 17, 2010 at 8:41am
honestly the unit we were using had very unconventional names for the gains but believe me we tried them all in every possible scenario. We called them and even asked if they would suggest a benchmark place to start and they said that they would be very suprised if we got it working. At that point we gave up and went back to square one. The thing with adjusting the accel covariance in my opinion is this. The EKF is trusting the accel based on the modeling and only works if the modeling of the equations is inclusive of the centripetal. aka somewhat closer to reality. Even if you washed them out, the filter would have zero accelerometer updates for most of the time and thus you as well as I do, the noisy drift of the gyros will depart it quite rapidly if nothing is keeping it in check. Specially if you are using low 10-12bit a2d's with only software FIR filters
Comment by Troy Reabe on April 27, 2010 at 11:02pm
So i know that you decreased the input from the accelarometers if the out put was greater than 1G, Is there curently any way to keep the Accelerometers in the loop an using a more accurate velocity such as air speed and keep the drift down or is the best option to use 2 rate gryos so you can have the high turn rate as well as a low drift? And the code for the 2 rate system should not be to hard, you would just need to watch for saturation to switch to the higher rate gryro and when you return to staight and level flight re-level the system off the accelorometers, or what in the big picture am I missing?

Comment

You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service