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:
- Full AUTO TakeOff,
- Exec of the flight plan (8 Waypoints),
- 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
Comments
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
Hi Jean-Louis,
Thank you so much for the timely help & support. Worked beautifully.Keep up the great work.
Regards,Swaroop
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
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
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
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
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
Hello Moshe,
I think that you need to really understood how the Arduino IDE works before any atempt to change the ArduMega source code... So, I recommend to visit the main Arduino tutorial page at: http://arduino.cc/hu/Tutorial/HomePage
Regards, Jean-louis
Hi Jean-Louis
Thanks. but where I can dind the following files u mention
commands_logic.pde
ArduPlane228xp2.pde
It's C, C++ soorce code ? please send me a link
On http://code.google.com/p/ardupilot-mega/wiki/home?tm=6 There isn't information regarding to my request ...
Regards,Moshe
Hello Moshe,
You will find my auto-landing code embedded in the files:
commands_logic.pde
ArduPlane228xp2.pde
If you are new in this field, I suggest you strongly to visit the Wiki dedicated to the ArduMega Pilot at:
http://code.google.com/p/ardupilot-mega/wiki/home?tm=6
Regards, Jean-Louis