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
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
9c767ff1ee
control_allocator: make effective source name a class member
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
38731662c6
parameters use bitset for mark_unsaved
2021-12-24 14:32:40 -05:00
Daniel Agar
b054fc7b8b
navigator: trivial code style fix
2021-12-24 10:55:20 -05:00
seungjo0109
0f7c850080
Fix typo(at modules/navigator_main)
2021-12-24 08:54:43 -05:00
Daniel Agar
7d7d707db9
commander: add COM_HOME_EN parameter to enable/disable home position
2021-12-23 15:46:31 -05:00
Matthias Grob
f68ae39840
Commander: avoid RC actions during calibration
2021-12-22 09:08:23 -05:00
Beat Küng
89974c46b9
mavlink streams: add return in all cases
...
Generally not needed here, but GCC produced an error when compiling with
-finstrument-functions.
2021-12-22 08:47:33 -05:00
Daniel Agar
47fcdb1fdb
sensors/vehicle_angular_velocity: replace ESC/FFT elapsed perf counters with single cycle perf counter
...
- non-trivial perf counters (elapsed & interval) are relatively expensive
- if ESC and FFT notch filtering are enabled this reduces 6 updates (2 per axis) to 1
2021-12-21 14:21:10 -05:00
Julian Oes
5894f302b5
mavlink: add test for zero padding
...
We want to avoid publishing garbage leftover from earlier publications.
2021-12-21 09:40:36 -05:00
Julian Oes
5cfe30fa2e
mavlink: fix include for unit tests
...
This is required to find the include directory for the unit test of the
MavlinkStatustextHandler.
2021-12-21 09:40:36 -05:00
Julian Oes
2e0286e6bb
mavlink: support receiving multi-chunk statustexts
...
This adds support for mavlink statustext messages arriving in multiple
chunks.
2021-12-21 09:40:36 -05:00
Julian Oes
9686c81f7d
boards: enable flow control on CDCACM
...
This enables flow control on CDCACM for the NuttX boards which fixes a
problem where HITL would stall.
The stall could happen if the hardware would be a bit too slow in
keeping up with the incoming messages. Often, this happened on arming
because the logger would take some time to log all parameters right at
the beginning.
The stall would then not recover due to NuttX bug where the rx interrupt
would not be restored correctly and instead only a slower watchdog would
release the next read. This watchdog takes 200ms which means it's hard
to impossible to get out of the situation without restarting sim and/or
PX4. For more information about the issue, see:
apache/incubator-nuttx#3633
As a workaround, until that bug is fixed, and because it makes sense
anyway, I propose to enable FLOWCONTROL for the serial via USB.
2021-12-21 08:01:38 +01:00
DanielePettenuzzo
88521b0145
print error only if the mavlink command fails
...
In some cases we printed also the mavlink commands that replied
to be unsupported. This is not an error to show in the log.
2021-12-21 07:37:23 +01:00
Claudio Micheli
9d02851893
vmount: increase stack size to 2100
...
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-12-20 13:05:15 -05:00
Julian Oes
90fe4b7a54
vmount: publish gimbal v2 protocol for v1 gimbals
...
This enables the use case where the gimbal v2 protocol is used
between the ground station and the drone, and the gimbal v1 protocol is
used between the drone and the gimbal.
2021-12-20 13:05:15 -05:00
Julian Oes
6d74b390d9
vmount: use absolute angle for location tracking
...
I'm pretty sure it makes more sense to use an absolute angle to track a
lat/lon location.
2021-12-20 13:05:15 -05:00
Julian Oes
d88f9353e8
vmount: improve debug message
...
This should help to figure out when gimbal commands don't work.
2021-12-20 13:05:15 -05:00
Julian Oes
f7c4034f3c
vmount: fix v1 frames with v2 input
...
It looks like the frames for pitch and roll were not set correctly when
v1 is used in v2 input.
2021-12-20 13:05:15 -05:00
Julian Oes
0ce4eae314
vmount: fix v1 frames for v1 input
...
This basically means that we want roll and pitch to be absolute, so
relative to the horizon.
2021-12-20 13:05:15 -05:00
Julian Oes
a6431ab8f0
simulator: fix implicit-const-int-float-conversion
2021-12-20 10:56:24 -05:00
Daniel Agar
019eaf7038
multicopter: minimize dt jitter by using estimate timestamp_sample
2021-12-17 17:52:28 -05:00
Igor Mišić
89f828fba7
pps_capture: advertise for logging
2021-12-17 07:56:08 +01:00