When disable_weather_vane is true, the vehicle is aligning for the transition waypoint
(VTOL) and thus the yaw setpoint from Navigator should be used.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
- track and publish validity based on hover thrust variance, innovation test ratio, and hysteresis
- only publish on actual updates or becoming inactive
- fix dt (previous timestamp wasn't being saved)
- use local position timestamp (corresponding) to accel data rather than current time to avoid unnecessary timing jitter
- check local position validity before using
- mc_hover_thrust_estimator: move from wq:lp_default -> wq:nav_and_controllers to ensure the hover thrust estimator runs after the position controller and uses the same vehicle_local_position data
- land_detector: check hover thrust estimate validity and adjust low throttle thresholds if hover thrust is available
- mc_pos_control: only use hover thrust estimate if valid
- if "landed" and "maybe_landed" states are false then both the "hit_ground" and the "low_thrust" condition need to be true in order to detect landing
- ground contact MC NAN setpoint workaround
- ground contact additionally check acceleration setpoint
- schedule with vehicle_local_position updates (most updates require valid local position)
- don't allow LNDMC_Z_VEL_MAX to exceed MPC_LAND_SPEED
- ground contact horizontal movement checks default to failed if estimates aren't available
- always check system field for validity
- reject any data outside of "servo position" valid range from Spektrum specification
- properly support XPlus channels (12+)
- debug message if channel count changes
- log full sensor_combined by default for now
- small decrease to input_rc rate (manual_control_setpoint is no longer filtered)
- sensor_correction can be logged at full rate (low publication rate)
1. The spec specifies that the mode change condition should be met for 10
consecutive frames before changing to the next mode.
2. The spec (and comment) says that "PAW3902JF should not operate with Shutter < 0x01F4 in Mode 2" -
however the if condition checked the reverse condition
Signed-off-by: Koby Aizer <koby.aizer@tg-17.com>
- this is to prevent vtol_att_control running at absurdly high rates (kilohertz) from every single actuator controls publication from both the multicopter and fixed wing controllers
- I don't really like this solution, but it works for now until there are larger VTOL architectural changes in place
- this lowers the load immediately at boot while still allowing each VehicleIMU instance to properly measure the actual accel/gyro data rates
- for lockstep builds this is ignored and VehicleIMU initially runs with every new sensor_accel/sensor_gyro publication
I changed the input constraint in #15349 but screwed up the usage
because I was convinced it's püass by reference. I'll double check
for sure next time.
- matrix in PX4/Firmware (20d5e7acd6d7be141de802ad155592e7be4c9f77): 9a30828a0a
- matrix current upstream: 0fd99c59f1
- Changes: 9a30828a0a...0fd99c59f10fd99c5 2020-07-14 Matthias Grob - Switch operator() to return a const reference
8a59b46 2020-07-17 kamilritz - Quaternion: Use template type instead of single hardcoded type