As Jordi continues testing and improving the ArduPilot boards, I've been integrating his cool binary-mode GPS parser and otherwise improving our pre-alpha code. So I think we're now a proper alpha, which is to say that although this hasn't been tested in the air yet, it does have most of the ingredients of a basic autopilot. The Arduino code is here.

Improvements include:

--Binary mode GPS parser with checksum error checking and high-speed (56k) throughput
--Hardware-driven servo control (using the Arduino Servo Timer library), which means less processor overhead, tighter response and no jitters.
--Now samples the rudder at autopilot initiation, so if the rudder is trimmed a bit one way or another that will be retained
--Autopilot board LEDs now show GPS status


We're going to do a few more alphas as we test the code on the latest versions of the hardware and against the simulator. Then, once we've tested it in the air, we'll move to beta. So consider this version just instructive and don't fly anything with it!

Views: 2235

Comment by Phil Wilshire on August 18, 2008 at 5:40am
Hi Chris,
You beat me to it . I just noticed the servotimer 1 lib last night and was going to take a look at it.

Any chance of a summary of hardware changes.
I have built a board to the V3 spec but not tested it yet.

regards
Phil

3D Robotics
Comment by Chris Anderson on August 18, 2008 at 6:28am
We'll probably release the schematic of the V4 board this week, along with a list of all the changes (there are a lot, and it's best to think of the V3 boards as a test platform rather than a working autopilot board). We're working with our manufacturing partner on the PCB layout, so I don't want to release that until the product is out, but perhaps we can create a generic version of that for hardcore DIYers who want to start moving earlier.
Comment by Phil Wilshire on August 18, 2008 at 7:06am
Basically the V3 is just a code test platform for me anyway.


Another topic (possibly another thread)
Have you thought of using a small ATtiny to drive each servo.
This could allow you to create a "servo drive bus" with an aTTiny decoder for each servo (or one for each pair of servos)

The Attiny could handle the 20mS pulses and you may only need to
issue updates say 10X per second across the bus.

This is like the openservo project but not so complex and it retains the current servo
controller.

The failsafe would need a rethink as well with this system but I like the idea of a bus for the servo drives. It could save the individual servo wires.

Just dreaming
Phil WIlshire

3D Robotics
Comment by Chris Anderson on August 18, 2008 at 7:31am
Phil,

Can you explain more what the advantage would be? I think our current timer-driven servo system is very efficient in terms of CPU overhead and we've got plenty of spare I/O pins. We used dedicated servo driver chips in the Basic Stamp autopilot, and they worked fine, but the Arduino is so good at that function that we didn't see the point for ArduPilot.
Comment by Aristotle on August 18, 2008 at 7:20pm
Wow I just found this site and man, I'm building an ardupilot!!!!
I already have 8 helicopters, a few planes, a CPD-4, an FTDI cable, and like 8 arduinos.....

I'll be watching closely, do you think this could fly a t-rex 450? I'm hesitant to hook this up to anything bigger till I've learned how it all works. I'm going to read over the code now.

3D Robotics
Comment by Chris Anderson on August 18, 2008 at 11:15pm
Aristotle,

Thanks for the enthusiastic support and welcome to the site. My advice is to start with planes. It's possible that ArduPilot Pro (which has built-in thermopilies) could fly a heli, but we've never tested that and you'd have to develop the code yourself at this stage. Helis are a lot harder than fixed wings to make autonomous, and it's frankly more than I want to chew off at this moment. But if you're up for the challenge, we'd sure love to see if it can be done.
Comment by Constantinescu on August 19, 2008 at 2:02am
Aristotle,

I am amso interested in the possibility to use ArduPilot in a helicopter, specificaly maybe T-REX 450. I am also interested to use it in aerial photographie.
Comment by Phil Wilshire on August 19, 2008 at 6:46am
Chris,

( Hi Aristotle , yes this is a great site )

Back to servo drivers.

The current system looks really good don't get me wrong.
However, since the ATTiny is almost a single chip solution
I was considering off loading the Ardupilot and only updating the servos say 10 X per second
when under autopilot mode.
With the libservo you get two servo outputs ( I think), but what if you wanted more ?

The ATTiny could then take care of providing the actual servo drive every 20mS in addition it
could drive a couple of servos.
You can then address servos on an "as-needed" basis using a common bus like I2C to send commands to the servos.
You can also add extra servos without having to add extra I/O.

The failsafe switch over is a problem but I was considering not using that.
( I know that no failsafe is NOT a good idea )

BTW, just for interest, I worked on my first autopilot in the mid 80's it used an 8051 and two rotating gyros (3000 UK pounds each) for rate control. We had a barometric pressure sensor for altitude and a magentometer for heading.
We had 3 control options. Manual, Rate and Hold (headng and height hold)
Neat system
Been dying to get back into this technology ever since.

3D Robotics
Comment by Chris Anderson on August 20, 2008 at 5:32pm
Yes, the servo timer routines only work for two servos, but you can always use the basic PWM routines on any other pin for as many other servos as you need (albeit less effeciently). ArduPilot is set up to control two servos, so we think we've got the optimal solution for our needs already. But if you wanted to control a lot of servos, you might indeed want to use a dedicated servo driver chip or a the specialized interrupt-driven servo code that Jordi has developed.

I wouldn't use an Attiny, however, since it really only has four I/O pins.
Comment by helitron on December 12, 2008 at 10:55pm
Hi friends of ArduPilot,

just joined this great site here and I'm very impressed of the ArduPilot respectively the Pro. Awesome work. I'm a member of the original beta team of Dean's Attopilot from the beginning but recently things are going very bad for us in overseas (export restrictions), http://www.rcgroups.com/forums/report.php?p=11112276 . So I was looking for an alternative and as a AVR/ANSI C enthusiast since a long time I deciced to give ArduPilot a try :-). I'm more interested in the ArduPilot Pro, is there any idea when it's possible to order a kit of the Pro ?

Cheers and have a nice weekend,

Erwin

Comment

You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2017   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service