17531 Commits

Author SHA1 Message Date
Matthias Grob
f02cf0ed32 FlightTaskAuto: instanciate position_setpoint_triplet only for evaluation
Next step is to only evaluate when there's a topic update
which is a behavioural change that has to carefully be checked.

I have the suspicion the logic assumes certain states to be
reset on every loop iteration by the triplet evaluation.
2024-10-13 16:47:53 +02:00
Matthias Grob
925e776a00 FlightTaskAuto: use built in matrix comparison
which corresponds to fabsf(a(0) - b(0)) < 1e-4f for each element.
2024-10-13 16:35:45 +02:00
Matthias Grob
26845d9746 HomePosition: only evaluate vehicle_gps_position if copy is successful 2024-10-12 09:18:22 +02:00
Matthias Grob
67fb4cfec8 FlightTaskAuto: purge separate triplet type enum
This allows for full text search of a type
to see all the cases it's used for.
2024-10-12 08:58:43 +02:00
Julian Oes
01888a3085
mavlink: fix SET_MESSAGE_INTERVAL parsing (#23796)
This fixes the SITL tests that fail in CI because we catch NAN as non
zero after cast to int. To fix this I've added the check whether they
are finite at all.

The checks for param5 and param6 would be a bit trickier because they
can be int or float, so I have omitted them for now.
2024-10-11 09:03:22 +13:00
Silvan Fuhrer
34f65682ad Commander: remove -local- from failsafe string to make it simpler to understand
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-10-10 10:28:59 +02:00
Silvan Fuhrer
9cb12d8e8e HealthAndArmingChecks: improve messaging for position estimate failure
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-10-10 10:28:59 +02:00
Hamish Willee
da8827883f
Use target camera in image capture start/stop messages (#23115)
* Use target camera in image capture start/stop messages

* Add support for MAV_CMD_SET_CAMERA_SOURCE

* Add target ID for NAV_CMD_SET_CAMERA_MODE

* Run make format
2024-10-09 21:10:08 +13:00
Hamish Willee
66b9e60a49
MAV_CMD_SET_MESSAGE_INTERVAL reject non-zero values for unused params (#23643)
* MAV_CMD_SET_MESSAGE_INTERVAL reject non-zero values for unused params

* Remove data rate

* Replace rounding with addition of 0.5/0.5f
2024-10-09 21:08:49 +13:00
Matthias Grob
4a08ebafbc failsafe: prevent immediate low battery failsafe for existing low battery state
This happens when BAT_CRIT_THR allows arming with a critical battery level. With this change it still fails the checks but only warns instead of doing the failsafe action because that would immediately land the vehicle before it has taken off.
2024-10-08 18:49:23 +02:00
Matthias Grob
7941310afd batteryCheck: allow COM_ARM_BAT_MIN to be set lower than BAT_CRIT_THR
Which still allows to arm the vehicle even if it already has a critical battery level.
2024-10-08 18:49:23 +02:00
Matthias Grob
a5b17f14b0 batteryCheck: refactor to consistent parameter variable naming 2024-10-08 18:49:23 +02:00
Konrad
daf604b361 mavlink_mission: handle concurrent mission count messages 2024-10-08 15:34:51 +02:00
Konrad
7ec4c1419c mavlink_mission: only accept a mission request list on an ongoing transfer, when it is the same partner 2024-10-08 15:34:51 +02:00
Konrad
b51ad07ed0 mavlink_mission: do not send the mission count if a new mission is detected since a receiver can now check this by changing mission ids in the MISSION_CURRENT stream 2024-10-08 15:34:51 +02:00
Konrad
1c62dda057 mavlink_mission: make sure send mission item error ack is send to the right sysid/compid 2024-10-08 15:34:51 +02:00
Konrad
b1d52e20c6 mavlink_mission: guard incoming misison item to be from the current transfer partner 2024-10-08 15:34:51 +02:00
DanielH
ee19691d95 fix mission sysid for mission_ack 2024-10-08 15:34:51 +02:00
Silvan Fuhrer
0d31226b1c AirspeedSelector: enable sensor checks right after catapult launch
Airspeed sensor failures are crucial to catch early during catapult/hand launches,
as otherwise the large airspeed error can lead to the vehicle diving. Thus the
_in_takeoff_situation flag, which tells the validator when to enable the checks,
is already set to false when !landed and launched.
For runway takeoffs the logic in unchanged.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-10-08 13:16:17 +02:00
Alexander Lerach
936eb89edb
logger: fixed watchdog not logging, increased cycle trigger (#23769) 2024-10-08 09:53:55 +02:00
Matthias Grob
fd04ece6d4 geo: remove dependency on drv_hrt time driver 2024-10-07 14:24:18 +02:00
Daniel Agar
f971c0e617 ekf2: reduce bad acc probation time 10s->3s 2024-10-07 10:37:33 +02:00
Daniel Agar
9ddac762e3 ekf2: stricter GNSS vel rejected innovation override
- in the special case of bad vertical acceleration detected
   (bad_acc_vertical) only allow overriding rejected GNSS 3D velocity
   if horizontal innovations are accepted
2024-10-07 10:36:09 +02:00
Daniel Agar
9238656a33 ekf2: configurable velocity state constraint (EKF2_VEL_LIM)
- replace hardcoded 1000 m/s velocity state constraint with new EKF2_VEL_LIM parameter (default 100 m/s)
 - new velocity limit also used for GPS checks and external vision velocity
2024-10-07 10:35:48 +02:00
Alexander Lerach
4215e20120
modules/time_persistor: new time persistor module to save time to persistent storage (#23760) 2024-10-04 15:44:49 -04:00
Marco Hauswirth
7d0e93b779
ekf2: always publish global position when origin has been set 2024-10-04 11:41:20 -04:00
Daniel Agar
ad28c5893b flight_mode_manager: invalidate dist to bottom/ground on terrain reset
- this allows the terrain hold to simply reset on the next valid update
   rather than trying to adjust the setpoints
2024-10-04 11:28:03 -04:00
Daniel Agar
34ee097f02 ekf2: tighten terrain validity requirements
- require valid fusion from a range finder or optical flow before
   considering terrain valid again
2024-10-04 10:31:20 +02:00
PX4 BuildBot
51702efe94 boards: update all NuttX defconfigs 2024-10-02 15:08:38 -04:00
bresch
6119b08ef4 mpc: reset integrators when controllers are not used
Starting with a non-zero integrator could appear as a strong disturbance
when engaging position mode.
2024-10-02 10:47:25 -04:00
bresch
dbf51da99e ekf2: rework amsl to ellipsoid altitude conversion 2024-10-01 10:40:18 -04:00
bresch
5bfa6b3359 ekf2: remove redundant ned_origin_initialised flag 2024-10-01 10:37:20 -04:00
Marco Hauswirth
fe40ccd193
EKF2: publish wind after external wind init (#23747)
* publish wind after external wind init

* move ext-wind-init to estimator-interface

* Update src/modules/ekf2/EKF/estimator_interface.h

Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>

* Update src/modules/ekf2/EKF/estimator_interface.h

Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>

---------

Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
2024-10-01 14:33:30 +02:00
alexklimaj
602042dd5c failure detector use per index esc current 2024-09-30 10:11:34 +02:00
Daniel Agar
332b7bec27 commander: ignore REQUEST_CAMERA_INFORMATION
- add answer command logging
2024-09-27 10:33:37 -07:00
Silvan Fuhrer
8fdf0931e5 Commander framework: only warn and do not re-start RTL if already in RTL
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-09-27 14:25:27 +02:00
Alexander Lerach
224aef142c
Retry logic in uxrce_dds_client startup (#23723)
* Added retries if uxrce_dds_client fails during setup

* Break timesync endless loop in case of agent reset

* ORB unsubscribe, to avoid too many open fails with multiple reconnects & format

* Added review feedback
2024-09-26 17:43:49 +02:00
chfriedrich98
0e65679c9e
Mecanum rover: add dedicated module for mecanum rovers (#23708) 2024-09-25 09:35:41 +02:00
bresch
35efe44a6b ekf2: fusion always succeeds, do not return boolean 2024-09-24 10:48:14 -04:00
bresch
23f343aa3a ekf2-rng: consider height covariance for terrain reset to range
Range does not provide a direct terrain observation but a measurement
relative to the height state. Correlation between height and terrain
must be set properly.
2024-09-24 10:18:25 -04:00
Nicolas MARTIN
d269ddfb49
sensors/vehicle_air_data: fix air data publication rate (#23717)
Co-authored-by: Nicolas Martin <n.martin@elistair.com>
2024-09-24 09:49:47 -04:00
Marco Hauswirth
454ded1b25
EKF2: ev-vel refactoring (#23577) 2024-09-24 14:09:11 +02:00
Matthias Grob
f60bb2c6bc
rtl_direct: skip loiter altitude items for multicopter without RTL land delay (#23689)
This was already done before the refactor and was assumed to not be necessary.
The problem is that these mission items result in a strang looking vertical slow down directly followed
by an acceleration during the landing phase.
2024-09-23 18:33:03 +02:00
Marco Hauswirth
8afd267509 move more ekf function implementations to cpp 2024-09-23 12:18:41 -04:00
Marco Hauswirth
e3f138862a move implementation of updateAidSrcStatus to cpp file, saves flash 2024-09-23 12:18:41 -04:00
bresch
15ddd94349 ekf2: move implementation to ekf_helper to reduce flash usage
saves about 4.8kB of flash on FMUv5
2024-09-23 10:27:42 -04:00
Konrad
c20c1f09a6 RTL_DIRECT: explicitely set force heading in loiter hold if needed 2024-09-23 11:02:02 +02:00
Konrad
02e50bb5dc rtl_direct: loiter hold should track altitude as best effort but not enforce it 2024-09-23 11:02:02 +02:00
Alvaro Fernandez
2ecffff700
fw_tecs: Support tighter altitude tracking during low-height flight (#23519)
* fw_tecs: Support tighter altitude tracking during low-height flight. Added FW_T_THR_LOW_HGT defining low-height flight threshold

* tecs: Applied smoothed-out altitude TC transition to landings

* fw_tecs: modified tighter altitude control for low-height implementation

* addressed PR comments

* addressed PR comments

---------

Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
2024-09-19 16:24:53 +03:00
BazookaJoe1900
4d83badba1
fix files tags on the header comments (#23564) 2024-09-19 09:25:18 +03:00