1839 Commits

Author SHA1 Message Date
Gautier Hattenberger c2fcb110b5 [indi] used proper quaternion 2nd order filtering (#3651)
Doxygen / build (push) Has been cancelled
The filtering of euler angles was not correct, even with the correction for yaw from #3624
2026-05-04 18:47:53 +02:00
Gautier Hattenberger 5dc6e55924 [guidance] fix fully actuated indi guidance (#3650)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
The projection matrix was wrong (using ZYX instead of YXZ).
2026-04-22 18:47:31 +02:00
Gautier Hattenberger a625c75e70 [fix] update EFF_MAT_STAB message error (#3633)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
abusing admin rules to fix master branch
2026-04-03 23:10:37 +02:00
NoahWe 846989b2d2 filt yaw difference and ZXY order for quadplane guidance (#3624)
* filt yaw difference and ZXY order for quadplane guidance

* small fix

* fix yaw filt guidance quadplane
2026-03-31 15:48:11 +02:00
Gautier Hattenberger 979c01cd7c [stabilization] set commands from indi actuators array (#3606)
Make it possible to set the command vector from the stabilization INDI controller, when STABILIZATION_INDI_COMMANDS array is defined. The benefit is a simpler configuration of the control_laws section of the airframe file when using INDI.
Be careful that with this, a "correct" failsafe_value is needed for the commands, since it is the value applied in KILL mode. Some special keywords (e.g. MOTOR_STOP) are added to help avoiding mistakes.

Backward compatible if STABILIZATION_INDI_COMMANDS is not defined.

- add example airframe
- add special names for command failsafe values:
  - MOTOR_STOP = MIN_PPRZ = -9600
  - MAX_PPRZ = 9600
  - MOTOR_IDLE = 0
2026-02-19 10:46:12 +01:00
jpgdubois 4400506292 feat: add ANDI stabilization controller (#3578)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
2026-02-06 22:02:54 +01:00
Gautier Hattenberger 37a86bb389 [indi] rewrite indi stabilization and guidance for modularity (#3565)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
This PR allows to redefine the outer-loop for stabilization and
guidance, and to specify the guidance model for something else than a
quarotor (but still not an hybrid).
Two use case are proposed:
- replace the PD control of the outer-loop (still used by default) by
  and Hinfinity controller
- parametrize the guidance for an hexa-copter with tilted motors,
  allowing to produce side force for lateral motion control.
2026-02-02 18:41:03 +01:00
Ewoud Smeur f5a643faf3 bebop2 airframe file tudelft (#3576)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
2026-01-09 10:47:10 +01:00
Gautier Hattenberger 4560320201 [stab] scale integrator value with control frequency (#3571)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
- gains should not depend on frequency
- tune values accordingly for Ranger VTOL
2025-12-19 22:54:57 +01:00
NoahWe e7c404b396 update yaw filt (#3555)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
2025-11-01 21:39:51 +01:00
Gautier Hattenberger 4ac6279aa9 Fix compilation tests (#3550)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
Docker update / build_docker_image (push) Has been cancelled
* [fix] fix some bugs

small errors from compilation tests

* Attempt to fix the detection of failing tests

Side effect: the file issues.md is not produced anymore, but still available in stdout, so needs a manual copy if needed
2025-10-20 16:57:24 +02:00
Gautier Hattenberger 41048101d0 [rover] improve support for ROVER firmware (#3530)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
- possibility to use basic PID with steering rover
- fix navigation
- add support for mission mode
- fix simulator (orientation was wrong, leading to opposite steering
  between sim and reality)
- add support of 2 wheels rover in simulation
- add and update config files
2025-09-30 08:54:06 +02:00
NoahWe 6e0ee3a67a Sync guidance indi hybrid and guidance indi hybrid quadplane/tailsitter filters (#3541) 2025-09-19 08:54:10 +02:00
Alejandro Rochas Fernández 4e7259a17f Add Bayesian Obstacle Grid Mapping with TFmini Lidar Support and Simulation (#3510)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
2025-08-07 23:17:19 +02:00
Gautier Hattenberger 27e59d9db5 [guided] support full ref update in guided mode (#3502)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
New message can set position, speed, acceleration and heading setpoint
for an accurate trajectory tracking.

Also fix the update of ref when h_ref is disabled.
2025-07-21 16:21:44 +02:00
Gautier Hattenberger 4b6c185516 [hybrid] add basic support for Heewing T1 Ranger VTOL (#3464)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
Docker update / build_docker_image (push) Has been cancelled
The Ranger T1 is a tilt-rotor hybrid plane. As a first basic approach,
two separated controls are used for hovering (INDI) and forward flight
(PID). The mixing is done by a dedicated module and the autopilot is
customized to support the specific modes.
A simple PID controller is added to the rotorcraft firmware as it is not
possible to directly reuse the one from fixedwing firmware.
In a future work, a full INDI version might be used, but this approach
can still serves as an example of customized autopilot.
A simulation model for JSBSim is also provided.
2025-06-24 15:02:36 +02:00
NoahWe f19834aaa7 [rotwing] Fly back to standby in fixed wing. Gih add setters for max bank, climb, and descend speed (#3452)
Doxygen / build (push) Has been cancelled
Issues due date / Add labels to issues (push) Has been cancelled
2025-04-29 13:00:28 +02:00
NoahWe 4aa83b108f Rotorcraft static ap add option to use failsafe throttle setting (#3453) 2025-04-29 12:59:11 +02:00
Gautier Hattenberger ca92171aec [autopilot] call the set_mode function at startup (#3425) 2025-02-03 11:07:18 +01:00
Gautier Hattenberger dfd8e93927 State interface input filter (#3409)
* [generator] generate unique ID and names table for modules
* [state] add accessors for the state origin
* [state] don't access directly to state origin, use getters
* [state] filter inputs with module ID
* [ahrs] convert AHRS modules to state input filter
- selection of ahrs with settings from each module
- init functions for each ahrs modules
- remove old chimu
* update unit test
* [ins] decoupled INS implementation
To allow multiple INS at the same time:
- remove weak functions from ins.c
- remove the INS_TYPE_H define
- use ABI message to trigger INS reset
* [state] protect for c++
2024-12-03 22:34:27 +01:00
Florian Sansou 6691770b72 Fix the use of INDI_ALLOCATION_PSEUDO_INVERSE (#3407)
Co-authored-by: Florian Sansou <florian.sansou@enac.fr>
2024-11-05 13:00:09 +01:00
Tomaso Maria Luigi De Ponti 67edd8ab68 Oneloop Controller updates (#3405) 2024-11-01 17:58:50 +01:00
Tomaso Maria Luigi De Ponti 655a496f7e [rotwing] Update state machine (#3397)
* first push

* starting to fix make modules

* Fixed test modules

* Update flight plan valkenburgh

* fix define
2024-10-30 16:47:21 +01:00
Gautier Hattenberger ade23ab09c [flight plan] add a max_speed attribute to fp instruction (#3387)
This is only for the rotorcraft firmware at the moment, and it is
replacing the explicit call to guidance_h_SetMaxSpeed to simplify the
flight plans.
2024-10-04 08:53:30 +02:00
Gautier Hattenberger cea5c644e5 [flight plan] add on_enter and on_exit functions for nav block (#3385)
The functions passed to the attributes 'on_enter' and 'on_exit' will be
called once every time the flight plan state machine enters or leaves a
block, even if the block change is requested by the operator or if it is
caused by an exception.
It allows to properly activate and then disable services related to a
specific block.
Another good side effect is that the block and stage index are now
private and can't be modified by external modules. Old variables
nav_block and nav_stage can still be used as read-only.

Based on the work from:
Baptiste Pollien, Christophe Garion, Gautier Hattenberger, Pierre Roux, Xavier Thirioux.
A Verified UAV Flight Plan Generator. 2023 IEEE/ACM 11th International Conference on Formal Methods in Software Engineering (FormaliSE),
May 2023, Melbourne, Australia. pp.130-140, 10.1109/FormaliSE58978.2023.00021
2024-10-04 08:52:57 +02:00
Christophe De Wagter d7c50a262b Fix Python tools - file name consistency - compile master without warnings - airframe fix (#3388) 2024-10-04 08:51:01 +02:00
Christophe De Wagter 4e98f10f67 Rotwing control update made compatible with master (#3374) 2024-10-03 13:55:33 +02:00
Christophe De Wagter 903b4897f8 Fix airframes in master (#3380)
* Nederdrone fixes

* fix automation
2024-10-02 09:59:07 +02:00
Tomaso Maria Luigi De Ponti 0bb47009b3 Updates of Oneloop Controller (#3381) 2024-10-01 15:28:18 +02:00
Christophe De Wagter 7da8daf6e2 [rotwing] Rename to make name consistent (#3366)
* Make naming consistent rotwing

* Fixes

* more files

* fix conf

* revert

* update

* double id's

* Missed a file

* missing renames

---------

Co-authored-by: Freek van Tienen <freek.v.tienen@gmail.com>
2024-09-27 16:43:02 +02:00
Tomaso Maria Luigi De Ponti ba6daccdc8 Generic RC_UP message for datalink RC (#3332) 2024-07-31 10:19:00 +02:00
Tomaso Maria Luigi De Ponti 10e20581b0 [telemetry] Change STAB_ATTITUDE and EFF_MAT messages (#3329)
* first push

* temp tracking of new pprz link branch

* update of pprzlink

* fix highspeed telem

* fix telem

* Add example guidance eff mat msg streaming

* track new pprzlink

* Lighter STAB ATTITUDE

* delete old msg

* fix bug

* removed warning

* Fix bug

* change conf to match new messages

* fixed indentation

* No need to stream u_cmd as it is already in COMMANDS

* track new pprzlink

* Move RC6CH to new pull request

* Remove ACTUATORS SATE

* Use different telemetry

* Small fix

* Track pprzlink master
2024-07-24 14:29:56 +02:00
Tomaso Maria Luigi De Ponti 6c8c6f118b Additional changes to use commands instead of actuator_pprz (#3330)
* first push

* Remove redundant logic
2024-07-22 15:56:31 +02:00
Christophe De Wagter 4e00e22993 WLS Debug (#3320)
* WLS Debug

WLS Debug

* track new develop branch

* WLS to use pointer of struct to allow multiple calls of WLS in the same control loop

* additional changes and bug fixes to wls struct pointer rework

* Track new pprzling branch with wls msg additions

* code clean up

* Implement new WLS in guidance and stabilization

* code clean up

* add wls mesg to telemetry. Fix stabilization wanring.

* track pprzlink

* Better casing

* Use WLS_N_U_MAX and WLS_N_V_MAX

* Register periodic telemetry of WLS only if WLS is used

* Track master pprzlink

* Shortened explanation of parameters

* track pprzlink master

---------

Co-authored-by: Tomaso Maria Luigi De Ponti <48210579+tmldeponti@users.noreply.github.com>
Co-authored-by: tomaso_de_ponti <tomasodp@gmail.com>
2024-07-17 21:04:34 +02:00
Tomaso Maria Luigi De Ponti ecb94ad478 ONELOOP controller updates (#3333) 2024-07-16 13:28:31 +02:00
Christophe De Wagter 36828c0560 Actuators in PPRZ values (#3316)
* Actuators in PPRZ values

* New messages

* Dual Actuator messages

* ACTUATORS_RAW for driver_val and ACTUATORS for pprz_val

* New PPRZLINK

---------

Co-authored-by: Freek van Tienen <freek.v.tienen@gmail.com>
2024-06-18 13:48:38 +02:00
Christophe De Wagter 7c035434ef Oneloop Controller Updates (#3261) 2024-06-18 11:24:07 +02:00
Christophe De Wagter 7967299dad Replace THRUST_X_EFF by G-matrix value + Max forward pitch in RotWing (#3301)
* Update rotwing

fix merge

use same pusher effectiveness in guidance INDI

Correct spaces

Apply suggested fix

* Rotwing default altitude 25kg

* sensible values for max lat accel

---------

Co-authored-by: Ewoud Smeur <e.j.j.smeur@tudelft.nl>
2024-06-18 11:15:26 +02:00
Gautier Hattenberger ccfc57ef15 [stabilization] fix reporting of attitude setpoint in hybrid mode (#3309)
also add stab message to flight recorder
2024-06-17 14:25:09 +02:00
Gautier Hattenberger 45c79f824a [autopilot] fix warning on mode changed after #3308 (#3317) 2024-06-16 15:27:37 +02:00
Christophe De Wagter 3d87525cd1 Fixes for master: prevent falling over on simulation start and fix 2nd order filter (#3312)
* prevent falling over on simulation start

* Small fix for new inflight filter tuning.

---------

Co-authored-by: Ewoud Smeur <e.j.j.smeur@tudelft.nl>
2024-06-15 22:39:40 +02:00
Gautier Hattenberger 7adcd00fd7 [autopilot] send AP status at every changes (#3308)
- works for all firmwares implementing the autopilot_send_mode function
- avoid to wait the next telemetry message to have the notification
2024-06-15 11:29:50 +02:00
NoahWe 2517b1721e Solve wing vibration of the 25kg rotating wing drone (#3311)
* configurable filter frequency rates
* adjust filter freq tested in CZ 70 deg skew

---------

Co-authored-by: Ewoud Smeur <e.j.j.smeur@tudelft.nl>
2024-06-14 16:43:42 +02:00
Ewoud Smeur 9782790d8a fix typo in define (#3306) 2024-06-14 15:12:55 +02:00
Christophe De Wagter 33b754bae0 Rotwing 25kg re-master (#3282)
* Rotwing 25kg

* Fix wrong feedback from wing

* fix typo

* Fix sim

* limit max pusher command

---------

Co-authored-by: Ewoud Smeur <e.j.j.smeur@tudelft.nl>
2024-06-13 16:39:55 +02:00
Gautier Hattenberger 167b1768e5 Fix collection errors from ci (#3296)
* [chibios] remove unecessary option that makes a warning on H7

see ChibiOS forum: http://forum.chibios.org/viewtopic.php?t=5830

* [guidance] fix hybrid guidance

after merging #3248

* [natnet] remove call to function that doesn't exist

issue were only on verbose mode

* [conf] remove bebop_flip aiframe file

The FLIP mode is not supported anymore, better remove this example.
If flip is really needed, it should be implemented as a custom mode in
generated autopilot.
2024-06-11 14:26:53 +02:00
Gautier Hattenberger 18fa11d99d [indi] fix thrust filtering after #3248 (#3297)
guidance indi thrust is broken when using specific force gain
2024-06-10 09:51:37 +02:00
Christophe De Wagter 308a698bf4 [tudelft] Rot Wing Updates V3 (#3278)
* max bank in deg

* takeoff no attitude msec timer

* Prepared elevator moment compensation fix

* [EHVB_rotwing fp] Updated takeoff stratgey with roll and pitch check and added standby_free to flightplan

* [fp EHVB] Takeoff 3 seconds on att 0,0

* increase filter freq and setting for max acc

* [rot_wing_eff_sched] Elevator 5 degrees higher

* [rot_wing] Decreased cutoff frequencies of filters

* [modules] Support dual ublox GPS modules

* [ekf2] Add failsafe remove yaw

* Reverted acceleration limits

* takeoff procedure update

* [flight_plan] Takeoff when hover motors are running

* scale elevator ctrl eff in transition

* [conf] Fix takeoff

* Higher pitch gains

* Fix conf

* Add extra throttle for spinup

* Update calibration

* max_bank in Radians only except in xml/gcs with auto-conversion

* cleanup

* Use flightplan variables instead...

* fix test

* revert debugging action

* cleanup unused

* cleanup more

* Fix compile bug

* [pfc] Fix actuators

* Add follow tests

* reduce pitch weight in forward flight

* correctly set cmd thrust in INDI

* fix takeoff unequal roll effectiveness and not in_flight

* Fix heading in approach

* fix double define and roll scaling setting

* settings names and roll scaling in right settings

* moving simulator stuff

* [flight_plan] Update angel for takeoff

* Update conf

* Conf update

* [conf] Update checks

* land in approach

* Fix flightplan

* Update sw/ground_segment/python/moving_base/moving_base.py

* input params for moving base sim

* no elevator compensation

---------

Co-authored-by: Ewoud Smeur <e.j.j.smeur@tudelft.nl>
Co-authored-by: Dennis van Wijngaarden <32736330+Dennis-Wijngaarden@users.noreply.github.com>
Co-authored-by: Freek van Tienen <freek.v.tienen@gmail.com>
2024-06-05 14:58:07 +02:00
Christophe De Wagter 4c97648080 Fix problems with master after stabilization and chibi merges (#3280)
Co-authored-by: Freek van Tienen <freek.v.tienen@gmail.com>
2024-05-30 09:25:58 +02:00
Dennis-Wijngaarden d748af1afb Rotwing guidance bank fix (#3271)
* max bank in deg

* Fix allocation switching problem

* [rot_wing_v3] Updated max bank in all airframes

* Update sw/airborne/modules/checks/preflight_checks.c

Co-authored-by: Gautier Hattenberger <gautier.hattenberger@enac.fr>

* use unit and alt_unit for conversions instead

* remove needless conversion

* Also fix normal INDI to fit the code

---------

Co-authored-by: Ewoud Smeur <e.j.j.smeur@tudelft.nl>
Co-authored-by: Christophe De Wagter <dewagter@gmail.com>
Co-authored-by: Gautier Hattenberger <gautier.hattenberger@enac.fr>
2024-05-23 21:55:24 +02:00