Commit Graph

26875 Commits

Author SHA1 Message Date
Andrew Tridgell
4fce1ae092 HAL_ChibiOS: added G491 support 2021-07-30 10:20:52 +10:00
Andrew Tridgell
0e7c2a27a6 AP_GPS: added arming checks for yaw available on ublox RTK rover 2021-07-30 06:51:21 +10:00
Iampete1
bb624074dd APM_Control: remove outdated tuning guide 2021-07-28 18:26:31 +10:00
Iampete1
4b28f53644 AP_Scripting: add change alt frame method to location userdata 2021-07-28 18:19:23 +10:00
Iampete1
88d4ada96d AP_Vehicle: #ifdef scripting specific functions 2021-07-28 18:18:32 +10:00
Iampete1
e5d4620372 AP_Compass: update orientation param values 2021-07-28 18:09:05 +10:00
Iampete1
9cceb2d5c1 AP_AHRS: update orientation param values 2021-07-28 18:09:05 +10:00
Iampete1
22100dd37c AP_Math: move to 32 digit rotation constants 2021-07-28 18:09:05 +10:00
Iampete1
78e025af39 AP_Compass: add Calibrator index test 2021-07-28 18:09:05 +10:00
Iampete1
5ecfd3fbce AP_Math: remove unused ROTATION_MAX_AUTO_ROTATION define 2021-07-28 18:09:05 +10:00
Iampete1
36a80d46e3 AP_Compass: support auto orientation for new rotations 2021-07-28 18:09:05 +10:00
Iampete1
dbd95f8163 AP_Math: make duplicate rotations clear 2021-07-28 18:09:05 +10:00
Iampete1
080f6c295c AP_Math: examples: rotations: add test for duplicate rotations. 2021-07-28 18:09:05 +10:00
Iampete1
f8220a8adf AP_Math: tests: test quaternion rotation is the same as vector 2021-07-28 18:09:05 +10:00
Iampete1
6c5424aad6 AP_Math: add roll +- 45 rotations 2021-07-28 18:09:05 +10:00
Andrew Tridgell
4b9311d87d AP_Motors: added new MOT_PWM_TYPE=8 for PWM range
this allows multirotors to set individual PWM ranges per motor. This
is needed for heliquads flying as multirotors
2021-07-28 17:40:40 +10:00
Hwurzburg
8b7b4d6796 AP_HAL_Chibios: Change RC in to RCINT to free a DMA channel 2021-07-28 17:24:06 +10:00
Peter Barker
f557d41145 AP_AHRS: rotate quaternions into vehicle body frame
DCM was having it both ways depending on whether it was
primary/secondary.

