Looks like an older version got uploaded this morning. If you did download it, please replace it with this version. It's the version Christof has been thoroughly testing and has all of the good bug fixes!
I have a sneaky suspicion that the pitch is reversed when you use 2.6.2 with ArduIMU.
@Christoph - do you use IMU in your setup?
@Jason - has anyone been testing your code with ArduIMU? I have had quite a few flights with this latest version of the code and my Easystar always seems to pitch down when the AP should tell it to go up. Autoland can't be tested because it won't hold altitude.
This was not an issue when I flew using the thermopiles
I tested my FBW B solution today. The throttle works like a charm. I think you can add it to the 2.6.2 RC now.
I used same PID values as for throttel_fbw and for throttle.
I'll be able to try out 2.6.2 tomorrow. I noticed there's no header file in the current ZIP file. I assume I can just copy my existing, modified header file to the new folder containing the 2.6.2 code. Is that correct?
Glad to see such a nice looking plane up in the air.
BTW, 2.6.3 is not ready to test. I'm trying a bunch of things that are also in Mega, but easier for me to do in 2.6.
I can't seem to get the enclosure button to work on my reply. So I'll give you a debug string and a possible fix for the FBW B throttle issue:
} else if ((control_mode == FLY_BY_WIRE_B) && AIRSPEED_SENSOR) {
// we use the throttle to dynamically adjust the desired airspeed
// --------------------------------------------------------------
airspeed_error = (servo_throttle/125 * ( AIRSPEED_FBW_MAX - AIRSPEED_FBW_MIN)) + AIRSPEED_FBW_MIN - airspeed_current;
Serial.print("airspeed_error ");
Serial.println(airspeed_error, DEC);
servo_throttle = throttle_cruise + PID(airspeed_error,dTnav,CASE_FBW_THROTTLE);
Serial.print("servo_throttle ");
Serial.println(servo_throttle, DEC);
}
I did some testing this morning on 2.6.2 at downloadsection. Here my results.
Testflight: 13.7.2010
Hardware: ArduPilot
SW version: AP 2.6.2 from download section
Sensors: IMU V2
Speedsensor blue
UBlox
Rating:
0 == not tested
1 == poor
2 == good
3 == excellent
Tested:
FLY_BY_WIRE_A 3
FLY_BY_WIRE_B 0
STABILIZE 3
LOITER 3
RTL 3
AUTO 3
Missed Waypoints 0
Takeoff 3
Autolanding 0
Total Flights: 6
Comments:
Flight 1
Timestamp: 08.35
Tested: STABILIZE 3
FBW_B 0, No Throttle response
FBW_A 3
Flight 2
Timestamp: 08.45
Tested: LOITER 3
RTL 3
Remark: Groundspeed seems to be constant. In headwind the motor turns more RPM, with tailwind less.
Thats how it should be.
Flight 3
Timestamp: 0900
Tested: AUTO 3
Remarks Groundstart 30°, 100m
AUTO engaged at ~50m alt
Plane climbs to steep, estimated 60°, Motor reduces to 20%
Flight 4
Timestamp: 0910
Tested: AUTO 3
Remarks Groundstart 15°, 100m
AUTO engaged at ~50m alt
Thottle_Max raised from 70 to 100
A) engaged AUTO leveled at cruising speed, nice climb to alt. Then starts loitering at slowspeed
estimated 30m radius. Thats the "GPS lost circle" I think. Maybe due to 100m alt with WP1 at
50m.
B) engaged AUTO with 10° left bank, corrects bank to ~0, nice climb
C) engaged AUTO with 10° right bank, corrects bank to 0, nice climb.
Flight 5
Timestamp: 0920
Tested: AUTO 3
Remarks: Groundstart 20°, 50m
Engaged AUTO in direction WP1 at 10m above ground with cruising speed.
Nice climb, then plane circles to find wp1 and starts mission, complets mission with nice LOITER.
Switch back to manual, come down to 10m, flying away from WP1, engage AUTO. Autostart is not
performed, looks like plane tries to turn to WP1. Must cancel because of altitude.
Autostart would perform better, if 1 or two secs 0° bank and level (or even better 0° bank and 2 sec
ramp) to acceletate, then climb, let motor run + 1 sec at end of climb to keep speed.
Flight 6
Timestamp: 0940
Tested: AUTO 3
Remarks: Flying away from WP 1, engage AUTO at 10m above ground.
Climbs nice at 0° bank, plane turns and looks for WP1, starts mission and ends with a nice
LOITER.
Conclusion: Best code ever, except FBW_B has no throttle
Autostart would perform even better, if 1 or two secs 0° bank and level (or even better 0° bank and 2
sec ramp) to acceletate, then climb, let motor run + 1 sec at end of climb to keep speed.
Thanks Jason, thats a superb code.
Best Regards
Christof
BTW the EasyDrone is back in service, only some scares left.
Whoops..my bad. I thought I was replacing an older version, not your latest greatest. Sorry!
(I wish there were some way by which the latest code in the SVN repository, which is always up to date, could be automatically turned into a zip file like this so we don't have this manual upload process that can lead to errors.)
Replies
@Christoph - do you use IMU in your setup?
@Jason - has anyone been testing your code with ArduIMU? I have had quite a few flights with this latest version of the code and my Easystar always seems to pitch down when the AP should tell it to go up. Autoland can't be tested because it won't hold altitude.
This was not an issue when I flew using the thermopiles
I tested my FBW B solution today. The throttle works like a charm. I think you can add it to the 2.6.2 RC now.
I used same PID values as for throttel_fbw and for throttle.
Best
Christof
attitude.pde
or i must start the tuning from the begin with the newest version ?
olli
BTW, 2.6.3 is not ready to test. I'm trying a bunch of things that are also in Mega, but easier for me to do in 2.6.
I can't seem to get the enclosure button to work on my reply. So I'll give you a debug string and a possible fix for the FBW B throttle issue:
} else if ((control_mode == FLY_BY_WIRE_B) && AIRSPEED_SENSOR) {
// we use the throttle to dynamically adjust the desired airspeed
// --------------------------------------------------------------
airspeed_error = (servo_throttle/125 * ( AIRSPEED_FBW_MAX - AIRSPEED_FBW_MIN)) + AIRSPEED_FBW_MIN - airspeed_current;
Serial.print("airspeed_error ");
Serial.println(airspeed_error, DEC);
servo_throttle = throttle_cruise + PID(airspeed_error,dTnav,CASE_FBW_THROTTLE);
Serial.print("servo_throttle ");
Serial.println(servo_throttle, DEC);
}
Gentlemen
I did some testing this morning on 2.6.2 at downloadsection. Here my results.
Testflight: 13.7.2010
Hardware: ArduPilot
SW version: AP 2.6.2 from download section
Sensors: IMU V2
Speedsensor blue
UBlox
Rating:
0 == not tested
1 == poor
2 == good
3 == excellent
Tested:
FLY_BY_WIRE_A 3
FLY_BY_WIRE_B 0
STABILIZE 3
LOITER 3
RTL 3
AUTO 3
Missed Waypoints 0
Takeoff 3
Autolanding 0
Total Flights: 6
Comments:
Flight 1
Timestamp: 08.35
Tested: STABILIZE 3
FBW_B 0, No Throttle response
FBW_A 3
Flight 2
Timestamp: 08.45
Tested: LOITER 3
RTL 3
Remark: Groundspeed seems to be constant. In headwind the motor turns more RPM, with tailwind less.
Thats how it should be.
Flight 3
Timestamp: 0900
Tested: AUTO 3
Remarks Groundstart 30°, 100m
AUTO engaged at ~50m alt
Plane climbs to steep, estimated 60°, Motor reduces to 20%
Flight 4
Timestamp: 0910
Tested: AUTO 3
Remarks Groundstart 15°, 100m
AUTO engaged at ~50m alt
Thottle_Max raised from 70 to 100
A) engaged AUTO leveled at cruising speed, nice climb to alt. Then starts loitering at slowspeed
estimated 30m radius. Thats the "GPS lost circle" I think. Maybe due to 100m alt with WP1 at
50m.
B) engaged AUTO with 10° left bank, corrects bank to ~0, nice climb
C) engaged AUTO with 10° right bank, corrects bank to 0, nice climb.
Flight 5
Timestamp: 0920
Tested: AUTO 3
Remarks: Groundstart 20°, 50m
Engaged AUTO in direction WP1 at 10m above ground with cruising speed.
Nice climb, then plane circles to find wp1 and starts mission, complets mission with nice LOITER.
Switch back to manual, come down to 10m, flying away from WP1, engage AUTO. Autostart is not
performed, looks like plane tries to turn to WP1. Must cancel because of altitude.
Autostart would perform better, if 1 or two secs 0° bank and level (or even better 0° bank and 2 sec
ramp) to acceletate, then climb, let motor run + 1 sec at end of climb to keep speed.
Flight 6
Timestamp: 0940
Tested: AUTO 3
Remarks: Flying away from WP 1, engage AUTO at 10m above ground.
Climbs nice at 0° bank, plane turns and looks for WP1, starts mission and ends with a nice
LOITER.
Conclusion: Best code ever, except FBW_B has no throttle
Autostart would perform even better, if 1 or two secs 0° bank and level (or even better 0° bank and 2
sec ramp) to acceletate, then climb, let motor run + 1 sec at end of climb to keep speed.
Thanks Jason, thats a superb code.
Best Regards
Christof
BTW the EasyDrone is back in service, only some scares left.
Testflights 13.7.2010-2.6.2.zip
(I wish there were some way by which the latest code in the SVN repository, which is always up to date, could be automatically turned into a zip file like this so we don't have this manual upload process that can lead to errors.)