Commit Graph

49725 Commits

Author SHA1 Message Date
Balduin 5b07e0aa2f refactor(control_allocator): remove different timeouts again
in the name of simplicity, have one hardcoded timeout. Options to
address actuators that need more time:

 - repeatedly send the command from the GS
 - use another param in the {MAV/VEHICLE}_CMD to specify the duration,
   expose also in commander interface, take default if not given
2026-05-06 18:34:00 +02:00
Balduin 44e87f54b6 style(control_allocator): add comment explaining technical debt 2026-05-06 18:31:33 +02:00
Balduin 3494754e5d feat(commander): add actuator_group_test command to test actuators
- control surfaces default to +1, thrust to +/-0.1 if no argument given
   or parsing fails
2026-05-06 09:49:19 +02:00
Balduin 84fb8fab92 feat(control_alloctor): Add actuator group preflight check
The current preflight check works by sending individual actuator
commands over mavlink. This can only be done sequentially, so the
surfaces do not move in a coordinated way, instilling little confidence.

To alleviate, this adds a control surface preflight check which causes
the allocator to command torque in the given direction, so the control
surfaces move as they would in flight.

Triggered by `{MAV,VEHICLE}_CMD_ACTUATOR_GROUP_TEST`. Only runs when
pre-armed (control surfaces, tilts) or armed (thrust).
2026-05-06 09:49:11 +02:00
Balduin 5facea7b39 feat(msg): add VEHICLE_CMD_ACTUATOR_GROUP_TEST for actuator group testing
matching
 - https://github.com/mavlink/mavlink/pull/2224
 - https://github.com/mavlink/mavlink/pull/2476
2026-05-05 11:36:29 +02:00
Balduin 62c07a876a feat(control_allocator): allow overriding tiltrotor collective tilt
- Expose overrideCollectiveTilt in ActuatorEffectiveness, empty base, only overridden for Tiltrotor
 - Allow giving collective tilt that is used in updateSetpoint in place
   of command from tiltrotor_extra_controls
 - Needs to be called with do_override = false to clear override
