Commit Graph

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 f7dadd9b89.
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