Daniel Agar
e7b7ccf68f
auto mission fly home before complete loss of global position estimate
...
- ekf2: expose dead reckoning as control status flags
- commander:
- add GPS validity check
- in AUTO MISSION if dependent on GPS then a loss of GPS will
trigger RTL so that the plane can return home while dead reckoning
2021-12-28 11:10:24 -05:00
Daniel Agar
990d7c159d
pwm_out: cleanup and prep for linux compatibility
2021-12-28 11:04:00 -05:00
FengShun
8f8719d33b
cmake: use add_definitions instead of add_compile_definitions
...
Using make tests in docker will fail, because the current basic image used by px4io/px4-dev-simulation-bionic is ubuntu18.04, the default version of cmake is 3.10, and the add_compile_definitions command is only available in cmake 3.12+(ubuntu 20.04).
2021-12-27 12:19:31 -05:00
honglang
17a99bc827
mavlink: add HYGROMETER_SENSOR stream
2021-12-27 12:13:09 -05:00
honglang
983867f9af
uavcan: support uavcan hygrometer
2021-12-27 12:13:09 -05:00
Daniel Agar
236794235a
parameters: export empty BSON document even if there are no parameters to save
...
- otherwise a 'param reset_all' won't be saved until a parameter is changed
2021-12-27 09:17:00 -05:00
Daniel Agar
33d7b42040
parameters: import quietly retry if there's no data (as a precuation)
2021-12-27 09:17:00 -05:00
Daniel Agar
20d3e6f4e1
parameters: add simple BSON verification pass after export
2021-12-27 09:17:00 -05:00
Beat Küng
72065c3d71
fix protocol_splitter: remove timeout, drop buffer if too full instead
...
The existing implementation had a flaw: when the buffer was getting full,
mavlink started to busy-loop, as the uart has data (poll returns immediately)
but no new data was read from the uart due to the buffer being full.
As rtps is running at lower prio, it never got the chance to read again,
making the problem even worse.
After 1s the timeout triggered and the buffer was cleared, so it recovered.
Instead of allowing for CPU spikes, we now immediately clear the buffer
(only as much as we have to), ensuring that new data is read from the uart.
2021-12-24 20:28:43 -05:00
Rui Miguel Carvalho
542ee86bc9
landing_target_estimator: custom irlock frame params ( #18884 )
...
Signed-off-by: ruimscarvalho98 <ruimsc98@gmail.com>
2021-12-24 20:20:35 -05:00
Silvan Fuhrer
28e01c3510
FW Position controller: make loiter switching logic robust against pos_sp with loiter_rad=0
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:17:15 -05:00
Beat Küng
d202bf9631
control_allocator: add scope to reduce stack usage by 256B
2021-12-24 20:06:13 -05:00
Silvan Fuhrer
48be55dec8
Tiltrotor: disable tilt/thrust compensation when dynamic allocation is enabled
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Silvan Fuhrer
31d7328f4d
Tailsitter: invert roll (make it NED-correct) for filling vehicle_torque_setpoint
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Silvan Fuhrer
1ad66e606b
ControlAllocation: introduce convention for control surface deflection sign
...
- horizontal control surfaces: up=positive deflection
- vertical control surfaces (rudder): right=positive deflection
- mixed (V-Tail): up=positive deflection
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Beat Küng
5259877b1b
control_allocator: update matrix normalization
...
- only normalize rpy for MC matrices
- for thrust use the 3D vector, so it works for FW and tilt rotors as well
This keeps MC unchanged.
2021-12-24 20:06:13 -05:00
Silvan Fuhrer
460a0df850
tiltrotor: fill out thrust_setpoint[0] also in hover, based on tilt and hover thrust
...
In the tiltrotor case, beside an F_z thrust setpoint also a F_x setpoint must be passed
to the allocator as the matrix has non-zero thrust-x effectiveness when tilts are applied.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Beat Küng
09200b994d
airship_att_control: publish thrust + torque setpoint
2021-12-24 20:06:13 -05:00
Silvan Fuhrer
478724c9fe
EffectivenessTiltrotor: fix logic for matrix update
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Beat Küng
8e04934eab
commander: consider COM_MOT_TEST_EN for COMMAND_ACTUATOR_TEST as well
2021-12-24 20:06:13 -05:00
Silvan Fuhrer
39d441317a
ActuatorEffectivenssTailsitterVTOL: only enable MC yaw control if more than 3 rotors
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Silvan Fuhrer
426aa76a59
CA/VTOL: change description of VT_ELEV_MC_LOCK as it applies to not just elevons
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Silvan Fuhrer
18008b2de7
CA module.yaml: add motor direction function also to UI for Tailsitter an Tiltrotor
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Beat Küng
8c782b7cd9
control_allocator: add Custom + MC with tilts effectiveness
...
The param group is changed to Geometry, as this reflects the naming in the
QGC UI.
2021-12-24 20:06:13 -05:00
Beat Küng
627ec0df5d
control_allocator: increase STACK_MAIN to 3000
...
It was exceeding 2000
2021-12-24 20:06:13 -05:00
Beat Küng
4d38742371
control_allocator: show VT_ELEV_MC_LOCK for vtol mixers in config ui
2021-12-24 20:06:13 -05:00
Beat Küng
28c4d0b7df
mixer_module: add unit tests
2021-12-24 20:06:13 -05:00
Silvan Fuhrer
07306c4be3
control_allocator: add support for Tailsitter VTOL
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Silvan Fuhrer
0568cff299
control_allocator: handle thrust allocation for VTOL's properly
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Silvan Fuhrer
936f2dff52
logger: log both instances of vehicle_thrust/torque_setpoint
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-12-24 20:06:13 -05:00
Beat Küng
4f8e6a9548
control_allocator: do not update params while armed
...
As a precaution
2021-12-24 20:06:13 -05:00
Beat Küng
e04b4a8dbf
control_allocator: add 6DOF configuration
2021-12-24 20:06:13 -05:00
Beat Küng
4c80adfaf1
control_allocator: implement trim + slew rate limits configuration
2021-12-24 20:06:13 -05:00
Beat Küng
301100ce0e
uuv_att_control: publish vehicle_thrust_setpoint & vehicle_torque_setpoint
2021-12-24 20:06:13 -05:00
Beat Küng
b5c2cdf6c4
vtol_att_control: do not manipulate PWM outputs if SYS_CTRL_ALLOC == 1
...
Not required anymore
2021-12-24 20:06:13 -05:00
Beat Küng
8d9e2a28c4
control_allocator: add fixed-wing actuator effectiveness
2021-12-24 20:06:13 -05:00
Beat Küng
4d2a403afa
control_allocator: add rover actuator effectiveness
...
This can be generalized later
2021-12-24 20:06:13 -05:00
Beat Küng
ed3a115c8f
control_allocator: add status publication rate limitation comment
2021-12-24 20:06:13 -05:00
Beat Küng
70e46a194f
control_allocator: major refactoring & additions
...
- allow effectiveness matrix to select control allocator method
(desaturation algorithm)
- add actuator_servos publication
- add support for multiple matrices (for vtol)
- add updateSetpoint callback method to actuator effectiveness to allow it
to manipulate the actuator setpoint after allocation
- handle motor stopping & reversal
- add control surfaces & tilt servos
- handle standard vtol + tiltrotor
- rename MC rotors params & class to be more generically usable
- fixes and enables ActuatorEffectivenessRotorsTest
2021-12-24 20:06:13 -05:00
Beat Küng
a81f11acdd
mc_rate_control: don't publish thrust + torque sp if vtol
2021-12-24 20:06:13 -05:00
Beat Küng
28e995ede2
fw_att_control: publish vehicle_thrust_setpoint & vehicle_torque_setpoint
2021-12-24 20:06:13 -05:00
Beat Küng
4becd6e4c7
rover: publish vehicle_thrust_setpoint & vehicle_torque_setpoint
2021-12-24 20:06:13 -05:00
Beat Küng
5da67e2e28
vtol_att_control: publish vehicle_thrust_setpoint & vehicle_torque_setpoint
2021-12-24 20:06:13 -05:00
Beat Küng
d1abdd0f8d
output drivers: add option to generate a separate output range reversing param
...
Makes it a bit easier to configure. Reversing by setting MIN > MAX is still
supported.
2021-12-24 20:06:13 -05:00
Beat Küng
1901edf13c
actuator_motors.msg: add reversible flags & implement in mixer_module
2021-12-24 20:06:13 -05:00
Beat Küng
9c767ff1ee
control_allocator: make effective source name a class member
2021-12-24 20:06:13 -05:00
Beat Küng
20d96f3bd9
metadata: fix BOARD_WITH_IO detection
...
Wasn't correctly updated during a rebase.
2021-12-24 20:06:13 -05:00
Daniel Agar
712353ea56
gyro_calibration: increase required samples (to be more conservative)
...
- make sure variance is checked across all available sensors
2021-12-24 19:53:44 -05:00
Daniel Agar
3f3836afa8
parameters: simplify import mark_unsaved and don't fail bson decode unnecessarily
2021-12-24 14:32:40 -05:00
Daniel Agar
d1cd4904dc
parameters: param_value_is_default avoid locking if value unchanged
2021-12-24 14:32:40 -05:00