3524 Commits

Author SHA1 Message Date
Pernilla
d70eecc17d define M_PI if not defined in math.h 2025-08-05 20:27:05 -07:00
MDLZCOOL
bab6dc2ac6 fix(lib/perf): Fully reset mean and M2 in perf_counter 2025-07-28 22:28:38 -08:00
Matthias Grob
79b46e08a8 Rename manual_lockdown to kill for clarity 2025-07-28 17:07:08 +02:00
Matthias Grob
359cad3636 Add back original quadrotor X unit test cases from old multirotor mixer 2025-07-28 14:10:50 +02:00
Matthias Grob
88460db44a ControlAllocationSequentialDesaturation: improve unit test fixture in terms of parameter update and defaulting to no airmode 2025-07-28 14:10:50 +02:00
Matthias Grob
40e1e82cb0 ControlAllocationSequentialDesaturationTest: convert existing unit test cases to improved fixture 2025-07-28 14:10:50 +02:00
Matthias Grob
a80e89255c ControlAllocationSequentialDesaturation: adopt improved unit test fixture
This makes it much easier to go through allocation secnarios in one line with comprehensive numbers.
2025-07-28 14:10:50 +02:00
Matthias Grob
cd1bac0a55 ControlAllocationSequentialDesaturation: add unit tests 2025-07-28 14:10:50 +02:00
Matthias Grob
53efcbd2c2 control_allocation: Consistently replace with ActuatorVector alias for readability 2025-07-28 14:10:50 +02:00
Matthias Grob
6a3a0d136b ActuatorEffectiveness: add comments to EffectivenessUpdateReason
from information previously only available in the commit message.
2025-07-28 14:10:50 +02:00
Matthias Grob
37899269a8 control_allocator: fix PID dependency definition 2025-07-28 14:10:50 +02:00
Matthias Grob
ef6866cd08 ControlAllocationSequentialDesaturationTest: fix include instead of duplicating definitions 2025-07-28 14:10:50 +02:00
Matthias Grob
4b4cc2164c Revert "Remove inclusion of rotors in library to enable test (#24286)"
This reverts commit f7dadd9b89f3052735a12bd617755e78cf5305e2.
2025-07-28 14:10:50 +02:00
Matthias Grob
7fe78e184e Rename force_failsafe to termination for clarity 2025-07-25 13:01:25 -06:00
Sindre Meyer Hegre
3be0cb077c
Neural Control Mode (#24366)
* Add tflm to px4 with module

 - Add TensorFlow Lite Micro(TFLM) as a library in px4
 - Make a module that uses neural network inference for control, which uses TFLM for inference
 - Make board config files for PX4 with neural module

* Added neural flight mode

* Add posibility to read of inference times

* Fix comments from review:

- Switch ssh link to https link in submodule
- Remove mc_nn_control from startup

* Add tflm to px4 with module

 - Add TensorFlow Lite Micro(TFLM) as a library in px4
 - Make a module that uses neural network inference for control, which uses TFLM for inference
 - Make board config files for PX4 with neural module

* Added neural flight mode

* Add posibility to read of inference times

* Remove auto start

* Add logging from neural control module

* Fix automatic startup to only be when module is included

* Switch to flight mode registration

* Add docs

* Change min/max/coeff to actual parameters

* add figures to neural network docs

* Switch to e2e network

* Remove toolchain changes and replace with instructions in docs

* Get ready for merge after toolchain upgrade

* switch back to submodule

* Try to figure out cmake

* Get CI working with new toolchain

* Remove fork dependency

* Finalize PR

* fix toolchain inclusion

* Fix ctype_base.h include

* Cleanup includes for TFLM

* Remove redundant std

* Update FW module names in board files

* Fix docs

* Remove cstdlib copy

* Copy header from nuttx

* Prettier, markup, layout

* NeuralControl.msg - update uorb comments to current standard

* Add description to neural topic

* Fix typo

* Typo

* TFLM and Module utitlities

* Neural networks top level

* Update docs

* Add manual control

* Update docs

* Revert the manual control attempt

* Update docs/en/advanced/nn_module_utilities.md

* Add posibility to set trajectory setpoint with manual control

---------

Co-authored-by: Pedro Roque <padr@kth.se>
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
Co-authored-by: Ramon Roche <mrpollo@gmail.com>
2025-07-25 09:42:12 -08:00
Jacob Dahl
09ebd21e55 mixer: remove used flag stop_outputs
dshot: fix motor test on CANnode

Also includes fixes for the DShot driver since stop_outputs is removed. The esc info command has been removed because it doesn't work with AM32, can only be used via command line, and complicates the driver
2025-07-11 08:53:52 -06:00
Jacob Dahl
6a1cefd7a6 uavcan: esc: fix uavcan ESC control
This fixes a number of issues with uavcan ESC control.

- Motor Testing when using a CANnode as a PWM expander now works by allowing the FunctionMotors class to perform prearm control

- The esc.RawCommand message is now always published for configured uavcan ESC outputs. Previously prior to arming the message would be published empty, which causes certain ESCs to enter an error state.

- Useless and redundant code has been removed and small name changes have been applied.
2025-07-11 08:53:52 -06:00
Beat Küng
9ba2ac4e10 fix adsb: cast enum in printf
Build failure with clang:
fatal error: format specifies type 'int' but the argument has type
'TRAFFIC_STATE' [-Wformat]
2025-07-11 10:39:28 +02:00
chfriedrich98
d2d3d8a5fd lib: remove unused l1 library 2025-07-10 10:11:58 +02:00
chfriedrich98
f35b92a487 rover: replace RX_MAX_THR_YAW_R with a correction factor RO_YAW_RATE_CORR 2025-06-18 08:35:48 +02:00
chfriedrich98
eed966a1c6 rover: reduce speed based on course error 2025-06-18 08:35:48 +02:00
Jacob Dahl
339e0f9691
params: srcparser: don't strip newlines (#25058) 2025-06-17 12:04:33 -08:00
Matthias Grob
2237bfa9a9 smbus_sbs: switch to battery_info.serial_number 2025-06-17 09:05:22 +02:00
Silvan Fuhrer
a6863f0930
FW mode manager: open up / remove some arbitrary params constraints (#25036)
* performance model: remove arbitrary min/max parameter constraints

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

* FW mode manager: open up/remove unnecessary param @max constraints

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

---------

Signed-off-by: Silvan <silvan@auterion.com>
Co-authored-by: Ramon Roche <mrpollo@gmail.com>
2025-06-16 14:58:38 -08:00
QiTao Weng
75e4047f2a Fix ADSB heading angle obtained from driver by removing +pi. Adjusted downstream accordingly 2025-06-13 15:28:25 +02:00
Silvan Fuhrer
cff5ecfd88 ICE: allow throttle setpoint to be set to NAN to stop motor without disarming
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2025-06-02 16:50:30 +02:00
Silvan Fuhrer
83280dcfec TECS: protect against NAN in pitch integrator by limiting tas input to min tas
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2025-05-26 14:47:38 +02:00
mahima-yoga
817b0191e7 NPFG: add unit tests and add back feasible bearing check back 2025-05-26 14:47:38 +02:00
Silvan
0ea109ff5d perfromance model: add FW_AIRSPD_FLP_SC to reduce with flaps
Signed-off-by: Silvan <silvan@auterion.com>
2025-05-26 14:47:38 +02:00
Silvan
0276f66b18 TECS: harden interface for NAN altitude input
Signed-off-by: Silvan <silvan@auterion.com>
2025-05-26 14:47:38 +02:00
RomanBapst
779a55c6dc FW Position Controller rework
- split up old module into two, one handling setpoint generation, one control
- add lateral and longitudinal control setpoints topics that can also be
injected from companion computer
- add configuration topics that (optionally) configure the controller
with limits and momentary settings

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2025-05-26 14:47:38 +02:00
murata,katsutoshi
52f0ef927d
dataman_client: Combine type declarations and processing (#23593) 2025-05-24 13:24:13 -08:00
Alexander Lerach
134ee7b640 dds: clean up timesync 2025-05-23 11:30:55 +02:00
chfriedrich98
f13f9b2240 rover: update rtl time estimator 2025-05-07 17:42:07 +02:00
Marco Hauswirth
5842c991ec AirspeedSelector: add synthetic airspeed option
Synthetic airspeed is calculated based on the thrust setpoint
and the thrust<->airpseed model as configured in the parameters.
2025-05-02 13:37:18 +02:00
bresch
b5f011a31f cal: transpose rotation instead of computing inverse
This is equivalent for an orthonormal matrix
2025-04-29 10:26:51 +02:00
Matthias Grob
d514cb4903 mc_att_control: use StickYaw class for Stabilized
to make yawing including reset and drift handling consistent with
Altitude and Position mode.
2025-04-22 15:35:26 +02:00
Matthias Grob
174147208e Move StickYaw class into a globally available library 2025-04-22 15:35:26 +02:00
chfriedrich98
c2706f5406 rover: auto mode stopping conditions 2025-03-25 10:38:30 +01:00
Jukka Laitinen
f583406558 src/lib/parameters/parameters.cpp: Remove conversion of unaligned pointers
Parameter "void *val" passed to the functions in parameters.cpp are not always
4-byte aligned, so on some platforms direct casting to "int32_t *" or "float *"
leads to an unaligned exception. An example of such user is Logger, which directly packs
parameter values to character buffer.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2025-03-11 07:50:47 +01:00
chfriedrich98
0671e40f8e pure_pursuit: migrate params from .yaml to .c 2025-03-10 11:14:00 +01:00
chfriedrich98
d1b0be18b2 pure_pursuit: update library 2025-03-10 11:14:00 +01:00
Jukka Laitinen
fec240efba src/lib/airspeed/CMakeLists.txt: Link to "atmosphere" library
Fix a linking error of not finding "atmosphere::getDensityFromPressureAndTemp(float, float)"

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2025-03-10 09:16:48 +01:00
chfriedrich98
d1e4198864
rover_control: migrate params from .yaml to .c file (#24445)
* rover_control: migrate params from .yaml to .c file

* Update src/lib/rover_control/rovercontrol_params.c

---------

Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
2025-03-04 17:28:09 +01:00
Silvan Fuhrer
7cb6464cfb VehicleStatus.msg: remove VEHICLE_TYPE_UNKNOWN
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2025-03-04 12:15:01 +00:00
Julian Oes
d4509a6cd4
flashfs32: fix result handling (#24371)
We need to translate return values here, otherwise this complains being
unsuccessful when it was actually ok.
2025-02-28 16:21:09 -09:00
Sebastian Domoszlai
b5f37c9fa6
Simplify Battery-related Enum Naming (#24265)
* Simplify battery-related enum naming

* Fix mistakenly removed string in enum names

* Fix missing renamings

* Update outdated file

* msg: Increase battery_status version since the enum naming was changed

* Revert message version increase

---------

Co-authored-by: Matthias Grob <maetugr@gmail.com>
2025-02-28 11:42:40 -09:00
Tony Cake
ba31054992
Add RSSI in dBm support, plus LQ, to GHST protocol (#24351) 2025-02-28 00:53:32 -09:00
Marco Hauswirth
2169ea561b
PR: add optical flow arming check (#24375)
* add optical flow arming check

* removed deprecated mavlink_log_critical

* change SYS_HAS_NUM_OF description, keep max sensor at 1 since multiple instances are currently not support.

* restructure if/else blocks
2025-02-26 08:41:12 +01:00
Eric Katzfey
73dbecadf1
Qurt: changed the mutex for I2C for the Qurt platform from a single mutex to one for each bus. (#23531) 2025-02-19 10:59:45 -05:00