All Posts (14048)

Sort by
3D Robotics

ArduPilot (Legacy) main page

 

3689315381?profile=original

 

[This original ArduPilot board, now called the "Legacy ArduPilot" is no longer produced or officially supported by the DIY Drones dev team, and this page is maintained just for historic reasons. However, there are still many users of it out there and it still works fine. The user group for Legacy ArduPilot users, for both thermopile and IMU use, is here.]

 

ArduPilot is a full-featured autopilot based on the Arduino open-source hardware platform. It uses infrared (thermopile) sensors or an IMU for stabilization and GPS for navigation. It is the autopilot used to win the 2009 Sparkfun Autonomous Vehicle Competition.

The hardware is available from Sparkfun for $24.95. An expansion board ("Shield") kits that includes an airspeed sensor, a 3.3v power regulator for 3.3v GPS modules and other sensors and cables and connectors for easy attachment of the XY and Z sensors, is available from our own store for $57.20.

 

User f

ArduPilot features include:

  • Can be used for an autonomous aircraft, car or boat.
  • Built-in hardware failsafe that uses a separate circuit (multiplexer chip and ATTiny processor) to transfer control from the RC system to the autopilot and back again. Includes ability to reboot the main processor in mid-flight.
  • Multiple 3D waypoints (limited only by memory)
  • Altitude controlled with the elevator and throttle
  • Comes with a 6-pin GPS connector for the 4Hz uBlox5 or 1hz EM406 GPS modules.
  • Has six spare analog inputs (with ADC on each) and six spare digital input/outputs to add additional sensors
  • Supports addition of wireless modules for real-time telemetry
  • Based on a 16MhZ Atmega328 processor. Total onboard processing power aprox 24 MIPS.
  • Very small: 30mm x 47mm
  • Can be powered by either the RC receiver or a separate battery
  • Four RC-in channels (plus the autopilot on/off channel) can be processed by the autopilot. Autopilot can also control four channels out.
  • LEDs for power, failsafe (on/off), status and GPS (satellite lock).


Resources:

ArduPilot requires the free Arduino IDE to edit and upload the code to the ArduPilot board.



The code is currently optimized for the Mutiplex EasyStar three-channel powered glider and FMA sensors, but can be modified for other aircraft and sensors. It uses the rudder/ailerons and elevator to maintain level flight and navigate to GPS waypoints. It supports a desktop setup utility and ground station software. It also includes a "fly-by-wire" mode that simply stabilizes RC flight. The main code is ArduPilot2.x.zip in the download section of our Google Code repository, where x is the latest version.

What you need to make a fully-functional autopilot:


Open source extras:

  • If you want to build your own board from scratch, the necessary files and component lists are here.
  • [Note: you shouldn't need this, since this code is loaded on the ArduPilot board at the factory] Latest multiplexer code (for the board's second processor, an Attiny, which runs the failsafe system) is here.
    Instructions for loading this code are here.



Recommended UAV setup:

3689303688?profile=original


