1438 Commits

Author SHA1 Message Date
Freek van Tienen 9341cf0b12 [pfc] Add ground checklists (#3276) 2024-05-24 15:32:53 +02:00
Freek van Tienen 58caa662cd [modules] Support dual ublox GPS modules (#3267)
* [modules] Support dual ublox GPS modules

* Fix UCenter

* Fix make test_modules

* Fix: tell ins_ekf2 when no YAW is available

---------

Co-authored-by: Christophe De Wagter <dewagter@gmail.com>
2024-05-24 09:55:16 +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
Dennis-Wijngaarden b87ab09536 [RotWing] FREE_STATE mode and pusher rate limiter (#3268)
* [rotwing_state] Added free configuration to be requested for rotwing drone

* [rot_wing_eff_sched] Added rate limiter on pusher prop

* [rot_wing_state] fix nav_max_goto_speed setting from state machine

* [rotwing_state] move rotwing free state processor to NAV if statement

* [rot_wing_state] Updated free state in rotwing_state

* [fp] Added free state standby waypoint to rotwing EHVB fp

* [rotwing_state] Removed non used speed_to_target variable
2024-05-23 13:37:16 +02:00
Christophe De Wagter b29b94d811 [module] parachute (#3273) 2024-05-23 11:15:42 +02:00
Gautier Hattenberger ce7fe4c23f [control] rework the stabilization for rotorcraft (#3248)
Introducing several changes to the control stask for the stabilization:
- new structures: stabilization, stab (att and/or rates) and thrust (vector)
- more functional approach: stabilization receives the stab and thrust
  setpoints from guidance and fill command vector at the end
- modes and sub-modes are redefined (split stab and guidance modes),
  some AP modes are removed (FLIP and MODULE)
- RC read functions are removed and replaced by ABI bindings, one for
  each part (AP, stab, guidance_h, guidance_v) with dedicated functions
- transition ratio (float in [0-1]) replace transition_percentage (int)
- the AP_MODULE mode is replaced by generated autopilot
- the ABI hack for guidance indi is not needed anymore
- AP generator supports a new 'store' attribute to use return values of
  functions
- cleaning of the stabilization API (for setter functions)
2024-05-21 17:01:38 +02:00
Christophe De Wagter f0607badaf Update cv_opencvdemo.xml (#3272) 2024-05-21 15:21:12 +02:00
Dennis-Wijngaarden 893a65f17e [guidance_indi_hybrid] Added airspeed filtering with separate filter values for guidance (#3260)
* [guidance_indi_hybrid] Added secondary airspeed filtering in guidance

* Rename for clarity: guidance_indi hybrid can have a separate filter

---------

Co-authored-by: Christophe De Wagter <dewagter@gmail.com>
2024-04-17 17:06:53 +02:00
Tomaso Maria Luigi De Ponti 50694ba217 Use Commands instead of actuator_pprz (#3265)
* Add actuator type attribute to command

* Implemented new command based counting of the atuators in the oneloop controller

* Added group attribute to dtd file. Initialize as empty subgroup count of commands. Avoid unnecessary array to list conversion.

* Generate list of names from defined commands

* Use the defined commands number and  name in NPS

* Update sw/tools/generators/gen_airframe.ml

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

* Added logic to remove redundant code

---------

Co-authored-by: Gautier Hattenberger <gautier.hattenberger@enac.fr>
2024-04-16 23:06:23 +02:00
Fabien-B 15d8a63956 Bidirectionnal DShot for H7 (#3253) 2024-04-10 00:44:47 +02:00
Tomaso Maria Luigi De Ponti afa93784ed [modules] Rotating wing better ADC sensor integration (#3251)
* Make adc sensor mappable from the airframe. Better interface for adc in the rotwing state.

* Added parameters to v3b airframe

* Addressed the comments

* Removed external variable
2024-04-09 11:25:44 +02:00
Ewoud Smeur 69f2248a32 INDI restructuring (#3256) 2024-04-04 10:55:41 +02:00
Tomaso Maria Luigi De Ponti 6667d5091d Slight Changes to INS EXT POSE and INS EKF2 (#3233) 2024-04-03 15:02:25 +02:00
Ewoud Smeur 3bedf9576d Use altitude waypoints for EKF2 2024-03-25 11:20:36 +01:00
Fabien-B ae5f47a518 Add vl53l5cx driver (#3240)
Based on St ULD
2024-02-29 10:46:01 +01:00
spacewolfXfr 6614729042 Gvf for rotorcrafts (#3197)
* Core GVF changes
* Update GVF module conf file for rotorcrafts
* Integration of acceleration in guidance rotorcraft firmware
* Update command chain in guidance for ACCEL command integration
* [guidance] select guidance sp mode with enum instead of bitmask
* [guidance] reset ref if input type has changed

---------

Co-authored-by: Mael FEURGARD <mael.feurgard@laas.fr>
Co-authored-by: Gautier Hattenberger <gautier.hattenberger@enac.fr>
2023-12-19 15:04:30 +01:00
Christophe De Wagter 94c79d42ca Cleanup airframes: make test_all_confs (#3217) 2023-12-18 21:51:01 +01:00
Christophe De Wagter 5fd7d56630 [pfc] Actuator motion pre-flight-check (#3202)
* PFC for actuator deflections

* [checks] Preflight check actuators

[checks] PFC actuators

merge-error

* Fixes for other airframes

* [pfc] Fix better debug information for actuator checks

* [modules] Fix warnings in test build

* Update conf/modules/imu_mpu9250_i2c.xml

* Update conf/modules/imu_mpu9250_spi.xml

* [uavcan] Fix possible misconfiguration and overflow

---------

Co-authored-by: Freek van Tienen <freek.v.tienen@gmail.com>
2023-12-18 15:47:40 +01:00
Christophe De Wagter a07d674c19 Fix compile warnings in ``make test`` (#3216)
* Silent compile warnings in tests

* silent warnings in conf_test

* fix defines: if OLD -> warn and convert. If new, then use. If no old and no new, use default.
2023-12-18 12:34:58 +01:00
Christophe De Wagter ab18f2a6f3 [modules] Add offset and scaling to UAVCAN airspeed sensor (#3212)
Updated airspeed and servo endpoints

Airspeed debugging

Co-authored-by: Freek van Tienen <freek.v.tienen@gmail.com>
2023-12-18 10:22:50 +01:00
Fabien-B f7a981a0d0 Support for TawakiV2 (STM32H7) (#3199)
* tawakiV2 support.
* clean and update linker scripts
* update ram configuration
* update chibios
* update airframe
2023-12-14 11:19:27 +01:00
Christophe De Wagter 250250d04c Set wing rotation via rot_wing_state (#3177)
* Rotating wing controller moved to rotating wing state

extra airframe

* Update _IDX and rebase

* Requested changes from PR

* Code style

* xml fix

* Update sw/airborne/modules/ctrl/eff_scheduling_rot_wing.c
2023-12-13 14:23:52 +01:00
Christophe De Wagter a8f1c063a6 Rotwing State Update: no hardcoded defines in flightplan (#3201) 2023-12-13 13:22:07 +01:00
Freek van Tienen 864cfba4bd [modules] UAVCAN range sensor and cleanup (#3198)
* [modules] Cleanup airspeed uavcan

* [modules] Add UAVCAN range sensor
2023-12-11 20:39:47 +01:00
Christophe De Wagter 0b8cc6b5f2 Control camera's over MAVLink (#3178)
Allow to configure the MAVLINK autopilot type to drive e.g. DJI camera's but do not change the default behaviour
2023-12-08 10:49:02 +01:00
Freek van Tienen 12c65241ab [checks] Add IMU heater preflight check and fix minor bugs (#3193) 2023-12-04 09:10:48 +01:00
Freek van Tienen 8b60965be5 [imu] Fix Invensense V3 driver temeperature and disable AFSR (#3192) 2023-12-04 09:09:23 +01:00
Gautier Hattenberger 68ddea1e3f [scheduling] harmonize efficiency scheduling modules (#3182)
- harmonize name
- make a 'generic' module with basic linear scheduling
- old ctrl_effectiveness_scheduling was very specific to cyfoam, so
  renamed
- add falcon scheduler, related airframe will come later
2023-11-25 22:16:03 +01:00
Freek van Tienen 7b54c09acc [checks] Add preflight checks (#2951)
---------

Co-authored-by: Christophe De Wagter <dewagter@gmail.com>
Co-authored-by: Gautier Hattenberger <gautier.hattenberger@enac.fr>
2023-11-15 22:54:38 +01:00
Christophe De Wagter 9634e5615e nav_transition_automation (#3172)
* nav_transition_automation

* new filtering update

* fix compile

* Update conf/airframes/tudelft/rot_wing_25kg.xml

* Update conf/airframes/tudelft/rot_wing_25kg.xml

* filtering shorter and cleaner notation

* Typo

* docs

* freq from module

* Update sw/airborne/modules/rot_wing_drone/rot_wing_automation.c
2023-11-15 09:20:18 +01:00
Alessandro Mancinelli 5aff1f7894 Remove the dependencies of 'nav_hybrid' from 'guidance_indi_hybrid'. (#3160)
* remove nav_hybrid dependency from guidance_indi_hybrid

* removed NAV_MAX_SPEED definition from the testing airframe

* removed dependency from max bank angle of guidance

---------

Co-authored-by: Christophe De Wagter <dewagter@gmail.com>
2023-11-13 14:24:21 +01:00
Christophe De Wagter 0ec27e76cf Rotating wing state machine (#3169)
* Rotating wing state machine
* state now drives the wing rotation
* module does not run stand-alone
* Update conf/modules/rotwing_state.xml

Co-authored-by: Dennis van Wijngaarden <D.C.vanWijngaarden@tudelft.nl>
Co-authored-by: Gautier Hattenberger <gautier.hattenberger@enac.fr>
2023-11-11 15:51:41 +01:00
Christophe De Wagter 8d40909aad [modules] wing-rotation controller with servo (#3143)
* [modules] wing-rotation controller with servo
2023-11-09 15:10:27 +01:00
Tomaso Maria Luigi De Ponti cc071e1ca7 Oneloop Controller Pull Request (#3150) 2023-11-07 14:16:37 +01:00
Gautier Hattenberger 41451d5422 [sim] moving the old ocaml simulator to NPS (#3167)
- the exact same basic model is now a NPS FDM
- sim target still woks, it is just an alias to NPS with the proper FDM
- the old ocaml files are removed
- AHRS and INS are bypassed, since the accelerations are not well calculated by the model
2023-11-07 10:21:12 +01:00
Christophe De Wagter 140e359b21 Fix nav hybrid speed (#3165)
* fix incomplete rename

* add nav_hybrid to test conf for next time
2023-11-06 14:52:19 +01:00
Christophe De Wagter 54d2a2b681 hybrid quadplanes and tailsitters explicit (#3161) 2023-11-06 10:49:20 +01:00
Gautier Hattenberger 4d88bb9038 [nav] use a low speed for goto with hybrid (#3148)
* [nav] use a low speed for goto with hybrid

* [nav] change name and add documentation

* [nav] fix names in nav_hybrid
2023-11-06 10:00:13 +01:00
Christophe De Wagter c7511f54fe Updated ctrl_eff_sched_rot_wing (#3158) 2023-11-04 20:14:13 +01:00
Alfredo González Calvin 26d7c9055e Support for rovers and third order Bézier splines in GVF parametric (#3145) 2023-11-03 21:30:53 +01:00
Gautier Hattenberger 4ae40567ed [hitl] rewrite support for hardware in the loop simulation (#3146)
- old way (based on ins_vectornav) is not supported anymore
- directly send sensor data and receive commands with a dedicated link
- examples with USB link for better results
- update sphinx documentation
- compilation in a single build
2023-10-31 14:48:55 +01:00
Christophe De Wagter 1229e0489a [modules] EKF Airspeed and Wind (#3078)
* [modules] EKF Airspeed and Wind

* Test EKF_AW

* Also compile for non-rot-wing

* fix RPM in EKF_AW

* rpm fix

* Remove double debug messages

* follow master spacing

* Fix code style

* rotwing_controller renamed
2023-10-19 16:34:48 +02:00
Freek van Tienen 127409a14d [imu] Add fast logging 2023-10-17 11:27:31 +02:00
Christophe De Wagter 673beb5e6e [fix] Optical-Flow: configures not configuring, possible FAST9 segfault, several parameters not active in OF (#3140) 2023-10-11 11:35:42 +02:00
Christophe De Wagter 4df13209e5 [opticalflow] bebop2 with dual optical flow (#3136)
* Squash on master
* fix bebeop2_flow
* Divergence is more noisy than previous time... added a low-pass filter, and allow for a higher threshold...
* fixed the sim, removed warnings, removed double airframe
* cleanup airframe, remove all warnings, allow placing camera parameters in sections
* PPRZLINK
* Silent warnings and compile errors
* reintegrated pprzlink
---------
Co-authored-by: guidoAI <guido.de.croon@gmail.com>
2023-10-09 08:35:07 +02:00
Christophe De Wagter cb97031d47 [airframes] RW25kg (#3133)
* [airframe] RW25kg
2023-10-09 08:08:32 +02:00
Christophe De Wagter 5af84a4851 [ctrl] Morphing quad-plane control eff (#3124) 2023-10-06 14:06:04 +02:00
Christophe De Wagter 5b254269fc UAVCAN telemetry (#3129)
* UAVCAN telemetry

* [modules] Actuator feedback rewrite

---------

Co-authored-by: Freek van Tienen <freek.v.tienen@gmail.com>
2023-10-04 16:29:40 +02:00
Christophe De Wagter db4c67d64a [fix] cleanup make all conf airframes (#3127)
* cleanup all conf airframes

* docs update
2023-10-04 08:21:19 +02:00
Gautier Hattenberger 01ac335eb7 [wls] make WLS lib, add support for guidance_indi_hybrid (#3115)
* [wls] make WLS lib, add support for guidance_indi_hybrid

* [wls] update test program

* [wls] restore static matrix size for WLS

* [wls] update test prog

* [indi] ABI thrust message to 3D vector (#3116)

* [indi] ABI thrust message to 3D vector

Common WLS for innerloop and outerloop

Co-authored-by: Christophe De Wagter <dewagter@gmail.com>

* Bound defaults to min in case of NaN

---------

Co-authored-by: Christophe De Wagter <dewagter@gmail.com>

* [guidance_indi] lift effectiveness and set stabilization limits in WEAK (#3117)

* do not allow code to run with insufficient matrix sizes

* Prefer not to roll when able.

* [wls] only check size if WLS is used

---------

Co-authored-by: Christophe De Wagter <dewagter@gmail.com>
Co-authored-by: Ewoud Smeur <e.j.j.smeur@tudelft.nl>
2023-10-01 23:15:36 +02:00