bresch
8d296a50f9
FlightTask: properly initialize EKF reset counters
...
This fixes a race condition when switching from a flight mode that is
not a flight task (e.g.: stabilized). In this case, the reset counters
were initialized to 0 and deltas were applied to the first setpoints if
the EKF had any of its reset counters different from 0.
2025-02-05 13:21:32 -05:00
Daniel Agar
bd2a009217
commander: remove MC nav test
2025-02-05 11:58:04 -05:00
Hamish Willee
9e5cfa330a
Commander: Quick calibration supports mag too
2025-02-04 21:58:03 -05:00
mahimayoga
48c0992a7d
sf45: refactor how sensor orientation (yaw_cfg) correction is applied to incoming sensor data.
...
yaw_cfg is now read into the obstacle_distance message as the angle_offset. The offset is computed once at init and applied to each measurement.
2025-02-03 17:17:35 +01:00
mahimayoga
31bff3e5bb
sf45: change handle_missed_bins() function logic.
...
To simplify logic for wrap-around cases and cases in which bins outside the FOV may be filled. Bin indices are offset such that the 0th bin is the first bin within the sensor FOV. This way we can always fill bins from smallest to largest index.
2025-02-03 17:17:35 +01:00
mahimayoga
cb332e047d
obstacle-math: add standard obstacle map functions.
...
These functions help simplify repeated calculations accross driver and collision prevention files that are computing bins, angles and sensor offsets in obstacle maps.
2025-02-03 17:17:35 +01:00
Perre
f7dadd9b89
Remove inclusion of rotors in library to enable test ( #24286 )
2025-02-03 15:51:55 +01:00
Julian Oes
a9214b3aa3
gimbal: don't spoof gimbal device ( #24271 )
...
The current approach was wrong because the gimbal protocol now
handles the case properly where the autopilot is in charge of a
non-MAVLink gimbal.
This means that we don't need to send message "as if we were a gimbal
device" and instead set thet gimbal_device_id to 1 (up to 6) to indicate
we are in charge or a non-MAVLink gimbal.
2025-01-31 12:59:41 +13:00
Matthias Grob
4c2e69b2e6
estimatorCheck: only warn about GPS in modes that require a position but fail all modes if GPS required by configuration
2025-01-30 18:45:10 +01:00
Matthias Grob
f142363575
HealthAndArmingChecks: allow to warn in certain modes and fail arming checks in other modes
...
Previously it was only possible to warn in all modes and fail none or fail and warn in certain modes.
2025-01-30 18:45:10 +01:00
bresch
3b828e157a
MC att: clarify prioritization algorithm
...
Especially rename "mix" which is just the delta yaw angle
2025-01-30 11:28:26 +01:00
Silvan
ddf591c4f5
Navigator: use FLT_EPSILON instead of 0.0001f for >0 float comparison
...
Signed-off-by: Silvan <silvan@auterion.com>
2025-01-29 15:42:51 +01:00
Silvan
2f2e56c097
Navigator: replace custom NAV_EPSILON_POSITION with FLT_EPSILON
...
Signed-off-by: Silvan <silvan@auterion.com>
2025-01-29 15:42:51 +01:00
Matthias Grob
7e47605871
batteryCheck: separate event messages for low, critical and emergency battery states
2025-01-29 15:32:47 +01:00
Balduin
41c4933e10
add standard vtol airframe
2025-01-29 11:15:00 +01:00
Bertug Dilman
a0a2bdaea5
commander: COM_MODE_ARM_CHK parameter to allow mode registration while armed ( #24249 )
2025-01-28 14:33:15 +01:00
Marco Hauswirth
4df65c133e
add cs_baro_fault to switch to fallback baro if available ( #24260 )
2025-01-28 10:37:16 +01:00
Balduin
5bca71791a
SIH: clean up control surface configuration ( #24205 )
...
* fix sign error in appropriate place
In PR https://github.com/PX4/PX4-Autopilot/pull/24175 I changed the
control surface deflection signs in generate_fw_aerodynamics to make the
1103 airframe work correctly. However, this breaks the 1101 airframe,
introducing sing errors there.
So, here the change in generate_fw_aerodynamics is reverted to the state
before PR #24175 . Instead, the signs are set correctly by using
the HIL_ACT_REV bitfield in the respective airframe config files.
* match control surface parameters to SIH model
2025-01-27 16:52:29 +01:00
Matthias Grob
165f644580
control_allocator: fix typo and use [0,1] instead of [0%, 100%] in slew rate description
...
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2025-01-27 08:43:11 +01:00
Matthias Grob
c1cab2d4e0
control_allocator: add unit for slew rate and reword description
2025-01-27 08:43:11 +01:00
bresch
c76e74338b
ekf-replay: fix airspeed replay
...
If available, the EKF uses airspeed_validated, not airspeed
2025-01-26 23:05:39 -05:00
alexklimaj
c3ba39f931
dshot: remove dshot 1200
2025-01-23 23:50:50 -05:00
Alex Klimaj
07e7c64e60
drivers/power_monitor/ina238: retry if read fails
...
* ina238: retry if read fails
* ina238: increase retries and only publish not connected if register check fails
* ina238: use I2C resets
2025-01-22 15:32:26 -05:00
Roman Bapst
045c8d9831
Mission feasibility checks: make adding new check less error prone ( #24241 )
...
* make adding new feasibility checks less prone to errors
Signed-off-by: RomanBapst <bapstroman@gmail.com>
* Update src/modules/navigator/MissionFeasibility/FeasibilityChecker.hpp
Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
---------
Signed-off-by: RomanBapst <bapstroman@gmail.com>
Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
2025-01-22 16:56:31 +01:00
RomanBapst
57fdda597b
vtol_takeoff: store altitude on takeoff and don't use home position altitude
...
as vehicle does not need to be close to home position
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2025-01-22 14:03:18 +03:00
PavloZMN
ee150a15b4
Optical Flow: add unit testes for only using downward distance sensor ( #23266 )
...
* Test for Optical Flow checks correct camera position
* Formatting fixed
* Update src/modules/sensors/vehicle_optical_flow/test/CMakeLists.txt
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
* Update src/modules/sensors/vehicle_optical_flow/test/VehicleOpticalFlowTest.cpp
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
* Update src/modules/sensors/vehicle_optical_flow/test/VehicleOpticalFlowTest.cpp
Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
* For test GIVEN/WHEN/THEN added
---------
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
2025-01-22 11:58:07 +01:00
bresch
caaae6ed51
ekf2: allow sideslip fusion to always start with airspeed fusion
...
This allow sideslip fusion to start during VTOL front transition or even
on a multirotor with a vertical stabilizer and an airspeed sensor for example.
2025-01-22 09:33:16 +01:00
Jacob Dahl
1900d2c98f
uavcan: fix hw_errors from mutex lock, hide ESC/Servo status if no function set ( #23888 )
2025-01-22 12:48:05 +13:00
Jacob Dahl
a3215419d7
gz: remove model spawn offset ( #24165 )
2025-01-22 12:47:25 +13:00
Jacob Dahl
918eca8de4
gz: increase timeout for service request ( #24164 )
...
* gz: increase timeout for service request
* change error messages to warnings, specify retrying
* fix typo
2025-01-21 22:14:38 +01:00
RomanBapst
f36b45b2ff
VehicleOpticalFlow: use 32bit integer for dt
...
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2025-01-21 16:48:33 +03:00
RomanBapst
25e76883b7
Integrator: use 32bit integer to store dt to avoid overflow
...
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2025-01-21 16:48:33 +03:00
Matthias Grob
af062c85eb
Revert "FLightTaskAuto: limit nudging speed based on distance sensor"
...
This reverts commit 97cb933cff6d837e59dd55123804cd78abdca22a.
2025-01-21 09:59:47 +01:00
Marco Hauswirth
7a9608e54b
increase EKF2_RNG_FOG for FW and VTOL
2025-01-20 14:43:30 -05:00
Marco Hauswirth
4a5aa1e947
Fix max-hagl restriction to position/altitude control ( #23667 )
...
* fix max-hagl restriction to position/altitude control
* max hagl vel restriction in ManAcc position mode
* use interpolate func, change naming
* simplyfied vertical vel limitation
* move velocity-constraint adjustment to StickAccelXY
2025-01-20 15:50:21 +01:00
Mathieu Bresciani
0d22905558
VTOL params: fix param name
2025-01-20 15:50:06 +01:00
Pedro Roque
b09340cc98
Control Allocator: Add option for metric allocation (skip normalization) ( #24199 )
...
* add: metric allocation
* add: actual files
* rft: moved metric allocation to pseudo-inverse via flag with public method
* del: removed metric allocation test and added test in pseudo-inverse testing
* rft: deleted extra newline at the end of pseudo inverse test file
* feat: removed unnecessary log include
2025-01-20 13:30:51 +01:00
mahimayoga
65a8cc0e0a
sf45: scale measured distance with pitch and roll.
...
Calls function from ObstacleMath library that accounts for the vehicle's attitude w.r.t the obstacle. Obstacles are assumed to be flat, vertical walls.
2025-01-20 11:11:29 +01:00
mahimayoga
ab46502cbd
obstacle-math: add unit tests for project_distance_on_horizontal_plane function.
2025-01-20 11:11:29 +01:00
mahimayoga
29f981f14c
collision-prevention: extract rotation scaling function into new ObstacleMath library.
...
New library created for static and/or repeated code across collision prevention and driver files.
2025-01-20 11:11:29 +01:00
Daniel Agar
b1ca0495e2
ekf2: yaw estimator additional validity checks
2025-01-20 09:45:41 +01:00
Balduin
1eb9434b8c
stream ATTITUDE_QUATERNION in low bandwidth mode
2025-01-17 11:20:12 +01:00
Matthias Grob
f693fab7c8
rc_update params: remove comment about default static mixing
...
Was added back in 2014:
7441efde4745c0dddc08a36a0bbf83307f82948a
2025-01-17 08:18:42 +01:00
alexklimaj
33841cf438
Update GPS submodule
2025-01-15 11:54:04 -05:00
bresch
c99cb6e94b
ekf2: do not auto-generate sideslip measurement jacobian
...
This is to trade a bit of CPU load for more flash space.
2025-01-15 11:05:50 -05:00
Matthias Grob
e01fef755a
Control allocation: make heli rpm control an optional build flag disabled by default
...
to save flash.
The rpm capture dirver is also disabled on default releases
2025-01-15 14:35:35 +01:00
Mathieu Bresciani
8ecb76aba2
[Multirotor] add yaw torque low pass filter ( #24173 )
...
co-authored-by: danielmellinger <107884356+danielmellinger@users.noreply.github.com>
co-authored-by: Eric Katzfey <eric.katzfey@modalai.com>
2025-01-15 14:02:28 +01:00
Jaeyoung Lim
974446c0e8
Make control allocation and actuator effectiveness a non-module-specific library ( #24196 )
...
* Remove more circular dependencies with ActuatorEffectiveness
* Separate vehicle specific actuator effectiveness
Keep actuator effectivenss in control allocator
* Remove test dependency for now
* Group library directories
Fix
* Change directory names
* Rebase fix
2025-01-15 10:12:29 +01:00
PX4 BuildBot
9f8325e8e0
Update submodule mavlink to latest Wed Jan 15 00:39:11 UTC 2025
...
- mavlink in PX4/Firmware (fd5b52d4c53f35a520646a6c4ec75588f6b87e0f): 5e3a42b8f3
- mavlink current upstream: 619947d8bc
- Changes: 5e3a42b8f3...619947d8bc
619947d8 2024-12-19 Hamish Willee - common.xml - PING fix (#2197 )
2f44ceff 2024-12-18 Julian Oes - common: use camera ID for CAMERA_IMAGE_CAPTURED (#2196 )
2025-01-14 21:45:04 -05:00
bresch
12a9087e92
ekf2: constrain max variance by zero innovation update
...
Clipping the variance of the covariance matrix has a destabilizing
effect as it increases the correlation between the states.
2025-01-14 21:42:33 -05:00