Octopilot -- Open source propeller-based autopilot

small.jpgOctopilot is open source autopilot hardware and software for radio controlled planes. It is based on the Parallax Propeller microcontroller, and uses a 5-degrees-of-freedom IMU plus a GPS and proximity sensor to stabilize and navigate your plane.It can be enabled/disabled through an extra channel/switch on your transmitter, and when switched on, stabilizes the plane and navigates it back to the starting location, where it will circle. It can also optionally trigger external actions, like taking a photo or dropping an item, when it reaches a waypoint.Coming soon: multiple waypoints, stabilization of inverted flight, on-board TV-out, and more.If you're interested in helping out, there's lots to be done! Swing on over to the project page and join the octopilot group.http://code.google.com/p/octopilot/
E-mail me when people leave their comments –

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

Join diydrones

Comments

  • Hi Jay,
    It certainly seems to be plenty fast. I haven't actually done timing tests to measure the difference in speed between the standard Float32, and the Dynamic one, but I couldn't tell the difference. :)

    Ben
  • Interesting. That could be cool. I'm already using a nonstandard float math library that can run in spin without separate asm cogs, and I imagine it would take up one cog to talk to this co-processor? But I'm using 2 cogs for gps reading right now, and if I could drop both of those, I'd save one cog, which could be great. :)

    For now I want to avoid adding extra components if I can help it, but this is great to know abut for when I eventually need it.

    Thanks,
    Ben
  • Have you considered using a co-processor it can do the float math and GPS parasing to free up at least two cogs.
  • Wow, cool ideas! Fortunately I have plenty of codespace left, but I'm running dangerously low on cogs and pins... :) Maybe I can share a cog between a few of the less busy processes...

    Ben
  • Well.. the killer OSD would be in color, but thats not possible yet with the Propeller (maybe the prop II from what I've read. I agree being open on the OSD side is a good idea. For layout ideas, I just searched on whats in real HUDs an simplified. Maybe three toggle-able screen - None, Full and one line minimal (heading, alt, home dir, or similar)

    Also, if you have codespace, I know I would use the audio band for a modem to transmit your variables to the ground. That way you could use the otherwise fallow channel. I'm working on a GPS driven tracking antenna for our high altitude balloon project (hapb.net) but could be used for FPV with some tweaks.

    Paul
    http://hapb.net/
  • Hi Stefano,

    I'm using a Multiplex Mini Mag, which is made by the same company that makes the Easystar. I fly an Easystar too, but I'm using the Mini Mag with octopilot because it has ailerons, and I want that extra level of control.

    I haven't built an FPV setup yet, so I can't comment on how big a plane you'll need for that. But I hear that the cameras and video transmitters can be pretty tiny. But if your payload gets too heavy, then I'd suggest a larger plane instead of an overloaded, overpowered Easystar, which might not fly very well...

    Ben
  • Which vector are you using?
    I was thinkig about the Easystar, which, for a newbe like me seems the easiest solution to get started.
    My main concern is that if I start adding FPV and Autopilot (that would be the main goal) the payload would become too big.
    Would that be addressed by bigger motor or do you suggest starting with a larger plane (like a glider for example)

    The aim would be to do something like this guy

    Thanks
    Stefano
  • Hi Paul,

    I was imagining setting it up as a video overlay for first person pov. I haven't tried fppov yet, but it sounds ridiculously cool. :) I was actually planning to show similar data to what PNav shows. I have the tv object set up and my dummy update function gets run along with everything else with every servo pulse (about every 30ms), but I haven't designed the layout yet, so nothing interesting gets displayed.

    I was thinking of trying to keep all the data at the edges, leaving the middle open for unobstructed video. I was also thinking of making it easy for people to add their own layouts to the code base, and let people choose which layout to use. If someone wants to use the whole screen for telemetry data, I want that to be easy too.

    Any suggestions?
  • Ben, Looks great! The documentation is fantastic - Thats an area that I have lacked much motivation and am SO glad there are good engineers like you who do document well! I cant wait to see your flight results.

    Are you planning a video overlay function component (like Terry Hitt's), or using the video as an output for telemetry?
  • Hi Remco,

    Oops, I realize now that you might have meant how much will the whole octopilot setup cost?

    I have no plans to sell them. I'm just publishing all the info you need to build one for yourself. All the parts for a full octopilot setup, assuming you already have a working RC plane to install it into, will be about $315. If you use only navigation, or only stabilization, it'll cost less. (And you can add the rest later!)

    More pricing info on my Parts List page here.

    http://code.google.com/p/octopilot/wiki/PartsList
This reply was deleted.