Airframe option one: Hobbico SuperStar (49" wingspan, $95, shown above). This is an inexpensive, good flying high-wing trainer with ailerons. It can be hand launched in a park or take off from a runway, and replacement parts are readily available in case of a crash. If you want much better performance with this aircraft, you can upgrade it to a brushless motor, speed controller and a LiPo battery. [If you don't already have one, you'll also need a balancing charger and power supply.] Note: any stable aircraft with both ailerons (for stabilization) and rudder (for navigation) can work, so feel free to experiment with what you've got.

3689313666?profile=original


Airframe option two (recommended for ArduPilot 2.x): EasyStar (shown above). Performance can be improved with the modifications described in this post.

You'll also need:

  • A six or seven channel RC transmitter and receiver, with at least one toggle switch (ideally three-position but two-position will work, too, although you will have to mix channels to have access to both autopilot modes in the air), such as the Futaba 7C.
  • Some servos (at least three for ArduPilot 1.0; at least two for ArduPilot 2.x) and at least three female-to-female servo cables to connect the RC receiver to ArduPilot.


Cool optional extras for your UAV:

Read more…
3D Robotics

Update on ArduPilot availability

Just got the latest from Sparkfun: A total of 87 ArduPilots have been shipped so far. A big batch of 61 of the original rev that were backordered by customers went out on Jan 13th. We're currently have another 34 to fill from backorder. The new revision (with the 5V power regulator) has been ordered and 300 pieces are inbound. ETA on PCBs is Jan 23rd, although it will take about a week after that to populate them with components. I expect that by the end of the month, we should have all the inventory we need and will able to make boards as quickly as demand comes in.
Read more…
3D Robotics

ArduPilot flight test 2: RTL

Well, chalk up another one to the limitations of sims. Today's return-to-launch (RTL) testing was a mixed bag. When the Superstar was heading off away from us and I enabled the autopilot, it nicely turned back, but when it got overhead it went into a death spiral and I had to disable the autopilot to recover. This happened multiple times, despite it working fine in the sim. Perhaps this was due to the wind (10-12 mph) or the airframe, but the software should be doing a better job regardless. I think we need to work harder on our "circle overhead" algorithm and otherwise put a little more AI in our navigation routines. This is pretty normal for this stage of development and we'll get there. Meanwhile, it was nice to fly on another beautiful day in the Bay Area.
Read more…
3D Robotics

Some guidelines on picking wireless frequencies

3689309441?profile=original

Wireless can be something of a black art, and there are a dizzying array of standards and choices. Here are some simple guidelines to help you pick wisely:

  • --We operate in four frequency ranges: 72Mhz (RC gear), 900 Mhz (video and telemetry), 1.3 Ghz (video) and 2.4 GHz (RC, video and telemetry), not including GPS, which is a passive receiver only.
  • --It is a BAD IDEA to have transmitters and receivers in the same frequency range right next to each other, so you'll want to choose your equipment to avoid this.
  • --In general, the lower the frequency the longer the range because it can go around obstructions better, so 900 Mhz video tends to have longer range than 2.4Ghz video. But digital transmission technology can more than compensate for that, so it's not a hard-and-fast rule. For instance, a high-end spread-spectrum 2.4GHz wireless video setup can outperform a lower-end 900 Mhz one.
  • --Some frequency ranges are more crowded than others. For instance, indoors and in urban environments 2.4GHz has to compete with everything from WiFi to Bluetooth to cordless phones. 900Mhz just competes with some cordless phones.


So, for example, you could try these configurations:

 

Configuration One: RC: 2.4Ghz. Xbee 900Mhz. Video: 1.3 Ghz

 

Configuration Two: RC 2.4 Ghz, Xbee 900Mhz, Video 2.4Ghz, with antenna as far from RC as possible

 

Configuration Three: RC: 72 Mhz, Xbee 900Mhz, Video 2.4 Ghz.

Read more…
3D Robotics

Adding wireless telemetry to ArduPilot

You may have noticed that we had wireless telemetry in our flight testing last week. It's really easy to add. The first thing to keep in mind is that you should use Xbee modules in a different frequency range than your RC equipment. If you've got 72Mhz RC gear, you can use 2.4Ghz Xbee modules. We use Xbee Pro wireless modules with a Adafruit adapter board on the aircraft side, and a Sparkfun USB adapter board on the ground/laptop side. If you've got 2.4Ghz RC gear, you should use 900Mhz Xbee modules. We use a Xbee Pro with the wire antenna for the aircraft, and and Xbee Pro with a SMA antenna connector (and a good 900Mhz antenna) on the ground, with the same adapter boards as above. Next, you need to set up your Xbee modules. They ship with a default of 9600bps, which you must change to 4800 bps for ArduPilot 1.0 or 57,600bps for ArduPilot 2.x. Connect them with your FTDI cable (see instructions here) then use Digi's X-CTU utility to change the baud rate to 4800 or 57,600 (in the modem configuration tab--press the Read button and then click on and change the baud rate line). You should also give them unique Network IDs so they'll be paired. Just use any 3-digit number, and just make sure you've set it the same on both modules. (Don't use 999 if you're going to be flying around me--that's mine!). When you're done with the settings, click "Write". Remember that after you change the baud rate you have to switch back to the PC Settings tab and change the baud rate there, too, or the utility won't be able to communicate with the module. (Switch it back to 9600 when you're switch to the second module, if it's still in the default mode, and repeat the process.) On the ArduPilot side, use three jumper wires to connect the following pins circled in red on the board below: --Xbee RX to ArduPilot FTDI port TXO --Xbee 5v+ and GND to the VCC and GND pins next to the FTDI port.

It will end up looking like this:

(Note: the above is to get telemetry from the Autopilot. If you just want to see the NMEA data from the GPS module, connect the TX pin to ArduPilot's RXI pin, right next to the to TXO pin, instead.) On the ground side, connect the other Xbee module to your laptop with your FTDI cable, as described here. That's it! If you open up a terminal program on your laptop and set the baud rate to 4800 or 56,000, depending on which ArduPilot software version you're using, you should see ArduPilot telemetry coming in. Anytime there is a "Serial.println" in the code, that data will be sent through the Xbees to the ground. You can record any data you want, and even GPS datalog from the ground! Couldn't be easier. BTW, if you want to test the range of your Xbee link, connect the plane-side Xbee module's RX and TX pins together to create a loopback circuit and use the X-CTU utlitity's range test function. For the modules we're using you should get around a mile. Once you've got the wireless connection set up, you can use our Ground Station to display real-time telemetry with ArduPilot 2.1 and up:

Read more…
Original ArduPilot controls 2 servos (throttle/yaw) by autopilot code or from RC receiver. Other 2 servos are controlled by FMA copilot (or again manually by RC). Although there're servo IN3/4 and servo OUT 3/4 connectors on ArduPilot board, they're at present unused (actually only pass-through control from IN3/4 to OUT3/4 is connected).Yet there's simple way to control all 4 servos from ArduPilot code, and use other two servos for interesting tasks, such as moving plane's camera tilt. Or even better - provide full stabilization in basic ArduPilot, which is at present only planned in ArduPilot Pro.While I don't know yet if stabilization code would fit into 16KB memory of AT168 (together with navigation code), I'll just post how to control all 4 servos from code. We'll see what comes out of this.On hardware side, there's simple wire soldered between digital 6 pin and MUX IN 3 pin. Also connector is added at servo OUT 3 at top right for connecting the servo:

This is for controlling servo 3, for adding control of servo 4, add another wire from D7 to MUX4 and another connector to Servo OUT 4.Now programming part... For controlling servo, we need to output PPM signals at pins 6/7. And do it at 50Hz frequency. Luckily we can set interrupt function that will be called 50 times/second, and generate PPM pulses there. This functionality will use up to 10% of CPU (for delays while generating PPM signals). All the code is here.In your code, call Servo_3_4_Init once, then Servo_3_set or Servo_4_set whenever you need to set angle for particular servo.That's it! We can control now 4 servos from inside code. And possibly add stabilization part to the code...? Let's hope so.
Read more…

UAV Senior Project

Hi everyone,My classmate and I are building a UAV as part of our senior project. We're going to base it off the Ardupilot. Despite having little experience directly in UAVs, we think, perhaps incorrectly, that the project will be lacking a bit in depth (thanks to Chris Anderson and Jordi Munoz for doing a lot of the real work for us). We are looking for any suggestions from the community for a good add-on project that could be accomplished in a couple months. Anyone have any ideas? Thanks in advance!
Read more…

Alternative connection of GPS to ArduPilot

If you don't like too short connection cable of GPS to ArduPilot, then here's a fix. Longer cable and better connector will solve 2 problems:- more flexible assembly into a plane- easier program upload to board (since GPS cable must be disconnected before uploading)Original connection:

We don't need to use original GPS connector on ArduPilot, and can connect directly to one data pin and Ground/VCC. So we need just 3 wires, and ideal choice is standard servo cable.I used Servo extension cable, cut it close to female connector, and soldered it to the board as shown here:

and detail:

Then cut original small GPS cable to half, and solder it with servo extension cable male part:

Properly isolate wires:

And you're done:

Tested, it works.
Read more…
3D Robotics

ArduPilot flight testing--success!

Great day of flight testing ArduPilot today. Jordi and I were joined by Jack Poller, and we spent the whole day debugging code, tweaking gains and otherwise building towards the aim of the day, fully autonomous flight. Good news: ArduPilot works great in the air, we now have an officially flight-tested autopilot! Here's how the day went: --Arrived at the BARCS field and set up all the equipment. Beautiful day in the Bay Area--warm, sunny and no wind. Today we were going to test ArduPilot with the Superstar EP as the main platform, with the EasyGlider and EastStar with EasyGlider wings as secondary platform. --First hitch: we realized that in the last code rev we introduced a bug. Although the ArduPilot board is working fine, the navigation isn't working at all. Lots of debugging and looking at variables on the Arduino serial monitor. Eventually Jordi finds the bug (two variables got reversed). --While he's debugging, I get the EasyStar with Easy Glider wings ready to fly. I get it up a few times but it's really a dog. The ailerons generate as much inverse drag as they do tilt and it's just a struggle to keep it in the air. I crash land once, then again, then after some repairs, a catastrophic nose dive under power. Bye-bye FrankenStarGlider!

--Second hitch: FMA Co-pilot (the version with the built in Rx) is acting flakey. Lots of wiggling of wires before we realize that the crystal is falling out! Scary. Put it back in and tape it for safety. --Lots of flying and watching ArduPilot data and GPS telemetry on the ground via the Xbee wireless module on the FTDI pins of the autopilot board. FMA working great, but when the autopilot is on we're getting inexplicable behavior. This isn't the way it worked in the sim! Keep landing and tweaking gains but it still isn't going in the direction it's supposed to go. Switch to "sneaker sim". Jack walks around with the plane and we watch the rudder and telemetry. --We've been flying in RTL mode but to make the debugging easier decide to switch to "NE mode"--when the autopilot is switched on the plane should always fly NE (that just happened to be the way the wind was coming and wasn't into the sun). --Eventually we figure out what's wrong. The way I've got the Superstar set up, both Channel 3 and 4 are reversed at the Tx to suit the servo configuration. D'oh! Reverse the sign of the servo commands in the code, and now it seems to be working right in sneaker sim. Realize that we need to write a checklist for people using ArduPilot with basics like watching out for reversed channels and remembering to disconnect the GPS before uploading new code.

(Jordi and Chris. All photos by Jack Poller. Full gallery of the day here). --Back to the air. Better, but still not there. It's losing too much altitude in turns. Land, reduce the gains so full rudder is just 15 degrees. Switch from a 7.4V battery to an 11.1v battery to give the plane more power (it's really struggling to climb). --While Jordi is tweaking gains and charging up laptops, Jack and I fly the EasyGlider Pro with FMA stabalization. It's a lovely plane and flies so well. Jack, who's never flown before, gets about ten minutes of air time and proves a natural. Jordi takes it a few times and achieves his best landing ever. Yay EasyGlider Pro! --Laptops recharged and new code loaded. Now we're getting there! The plane flies much better with the extra power. The FMA is dialed in just right. And ArduPilot is rock solid. Tight turns, tracks straight and good altitude hold. Success!

It's the end of the day and we're delighted--mission accomplished. Videos coming later but in the meantime, here's the new code. Also check out Jack's photo gallery of the day.
Read more…
3D Robotics

From BoingBoing: Someone flew a payload of something into Elmley Prison in Sheerness, Kent, using a RC helicopter. Whatever it was, it's been ingested or hidden, because no one can find it.: "A spokesman said: 'A remote control helicopter was flown into the grounds of HMP Elmley on December 23. 'As a result of this, a search of the prison grounds and an accommodation block were carried out and nothing was found...' 'Using a mini-helicopter to get contraband into jails is unprecedented. When officers spotted it they nearly fell off their chairs', a prison source told the Sun. 'It could have been drugs or a mobile phone in the package. It is possible it was a dummy run.' [Chris here: let me be clear that I'm posting this as a warning, not a recommendation. People may use our technology for ill as well as for good, so we should be part of the process of thinking how to stop/spot illegal activity, as well as (inadvertently) enabling it. ]
Read more…

Gyros for ArduPilot

Hi,I understand the issues about using simple rate gyros with an autopilot - i.e. you can't unless teamed with accelerometers etc - but could one use a head-lock gyro for stabilisation via aileron control ?Max flight time would be about 10 - 15 mins.Simon
Read more…

Blimpduino project underway

I have a winter student doing a blimpduino as a project.So far we have it out of the box and running the default beacon finding code with no problem. I am having the student go through the project as an opportunity to learn about microcontrollers, programming, navigation etc. If you want to follow our progress, you can look at: mtsacflight.blogspot.comThere are flight videos and more.
Read more…
3D Robotics
You gotta love the guys at Sparkfun. We had a small compatibility issue with the GPS daughterboard that was caused by the polarity protection diode on ArduPilot that has the effect of dropping the 5v Rx voltage down to 4.3v on ArduPilot. Not a problem for ArduPilot, but could be a problem with voltage-sensitive add-ons. I asked Nathan at Sparkfun for advice. Not only did he solve the problem (the next production run of the boards will have a power regulator), but he wrote a whole tutorial on the issue!
Read more…

CropCam UAV for sale (used)

We have a cropcam which we are looking to sell. It comes with all hardware and software needed to fly. It also comes with a laptop computer that has a recent update to all Microsoft office software ($670). It also comes with several spare servos, parts and four batteries thunderpower batteries with an astro charger for the batteries. Two optio A20 cameras will be included for an extra $100 but the lens doesn't always open on one and the LCD is broke on the other. We are asking $6500 for the package ($8500 value). The plane has a few minor dings and fixes but is definitely flight ready. It has made only a few flights since it was sent in to cropcam for a repair and test flight. And has maybe 50 flights its hole life.To learn more about the cropcam visit their website at www.cropcam.comCall me at 402 440 2839 or email me with any questions jayme@burkeyfarms.comJayme Dick-BurkeyBurkey Farms Inc.Milford, Nebraska
Read more…
3D Robotics

Good news, bad news from Sparkfun's big UAV push: ArduPilot and Bill Premerlani's autopilot board both sold out in the first week (I think ArduPilot sold out in it's first ten minutes!), as did Dean Goedde's AttoPilot power sensor. All are available to backorder, and I know at least another 15 ArduPilots have already been filled from backorder, with another production run of about 100 about to start. Bill's board is on the production schedule for restocking and Dean has lots more of his current sensor boards on the way to Sparkfun. I expect all inventory issues will have stabilized within a month. The next round of ArduPilots will have a small tweak on the power regulator that will bring the board voltage closer to 5v (rather than the current 4.3v). This should have no effect on the board itself, but will make it easier to add accessories and other sensor that may be more voltage sensitive than ArduPilot itself.
Read more…
3D Robotics

Guardian 2.0-Fast Response UAV

With UAVs coming into more widespread service in the armed services and all around us everyday, its becoming harder and harder to find and fill specialized niches of operation, and thats where the Guardian comes in. Designed for close convoy support, The Guardian was designed for near instantaneous deployment in contrast to the Raven which requires hand launch. The goal is to have it launch out of a canister mounted on the side of a convoy vehicle, so in ambush situations where hand launch of a support aircraft would be deemed impossible, The Guardian could provide a near instantaneous "eye in the sky."Orginally conceived by me for a 10th grade science fair project last year, I started off with the baics, working mostly just to prove my concept. Pics under my profile......Primary propulsion is a G80 rocket motor, and then once in the air, wings unfold and it becomes a normal electric powered glider. At that point it was only RC with no onboard camera due to "funding" restrictions.In 2007-2008

However this year, working with a Lockheed Martin Engineer as my mentor, I optimized my aircraft by applying math to my design. Wings became high aspect ratio and fins changed shape and grew in area. With design changes made, I moved on to how to actually make it. Utilizing AutoCAD and Solidworks I designed many of my components in 3D to be cut by CNC routing, a vast improvement over the Scroll Saw that I had used in the previous year.In 2008-2009

Other improvements include 99% composite construction for durability and strength. The wings and fins were all covered with lightwight fiberglass cloth and have internal Carbon Fiber stiffeners, a lesson I had learned the hard way after the fins on a flying prototype "dissappeared" when they only had a small carbon support on the leading edge of them.

<</body>As for the electronics, the Guardian will be carrying an autopilot and wireless camera system this year. *knock on wood* I settled on the KX171X 900mHz 500mW Aerial Video System for RangeVideo and placed the order about a month ago, but the components have yet to arrive. So until they do I'm at a stand still except for flight testing which I should be conducting next weekend with high hopes. (videos soon after that) Working with the camera I have the RVOSD as a HUD for FPV flying. Then on autopilot duties I will end up using the RVOSD until my ArduPIiot has arrived and is assembled ;)

Hopefully within the next couple of weeks I'll finish up my testing and post so vids of it in action. After that its science fair in February, and I have my sights set on International Level at INTEL ISEF and try and win back some of the money I have put into this project :)Any feedback and recommendations are graciously welcome, as I will most likely due a continuation next year to finish my highschool research and maybe even take it to college with me...Cheers,Julian
Read more…