As an I/O board for a Raspberry Pi based autopilot.It fits perfectly as shown in the photo... :)
You need to be a member of diydrones to add comments!
As an I/O board for a Raspberry Pi based autopilot.It fits perfectly as shown in the photo... :)
You need to be a member of diydrones to add comments!
Comments
Way cool guys! This is what I love about DIYD! Great work!
APM driven sheep....
we use it to track sheep and study his behavior.... gps, accel, compass, temp...
Hi Andy, I have this:
https://github.com/AuraUAS/aura-cape/blob/master/layout-1.1.png
Not exactly a schematic, but the cape is simple enough that you can visually trace out what's going on. This is the 1.1 version for which I had 3 made up. The next version will use a pololu 5v regulator which doesn't drop voltage under load. I'm going to drop the apm2-mini support (and just support the original apm2 as pictured) because the mini version just turns into an ungodly tangle of wires and it just didn't work out as cleanly as I was hoping. I'll probably shuffle a few things around in the next version for improved fit and layout ... once you start with a board design you can fiddle with it forever! I used the expresspcb software which locks me into using them as a fabricator, but I'm not exactly doing this in high volume so it's ok. I'm still messing with connectors. You see DF-13 on this build-up, but if the apm2 is mostly cheap clones of picoblade, I might switch over to picoblade ... except the picoblade crimper is super expensive, as are precrimped picoblade wires, so maybe I need to just find a decent source for precrimped clone wires in different lengths. I use 5-pos connectors for some things and 6 position connectors for some things ... trying to find the path of least resistance, but connectors and cabling are a pain ... either expensive to get exactly what you want premade, or else the wires look hand made if they are hand made.
Like you say, with the software there are lots of different ways to do things, and I'm not claiming my system is 'better', but it's there and working pretty well for anyone that cares to try it.
@Curt This is great . As you point out the APM2.x is perfectly capable for the I/O .
Is there a schematic available to show the interconnect between the APM and the Beaglebone?
This is definitely a direction I would like to go in and the Ardupilot libraries are a great resource to get things running quickly as you say. The other suitable FC ( part from the Official Ardupilot ones) looks to be the OpenPilot Revolution which has been unofficially ported to Ardupilot so driver libraries are available for that as well. It and the APM clones are now pretty cheap to buy
My system looks like this with the optional custom beaglebone cape (to handle some of the interconnects, power regulation, and ttl level conversion.)
I actually really like this architecture and have been flying with one variant of this or another since about 2005-2006.
I know that most people probably want to run mainline Arduplane/copter code, but for anyone that wants to be a little adventurous or try something different using this basic APM2 + linux computer architecture, I have been developing something in the background for the past few years. It is all open-source and available here:
https://github.com/AuraUAS
Included:
1. Replacement firmware for the APM2 (based on the ardupilot 'library') that converts the APM2 into a pure sensor head and also does servo/rc-input.
2. Supports PWM and SBUS receivers.
3. My own system is setup on the beaglebone & gumstix, but it could migrate to the raspberry pi with zero code changes. It even works to hang the APM2 off the raspberry pi usb port which really simplifies wiring/power.
4. All the heavy lifting code runs on the linux computer.
5. Includes an advanced 15-state EKF developed by the University of Minnesota UAV lab and has seen action on all their UAV's, on a Lockheed martin project, and on Airborne Technologies (www.atiak.com) projects. Primarily tested on fixed wing aircraft. I figure there is no way I could catch up to the multirotor crowd once I got past that first 90% and was into the nuance and tuning.
6. Main (linux) loop and sensor head (apm2) both run at 100hz.
7. Includes deep, onboard python integration in the flight computer. This leads to much simpler code in many cases and python runs perfectly well for non computationally intensive area ... like the mission/task system, logging and communication, etc.
8. Inexpensive: between the cost of a pi/beaglebone and a clone apm2 (or the one you have laying around in a drawer) you can put together a pretty capable system for very low cost.
9. If you think the Arduplane/copter code base is too complicated to get started with, my code might also seem that way, but I think in comparison, the AuraUAS system is much simpler from an overall architecture point of view. The way I see it is that this architecture takes a complicated single application and allows you to split it up into two simpler applications. The code on the APM2 handles all the hard real time needs and can use a typical small embedded ISR style approach. The APM2 simply queries the sensors and relays the data to the linux host computer. There is plenty of atmega2560 power for doing just that task. The higher level code (EKF, flight control, logging, communication, mission/task system, etc.) can run on the linux computer and it can then be written as a much simpler single threaded application.
10. I've logged 126 hours of actual flight time with this system. That doesn't sound like much, but for one guy flying and developing and doing this in 30-45 minute chunks ... that's actually quite a lot of flying. I've run the system probably 10x that long in HIL and SIL simulation. So far I've never had a mishap attributable to flight code software, firmware, or avionics hardware failure.
Most people probably wouldn't do things the way I like to do them, but maybe for those that have an old APM2 laying around and you want to try to get some more mileage out of it, or maybe for someone who's really into python, or someone interested in seeing other ways to architect a small UAS autopilot system, or maybe someone who's intimidated by the complexity of the arduplane/copter code ... maybe take a peek?
I'm not trying to steer this thread, but just offering a drop in, working, and tested firmware/flight code solution for this exact architecture. :-) Here are a couple videos of the system performing an auto-landings:
https://www.youtube.com/watch?v=k-DKuPNC3_c
https://www.youtube.com/watch?v=7mx4eVPQHSk
Thanks,
Curt.
Clock Boy Part 2?