I'm delighted to announce the release of ArduPlane 2.50 for your flying pleasure. This release has a lot of advances to some of the core ArduPlane code, and should be a big improvement for many people.
Perhaps the most important change in this release is the new DCM code that does acceleration correction based on the GPS. This improvement is based on work by Bill Premerlani which really advances the state of the art for attitude estimation on small microcontroller based autopilots. The improvement in attitude estimation is very noticable in flight, resulting in significantly more accurate control. Many thanks to Bill for his patience in working with Jon Challinger and myself to bring this improvement to ArduPlane.
Other significant improvements include:
- updates to the barometer driver to sample the pressure and temperature much more rapidly, leading to better altitude estimation
- updates to the AP_AnalogSource driver to be interrupt driven, allowing us to sample all analog sources much more rapidly. For ArduPlane this improves the airspeed sensor on the APM2 a lot.
- updates to the waypoint completion logic, to use a "finish line" algorithm. This prevents the problem of circling around a waypoint when we miss it by more than the waypoint radius. The waypoint is now considered complete when we pass a line that is perpendicular to the track, and passing through the target waypoint.
- improvements to the AP_Mount code, allowing for control of roll/pitch/yaw stabilisation via EEPROM variables that can be set over MAVLink. This allows you to setup the mount once, and it will resume operation as soon as you boot. These changes also fix a number of bugs in the AP_Mount code, so it AP_Mount hasn't worked for you, please try again. Many thanks to Greg Fletcher and Amilcar Lucus for the AP_Mount improvements.
- Lots of improvements to the ArduPlane parameter documentation. This documentation should be the first place you look when trying to understand ArduPlane configuration parameters. Many thanks to Andreas Antonopoulos for his great work on generating these wiki docs based on the source code markup.
- New LAND_PITCH_CD parameter to control the landing pitch when not under airspeed control. Thanks to Jeff Taylor for fixing this!
- New SCALING_SPEED parameter that allows you to set the base speed for scaling PIDs. Previously we assumed a standard speed of 15 m/s, which is too low for fast aircraft. By adjusting SCALING_SPEED you can have the same set of PIDs for both airspeed and non-airspeed flight control.
There is one change in this release which may require some re-tuning. We were using the wrong value for time delta when using the PID controller for navigation roll. This has been fixed by making the PID library calculate the delta time internally, but it means that existing HDG2RLL_I and HDG2RLL_D values will be incorrect. I have fixed the defaults, but if you have your own settings for these, you will need to drop HDG2RLL_I by a factor of 5, and raise HDG2RLL_D by a factor of 5 to get the same result as for the previous release.
Thanks to everyone who has contributed to this release!
For the next release the plan is to concentrate on improved stabilisation and navigation controllers, based on the great work being done by Jon Challinger.
Happy flying!
Replies
Hallo,
I used params for skywalker from Arduplane WIKI page (skywalker.param). In stabilize mode plane oscilates quickly in pitch axis (checked visualy - elevator oscilated fast), not like CG would be too rear, much faster. Can somebody help me which param I have to adjust?
Roll axis is stabilized perfect.
Using Arduplane 2.5, APM1 1280, Skywalker 168cm.
Thanks in advance.
Hi Andrew,
Is there a document explaining the source code of ArduPlane 2.50 (or any version before that), will be very useful? I need this understanding for my project which I am doing for 2-axis camera mount stabilization using servos.
Thank you!
Strange crash with APM1 and Arduplane 2.5 happened to me too. Flown 3 points in auto mode. Last WP was LOITER_UNLIM. The flight was perfect in almost stright line (2 WPs was in one line). Whole way is 4 km long, thus I followed the plane by car. On last WP turn plane made did loitering (cca 5 minutes) but during this loitering it still descent slightly and suddenly it rolled in 70-80 degrees and dived down in spiral. Then hit the ground.
Whole the time AUTO mode was active and thought LOITER_UNLIM will stay the plane at this position till I take the control won MANUAL mode.
Plane is (Skaywalker 168cm), no other injuries on electronics. But now i'm really doubtfull about APM and Arduplane.
The battery was discharget to only 70% (70% energy was still there) and APM has its own BEC so the problem is only with software or the APM itself.
Loitering seems to have problems with all versions of software for Arduplane and Arducopter thought. Or the sensors are goining to be wild after circles in loitering, who knows.
I am trying to plan my electronics power supply. Will an APM 2.5 be ok at 6v? I know the manual says not to exceed 6v, just wondering if being right at 6v is OK. I have a video transmitter that requires 6v minimum and I don't want to make the power setup more complicated than it needs to be.
Hi,
I’m trying to locate where into the new APM 2.5 code, the compass calibration routine is.
Can somebody provide some assistance?
Best regards
Evan
Today I was flying, testing some things and tunning others.
One of these things was Auto Take Off. Everything works fine but when the take off procedure ends and the plane goes to next waypoint the plane loses altitude for a moment and then start to flight in AUTO normally. I post the tlog.
2012-08-21 17-52-09.tlog
Reset Mission – when do we get it?
I see that the RST_MISSION parameter is in the documentation but not available in 2.50. I really need this option. When can we expect the next firmware update?
.
Hi Andrew,
Here's a little more on the strange waypoint following behavior I'm seeing. I set up a 4-waypoint pattern, with waypoint 5 being a DO-JUMP to keep the plane flying. The pattern you see below was repeated with each pass of the pattern. The plane (in sim) actually behaved differently on each of the four legs, but consistently in this regard as noted. From waypoint 1 to 2, the plane followed an S-curve. The actual point it was flying to changed during the leg. It started off to the right (east?) and migrated to the center of the waypoint. The plane clearly followed the moving waypoint. However, from waypoint 2 to 3 the plane behaved exactly as expected with zero-degree cross track correction. The orange line pointed to the center of the waypoint and the plane flew stright to the waypoint. From waypoint 3 to 4 the plane flew a curve. The orange line started off to the right (east again?) and migrated to the center of the waypoint as the plane approached. Finally, from point 4 to 1 the plane behaved as if I had cross track correction in. It overflew the line a little, came back and then flew straight to the center of the waypoint.
If this is a navigation bug, could it be related to the magnetometer?
Finally, although the oval pattern is gone in loiter, the circle is off-center relative to the waypoint (see graphic). Did you make any code changes recently to correct the oval? I did reload the firmware and things seem to have changed a little.
Thanks,
Paul
Rudder Tuning
I am trying to tune Rudder Mix (KFF_RDDRMIX) so that there is zero sideslip during a loiter turn. What parameter do I need to look at the well me which way to adjust that parameter?
I see that all the Servo Yaw PID’s are 0. Why is that?
Can I use servo yaw P (YW2SRV_D) to have the APM to automatically make the sideslip 0 during a turn. I really need a procedure on the best way to tune the rudder. This should make the airplane fly with minimum drag when turning.
.
Along with the change in waypoint following that I noted above (plane flies an arc from waypoint-to-waypoint instead of straight line when cross-track correction set to zero degrees), the plane also flies an oval instead of a circle in loiter. I'm seeing this in simulation mode, but I assume this would apply to real mode as well. Also, I'm using an earlier version of Mission Planner in which this was not happening before the firmware upgrade. Was there a change in navigation code that would lead to this flight behavior? Also, I set my loiter radius to a higher value to see if it would make it easier for the plane to fly a circle. It still flies an oval.
Thanks,
Paul
-
1
-
2
-
3
-
4
-
5
of 5 Next