3D Robotics

ArduPlane home page

3689354430?profile=original

3689312509?profile=original

 

Convert any RC airplane into a fully-autonomous UAV!
Just add the APM 2 autopilot to any RC aircraft and it becomes a fully-programmable flying robot with a powerful ground station and Mission Planner.  

 

Features include:

  • Return to Launch with a flick of your RC toggle switch or a mouse click in the graphical Ground Station
  • Unlimited 3D GPS waypoints
  • Built-in camera control
  • Fully-scriptable missions
  • One-click software load, and easy point-and-click configuration in the powerful Mission Planner. NO programming required!
  • Replay recorded missions and analyze all the data with a graphing interface
  • Supports two-way telemetry with Xbee wireless modules. 
  • Point-and-click waypoint entry or real-time mission commands while the UAV is in the air
  • Fly with a joystick or gamepad via your PC--no need for RC control!
  • Built-in failsafe will bring your aircraft home in the case of radio loss

 

All instructions and software are here.

 

 


3689354391?profile=original

3689354242?profile=original

 

APM 2 is an open source, Arduino-compatible, pro-quality autopilot. It is the most advanced IMU-based open source autopilot available today, and provides an entire UAV control system with scriptable missions with 3D waypoints, in-flight uploading of commands and powerful ground station software. 

 

APM 2 supports any kind of of vehicle with a one-click change of code. Available code include ArduPlane (fixed wing), ArduCopter (rotary wing), ArduRover (ground vehicles) and more.

 


Everything you need to create an ArduPlane UAV:

 

APM 2.5 autopilot with GPS ($179)

[Optional] Telemetry kit ($75).

3689354459?profile=original

 

You'll also need a at least a five-channel RC radio setup, a soldering iron, a mini USB cable and of course something that flies!3689354440?profile=original (We're partial to the SkyFun delta wing (right) and
Bixlee 2   powered glider (left) or its equivalents ourselves).

 

 

 

 


Resources:

Manual
Source code/firmware

Note: ArduPilot Mega requires no programming, but it's open source and you're welcome to modify it if you'd like. If you are going to play with the code, you can use the free Arduino IDE to edit and upload the code to the ArduPilot board.

 

 

E-mail me when people leave their comments –

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

Join diydrones

Comments

  • Chris, outstanding. It's good to know that I am not crazy. How about my other problem, the one where I have no manual throttle control in stabilize mode? Believe me, it really caught me by surprise when I switched to stabilize mode and my prop started spinning despite the throttle stick being off. I know that this is expected in some of the other modes, but not in stabilize mode, correct? My prop took itself off and will reamain off until I get things debugged.
  • 3D Robotics
    Dean--got it. I can verify the control direction bug. As far as I can tell, it only crops up in stabilize (and possibly FBW--I didn't check) mode with elevon mixing.

    Basically, if you've got everything set up properly for manual RC and IMU control, the manual override direction in stabilize is backwards.

    That's an easy change--I just think two variables got reversed in the code. I'll file an issue and we'll fix it in the next few days.

    In the future, please file an issue when you can find a verify a bug like this. The developers typically aren't reading the comments of blog posts.
  • Chris, I also have a Skyfun flying wing. I am using a Spektrum 5 channel transmitter (Dx5e) and the Spektrum 6 channel receiver (AR6100e) that came with the transmitter. The transmitter only has a two position switch, so I have it set to select between Manual and Stabilize flight modes. With the switch in Manual mode everything works fine, and I have flown the plane with the switch in this position. When I put the switch in Stabilize mode I am experiencing two problems 1) The throttle goes to about half power (despite the throttle stick being at zero) and the throttle stick has no effect at all on the power setting 2) The control surface response to aircraft attitude changes is incorrect. Pitching motion create roll control, and roll motion creates pitch control. I can fix this by switching dip switch #1, but then the control inputs that I input via the transmitter are incorrect (pitch stick creates roll, and roll stick creates pitch). I have not looked at the code, but it seems to me that it should be written so that the dip switches only affect the portion of the control command that comes from the autopilot. Control direction problems that are associated with stick inputs should be fixed at the transmitter. Otherwise it is impossible to fix control direction problems if the autopilot and transmitter don't agree.
  • 3D Robotics
    Thanks, Irvin! We're constantly improving it, trying to make it easy, effective and powerful. Still a long ways to go, but there are literally dozens of people working every day to make it better. Not quite ready for Wal-Mart, but we're getting there ;-)
  • 3D Robotics
    Dean, I'm not sure I understand the problem. I just tested elevon mode. I set my transmitter to elevon mixing and in manual mode it does what it's supposed to do with my Skyfun flying wing. I've also got the DIP switch for mixing in the up position, so APM does the right mixing in Stabilize, too. Everything works exactly as you would expect. Can you explain more what you're not seeing?
  • I am experiencing the same problem with elevon mixing that I experienced with the alpha code. Namely, when in stabilize mode I can set the dip switches so that the control surface response to the RC transmitter is correct, or so that the control surface response to pitch and roll disturbances is correct, but not both. It seems that the autopilot software should be set up so that the user gets elevon mixing right in manual mode (using the switches or programming on the RC transmitter) and the dip switches on the Ardupilot only change the autopilot commands.
  • It looks like the new radio calibration process does not catch programmed servo limits? The limits I get when I perform the calibration process are almost full range (e.g. 1068 to 1870), but when I run the radio test, these same stick full stop stick positions create a much smaller pulse width range (eg 1300 to 1600). It seems that the autopilot will be overcommanding my control surface deflections if it using the wide range recorded during calibration.
  • The 1499 to 1500 is on the unused rudder channel (chan 4), not the throttle (chan 3). During calibration the throttle chanel is reported as having a range of 915 to 1919 which is fine. So, I'm back to my original question: Why is the autopilot commanding half throttle when I switch to stabilize mode and I have no manual control of the throttle in stabilize mode? Thanks!
  • @Chris So i use

    #define GPS_PROTOCOL GPS_PROTOCOL_UBLOX
    #define GCS_PROTOCOL GCS_PROTOCOL_LEGACY

    All of my
    #define SERIAL0_BAUD 38400
    #define SERIAL1_BAUD 38400 U-blox GPS
    #define SERIAL2_BAUD 38400
    #define SERIAL3_BAUD 38400 XBee telemetry

    no conflict right?

    is it correct?
  • To continue my comment above, I just noticed that the setup software claims my throttle has a range of 1499 to 1500. Not sure how that happened, but I will try recalibrating. All of the other servo ranges look fine.
This reply was deleted.