mirror of https://github.com/ArduPilot/ardupilot
3606 lines
136 KiB
Plaintext
3606 lines
136 KiB
Plaintext
Release 4.0.7beta1, 2nd October 2020
|
|
------------------------------------
|
|
|
|
This is a minor release with some important bug fixes against 4.0.6.
|
|
|
|
The changes are:
|
|
|
|
- Fixed F32Lightening board IMU fast sampling issue
|
|
|
|
- fixed issue with EKF2 and EKF3 with use of high accuracy GPS modules. This is important for anyone flying with a RTK GPS
|
|
|
|
- Fixed KakuteF7 DShot glitch issue
|
|
|
|
- Fixes issue with checking for valid RC input in ICE disable channel
|
|
|
|
- fixed an interrupt flood issue with any sensor that uses interrupt timing measurement, such as RPM sensors.
|
|
|
|
- Modified RM3100 driver to problem all 4 possible I2C addresses
|
|
|
|
- Fixed UDP RC input on Linux boards to accept up to 16 RC inputs on UDP
|
|
|
|
The most critical fix in the above list is the ISR flood issue.
|
|
|
|
ISR Flood Issue
|
|
---------------
|
|
|
|
The ISR flood issue happens when a misbehaving external sensor (such
|
|
as an RPM sensor for a petrol motor) starts providing pulses faster
|
|
than the flight controller can process them. If this happens then the
|
|
CPU can be overloaded in the interrupt handling for the sensor and
|
|
stop flying the vehicle. The level of interrupt rate needed to cause
|
|
this issue is around 500k interrupts per second, so to be safe we have
|
|
added a limit of 100k interrupts per second. If a single interrupt
|
|
source produces more than 10k interrupts in a single 0.1 second period
|
|
then we disable that interrupt source, print a warning to the user and
|
|
raise an internal error.
|
|
|
|
Happy flying!
|
|
|
|
Release 4.0.6, 7th September 2020
|
|
---------------------------------
|
|
|
|
The ArduPilot development team is proud to announce the release of
|
|
plane 4.0.6 stable. This is a significant release with a lot of
|
|
changes, so please read the change summary below carefully.
|
|
|
|
- changed LED scripting API to allow more than 32 LEDs on a pin
|
|
- added support for ProfiLED LEDs
|
|
- added u-blox GPS moving baseline u-blox auto-configuration
|
|
- fixed handling of GPS antenna positions on EKF GPS switch
|
|
- changed default USB IDs to new ArduPilot specific IDs
|
|
- fixed bug in handling trim for RC control of camera mounts
|
|
- added LGR_OPTIONS bits to control landing gear behaviour on takeoff/landing
|
|
- improved mavlink streaming output control to better allocate time to each channel
|
|
- fixed send of mavlink PARAM_VALUE on set of a readonly parameter
|
|
- fixed mag variance reporting in EKF_STATUS_REPORT mavlink message
|
|
- fixed time wrap bug in BMP085 barometer driver
|
|
- fixed buffer overflow in ST24 RC input driver
|
|
- fixed EKF usage of WMM tables when user has specified a specific declination
|
|
- fixed bug in AP_Terrain on-disk format
|
|
- added script for offline generation of terrain data
|
|
- severel improvements to smbus battery drivers
|
|
- fixed a race condition in parameter storage on ChibiOS
|
|
- fixed use of zero GNSS timestamp in UAVCAN GPS driver
|
|
- improved GCS messages during bootloader flash
|
|
- fixed CS pin in bootloader that could corrupt FRAM on some boards
|
|
- added GPS yaw to MAVLink GPS_RAW_INT message
|
|
- added Hott telemetry support
|
|
- added FRSky FPort support
|
|
- fixed bug in CAN clock and queue handling on H7 based boards
|
|
- added support for BRD_ALT_CONFIG for alternative hardware configs on several boards
|
|
- added new boards CUAV-Nora, CUAV-X7, MatekH743, R9Pilot, mRoNexus
|
|
- improved reporting of internal errors to GCS
|
|
- fixed recursion bug in tonealarm player
|
|
- fixed flaperon SERVO_AUTO_TRIM behaviour
|
|
- added option to compensate forward throttle for battery voltage
|
|
- added compensation in VTOL gains for pressure altitude
|
|
- switched to new more flexible compass ordering system
|
|
- fixed forcing of safety off on IOMCU reset
|
|
- increased maximum compass scale factor to 1.4
|
|
- added RTL_CLIMB_MIN parameter for initial climb in RTL
|
|
- fixed disable of throttle nudge during a RC failsafe
|
|
- added support for a wider range of DLVR airspeed sensors
|
|
- fixed RC input processing for out of range RC channels
|
|
- added THR_FAILSAFE=2 option for flying BVLOS with only GCS failsafes enabled
|
|
- fixed reordering of compasses on boot based on compass priorities
|
|
- fixed use of minimum accuracy for GPS data in EKF2 and EKF3, fixing an issue with RTK GPS modules that report overly optimistic accuracy values
|
|
- fixed handling of RC_OPTION bit for disabling receiver failsafe handling
|
|
- fixed LOITER_TO_ALT with terrain altitude target
|
|
- fixed an issue with swapping UAVCAN compasses and calibration
|
|
- fixed use of VTOL quadplane missions (where the plane flies as a multi-rotor for auto waypoints)
|
|
- fixed legacy parsing of some lightware i2c lidars when beyond max range
|
|
- fixed RTL_AUTOLAND with MIS_RESTART=1
|
|
- enable more compasses on low flash boards
|
|
- HAL erase storage fix for flash storage boards
|
|
- prevent jump to circle mode in TAKEOFF if flying for less than 10s
|
|
- fixed handling of out of range on LightwareI2C Lidar
|
|
- fixed init of HoTT telemetry
|
|
- added support for mRo Pixracer Pro, Holybro Pix32v5
|
|
- added arming check for terrain data healthy if needed
|
|
- increased monitor thread size to 768
|
|
- fixed IMU fast sampling on F35Lightning board
|
|
|
|
The key changes to existing behaviour to watch out for in this update
|
|
are:
|
|
|
|
USB IDs
|
|
-------
|
|
|
|
ArduPilot has now switched to it's own USB IDs for all boards. For
|
|
most users this won't cause any change, except they may notice the
|
|
drop down list of devices in MissionPlanner will have the ArduPilot
|
|
flight controllers labelled more usefully as "ArduPilot" instead of
|
|
just "STM32". If you hit issues on windows please try reinstalling the
|
|
device drivers from this URL:
|
|
https://firmware.ardupilot.org/Tools/MissionPlanner/driver.msi
|
|
|
|
Terrain
|
|
-------
|
|
|
|
A bug fix in the format ArduPilot uses to store terrain data means
|
|
that your flight controller will need to re-download the terrain data
|
|
onto the sdcard via your GCS. If you fly without a GCS and you use
|
|
terrain data then please re-download the terrain data you need by
|
|
setting up a mission when you have internet access and allowing your
|
|
flight controller to request terrain data from your GCS.
|
|
|
|
Pressure Altitude Compensation
|
|
------------------------------
|
|
|
|
This release adds in the missing hook for the VTOL motor controller on
|
|
a quadplane to compensate the VTOL gains using your pressure
|
|
altitude. For most people this will not have a noticible effect, but
|
|
some users that have tuned their aircraft for high locations may
|
|
notice a tuning change.
|
|
|
|
Compass Ordering
|
|
----------------
|
|
|
|
The new compass ordering system in this release gives a lot more
|
|
flexibility and should preseve existing configurations and
|
|
calibrations. If you hit issues then please have a look at the new
|
|
compass ordering user interface in recent beta releases of
|
|
MissionPlanner.
|
|
|
|
THR_FAILSAFE=2
|
|
--------------
|
|
|
|
For people flying before visual range (with appropriate
|
|
authorisations) there is a new option which allows for safer
|
|
operation. By setting THR_FAILSAFE=2 you can setup the R/C failsafe so
|
|
that R/C input will stop being used when one of the receiver failsafe
|
|
conditions is met, while not triggering any failsafe actions. This is
|
|
a significant improvement over setting THR_FAILSAFE=0 as it prevents
|
|
the receiver inputs being used for stick mixing and other inputs that
|
|
would be inappropriate when in receiver failsafe.
|
|
|
|
Many thanks to everyone who contributed to and tested this release!
|
|
|
|
Happy flying!
|
|
|
|
Release 4.0.6beta5, 25th August 2020
|
|
------------------------------------
|
|
|
|
This should be the final beta for 4.0.6. Several important fixes are
|
|
included:
|
|
|
|
- fixed disable of throttle nudge during a RC failsafe
|
|
|
|
- added support for a wider range of DLVR airspeed sensors
|
|
|
|
- fixed RC input processing for out of range RC channels
|
|
|
|
- added THR_FAILSAFE=2 option for flying BVLOS with only GCS
|
|
failsafes enabled
|
|
|
|
- fixed reordering of compasses on boot based on compass priorities
|
|
|
|
- fixed use of minimum accuracy for GPS data in EKF2 and EKF3, fixing
|
|
an issue with RTK GPS modules that report overly optimistic
|
|
accuracy values
|
|
|
|
- fixed handling of RC_OPTION bit for disabling receiver failsafe
|
|
handling
|
|
|
|
- fixed LOITER_TO_ALT with terrain altitude target
|
|
|
|
Happy flying!
|
|
|
|
Release 4.0.6beta4, 27th July 2020
|
|
----------------------------------
|
|
|
|
This is a minor change over beta3
|
|
|
|
- fixed an issue with swapping UAVCAN compasses and calibration
|
|
|
|
- fixed use of VTOL quadplane missions (where the plane flies as a
|
|
multi-rotor for auto waypoints)
|
|
|
|
- fixed legacy parsing of some lightware i2c lidars when beyond max
|
|
range
|
|
|
|
Happy flying!
|
|
|
|
|
|
Release 4.0.6beta3, 7th July 2020
|
|
----------------------------------
|
|
|
|
This is a minor change over beta2
|
|
|
|
- fixed RTL_AUTOLAND with MIS_RESTART=1
|
|
- enable more compasses on low flash boards
|
|
- HAL erase storage fix for flash storage boards
|
|
|
|
Happy flying!
|
|
|
|
Release 4.0.6beta2, 23rd June 2020
|
|
----------------------------------
|
|
|
|
This is a minor change over beta1
|
|
|
|
- prevent jump to circle mode in TAKEOFF if flying for less than 10s
|
|
- fixed handling of out of range on LightwareI2C Lidar
|
|
- fixed init of HoTT telemetry
|
|
- added support for mRo Pixracer Pro, Holybro Pix32v5
|
|
- added arming check for terrain data healthy if needed
|
|
- fixed compass ordering bug
|
|
- increased monitor thread size to 768
|
|
|
|
Happy flying!
|
|
|
|
Release 4.0.6beta1, 23rd May 2020
|
|
---------------------------------
|
|
|
|
This is a major release with a significant number of new features and
|
|
bug fixes. You should read the list of changes and the information
|
|
below carefully.
|
|
|
|
- changed LED scripting API to allow more than 32 LEDs on a pin
|
|
- added support for ProfiLED LEDs
|
|
- added u-blox GPS moving baseline u-blox auto-configuration
|
|
- fixed handling of GPS antenna positions on EKF GPS switch
|
|
- changed default USB IDs to new ArduPilot specific IDs
|
|
- fixed bug in handling trim for RC control of camera mounts
|
|
- added LGR_OPTIONS bits to control landing gear behaviour on takeoff/landing
|
|
- improved mavlink streaming output control to better allocate time to each channel
|
|
- fixed send of mavlink PARAM_VALUE on set of a readonly parameter
|
|
- fixed mag variance reporting in EKF_STATUS_REPORT mavlink message
|
|
- fixed time wrap bug in BMP085 barometer driver
|
|
- fixed buffer overflow in ST24 RC input driver
|
|
- fixed EKF usage of WMM tables when user has specified a specific declination
|
|
- fixed bug in AP_Terrain on-disk format
|
|
- added script for offline generation of terrain data
|
|
- severel improvements to smbus battery drivers
|
|
- fixed a race condition in parameter storage on ChibiOS
|
|
- fixed use of zero GNSS timestamp in UAVCAN GPS driver
|
|
- improved GCS messages during bootloader flash
|
|
- fixed CS pin in bootloader that could corrupt FRAM on some boards
|
|
- added GPS yaw to MAVLink GPS_RAW_INT message
|
|
- added Hott telemetry support
|
|
- added FRSky FPort support
|
|
- fixed bug in CAN clock and queue handling on H7 based boards
|
|
- added support for BRD_ALT_CONFIG for alternative hardware configs on several boards
|
|
- added new boards CUAV-Nora, CUAV-X7, MatekH743, R9Pilot, mRoNexus
|
|
- improved reporting of internal errors to GCS
|
|
- fixed recursion bug in tonealarm player
|
|
- fixed flaperon SERVO_AUTO_TRIM behaviour
|
|
- added option to compensate forward throttle for battery voltage
|
|
- added compensation in VTOL gains for pressure altitude
|
|
- switched to new more flexible compass ordering system
|
|
- fixed forcing of safety off on IOMCU reset
|
|
- increased maximum compass scale factor to 1.4
|
|
- added RTL_CLIMB_MIN parameter for initial climb in RTL
|
|
|
|
The key changes to existing behaviour to watch out for in this update
|
|
are:
|
|
|
|
USB IDs
|
|
-------
|
|
|
|
ArduPilot has now switched to it's own USB IDs for all boards. For
|
|
most users this won't cause any change, except they may notice the
|
|
drop down list of devices in MissionPlanner will have the ArduPilot
|
|
flight controllers labelled more usefully as "ArduPilot" instead of
|
|
just "STM32". If you hit issues on windows please try reinstalling the
|
|
device drivers from this URL:
|
|
https://firmware.ardupilot.org/Tools/MissionPlanner/driver.msi
|
|
|
|
Terrain
|
|
-------
|
|
|
|
A bug fix in the format ArduPilot uses to store terrain data means
|
|
that your flight controller will need to re-download the terrain data
|
|
onto the sdcard via your GCS. If you fly without a GCS and you use
|
|
terrain data then please re-download the terrain data you need by
|
|
setting up a mission when you have internet access and allowing your
|
|
flight controller to request terrain data from your GCS.
|
|
|
|
Pressure Altitude Compensation
|
|
------------------------------
|
|
|
|
This release adds in the missing hook for the VTOL motor controller on
|
|
a quadplane to compensate the VTOL gains using your pressure
|
|
altitude. For most people this will not have a noticible effect, but
|
|
some users that have tuned their aircraft for high locations may
|
|
notice a tuning change.
|
|
|
|
Compass Ordering
|
|
----------------
|
|
|
|
The new compass ordering system in this release gives a lot more
|
|
flexibility and should preseve existing configurations and
|
|
calibrations. If you hit issues then please have a look at the new
|
|
compass ordering user interface in recent beta releases of
|
|
MissionPlanner.
|
|
|
|
Many thanks to everyone who contributed to and tested this release!
|
|
|
|
Happy flying!
|
|
|
|
|
|
Release 4.0.5, 4th March 2020
|
|
-----------------------------
|
|
|
|
This release includes a one important bug fix and some minor
|
|
enhancements. The changes are:
|
|
|
|
- fixed bug handling change of RC input source while MAVLink signing
|
|
is active. This could cause a stack overflow and a crash
|
|
|
|
- added display of RC output types to aid in debugging DShot outputs
|
|
|
|
- modified clocking on H7 boards to produce more accurate clocks for
|
|
DShot
|
|
|
|
- switched to new USB VIDs for dual-CDC boards
|
|
|
|
- fixed a bug in handling LOITER_TURNS for quadplanes when
|
|
Q_GUIDED_MODE is enabled
|
|
|
|
- added a TECS reset at the end of a VTOL takeoff to handle aircraft
|
|
with TECS climb rates below VTOL climb rates
|
|
|
|
Happy flying!
|
|
|
|
Release 4.0.4, 16th February 2020
|
|
---------------------------------
|
|
|
|
This release includes a significant number of changes from 4.0.3. Key
|
|
changes are:
|
|
|
|
- re-sync the 4.0 release with Copter-4.0, bringing them in line so
|
|
as to maximise cross-vehicle testing
|
|
|
|
- fixed a timing issue in IOMCU that could lead to loss of RC input
|
|
frames and increased latency of output to ESCs on the IOMCU
|
|
|
|
- fixed a bug in restoring gains in QAUTOTUNE that could cause the
|
|
aircraft to be unstable on leaving QAUTOTUNE mode
|
|
|
|
- fixed stack size of ftp thread
|
|
|
|
The Copter-4.0 re-sync brings in quite a few structural changes. The
|
|
main user visible changes are:
|
|
|
|
- UAVCAN DNA server no longer needs a microSD card to operate
|
|
|
|
- added logging of UAVCAN servos and ESC feedback messages
|
|
|
|
- reduced QTUN logging rate to 25Hz
|
|
|
|
- reduced memory usage in EKF with multiple lanes
|
|
|
|
- Minor OSD improvements
|
|
|
|
- added a lot more scripting bindings
|
|
|
|
- fixed UAVCAN GPS status when not connected
|
|
|
|
- added EK3_MAG_EF_LIM limit for earth frame mag errors
|
|
|
|
- added MAVLink FTP support
|
|
|
|
- added support for WS2812 LEDs
|
|
|
|
Due to the significant number of changes with the re-sync I would
|
|
particularly appreciate as much flight testing as we can get on this
|
|
release.
|
|
|
|
Happy flying!
|
|
|
|
Release 4.0.3, 21st January 2020
|
|
--------------------------------
|
|
|
|
This is a minor release with a few bug fixes and enhancements. The
|
|
changes since beta1 are:
|
|
|
|
- fixed 3 missing semaphore waits
|
|
- fixed checking for bouncebuffer allocation on microSD card IO
|
|
- fixed incorrect param count
|
|
- prevent failsafe action from overriding a VTOL land
|
|
- fixed compass calibration failures with auto-rotation detection
|
|
- fixed errors on STM32H7 I2C (affects CubeOrange and Durandal)
|
|
- fixed a race condition in FrSky passthrough telemetry
|
|
- fixed DSM/Spektrum parsing for 22ms protocols
|
|
- added fixed yaw compass calibration method
|
|
- re-generated magnetic field tables
|
|
- ensure SERIAL0_PROTOCOL is mavlink on boot
|
|
|
|
The most important fix is for FrSky pass-through telemetry. Pass
|
|
through telemetry support had a race condition which could lead to the
|
|
flight controller generating a fault and rebooting. Until you are
|
|
running a firmware with the fix you should disable FrSky pass-through
|
|
telemetry by changing SERIALn_PROTOCOL from 10 to 0 on the where you
|
|
have SPort enabled.
|
|
|
|
Happy flying!
|
|
|
|
Release 4.0.2, 30th December 2019
|
|
---------------------------------
|
|
|
|
This is a minor release with a few bug fixes and enhancements. Changes
|
|
are:
|
|
|
|
- fixed voltage scaling on CUAVv5Nano
|
|
- fixed 10Hz NMEA output
|
|
- fixed range check on RC channel selection
|
|
- scale UART RX size with baudrate
|
|
- default fast sampling enabled on first IMU for all capable boards
|
|
- fixed bootloader flash alignment bug
|
|
- fixed PWM 5 and 6 for MatekF765-Wing
|
|
- support RM3100 compass on I2C
|
|
- fixed error on AHRS level trim in preflight calibration
|
|
- fixed handling of SB without BUSY on I2Cv1 devices
|
|
- update bootloaders to be more robust to unexpected data
|
|
- added new COMPASS_SCALE parameters and estimator to fix issue with
|
|
compass in Here2 GPS
|
|
- fixed issue with millis wrap on boards with 16 bit system timer
|
|
(MatekF405, MatekF765, speedybeef4 and KakuteF4)
|
|
- fixed i2c internal masks for several boards
|
|
- fixed scaling of Blheli32 RPM conversion
|
|
- changed to WFQ FrSky telemetry scheduler
|
|
- enable LED pin on MatekF765
|
|
- added params for Durandal battery monitor pins to param docs
|
|
- updated bootloaders to reduce change of line noise stopping boot
|
|
- fixed DMA error causing memory corruption in ChibiOS I2C driver
|
|
- fixed param conversion from plane 3.9.x to plane 4.0.x for rangefinders
|
|
- cope with UAVCAN GPS that doesn't provide AUX messages (Here2 GPS)
|
|
- send temperatures for IMUs on mavlink
|
|
- fixed I2C clock speed error on STM32H7
|
|
- fixed CR/LF output error for NMEA output
|
|
|
|
Happy flying!
|
|
|
|
Release 4.0.1, 22nd November 2019
|
|
---------------------------------
|
|
|
|
This is a minor release with a few bug fixes and enhancements. Changes
|
|
are:
|
|
|
|
- Added Q_ASSIST_ALT parameter which offers a way for VTOL assistance
|
|
at low altitudes
|
|
|
|
- fixed channels 5 and 6 on the MatekF765-Wing
|
|
|
|
- fixed a bug with sending data on a full UART in mavlink parameter
|
|
download
|
|
|
|
- fixed use of UAVCAN primary GPS with UART secondary GPS
|
|
|
|
- fixed failover between rangefinders of same orientation
|
|
|
|
- added RC option for TAKEOFF mode
|
|
|
|
- fixed logging of current on secondary battery monitors
|
|
|
|
- fixed register checking on DPS280 for mRoControlZeroF7
|
|
|
|
- added clock panel to OSD
|
|
|
|
- fixed B/E led brightness on Pixhawk4
|
|
|
|
- support RTCM injection to UAVCAN GPS for RTK support
|
|
|
|
- fixed an RC failsafe bug that could cause the geofence to disable
|
|
|
|
- fixed a bug in the SDP33 airspeed driver
|
|
|
|
Happy flying!
|
|
|
|
|
|
Release 4.0.1beta1, 17th November 2019
|
|
--------------------------------------
|
|
|
|
This is a minor release with a few bug fixes and enhancements for the
|
|
4.0 stable version.
|
|
|
|
Changes are:
|
|
|
|
- Added Q_ASSIST_ALT parameter which offers a way for VTOL assistance
|
|
at low altitudes
|
|
|
|
- fixed channels 5 and 6 on the MatekF765-Wing
|
|
|
|
- fixed a bug with sending data on a full UART in mavlink parameter
|
|
download
|
|
|
|
- added TECS_LAND_PMIN for constraining pitch minimum during landing
|
|
|
|
- fixed use of UAVCAN primary GPS with UART secondary GPS
|
|
|
|
- fixed failover between rangefinders of same orientation
|
|
|
|
- added RC option for TAKEOFF mode
|
|
|
|
- fixed logging of current on secondary battery monitors
|
|
|
|
- fixed register checking on DPS280 for mRoControlZeroF7
|
|
|
|
- added clock panel to OSD
|
|
|
|
- fixed B/E led brightness on Pixhawk4
|
|
|
|
- support RTCM injection to UAVCAN GPS for RTK support
|
|
|
|
Happy flying!
|
|
|
|
Release 4.0.0, 28th October 2019
|
|
--------------------------------
|
|
|
|
The final release of stable 4.0.0 has just one change from beta4,
|
|
which is to fix a bug in the new TAKEOFF flight mode.
|
|
|
|
Many thanks to everyone who has been testing the 4.0 release, and
|
|
special thanks to Henry for his fantastic work in bringing the wiki up
|
|
to date for this release!
|
|
|
|
Happy flying!
|
|
|
|
Release 4.0.0beta4, 19th October 2019
|
|
------------------------------------
|
|
|
|
A small set of improvements over beta3:
|
|
|
|
- fixed time race in airspeed driver (thanks to liang)
|
|
- fixed uninitialsed bytes in send_named_float()
|
|
- added TAKEOFF flight mode
|
|
|
|
Happy flying!
|
|
|
|
Release 4.0.0beta3, 7th October 2019
|
|
------------------------------------
|
|
|
|
A small set of improvements over beta2:
|
|
|
|
- added Pixhawk1-1M build (for Pixhawk1 with 1M flash bug)
|
|
- fixed a bug handling UART corruption for u-blox driver
|
|
- fixed a CAN ISR latency bug for STM32H7 boards
|
|
- fixed FMU channel mask to correctly obey SERVO_RATE
|
|
- fixed use of DMA on Pixracer WiFi UART
|
|
- reduced flash size and memory usage with EKF optimisation changes
|
|
- fixed a BLHeli bug when no motors enabled
|
|
- raise default LOG_FILE_BUFSIZE on boards with more memory
|
|
- fixed units of custom AHRS orientations
|
|
- fixed LOG_FILE_DSRMROT with delayed log stop on disarm
|
|
- fixed block flash logging
|
|
- fixed SLCAN bug on Pixhawk1 and fmuv2
|
|
- added check for airspeed and Z controller active for hover throttle learning
|
|
- enable hover learning by default in quadplanes
|
|
|
|
Happy flying!
|
|
|
|
Release 4.0.0beta2, 24th September 2019
|
|
---------------------------------------
|
|
|
|
A small set of improvements over beta1:
|
|
|
|
- Added autoranging to current and voltage in OSD
|
|
- fixed issue with motors spinning up in quadplane landing when below min lidar range
|
|
- fixed empty pre-arm warning string in EKF
|
|
- added code to cope with SCHED_LOOP_RATE being above max achievable rate
|
|
- fixed delay on oneshot125 channels which was limiting loop rate
|
|
- fixed use of uninitialised variable in mag fusion in EKF3
|
|
|
|
Happy flying!
|
|
|
|
Release 4.0.0beta1, 16th September 2019
|
|
---------------------------------------
|
|
|
|
The 4.0.0 release of ArduPilot plane is a major release. It contains
|
|
thousands of changes, some large and some small, developed over the
|
|
last year. Key changes include:
|
|
|
|
- support STM32H7 MCUs (Durandal and CubeOrange currently)
|
|
- QAUTOTUNE mode
|
|
- in-flight compass calibration
|
|
- support for dynamic node allocation server in UAVCAN
|
|
- support for SLCAN pass-through
|
|
- support for up to 10 battery backends
|
|
- support for MAVLink message intervals
|
|
- initial support for onboard Lua scripting
|
|
- automatic remount of microSD cards
|
|
- support for additional RC input on any UART
|
|
- support for WS2812 LEDs
|
|
- new simulators: Morse, Webots, SilentWings, Scrimmage
|
|
- added AFS_MAX_RANGE for limiting vehicle range
|
|
- added support for @READONLY in embedded parameter lists
|
|
- added SERIALn_OPTIONS for inversion, half-duplex and swap
|
|
- added support for reversible blheli32 ESCs
|
|
- added GPS timing jitter correction
|
|
- added Sum battery backend type
|
|
- added fuel flow battery battery types
|
|
- support landing gear control based on altitude
|
|
- added loiter-to-alt approach for quadplane landing
|
|
- added REVERSE_THROTTLE RCn_OPTION
|
|
- added crow brakes for differential spoilers
|
|
- support newer versions of JSBSim in SITL
|
|
- added RObotis servo support
|
|
- added UAVCAN servo support
|
|
- added failure timer for quadplane forward transitions
|
|
- added KDECAN and ToshibaCAN support
|
|
- added RM3100 compass support
|
|
- support new Invensense IMUs
|
|
- many small improvements to tailsitter support
|
|
- added QACRO mode
|
|
- improved watchdog logging
|
|
- improved EKF compass handling based on WMM data
|
|
- added AP_Perip CAN peripheral firmware system
|
|
- added IBUS R/C input support
|
|
- support yaw from GPS
|
|
- support DLVR I2C airspeed sensors
|
|
- fixed FrSky telem packet loss
|
|
- fixed SUMD for 16 channels via pulse input
|
|
- support UAVCAN buzzers, safety switch, safety LED and airspeed
|
|
- added NTF_BUZZ_VOLUME parameter
|
|
|
|
There are hundreds of other changes as well. I expect the beta period
|
|
for this release to be quite long, and I would greatly appreciate as
|
|
many test reports as possible. Please submit test results both for
|
|
successful and unsuccessful tests!
|
|
|
|
Happy flying!
|
|
|
|
|
|
Release 3.9.11, 15th September 2019
|
|
-----------------------------------
|
|
|
|
This release fixes two bugs:
|
|
|
|
- fixed an uninitialised byte in UAVCAN compass device IDs that
|
|
caused users to need to re-calibrate UAVCAN compasses
|
|
|
|
- fixed an I2C interrupt storm that could potentially cause a
|
|
crash. This crash has never been shown to happen in our stable
|
|
releases, but is being fixed as a preventative measure
|
|
|
|
Release 3.9.10, 26th August 2019
|
|
-------------------------------------
|
|
|
|
This releases includes an important fix to IOMCU handling that fixes a
|
|
problem where motors attached on the AUX channels can stop momentarily
|
|
due to an error in the UART handling to the IOMCU.
|
|
|
|
Release 3.9.9, 4th August 2019
|
|
------------------------------
|
|
|
|
New plane stable release with two fixes over beta4:
|
|
|
|
- fixed setting file timestamps with u-blox F9 GPS (thanks to Martin Sollie)
|
|
- fixed return value of LightWare serial rangefinder driver when out of range
|
|
|
|
Release 3.9.9beta4, 31st July 2019
|
|
----------------------------------
|
|
|
|
Minor update over beta3:
|
|
|
|
- fixed an issue with handling baro failure on CubeBlack
|
|
- forced INS_USE3=1 on CubeBlack when first two IMUs are enabled
|
|
|
|
Release 3.9.9beta3, 28th July 2019
|
|
----------------------------------
|
|
|
|
Minor update over beta2:
|
|
|
|
- fixed issue with setting of EKF origin in GPS modes
|
|
- added support for MS4525 on 4th I2C bus
|
|
- added delay on LW20 I2C probe
|
|
|
|
|
|
Release 3.9.9beta2, 11th July 2019
|
|
----------------------------------
|
|
|
|
Minor update over beta1:
|
|
|
|
- added mRoControlZeroF7 support
|
|
- enabled IO pass-thru on FMU failure on ChibiOS builds
|
|
|
|
Release 3.9.9beta1, 8th July 2019
|
|
---------------------------------
|
|
|
|
This is a minor release with some important safety and flight
|
|
improvement fixes.
|
|
|
|
Key changes are:
|
|
|
|
- learn EKF biases even for inactive IMUs, making IMU failover much more robust
|
|
|
|
- EKF uses earth magnetic field model to reduce in-flight compass errors
|
|
|
|
- EKF switches to first healthy IMU when disarmed
|
|
|
|
- IMU fix for dropped samples during high CPU usage
|
|
|
|
- added support for Ublox F9 GPS
|
|
|
|
- switched to ChibiOS I/O firmware for ChibiOS builds to support Spektrum bind
|
|
|
|
- CUAVv5 Nano LED fix
|
|
|
|
- fixed watchdog trigger on simple accelcal
|
|
|
|
- fixed drift of AMSL estimate when disarmed
|
|
|
|
- fixed rate integrator buildup when rate control disabled
|
|
|
|
Happy flying!
|
|
|
|
Release 3.9.8, 26th April 2019
|
|
------------------------------
|
|
|
|
This is a minor release with some important safety fixes. The fixes
|
|
relate to two issues:
|
|
|
|
- implement hardware support to reset the CPU if a software or hardware
|
|
failure causes the main loop to stop running
|
|
|
|
- fixed a bug in the handling of a failure of the primary IMU in a
|
|
multi-IMU system
|
|
|
|
The first fix relates to a flyaway that happened on a RadioLink
|
|
mini-pix flight controller. The mini-pix suffered a major hardware
|
|
failure that led to the main loop stopping. As the mini-pix does not
|
|
have an IO co-processor this resulted in fixed control surface outputs
|
|
and fixed motor output, which led to a flyaway. The plane was found,
|
|
but we want to ensure that if this ever happens again that the motor
|
|
will stop and that the pilot will regain control of the aircraft.
|
|
|
|
The fix is to enable an option in the STM32 processor called
|
|
"Independent Watchdog" (IWDG). The IWDG provides a mechanism to
|
|
automatically reset the CPU on software or hardware failure resulting
|
|
in the main loop stopping. When this happens the hardware also
|
|
provides a mechanism for ArduPilot to know that it is booting after a
|
|
watchdog reset, in which case it does the following:
|
|
|
|
- if the ChibiOS bootloader has been updated then it skips the normal
|
|
5 second delay in the bootloader
|
|
|
|
- it skips baromoter, gyro and airspeed calibration, allowing for
|
|
very fast boot
|
|
|
|
- the home position and attitude estimate of the vehicle is restored
|
|
to a point less than 0.3 seconds before the lockup
|
|
|
|
- the pilot regains full control, and if the pilot requests arming
|
|
then arming checks are automatically bypassed
|
|
|
|
We have tested this on an aircraft with a deliberately induced full
|
|
CPU lockup. The aircraft recovered and flew normally within 3 seconds
|
|
of lockup, with the pilot having full control. This was with a board
|
|
with no IOMCU. A board that does have an IOMCU (such as a Hex cube)
|
|
would have had full manual control on FMU lockup without the changes
|
|
in this new release. For those boards with IOMCU the advantage of the
|
|
new release is that the pilot will regain the ability to use
|
|
stabilised and auto modes (including RTL) after a full CPU lockup.
|
|
|
|
The additional protections of the IWDG support only apply to the
|
|
ChibiOS builds. The IWDG is not supported in NuttX builds.
|
|
|
|
The second key fix in this release relates to IMU failure on multi-IMU
|
|
systems. If the IMU that is associated with the currently active EKF
|
|
lane failed then the fixed wing attitude controller would lose
|
|
attitude control and the aircraft will crash unless the pilot takes
|
|
manual control. This has been fixed to ensure that IMU failover
|
|
operates correctly.
|
|
|
|
Other changes in this release:
|
|
|
|
- added support for the CUAVv5Nano board
|
|
|
|
- added retries to flash storage of parameters
|
|
|
|
- fixed pullups on some fmuv3 based boards that lack hardware pullups
|
|
on sdcard data lines
|
|
|
|
- fixed fallback to microSD for parameter storage if a board with
|
|
FRAM storage has a failed FRAM device
|
|
|
|
- added a specific check for hw failure regarding the recent
|
|
CubeBlack safety bulletin
|
|
|
|
- fixed the power flags for brick2 on fmuv5
|
|
|
|
Happy flying!
|
|
|
|
|
|
Release 3.9.7, 1st April 2019
|
|
-----------------------------
|
|
|
|
This is a minor release to fix a single important bug in speed/height
|
|
handling. The bug was in the TECS (total energy control system) and
|
|
could cause a sustained pitch down due to a transient glitch in
|
|
airspeed demand resulting in a large negative pitch integrator.
|
|
|
|
The log that found the bug was of a quadplane in CRUISE mode, and
|
|
resulted in the aircraft forcing nose down for long enough to crash.
|
|
|
|
The fix includes both protections for the pitch integrator and a fix
|
|
for the cause of the transient in airspeed demand affecting the TECS
|
|
demanded airspeed.
|
|
|
|
Happy flying!
|
|
|
|
|
|
Release 3.9.6, 4th March 2019
|
|
-----------------------------
|
|
|
|
This is a minor release with some important fixes for VTOL landings
|
|
and EKF handling of compass switching.
|
|
|
|
- fixed throttle slew on dual-motor planes
|
|
|
|
- handle VTOL landings with incorrect height (or failed rangefinder)
|
|
|
|
- fixed EKF alt datum reset on barometer reset
|
|
|
|
- probe all I2C buses for rangefinders (fixes I2C lidar on boards
|
|
with more than 2 I2C buses)
|
|
|
|
- fixed lightware serial detection for newer lidars such as LW20
|
|
|
|
- fixed motor relax code on VTOL landing to prevent motors powering
|
|
up after touchdown
|
|
|
|
- fixed forward motor in quadplane landing transition to allow motors
|
|
when landing at a height lower than takeoff height
|
|
|
|
- fixed throttle mix handling for VTOL planes on descent
|
|
|
|
- use WP altitude for height of ground in VTOL landing, allowing for
|
|
good landings at heights well above or below takeoff height
|
|
|
|
- fixed EKF compass switching with 3 compasses
|
|
|
|
- fixed mini-pix UART order to match case markings
|
|
|
|
- added generated git hash to apj file
|
|
|
|
- fixed apj generation to not change based on time of build
|
|
|
|
- fixed thread creation to use any heap, fixing a bug on
|
|
MatekF405-Wing with a compass
|
|
|
|
Happy flying!
|
|
|
|
|
|
Release 3.9.5, 27th January 2019
|
|
--------------------------------
|
|
|
|
This is a minor update over the 3.9.4 release. This release includes
|
|
the following changes:
|
|
|
|
- fixed orientation of 2nd IMU for OmnibusF7V2
|
|
|
|
- fixed LEDs on Pixhawk4 and Pixhawk4-mini
|
|
|
|
- fixed safety switch on Pixhawk4-mini
|
|
|
|
- improved robustness of microSD support under ChibiOS
|
|
|
|
- support insert of a microSD after boot but before logging starts
|
|
under ChibiOS
|
|
|
|
- added BRD_SD_SLOWDOWN parameter to allow microSD cards to be run at
|
|
a lower clock to improve reliability
|
|
|
|
- fixed VTOL takeoff in quadplanes to ignore latitude/longitude in
|
|
the mission item and always takeoff vertically
|
|
|
|
- added CubePurple (also known as PH2Slim) builds
|
|
|
|
- added DrotekP3Pro builds
|
|
|
|
- RC protocol decoding for SRXL, SUMD and ST24 extended to all boards
|
|
including pixracer and ChibiOS-only boards
|
|
|
|
- fixed CAN on Pixhawk4
|
|
|
|
- fixed EKF yaw reset in quadplanes
|
|
|
|
- fixed bug handling corruption of DSM RC protocols
|
|
|
|
- fixed internal amber LED on CubeBlack
|
|
|
|
Happy flying!
|
|
|
|
|
|
Release 3.9.4, 10th December 2018
|
|
---------------------------------
|
|
|
|
This is a minor update over the 3.9.3 release. Changes are:
|
|
|
|
- fixed a critical bug in SBUS handling on the Pixhawk4
|
|
|
|
- fixed bugs in benewake rangefinder driver
|
|
|
|
- added support for garmin LidarLite-V3HP
|
|
|
|
- improved error handling for TeraRanger Lidar
|
|
|
|
- fixed a bug in DSM handling for more than 7 channels on some boards
|
|
|
|
- fixed default voltage and current scaling for Pixhawk4 and PH4-mini
|
|
|
|
Happy flying!
|
|
|
|
Release 3.9.3, 10th November 2018
|
|
---------------------------------
|
|
|
|
The ArduPilot development team are delighted to announce the 3.9.3
|
|
stable release of the ArduPilot plane code. This release includes a
|
|
number of small but important fixes over 3.9.2:
|
|
|
|
- fixed error handling for corrupt RC input that could lead to a
|
|
crash in unusual circumstances
|
|
|
|
- fixed a race condition in IOMCU event startup that could lead to
|
|
the safety not being disabled on boot with BRD_SAFETYENABLE=0
|
|
|
|
- ensure surface speed scaling covers full range of configured
|
|
airspeeds
|
|
|
|
- added builds for new boards F35Lightning, omnibusf4v6, mRoX21-777
|
|
|
|
- updated GPIO numbers on AUX pins on all boards to be consistent
|
|
with docs
|
|
|
|
- updated KakuteF7 UARTs and buzzer
|
|
|
|
- added ESC sensor uart on OmnibusNanoV6
|
|
|
|
- fix for Benewake rangefinder at long ranges
|
|
|
|
- prevent attempts to erase dataflash logs while armed
|
|
|
|
Many thanks to the people who tested this release!
|
|
|
|
Happy flying!
|
|
|
|
|
|
Release 3.9.3beta1, 6th November 2018
|
|
-------------------------------------
|
|
|
|
This is the first beta release for the 3.9.3 firmware. This release
|
|
has the following changes over 3.9.2:
|
|
|
|
- fixed error handling for corrupt RC input that could lead to a
|
|
crash in unusual circumstances
|
|
|
|
- fixed a race condition in IOMCU event startup that could lead to
|
|
the safety not being disabled on boot with BRD_SAFETYENABLE=0
|
|
|
|
- ensure surface speed scaling covers full range of configured
|
|
airspeeds
|
|
|
|
- added builds for new boards F35Lightning, omnibusf4v6, mRoX21-777
|
|
|
|
- updated GPIO numbers on AUX pins on all boards to be consistent
|
|
with docs
|
|
|
|
- updated KakuteF7 UARTs and buzzer
|
|
|
|
- added ESC sensor uart on OmnibusNanoV6
|
|
|
|
Happy flying!
|
|
|
|
|
|
Release 3.9.2, 10th October 2018
|
|
--------------------------------
|
|
|
|
The ArduPilot development team are delighted to announce the 3.9.2
|
|
stable release of the ArduPilot plane code. This release includes a
|
|
number of small but important fixes over 3.9.1.
|
|
|
|
The changes since the 3.9.2beta3 release are:
|
|
|
|
- fixed a DShot send bug that could lead to board lockup
|
|
|
|
- fixed RGB LED display on Pixracer under both NuttX and ChibiOS
|
|
|
|
- fixed safety switch option handling bug
|
|
|
|
Thanks for the bug reports and testing by all users for the 3.9.2beta
|
|
series!
|
|
|
|
Happy flying!
|
|
|
|
|
|
>>>>>>> a9d5581378... Plane: updated release notes for 3.9.8-beta1
|
|
Release 3.9.2beta3, 20th September 2018
|
|
---------------------------------------
|
|
|
|
The is the third beta release of the plane 3.9.2 stable release. It
|
|
contains a small number of fixes:
|
|
|
|
- fixed clearing of loiter pilot acceleration targets for quadplanes
|
|
|
|
- fixed handling of duplicate rotations for COMPASS_AUTO_ROT
|
|
|
|
I expect this will be the last beta release before 3.9.2
|
|
|
|
Happy flying!
|
|
|
|
Release 3.9.2beta2, 15th September 2018
|
|
---------------------------------------
|
|
|
|
The is the second beta release of the plane 3.9.2 stable release. It
|
|
contains a number of important bug fixes.
|
|
|
|
- implement failsafe PWM in IOMCU, for AFS failsafe when FMU dies
|
|
|
|
- handle reversed channels correctly in AFS failsafe
|
|
|
|
- fixed twin motor plane handling in AFS failsafe
|
|
|
|
- fixed a bug in Q_ASSIST_SPEED support for tiltrotors that could
|
|
lead to zero throttle when assistance triggers.
|
|
|
|
- lower default PTCH2SRV_D to 0.04 after reports of oscillation on
|
|
small flying wings
|
|
|
|
- added speed scaler reduction in Q modes when at low airspeed
|
|
|
|
- fixed synthetic airspeed estimation to be along +ve X axis
|
|
|
|
- fixed relaxing of VTOL attitude controller on transition (thanks to
|
|
Leonard Hall)
|
|
|
|
- default COMPASS_AUTO_ROT to 2 on all boards
|
|
|
|
- fixed UART speed rounding bug that caused failure at high board
|
|
rates
|
|
|
|
- fixed a short glitch in position control on quadplane transition
|
|
(many thanks to Leonard for lots of help with this)
|
|
|
|
- fixed RSSI voltage from IOMCU
|
|
|
|
Thanks to everyone who has contributed, and please report all test
|
|
results with this beta.
|
|
|
|
Happy flying!
|
|
|
|
Release 3.9.2beta1, 12th September 2018
|
|
---------------------------------------
|
|
|
|
The is the first beta release of the plane 3.9.2 stable release. It
|
|
contains a number of important bug fixes.
|
|
|
|
- fixed a quadplane bug that could cause large attitude instability
|
|
during takeoff if the aircraft does not have enough power to climb
|
|
to its target height. Thanks to Leonard for the fix.
|
|
|
|
- fixed a bug that prevented dead-reckoning working on GPS loss.
|
|
|
|
- fixed an ADC bug that prevented some boards from using all of their
|
|
analog input. Thanks to vierfuffzig for reporting!
|
|
|
|
- fixed a bug in advanced failsafe support that left RC input to
|
|
throttle active after termination. Thanks to Michael Thomas for
|
|
finding this bug.
|
|
|
|
- fixed use of OLED displays on the first I2C bus on systems with two
|
|
I2C buses
|
|
|
|
Thanks to everyone who has contributed, and please report all test
|
|
results with this beta.
|
|
|
|
Happy flying!
|
|
|
|
|
|
Release 3.9.1, 31st August 2018
|
|
-------------------------------
|
|
|
|
The ArduPilot dev team are delighted to announce a new stable plane
|
|
release. This is a minor release, but does include some important
|
|
fixes.
|
|
|
|
The only change over the 3.9.1beta3 release is an increase in the USB
|
|
buffer size to give faster log download over USB.
|
|
|
|
Other important changes from the 3.9.1beta releases include:
|
|
|
|
- updated to default values for some tuning parameters
|
|
|
|
- fixed a critical safety issue found by Oliver Volkmann, and fixed
|
|
by Michael du Breuil. The problem could lead to quadplane motors
|
|
starting on reboot
|
|
|
|
- fixed a bug where RC failsafe could lead rudder input stuck at the
|
|
last rudder input value in some modes. Thanks to Michael du Breuil
|
|
for the fix
|
|
|
|
- improved DShot and BLHeli-passthrough support, fixing errors
|
|
reported by BLHeli32 ESCs and making using BLHeliSuite32 much more
|
|
reliable
|
|
|
|
- new tonealarm system, bringing the tones produced under ChibiOS and
|
|
Linux HALs in line with tones produced under the HAL_PX4 HAL.
|
|
|
|
- added a new LED driver for the NCP5623 LED
|
|
|
|
- fixed delay caused by parameter writes in AP_Stats
|
|
|
|
- fixed default RSSI input pin on some boards
|
|
|
|
- fixed the incorrect display of "no io thread heartbeat" message
|
|
|
|
- fixed microSD support on some boards due to running out of DMA
|
|
capable memory
|
|
|
|
Many thanks to everyone who has been testing the beta releases.
|
|
|
|
Happy flying!
|
|
|
|
|
|
Release 3.9.1beta3, 23rd August 2018
|
|
------------------------------------
|
|
|
|
This is the third beta for the 3.9.1 release, which is a minor
|
|
update over 3.9.0. This release includes the following changes:
|
|
|
|
- fixed a critical safety issue found by Oliver Volkmann, and fixed
|
|
by Michael du Breuil. The problem could lead to quadplane motors
|
|
starting on reboot
|
|
|
|
- fixed a bug where RC failsafe could lead rudder input stuck at the
|
|
last rudder input value in some modes. Thanks to Michael du Breuil
|
|
for the fix
|
|
|
|
- raised OSD thread stack size to 1024 (needed for new OSD items)
|
|
|
|
Thanks to everyone who is testing the 3.9.1beta series!
|
|
|
|
Release 3.9.1beta2, 17th August 2018
|
|
------------------------------------
|
|
|
|
This is a the second beta for the 3.9.1 release, which is a minor
|
|
update over 3.9.0. This release includes the following changes:
|
|
|
|
- increased default buffer sizes in dataflash for some boards
|
|
|
|
- fixed a bug with small dataflash buffers
|
|
|
|
- updated OSD with new items: hdop, temperature, waypoint, xtrack,
|
|
flight distance, flighttime, efficiency (thanks to Hwurzburg,
|
|
vierfuffzig and sh83).
|
|
|
|
- reduced memory usage in serial buffers
|
|
|
|
- adjusted some default parameters to give a better first flight
|
|
experience for more users.
|
|
|
|
The default parameter changes are:
|
|
|
|
- RLL2SRV_P from 0.6 to 1.0
|
|
- RLL2SRV_I from 0.1 to 0.3
|
|
- RLL2SRV_D from 0.02 to 0.08
|
|
- PTCH2SRV_P from 0.6 to 1.0
|
|
- PTCH2SRV_I from 0.1 to 0.3
|
|
- PTCH2SRV_D from 0.02 to 0.08
|
|
- TECS_PITCH_MAX from 0 to 15
|
|
- NAVL1_PERIOD from 20 to 17
|
|
|
|
The PID parameter changes won't affect anyone who has done some
|
|
tuning, but will make the first flight experience for a new user be a
|
|
lot better for nearly all aircraft. Paul and I decided on the values
|
|
based on experience with users flight logs, plus the experience users
|
|
have had with AUTOTUNE mode.
|
|
|
|
Please report testing results!
|
|
|
|
Happy flying
|
|
|
|
Release 3.9.1beta1, 15th August 2018
|
|
------------------------------------
|
|
|
|
This is a the first beta for the 3.9.1 release, which is a minor
|
|
update over 3.9.0. This release includes the following changes:
|
|
|
|
- improved DShot and BLHeli-passthrough support, fixing errors
|
|
reported by BLHeli32 ESCs and making using BLHeliSuite32 much more
|
|
reliable
|
|
|
|
- new tonealarm system, bringing the tones produced under ChibiOS and
|
|
Linux HALs in line with tones produced under the HAL_PX4 HAL.
|
|
|
|
- added a new LED driver for the NCP5623 LED
|
|
|
|
- fixed delay caused by parameter writes in AP_Stats
|
|
|
|
- fixed default RSSI input pin on some boards
|
|
|
|
- fixed the incorrect display of "no io thread heartbeat" message
|
|
|
|
- fixed microSD support on some boards due to running out of DMA
|
|
capable memory
|
|
|
|
Given the changes are quite small, I hope to make this a fairly short
|
|
beta cycle. Please test it and report both success and failure.
|
|
|
|
Happy flying!
|
|
|
|
Release 3.9.0, 6th August 2018
|
|
------------------------------
|
|
|
|
The ArduPilot development team is delighted to announce a new stable
|
|
release of plane, version 3.9.0.
|
|
|
|
For those of you who have been testing the 3.9.0beta releases then you
|
|
won't see any surprises here. That are no changes since
|
|
3.9.0beta6. Also, many thanks for testing the betas!
|
|
|
|
For those of you coming from the last stable 3.8.5 release there are a
|
|
lot of changes. For a start, this is the first release to support both
|
|
the ChibiOS RTOS on STM32 boards and the NuttX RTOS. Previously stable
|
|
releases only used the NuttX RTOS. The ArduPilot project is moving to
|
|
ChibiOS for future releases, and we expect to drop support for the
|
|
NuttX builds for the next major stable release (which will probably be
|
|
called 3.10.0).
|
|
|
|
When you install the 3.9.0 release on board such as a Pixhawk1, Cube
|
|
or Pixracer you have a choice of which build to use. Choosing ChibiOS
|
|
will give you better performance and some very nice new
|
|
features. Choosing the NuttX (also known as "PX4" builds) will get you
|
|
the same base that we have been using for years.
|
|
|
|
There are a few features that are in the NuttX build but not yet in
|
|
the ChibiOS build, in particular the ChibiOS build does not yet
|
|
support PWM based rangefinders. That will be fixed in a future
|
|
release.
|
|
|
|
This release has a lot of new features. Some of the most important
|
|
ones are:
|
|
|
|
- DShot support for controlling ESCs
|
|
- BLHeli pass-thru support for ESC configuration
|
|
- automatic compass orientation on calibrating compasses
|
|
- improved VTOL flight code, with improved transition support and loiter
|
|
- support for Devo telemetry output
|
|
- new battery monitoring system, with more flexible failsafes
|
|
- built-in OSD support for boards with a MAX7456 OSD device
|
|
|
|
In addition, this release supports a lot of new flight boards,
|
|
including:
|
|
|
|
- AirbotF4
|
|
- F4BY
|
|
- KakuteF4
|
|
- KakuteF7
|
|
- MatekF405
|
|
- MatekF405-Wing
|
|
- mindpx-v2
|
|
- mini-pix
|
|
- Omnibusf4pro
|
|
- Omnibusf7V2
|
|
- Pixhawk4 and Pixhawk4-mini
|
|
- CUAVv5
|
|
- revo and revo-mini
|
|
- sparky2
|
|
|
|
We also now have custom ChibiOS based builds for some existing boards,
|
|
including:
|
|
|
|
- CubeBlack
|
|
- mRoX21
|
|
- Pixhawk1
|
|
- Pixracer
|
|
|
|
This means you now have a lot more choice in selecting a flight board
|
|
to use with ArduPilot.
|
|
|
|
This release was made possible thanks to contributions from dozens of
|
|
volunteer developers in the dev team. In total there are over 5
|
|
thousand changes since the 3.8.5 release. Special thanks to:
|
|
|
|
- Siddharth Purohit
|
|
- Tom Pittenger
|
|
- Randy Mackay
|
|
- Michael du Breuil
|
|
- Peter Barker
|
|
- Mark Whitehorn
|
|
- Paul Riseborough
|
|
- Francisco Ferreira
|
|
- Jonathan Challinger
|
|
- Leonard Hall
|
|
- Alexander Malishev
|
|
- Nathan E
|
|
- Marco Robustini
|
|
- Luis Vale Gonçalves
|
|
- night-ghost
|
|
- Patrick José Pereira
|
|
- Lucas De Marchi
|
|
- Eugene Shamaev
|
|
- Philip Rowse
|
|
- Amilcar Lucas
|
|
- Kelly Foster
|
|
- Fnoop
|
|
- Pierre Kancir
|
|
- Stephen Dade
|
|
- Jaime Machuca
|
|
- vierfuffzig
|
|
- Henry Wwurzburg
|
|
- Malcolm Churn
|
|
- Holger Steinhaus
|
|
|
|
We hope you enjoy flying this release as much as we enjoyed making
|
|
it. Happy flying!
|
|
|
|
Release 3.9.0beta6, 30th July 2018
|
|
----------------------------------
|
|
|
|
This is the sixth in a series of beta releases for plane 3.9.0. I aims
|
|
to be the final beta.
|
|
|
|
Changes in this release are:
|
|
|
|
- added Q_TAILSIT_THSCMX parameter for tailsitters (thanks to IamPete)
|
|
- added KakuteF7 bootloader
|
|
- fixed arming error with trim on unusued RC channels
|
|
- fixed microSD support on KakureF7 and OmnibusF7V2 (thanks sh83)
|
|
- fixed VL53L0X rangefinder driver
|
|
- added Pixhawk1 ChibiOS build
|
|
- fixed update rate for servos in tailsitters
|
|
- set COMPASS_AUTO_ROT to 2 for most boards
|
|
- improved OmnibusF7V2 support
|
|
- support all external compasses on mini-pix
|
|
- clear COMPASS_DEV_ID for unused compasses
|
|
|
|
Happy flying!
|
|
|
|
Release 3.9.0beta5, 19th July 2018
|
|
----------------------------------
|
|
|
|
This is the fifth in a series of beta releases for plane 3.9.0. It
|
|
fixes two important bugs over 3.9.0beta4
|
|
|
|
- fixed RC failsafe on IOMCU when a SBUS receiver is set to "hold" mode
|
|
- allowed for RC override failsafe to support holding override value
|
|
on timeout
|
|
|
|
Thanks to Jon and Michael for the failsafe fixes!
|
|
|
|
It also includes two smaller changes:
|
|
|
|
- updated F4BY board id, and added F4BY to autobuild list
|
|
- fixed UARTD for px4-v1 build
|
|
|
|
Release 3.9.0beta4, 18th July 2018
|
|
----------------------------------
|
|
|
|
This is the fourth in a series of beta releases for plane 3.9.0. It is
|
|
a major release, with a lot of changes.
|
|
|
|
- fixed compass detection on pixracer
|
|
- greatly improved OSD support
|
|
- fixed ARMING_REQUIRE=2 support (thanks Marco!)
|
|
- added automatic compass orientation support
|
|
- added probe for all external compasses on new ChibiOS boards
|
|
- fixed arming with compass disabled
|
|
- fixed flow control on F7 based boards
|
|
- fixed prealloc of DMA bouncebuffers
|
|
- added board specific builds for mRoX21 and Pixracer
|
|
- fixed mRoX21 IMU detection
|
|
|
|
Many thanks to all who contributed to this release, and our beta testers!
|
|
|
|
Release 3.9.0beta3, 11th July 2018
|
|
----------------------------------
|
|
|
|
This is the third in a series of beta releases for plane 3.9.0. It is
|
|
a minor update to beta2
|
|
|
|
Changes are:
|
|
|
|
- fixed nul termination of system ID on ChibiOS
|
|
- added PH4-mini support
|
|
- fixed compass orientation on fmuv5
|
|
- matched BRD_PWM_COUNT between px4-v3 and fmuv3
|
|
- fixed MatekF405-Wing compass orientation
|
|
- backup storage to microSD if possible
|
|
|
|
|
|
Release 3.9.0beta2, 6th July 2018
|
|
---------------------------------
|
|
|
|
This is the second in a series of beta releases for plane 3.9.0. It is
|
|
a major release, with a lot of changes.
|
|
|
|
- Builtin OSD support on boards with MAX7456 OSD device
|
|
- fixed throttle display on twin-engine planes
|
|
- improved timing in mavlink remote sensors
|
|
- added many more board types to autobuild
|
|
- fixed airspeed reporting for unhealthy sensors
|
|
- fixed log timestamps on ChibiOS
|
|
- added force arm option
|
|
- added fmuv5 support
|
|
- added CubeBlack build
|
|
- added ESC telemetry virtual battery
|
|
- added SERIAL6 on fmuv4 and fmuv5
|
|
- added MatekF405-Wing support
|
|
- added AP_Bootloader
|
|
- support bootloader update over MAVLink
|
|
- enable sdcard on several F4 boards
|
|
- fixed serial number logging on ChibiOS boards
|
|
- fixed revo-mini compass orientation
|
|
|
|
Many thanks to all who contributed to this release, and our beta testers!
|
|
|
|
Release 3.9.0beta1, 21st May 2018
|
|
---------------------------------
|
|
|
|
This is the first in a series of beta releases for plane 3.9.0. It is
|
|
a major release, with a lot of changes.
|
|
|
|
The main changes are for supporting two new HALs (hardware abstraction
|
|
layers). One is the port to ChibiOS and the second is the F4Light HAL.
|
|
|
|
These ports bring a host of new flight board options, and a lot of new
|
|
features. Some highlights include:
|
|
|
|
- support for many inexpensive STM32F4 based flight boards
|
|
|
|
- support for DShot output for BLHeli ESCs, including ESC telemetry
|
|
feedback
|
|
|
|
- new battery monitoring system with more flexible failsafe options
|
|
|
|
- support for Devo telemetry output
|
|
|
|
- a new position hold library for multicopters which improves
|
|
quadplane VTOL support
|
|
|
|
This release is fully compatible with previous releases, and users
|
|
should not notice a significant difference in flight. The focus of the
|
|
beta testing will be on ensuring that the new flight board support is
|
|
stable.
|
|
|
|
Happy flying!
|
|
|
|
Release 3.8.5, 25th April 2018
|
|
------------------------------
|
|
|
|
This release includes small bug fixes and one safety fix. The changes
|
|
are:
|
|
|
|
- fixed an issue where the external safety button can activate in
|
|
flight on some boards, causing them to crash. A new parameter
|
|
BRD_SAFETYOPTION is added which controls the behaviour of the
|
|
safety button. The default is to de-activate the safety button when
|
|
armed.
|
|
|
|
- fixed default orientation of ICM-20948 compass for Here GPS
|
|
|
|
- added support for dual airspeed sensors
|
|
|
|
- added support for the SDP33 airspeed sensor. This is still
|
|
considered experimental. There are reports of it underestimating
|
|
the aircrafts speed at higher altitudes.
|
|
|
|
- add support for the MS5525 airspeed sensor on multiple I2C
|
|
addresses. Two new values of the ARSDP_TYPE are introduced (4 and
|
|
5) for specific I2C addresses. This allows you to deconflict the
|
|
MS5525 from a MS5611 barometer on the same bus.
|
|
|
|
Release 3.8.4, 9th January 2018
|
|
-------------------------------
|
|
|
|
This is a minor release with just two small changes.
|
|
|
|
The first change is to fix a timing bug in the MS5525 airspeed sensor
|
|
driver. That bug was causing unreliable airspeed sensing. Thanks to
|
|
David Ingraham for providing logs that helped find the issue.
|
|
|
|
The second change is to fix transitions in AUTO mode in
|
|
tailsitter. The transition for tailsitters was causing instability on
|
|
transition from vertical takeoff to forward flight.
|
|
|
|
|
|
Release 3.8.3, 13th November 2017
|
|
---------------------------------
|
|
|
|
This is a minor release with a number of important bug fixes and some
|
|
small feature additions.
|
|
|
|
The most important general fixes are for an I2C device detection bug
|
|
and fixing the implementation of MANUAL_RCMASK.
|
|
|
|
There are quite a number of small fixes in lots of areas, plus big
|
|
improvements to the handling of tailsitter transitions.
|
|
|
|
Another significant change is to the handling of transitions from RTL
|
|
to QRTL when Q_RTL_MODE=1. We now transition to QRTL at a distance
|
|
which is the maximum of RTL_RADIUS and a distance calculated based on
|
|
a new Q_TRANS_DECEL "transition deceleration" parameter. That allows
|
|
you to tune the amount of deceleration you want in the transition
|
|
according to how much drag your quadplane has. This also means it
|
|
automatically accounts for wind speed and approach speed in
|
|
calculating the transition point.
|
|
|
|
We have also added a new Q_OPTIONS parameter which is a bitmask of
|
|
option flags to control quadplane behaviour. We have three options so
|
|
far. The first is to allow for keeping the wings within
|
|
LEVEL_ROLL_LIMIT degrees during transitions, for users that prefer
|
|
transitions to be kept level. The 2nd and 3rd options are to treat
|
|
NAV_TAKEOFF as NAV_VTOL_TAKEOFF and NAV_LAND as NAV_VTOL_LAND in
|
|
quadplane missions, so that you can use GCS software that doesn't know
|
|
about the VTOL takeoff and land commands.
|
|
|
|
- allow vertical takeoffs in GUIDED mode with Q_GUIDED_MODE=0
|
|
|
|
- fixed a bug in implementation of MANUAL_RCMASK
|
|
|
|
- eliminate airspeed positive bias after offset zero
|
|
|
|
- prevent quadplane controller windup on the ground
|
|
|
|
- added Q_MAV_TYPE for setup of VTOL vehicle type for QGC
|
|
|
|
- improved performance of FlightAxis SITL
|
|
|
|
- support LOITER_TO_ALT in quadplanes
|
|
|
|
- fixed a bug in TECS related to descending quadplane transitions
|
|
|
|
- added Q_OPTIONS for controlling roll during transitions and
|
|
allowing for fixed wing takeoff and landing
|
|
|
|
- fixed a race condition in IMU logging
|
|
|
|
- fixed a race in i2c device probing
|
|
|
|
- log critical messages while disarmed
|
|
|
|
- added IST8310 compass on FMUv3 I2C
|
|
|
|
- probe for QMC5883 by default
|
|
|
|
- avoid double detection of AK09916 compass
|
|
|
|
- smooth out tailsitter transitions in both directions
|
|
|
|
- fixed use of RTL_RADIUS for QRTL threshold and added Q_TRANS_DECEL
|
|
|
|
- fixed course unlocking with rudder in CRUISE mode
|
|
|
|
We hope you have as much fun flying this release as we had producing
|
|
it. Happy flying!
|
|
|
|
Release 3.8.2, 11th September 2017
|
|
----------------------------------
|
|
|
|
This is a minor release, with a few small fixes and one important
|
|
crash bug fix.
|
|
|
|
The crash bug is in the Septentrio (SBF) GPS driver. Anyone flying
|
|
with an SBF GPS should update to this release. The driver had a bug
|
|
that could cause a in-flight crash under some circumstances.
|
|
|
|
Other changes in this release are:
|
|
|
|
- support takeoff in GUIDED mode for quadplanes
|
|
|
|
- support changing target altitude while hovering in GUIDED mode for
|
|
quadplanes
|
|
|
|
- improved descent rate control in QRTL and QLAND modes. This fixes
|
|
an issue with higher than configured descent rates, and smoothes
|
|
out the change in descent rate for the change to the final landing
|
|
stage
|
|
|
|
- smooth out the transition to QLOITER or QLAND when transitioning
|
|
from fixed wing mode. This prevents the sudden nose up when
|
|
changing to QLOITER or QLAND mode while flying at high speed.
|
|
|
|
- added MANUAL_CONTROL support, allowing for joystick control from QGroundControl
|
|
|
|
Happy flying!
|
|
|
|
Release 3.8.1, 3rd September 2017
|
|
---------------------------------
|
|
|
|
This is a bugfix release for 3.8.0, with just a few small changes, and
|
|
only one new feature.
|
|
|
|
The bug fixes are:
|
|
|
|
- removed TRIM_RC_AT_START option, as this was causing significant
|
|
issues
|
|
|
|
- fixed bug in TRIM_AUTO support with differential spoilers
|
|
|
|
- fixed bug with RCn_TRIM == RCn_MIN in MANUAL mode
|
|
|
|
- fixed combination of TKOFF_THR_MINACC and TKOFF_THR_DELAY
|
|
|
|
- fixed a bug in sending STATUSTEXT messages on all MAVLink channels
|
|
|
|
The new feature is that you can set the protocol for the debug UART on
|
|
FMUv2 or FMUv3 board (such as a Pixhawk or Cube) to allow allow UART5
|
|
to be used for arbitrary protocols. To use this fetaure just set
|
|
SERIAL5_PROTOCOL to the desired serial protocol. This should be useful
|
|
to users who have multiple serial devices (such as rangefinders) they
|
|
want to connect and have run out of UARTs.
|
|
|
|
Happy flying!
|
|
|
|
|
|
Release 3.8.0, 5th August 2017
|
|
------------------------------
|
|
|
|
The ArduPilot development team is very proud to announce the release
|
|
of APM:Plane 3.8.0. This is a major release, with a lot of new
|
|
features and improvements. The release has been a long time coming,
|
|
and the dev team would like to thank everyone who has contributed,
|
|
in terms of code and documentation as well as the many testers of beta
|
|
versions of the code.
|
|
|
|
To help with migration from the 3.7.1 release to 3.8.0 there is a
|
|
migration guide here:
|
|
|
|
http://ardupilot.org/plane/docs/plane-3-7-to-3-8-migration.html
|
|
|
|
All users should read the migration guide carefully. While the
|
|
firmware will try to auto-migrate most settings, please do very
|
|
careful ground tests before your first flight with 3.8.
|
|
|
|
In total there have been over 4 thousand changes in the ArduPilot git
|
|
tree since the 3.7.1 release, with over four hundred of those specific
|
|
to fixed wing aircraft. Listing all of them in these release notes is
|
|
not practical, but the following list will give some of the larger
|
|
changes:
|
|
|
|
- addition of EKF3 support (disabled by default)
|
|
- new SERVO parameter system for servo output configuration
|
|
- support for MS5525 airspeed sensor
|
|
- support for a wide range of tiltrotor quadplanes
|
|
- support for tailsitter aircraft (including vectored tailsitters)
|
|
- support for twin-motor aircraft, with differential thrust
|
|
- new system for elevon, vtail, flaperon and differential spoiler setup
|
|
- support for deep stall landings
|
|
- support for dual-gps blending
|
|
- support for masking compass types for driver loading
|
|
- completely new DMA based and high sample rate IMU drivers
|
|
- support for px4pro board from Drotek
|
|
- several new compass drivers, new IMU drivers and new GPS drivers
|
|
- new MANUAL_RCMASK system for fine-grained MANUAL flight setup
|
|
- support for log rotation on disarm
|
|
- numerous quadplane improvements
|
|
- fixed loiter behaviour with Q_GUIDED_MODE=1
|
|
- allow rudder arming in CRUISE and FBWB modes
|
|
- fixed bug in transmitter tuning support
|
|
- fixed bug in attitude integrator zero on mode change
|
|
- added SYSID_ENFORCE parameter
|
|
- fixed support for vtail rudder-only planes
|
|
- greatly improved automatic landing accuracy
|
|
- support for high update rates on all servos with SERVO_RATE parameter
|
|
- greatly improved UAVCAN support, with parameters now in CAN_ parameter space
|
|
- support for prop-hang on 3D aircraft
|
|
- improved quadplane PID logging
|
|
- smoother takeoffs for quadplanes
|
|
- logging of side-slip and angle-of-attack estimates
|
|
- added AETR, pre-mixer logging
|
|
- automatic thermalling support
|
|
|
|
Release 3.8.0beta5, 1st May 2017
|
|
--------------------------------
|
|
|
|
The ArduPilot development team is proud to announce the release of
|
|
version 3.8.0beta of APM:Plane. This is a major release. All users
|
|
should carefully check their setup when upgrading.
|
|
|
|
Major changes include:
|
|
|
|
- new SRV_Channel system for setting up of output servos separately
|
|
from input RC channels
|
|
- new elevon and vtail support system
|
|
- new EKF3 state estimator (not enabled by default yet)
|
|
- support for tailsitter aircraft
|
|
- greatly improved support for tilt-rotor quadplanes
|
|
- greatly improved quadplane transition code
|
|
- support for deepstall landing
|
|
- large improvements in airspeed noise handling
|
|
- much improved RTK GPS support
|
|
- support automatic servo trimming
|
|
- greatly improved automatic landing accuracy
|
|
- significant improvements in altitude handling
|
|
- significant improvement in sensor drivers, with higher sample rates
|
|
and improved vibration resistance
|
|
|
|
On top of that there have been hundreds of smaller improvements and
|
|
bug fixes.
|
|
|
|
From the users point of view the most significant change in setup is
|
|
moving of RCn_FUNCTION parameters into new SERVOn_FUNCTION parameters,
|
|
and the creation of separate output MIN/MAX/TRIM values for all servo
|
|
outputs. This allows for much more flxible output setup that is
|
|
independent of RC input setup.
|
|
|
|
Release 3.7.1, 21st October 2016
|
|
--------------------------------
|
|
|
|
The ArduPilot development team is proud to announce the release of
|
|
version 3.7.1 of APM:Plane. This is a minor bug fix release. A major
|
|
release of 3.8.0 is also being prepared now and will be in beta soon.
|
|
|
|
Changes in this release:
|
|
|
|
- fixed arming check error on FMUv4 (pixracer)
|
|
- fixed pilot throttle based motor test for quadplane
|
|
- fixed use of multicopter mix_max in quadplane
|
|
- fixed AFS termination bugs for quadplanes
|
|
- added automatic ICE engine cut in QLAND
|
|
- fixed loiter mode with Q_GUIDED_MODE=1
|
|
- fixed navigation at lattitude of exactly zero
|
|
- fixed quadplane transition without airspeed sensor
|
|
- fixed rudder arming in CRUISE and FBWB modes
|
|
- fixed throttle slew rate in MANUAL mode for quadplanes
|
|
- fixed multiple bugs in transmitter tuning for quadplane rates
|
|
- fixed mavlink system ID in early startup on USB
|
|
- slow down update of home position
|
|
- update Disco battery lookup table
|
|
- improved compass calibration code for larger offsets
|
|
|
|
Many thanks to everyone who contributed to this release!
|
|
|
|
Release 3.7.0, 9th September 2016
|
|
---------------------------------
|
|
|
|
The ArduPilot development team is proud to announce the release of
|
|
version 3.7.0 of APM:Plane. This is a major update so please read the
|
|
notes carefully.
|
|
|
|
The biggest changes in this release are:
|
|
|
|
- more reliable recovery from inverted flight
|
|
- automatic IC engine support
|
|
- Q_ASSIST_ANGLE for stall recovery on quadplanes
|
|
- Pixhawk2 IMU heater support
|
|
- PH2SLIM support
|
|
- AP_Module support
|
|
- Parrot Disco support
|
|
- major VRBrain support merge
|
|
- much faster boot time on Pixhawk
|
|
|
|
I'll give a bit of detail on each of these changes before giving the
|
|
more detailed list of changes.
|
|
|
|
More reliable recovery from inverted flight
|
|
|
|
Marc Merlin discovered that on some types of gliders that ArduPilot
|
|
would not reliably recover from inverted flight. The problem turned
|
|
out to be the use of the elevator at high bank angles preventing the
|
|
ailerons from fully recovering attitude. The fix in this release
|
|
prevent excessive elevator use when the aircraft is beyond
|
|
LIM_ROLL_CD. This should help a lot for people using ArduPilot as a
|
|
recovery system for manual FPV flight.
|
|
|
|
Automatic IC engine support
|
|
|
|
ArduPilot has supported internal combustion engines for a long time,
|
|
but until now the pilot has had to control the ignition and starter
|
|
manually using transmitter pass throughs. A new "ICE" module in
|
|
ArduPilot now allows for fully automatic internal combustion engine
|
|
support.
|
|
|
|
Coupled with an RPM sensor you can setup your aircraft to
|
|
automatically control the ignition and starter motor, allowing for one
|
|
touch start of the motor on the ground and automatic restart of the
|
|
motor in flight if needed.
|
|
|
|
The IC engine support is also integrated into the quadplane code,
|
|
allowing for automatic engine start at a specified altitude above the
|
|
ground. This is useful for tractor engine quadplanes where the
|
|
propeller could strike the ground on takeoff. The engine can also be
|
|
automatically stopped in the final stage of a quadplane landing.
|
|
|
|
Q_ASSIST_ANGLE for stall recovery
|
|
|
|
Another new quadplane feature is automatic recovery from fixed wing
|
|
stall. Previously the VTOL motors would only provide assistance in
|
|
fixed wing modes when the aircraft airspeed dropped below
|
|
Q_ASSIST_SPEED. Some stalls can occur with higher airspeed however,
|
|
and this can result in the aircraft losing attitude control without
|
|
triggering a Q_ASSIST_SPEED recovery. A new parameter Q_ASSIST_ANGLE
|
|
allows for automatic assistance when attitude control is lost,
|
|
triggering when the attitude goes outside the defined roll and pitch
|
|
limits and is more than Q_ASSIST_ANGLE degrees from the desired
|
|
attitude. Many thanks to Iskess for the suggestion and good discussion
|
|
around this feature.
|
|
|
|
Pixhawk2 heated IMU support
|
|
|
|
This release adds support for the IMU heater in the upcoming Pixhawk2,
|
|
allowing for more stable IMU temperatures. The Pixhawk2 is
|
|
automatically detected and the heater enabled at boot, with the target
|
|
IMU temperature controllable via BRD_IMU_TARGTEMP.
|
|
|
|
Using an IMU heater should improve IMU stability in environments with
|
|
significant temperature changes.
|
|
|
|
PH2SLIM Support
|
|
|
|
This release adds support for the PH2SLIM variant of the Pixhawk2,
|
|
which is a Pixhawk2 cube without the isolated sensor top board. This
|
|
makes for a very compact autopilot for small aircraft. To enable
|
|
PH2SLIM support set the BRD_TYPE parameter to 6 using a GCS connected
|
|
on USB.
|
|
|
|
AP_Module Support
|
|
|
|
This is the first release of ArduPilot with loadable module support
|
|
for Linux based boards. The AP_Module system allows for externally
|
|
compiled modules to access sensor data from ArduPilot controlled
|
|
sensors. The initial AP_Module support is aimed at vendors integrating
|
|
high-rate digital image stabilisation using IMU data, but it is
|
|
expected this will be expanded to other use cases in future releases.
|
|
|
|
Parrot Disco Support
|
|
|
|
This release adds support for the Parrot C.H.U.C.K autopilot in the
|
|
new Disco airframe. The Disco is a very lightweight flying wing with
|
|
a nicely integrated Linux based autopilot. The Disco flies very nicely
|
|
with ArduPilot, bringing the full set of mission capabilities of
|
|
ArduPilot to this airframe.
|
|
|
|
Major VRBrain Support Update
|
|
|
|
This release includes a major merge of support for the VRBrain family
|
|
of autopilots. Many thanks to the great work by Luke Mike in putting
|
|
together this merge!
|
|
|
|
Much Faster Boot Time
|
|
|
|
Boot times on Pixhawk are now much faster due to a restructuring of
|
|
the driver startup code, with slow starting drivers not started unless
|
|
they are enabled with the appropriate parameters. The restructuring
|
|
also allows for support of a wide variety of board types, including
|
|
the PH2SLIM above.
|
|
|
|
This release includes many other updates right across the flight
|
|
stack, including several new features. Some of the changes include:
|
|
|
|
- improved quadplane auto-landing
|
|
- limit roll and pitch by Q_ANGLE_MAX in Q modes
|
|
- improved ADSB avoidance and MAVLink streaming
|
|
- smoother throttle control on fixed-wing to VTOL transition
|
|
- removed "demo servos" movement on boot
|
|
- fixed a problem with spurious throttle output during boot (thanks
|
|
to Marco for finding this)
|
|
- support MAVLink SET_ATTITUDE_TARGET message
|
|
- log all rally points on startup
|
|
- fixed use of stick mixing for rudder with STICK_MIXING=0
|
|
- fixed incorrect tuning warnings when vtol not active
|
|
- support MAVLink based external GPS device
|
|
- support LED_CONTROL MAVLink message
|
|
- prevent baro update while disarmed for large height change
|
|
- support PLAY_TUNE MAVLink message
|
|
- added AP_Button support for remote button input reporting
|
|
- support Ping2020 ADSB transceiver
|
|
- fixed disarm by rudder in quadplanes
|
|
- support 16 channel SERVO_OUTPUT_RAW in MAVLink2
|
|
- added automatic internal combustion engine support
|
|
- support DO_ENGINE_CONTROL MAVLink message
|
|
- added ground throttle suppression for quadplanes
|
|
- added MAVLink reporting of logging subsystem health
|
|
- prevent motor startup on reboot in quadplanes
|
|
- added quadplane support for Advanced Failsafe
|
|
- added support for a 2nd throttle channel
|
|
- fixed bug in crash detection during auto-land flare
|
|
- lowered is_flying groundspeed threshold to 1.5m/s
|
|
- added support for new FrSky telemetry protocol variant
|
|
- added support for fence auto-enable on takeoff in quadplanes
|
|
- added Q_ASSIST_ANGLE for using quadplane to catch stalls in fixed wing flight
|
|
- added BRD_SAFETY_MASK to allow for channel movement for selected channels with safety on
|
|
- numerous improvements to multicopter stability control for quadplanes
|
|
- support X-Plane10 as SITL backend
|
|
- lots of HAL_Linux improvements to bus and thread handling
|
|
- fixed problem with elevator use at high roll angles that could
|
|
prevent attitude recovery from inverted flight
|
|
- improved yaw handling in EKF2 near ground
|
|
- added IMU heater support on Pixhawk2
|
|
- allow for faster accel bias learning in EKF2
|
|
- fixed in-flight yaw reset bug in EKF2
|
|
- added AP_Module support for loadable modules
|
|
- support Disco airframe from Parrot
|
|
- use full throttle in initial takeoff in TECS
|
|
- added NTF_LED_OVERRIDE support
|
|
- added terrain based simulation in SITL
|
|
- merged support for wide range of VRBrain boards
|
|
- added support for PH2SLIM and PHMINI boards with BRD_TYPE
|
|
- greatly reduced boot time on Pixhawk and similar boards
|
|
- fixed magic check for signing key in MAVLink2
|
|
- fixed averaging of gyros for EKF2 gyro bias estimate
|
|
|
|
|
|
Release 3.6.0, 6th June 2016
|
|
----------------------------
|
|
|
|
The ArduPilot development team is proud to announce the release of
|
|
version 3.6.0 of APM:Plane. This is a major update so please read the
|
|
notes carefully.
|
|
|
|
The biggest changes in this release are:
|
|
|
|
- major update to PX4Firmware code
|
|
- major update to QuadPlane code
|
|
- addition of MAVLink2 support
|
|
|
|
The updated PX4Firmware tree greatly improves support for the new
|
|
Pixracer boards as well as improving scheduling performance and UAVCAN
|
|
support.
|
|
|
|
The QuadPlane changes are very extensive in this release. A lot of new
|
|
features have been added, including:
|
|
|
|
- improved automatic weathervaning
|
|
- greatly improved support for mixed fixed wing and VTOL missions
|
|
- automatic RTL with VTOL land
|
|
- VTOL GUIDED mode support
|
|
- greatly improved transition code
|
|
- new tuning system for VTOL motors
|
|
- extensive upgrade to logging system for much better flight analysis
|
|
|
|
The new QuadPlane features are documented at:
|
|
|
|
http://ardupilot.org/plane/docs/quadplane-support.html
|
|
|
|
There is also a prototype implementation supporting tiltrotors and
|
|
tiltwings, but so far it has only been flown in simulations and it
|
|
should be considered very experimental.
|
|
|
|
Detailed changes include:
|
|
|
|
- added motortest for all quad motors in sequence
|
|
- merge upstream PX4Firmware changes
|
|
- new AC_AttitudeControl library from copter for quadplane
|
|
- modified default gains for quadplanes
|
|
- new velocity controller for initial quadplane landing
|
|
- smooth out final descent for VTOL landing
|
|
- changed default loop rate for quadplanes to 300Hz
|
|
- support up to 16 output channels (two via SBUS output only)
|
|
- fixed bug with landing flare for high values of LAND_FLARE_SEC
|
|
- improved crash detection logic
|
|
- added in-flight transmitter tuning
|
|
- fix handling of SET_HOME_POSITION
|
|
- added Q_VFWD_GAIN for forward motor in VTOL modes
|
|
- added Q_WVANE_GAIN for active weathervaning
|
|
- log the number of lost log messages
|
|
- Move position update to 50hz loop rather then the 10hz
|
|
- Suppress throttle when parachute release initiated, not after release.
|
|
- support Y6 frame class in quadplane
|
|
- log L1 xtrack error integrator and remove extra yaw logging
|
|
- limit roll before calculating load factor
|
|
- simplify landing flare logic
|
|
- smooth-out the end of takeoff pitch by reducing takeoff pitch min via TKOFF_PLIM_SEC
|
|
- added support for DO_VTOL_TRANSITION as a mission item
|
|
- fixed is_flying() for VTOL flight
|
|
- added Q_ENABLE=2 for starting AUTO in VTOL
|
|
- reload airspeed after VTOL landing
|
|
- lower default VTOL ANGLE_MAX to 30 degrees
|
|
- Change mode to RTL on end of mission rather then staying in auto
|
|
- implemented QRTL for quadplane RTL
|
|
- added Q_RTL_MODE parameter for QRTL after RTL approach
|
|
- reduced the rate of EKF and attitude logging to 25Hz
|
|
- added CHUTE_DELAY_MS parameter
|
|
- allow remapping of any input channel to any output channel
|
|
- numerous waf build improvements
|
|
- support fast timer capture for camera trigger feedback
|
|
- numerous improvements for Pixracer support
|
|
- added more general tiltrotor support to SITL
|
|
- only save learned compass offsets when disarmed
|
|
- support MISSION_ITEM_INT for more accurate waypoint positions
|
|
- change parachute deployment altitude to above ground not home
|
|
- added AP_Tuning system for QuadPlane tuning
|
|
- added initial support for tiltrotors and tiltwings
|
|
- added LOG_REPLAY and LOG_DISARMED parameters
|
|
- added Q_GUIDED_MODE parameter
|
|
- major update to QuadPlane documentation
|
|
- added MAVLink2 support
|
|
- fixed origin vs home altitude discrepancy
|
|
- improved Lidar based landing glide slope
|
|
- fixed throttle failsafe with THR_PASS_STAB=1
|
|
- prevent EKF blocking during baro and airspeed cal
|
|
- allow for ground testing of parachutes with CHUTE_MINALT=0
|
|
- fixed elevator stick mixing for above 50% input
|
|
- added QuadPlane ESC calibration
|
|
|
|
|
|
|
|
Release 3.6.0beta1, 30th April 2016
|
|
-----------------------------------
|
|
|
|
The ArduPilot development team is proud to announce the release of
|
|
version 3.6.0beta1 of APM:Plane. This is the first beta version of a
|
|
major release.
|
|
|
|
The biggest changes in this release is the major update of the
|
|
PX4Firmware tree which greatly improves support for the Pixracer
|
|
board, and a lot of QuadPlane improvements and new features.
|
|
|
|
Detailed changes include:
|
|
|
|
- added motortest for all quad motors in sequence
|
|
- merge upstream PX4Firmware changes
|
|
- new AC_AttitudeControl library from copter for quadplane
|
|
- modified default gains for quadplanes
|
|
- new velocity controller for initial quadplane landing
|
|
- smooth out final descent for VTOL landing
|
|
- changed default loop rate for quadplanes to 300Hz
|
|
- support up to 16 output channels (two via SBUS output only)
|
|
- fixed bug with landing flare for high values of LAND_FLARE_SEC
|
|
- improved crash detection logic
|
|
- added in-flight transmitter tuning
|
|
- fix handling of SET_HOME_POSITION
|
|
- added Q_VFWD_GAIN for forward motor in VTOL modes
|
|
- added Q_WVANE_GAIN for active weathervaning
|
|
- log the number of lost log messages
|
|
- Move position update to 50hz loop rather then the 10hz
|
|
- Suppress throttle when parachute release initiated, not after release.
|
|
- support Y6 frame class in quadplane
|
|
- log L1 xtrack error integrator and remove extra yaw logging
|
|
- limit roll before calculating load factor
|
|
- simplify landing flare logic
|
|
- smooth-out the end of takeoff pitch by reducing takeoff pitch min via TKOFF_PLIM_SEC
|
|
- added support for DO_VTOL_TRANSITION as a mission item
|
|
- fixed is_flying() for VTOL flight
|
|
- added Q_ENABLE=2 for starting AUTO in VTOL
|
|
- reload airspeed after VTOL landing
|
|
- lower default VTOL ANGLE_MAX to 30 degrees
|
|
- Change mode to RTL on end of mission rather then staying in auto
|
|
- implemented QRTL for quadplane RTL
|
|
- added Q_RTL_MODE parameter for QRTL after RTL approach
|
|
- reduced the rate of EKF and attitude logging to 25Hz
|
|
- added CHUTE_DELAY_MS parameter
|
|
- allow remapping of any input channel to any output channel
|
|
- numerous waf build improvements
|
|
- support fast timer capture for camera trigger feedback
|
|
- numerous improvements for Pixracer support
|
|
- added more general tiltrotor support to SITL
|
|
|
|
|
|
Release 3.5.3, 30th April 2016
|
|
------------------------------
|
|
|
|
The ArduPilot development team is proud to announce the release of
|
|
version 3.5.3 of APM:Plane. This is a minor release with only small
|
|
bugfix changes.
|
|
|
|
The main motivation for the release is a problem with flying without a
|
|
compass enabled. If you fly 3.5.2 with MAG_ENABLE=0 or no compass
|
|
attached then there is a risk that the EKF2 attitude estimator may
|
|
become unstable before takeoff. This can cause the aircraft to crash.
|
|
|
|
The other changes in this release are:
|
|
|
|
- fixed loiter radius for counter-clockwise loiter
|
|
- fixed the loiter radius when doing a RTL at the end of a mission
|
|
- provide reasons to the GCS when a uBlox GPS fails to properly configure
|
|
- support a wider variety of NMEA GPS receivers
|
|
- use EKF1 by default if no compass is enabled
|
|
|
|
Happy flying!
|
|
|
|
Release 3.5.2, 26th March 2016
|
|
------------------------------
|
|
|
|
The ArduPilot development team is proud to announce the release of
|
|
version 3.5.2 of APM:Plane. This is a minor release with small
|
|
changes.
|
|
|
|
The main reason for this release over 3.5.1 is a fix for a bug where
|
|
the px4io co-processor on a Pixhawk can run out of memory while
|
|
booting. This causes the board to be unresponsive on boot. It only
|
|
happens if you have a more complex servo setup and is caused by too
|
|
much memory used by the IO failsafe mixer.
|
|
|
|
The second motivation for this release is to fix an issue where during
|
|
a geofence altitude failsafe that happens at low speed an aircraft may
|
|
dive much further than it should to gain speed. This only happened if
|
|
the thrust line of the aircraft combined with low pitch integrator
|
|
gain led to the aircraft not compensating sufficiently with elevator
|
|
at full throttle in a TECS underspeed state. To fix this two changes
|
|
have been made:
|
|
|
|
- a minimum level of integrator in the pitch controller has been
|
|
added. This level has a sufficiently small time constant to avoid
|
|
the problem with the TECS controller in an underspeed state.
|
|
|
|
- the underspeed state in TECS has been modified so that underspeed
|
|
can end before the full target altitude has been reached, as long
|
|
as the airspeed has risen sufficiently past the minimum airspeed
|
|
for a sufficient period of time (by 15% above minimum airspeed for
|
|
3 seconds).
|
|
|
|
The default P gains for both roll and pitch have also been raised from
|
|
0.4 to 0.6. This is to help for users that fly with the default
|
|
parameters. A value of 0.6 is safe for all aircraft that I have
|
|
analysed logs for.
|
|
|
|
The default gains and filter frequencies of the QuadPlane code have
|
|
also been adjusted to better reflect the types of aircraft users have
|
|
been building.
|
|
|
|
Other changes include:
|
|
|
|
- improved QuadPlane logging for better analysis and tuning (adding
|
|
RATE and QTUN messages)
|
|
- fixed a bug introduced in 3.5.1 in rangefinder landing
|
|
- added TECS logging of speed_weight and flags
|
|
- improvements to the lsm303d driver for Linux
|
|
- improvements to the waf build system
|
|
|
|
|
|
Release 3.5.1, 21st March 2016
|
|
------------------------------
|
|
|
|
The ArduPilot development team is proud to announce the release of
|
|
version 3.5.1 of APM:Plane. This is a minor release with primarily
|
|
small changes.
|
|
|
|
The changes in this release are:
|
|
|
|
- update uavcan to new protocol
|
|
- always exit loiter in AUTO towards next waypoint
|
|
- support more multicopter types in quadplane
|
|
- added support for reverse thrust landings
|
|
- added LAND_THR_SLEW parameter
|
|
- added LAND_THEN_NEUTRL parameter
|
|
- fixed reporting of armed state with safety switch
|
|
- added optional arming check for minimum voltage
|
|
- support motor test for quadplanes
|
|
- added QLAND flight mode (quadplane land mode)
|
|
- added TECS_LAND_SRC (land sink rate change)
|
|
- use throttle slew in quadplane transition
|
|
- added PID tuning for quadplane
|
|
- improved text message queueing to ground stations
|
|
- added LAND_THR_SLEW parameter
|
|
- re-organisation of HAL_Linux bus API
|
|
- improved NMEA parsing in GPS driver
|
|
- changed TECS_LAND_SPDWGT default to -1
|
|
- improved autoconfig of uBlox GPS driver
|
|
- support a wider range of Lightware serial Lidars
|
|
- improved non-GPS performance of EKF2
|
|
- allow for indoor flight of quadplanes
|
|
- improved compass fusion in EKF2
|
|
- improved support for Pixracer board
|
|
- improved NavIO2 support
|
|
- added BATT_WATT_MAX parameter
|
|
|
|
The reverse thrust landing is particularly exciting as that adds a
|
|
whole new range of possibilities for landing in restricted areas. Many
|
|
thanks to Tom for the great work on getting this done.
|
|
|
|
The uavcan change to the new protocol has been a long time coming, and
|
|
I'd like to thank Holger for both his great work on this and his
|
|
patience given how long it has taken to be in a release. This adds
|
|
support for automatic canbus node assignment which makes setup much
|
|
easier, and also supports the latest versions of the Zubax canbus GPS.
|
|
|
|
My apologies if your favourite feature didn't make it into this
|
|
release! There are a lot more changes pending but we needed to call a
|
|
halt for the release eventually. This release has had a lot of flight
|
|
testing and I'm confident it will be a great release.
|
|
|
|
Happy flying!
|
|
|
|
|
|
Release 3.5.0, 30th January 2016
|
|
--------------------------------
|
|
|
|
The ArduPilot development team is proud to announce the release of
|
|
version 3.5.0 of APM:Plane. This is a major release with a lot of
|
|
changes so please read the notes carefully!
|
|
|
|
The biggest changes in this release are:
|
|
|
|
- switch to new EKF2 kalman filter for attitude and position estimation
|
|
- added support for parachutes
|
|
- added support for QuadPlanes
|
|
- support for 4 new flight boards, the QualComm Flight, the BHAT,
|
|
the PXFmini and the Pixracer
|
|
- support for arming on moving platforms
|
|
- support for better camera trigger logging
|
|
|
|
New Kalman Filter
|
|
|
|
The 3.4 release series was the first where APM:Plane used a Kalman
|
|
Filter by default for attitude and position estimation. It works very
|
|
well, but Paul Riseborough has been working hard recently on a new
|
|
EKF variant which fixes many issues seen with the old estimator. The
|
|
key improvements are:
|
|
|
|
- support for separate filters on each IMU for multi-IMU boards
|
|
(such as the Pixhawk), giving a high degree of redundency
|
|
- much better handling of gyro drift estimation, especially on
|
|
startup
|
|
- much faster recovery from attitude estimation errors
|
|
|
|
After extensive testing of the new EKF code we decided to make it the
|
|
default for this release. You can still use the old EKF if you want to
|
|
by setting AHRS_EKF_TYPE to 1, although it is recommended that the new
|
|
EKF be used for all aircraft.
|
|
|
|
Parachute Support
|
|
|
|
This is the first release with support for parachute landings on
|
|
plane. The configuration and use of a parachute is the same as the
|
|
existing copter parachute support. See
|
|
http://copter.ardupilot.org/wiki/parachute/
|
|
|
|
Note that parachute support is considered experimental in planes.
|
|
|
|
QuadPlane Support
|
|
|
|
This release includes support for hybrid plane/multi-rotors called
|
|
QuadPlanes. More details are available in this blog post:
|
|
http://diydrones.com/profiles/blogs/quadplane-support-in-apm-plane-3-5-0
|
|
|
|
Support for 4 new Flight Boards
|
|
|
|
The porting of ArduPilot to more flight boards continues, with support
|
|
for 3 new flight boards in this release. They are:
|
|
|
|
- the BHAT board
|
|
- the PXFmini
|
|
- the QualComm Flight
|
|
- the Pixracer
|
|
|
|
More information about the list of supported boards is available here:
|
|
http://dev.ardupilot.org/wiki/supported-autopilot-controller-boards/
|
|
|
|
Startup on a moving platform
|
|
|
|
One of the benefits of the new EKF2 estimator is that it allows for
|
|
rapid estimation of gyro offset without doing a gyro calibration on
|
|
startup. This makes it possible to startup and arm on a moving
|
|
platform by setting the INS_GYR_CAL parameter to zero (to disable gyro
|
|
calibration on boot). This should be a big help when flying off boats.
|
|
|
|
Improved Camera Trigger Logging
|
|
|
|
This release adds new CAM_FEEDBACK_PIN and CAM_FEEDBACK_POL
|
|
parameters. These add support for separate CAM and TRIG log messages,
|
|
where TRIG is logged when the camera is triggered and the CAM message
|
|
is logged when an external pin indicates the camera has actually
|
|
fired. This pin is typically based on the flash hotshoe of a camera
|
|
and provides a way to log the exact time of camera triggering more
|
|
accurately. Many thanks to Dario Andres and Jaime Machuca for their
|
|
work on this feature.
|
|
|
|
That is just a taste of all of the improvements in this release. In
|
|
total the release includes over 1500 patches. Some of the other more
|
|
significant changes include:
|
|
|
|
- RPM logging
|
|
- new waf build system
|
|
- new async accel calibrator
|
|
- SITL support for quadplanes
|
|
- improved land approach logic
|
|
- better rangefinder power control
|
|
- ADSB adapter support
|
|
- dataflash over mavlink support
|
|
- settable main loop rate
|
|
- hideable parameters
|
|
- improved crash detection logic
|
|
- added optional smooth speed weighting for landing
|
|
- improved logging for dual-GPS setups
|
|
- improvements to multiple RTK GPS drivers
|
|
- numerous HAL_Linux improvements
|
|
- improved logging of CAM messages
|
|
- added support for IMU heaters in HAL_Linux
|
|
- support for RCInput over UDP in HAL_Linux
|
|
- improved EKF startup checks for GPS accuracy
|
|
- added raw IMU logging for all platforms
|
|
- added BRD_CAN_ENABLE parameter
|
|
- support FlightGear visualisation in SITL
|
|
- configurable RGB LED brightness
|
|
- added RTL_RADIUS parameter
|
|
- improvements to the OVERRIDE_CHAN handling, fixing a race condition
|
|
- added OVERRIDE_SAFETY parameter
|
|
|
|
Many thanks to everyone who contributed to this release! The
|
|
development team is growing at a fast pace, with 57 people
|
|
contributing changes over this release cycle.
|
|
|
|
I'd like to make special mention of Tom Pittenger and Michael du
|
|
Breuil who have been doing extensive testing of the plane development
|
|
code, and also contributing a great deal of their own
|
|
improvements. Thanks!
|
|
|
|
|
|
Release 3.4.0, 24th September 2015
|
|
----------------------------------
|
|
|
|
The ArduPilot development team is proud to announce the release of
|
|
version 3.4.0 of APM:Plane. This is a major release with a lot of
|
|
changes so please read the notes carefully!
|
|
|
|
First release with EKF by default
|
|
|
|
This is the also the first release that enables the EKF (Extended
|
|
Kalman Filter) for attitude and position estimation by default. This
|
|
has been in development for a long time, and significantly improves
|
|
flight performance. You can still disable the EKF if you want to using
|
|
the AHRS_EKF_USE parameter, but it is strongly recommended that you
|
|
use the EKF. Note that if an issue is discovered with the EKF in
|
|
flight it will automatically be disabled and the older DCM system will
|
|
be used instead. That should be very rare.
|
|
|
|
In order to use the EKF we need to be a bit more careful about the
|
|
setup of the aircraft. That is why in the last release we enabled
|
|
arming and pre-arm checks by default. Please don't disable the arming
|
|
checks, they are there for very good reasons.
|
|
|
|
Last release with APM1/APM2 support
|
|
|
|
This will be the last major release that supports the old APM1/APM2
|
|
AVR based boards. We have finally run out of flash space and
|
|
memory. In the last few releases we spent quite a bit of time trying
|
|
to squeeze more and more into the small flash space of the APM1/APM2,
|
|
but it had to end someday if ArduPilot is to continue to develop. I am
|
|
open to the idea of someone else volunteering to keep doing
|
|
development of APM1/APM2 so if you have the skills and inclination do
|
|
please get in touch. Otherwise I will only do small point release
|
|
changes for major bugs.
|
|
|
|
Even to get this release onto the APM1/APM2 we had to make sacrifices
|
|
in terms of functionality. The APM1/APM2 release is missing quite a
|
|
few features that are on the Pixhawk and other boards. For example:
|
|
|
|
- no rangefinder support for landing
|
|
- no terrain following
|
|
- no EKF support
|
|
- no camera control
|
|
- no CLI support
|
|
- no advanced failsafe support
|
|
- no HIL support (sorry!)
|
|
- support for far fewer GPS types
|
|
|
|
that is just the most obvious major features that are missing on
|
|
APM1/APM2. There are also numerous other smaller things where we need
|
|
to take shortcuts on the APM1/APM2. Some of these features were
|
|
available on older APM1/APM2 releases but needed to be removed to
|
|
allow us to squeeze the new release onto the board. So if you are
|
|
happy with a previous release on your APM2 and want a feature that is
|
|
in that older release and not in this one then perhaps you shouldn't
|
|
upgrade.
|
|
|
|
PID Tuning
|
|
|
|
While most people are happy with autotune to tune the PIDs for their
|
|
planes, it is nice also to be able to do fine tuning by hand. This
|
|
release includes new dataflash and mavlink messages to help with that
|
|
tuning. You can now see the individual contributions of the P, I and D
|
|
components of each PID in the logs, allowing you to get a much better
|
|
picture of the performance.
|
|
|
|
A simple application of this new tuning is you can easily see if your
|
|
trim is off. If the Pitch I term is constantly contributing a
|
|
signifcant positive factor then you know that ArduPilot is having to
|
|
constantly apply up elevator, which means your plane is nose
|
|
heavy. The same goes for roll, and can also be used to help tune your
|
|
ground steering.
|
|
|
|
Vibration Logging
|
|
|
|
This release includes a lot more options for diagnosing vibration
|
|
issues. You will notice new VIBRATION messages in MAVLink and VIBE
|
|
messages in the dataflash logs. Those give you a good idea of your
|
|
(unfiltered) vibration levels. For really detailed analysis you can
|
|
setup your LOG_BITMASK to include raw logging, which gives you every
|
|
accel and gyro sample on your Pixhawk. You can then do a FFT on the
|
|
result and plot the distribution of vibration level with
|
|
frequency. That is great for finding the cause of vibration
|
|
issues. Note that you need a very fast microSD card for that to work!
|
|
|
|
Rudder Disarm
|
|
|
|
This is the first release that allows you to disarm using the rudder
|
|
if you want to. It isn't enabled by default (due to the slight risk of
|
|
accidentially disarming while doing aerobatics). You can enable it
|
|
with the ARMING_RUDDER parameter by setting it to 2. It will only
|
|
allow you to disarm if the autopilot thinks you are not flying at the
|
|
time (thanks to the "is_flying" heuristics from Tom Pittenger).
|
|
|
|
More Sensors
|
|
|
|
This release includes support for a bunch more sensors. It now supports
|
|
3 different interfaces for the LightWare range of Lidars (serial, I2C
|
|
and analog), and also supports the very nice Septentrio RTK
|
|
dual-frequency GPS (the first dual-frequency GPS we have support
|
|
for). It also supports the new "blue label" Lidar from Pulsed Light
|
|
(both on I2C and PWM).
|
|
|
|
For the uBlox GPS, we now have a lot more configurability of the
|
|
driver, with the ability to set the GNSS mode for different
|
|
constellations. Also in the uBlox driver we support logging of the raw
|
|
carrier phase and pseudo range data, which allows for post-flight RTK
|
|
analysis with raw-capable receivers for really accurate photo
|
|
missions.
|
|
|
|
Better Linux support
|
|
|
|
This release includes a lot of improvements to the Linux based
|
|
autopilot boards, including the NavIO+, the PXF and ERLE boards and
|
|
the BBBMini and the new RasPilot board. If you like the idea of flying
|
|
with Linux then please try it out!
|
|
|
|
On-board compass calibrator
|
|
|
|
We also have a new on-board compass calibrator, which also adds calibration
|
|
for soft iron effects, allowing for much more accurate compass
|
|
calibration. Support for starting the compass calibration in the
|
|
various ground stations is still under development, but it looks like
|
|
this will be a big improvement to compass calibration.
|
|
|
|
Lots of other changes!
|
|
|
|
The above list is just a taste of the changes that have gone into this
|
|
release. Thousands of small changes have gone into this release with
|
|
dozens of people contributing. Many thanks to everyone who helped!
|
|
|
|
Other key changes include:
|
|
|
|
- fixed return point on geofence breach
|
|
- enable messages for MAVLink gimbal support
|
|
- use 64 bit timestamps in dataflash logs
|
|
- added realtime PID tuning messages and PID logging
|
|
- fixed a failure case for the px4 failsafe mixer
|
|
- added DSM binding support on Pixhawk
|
|
- added ALTITUDE_WAIT mission command
|
|
- added vibration level logging
|
|
- ignore low voltage failsafe while disarmed
|
|
- added delta velocity and delta angle logging
|
|
- fix LOITER_TO_ALT to verify headings towards waypoints within the loiter radius
|
|
- allow rudder disarm based on ARMING_RUDDER parameter
|
|
- fix default behaviour of flaps
|
|
- prevent mode switch changes changing WP tracking
|
|
- make TRAINING mode obey stall prevention roll limits
|
|
- disable TRIM_RC_AT_START by default
|
|
- fixed parameter documentation spelling errors
|
|
- send MISSION_ITEM_REACHED messages on waypoint completion
|
|
- fixed airspeed handling in SITL simulators
|
|
- enable EKF by default on plane
|
|
- Improve gyro bias learning rate for plane and rover
|
|
- Allow switching primary GPS instance with 1 sat difference
|
|
- added NSH over MAVLink support
|
|
- added support for mpu9250 on pixhawk and pixhawk2
|
|
- Add support for logging ublox RXM-RAWX messages
|
|
- lots of updates to improve support for Linux based boards
|
|
- added ORGN message in dataflash
|
|
- added support for new "blue label" Lidar
|
|
- switched to real hdop in uBlox driver
|
|
- improved auto-config of uBlox
|
|
- raise accel discrepancy arming threshold to 0.75
|
|
- improved support for tcp and udp connections on Linux
|
|
- switched to delta-velocity and delta-angles in DCM
|
|
- improved detection of which accel to use in EKF
|
|
- improved auto-detections of flow control on pixhawk UARTs
|
|
- Failsafe actions are not executed if already on final approach or land.
|
|
- Option to trigger GCS failsafe only in AUTO mode.
|
|
- added climb/descend parameter to CONTINUE_AND_CHANGE_ALT
|
|
- added HDOP to uavcan GPS driver
|
|
- improved sending of autopilot version
|
|
- prevent motor startup with bad throttle trim on reboot
|
|
- log zero rangefinder distance when unhealthy
|
|
- added PRU firmware files for BeagleBoneBlack port
|
|
- fix for recent STORM32 gimbal support
|
|
- changed sending of STATUSTEXT severity to use correct values
|
|
- added new RSSI library with PWM input support
|
|
- fixed MAVLink heading report for UAVCAN GPS
|
|
- support LightWare I2C rangefinder on Linux
|
|
- improved staging of parameters and formats on startup to dataflash
|
|
- added new on-board compass calibrator
|
|
- improved RCOutput code for NavIO port
|
|
- added support for Septentrio GPS receiver
|
|
- support DO_MOUNT_CONTROl via command-long interface
|
|
- added CAM_RELAY_ON parameter
|
|
- moved SKIP_GYRO_CAL functionality to INS_GYR_CAL
|
|
- added detection of bad lidar settings for landing
|
|
|
|
Note that the documentation hasn't yet caught up with all the changes
|
|
in this release. We are still working on that, but meanwhile if you
|
|
see a feature that interests you and it isn't documented yet then
|
|
please ask.
|
|
|
|
|
|
|
|
Release 3.3.0, 20th May 2015
|
|
----------------------------
|
|
|
|
The ardupilot development team is proud to announce the release of
|
|
version 3.3.0 of APM:Plane. This is a major release with a lot of
|
|
changes. Please read the release notes carefully!
|
|
|
|
The last stable release was 3 months ago, and since that time we have
|
|
applied over 1200 changes to the code. It has been a period of very
|
|
rapid development for ArduPilot. Explaining all of the changes that
|
|
have been made would take far too long, so I've chosen some key
|
|
changes to explain in detail, and listed the most important secondary
|
|
changes in a short form. Please ask for details if there is a change
|
|
you see listed that you want some more information on.
|
|
|
|
Arming Changes
|
|
--------------
|
|
|
|
This is the first release of APM:Plane where ARMING_CHECK and
|
|
ARMING_REQUIRE both default to enabled. That means when you upgrade if
|
|
you didn't previously have arming enabled you will need to learn about
|
|
arming your plane.
|
|
|
|
Please see this page for more information on arming:
|
|
|
|
http://plane.ardupilot.com/wiki/arming-your-plane/
|
|
|
|
I know many users will be tempted to disable the arming checks, but
|
|
please don't do that without careful thought. The arming checks are an
|
|
important part of ensuring the aircraft is ready to fly, and a common
|
|
cause of flight problems is to takeoff before ArduPilot is ready.
|
|
|
|
Re-do Accelerometer Calibration
|
|
-------------------------------
|
|
|
|
Due to a change in the maximum accelerometer range on the Pixhawk all
|
|
users must re-do their accelerometer calibration for this release. If
|
|
you don't then your plane will fail to arm with a message saying that
|
|
you have not calibrated the accelerometers.
|
|
|
|
Only 3D accel calibration
|
|
-------------------------
|
|
|
|
The old "1D" accelerometer calibration method has now been removed, so
|
|
you must use the 3D accelerometer calibration method. The old method
|
|
was removed because a significant number of users had poor flights due
|
|
to scaling and offset errors on their accelerometers when they used
|
|
the 1D method. My apologies for people with very large aircraft who
|
|
find the 3D method difficult.
|
|
|
|
Note that you can do the accelerometer calibration with the autopilot
|
|
outside the aircraft which can make things easier for large aircraft.
|
|
|
|
Auto-disarm
|
|
-----------
|
|
|
|
After an auto-landing the autopilot will now by default disarm after
|
|
LAND_DISARMDELAY seconds (with a default of 20 seconds). This feature
|
|
is to prevent the motor from spinning up unexpectedly on the ground
|
|
after a landing.
|
|
|
|
HIL_MODE parameter
|
|
------------------
|
|
|
|
It is now possible to configure your autopilot for hardware in the
|
|
loop simulation without loading a special firmware. Just set the
|
|
parameter HIL_MODE to 1 and this will enable HIL for any
|
|
autopilot. This is designed to make it easier for users to try HIL
|
|
without having to find a HIL firmware.
|
|
|
|
SITL on Windows
|
|
---------------
|
|
|
|
The SITL software in the loop simulation system has been completely
|
|
rewritten for this release. A major change is to make it possible to
|
|
run SITL on native windows without needing a Linux virtual
|
|
machine. There should be a release of MissionPlanner for Windows soon
|
|
which will make it easy to launch a SITL instance.
|
|
|
|
The SITL changes also include new backends, including the CRRCSim
|
|
flight simulator. This gives us a much wider range of aircraft we can
|
|
use for SITL. See http://dev.ardupilot.com/wiki/simulation-2/ for more
|
|
information.
|
|
|
|
Throttle control on takeoff
|
|
---------------------------
|
|
|
|
A number of users had problems with pitch control on auto-takeoff, and
|
|
with the aircraft exceeding its target speed during takeoff. The
|
|
auto-takeoff code has now been changed to use the normal TECS throttle
|
|
control which should solve this problem.
|
|
|
|
Rudder only support
|
|
-------------------
|
|
|
|
There is a new RUDDER_ONLY parameter for aircraft without ailerons,
|
|
where roll is controlled by the rudder. Please see the documentation
|
|
for more information on flying with a rudder only aircraft:
|
|
|
|
http://plane.ardupilot.com/wiki/arduplane-parameters/#rudder_only_aircraft_arduplanerudder_only
|
|
|
|
APM1/APM2 Support
|
|
-----------------
|
|
|
|
We have managed to keep support for the APM1 and APM2 in this release,
|
|
but in order to fit it in the limited flash space we had to disable
|
|
some more features when building for those boards. For this release
|
|
the AP_Mount code for controlling camera mounts is disabled on
|
|
APM1/APM2.
|
|
|
|
At some point soon it will become impractical to keep supporting the
|
|
APM1/APM2 for planes. Please consider moving to a 32 bit autopilot
|
|
soon if you are still using an APM1 or APM2.
|
|
|
|
New INS code
|
|
------------
|
|
|
|
There have been a lot of changes to the gyro and accelerometer
|
|
handling for this release. The accelerometer range on the Pixhawk has
|
|
been changed to 16g from 8g to prevent clipping on high vibration
|
|
aircraft, and the sampling rate on the lsm303d has been increased to
|
|
1600Hz.
|
|
|
|
An important bug has also been fixed which caused aliasing in the
|
|
sampling process from the accelerometers. That bug could cause
|
|
attitude errors in high vibration environments.
|
|
|
|
Numerous Landing Changes
|
|
------------------------
|
|
|
|
Once again there have been a lot of improvements to the automatic
|
|
landing support. Perhaps most important is the introduction of a
|
|
smooth transition from landing approach to the flare, which reduces
|
|
the tendency to pitch up too much on flare.
|
|
|
|
There is also a new parameter TECS_LAND_PMAX which controls the
|
|
maximum pitch during landing. This defaults to 10 degrees, but for
|
|
many aircraft a smaller value may be appropriate. Reduce it to 5
|
|
degrees if you find you still get too much pitch up during the flare.
|
|
|
|
Other secondary changes in this release include:
|
|
|
|
- a new SerialManager library which gives much more flexible management of serial port assignment
|
|
- changed the default FS_LONG_TIMEOUT to 5 seconds
|
|
- raised default IMAX for roll/pitch to 3000
|
|
- lowered default L1 navigation period to 20
|
|
- new BRD_SBUS_OUT parameter to enable SBUS output on Pixhawk
|
|
- large improvements to the internals of PX4Firmware/PX4NuttX for better performance
|
|
- auto-formatting of microSD cards if they can't be mounted on boot (PX4/Pixhawk only)
|
|
- a new PWM based driver for the PulsedLight Lidar to avoid issues with the I2C interface
|
|
- fixed throttle forcing to zero when disarmed
|
|
- only reset mission on disarm if not in AUTO mode
|
|
- much better handling of steep landings
|
|
- added smooth transition in landing flare
|
|
- added HIL_MODE parameter for HIL without a special firmware
|
|
- lowered default FS_LONG_TIMEOUT to 5 seconds
|
|
- mark old ELEVON_MIXING mode as deprecated
|
|
- fixed 50Hz MAVLink support
|
|
- support DO_SET_HOME MAVLink command
|
|
- fixed larger values of TKOFF_THR_DELAY
|
|
- allow PulsedLight Lidar to be disabled at a given height
|
|
- fixed bungee launch (long throttle delay)
|
|
- fixed a bug handling entering AUTO mode before we have GPS lock
|
|
- added CLI_ENABLED parameter
|
|
- removed 1D accel calibration
|
|
- added EKF_STATUS_REPORT MAVLink message
|
|
- added INITIAL_MODE parameter
|
|
- added TRIM_RC_AT_START parameter
|
|
- added auto-disarm after landing (LAND_DISARMDELAY)
|
|
- added LOCAL_POSITION_NED MAVLink message
|
|
- avoid triggering a fence breach in final stage of landing
|
|
- rebuild glide slope if we are above it and climbing
|
|
- use TECS to control throttle on takeoff
|
|
- added RUDDER_ONLY parameter to better support planes with no ailerons
|
|
- updated Piksi RTK GPS driver
|
|
- improved support for GPS data injection (for Piksi RTK GPS)
|
|
- added NAV_LOITER_TO_ALT mission item
|
|
- fixed landing approach without an airspeed sensor
|
|
- support RTL_AUTOLAND=2 for landing without coming to home first
|
|
- disabled camera mount support on APM1/APM2
|
|
- added support for SToRM32 and Alexmos camera gimbals
|
|
- added support for Jaimes mavlink enabled gimbal
|
|
- improved EKF default tuning for planes
|
|
- updated support for NavIO and NavIO+ boards
|
|
- updated support for VRBrain boards
|
|
- fixes for realtime threads on Linux
|
|
- added simulated sensor lag for baro and mag in SITL
|
|
- made it possible to build SITL for native Windows
|
|
- switched to faster accel sampling on Pixhawk
|
|
- added coning corrections on Pixhawk
|
|
- set ARMING_CHECK to 1 by default
|
|
- disable NMEA and SiRF GPS on APM1/APM2
|
|
- support MPU9255 IMU on Linux
|
|
- updates to BBBMINI port for Linux
|
|
- added TECS_LAND_PMAX parameter
|
|
- switched to synthetic clock in SITL
|
|
- support CRRCSim FDM backend in SITL
|
|
- new general purpose replay parsing code
|
|
- switched to 16g accel range in Pixhawk
|
|
- added FENCE_AUTOENABLE=2 for disabling just fence floor
|
|
- added POS dataflash log message
|
|
- changed GUIDED behaviour to match copter
|
|
- added support for a 4th MAVLink channel
|
|
- support setting AHRS_TRIM in preflight calibration
|
|
- fixed a PX4 mixer out of range error
|
|
|
|
Best wishes to all APM:Plane users from the dev team, and happy
|
|
flying!
|
|
|
|
|
|
Release 3.2.2, February 10th 2015
|
|
---------------------------------
|
|
|
|
The ardupilot development team has released version 3.2.2 of
|
|
APM:Plane. This is a bugfix release for some important bugs found by
|
|
users of the 3.2.1 release.
|
|
|
|
The changes in this release are:
|
|
|
|
- fixed a bug that could cause short term loss of RC control with
|
|
some receiver systems and configurations
|
|
|
|
- allowed for shorter sync pulse widths for PPM-SUM receivers on
|
|
APM1 and APM2
|
|
|
|
- fixed HIL mode altitude
|
|
|
|
The most important bug fix is the one for short term loss of RC
|
|
control. This is a very long standing bug which didn't have a
|
|
noticeable impact for most people, but could cause loss of RC control
|
|
for around 1 or 2 seconds for some people in certain circumstances.
|
|
|
|
The bug was in the the AP_HAL RCInput API. Each HAL backend has a flag
|
|
that says whether there is a new RC input frame available. That flag
|
|
was cleared by the read() method (typically hal.rcin->read()). Callers
|
|
would check for new input by checking the boolean
|
|
hal.rcin->new_input() function.
|
|
|
|
The problem was that read() was called from multiple places. Normally
|
|
this is fine as reads from other than the main radio input loop happen
|
|
before the other reads, but if the timing of the new radio frame
|
|
exactly matched the loop frequency then a read from another place
|
|
could clear the new_input flag and we would not see the new RC input
|
|
frame. If that happened enough times we would go into a short term RC
|
|
failsafe and ignore RC inputs, even in manual mode.
|
|
|
|
The fix was very simple - it is the new_input() function itself that
|
|
should clear the flag, not read().
|
|
|
|
Many thanks to MarkM for helping us track down this bug by providing
|
|
us with sufficient detail on how to reproduce it. In Marks case his
|
|
OpenLRSng configuration happened to produce exactly the worst case
|
|
timing needed to reproduce the issue. Once I copied his OpenLRS
|
|
settings to my TX/RX I was able to reproduce the problem and it was
|
|
easy to find and fix.
|
|
|
|
A number of users have reported occasional glitches in manual control
|
|
where servos pause for short periods in past releases. It is likely
|
|
that some of those issues were caused by this bug. The dev team would
|
|
like to apologise for taking so long to track down this bug!
|
|
|
|
The other main change was also related to RC input. Some receivers use
|
|
a PPM-SUM sync pulse width shorter than what the APM1/APM2 code was
|
|
setup to handle. The OpenLRSng default sync pulse width is 3000
|
|
microseconds, but the APM1/APM2 code was written for a mininum sync
|
|
pulse width of 4000 microseconds. For this release I have changed the
|
|
APM1/APM2 driver to accept a sync pulse width down to 2700
|
|
microseconds.
|
|
|
|
|
|
Release 3.2.1, February 5th 2015
|
|
--------------------------------
|
|
|
|
The ardupilot development team is proud to announce the release of
|
|
version 3.2.1 of APM:Plane. This is primarily a bugfix release, but
|
|
does have some new features.
|
|
|
|
The major changes in this release are:
|
|
|
|
- fixed a mission handling bug that could cause a crash if jump
|
|
commands form an infinite loop (thanks to Dellarb for reporting
|
|
this bug)
|
|
- improved support for in-kernel SPI handling on Linux (thanks to John Williams)
|
|
- support UAVCAN based ESCs and GPS modules on Pixhawk (thanks to
|
|
Pavel, Holger and and PX4 dev team)
|
|
- Multiple updates for the NavIO+ cape on RaspberryPi (thanks to
|
|
Emlid)
|
|
- multiple automatic landing fixes, including improvements in flare
|
|
detection, glide slope calculation and lag handling
|
|
- fixed a bug that could cause a change altitude MAVLink command
|
|
from causing a sudden descent
|
|
- re-enable CLI on non-APM1/APM2 boards
|
|
- Lots of EKF changes, including reducing impact of ground magnetic
|
|
interference, reducing the impact of a GPS outage and integrating
|
|
optical flow support
|
|
- added initial support for the PX4 optical flow sensor. Just
|
|
logging for this release.
|
|
- added support for MAVLink packet routing
|
|
- added detection and recovery from faulty gyro and accel sensors
|
|
- improved arming checks code to detect a lot more error conditions,
|
|
and change the ARMING_CHECK default value to check all error
|
|
conditions.
|
|
- added support for BBBMini Linux port
|
|
- increased number of AVR input channels from 8 to 11
|
|
- auto-set system clock based on GPS in Linux ports
|
|
- added SBUS FrSky telemetry support (thanks to Mathias)
|
|
|
|
Release 3.2.0, November 25th 2014
|
|
---------------------------------
|
|
|
|
The ardupilot development team is proud to announce the release of
|
|
version 3.2.0 of APM:Plane. This is a major release with a lot of
|
|
new features.
|
|
|
|
The changes span a lot of different areas of the code, but arguably
|
|
the most important changes are:
|
|
|
|
- automatic stall prevention code
|
|
- PX4IO based RC override code on FMU failure
|
|
- I2C crash bugfix
|
|
- new autoland code from Michael Day
|
|
- compass independent auto takeoff
|
|
|
|
I'll go into each of these changes in a bit more detail.
|
|
|
|
Automatic Stall Prevention
|
|
--------------------------
|
|
|
|
The automatic stall prevention code is code that uses the aerodynamic
|
|
load factor (calculated from demanded bank angle) to adjust both the
|
|
maximum roll angle and the minimum airspeed. You can enable/disable
|
|
this code with the STALL_PREVENTION parameter which defaults to
|
|
enabled.
|
|
|
|
When in stabilised manual throttle modes this option has the effect of
|
|
limiting how much bank angle you can demand when close to the
|
|
configured minimum airspeed (from ARSPD_FBW_MIN). That means when in
|
|
FBWA mode if you try to turn hard while close to ARSPD_FBW_MIN it will
|
|
limit the bank angle to an amount that will keep the speed above
|
|
ARSPD_FBW_MIN times the aerodynamic load factor. It will always allow
|
|
you at bank at least 25 degrees however, to ensure you keep some
|
|
maneuverability if the airspeed estimate is incorrect.
|
|
|
|
When in auto-throttle modes (such as AUTO, RTL, CRUISE etc) it will
|
|
additionally raise the minimum airspeed in proportion to the
|
|
aerodynamic load factor. That means if a mission demands a sharp turn
|
|
at low speed then initially the turn will be less sharp, and the TECS
|
|
controller will add power to bring the airspeed up to a level that can
|
|
handle the demanded turn. After the turn is complete the minimum
|
|
airspeed will drop back to the normal level.
|
|
|
|
This change won't completely eliminate stalls of course, but it should
|
|
make them less likely if you properly configure ARSPD_FBW_MIN for your
|
|
aircraft.
|
|
|
|
PX4IO based RC override code
|
|
----------------------------
|
|
|
|
This releases adds support for PX4IO based RC override. This is a
|
|
safety feature where the stm32 IO co-processor on the PX4 and Pixhawk
|
|
will give the pilot manual control if the main ArduPilot
|
|
micro-controller fails (or the autopilot code crashes). This is
|
|
particularly useful when testing new code that may not be stable.
|
|
|
|
As part of this new RC override support we also have a new
|
|
OVERRIDE_CHAN parameter, which allows you to specify a RC input
|
|
channel which can be used to test the RC override support. See the
|
|
documentation on OVERRIDE_CHAN for details.
|
|
|
|
I2C bugfix
|
|
----------
|
|
|
|
This release fixes another I2C bug in NuttX which could cause the
|
|
Pixhawk to lock up under high I2C load with noise on I2C cables. This
|
|
bug has caused at least two aircraft to crash, so it is an important
|
|
fix. I hope this will be the last I2C crash bug we find in NuttX! An
|
|
audit of the code was done to try to confirm that no more bugs of this
|
|
type are present.
|
|
|
|
New Autoland code
|
|
-----------------
|
|
|
|
This release incorporates some new autoland capabilities contributed
|
|
by Michael Day. The key new feature is the ability to trigger an
|
|
automatic landing when a RTL completes, which for the first time
|
|
allows a user to setup their aircraft to land using only transmitter
|
|
control.
|
|
|
|
The way it works is there is a new parameter RTL_AUTOLAND. If that is
|
|
set to 1 and the aircraft reaches its target location in an RTL it
|
|
will look for DO_LAND_START mission item in the mission. If that is
|
|
found then the aircraft will switch to AUTO starting at that section
|
|
of the mission. The user sets up their land mission commands starting
|
|
with a DO_LAND_START mission item.
|
|
|
|
There is more to do in this autoland support. We have been discussing
|
|
more advanced go-around capabilities and also better path planning for
|
|
landing. The code in this release is an important first step though,
|
|
and will be a good basis for future work.
|
|
|
|
Compass independent takeoff code
|
|
--------------------------------
|
|
|
|
The auto-takeoff code has been changed to make it more independent of
|
|
compass settings, allowing for reliable takeoff down a runway with
|
|
poor compass offsets. The new takeoff code uses the gyroscope as the
|
|
primary heading control for the first part of the takeoff, until the
|
|
aircraft gains enough speed for a GPS heading to be reliable.
|
|
|
|
Many thanks to all the contributors, especially:
|
|
|
|
- Paul and Jon for EKF and TECS updates
|
|
- Bret and Grant for stall prevention testing
|
|
- Michael for all his autoland work
|
|
- all the work on NavIO, PXF and Zynq by John, Victor, George and Siddarth
|
|
- The PX4 team for all the PX4 updates
|
|
|
|
More complete list of changes:
|
|
|
|
- allow GCS to enable/disable PX4 safety switch
|
|
- make auto-takeoff independent of compass errors
|
|
- report gyro unhealthy if calibration failed
|
|
- added support for MAV_CMD_DO_LAND_START
|
|
- added RTL_AUTOLAND parameter
|
|
- disable CLI by default in build
|
|
- new InertialSensor implementation
|
|
- added landing go around support
|
|
- enable PX4 failsafe RC override
|
|
- added OVERRIDE_CHAN parameter
|
|
- changed default AUTOTUNE level to 6
|
|
- changed default I value for roll/pitch controllers
|
|
- added CAMERA_FEEDBACK mavlink messages
|
|
- use airspeed temperature for baro calibration if possible
|
|
- added STALL_PREVENTION parameter
|
|
- fixed handling of TKOFF_THR_MAX parameter
|
|
- added ARSPD_SKIP_CAL parameter
|
|
- fixed flaperon trim handling (WARNING: may need to retrim flaperons)
|
|
- EKF robustness improvements, especially for MAG handling
|
|
- lots of HAL_Linux updates
|
|
- support wider range of I2C Lidars
|
|
- fixed fallback to DCM in AHRS
|
|
- fixed I2C crash bug in NuttX
|
|
- TECS prevent throttle undershoot after a climb
|
|
- AP_Mount: added lead filter to improve servo gimbals
|
|
- Zynq and NavIO updates
|
|
- fixed preflight calibration to prevent losing 3D accel cal
|
|
- perform a gyro calibration when doing 3D accel cal
|
|
- added DO_CONTINUE_AND_CHANGE_ALT mission command
|
|
- added support for DO_FENCE_ENABLE mission command
|
|
- allow gyro calibration to take up to 30 seconds
|
|
- improved health checks in the EKF for DCM fallback
|
|
|
|
Note: If you use flaperons you may need to re-trim them before you
|
|
fly due to the change in flaperon trim handling.
|
|
|
|
I hope that everyone enjoys flying this new APM:Plane release as much
|
|
as we enjoyed producing it! It is a major milestone in the development
|
|
of the fixed wing code for APM, and I think puts us in a great
|
|
position for future development.
|
|
|
|
Happy flying!
|
|
|
|
|
|
|
|
Release 3.1.1, September 12th 2014
|
|
----------------------------------
|
|
|
|
The ardupilot development team is proud to announce the release of
|
|
version 3.1.1 of APM:Plane. This is primarily a bugfix release with a
|
|
small number of new features.
|
|
|
|
The main bug fixed in this release is a bug that could affect saving
|
|
parameters and mission items in the FRAM/eeprom storage of
|
|
PX4v1/Pixhawk/VRBrain. The bug has been in the code since January 2013
|
|
and did not cause problems very often (which is why it hasn't been
|
|
noticed till now), but when it does happen it causes changes to
|
|
parameters or mission items not to be saved on a reboot.
|
|
|
|
Other changes in this release:
|
|
|
|
- support for using a Lidar for landing for terrain altitude (see
|
|
the RNGFND_LANDING parameter)
|
|
|
|
- improvements in the landing approach code, especially the glide
|
|
slope calculation
|
|
|
|
- added LAND_FLAP_PERCENT and TKOFF_FLAP_PCNT parameters, to control
|
|
the amount of flaps to use on takeoff and landing
|
|
|
|
- the default WP_RADIUS has been raised from 30 to 90. Note that the
|
|
L1 controller may choose to turn after the WP_RADIUS is
|
|
reached. The WP_RADIUS only controls the earliest point at which
|
|
the turn can happen, so a larger WP_RADIUS usually leads to better
|
|
flight paths, especially for faster aircraft.
|
|
|
|
- send gyro and accel status separately to the GCS (thanks to Randy)
|
|
|
|
- support setting the acceptance radius in mission waypoints (in
|
|
parameter 2), which allows for better control of waypoints where
|
|
actions such as servo release will happen
|
|
|
|
- fixed GPS time offset in HIL
|
|
|
|
- added RELAY_DEFAULT parameter, allowing control of relay state on
|
|
boot
|
|
|
|
- fixed sdcard logging on PX4v1
|
|
|
|
- added GPS_SBAS_MODE and GPS_MIN_ELEV parameters for better control
|
|
of the use of SBAS and the GPS elevation mask for advanced users
|
|
|
|
Happy flying!
|
|
|
|
|
|
Release 3.1.0, August 26th 2014
|
|
-------------------------------
|
|
|
|
The ardupilot development team is proud to announce the release of
|
|
version 3.1.0 of APM:Plane. This is a major release with a lot of new
|
|
features and bug fixes.
|
|
|
|
The biggest change in this release is the addition of automatic
|
|
terrain following. Terrain following allows the autopilot to guide the
|
|
aircraft over varying terrain at a constant height above the ground
|
|
using an on-board terrain database.
|
|
|
|
Changes in this release:
|
|
|
|
- added terrain following support. See
|
|
http://plane.ardupilot.com/wiki/common-terrain-following/
|
|
|
|
- added support for higher baudrates on telemetry ports, to make it
|
|
easier to use high rate telemetry to companion boards. Rates of up
|
|
to 1.5MBit are now supported to companion boards.
|
|
|
|
- added new takeoff code, including new parameters:
|
|
TKOFF_TDRAG_ELEV, TKOFF_TDRAG_SPD1, TKOFF_ROTATE_SPD,
|
|
TKOFF_THR_SLEW and TKOFF_THR_MAX.
|
|
This gives fine grained control of auto takeoff for tail dragger aircraft.
|
|
|
|
- overhauled glide slope code to fix glide slope handling in many
|
|
situations. This makes transitions between different altitudes
|
|
much smoother.
|
|
|
|
- prevent early waypoint completion for straight ahead
|
|
waypoints. This makes for more accurate servo release at specific
|
|
locations, for applications such as dropping water bottles.
|
|
|
|
- added MAV_CMD_DO_INVERTED_FLIGHT command in missions, to change
|
|
from normal to inverted flight in AUTO (thanks to Philip Rowse for
|
|
testing of this feature).
|
|
|
|
- new Rangefinder code with support for a wider range of rangefinder
|
|
types including a range of Lidars (thanks to Allyson Kreft)
|
|
|
|
- added support for FrSky telemetry via SERIAL2_PROTOCOL parameter
|
|
(thanks to Matthias Badaire)
|
|
|
|
- added new STAB_PITCH_DOWN parameter to improve low throttle
|
|
behaviour in FBWA mode, making a stall less likely in FBWA mode
|
|
(thanks to Jack Pittar for the idea).
|
|
|
|
- added GLIDE_SLOPE_MIN parameter for better handling of small
|
|
altitude deviations in AUTO. This makes for more accurate altitude
|
|
tracking in AUTO.
|
|
|
|
- added support for Linux based autopilots, initially with the PXF
|
|
BeagleBoneBlack cape and the Erle robotics board. Support for more
|
|
boards is expected in future releases. Thanks to Victor, Sid and
|
|
Anuj for their great work on the Linux port. See
|
|
http://diydrones.com/profiles/blogs/first-flight-of-ardupilot-on-linux
|
|
for details.
|
|
|
|
- prevent cross-tracking on some waypoint types, such as when
|
|
initially entering AUTO or when the user commands a change of
|
|
target waypoint.
|
|
|
|
- fixed servo demo on startup (thanks to Klrill-ka)
|
|
|
|
- added AFS (Advanced Failsafe) support on 32 bit boards by
|
|
default. See
|
|
http://plane.ardupilot.com/wiki/advanced-failsafe-configuration/
|
|
|
|
- added support for monitoring voltage of a 2nd battery via BATTERY2
|
|
MAVLink message
|
|
|
|
- added airspeed sensor support in HIL
|
|
|
|
- fixed HIL on APM2. HIL should now work again on all boards.
|
|
|
|
- added StorageManager library, which expands available FRAM storage
|
|
on Pixhawk to 16 kByte. This allows for 724 waypoints, 50 rally
|
|
points and 84 fence points on Pixhawk.
|
|
|
|
- improved steering on landing, so the plane is actively steered
|
|
right through the landing.
|
|
|
|
- improved reporting of magnetometer and barometer errors to the GCS
|
|
|
|
- added FBWA_TDRAG_CHAN parameter, for easier FBWA takeoffs of tail
|
|
draggers, and better testing of steering tuning for auto takeoff.
|
|
|
|
- fixed failsafe pass through with no RC input (thanks to Klrill-ka)
|
|
|
|
- fixed a bug in automatic flow control detection for serial ports
|
|
in Pixhawk
|
|
|
|
- fixed use of FMU servo pins as digital inputs on Pixhawk
|
|
|
|
- imported latest updates for VRBrain boards (thanks to Emile
|
|
Castelnuovo and Luca Micheletti)
|
|
|
|
- updates to the Piksi GPS support (thanks to Niels Joubert)
|
|
|
|
- improved gyro estimate in DCM (thanks to Jon Challinger)
|
|
|
|
- improved position projection in DCM in wind (thanks to Przemek
|
|
Lekston)
|
|
|
|
- several updates to AP_NavEKF for more robust handling of errors
|
|
(thanks to Paul Riseborough)
|
|
|
|
- improved simulation of rangefinders in SITL
|
|
|
|
- lots of small code cleanups thanks to Daniel Frenzel
|
|
|
|
- initial support for NavIO board from Mikhail Avkhimenia
|
|
|
|
- fixed logging of RCOU for up to 12 channels (thanks to Emile
|
|
Castelnuovo)
|
|
|
|
- code cleanups from Silvia Nunezrivero
|
|
|
|
- improved parameter download speed on radio links with no flow
|
|
control
|
|
|
|
Many thanks to everyone who contributed to this release, especially
|
|
our beta testers Marco, Paul, Philip and Iam.
|
|
|
|
Happy flying!
|
|
|
|
|
|
Release 3.0.3, May 19th 2014
|
|
----------------------------
|
|
|
|
The ardupilot development team is proud to announce the release of
|
|
version 3.0.3 of APM:Plane. This release contains some important bug
|
|
fixes for all supported boards.
|
|
|
|
The key bug fixes in this release are:
|
|
|
|
- fixed handling of filter divergance in the EKF filter
|
|
- fixed a glide slope calculation bug when entering AUTO mode
|
|
|
|
The EKF fixes are the main focus of this release. During testing of
|
|
APM:Plane with the AHRS_EKF_USE enabled it was found that under some
|
|
circumstances the EKF could diverge, resulting in loss of attitude
|
|
estimate. Unless the pilot quickly took control in MANUAL this could
|
|
result in the aircraft crashing.
|
|
|
|
The fix for this problem was in several parts. The main fix was to
|
|
prevent the divergance, but as a precuation against future bugs of
|
|
this type additional numerical checks were added to allow the EKF to
|
|
automatically reset in flight when the internal state shows
|
|
large gyro bias changes, which are the first sign of something going
|
|
wrong in the filter. If this happens again the EKF will automatically
|
|
disable itself for 10 seconds, allowing APM:Plane to fall back to the
|
|
old DCM code. The EKF will then reset itself using initial state based
|
|
on the DCM state. The aircraft will report the failure using the AHRS
|
|
health bit in the SYS_STATUS MAVLink message.
|
|
|
|
The default EKF tuning parameters were also updated based on a number
|
|
of user supplied flight logs to increase the robustness of the filter.
|
|
|
|
The second bug fixed in this release relates to the glide slope
|
|
calculation when the aircraft enters AUTO mode for the first time when
|
|
at an altitude above the altitude of the first waypoint in the
|
|
mission. The starting point for the glide slope was incorrectly
|
|
calculated using the home altitude, which resulted in the aircraft
|
|
descending below the first waypoint altitude before climbing again. In
|
|
some circumstances this could lead to a crash due to local terrain.
|
|
|
|
Many thanks to everyone who tested this release. Special thanks to
|
|
Dellarb for reporting the glide slope bug and to Paul Riseborough for
|
|
all his work on the EKF code over the last few weeks.
|
|
|
|
Happy flying!
|
|
|
|
|
|
Release 3.0.2, May 4th 2014
|
|
---------------------------
|
|
|
|
The ardupilot development team is proud to announce the release of
|
|
version 3.0.2 of APM:Plane. This release combines some important bug
|
|
fixes with some new features.
|
|
|
|
I2C bug fix
|
|
-----------
|
|
|
|
The most important change for this release is a bug fix for an I2C bug
|
|
in the NuttX I2C driver code that could (under some rare
|
|
circumstances) cause a Pixhawk to crash. This bug fix is the primary
|
|
reason for doing a new release now.
|
|
|
|
This bug was able to be reproduced by creating a 1.3m GPS cable
|
|
carrying both the I2C signals for a magnetometer and the UART signals
|
|
for the GPS. Interference between these two signals could cause the
|
|
I2C controller to give spurious data to the I2C driver. The I2C driver
|
|
did not have sufficient protection against these errors and could
|
|
crash the board.
|
|
|
|
While we have not been able to reproduce this error with the normal
|
|
cables that come with a Pixhawk we cannot rule out the bug triggering
|
|
with shorter cables, so we are doing a fast release to fix the bug.
|
|
|
|
Autotune
|
|
--------
|
|
|
|
This release also includes an important new feature - automatic
|
|
roll/pitch tuning. While this feature is still considered experimental
|
|
we have had very positive feedback from beta testers and have decided
|
|
to include it in the release.
|
|
|
|
Full documentation for how to use automatic tuning is available here:
|
|
|
|
http://plane.ardupilot.com/wiki/automatic-tuning-with-autotune/
|
|
|
|
we hope that the automatic tuning will help users who have had
|
|
difficulty with the standard APM:Plane manual tuning procedure. We
|
|
plan on extending autotune to other aspects of fixed wing tuning in
|
|
future releases.
|
|
|
|
Other changes
|
|
-------------
|
|
|
|
- fixed a glide slope calculation error when very close to waypoints
|
|
- fixed a bug when swithing to another auto-throttle mode during auto
|
|
takeoff (thanks to Marco for finding this bug!)
|
|
- added MIS_AUTORESET parameter (thanks to Andrew Chapman)
|
|
- support compassmot calibration by supplying current measurments to the
|
|
compass driver (thanks to Jon Challinger)
|
|
- fixed a GPS driver bug that could cause GPS lag in case of lost GPS
|
|
samples (thanks to Jon Challinger)
|
|
- fixed a LOITER_TURNS bug in missions for counter-clockwise loiter
|
|
(thanks to Iskess for finding this bug)
|
|
- added support for OBC termination requirements to PX4IO
|
|
- added support for pressure altitude termination to OBC module
|
|
- fixed EKF wind estimation with no airspeed sensor (thanks to Paul
|
|
Riseborough)
|
|
- improved tuning of EKF for fixed wing aircraft (thanks to Paul
|
|
Riseborough)
|
|
- Converted rally point code to library AP_Rally (thanks to Andrew
|
|
Chapman)
|
|
- added SITL checking for numerical errors
|
|
|
|
Thanks to testers!
|
|
|
|
Many thanks to everyone who tested the beta versions of this release!
|
|
Special thanks to Marco, Paul, Jon, Iam, JNJO, sonicdahousecat and
|
|
Keeyen for providing testing of both existing features and the new
|
|
autotune code.
|
|
|
|
|
|
Release 3.0.1, April 9th 2014
|
|
-----------------------------
|
|
|
|
I've just released APM:Plane 3.0.1, a bug fix release for the 3.0.0 release.
|
|
This release fixes two bugs:
|
|
|
|
throttle failsafe for aircraft using PWM level for failsafe detection
|
|
wind reporting with EKF enabled and no airspeed sensor
|
|
|
|
The throttle failsafe fix is a critical bugfix, which is why I am
|
|
doing a new release so soon. The bug was found by Sam Tabor, and he
|
|
posted the bug report before the 3.0.0 release, but I didn't notice it
|
|
in the release preparations. The bug only affects systems using PWM
|
|
value as the sole method of detecting loss of RC control. I hadn't
|
|
noticed it myself as my planes all use receivers which stop sending
|
|
value PWM frames when the RC link is lost. In that case failsafe
|
|
worked correctly. Receivers that keep sending PWM frames but with low
|
|
throttle levels are common though, so this is a very important fix.
|
|
Many thanks to Sam for reporting the bug, and my apologies for not
|
|
noticing it in time for the 3.0.0 release.
|
|
|
|
|
|
Release 3.0.0, April 8th 2014
|
|
-----------------------------
|
|
|
|
The ardupilot development team is proud to announce the release of
|
|
version 3.0.0 of APM:Plane. This is a major release with a lot of new
|
|
features.
|
|
|
|
For each release I try to highlight the two or 3 key new features that
|
|
have gone in since the last release. That is a more difficult task
|
|
this time around because there are just so many new things. Still, I
|
|
think the most important ones are the new Extended Kalman Filter (EKF)
|
|
for attitude/position estimation, the extensive dual sensors support
|
|
and the new AP_Mission library.
|
|
|
|
We have also managed to still keep support for the APM1 and APM2,
|
|
although quite a few of the new features are not available on those
|
|
boards. We don't yet know for how long we'll be able to keep going on
|
|
supporting these old boards, so if you are thinking of getting a new
|
|
board then you should get a Pixhawk, and if you want the best
|
|
performance from the APM:Plane code then you should swap to a
|
|
Pixhawk now. It really is a big improvement.
|
|
|
|
New Extended Kalman Filter
|
|
--------------------------
|
|
|
|
The biggest change for the 3.0.0 release (and in fact the major reason
|
|
why we are calling it 3.0.0) is the new Extended Kalman Filter from
|
|
Paul Riseborough. Using an EKF for attitude and position estimation
|
|
was never an option on the APM2 as it didn't have the CPU power or
|
|
memory to handle it. The Pixhawk does have plenty of floating point
|
|
performance, and Paul has done a fantastic job of taking full
|
|
advantage of the faster board.
|
|
|
|
As this is the first stable release with the EKF code we have decided
|
|
to not enable it by default. It does however run all the time in
|
|
parallel with the existing DCM code, and both attitude/position
|
|
solutions are logged both to the on-board SD card and over
|
|
MAVLink. You can enable the EKF code using the parameter
|
|
AHRS_EKF_USE=1, which can be set and unset while flying, allowing you
|
|
to experiment with using the EKF either by examining your logs with
|
|
the EKF disabled to see how it would have done or by enabling it while
|
|
flying.
|
|
|
|
The main thing you will notice with the EKF enabled is more accurate
|
|
attitude estimation and better handling of sensor glitches. A Kalman
|
|
filter has an internal estimate of the reliability of each of its
|
|
sensor inputs, and is able to weight them accordingly. This means that
|
|
if your accelerometers start giving data that is inconsistent with
|
|
your other sensors then it can cope in a much more graceful way than
|
|
our old DCM code.
|
|
|
|
The result is more accurate flying, particularly in turns. It also
|
|
makes it possible to use higher tuning gains, as the increased
|
|
accuracy of the attitude estimation means that you can push the
|
|
airframe harder without it becoming unstable. You may find you can use
|
|
a smaller value for NAVL1_PERIOD, giving tighter turns, and higher
|
|
gains on your roll and pitch attitude controllers.
|
|
|
|
Paul has written up a more technical description of the new EKF code
|
|
here:
|
|
|
|
http://plane.ardupilot.com/wiki/common-apm-navigation-extended-kalman-filter-overview/
|
|
|
|
|
|
Dual Sensors
|
|
------------
|
|
|
|
The second really big change for this release is support for
|
|
dual-sensors. We now take full advantage of the dual accelerometers
|
|
and dual gyros in the Pixhawk, and can use dual-GPS for GPS
|
|
failover. We already had dual compass support, so the only main
|
|
sensors we don't support two of now are the barometer and the airspeed
|
|
sensor. I fully expect we will support dual baro and dual airspeed in
|
|
a future release.
|
|
|
|
You might wonder why dual sensors is useful, so let me give you an
|
|
example. I fly a lot of nitro and petrol planes, and one of my planes
|
|
(a BigStik 60) had a strange problem where it would be flying
|
|
perfectly in AUTO mode, then when the throttle reached a very specific
|
|
level the pitch solution would go crazy (sometimes off by 90
|
|
degrees). I managed to recover in MANUAL each time, but it certainly
|
|
was exciting!
|
|
|
|
A careful analysis of the logs showed that the culprit was
|
|
accelerometer aliasing. At a very specific throttle level the Z
|
|
accelerometer got a DC offset of 11 m/s/s. So when the plane was
|
|
flying along nice and level the Z accelerometer would change from -10
|
|
m/s/s to +1 m/s/s. That resulted in massive errors in the attitude
|
|
solution.
|
|
|
|
This sort of error happens because of the way the accelerometer is
|
|
sampled. In the APM code the MPU6000 (used on both the APM2 and
|
|
Pixhawk) samples the acceleration at 1kHz. So if you have a strong
|
|
vibrational mode that is right on 1kHz then you are sampling the "top
|
|
of the sine wave", and get a DC offset.
|
|
|
|
The normal way to fix this issue is to improve the physical
|
|
anti-vibration mounting in the aircraft, but I don't like to fix
|
|
problems like this by making changes to my aircraft, as if I fix my
|
|
aircraft it does nothing for the thousands of other people running the
|
|
same code. As the lead APM developer I instead like to fix things in
|
|
software, so that everyone benefits.
|
|
|
|
The solution was to take advantage of the fact that the Pixhawk has
|
|
two accelerometers, one is a MPU6000, and the 2nd is a LSM303D. The
|
|
LSM303D is sampled at 800Hz, whereas the MPU6000 is sampled at
|
|
1kHz. It would be extremely unusual to have a vibration mode with
|
|
aliasing at both frequencies at once, which means that all we needed
|
|
to do was work out which accelerometer is accurate at any point in
|
|
time. For the DCM code that involved matching each accelerometer at
|
|
each time step to the combination of the GPS velocity vector and
|
|
current attitude, and for the EKF it was a matter of producing a
|
|
weighting for the two accelerometers based on the covariance matrix.
|
|
|
|
The result is that the plane flew perfectly with the new dual
|
|
accelerometer code, automatically switching between accelerometers as
|
|
aliasing occurred.
|
|
|
|
Since adding that code I have been on the lookout for signs of
|
|
aliasing in other logs that people send me, and it looks like it is
|
|
more common than we expected. It is rarely so dramatic as seen on my
|
|
BigStik, but often results in some pitch error in turns. I am hopeful
|
|
that with a Pixhawk and the 3.0 release of APM:Plane that these types
|
|
of problems will now be greatly reduced.
|
|
|
|
For the dual gyro support we went with a much simpler solution and
|
|
just average the two gyros when both are healthy. That reduces noise,
|
|
and works well, but doesn't produce the dramatic improvements that the
|
|
dual accelerometer code resulted in.
|
|
|
|
Dual GPS was also quite a large development effort. We now support
|
|
connecting a 2nd GPS to the serial4/5 port on the Pixhawk. This allows
|
|
you to protect against GPS glitches, and has also allowed us to get a
|
|
lot of logs showing that even with two identical GPS modules it is
|
|
quite common for one of the GPS modules to get a significant error
|
|
during a flight. The new code currently switches between the two GPS
|
|
modules based on the lock status and number of satellites, but we are
|
|
working on a more sophisticated switching mechanism.
|
|
|
|
Supporting dual GPS has also made it easier to test new GPS
|
|
modules. This has enabled us to do more direct comparisons between the
|
|
Lea6 and the Neo7 for example, and found the Neo7 performs very
|
|
well. It also helps with developing completely new GPS drivers, such
|
|
as the Piksi driver (see notes below).
|
|
|
|
New AP_Mission library
|
|
----------------------
|
|
|
|
Many months ago Brandon Jones re-worked our mission handling code to
|
|
be a library, making it much cleaner and fixing a number of long term
|
|
annoyances with the behaviour. For this release Randy built upon the
|
|
work that Brandon did and created the new AP_Mission library.
|
|
|
|
The main feature of this library from the point of view of the
|
|
developers is that it has a much cleaner interface, but it also has
|
|
some new user-visible features. The one that many users will be glad
|
|
to hear is that it no longer needs a "dummy waypoint" after a
|
|
jump. That was always an annoyance when creating complex missions.
|
|
|
|
The real advantage of AP_Mission will come in future releases though,
|
|
as it has the ability to look ahead in the mission to see what is
|
|
coming, allowing for more sophisticated navigation. The copter code
|
|
already takes advantage of this with the new spline waypoint feature,
|
|
and we expect to take similar advantage of this in APM:Plane in future
|
|
releases.
|
|
|
|
New Piksi GPS driver
|
|
--------------------
|
|
|
|
One of the most exciting things to happen in the world of GPS modules
|
|
in the last couple of years is the announcement by SwiftNav that they
|
|
would be producing a RTK capable GPS module called the Piksi at a
|
|
price that (while certainly expensive!) is within reach of more
|
|
dedicated hobbyists. It offers the possibility of decimeter and
|
|
possibly even centimetre level relative positioning, which has a lot
|
|
of potential for small aircraft, particularly for landing control and
|
|
more precise aerial mapping.
|
|
|
|
This release of APM:Plane has the first driver for the Piksi. The new
|
|
driver is written by Niels Joubert, and he has done a great job. It is
|
|
only a start though, as this is a single point positioning driver. It
|
|
will allow you to use your new Piksi if you were part of the
|
|
kickstarter, but it doesn't yet let you use it in RTK mode. Niels and
|
|
the SwiftNav team are working on a full RTK driver which we hope will
|
|
be in the next release.
|
|
|
|
Support for more RC channels
|
|
----------------------------
|
|
|
|
This release is the first to allow use of more than 8 RC input
|
|
channels. We now support up to 18 input channels on SBus on Pixhawk,
|
|
with up to 14 of them able to be assigned to functions using the
|
|
RCn_FUNCTION settings. For my own flying I now use a FrSky Taranis
|
|
with X8R and X6R receivers and they work very nicely. Many thanks to
|
|
the PX4 team, and especially to Holger and Lorenz for their great work
|
|
on improving the SBus code.
|
|
|
|
Flaperon Support
|
|
----------------
|
|
|
|
This release is the first to have integrated flaperon support, and
|
|
also includes much improved flaps support in general. You can now set
|
|
a FLAP_IN_CHANNEL parameter to give an RC channel for manual flap
|
|
control, and setup a FLAPERON_OUTPUT to allow you to setup your
|
|
ailerons for both manual and automatic flaperon control.
|
|
|
|
We don't yet have a full wiki page on setting up flaperons, but you
|
|
can read about the parameters here:
|
|
|
|
http://plane.ardupilot.com/wiki/arduplane-parameters/#Flap_input_channel_ArduPlaneFLAP_IN_CHANNEL
|
|
|
|
Geofence improvements
|
|
---------------------
|
|
|
|
Michael Day has made an number of significant improvements to the
|
|
geo-fencing support for this release. It is now possible to
|
|
enable/disable the geofence via MAVLink, allowing ground stations to
|
|
control the fence.
|
|
|
|
There are also three new fence control parameters. One is
|
|
FENCE_RET_RALLY which when enabled tells APM to fly back to the
|
|
closest rally point on a fence breach, instead of flying to the center
|
|
of the fence area. That can be very useful for more precise control of
|
|
fence breach handling.
|
|
|
|
The second new parameter is FENCE_AUTOENABLE, which allows you to
|
|
automatically enable a geofence on takeoff, and disable when doing an
|
|
automatic landing. That is very useful for fully automated missions.
|
|
|
|
The third new geofence parameter is FENCE_RETALT, which allows you to
|
|
specify a return altitude on fence breach. This can be used to
|
|
override the default (half way between min and max fence altitude).
|
|
|
|
Automatic Landing improvements
|
|
------------------------------
|
|
|
|
Michael has also been busy on the automatic landing code, with
|
|
improvements to the TECS speed/height control when landing and new
|
|
TECS_LAND_ARSPD and TECS_LAND_THR parameters to control airspeed and
|
|
throttle when landing. This is much simpler to setup than
|
|
DO_CHANGE_SPEED commands in a mission.
|
|
|
|
Michael is also working on automatic path planning for landing, based
|
|
on the rally points code. We hope that will get into a release soon.
|
|
|
|
Detailed Pixhawk Power Logging
|
|
------------------------------
|
|
|
|
One of the most common causes of issues with autopilots is power
|
|
handling, with poor power supplies leading to brownouts or sensor
|
|
malfunction. For this release we have enabled detailed logging of the
|
|
information available from the on-board power management system of the
|
|
Pixhawk, allowing us to log the status of 3 different power sources
|
|
(brick input, servo rail and USB) and log the voltage level of the
|
|
servo rail separately from the 5v peripheral rail on the FMU.
|
|
|
|
This new logging should make it much easier for us to diagnose power
|
|
issues that users may run into.
|
|
|
|
New SERIAL_CONTROL protocol
|
|
---------------------------
|
|
|
|
This release adds a new SERIAL_CONTROL MAVLink message which makes it
|
|
possible to remotely control a serial port on a Pixhawk from a ground
|
|
station. This makes it possible to do things like upgrade the firmware
|
|
on a 3DR radio without removing it from an aircraft, and will also
|
|
make it possible to attach to and control a GPS without removing it
|
|
from the plane.
|
|
|
|
There is still work to be done in the ground station code to take full
|
|
advantage of this new feature and we hope to provide documentation
|
|
soon on how to use u-Blox uCenter to talk to and configure a GPS in an
|
|
aircraft and to offer an easy 3DR radio upgrade button via the Pixhawk
|
|
USB port.
|
|
|
|
Lots of other changes!
|
|
----------------------
|
|
|
|
There have been a lot of other improvements in the code, but to stop
|
|
this turning into a book instead of a set of release notes I'll stop
|
|
the detailed description there. Instead here is a list of the more
|
|
important changes not mentioned above:
|
|
|
|
- added LOG_WHEN_DISARMED flag in LOG_BITMASK
|
|
- raised default LIM_PITCH_MAX to 20 degrees
|
|
- support a separate steering channel from the rudder channel
|
|
- faster mission upload on USB
|
|
- new mavlink API for reduced memory usage
|
|
- fixes for the APM_OBC Outback Challenge module
|
|
- fixed accelerometer launch detection with no airspeed sensor
|
|
- greatly improved UART flow control on Pixhawk
|
|
- added BRD_SAFETYENABLE option to auto-enable the safety
|
|
switch on PX4 and Pixhawk on boot
|
|
- fixed pitot tube ordering bug and added ARSPD_TUBE_ORDER parameter
|
|
- fixed log corruption bug on PX4 and Pixhawk
|
|
- fixed repeated log download bug on PX4 and Pixhawk
|
|
- new Replay tool for detailed log replay and analysis
|
|
- flymaple updates from Mike McCauley
|
|
- fixed zero logs display in MAVLink log download
|
|
- fixed norm_input for cruise mode attitude control
|
|
- added RADIO_STATUS logging in aircraft logs
|
|
- added UBX monitor messages for detailed hardware logging of u-Blox status
|
|
- added MS4525 I2C airspeed sensor voltage compensation
|
|
|
|
|
|
I hope that everyone enjoys flying this new APM:Plane release as much
|
|
as we enjoyed producing it! It is a major milestone in the development
|
|
of the fixed wing code for APM, and I think puts us in a great
|
|
position for future development.
|
|
|
|
|
|
Happy flying!
|