This is a continuation of yesterdays post Introduction to Gigglebots and demonstrates the hardware setup of my soon-to-come software.

3689522145?profile=original

 

This is my full setup for my UAV with full video and telemetry, and steering. I have kept the number of pieces of hardware required to an absolute minimum by utilising all the sensors, cameras and communications from Android phones.

 

The software talks directly to a MultiWii, and I'm working on a MavLink version, it can also integrate with a microcontroller such as Arduino (by Serial over Bluetooth, or USB on-the-go).

 

All servos and ESC are configured in the Gigglebots controller software, and has options for servo center, limits and trim buttons. Each servo/ESC can also be assigned a role, such as steering, elevation or throttle. If you so desire you can set exponentials and servo mixing here too. For more complex behavior each channel could also be assigned a mathematical expression to follow.

 

3689522178?profile=original

 

 

The RC input screen lets you configure which pins are for PWM input, and what roles they have. Once you have selected these, the program talks to you and asks you to do things like (“push the throttle forward”, “move the rudder to the left” etc) and configures everything for you. No more worrying about reversed channels.

 

Once all channels are set up, you can view their positions and roles on the main channels screen...

 

3689522219?profile=original

 

Gains are handled on a separate screen, and all the uncertainties of PID loops have been done away with, in favour of just 2 parameters, Turn Rate, and Straighten. Turn rate tells it how much to turn, Straighten controls when it starts to straighten up again.

 

More to come soon.  Please check back, or follow me on Twitter.

 

 

 

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • @giggles
    So you have a proportional and a hybrid type gain system?

    Sounds interesting, I have been working with PI and PID controllers for ages and implementing them is pretty simple really, though for someone without an understanding of calculus or controller systems they can be difficult to understand, so your system has a big advantage there.

    I like your idea, will your firmware be open source?

    I'd love to have a look at it.
  • I have designed a feedback loop method that is easier to understand.  I know PID's are well tried and tested, but I'm sure that not many people actually understand the implementation.  

    My system has two variables, the turn rate is the main gain, the higher it is, the more the vehicle turns. It keeps this amount of turn on, up to a certain degree of offset, which is determined by the second parameter.  

    This second parameter is in degrees, so if I have this set to 10, then anything between 180 and 10 degrees off desired course, the vehicle turns at the maximum turn rate, but between 10 and 0 degrees of offset, the turn rate is decreased to 0.

    I hope this is easier for people to comprehend, it's almost just the PI out of PID loops, I have renamed the variables, and given them values that are easier to grasp.  In practice, it actually works quite well, and the right settings can be achieved very quickly, with minimum brainache.  I heard people say that PID is a bit of a "black art", I don't think mine is.

  • When you say all of the uncertainties of PID loops have been done away with what an earth type of controller are you planning on replacing it with?

    You say two parameters, but what kind of gains are they?

    I am interested in how you plan to structure this exactly...

This reply was deleted.