Thread Tools
Jun 29, 2013, 11:56 AM
Registered User
Discussion

Introducing BradWii - Open Source Multi-Copter Software


After many months of work, it's finally ready for the public!

Here's a video (not great, I know) of the software in action:

BradWii (8 min 17 sec)


The following is an excerpt from the ReadMe file:

Introduction:

BradWii is open source multi-copter software. The name BradWii comes from the fact that many concepts and some code were borrowed from Multi-Wii. It's also a play on the original developer's name, Bradley (Call me Brad). Though based on Multi-Wii, BradWii is pretty much a complete re-write. BradWii is intended to be a platform on which other projects can be built.

Download:

The Arduino version can be downloaded here:

https://github.com/bradquick/bradwii...ive/master.zip

Features:

- Currently works with the following Hobby King boards:

- Multi-Wii Pro 2.0
- Multi-Wii 328p
- Multi-Wii NanoWii

- Other boards should be easy to add for anyone with programming abilities. I tried to include only things that I have tested.

- Extensive use of fixed point math means the code is faster and more accurate. Each value has 32 bit precision and the loop times are frequently under 2 milliseconds. All integration and filtering is time based, which means that constant loop times aren't critical. The result is stable flight.

- Level, Acro, and Semi-Acro flight modes.

- Multi-Wii Config compatible (including bluetooth apps, etc). Works on any (and multiple) serial ports.

- Simplified settings means there are fewer things (especially PID) that need to be adjusted.

- Auto PID tuning!

- Position Hold

- Mag Hold

- Altitude Hold

- Return to Home

- Standard or DSM2 Satellite receivers

- Throttle Helper - Automatically applies extra throttle when tilted in attempt to maintain attitude.

- Uncrashability Mode - Takes over when you get below critical attitude or get too far away. Practice those Acro maneuvers without being able to dumb-thumb it!

- The project doesn't rely on any Arduino libraries which means that it can be easily developed on other development systems. BradWii was originally developed on a Mac using Xcode. The Xcode project can be cloned from the links below. You will also need to clone the libraries. My avr tools are in a unique location, so some tweaking will be involved in getting the xcode version working (experienced programmers only).

https://github.com/bradquick/bradwii
https://github.com/bradquick/avrlibraries

- Well commented, logically laid out code. It is designed to be easy to add additional sensors and control boards. Developers should find this code a good starting point for various projects. The curious will find it easier to understand what makes their multi-rotors tick.
Sign up now
to remove ads between posts
Jun 29, 2013, 12:07 PM
James not bond
jy0933's Avatar
interesting. especially auto tune.. but I think the leap for ??Wii should be bringing it to next level of processors. complementary filter is good. but kalman is way better. and 8bit is really falling behind. might as well take this into consideration for next stage dev.
Jun 29, 2013, 12:12 PM
Registered User
The code is all hardware abstracted which means that it will be easily ported once we have access to cheap boards with better processors.
Jun 29, 2013, 12:54 PM
Registered User
So, who is brave enough to give the software a try and report back?
Jun 29, 2013, 03:47 PM
Registered User
Quote:
Originally Posted by bradquick
So, who is brave enough to give the software a try and report back?
I have it on my Quad, it works great!!!

Lloyd
Jun 29, 2013, 11:12 PM
Registered User
JWinNewPhila's Avatar
I can't believe that your not getting a better response for this than it has so far....

I would love to test it out but all I have for Wii boards are my Flips w/gps pods and a Quadrino Zoom. If you can add those boards in I'd definitely give it a try!
Jun 30, 2013, 03:00 AM
Registered User
Quote:
Originally Posted by JWinNewPhila
I can't believe that your not getting a better response for this than it has so far....

I would love to test it out but all I have for Wii boards are my Flips w/gps pods and a Quadrino Zoom. If you can add those boards in I'd definitely give it a try!
all depends on the time available.
just looking through ...
if it makes sense it is ported in a few minutes ...
Jun 30, 2013, 05:05 AM
:)
Sounds great!

Will it work with Witespy's $20 Flip Pro FC? Or can you support it?
http://witespyquad.gostorego.com/fli...contoller.html
Thread...
https://www.rcgroups.com/forums/show....php?t=1876602

Witespy also makes the popular $15 Flip 1.5 board...
http://witespyquad.gostorego.com/fli...ontroller.html
Thread...
https://www.rcgroups.com/forums/show....php?t=1764146

Best FC's out there for the money. If the software works on these boards I'd love to give it a go.

Cheers mate!
Jun 30, 2013, 06:21 AM
Registered User
Quote:
Originally Posted by bradquick
The code is all hardware abstracted which means that it will be easily ported once we have access to cheap boards with better processors.
have looked at the autotune stuff first.
this is on my list for the next few weeks.
i would like to have a simple observer which measures the oscilation.
doing so you can add relaytuning or ziegler nichols as method to find the best suited pid settings.
Jun 30, 2013, 08:50 AM
Registered User
The code supports the Atmega238, ATmega32u4 and the MPU6050 acc/gyro, so the Whitespy boards would be simple to setup. I just don't have any of them (yet). If you have any programming skills at all, look a the defs.h file and it should be easy to configure for a new board. The Flip Pro FC is very close to the HK NanoWii, so you can start there. The main issues will be what IO ports they use.
Jun 30, 2013, 08:52 AM
has an opinion
Felixrising's Avatar
Looks like a pretty thorough rewrite! With some much sought after features (fencing and autotune)...

It looks like the board types are just sensor definitions/orientations and serial port definitions. Setting up a Crius All In One Pro board should be pretty easy with MEGA2560 already in there.

Nice work.
Jun 30, 2013, 08:59 AM
Registered User
The problem with relay tuning or Ziegler Nichols is that in both cases you need to get the system very near unstable so that it oscillates. The aircraft needs to be flying when you do this so that you are testing under the right conditions. I think it would be near impossible to get the aircraft oscillating to the point where you could take measurements without crashing it in the process.

I started down that path. I rigged up some strings so that it could only rotate on the roll axis and couldn't get away. I tried to get it to oscillate while supported this way. I also tried it while holding it lightly in my hand. Unfortunately any supporting mechanism I could think of affected the oscillation rate too much.
Jun 30, 2013, 09:01 AM
Registered User
If anyone gets a board setup working, email me the few lines of code you had to add to defs.h so I can make them available to others.

Thanks.
Jun 30, 2013, 09:04 AM
Registered User
BTW, I created a separate thread to share how the PID autotuning works:

https://www.rcgroups.com/forums/show....php?t=1922423
Jun 30, 2013, 10:48 AM
Registered User
nir152's Avatar
Nice job,
I would love to try the code,but right now I'm using Nanowii without baro or GPS.
Latest blog entry: Axe frame


Thread Tools

Similar Threads
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 4155 Jan 09, 2017 05:13 AM
Discussion Any interest in another Multi-Copter software? bradquick Multirotor Drone Electronics 8 Jul 02, 2013 04:47 PM
FAQ Open source transmitter software Mike Meyer Radios 16 May 14, 2013 07:16 PM
Question Any open source ARM based multi roter heli? ctrl Multirotor Drone Talk 7 Jul 20, 2011 05:44 AM
Discussion Open-source foam cutting software for XP moreil The Builders Workshop 125 Sep 04, 2008 03:06 PM