Jacob Dahl
fe5a07a96d
gz: added x500_lidar model for publishing obstacle_distance
2024-07-16 11:07:03 +02:00
Daniel Agar
48f1687d3a
ekf2: cleanup legacy EKF solution_status_flags
2024-07-16 10:11:27 +02:00
Daniel Agar
1cd7d54170
ekf2: consolidate GNSS yaw in gnss_yaw_control.cpp and fix naming (GPS->GNSS)
...
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
2024-07-15 12:50:51 -04:00
bresch
9d6c2baa90
ekf2-flow: only allow flow when in range
...
Also, as the flow makes the link between range and horizontal velocity,
only allow it to start if at least one of the two is known. Otherwise
the EKF will struggle to estimate both values at the same time.
2024-07-15 11:40:33 -04:00
Daniel Agar
8e5f28f834
ekf2: rng only reset vz as a last resort
2024-07-15 11:39:56 -04:00
Daniel Agar
80ee622f77
ekf2: baro only reset vz as a last resort
2024-07-15 11:39:56 -04:00
Daniel Agar
40349fa3dc
ekf2: EV velocity control should own vertical velocity reset if height failing
2024-07-15 11:39:56 -04:00
Daniel Agar
177613eb68
ekf2: GNSS velocity control should own vertical velocity reset if height faiing
...
- GNSS height control using the velocity sample directly is ignoring
potential position offsets
2024-07-15 11:39:56 -04:00
PX4 BuildBot
9bbfc8715e
Update submodule mavlink to latest Mon Jul 15 12:39:00 UTC 2024
...
- mavlink in PX4/Firmware (abcf9ca6f0aadc91b203342db689f07630ec0e3a): da3223ff93
- mavlink current upstream: d65952bacc
- Changes: da3223ff93...d65952bacc
d65952ba 2024-07-05 Peter Barker - common.xml: correct description of GLOBAL_POSIITON_INT.relative_alt frame (#2131 )
5fc2ff8e 2024-06-26 Hamish Willee - Add multiplier field to docs, if present (#2125 )
a13d2317 2024-06-26 Roman Bapst - Added MAV_CMD_EXTERNAL_WIND_ESTIMATE to development (#2122 )
d8af87fd 2024-06-19 jokalode - Update common.xml (#2116 )
2024-07-15 11:18:19 -04:00
Daniel Agar
e03aef616c
ekf2: add terrain/dist_bottom reset deltas (vehicle_local_position/vehicle_global_position)
2024-07-15 10:25:42 -04:00
Daniel Agar
a5a67315fd
ekf2: optical flow magnitude check compensated
...
- additionally don't use flow for reset if magnitude isn't acceptable
2024-07-15 09:46:59 -04:00
Boris
be551097e0
mc_wind_estimator_tuning: Changed Quaternion package installed by requirements.txt
2024-07-15 11:40:12 +02:00
Daniel Agar
dc5f8118b0
ekf2: range finder cleanup duplicate logic
2024-07-15 11:37:36 +02:00
KonradRudin
59b96f4968
tecs: fast descend: do not shut down throttle while still climbing ( #23397 )
2024-07-15 10:42:43 +02:00
Liu1
b1b0032b8d
BMP581: Add Bosch BMP581 barometer ( #23064 )
...
* BMP581: Add Bosch BMP581 barometer
* Copyright:fix copyright header year
* style: not use pointers and Bool returns, Check the failed condition return
* delay: Replace usleep() with ScheduleDelayed()
* definitions: Delete unused definitions
* comment: Delet redundant comments
* constants: Change to uppercase
* BMP581: run make format
2024-07-14 14:08:20 -08:00
Matthias Grob
e2b31454a3
SubscriptionInterval: move updated, update, copy function to a cpp file
...
Saves 17.3 kilobytes of flash 😮
2024-07-12 23:26:24 +02:00
Claudio Chies
33be5d8356
Survey - fix of survey tracking problem on steep slopes ( #23371 )
...
* initial working
* incoperated review
2024-07-11 14:54:22 +02:00
Daniel Agar
9124a7b471
ekf2: add IMU delta_ang_dt/delta_vel_dt safety constrain before pushing into buffer
2024-07-10 21:20:47 -04:00
Daniel Agar
ac77049c47
ekf2: directly use IMU sample to find corresponding aid source sample
...
- I think this helps make it clear we're using a sensor sample
corresponding with a particular IMU sample
2024-07-10 21:20:47 -04:00
Daniel Agar
f93dc61770
ekf2: use bias corrected angular velocity
...
- avoid unnecessarily storing _ang_rate_delayed_raw
2024-07-10 21:20:47 -04:00
Julian Oes
20137bea40
boards: add console build for Cube Orange(+)
...
This adds a build variant which enables the serial console, and
therefore disables the ADSB receiver.
2024-07-10 21:14:08 -04:00
Claudio Chies
57e303b11b
bugfix for failing actions
2024-07-10 21:12:55 -04:00
PX4 BuildBot
e0ea91fc27
Update submodule gz to latest Thu Jul 11 00:39:09 UTC 2024
...
- gz in PX4/Firmware (2c3401dc8367a860cbbabc5e77898ff206f554aa): 881558c8c2
- gz current upstream: 312cd002ff
- Changes: 881558c8c2...312cd002ff
312cd00 2024-07-08 chfriedrich98 - Add rover ackermann model (#46 )
2024-07-10 21:05:57 -04:00
chfriedrich98
c391509c23
ackermann: add SITL airframe
2024-07-10 21:04:59 -04:00
Matthias Grob
2c3401dc83
uORB: SubscriptionInterval fix timestamp wrapping when initializing less than the interval time after boot ( #23384 )
...
* SubscriptionInterval: ensure _last_update is never before timer start
2024-07-10 12:43:31 -04:00
Daniel Agar
75bb339d94
ekf2: remove warning events logging
...
- some of these warning flags aren't even being used, and most of the rest we can figure out from other sources
2024-07-10 10:43:55 -04:00
Daniel Agar
c29b4ff87e
ekf2: apply astyle formatting and enforce
2024-07-10 10:43:55 -04:00
chfriedrich98
3fe609f769
exclude 4017 from v5x to save flash
2024-07-10 12:06:48 +02:00
chfriedrich98
03ff837c50
ackermann: new features and improvements
...
added return mode support, slew rates for actuators, new ackermann specific message, improved cornering slow down effect and fixed logging issue.
2024-07-10 12:06:48 +02:00
Daniel Agar
223397c20e
ekf2: always add accel/gyro bias process noise
...
- continue adding accel/gyro bias process noise even if inhibited
2024-07-10 11:49:01 +02:00
Marco Hauswirth
419652b9fe
EKF2: Spoofing GPS check ( #23366 )
...
* estimator gps check fail flag for spoofing
* warn whenever spoofing state changes to true, use default hysteresis to completely stop fusion
* dont introduce more GPS namings, GNSS instead
* flash: exclude mantis for cuav_x7pro
2024-07-09 16:31:11 +02:00
Daniel Agar
62ff39a669
ekf2: EV vel (body) update last fuse timestamps
...
- these are set by the NED fuseVelocity() helper so also need to be set in the body frame velocity case
2024-07-09 10:16:12 -04:00
Daniel Agar
5d08b97fd7
ekf2: add vehicle_local_position dist_bottom_var
2024-07-09 10:10:01 -04:00
Daniel Agar
3e3b886b5d
ekf2: add terrain estimator_status_flags
2024-07-09 10:10:01 -04:00
Daniel Agar
64a6971bdb
ekf2: only limit opt flow HAGL if range only terrain
...
- increase HALG limit from 75%->90% of sensor max
2024-07-09 10:10:01 -04:00
Daniel Agar
c56f84fe8a
ekf2: range, check if terrain valid for reset on fusion timeout
2024-07-09 10:10:01 -04:00
Daniel Agar
e52025cc20
ekf2: optical flow fusion timeout only reset if quality is good
2024-07-09 10:10:01 -04:00
Daniel Agar
6be06ecbb3
ekf2: optical flow failing also reset terrain if needed
2024-07-09 10:10:01 -04:00
Daniel Agar
ea8f14b883
ekf2: optical flow logic, timeout if bad_tilt, etc
...
- previously we could get stuck with optical flow still technically
active (_control_status.flags.opt_flow=true), but nothing being
updated due to excessive tilt, etc
2024-07-09 10:10:01 -04:00
Daniel Agar
8bf15b01c4
ekf2: optical flow don't compute innovation variance twice
...
- collapse updateOptFlow() and startFlowFusion() to avoid recomputing H
- this is a relatively expensive call we can easily avoid with the
right structure
2024-07-09 10:10:01 -04:00
Daniel Agar
f709ed409d
ekf2: optical flow stop reset all flags
2024-07-09 10:10:01 -04:00
Daniel Agar
9dfd82ab06
ekf2: optical flow remove _flow_data_ready flag
2024-07-09 10:10:01 -04:00
Daniel Agar
7047f9441c
ekf2: fix calcOptFlowBodyRateComp() gyro bias
...
- adjust flow sample gyro_rate immediately after popping from ring
buffer
- always update flow gyro bias (calcOptFlowBodyRateComp()) regardless
of flow quality or magnitude
2024-07-09 10:10:01 -04:00
Daniel Agar
4d324da9f8
ekf2: update flow aid src status every sample
2024-07-09 10:10:01 -04:00
Daniel Agar
bcd666b3f8
ekf2: fix optical flow start logic
...
- remove fallthrough that enables flow regardless of success
- add appropriate start messages for each case
2024-07-09 10:10:01 -04:00
Daniel Agar
bf4e564b23
ekf2: resetTerrainToFlow() reset aid src status appropriately
2024-07-09 10:10:01 -04:00
Daniel Agar
ced609daa8
ekf2: flow fusion start require valid fusion
2024-07-09 10:10:01 -04:00
Daniel Agar
1df8f3f9d2
ekf2: resetFlowFusion() reset aid src status appropriately
2024-07-09 10:10:01 -04:00
Roman Bapst
8221940b60
Added pitot tube icing detection ( #23206 )
...
* lib: add FilteredDerivative class
* AirspeedValidator: add first principle check
- filters throttle, pitch and airspeed rate, and triggers
if the airspeed rate is negative even though the vehicle
is pitching down and giving high throttle.
Check has to fail for duration defined by ASPD_FP_T_WINDOW
to trigger an airspeed failure.
* AirspeedValidator: define constants for first principle check
* FilteredDerivative: set initialised to false if sample interval is invalid
* airspeed_selector: improved comment
* increase IAS derivative filter time constant from 4 to 5
* use legacy parameter handling for FW_PSP_OFF
* handle FW_THR_MAX as well
* ROMFS/airframes: exclude some airframes for v6x and v4pro to save flash on them
---------
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
Signed-off-by: RomanBapst <bapstroman@gmail.com>
Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
2024-07-09 11:16:40 +02:00
Julian Oes
a35cecece4
gnss: add missing include
...
Breaks CLion otherwise.
2024-07-08 20:38:40 -04:00