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

  • Wow, so are you saying that eclipse automatically added the prototypes to the pde files or did you do it yourself?
  • Fab, thanks for the info. The software is now compiling and upload was successful.
  • Uwe, you might have a problem with eclipse.

    The arduino ide doesn't compile the .pde files directly. It creates a tmp folder and copies all .pde files into a single .c file. Then comes the important bit...

    The .pde files do not have the normal c prototypes for each method declared within them so the arduino ide creates them and puts them at the top of the temp .c file. I think the idea here is to make novice users unaware of public prototypes but it's a problem for other ide/compilers
  • 3D Robotics
    Brett's right: that means you didn't load the libraries right. Please go through that part of the manual again.
  • Gerber: did you load the library into a library folder and then declare that folder as your library folder in Arduino?
  • Hi Friends,

    When I try to compile the ArduPilotMega_1_0.pde, I am getting this error message.
    What was missing?

    Thanks



    C:\Program Files\arduino-0018\libraries\APM_BMP085\APM_BMP085.cpp:43:18: error: Wire.h: No such file or directory

    C:\Program Files\arduino-0018\libraries\APM_BMP085\APM_BMP085.cpp: In member function 'void APM_BMP085_Class::Init()':

    C:\Program Files\arduino-0018\libraries\APM_BMP085\APM_BMP085.cpp:62: error: 'Wire' was not declared in this scope

    C:\Program Files\arduino-0018\libraries\APM_BMP085\APM_BMP085.cpp: In member function 'void APM_BMP085_Class::Command_ReadPress()':

    C:\Program Files\arduino-0018\libraries\APM_BMP085\APM_BMP085.cpp:143: error: 'Wire' was not declared in this scope

    C:\Program Files\arduino-0018\libraries\APM_BMP085\APM_BMP085.cpp: In member function 'void APM_BMP085_Class::ReadPress()':

    C:\Program Files\arduino-0018\libraries\APM_BMP085\APM_BMP085.cpp:156: error: 'Wire' was not declared in this scope

    C:\Program Files\arduino-0018\libraries\APM_BMP085\APM_BMP085.cpp: In member function 'void APM_BMP085_Class::Command_ReadTemp()':

    C:\Program Files\arduino-0018\libraries\APM_BMP085\APM_BMP085.cpp:179: error: 'Wire' was not declared in this scope

    C:\Program Files\arduino-0018\libraries\APM_BMP085\APM_BMP085.cpp: In member function 'void APM_BMP085_Class::ReadTemp()':

    C:\Program Files\arduino-0018\libraries\APM_BMP085\APM_BMP085.cpp:190: error: 'Wire' was not declared in this scope
  • Is it possible to compile the source with Eclipse? It seems that the compiler does not recognize the funktions located in system.pde / navigation.pde for example.

    ./Attitude.cpp:7: error: 'control_mode' was not declared in this scope
    ../Attitude.cpp:7: error: 'MANUAL' was not declared in this scope
    ../Attitude.cpp:14: error: 'crash_timer' was not declared in this scope
    ../Attitude.cpp:15: error: 'nav_roll' was not declared in this scope
    ../Attitude.cpp:18: error: 'control_mode' was not declared in this scope
    ../Attitude.cpp:18: error: 'TAKEOFF' was not declared in this scope
    ../Attitude.cpp:18: error: 'LAND' was not declared in this scope
    ../Attitude.cpp:22: error: 'FLY_BY_WIRE_B' was not declared in this scope
    ../Attitude.cpp:22: error: 'AIRSPEED_SENSOR' was not declared in this scope
    ../Attitude.cpp:25: error: 'nav_pitch' was not declared in this scope

    My own code for the Arduino Mega is compiling fine.
  • Chris, yes, this lets you use ucenter to communicate to the ublox through the APM over the xbees when you select debug mode 6.
  • In schematic it looks like Output 5 is available and Pin 17. Would that be true?
  • what pin number could I use to connect to click a camera?
    Using code CHDK for canons i can use a brief, low mA, 5V output connected to mini-usb into camera.
    I was thinking of a spare like Output 5 and hoping to use pinMode to setup and digitalWrite to set low or high.
    If all that is OK then I just need that pin number for Output 5 - thanks!
This reply was deleted.