Tracker-4.6.0-beta5 has been released for beta testing and can be installed using MP or QGC’s beta firmwares links. Alternatively it can be manually downloaded from firmware.ardupilot.org
The changes vs -beta4 are in the Release Notes and copied below:
Changes from 4.6.0-beta4
Board specfic changes
MFT-SEMA100 compass orientation fix
SpeedyBee F405 AIO support
Driver bug fixes and enhancements
Bdshot locking issue fix for slow boards that could cause the flight controller to crash
BMP280 barometer error handling during init improved
CADDX gimbal RC update rate fixed
Hexsoon 77G and 24G radar support
IE FuelCell generator data rate increased
IIS2MDC compass support
LD19/LD06 proximity sensor data length sanity check fix
RC output cork/push fix to avoid potential motor knocking
SBF MosaicX5 packets with invalid length ignored
SPL06 barometer accuracy improvements
Ublox M10 configuration fix
Plane specific fixes and enhancements
Tiltrotor motor check fixed used in throttle control handover from VTOL to forward flight
Improved QAssist and VTOL mode recovery from bad attitudes
Fixed rudder output in VTOL modes
Added fix for indecision in the roll controller close to inverted
Ensure tiltrotors use consistent fixed wing and VTOL rates
Clear inverted control flag on Q-mode entry
Auto-deploy landing gear on all fixed wing landings when enabled
Prevent learning bad ARSP_RATIO values when not flying
Rover specific fixes and enhancements
Lua bindings for Follow mode
WATER_DEPTH mavlink message rate fix
Parameter description improvements
ADSB_LIST_ALT param desc improved
Alphabetised type params for CAN, Mount, OptFlow, Proximity, Rangefinder, Serial Manager
Copter’s battery failsafe action gets “Brake or Land”
LOG_FILE_BUFSIZE units fixed
MOT_THST_HOVER range fixed
SERIALx_BAUD value added for PPP networking
Bug Fixes and minor enhancements
Arming check for EKF3 velocity innovations
Copter’s LOG_BITMASK includes PIDs by default
DO_SET_ROI_LOCATION mission command support
MCU min/max voltage logging fix
MIS_OPTION parameter handling fixed
There will be one more beta but we’re getting close so all testing and feedback is greatly appreciated!
Just wanted to comment that from what I gather, the ardupilot tracker does not have RSSI based tracking and it is a very convenient feature to include.
I have used RSSI based tracking or traking correction in all my trackers. For the copters, I have built a simple, servo based tracker (Before, I used stepper motors only), I did not yet implement GPS based tracker, because I am trying to figure out how to transmit GPS mavlinnk data without MP and without Pi station from copter to tracker.
But I implemented the RSSI based tracker, and I feel there is virtually no need to have GPS tracking. I think it would really be a great idea to implement that feature in ardupilot trackers.
The RSSI tracking is very efficient for 5.8 GHz antennas in the range 12..23 dbi. Beyond that, i.e. for much more directional atennas, the tracking must be supplemented by GPS tracking, so that it becomes RSSI correction, not tracking, because you risk loosing completely the signal and also it is very easy to go beyhond the main lobe and recovery and understanding that it happened requires a rather complicated algorythm.
For copters and low-to-medium range flights (1 km.. 40 km.) RSSI tracking without GPS is very viable option. It does not work well at all for close flights, and fooling around the home base, or overhead.
I enclose a program for arduino nano which the developpers may use to get some ideas for arducopter.
Very few explanations:
The nano reads PPM stream from a RC (Nano has 1 Serial, so for debugging I had to leave it, and use the old PPM), and is controlled through 4 buttons and 2 sliders.
The antenna positioning is done in pulse uS, there are no degrees, etc.
There are 3 modes, direct mode where sliders determine position of the antenna, semiautomatic, where you have to press two buttons to do RSSI scans, and automatic mode, where nano determines when to do which scan.
The RSSI tracking makes a scan, moving the antenna from one position to another and records the RSSI values provided by the VTX receiver into an array.
The RSSI based tracking is based on two subroutines,
void Scan (int Servo_ndx, int Servo_From, int Servo_To, int RSSI_limit, int steps_beyond_limit)
Servo_ndx is the Servo, azimut or elevation
Servo_From, Servo_To are the offset from the current Servo position
RSSI_limit is value which stops the scan both to the left and to the right, i.e. it does not allow the RSSI value to go too low. This is especially iportant to prevent short bad video frames when reaching low RSSI values.
steps beyond limit sets the number of extra scan steps which are done after the RSSI_limit is reached.
void Scan_Analyze(float percent)
goes through the Scan_RSSI array, and determines which Servo positions provided the best RSSI values, it is not just one value, but we take “percent” of the total steps to create a range, then we eliminate two outliers from both sides, and then take the mid position of the remaining best RSSI values.
In my case, absolute RSSI min is 80 and max is 240.