2026-05-05 11:35:17 +02:00
PX4BuildBot 715837cd5a docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-05-04 15:08:24 +00:00
Matthias Grob 10476200a4 fix(commander): Allow arming via RC in autonomous modes
There's a check to disallow arming in modes that are not suite for takeoff. The allowed autonmous ones are:
Mission - desired
Loiter - does not make sense but needs to be kept for **** MAVLink MAVSDK workflow of first arming then switching mode
Offboard - acceptable advanced case even for RC
Takeoff - desired
VTOL Takeoff - desired
2026-05-04 16:55:48 +02:00
Matthias Grob 0c0be00046 fix(commander): Remove parameter COM_DISARM_MAN 2026-05-04 16:55:48 +02:00
Matthias Grob 66af778f7f refactor(modeCheck): inline checkArmingRequirement() function 2026-05-04 16:55:48 +02:00
bresch 2b97e2269b feat(mag_cal): disable internal mag before performing calibration
This avoids sending warning messages and failing the calibration for a
mag that we anyway disable at the end.
2026-05-04 16:50:11 +02:00
bresch e7e359a09d feat(mag_cal): print debug-level failures if sensor is disabled
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2026-05-04 16:50:11 +02:00
PX4BuildBot 22a135d112 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-05-04 12:37:11 +00:00
Stolniceanu Iustin f1f0b14748 feat(drivers/imu): add Analog Devices ADIS1650x IMU Driver (#27240)
drivers/imu: add Analog Devices ADIS1650x IMU driver

Adds support for the ADIS16500/ADIS16501/ADIS16505/ADIS16507 family.
2026-05-04 08:29:45 -04:00
PX4BuildBot 307f707fad docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-05-04 02:43:47 +00:00
Jacob Dahl 6f6ead5661 fix(flight_mode_manager): fix terrain following position setpoint (#26975)
* fix(flight_mode_manager): fix terrain following position setpoint

In MPC_ALT_MODE=1 terrain following, the smoothing block was
overwriting the parent class's terrain-adjusted position setpoint.
Unify terrain hold and terrain following into a single terrain_position
flag that syncs the smoothing block to the parent's position, preventing
divergence and simplifying transition handling.

* refactor(flight_mode_manager): lift terrain-driven Z flag into base class

FlightTaskManualAltitudeSmoothVel re-derived the parent's terrain gate
in _setOutputState() to decide whether to keep the parent's position
setpoint or overwrite it with the smoothing block. Two problems with
that:

1. The condition was duplicated verbatim from the parent's gate in
   _updateAltitudeLock(), so any future change there would silently
   break the child.

2. The parent also invokes _terrainFollowing() from the min-altitude
   safety branch (MPC_ALT_MODE != 1 && !_terrain_hold but below
   hagl_min while braking). The child's open-coded condition did not
   cover that case, so the smoothing block still overwrote a valid
   terrain-adjusted setpoint there.

Move ownership of the decision into the parent: _terrainFollowing()
sets _z_setpoint_from_terrain iff it produced a finite setpoint, and
_updateAltitudeLock() resets the flag at the top of each iteration.
The child now reads the flag instead of re-deriving the condition,
which also fixes the min-altitude safety branch above.

_z_setpoint_from_terrain is named to stay semantically distinct from
_terrain_hold (an MPC_ALT_MODE=2 sub-state that gates the terrain
following logic).
2026-05-04 14:36:14 +12:00
PX4BuildBot 480c4dd33e docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-05-03 21:55:15 +00:00
Hamish Willee 801362b6f5 fix(mavlink): Remove legacy mavlink message requestors (#27252) 2026-05-04 09:49:03 +12:00
G. Amponis ef1853eec9 gimbal: handle NaN pitch/yaw in DO_GIMBAL_MANAGER_PITCHYAW (#27206)
NaN signals "unset" per the MAVLink spec. Without a guard,
math::radians(NaN) propagates through the Eulerf-to-Quatf conversion
and produces q=[nan,nan,nan,nan], freezing the gimbal. Substitute 0
for any non-finite axis with PX4_ISFINITE, matching the manual-control
pattern at input_mavlink.cpp:951.

Closes #26640.
2026-05-04 09:45:54 +12:00
PX4BuildBot f63b0d6b6f docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-05-01 19:36:01 +00:00
msl-dev 0f2b666813 fix(mavlink): preserve OpenDroneID system timestamp (#27244) 2026-05-01 22:23:52 +03:00
PX4BuildBot bda25bfcc1 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-05-01 07:36:37 +00:00
Vuk-SFL 0ffc7f0f8a feat(zenoh): add support for configuring zenoh publisher options (#27157)
* feat(zenoh): add support for configuring zenoh publisher options

Add zenoh parameters for common default options for all publishers. Options exposed are reliability, priority, congestion control and is_express
Allow override of common publisher options for specific publisher through its config: config fille supports additional row where multiple options can be specified with csv string
Expose config options through zenoh config add publisher.
Allow options per publisher to be specified for default config in zenoh/dds_topics.yaml

* fix(zenoh): Put individual zenoh publisher config override feature under config option ZENOH_PUB_OPTION_OVERRIDE

Enabled ZENOH_PUB_OPTION_OVERRIDE on targets with enough flash memory

* fix(zenoh): added publication options for default publications in dds_topics.yaml

Rare messages that are important to arive: set as reliable, enabled express and with blocking congesiton control
Fast vehcile position messages that can impact control decision making: set as best enabled express and with drop congestion control

* docs(zenoh) : added documentation for zenoh publisher options usage

* docs(docs): Link to params

---------

Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2026-05-01 09:29:17 +02:00
Matthias Grob eb06c7b7a9 refactor(commander): remove unused parameter COM_TAKEOFF_ACT (#26808)
Build all targets / Scan for Board Targets (push) Has been cancelled
Checks / Gate Checks [check_format] (push) Has been cancelled
Checks / Gate Checks [check_newlines] (push) Has been cancelled
Checks / Gate Checks [module_documentation] (push) Has been cancelled
Checks / Gate Checks [shellcheck_all] (push) Has been cancelled
Checks / Gate Checks [validate_module_configs] (push) Has been cancelled
Checks / Unit Tests (push) Has been cancelled
MacOS build / build (push) Has been cancelled
Ubuntu environment build / Build and Test (ubuntu:22.04) (push) Has been cancelled
Ubuntu environment build / Build and Test (ubuntu:24.04) (push) Has been cancelled
Container build / Set Tags and Variables (push) Has been cancelled
Docs - Orchestrator / T1: Detect Changes (push) Has been cancelled
Docs - Orchestrator / T2: Metadata Sync (push) Has been cancelled
Docs - Crowdin - Upload Guide sources (en) / upload-to-crowdin (push) Has been cancelled
Failsafe Simulator Build / build (failsafe_web) (push) Has been cancelled
FLASH usage analysis / Analyzing px4_fmu-v5x (push) Has been cancelled
FLASH usage analysis / Analyzing px4_fmu-v6x (push) Has been cancelled
ITCM check / Checking nxp_mr-tropic (push) Has been cancelled
ITCM check / Checking nxp_tropic-community (push) Has been cancelled
ITCM check / Checking px4_fmu-v5x (push) Has been cancelled
ITCM check / Checking px4_fmu-v6xrt (push) Has been cancelled
MAVROS Tests / MAVROS Mission (push) Has been cancelled
MAVROS Tests / MAVROS Offboard (push) Has been cancelled
Python CI Checks / build (push) Has been cancelled
ROS Integration Tests / build (push) Has been cancelled
ROS Translation Node Tests / Build and test [humble] (push) Has been cancelled
ROS Translation Node Tests / Build and test [jazzy] (push) Has been cancelled
SITL Tests / Testing PX4 iris (push) Has been cancelled
Sync ROS 2 messages to px4_msgs / sync_to_px4_msgs (push) Has been cancelled
Build all targets / Seed [${{ matrix.chip_family }}] (push) Has been cancelled
Build all targets / Build [${{ matrix.runner }}][${{ matrix.group }}] (push) Has been cancelled
Build all targets / Upload Artifacts (push) Has been cancelled
Container build / Build Container (amd64) (push) Has been cancelled
Container build / Build Container (arm64) (push) Has been cancelled
Container build / Deploy To Registry (push) Has been cancelled
Docs - Orchestrator / T2: PR Metadata (push) Has been cancelled
Docs - Orchestrator / T2: Link Check (push) Has been cancelled
Docs - Orchestrator / T3: Build Site (push) Has been cancelled
Docs - Orchestrator / T4: Deploy (push) Has been cancelled
FLASH usage analysis / Publish Results (push) Has been cancelled
Static Analysis / Clang-Tidy (push) Has been cancelled
2026-05-01 00:57:49 +02:00
Hamish Willee f101bf4adb docs(docs): Orbit status msg updates (#27256) 2026-05-01 08:54:38 +10:00
PX4BuildBot 8b8eded752 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-30 22:46:06 +00:00
Matthias Grob 5638ac53c7 refactor(commander): Remove COM_LKDOWN_TKO (#27262)
hardcoding its default 3 second time window.
2026-05-01 00:37:55 +02:00
PX4BuildBot b8194973ff docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-30 22:14:30 +00:00
Matthias Grob a061b8665b fix(commander): Remove COM_ARM_SDCARD (#27259)
hardcoding the default warning and respecting boards without SD card with a define.
2026-04-30 23:49:47 +02:00
PX4BuildBot 1830c27d39 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-30 21:49:29 +00:00
Matthias Grob ffef31fb06 fix(commander): Remove COM_IMB_PROP_ACT (#27260)
and hardcode the default warning. The feature can still be disabled by setting FD_IMB_PROP_THR to zero.
2026-04-30 23:40:55 +02:00
Matthias Grob 5e86be131c fix(commander): Remove COM_OBC_LOSS_T (#27261)
hardcoding the default 5 second timeout.
2026-04-30 23:40:44 +02:00
PX4BuildBot 800ebfed5c docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-30 08:50:07 +00:00
Balduin b5fcd649eb feat(navigator): add logging to surface reason for mission invalidity (#27254) 2026-04-30 10:30:45 +02:00
PX4BuildBot 2f60b0f2ba docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-30 08:26:31 +00:00
Hamish Willee 2857ad59dc fix(battery): Add invalid sentinel for BatteryStatus remaining_capacity_wh and nominal_voltage (#27236) 2026-04-30 18:19:12 +10:00
PX4BuildBot e161eb5ae7 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-30 07:56:59 +00:00
Hamish Willee 0814316774 docs(infrastructure): Update dependencies (#27183)
* docs(infrastructure): Update dependencies

* docs(docs): yarn.lockfile needed by toolchain
2026-04-30 17:50:10 +10:00
PX4BuildBot 80b27d323e docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-30 06:54:07 +00:00
Dorten8 3cefb4aee2 docs(docs): Fix typo in Python package name in user guide (#27207) 2026-04-30 16:47:18 +10:00
PX4BuildBot 17bb8f879d docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-30 04:47:29 +00:00
Julian Oes d00372cc04 fix(logger): add MiB unit to SDLOG_MAX_SIZE (#27245)
This required to add MiB as a unit to the parsers.

While at it, I decided to clean up the MB log output and be correct
using MiB instead.
2026-04-30 16:40:08 +12:00
PX4BuildBot cceaab7375 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-29 23:27:58 +00:00
Hamish Willee 4138ff80ab docs(update): Add OEM section (#27249) 2026-04-30 09:20:48 +10:00
Julian Oes e8d40fb843 fix(Tools): exclude PX4-OpticalFlow submodule from format checks (#27246)
It's an external submodule we don't own, same treatment as the other
third-party libs already pruned in this list.
2026-04-30 10:21:35 +12:00
PX4BuildBot 450cd50e06 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-29 20:36:28 +00:00
mahima-yoga c4c68df4e4 chore(tecs): remove TECS airspeed filter parameters
These parameters are never tuned by the end-user, so we can use constants instead and immediately set the kalman gain at compile time
2026-04-29 22:28:16 +02:00
PX4BuildBot 8980657425 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-29 15:25:26 +00:00
Claudio Chies 76ce06c931 feat(sih): Add thrust model for hexacopter simulation (#26587)
* Quadratic thrust for SIH hexarotor (#67)

* sih: add thrust model hexacopter model

* fix: add missing line break

* sihsim_hey airframe: add THR_MDL_FAC

to accomodate for simulated quadratic motor thrust.

* fix(sih):  fix quadratic model in simulation

The square was done in place and the low pass filter also effected the same variable, the result was that for small numbers the low pass filter gain was not enouhg with respect to the decay caused by squaring numbers close to zero. As a result even if you where trying to send 1 xcommands in simulation it would stoip around 0.008. Now the square is done in a different variable, the problem is not there anymore.

Tested in simulation
---------

Signed-off-by: Gennaro Guidone <gennaroguido2002@gmail.com>
Co-authored-by: Matthias Grob <maetugr@gmail.com>
Co-authored-by: Gennaro Guidone <gennaroguido2002@gmail.com>
2026-04-29 09:18:05 -06:00
PX4BuildBot b93978fbf9 docs: auto-sync metadata [skip ci]
Co-Authored-By: PX4 BuildBot <bot@px4.io>
2026-04-29 02:37:03 +00:00