These are mostly uses for reporting, in which case you would expect the
quaternion to match the eulers.
2021-07-28 17:20:28 +10:00
Peter Barker
ad89e9777c GCS_MAVLink: send primary quat in ATTITUDE_QUATERNION 2021-07-28 17:20:28 +10:00
Peter Barker
118d3f085f AP_Math: quaternion: add from_euler(Vector3&) 2021-07-28 17:20:28 +10:00
Andrew Tridgell
0f3dc195b6 AP_InertialSensor: fixed build warning 2021-07-27 19:50:21 +10:00
Andrew Tridgell
aa0a77049e AP_Compass: fixed build warning on g++ 10.2 2021-07-27 19:50:21 +10:00
Peter Barker
5160b4f6ca AP_AHRS: move AP_NMEA_Output to AHRS frontend 2021-07-27 16:55:35 +10:00
Iampete1
7d3fa242d7 RC_Channel: add AUTO RTL option 2021-07-27 09:00:11 +09:00
Iampete1
32b3c8ea08 AP_Mission: caculate distance to do_land_start with no location correctly 2021-07-27 09:00:11 +09:00
Iampete1
cea54c48cd AP_BattMoniter: add Auto RTL option 2021-07-27 09:00:11 +09:00
Iampete1
9047b19e59 AP_Scripting: bindings for CANFrame and ScriptingCANBuffer 2021-07-27 09:04:17 +10:00
Iampete1
44276be3a1 AP_Scripting: add CANSensor and manaul bindings to load. 2021-07-27 09:04:17 +10:00
Iampete1
e29dd0e7e7 AP_Scripting: add CAN read and write examples 2021-07-27 09:04:17 +10:00
Iampete1
8c7cad8663 AP_Scripting: generator support depends keyword on AP_Object 2021-07-27 09:04:17 +10:00
Iampete1
432793a18a AP_Arming: support scripting CAN driver 2021-07-27 09:04:17 +10:00
Iampete1
bd36053abc AP_CANManager: support scripting CAN driver 2021-07-27 09:04:17 +10:00
mateksys
08cd1171bf Tools: added MatekF765-SE to autobuild 2021-07-26 18:13:46 +10:00
Hwurzburg
207de0ed4d AP_Landing: remove DeepStall from 1MB boards 2021-07-26 16:19:12 +10:00
Hwurzburg
8ec4b77cd7 AP_SerialManager: relabel protocol 29 to avoid confusion with CRSF RC 2021-07-26 14:40:43 +09:00
Andrew Tridgell
cbb2ba8d62 SRV_Channel: added doc of SERVOn_FUNCTION=-1 for GPIO 2021-07-26 15:12:17 +10:00
Peter Barker
2cdc4f5698 AP_HAL: add basic tests for ringbuffer 2021-07-26 15:10:01 +10:00
Andrew Tridgell
90aed6f338 AP_HAL: fixed get_size() on ObjectBuffer to be consistent with set_size() 2021-07-26 15:10:01 +10:00
bugobliterator
3d03979b16 GCS_MAVLink: add support for mavlink out on AP_Periph 2021-07-26 13:45:43 +10:00
Isaac Alich
35beae6037 AP_HAL_ChibiOS: Make final tweaks to MambaF405US-I2C 2021-07-25 17:44:22 +10:00
Isaac Alich
bdcb32456e AP_HAL_ChibiOS: Add support for MambaF405US-I2C based boards 2021-07-25 09:28:17 +10:00
MHefny
280788bfdf AP_HAL_LINUX:toggle gpio port 2021-07-24 09:16:08 -07:00
Andrew Tridgell
d95f6c8c2f AP_Arming: added button arming check 2021-07-24 18:18:57 +10:00
Andrew Tridgell
d8b8facdd0 HAL_ChibiOS: fixed off by 1 bug in GPIO check 2021-07-24 18:18:57 +10:00
Andrew Tridgell
ef93165f28 AP_Button: added arming check 2021-07-24 18:18:57 +10:00
Andrew Tridgell
45cf726a4b APM_Control: new autotune scheme
this separately tunes D and then P, which more closely follows the
technique used for a manual tune
2021-07-24 15:32:55 +10:00
bugobliterator
98f5eb28db AP_RangeFinder: use separate register_driver method while contructing CAN Driver 2021-07-23 16:01:29 +10:00
bugobliterator
59242739c7 AP_EFI: use separate register_driver method while contructing CAN Driver 2021-07-23 16:01:29 +10:00
bugobliterator
e553acd3e3 AP_BattMonitor: use separate register_driver method while contructing CAN Driver 2021-07-23 16:01:29 +10:00
bugobliterator
6e61867e7f AP_CANSensor: create a separate register driver method 2021-07-23 16:01:29 +10:00
Andrew Tridgell
c5ef672fb5 AP_Math: fixed expo_curve()
doesn't make sense as constexpr
2021-07-23 14:47:14 +10:00
Tatsuya Yamaguchi
a3e176284d AP_Scripting: add AP_InertialSensor binding 2021-07-23 09:32:04 +09:00
Peter Barker
88d49effe7 AP_AHRS: move variable init into variable declaration 2021-07-23 09:55:14 +10:00
Peter Barker
15e5831002 AP_AHRS: remove unused get_expected_mag_field method
there's get_mag_field_NED on AP_AHRS....
2021-07-23 09:55:14 +10:00
Peter Barker
5b372dae06 AP_AHRS: stop storing gyro drift rate as variable
This is constant and is just folded into whereever it is used.
2021-07-23 09:55:14 +10:00
Peter Barker
a4d98a457b AP_AHRS: move init of dcm state into variable declarations 2021-07-23 09:55:14 +10:00
Peter Barker
4f9201a160 AP_AHRS: move parameters back into AP_AHRS.h
metadata collection kind of dies otherwise
2021-07-22 21:21:40 +10:00
Peter Barker
d351b7c7dc AP_AHRS: fix includes for moved files 2021-07-22 21:21:40 +10:00
Peter Barker
b7d4166b28 AP_AHRS: rename AP_AHRS_NavEKF.* to AP_AHRS.* 2021-07-22 21:21:40 +10:00
Peter Barker
97b394a5ef AP_AHRS: rename AP_AHRS.* to AP_AHRS_Backend.* 2021-07-22 21:21:40 +10:00
Paul Riseborough
17ead96250 AP_NavEKF3: Revert IMU and wind speed process noise parameter defaults
These give noisier state estimates, but are more robust to rapid changes in IMU biases.
TODO implement a means of using the modified parameters when there are more than one EKF instance running with IMU's that are sampling at a higher rate.
2021-07-22 18:20:45 +10:00
Paul Riseborough
aa6ac4a874 AP_NavEKF3: retune wind process noise for better airspeed fault detection 2021-07-22 18:20:45 +10:00
Paul Riseborough
8fd1e98701 AP_NavEKF3: Fix bug preventing copter wind estimation at low speed
Also re-tunes process noise default for smoother wind velocity state estimates.
2021-07-22 18:20:45 +10:00
Paul Riseborough
0088b0f3fe AP_NavEKF3: Revert EK3_BETA_MASK parameter extension
These are not required due to use of bit 7 in FLIGHT_OPTIONS to achieve the same function.
2021-07-22 18:20:45 +10:00
Paul Riseborough
59d31cc7d5 AP_NavEKF3: Rework non-airspeed wind estimation
Faster wind estimation when not using airspeed with acceptable noise in wind velocity estimates.
2021-07-22 18:20:45 +10:00
Paul Riseborough
5fa3ed5755 AP_NAvEKF3: use #define value for bad IMU hold time 2021-07-22 18:20:45 +10:00
Paul Riseborough
7497590363 AP_NavEKF3: Increase lower state variance limit when vibration affected
This makes state corrections from GPS and baro observations more aggressive
2021-07-22 18:20:45 +10:00
Paul Riseborough
3e123c0a30 AP_NavEKF3: Use sensor variance when checking for bad IMU 2021-07-22 18:20:45 +10:00
Paul Riseborough
e3bdbcd8ea AP_NavEKF3: Make bad IMU status more persistent 2021-07-22 18:20:45 +10:00
Paul Riseborough
8f1b98a0cb AP_AHRS: Add accessor function for vibration affected status
AP_AHRS: fix rebase build error
2021-07-22 18:20:45 +10:00
Paul Riseborough
ccc95d8726 AP_NavEKF3: Add accessor function for vibration affected status 2021-07-22 18:20:45 +10:00
Paul Riseborough
ed61287410 AP_NavEKF3: Don't update accel bias states if vibration affected 2021-07-22 18:20:45 +10:00
Paul Riseborough
62d70a628e AP_NavEKF3: Use large accel process noise when IMU data is bad 2021-07-22 18:20:45 +10:00
Paul Riseborough
5eb7751682 AP_NavEKF3: Adjust gyro bias process noise tuning
NEw value is a compromise between roll/pitch angle and horizontal state velocity estimation errors and the noise in the gyro bias estimate
2021-07-22 18:20:45 +10:00
Paul Riseborough
72dc998509 AP_NavEKF3: Allow smaller dvel bias state variances for improved tuning 2021-07-22 18:20:45 +10:00
Paul Riseborough
0f2661c31c AP_NavEKF3: Retune IMU process noise
Required to achieve equivalent fusion noise and weighting on IMU vs other sources to previous param defaults with the old covariance prediction equations.
2021-07-22 18:20:45 +10:00
Paul Riseborough
171eed5d85 AP_NavEKF3: Make gyro bias learning less noisy 2021-07-22 18:20:45 +10:00
Paul Riseborough
ce4d13091a AP_NavEKF3: Fix bug preventing learning of XY IMU dvel bias in flight 2021-07-22 18:20:45 +10:00
Paul Riseborough
6242ce19fa AP_NavEKF3: Change powf(x,2) to sq(x) 2021-07-22 18:20:45 +10:00
Paul Riseborough
bb9eed28a9 AP_NavEKF3: Update covariance prediction equations 2021-07-22 18:20:45 +10:00
Paul Riseborough
7b8e935880 AP_NavEKF3: Use alternate form for quaternion to rotmat equations in derivation 2021-07-22 18:20:45 +10:00
Andrew Tridgell
0048167f16 SITL: added SIM2 message
useful for EKF debugging
2021-07-22 10:19:02 +10:00
Randy Mackay
e9f6a5afdf AR_WPNav: integrate PathPlanner returning path_planner_used
Rover does not need to handle the results differently based on the planner used
2021-07-22 08:51:41 +09:00
Randy Mackay
83e85c7125 AC_WPNav_OA: minor formatting and comment fixes 2021-07-22 08:51:41 +09:00
Randy Mackay
cf797dfca9 AC_WPNav_OA: separate handlers for results from Dijkstra's and BendyRuler
also bendy ruler uses pos controller
2021-07-22 08:51:41 +09:00
Randy Mackay
dd4b3295f4 AC_Avoidance: BendyRuler returned destination are shortened 2021-07-22 08:51:41 +09:00
Randy Mackay
faadaafd53 AC_Avoidance: bendy ruler format fixes 2021-07-22 08:51:41 +09:00
Randy Mackay
6d6324a328 AC_Avoidance: OA_PathPlanner returns which planner was used
this replaces get_bendy_type
2021-07-22 08:51:41 +09:00
Randy Mackay
d7d41aea38 AC_Avoidance: BendyRuler returns which type was used
also make serach_xxx_path methods private
2021-07-22 08:51:41 +09:00
Randy Mackay
70c6694798 AP_Common: add Location::linear_interpolate_alt 2021-07-22 08:51:41 +09:00
Randy Mackay
7daacfd63e AP_Math: vector2f gets float.h include 2021-07-22 08:51:41 +09:00
Randy Mackay
52bb8112b3 AP_Math: control.h needs vector2/3 includes 2021-07-22 08:51:41 +09:00
Andrew Tridgell
95cbb69d3c AP_Parachute: added CHUTE_OPTIONS
allow for servo release forever to cope with high altitude drops where
servo may be frozen
2021-07-22 07:49:14 +10:00
Andrew Tridgell
f91e995e98 AP_Arming: check pin arming_checks 2021-07-22 07:48:12 +10:00
Andrew Tridgell
8660e98b57 AP_Parachute: added arming_checks() 2021-07-22 07:48:12 +10:00
Andrew Tridgell
09ad43dea3 AP_Relay: added arming_checks 2021-07-22 07:48:12 +10:00
Andrew Tridgell
d827b35e57 AP_RPM: implement arming_checks() 2021-07-22 07:48:12 +10:00
Andrew Tridgell
9b78fa7fb8 HAL_SITL: implement valid_pin() 2021-07-22 07:48:12 +10:00
Andrew Tridgell
d302d3c90a HAL_ChibiOS: implement valid_pin() 2021-07-22 07:48:12 +10:00
Andrew Tridgell
4dcff3d900 AP_HAL: added valid_pin() GPIO API 2021-07-22 07:48:12 +10:00
Andrew Tridgell
a0ef4f76e2 AP_RangeFinder: replaced Pixhawk with more appropriate wording in docs 2021-07-22 07:48:12 +10:00
Andrew Tridgell
6888ddc4cc AP_LeakDetector: replaced Pixhawk with more appropriate wording in docs 2021-07-22 07:48:12 +10:00
Andrew Tridgell
b6dbc618dc AP_Compass: replaced Pixhawk with more appropriate wording in docs 2021-07-22 07:48:12 +10:00
Andrew Tridgell
fdd294b0f3 AP_BoardConfig: replaced Pixhawk with more appropriate wording in docs 2021-07-22 07:48:12 +10:00
Andrew Tridgell
b0fc5c3041 AP_WindVane: replaced PixhawkAUX1 with AUX1
not everything is a pixhawk
2021-07-22 07:48:12 +10:00
Andrew Tridgell
8b388f80c5 AP_WheelEncoder: replaced PixhawkAUX1 with AUX1
not everything is a pixhawk
2021-07-22 07:48:12 +10:00
Andrew Tridgell
9691581c81 AP_RSSI: replaced PixhawkAUX1 with AUX1
not everything is a pixhawk
2021-07-22 07:48:12 +10:00
Andrew Tridgell
095ab7c9d7 AP_RPM: replaced PixhawkAUX1 with AUX1
not everything is a pixhawk
2021-07-22 07:48:12 +10:00
Andrew Tridgell
25057d26a0 AP_WindVane: default pins to -1 2021-07-22 07:48:12 +10:00
Andrew Tridgell
d0a26b6dc6 AP_WheelEncoder: default pins to -1 2021-07-22 07:48:12 +10:00
Andrew Tridgell
958843c0a9 AP_RSSI: default RSSI pin to -1 2021-07-22 07:48:12 +10:00
Andrew Tridgell
7eaab583d4 AP_RPM: stop defaulting RPM_PIN to 54 2021-07-22 07:48:12 +10:00
Andrew Tridgell
bbcce717dc HAL_ChibiOS: stop defaulting relay pins to 54 and 55
this just leads to confusion
2021-07-22 07:48:12 +10:00
Andrew Tridgell
0f70b4d8e3 AP_BoardConfig: removed BRD_PWM_COUNT 2021-07-22 07:48:12 +10:00
Andrew Tridgell
54e53ed71c HAL_ChibiOS: use is_GPIO() instead of BRD_PWM_COUNT 2021-07-22 07:48:12 +10:00
Andrew Tridgell
874757a955 SRV_Channel: added k_GPIO and is_GPIO() 2021-07-22 07:48:12 +10:00
Peter Barker
a6a18fe193 AP_AHRS: punt to correct parent class when no index for getCorrectedDeltaVelocityNED 2021-07-21 21:01:39 +10:00
Peter Barker
b450a96698 AP_AHRS: shuffle AP_AHRS classes 2021-07-21 21:01:39 +10:00
Peter Barker
e1b839f739 GCS_MAVLink: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Peter Barker
1ae7d68988 AP_VisualOdom: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Peter Barker
7cca7513a1 AP_Vehicle: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Peter Barker
e1162f0a66 AP_SmartRTL: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Peter Barker
ed5303d1b8 AP_OpticalFlow: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Peter Barker
48e9fa7ebd AP_NMEA_Output: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Peter Barker
ee069a081b AP_Mount: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Peter Barker
da11b6be77 AP_Module: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Peter Barker
b1bd699a73 AP_Logger: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Peter Barker
dbc24d5cd3 AP_InertialNav: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Peter Barker
2bd8a45c58 AP_Common: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Peter Barker
8396925ece AC_WPNav: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Peter Barker
63015e9e9a AC_PrecLand: fixes 2021-07-21 21:01:39 +10:00
Peter Barker
6aba6c83c6 AC_PrecLand: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Peter Barker
5046083863 AC_AttitudeControl: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Peter Barker
ec17abce2e GCS_MAVLink: remove ability to use DCM as AHRS 2021-07-21 21:01:39 +10:00
Peter Barker
2926ffcd2f AP_Vehicle: remove ability to use DCM as AHRS 2021-07-21 21:01:39 +10:00
Peter Barker
b9c4d40c46 AP_NMEA_Output: remove ability to use DCM as AHRS 2021-07-21 21:01:39 +10:00
Peter Barker
85bd9de903 AP_Mount: remove ability to use DCM as AHRS 2021-07-21 21:01:39 +10:00
Peter Barker
a3ee979b9c AP_InertialNav: remove ability to use DCM as AHRS 2021-07-21 21:01:39 +10:00
Peter Barker
0d391533b0 AP_AHRS: remove ability to use DCM as AHRS 2021-07-21 21:01:39 +10:00
Pierre Kancir
a7f14efef2 AC_WPNav: remove unused variable following https://github.com/ArduPilot/ardupilot/pull/18076 2021-07-21 19:00:15 +10:00
Peter Barker
d2102ce9b7 APM_Control: stop taking references to ahrs in APM_Control 2021-07-21 18:27:23 +10:00
Andrew Tridgell
cbf549b1eb AP_Airspeed: fixed display of ARSPD_DEVID when ARSPD2_TYPE=0 2021-07-21 18:22:11 +10:00
Peter Barker
795f412264 AP_NavEKF3: pass NavEKF failures back up to callers 2021-07-21 18:02:26 +10:00
Peter Barker
b5f165ce2e AP_NavEKF2: pass NavEKF failures back up to callers 2021-07-21 18:02:26 +10:00
Peter Barker
141e2aae91 AP_AHRS: pass NavEKF failures back up to callers 2021-07-21 18:02:26 +10:00
Andrew Tridgell
fc2118f42b AP_NavEKF3: process GPS yaw independently of GPS fix
this processes GPS yaw with its own timestamp and as a separated step
from fusing position and velocity. This makes the yaw time handling
more accurate as yaw for moving baseline GPS comes in as a separate
piece of data from the position and velocity
2021-07-21 17:59:49 +10:00
Andrew Tridgell
17f93b8a94 AP_DAL: update GPS yaw API to add timestamp 2021-07-21 17:59:49 +10:00
Andrew Tridgell
e5d878eebd AP_GPS: change handling of moving baseline yaw
this changes yaw handling in a few ways:

 - GPS yaw now has a timestamp associated with the yaw separate from
   the timestamp associated with the GPS fix

 - we no longer force the primary to change to the UBLOX MB rover when
   it has a GPS yaw. This means we don't change GPS primary due to GPS
   loss, which keeps the GPS more stable. It also increases accuracy
   as the rover is always less accurate in position and velocity than
   the base

 - now we force the primary to be the MB base if the other GPS is a
   rover and the base has GPS lock
2021-07-21 17:59:49 +10:00
Andrew Tridgell
0b9cde5812 AP_NavEKF3: fixed indentation in readGpsData() 2021-07-21 17:59:49 +10:00
Andy Piper
ca477d09ed AP_BLHeli: ensure correct rotation through telemetry ESCs 2021-07-21 17:18:12 +10:00