Balduin
96fc4a0673
preflight check: modify actuator_sp if running
...
this adds a new flag to ActuatorEffectivenessTiltrotorVTOL:
_preflight_check_running. We set it from ControlAllocator, and if true
we always add collective tilt to the actuator setpoint.
2025-02-18 13:03:45 +01:00
Balduin
122643af25
preflight check: fix range
2025-02-18 13:03:38 +01:00
Balduin
71afdb5680
preflight check: restore old nav_state only once
...
previously it would always change _user_mode_intention to
_prev_nav_state forever. now we change it only if we are in preflight
check mode to not interfere with anything else later.
2025-02-18 11:08:12 +01:00
Balduin
0253f9798e
preflight check: send tilt control always
...
even if we are not currently testing the tilt axis. then we send zero
tilt rather than nothing.
2025-02-18 11:08:06 +01:00
Balduin
ad42a5b2f9
preflight check: more self explanatory code
2025-02-17 17:46:39 +01:00
Balduin
761810884e
preflight check: always send tiltrotor controls
2025-02-17 17:24:21 +01:00
Balduin
2a779663f6
preflight check: tilt collective actuation
...
we "intercept" the tiltrotor_extra_controls message, which is read again
right after in ActuatorEffectivenessTiltrotorVTOL::updateSetpoint.
2025-02-17 11:40:41 +01:00
Balduin
7816fd14b7
preflight check: restore prev nav state
2025-02-14 13:37:31 +01:00
Balduin
64d18f0a64
preflight check: first working version
...
modifies torque setpoints directly via the matrix c.
2025-02-14 12:17:10 +01:00
Balduin
a3cca099a8
preflight check: set vehicle_control_mode flags
...
not sure if all of these are needed, but with all of them the allocator
runs, and with only flag_control_allocation_enabled it does not.
2025-02-14 10:59:42 +01:00
Balduin
01a65bfcf6
preflight check: base business logic
...
- currently triggered via param COM_DO_CS_CHECK. ultimately this will
be replaced by a mavlink cmd
- new VehicleStatus.nav_state, NAVIGATION_STATE_CS_PREFLIGHT_CHECK.
this is how commander tells ControlAllocator to conduct the check
- (todo) within ControlAllocator we overwrite torque setpoints to do
the check. additionally we can also control servos directly from
there, in a different mode if that is needed.
2025-02-14 09:45:53 +01:00
Bertug Dilman
ce64263ce7
publish validated airspeed topic ( #24302 )
...
* publish validated airspeed topic
* fix typo
2025-02-07 14:44:48 +01:00
mahimayoga
69d95a6664
sf45: separate sensor yaw variable into FRD and sensor frames for clarity.
...
Obstacle map is created in sensor frame, but scaling for vehicle orientation is done in vehicle FRD frame.
2025-02-07 13:28:17 +01:00
mahimayoga
093b379b6b
sf45/collision-prevention: replace repeated code with ObstacleMath library functions.
2025-02-07 13:28:17 +01:00
Pedro Roque
e7e76e2e21
Spacecraft build and bare control allocator ( #24221 )
2025-02-06 23:54:24 -05:00
Marco Hauswirth
de1ade8eb8
sensors/vehicle_air_data: only trigger the sensor fallback when the baro_fault flag switches from 0 -> 1
2025-02-06 23:47:32 -05:00
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 97cb933cff .
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