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

  • I have a weird thing happening, and I appreciate any insight that anyone can give.

    On one of the testbeds I am using to test the APM, I am using a pretty heavy duty, high voltage speed controller. It appears that the speed controller is causing the the APM to sense motion (even though the aircraft is stationary and on the bench) and counteract with significant movement on the servos. This is happening whenever I throttle up the motor.

    I was able to isolate the speed controller by holding the speed controller in my hand away from the aircraft and placing a thick piece of material between it and the APM. This causes the drift in the servos to almost completely go away.

    Also, I am not running the throttle through the APM. I am going directly from the radio receiver to the speed controller.

    Why would my speed controller be causing interference with the APM?
  • Chris and Michael, thank you for the info about upgrading to Arduino 0019. That solved the compiliation error relating to the stream.h library.
  • 3D Robotics
    Hoopty: As Jason mentioned, please don't use the latest code from the SVN until we release a public beta zip file at the end of the month. We're moving things around and it's in an unstable state. If you want to mess around with the code while you're waiting, please use an older version
  • yes I am here again. I have just created a new sketchbook directory since the old sketchbook directory seems to have been corrupted by a download. Every time I compile I get some variation of what is seen below. I went to the manual and looked for compilation errors. The manual refers me to a ardupilot 2.x compilation error site. Most of these suggestions will confuse people b y telling them to select

    "3.If you have the older ATmega168 board did you select "Arduino Diecimila" as the board in the Arduino Tools menu? If you have the newer ATmega328 board, did you select "Arduino Duemilanova w/ATmega328"?"

    I dont think it is me this time ;-) Library 533 Ardupilot 908

    ArduPilotMega.cpp:6147:1: error: unterminated #if
    ArduPilotMega:93: error: invalid conversion from 'const char*' to 'char'
    ArduPilotMega.cpp: In function 'void update_GPS()':
    ArduPilotMega:699: error: 'ALTITUDE_MIX' was not declared in this scope
    ArduPilotMega.cpp: In function 'void read_user_configs()':
    EEPROM:232: error: 'flight_mode_channel' was not declared in this scope
    EEPROM:233: error: 'auto_trim' was not declared in this scope
    EEPROM:234: error: invalid conversion from 'int16_t*' to 'const uint16_t*'
    EEPROM:234: error: initializing argument 1 of 'uint16_t eeprom_read_word(const uint16_t*)'
    ArduPilotMega.cpp: In function 'void save_user_configs()':
    EEPROM:254: error: 'flight_mode_channel' was not declared in this scope
    GCS_Ardupilot:0: error: 'auto_trim' was not declared in this scope
    ArduPilotMega.cpp: In function 'byte readSwitch()':
    control_modes:45: error: 'flight_mode_channel' was not declared in this scope
    ArduPilotMega.cpp: In function 'void init_ardupilot()':
    system:145: error: 'flight_mode_channel' was not declared in this scope
    ArduPilotMega.cpp: In function 'void set_mode(byte)':
    system:236: error: 'auto_trim' was not declared in this scope
  • Take a look at the code in control_modes.pde - routines read_control_switch and readSwitch should help you understand. You need to figure out what the pulse width settings you can generate with your transmitter - maybe the gear or flaps or aux switches and once you know that (using the DEBUG_SYSTEM==1 setting), you can change the header file (config.h) so that you have modes that you want - I just want FlyByWIreA and AUTO to start with (in addition to hardware MANUAL which is > 1750)
  • I have a question, but forgive me if it's spelled out somewhere as I have been unable to find it.

    I am confused about how to control the Flight Modes. I see the section in the wiki ( http://code.google.com/p/ardupilot-mega/wiki/FlightModes ) In the wiki it discusses toggling the switch to control the flight modes, but in the software I see this::

    If you are using channel 8 for mode switching then POSITION_5 and POSITION_6 should be MANUAL
    The hardware failsafe MUX is set to go manual at 1750 milliseconds
    Set your switch(es) to produce 1165, 1295, 1425, 1555, 1685, and 1815 milliseconds


    Can someone please explain what the last line means? Set your switches? Is this a special type of radio that can alter the pwm times?
  • Developer
    You should read the manual; it explains this.
  • Just a simple question. I'm using epo Cloud Fly, It require Aileron, Elevator and Rudder. The alpha Code is able to move Aileron and Elevator. How do i change it to be able to use Rudder.
  • OK, Upgrading to Arduino-0019 did it.

    After checking out a fresh copy of the code i had to run an update before it downloaded all libraries, but now it compiles fine.

    /Magnus
  • 3D Robotics
    I just tried it and it compiles fine for me. That file is in your Arduino distro--mine is here: C:\Users\Chris\Documents\arduino-0019\arduino-0019\hardware\arduino\cores\arduino\stream.h

    Are you using Arduino 19? (you should be)
This reply was deleted.