17031 Commits

Author SHA1 Message Date
Konrad
815cea2abb geofence: publish status of loaded geofence 2024-03-08 17:26:04 +01:00
Konrad
51321c605e mission_base: clean up mission check evaluation 2024-03-08 17:26:04 +01:00
Konrad
a0ae073d8c mission_base: Do not initialize mission from dataman. only listen on mission topic 2024-03-08 17:26:04 +01:00
Silvan Fuhrer
7884e0a3f7
Navigator: remove vtol_takeoff special handling for RTL (#22844)
We had a special handling for RTL triggered in vtol_takeoff state.
The idea is to wait until the VTOL Takeoff is completed and only
then switch to RTL. On a second thought this special handling isn't
really necessary and for the sake of simplicity should be removed.
This also removes the side effect of the indicated flight mode
after RTL being set to VTOL_Takeoff again.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-03-08 11:40:14 +01:00
Silvan Fuhrer
f799141a19
FW Pos Controller: do not publish roll angle constrained warning if landed (#22850)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-03-08 09:40:43 +01:00
bresch
0d0978b3b9 ekf2: update change indicator 2024-03-07 11:06:31 -05:00
bresch
0639f5370c ekf2: fix mag and wind covariance prediction 2024-03-07 11:06:31 -05:00
bresch
2bacb4b65d ekf2: update change indicator 2024-03-07 15:11:47 +01:00
bresch
421f13e4b5 ekf2: fix joseph covariance update for Schmidt-Kalman filter
If part of the Kalman gain is zeroed, the first step of the joseph
update does not produce a symmetrical matrix.
2024-03-07 15:11:47 +01:00
Silvan Fuhrer
1e253a9626
VTOL: treat Descend mode as Land (#22843)
* vtol_type: enable pusher assist also in Descend mode

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>

* vtol_type: treat Descend as Land for pusher assist

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>

---------

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-03-07 10:22:25 +01:00
Daniel Agar
1c741836c0 sensors/vehicle_imu: sensor update loop limit iterations 2024-03-06 21:19:38 -05:00
Daniel Agar
8b6c70e0f2 sensors/vehicle_angular_velocity: sensor update loop limit iterations 2024-03-06 21:19:38 -05:00
Daniel Agar
1fc38aab92 sensors/vehicle_air_data: sensor update loop limit iterations 2024-03-06 21:19:38 -05:00
Daniel Agar
2bf1eeb003 sensors/vehicle_acceleration: sensor update loop limit iterations 2024-03-06 21:19:38 -05:00
Daniel Agar
87960c04d8 mag_bias_estimator: sensor update loop limit iterations 2024-03-06 21:19:38 -05:00
Daniel Agar
d96970a2b9 sensor/vehicle_magnetometer: sensor update loop limit iterations
- place upper bound to prevent looping indefinitely (high publish rate, etc)
2024-03-06 21:19:38 -05:00
Silvan Fuhrer
c5835a48de
FW Position Controller: do not publish roll angle constrain warning in VTOL transition (#22842)
* FW Position Control: some cosmetical changes

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>

* FW Position Control: disable roll constraining warning in VTOL transition

In transitions it is expected that the roll is constrained, and
instead of defining an aribitrary threshold let's rather disable
the user warning in that case.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>

* FW Pos C: define magic numbers for roll constraining warning as constants

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>

---------

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-03-06 15:51:54 +01:00
bresch
6f9a378247 yaw_est: force set gyro bias when at rest
The gyro bias estimate from EFK2 is really good when at rest and should
be used by the yaw estimator to prevent heading drifts due to poor
heading observability.
2024-03-05 14:00:06 -05:00
Sihyun Noh
23a41299fa
mag calibration: minor cleanup (#22830) 2024-03-05 09:00:08 +01:00
bresch
28db3e1c8c ekf2: update change indicator 2024-02-27 12:33:43 -05:00
bresch
e9d43015ce ekf2: fix unit tests failing due to mag fusion changes 2024-02-27 12:33:43 -05:00
bresch
b46fc9a67d ekf2 sensor_sim: set correct world mag field 2024-02-27 12:33:43 -05:00
bresch
b80f15f7b5 ekf2-mag_auto: always use mag 3D after takeoff 2024-02-27 12:33:43 -05:00
Silvan Fuhrer
086656dc7f
FW Attitude Controller: fix manual yaw rate setpoint limit (#22812)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-02-27 17:23:13 +01:00
bresch
051baec9c4 ekf2: allow wind dead-reckoning after manual position reset
Reset velocity using airspeed and start navigating
2024-02-27 09:34:05 -05:00
DanielePettenuzzo
18f96c16ce fix gimbal driver for mavlink gimbal v2 input and AUX output
The main problem was that during initial negotiation the client would
request the gimbal_manager_information from px4 but px4 would never send
it because in this configuration the device_compid was set to 0.
2024-02-27 09:53:25 +01:00
Daniel Agar
8001132d33 ekf2: ZeroGyroUpdate move to fuseDirectStateMeasurement 2024-02-26 12:32:59 -05:00
bresch
08a2a6c836 update EKF2 change indicator 2024-02-26 12:32:59 -05:00
bresch
d501d8e1d4 ekf2: use Joseph stabilized update in direct state observations 2024-02-26 12:32:59 -05:00
bresch
9d9766c6cf ekf2: use Joseph stabilized covariance update 2024-02-26 12:32:59 -05:00
bresch
37a40d3fc2 baro static pressure compensation tuning: remove dependency to baro bias
`estimator_baro_bias` requires to have GNSS and baro hgt active and GNSS as the reference. This is quite restrictive. Instead, we can simply use a high-passed version of the baro error.
2024-02-23 10:07:13 +01:00
Eric Katzfey
be08c57a0a Changed order of service startup in SLPI DSP muorb since parameter library now needs work queues 2024-02-21 11:54:02 -05:00
Daniel Agar
506c60c471
ekf2: declination fusion don't use uninitialized parameter (EKF2_MAG_DECL) 2024-02-21 09:45:44 -05:00
Niklas Hauser
643d3e3bf3 Navigator: Prevent busy-looping if Dataman read/write times out
MissionBase did not initialize its mission data, thus could enter an
infinite loop in updateDatamanCache() if the initMission() failed to
read the mission off, for example, due to the SDCard storage task taking
longer than the timeout to respond.

This change constrains the loading loop and resets the mission data even
if the data write failed.
2024-02-21 13:31:43 +01:00
Daniel Agar
8243b4f474 ekf2: move vel/pos reset helpers 2024-02-20 13:16:24 -05:00
Daniel Agar
22b957696d ekf2: velocity/position fusion helper minor consistency cleanup 2024-02-20 13:16:24 -05:00
Daniel Agar
c338891677 ekf2: split vel_pos_fusion.cpp 2024-02-20 13:16:24 -05:00
Daniel Agar
c4c41c49e5 ekf2: move fuseVelPosHeight() -> fuseDirectStateMeasurement()
- don't bother keeping bad_vel_{N,E,D} and bad_pos_{N,E,D} fault status bits
2024-02-20 13:16:24 -05:00
Daniel Agar
021dd0d0af ekf2: fix EV height bias predict call
- needs to be called every iteration
2024-02-20 11:47:53 -05:00
bresch
c221da27a7 ekf2: set attitude validity flag using centralized function 2024-02-20 11:33:30 -05:00
Matthias Grob
51fe4351c6 StickTiltXY: Fix too high maximum tilt problem
And add unit tests.
2024-02-20 14:27:49 +01:00
Silvan Fuhrer
8a75733511 Navigator: fix VTOL land waypoint calculation
The setpoint.yaw can be NAN, and this made the calculated land point NAN
as well. Looking at the current yaw is anyway a better way to approximate
the course over ground that fundamentally should be used.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2024-02-19 14:54:28 +01:00
Daniel Agar
1032dd3470 ekf: fix measurementUpdate comment typo 2024-02-19 09:41:49 +01:00
Konrad
424c3cd2cb FeasibilityChecker: Add new TakeoffLandAvailable option
ADd a new misison feasiblity checker option to check if a proper landing approach is defined when in air. There must be at least a mission landing or a VTOL approach defined in order for the mission to be accepted. Else, use the same logic as in MIS_TKO_LAND_REQ=4
2024-02-16 10:27:22 +01:00
Konrad
68100650da RTL: publish a status message on currently chosen RTL point 2024-02-16 10:27:22 +01:00
Daniel Agar
8dc3975456
ekf2: only populate gnss pos aid src status if ref initialized
- this is a minor logging improvement when plotting the position from the beginning of the log (often a replay session)
2024-02-15 13:13:10 -05:00
Konrad
cb09dde606 FixedwingPositionControl: Used corrected npfg roll output in path mode 2024-02-13 17:17:44 +01:00
Konrad
1a1891073e FixedwingPositionControl: Only warn user when roll is reduced for a longer period of time 2024-02-13 17:17:44 +01:00
Frederik Markus
bb53781b8f
simulation/gz_bridge: enable navsat plugin for accurate positioning of real life maps in Gazebo (#22638)
* publish the global groundtruth from the navsat callback and rearrange the local groundtruth as the altitude reference now has a dependency on the global groundtruth being initialized

---------

Signed-off-by: frederik <frederik.anilmarkus@gmail.com>
2024-02-13 11:09:35 -05:00
Silvan Fuhrer
c9ad60e3cc Update src/modules/navigator/mission_block.cpp
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2024-02-13 10:34:57 +01:00