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.
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).
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! (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.
Comments
When I run stabilize mode with elevon mixing turned off, the servos respond correctly to stick inputs.
But when I turn on elevon mixing, the servos do not respond with proper mixing at all. When moving the stick in one axis (i.e. left/right for roll), the channel 1 servo has extremely exaggerated movements, while the channel 2 servo barely twitches. If I move the stick in the other axis (i.e. forward/back for pitch), the channel 1 servo barely twitches while the channel 2 servo goes through the exaggerated movements.
Any help or suggestions are greatly appreciated!
Are we sure uBlox works in southern hemisphere? I'm in Australia. I looked at spec but no mention of that.
I will look closer at your printouts later - the B562 is correct. Are you at 9600 or at 38400 baud? In other words, is your configuration correct for ArduPilot Mega?
Otherwise, I can say that I have waited for quite a while - make sure that you have the antenna at least on a window sill or even a little outside the house. I waited this morning until I moved it as close to the window as possible.
But no lock.
upon sending a warm restart I get:
??:??:?? 0000 B5 62 06 04 04 00 01 00 02 00 11 6C µbl
??:??:?? 0000 78 80 78 80 78 F8 80 80 80 80 78 00 80 78 00 80 x€x€xø€€€€x€x€
0010 80 F8 00 78 78 F8 00 78 80 78 78 78 78 78 78 78 €øxxøx€xxxxxxx
0020 F8 80 80 00 78 80 80 80 F8 80 80 00 78 78 80 F8 ø€€x€€€ø€€xx€ø
and these repeated for many lines.
Is this output OK? seems different to Chris's screen grab (in post url above) and values seem too constant and repetitive.
not seeing UTC time in bottom right corner either (shouldn't i receive at least that?)
no messages in message window.
not much in text window. just short commands
I have tried cold, warm restarts and waiting 20mins.
I shall have to try out the suggestions soon.
Thanks
#include "avr/io.h" (replace quotes with the brackets)
Here is TCIII's passthrough code so you can connect your UBLOX to the APM normally and checkout the UBLOX with the u-center app without having to build a cable.
#include
void setup() {
// Sirf
//Serial.begin(57600);
// uBlox
Serial.begin(38400); // FTDI on APMega Beta RX0-TX0
Serial1.begin(38400); // UBLOX on APMega Beta RX1-TX1
pinMode(7,OUTPUT); // PD7 - AIN0 - Remove Before Fly input pin -
setGPSMux();
Serial.print("Begin GPS Test");
}
void loop()
{
// system Timers
// Incoming from UBLOX to U-Center
if(Serial1.available()>0)//Ok, let me see, the buffer is empty?
{
delay(30);
while(Serial1.available()>0){
byte incoming = Serial1.read();
//Serial.print(incoming,DEC);
Serial.print(incoming,BYTE); // will output Byte values
//Serial.print(",");
}
//Serial.println(" ");
}
// and back again... U-Center to UBLOX
if(Serial.available()>0)//Ok, let me see, the buffer is empty?
{
delay(30);
while(Serial.available()>0){
byte incoming = Serial.read();
//Serial.print(incoming,DEC);
Serial1.print(incoming,BYTE); // will output Byte values
//Serial.print(",");
}
//Serial.println(" ");
}
}
void setGPSMux(void)
{
digitalWrite(7, HIGH); //Remove Before Fly Pull Up resistor
}
-
43
-
44
-
45
-
46
-
47
of 59 Next