ArduPlane v2: Full autonomous flight HIL simulation of a Nimbus 4m electro-glider drone

Here a video of the test of a Nimbus 4 meters wingspan electro-glider piloted by the firmware ArduPlane 2.28xp1 (updated version with a JLN mod). Test done in HIL mode with the AeroSIM-RC v3.83 simulator connected through the AP Mission planner v1.1.30 on an ArduPilot Mega board v1.

Test Mission profile:

  1. Full AUTO TakeOff,
  2. Exec of the flight plan (8 Waypoints),
  3. Full AUTO Landing.

The original ArduPlane v2.28 firmware has been updated (xp1) with some improvements:

  • Tuning of the final slope for a smooth touchdown, tested with the Nimbus 4 on AeroSIM-RC 3.83 in HIL mode,
  • Auto calculation of the wp_radius Vs the ground_speed and the max turn angle in AUTO mode so as to get the best turning point at the Wp,
  • add the CLOSED_LOOP_NAV ENABLED switch to allow redoing the flight plan after the end of the exec,
  • add HIL mode test in GCS_Mavlink.pde for AeroSIM RC v3.83 (and also Xplane v9), the APMHill plugin tested with the Nimbus 4m electro-glider model,
  • the CLI switch can be disabled, this allows to use only a APM CPU board without a full IMU shield for HIL test.

 

This is a part of the project Thermopilot (a Thermal Hunter drone): The purpose is to build a full autonomous Thermal Hunter Glider which is able to fly for a long duration in an area defined by a radius, a ceiling and a minimal altitude. The glider uses thermal soaring and dynamic soaring methods commonly used by full scale gliders during cross country soaring competitions. The ThermoPilot has been tested successfuly in flight during the summer and spring 2011 on a Cularis and a ASW24 3.50m electro-glider (below). Lot of flights have been done in high mountains (slope/ridge soaring) and above the fields (thermal soaring).

The Thermopilot project will continue intensively during the spring 2012... Stay tuned...

Regards, Jean-Louis

More infos at: http://diydrones.com/profile/JeanLouisNaudin

Views: 12832

Comment by moshe drori on April 11, 2012 at 1:02pm

Hello  Jean-louis ,

I'm very appreciate your response - I'm Not familiar  with the ArduMega  especially with the landing capability.

My question was not because I want to make any change on the ArduMega  source code ...  

The reason that I simply want to see/understanding the ArduMega  lending algorithms - thus simple as it !!!

We wants to integrate the ArduMega in our project - to replace it with an old electronics - 4 modules...

Following to http://code.google.com/p/ardupilot-mega/wiki/MPWaypoint - One of the basic way point commands description is for example

 {NAV_LAND n/a, alt, lat, lon}

I'm very  interesting / also have  to convinced my  supervisors about it - If  it's really  work ... so I didn't find it... on the ArduPlane-2.32\libraries

In the past I working familiar  with GNU C under Eclipse IDE . - http://www.eclipse.org/

I'll take your  recommend and  visit the main Arduino tutorial page at:http://arduino.cc/hu/Tutorial/HomePage

I use a simple and popular editor SlickEdit to - http://en.wikipedia.org/wiki/SlickEdit  follow on the command Top down

Thanks again for your response

Regards, Moshe

Comment by Swaroop Hangal on June 5, 2012 at 10:02pm

Hello  Jean-louis,

I tried using the HIL mode of ArduPlane 2.34 without the IMU shield. I am not being able to connect it to APM planner. MAVlink times out. I have set the parameters

#define HIL_MODE HIL_MODE_SENSORS
#define HIL_PORT 0
#define HIL_PROTOCOL HIL_PROTOCOL_MAVLINK
in the APM_config.h file

 Is there any other configuration required to use the APMv1 in HIL without the shield?

Thanks and Kudos again for the wonderful work...

Regards,Swaroop


Developer
Comment by Jean-Louis Naudin on June 5, 2012 at 10:08pm

Hello Swaroop,

The official version of ArduPlane v2.34 need to be patched so as to be used without IMU shield. If you want to use your APM IMUless version with the mission planner, I recommend to use my customized ArduPlane v2.28 version at: http://ardupilotdev.googlecode.com/files/ArduPlane_228xp2.zip

