I'm not sure how much this will mean to most of you but it shows how well OpenPilot is designed. One of the major parts of building software to do attitude estimation is the algorithm used, as well as good sensors, having a great algorithm is critical.
So lots of projects just take one from elsewhere, a common one is DCM. Several project use this filter as it is very lean and suitable for the low powered 8 bit AVRs microcontrollers that Ardunio based platforms run. As we are using an STM32 which is a 32 bit processor and many time more powerful we can take use this superior power in our filter.
The filter we use was written by James Cotton and we call it 3C. An funny example of what it can do can be seen below. We are trying to use a string to unbalance the quad but it proved a bit resistant due to 3C being so fast, this did not go well...
However, things came right at the end as you will see the Copter staying level despite a almost 45 degree bend in one of the arms! While all of this was a bit of fun, it does show how well the algorithm works in keeping the copter level despite the damage. I know many other boards could not cope with this at all.
To add a bit more to this, we have had people flying Hexas and had an ESC quit in flight, the common myth is that this would cause a flip and a bad crash, in the case with the CopterControl board, the hexa was landed without damage. Its wasn't very flyable but was enough to get it down safely.
Honestly, when I look around at some of the quad forums and they are all trying to line up their motors perfectly and all the little tweaks, after seeing this, it just makes me smile.
So lots of projects just take one from elsewhere, a common one is DCM. Several project use this filter as it is very lean and suitable for the low powered 8 bit AVRs microcontrollers that Ardunio based platforms run. As we are using an STM32 which is a 32 bit processor and many time more powerful we can take use this superior power in our filter.
The filter we use was written by James Cotton and we call it 3C. An funny example of what it can do can be seen below. We are trying to use a string to unbalance the quad but it proved a bit resistant due to 3C being so fast, this did not go well...
However, things came right at the end as you will see the Copter staying level despite a almost 45 degree bend in one of the arms! While all of this was a bit of fun, it does show how well the algorithm works in keeping the copter level despite the damage. I know many other boards could not cope with this at all.
To add a bit more to this, we have had people flying Hexas and had an ESC quit in flight, the common myth is that this would cause a flip and a bad crash, in the case with the CopterControl board, the hexa was landed without damage. Its wasn't very flyable but was enough to get it down safely.
Honestly, when I look around at some of the quad forums and they are all trying to line up their motors perfectly and all the little tweaks, after seeing this, it just makes me smile.
Last edited by a moderator: