|Jan 05, 2012, 05:36 PM|
OpenAero open-source stabilisation software for KK boards
UPDATE: V1.14.2 files to fix Hybrid PWM now released. These replace the V1.14.1 files for Hybrid PWM mode only.
You can now find the files on the OpenAero Google Code page
UPDATE: Please read the OpenAero User Guide for everything you ever wanted to know
OpenAero is an open source aeroplane stabilising software for KK-type boards. It has all the features commonly requested, an LCD menu and even the MultiWii GUI interface. It's now released as V1.14. For those interested in the code, you can see it at the following .repo.
Have made a new GUI version similar to that of the NeXtcopter project but with proper aeroplane mode and all the copter stuff removed.
In non-stabilised mode the board just passes the RC values through to the servos and in stability mode the board uses the gyros to dampen any unwanted rotation. Autolevel mode will direct the model back to whatever level position you set up when the accelerometer is calibrated, and trimmed on the field via the LCD or GUI.
For conventional PWM receivers (via four cables) I have updated the code so that you are able to select Autolevel mode and/or Stability mode via the former throttle input. The default is for that channel to just switch stability on and off with Autolevel disabled, but you can configure the switch via either power-on stick positions or LCD to also switch in Autolevel as well and/or leave stability on permanently if desired.
Here's a shot of the new V0.2 GUI for the OpenAero. This example shows a model in Flaperon mode (two stabilised servos per wing).
Depending on what type of KK board, and which add-ons you have fitted to them, these are the available features.
- Support for Standard, Flying Wing and Flaperon-equipped models
- Auto arming
- Switchable stability mode
- LCD support for setting flight parameters
- GUI for setting parameters and visualising sensors and stability
- LCD Menu selectable features
P + I gain- Lost model alarm*
- In CPPM mode the throttle signal is decoded and passed back out via the THR pin to be connected to an ESC + motor
- Vertical board orientation compile option
- Flying Wing mode
- Stick centering on power-up via Yaw pot
- Adjustable gain via pots or LCD based on a preset - defaults to pots
Roll pot will adjust Roll and Pitch gain (P-term)- Gyro direction can be reversed by setting the Roll pot to zero and using the TX sticks
- Support for CPPM receivers
- Switchable auto-level mode
- Additional Menu selectable features
Accelerometer pitch and roll trim* Needs KK+ board
Connection diagram - PWM Aeroplane V1.14
Connection diagram - CPPM Aeroplane V1.14
Connection diagram - HHybrid PWM Aeroplane V1.14
Connection diagram - N6 CPPM Aeroplane V1.13
Connection diagram - N6 Aeroplane V1.13
Connection diagram - N6 FlaperonV1.13
fpvguy's test of the new HYBRID PWM mode which allows full five-channel flaperon control with a standard PWM receiver.
This is mrfliboy's test flight of the V1.10 beta firmware
Here's a video I found on YouTube on a guy using V1.11 on a Bixler.
A really cool video from Brazil showing a model battling strong wind
Here's a video that NDw made of his first flight of the code:
Here's a great video of eyeinsky1 flying his FPV model in aeroplane mode
Here's a quick look at the LCD menu and GUI
Code change log
- Bugfix for jitter in Hybrid PWM mode.
- Bugfix for stability switch and flaperons in V1.14. Oops.
You can now find the files on the OpenAero Google Code page.
OpenAero is a open-source project and is free, however it is also the result of many hundreds of hours of hard work.
If you feel motivated to donate to the project please feel free. I'm always happy to make special versions for people.
|Jan 05, 2012, 05:37 PM|
OpenAero Nano Test Release!
After numerous requests, I have made a tiny version of OpenAero for Atmel Atmega48-based KK boards.
I managed to pack in the most necessary features and had to remove many others. There is no LCD or GUI support and there is only basic gyro feedback without any PID calculations.
Gyro reversing and Stick centering work similar to before, and I have added new kind of servo reversing which I will explain below. There is still also the switchable stability mode via the throttle input.
- Auto arming
- Switchable stability mode
- Stick centering on power-up via Yaw pot (set to more than 95%)
- Servo reversing on power-up via Yaw pot (set to less than 5%)
- Gyro reversing on power-up via Roll pot (set to less than 5%)
- Adjustable gain via pots
Roll pot will adjust Roll gain
Pitch pot will adjust Pitch gain
Yaw pot will adjust Yaw gain
M1: Rudder (Reversible)
M2: Reversed rudder
M3: Aileron (Reversible)
M4: Reversed aileron
M5: Elevator (Reversible)
M6: Reversed elevator
Flying Wing mode:
M1: Rudder (Reversible)
M2: Reversed rudder
M3: Left flaperon (Reversible)
M4: Reversed left flaperon
M5: Right flaperon (Reversible)
M6: Reversed right flaperon
The new servo reversing works differently than before. I realised that simply reversing the servo travel is the same as swapping from the normal to reversed output (e.g. M1 to M2) which was kind of pointless. So now you can reverse one half of each channel. This means you can have each pair operate in parallel or the complement of each other. If you need them to operate together but reversed, you can just reversed them on the transmitter.
I shudder to think of what that means for Flying Wings, but trust me, its more useful than it was before
The attached .zip file contains for binaries. I have only tested the non-CPPM Standard version, so use with caution
OAN_m48_STD.hex <-- Standard aeroplane, non-CPPM
OAN_m48_FW.hex <-- Flying Wing, non-CPPM
OAN_m48_STD_CPPM.hex <-- Standard aeroplane, CPPM
OAN_m48_FW_CPPM.hex <-- Flying Wing, CPPM
|Jan 05, 2012, 09:23 PM|
As you use it in "Aeroplane mode" you should still be able to make it work vertically as you have been.
Right now I am making a compile option for "Vertical mode" so that you can leave all the cables in the usual place. It will just swap around the gyros for you. I think it's marginally worth it just to simplify the documentation
I've also just added gyro reversal selection from the LCD menu to put a nail in any possible future configuration issues.
|Jan 05, 2012, 09:55 PM|
I think you may have said it earlier, but did you lower the refresh rate on the servos? I also see that in CPPM mode you can "arm" or "disarm" the stabilization etc. Do you think this ability to turn off the stabilization will be available for regular Rx units? Maybe that is what it means and I could be making an idiot of myself.....wouldn't be the first time.
|Jan 05, 2012, 11:25 PM|
|Jan 05, 2012, 11:34 PM|
I'm in too.
I do have a question though. In the event of failure, are the signals passed through? The reason I ask, is past experience with rate gyro failures locks the control surface. I had two failures on a flying wing but was able to land with just one elevon working.
|Jan 06, 2012, 12:17 AM|
The only way to do it with a "regular" RX would be to use an existing channel. The throttle is usually used for the motor in all but gliders. Some flying wings have no rudder, but it's hardly something you could hope for for all models.
Unfortunately the KK has only four inputs. I like to keep the throttle connected to the board as it acts as in interlock to stop things like GUI or LCD mode somehow activating during flight.
With CPPM you have 8 channels ready to play with. And RX's are pretty cheap
|Jan 06, 2012, 12:21 AM|
The GUI is Java based and *extremely* CPU hungry. You must have nothing else running and a fairly grunty CPU for it to run smoothly. That's out of my control unfortunately. It should run very smoothly under the right conditions. You can see a few videos of it on the NeXtcopter thread.
The values all change... just click on them and drag the mouse left or right.
Also, remember that you can use the pots to up the gyro rate as they have priority unless you switch them off via the LCD. When I tried it last night I found the gyros quite exessive at anything more than the middle pot setting.
I'd love it if people (particularly with flying wings) could tell me how they find the gyro polarity.
I hope to release V1.06 tonight with the reversible gyros, corrected Flying Wing mixing and a few other things.
I do have a delta slope soarer I wil try it on myself also. Thanks!
Oh boy - the flying wing mixing is indeed totally screwed up lol I have it connected to my flying wing slope model and it's just...wrong.
Will be fixed very soon
|Jan 06, 2012, 12:23 AM|
On the advanced one you can just switch off the stability control and the signals are passed through.
If the KK board fails it's game over regardless.
|Jan 06, 2012, 07:33 AM|
Ireland, Limerick, Kilmallock
Joined Aug 2010
Quoting from the other thread
Thanks for the detailed steps in trying to get things working right.
I didn't even think of swapping the servos on the board.
I've loaded veriosn 1.06 and everything is going right ioncluding the gyro direction up until
" If not, well that's a problem for a flying wing as you can't change the servos without upsetting the elevator function. Tell me if this is the case and I will make a version with JUST the roll gyro reversed. Then it will definitely be right "
The roll gyro is going in the wrong direction
Edit, but only on the right aileron. THe left one is right(I think, it is sometimes hard to test the roll gyro without acidently pitching the plane( Edit again; yes it def seems the left one is right and and the right one is wrong))!
|Jan 06, 2012, 07:50 AM|
So if the roll gyro works on one side but not the other, that means both sides move the same way with gyro input? And they also move the same way for elevators then? That seems very odd.
Can you ignore that long explanation I wrote earlier and just connect the left side (viewed from behind) to M3 and the right to M5. When I tried it myself today I remembered how much of a challenge it is to set up. Everything interacts with each other and the board has to be oriented correctly.
I know 1.06 can be set up as I was able to do so myself. I did have to fiddle with TX Channel reversing though.
|Category||Thread||Thread Starter||Forum||Replies||Last Post|
|Discussion||CL-OSD a open source osd software for E-OSD and G-OSD||callelj||FPV Equipment||4074||Oct 31, 2014 09:07 AM|
|Discussion||NeXtcopterPlus open-source release for KK and KK+ boards||HappySundays||Multirotor Electronics||812||Jan 09, 2013 04:10 PM|
|Discussion||KK Open source programing||eyeinsky1||Multirotor Talk||4||Dec 30, 2011 04:02 PM|
|Discussion||Rob's Open Source Frame for KK & MK||Rober-t||Multirotor Talk||1||Dec 07, 2011 08:31 AM|
|Discussion||Interesting open-source stabilisation device!||Hogster||Aerial Photography||0||Apr 03, 2008 09:02 PM|