Ps: You must use the library included in the zip.

Regards, Jean-Louis

Comment by Swaroop Hangal on June 5, 2012 at 11:31pm

Hi  Jean-louis,

Thanks for the prompt replay. I am trying to compile your ArduPlane using the APM specific arduino-1.0-relax patch, it s giving me errors like:

In file included from C:\arduino-0100-relax\libraries\AP_GPS/AP_GPS_Auto.h:9,
from C:\arduino-0100-relax\libraries\AP_GPS/AP_GPS.h:13,
from C:\arduino-0100-relax\libraries\AP_Mount/AP_Mount.h:25,
from C:\arduino-0100-relax\libraries\AP_Mount\AP_Mount.cpp:3:
C:\arduino-0100-relax\libraries\AP_GPS/../FastSerial/FastSerial.h:47:3: error: #error Must include FastSerial.h before the Arduino serial driver is defined.
In file included from C:\arduino-0100-relax\libraries\AP_GPS/AP_GPS_Auto.h:9,
from C:\arduino-0100-relax\libraries\AP_GPS/AP_GPS.h:13,
from C:\arduino-0100-relax\libraries\AP_Mount/AP_Mount.h:25,
from C:\arduino-0100-relax\libraries\AP_Mount\AP_Mount.cpp:3:
C:\arduino-0100-relax\libraries\AP_GPS/../FastSerial/FastSerial.h:95: error: conflicting declaration 'FastSerial Serial'
C:\arduino-0100-relax\hardware\arduino\cores\arduino/HardwareSerial.h:63: error: 'Serial' has a previous declaration as 'HardwareSerial Serial'
C:\arduino-0100-relax\libraries\AP_GPS/../FastSerial/FastSerial.h:96: error: conflicting declaration 'FastSerial Serial1'
C:\arduino-0100-relax\hardware\arduino\cores\arduino/HardwareSerial.h:69: error: 'Serial1' has a previous declaration as 'HardwareSerial Serial1'
C:\arduino-0100-relax\libraries\AP_GPS/../FastSerial/FastSerial.h:97: error: conflicting declaration 'FastSerial Serial2'
C:\arduino-0100-relax\hardware\arduino\cores\arduino/HardwareSerial.h:72: error: 'Serial2' has a previous declaration as 'HardwareSerial Serial2'
C:\arduino-0100-relax\libraries\AP_GPS/../FastSerial/FastSerial.h:98: error: conflicting declaration 'FastSerial Serial3'
C:\arduino-0100-relax\hardware\arduino\cores\arduino/HardwareSerial.h:75: error: 'Serial3' has a previous declaration as 'HardwareSerial Serial3'

So there must some conflict between the existing Arduino headers and the FastSerial library header....

Could you please help me out??

I also tried the arduinocpp tool for compiling your code. It gave a LOT of weird errors, more than arduino.

Thanks again for your support.

Regards,

Swaroop


Developer
Comment by Jean-Louis Naudin on June 5, 2012 at 11:56pm

Hello Swaroop,

You need to use the the Arduino-0022-relaxpatch to compil it successfully at:

http://ardupilot-mega.googlecode.com/files/arduino-0022-relaxpatch.zip

I have just checked this myself and it works well, see below:

Please don't forget to use the library attached with the firmware...

Regards, Jean-Louis

Comment by Swaroop Hangal on June 6, 2012 at 7:11am

Hi  Jean-Louis,

Thank you so much for the timely help & support. Worked beautifully.Keep up the great work.

Regards,Swaroop

Comment by Swaroop Hangal on June 9, 2012 at 4:55am

Hi Jean-Louis,

Sorry to bother you again..that too on a weekend, but I am trying to get the telemetry over xbee working on Serial port 3, but to no avail. I have set the following parameters in the APM_config.h file

#define GCS_PROTOCOL GCS_PROTOCOL_MAVLINK

#define GCS_PORT 3

#define SERIAL3_BAUD 38400

I am using your firmware for HILS w/o the IMU shield.Could you please help ?

Regards,Swaroop

Comment

You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service