Commit Graph

3047 Commits

Author SHA1 Message Date
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 515cb9167f [airframe] Airframe update, missing default telemetry & fix reading angle 2023-10-16 15:54:57 +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 650509808d [fix] errors from last 10 PR (#3138) 2023-10-09 08:07:36 +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
Gautier Hattenberger 6948aef012 [dc] add pprzlink digital cam module and factorize modules (#3111)
- new digital_cam_pprzlink module
- factorize module with digital_cam_common
- rename digital_cam to digital_cam_gpio
- add test nodes to modules
2023-09-27 14:31:14 +02:00
Christophe De Wagter fda4ce96b1 [ms45xx] Harmonize airspeed, send pressure to air_data and downlink via telemetry (#3098)
* [fix] Airspeed data different from airspeed state
* Update conf/modules/airspeed_ms45xx_i2c.xml
* [ms45xx] do not set state_speed but send to <air_data>, downlink now via telemetry.xml (no more sync send)
2023-09-25 11:30:27 +02:00
Christophe De Wagter 57756b0493 [important fixes] make test all confs (#3100)
* silent warnings make test_tudelft

* [fix] bugfix

* info instead of warning

* fix optical flow landing

* module that can not stop does not need a stop function

* missing CAMERA

* dangerous define not standard

* simulator not working at 120Hz

* When no if-statement was triggered, this is information and not a warning.

* remove doubles

* point to inexisting telemetry

* firmware settings hardcoded to need 7 actuators

* Merge double file into 1

* untested airframe

* old sim can only handle 60Hz

* non-existing telemetry

* old sim not accepting 120Hz

* Unify info messages

* only 60Hz sim

* survey no height

* Missing camera

* WP further from HOME than MAX_DIST_FROM_HOME

* No more warning when there is no heading feedback by design, only an info message

* clean releases

* no warning on free floating heading in manual controlled AC

* no double firmware block: use dual target instead

* fixedwing: PERIODIC must be multiple of TELEMETRY_FREQ

* missing camera

* error with dual heading feedback

* missing kill switch

* remove prefix

* implicit declaration of function 'scb_reset_system'

* implicit declaration of function 'spektrum_try_bind'

* no dual firmware

* shadowed variable

* wrong header

* typo in fix

* TELEMETRY_PERIOD should be a multiple of PERIODIC

* Missing struct dshot actuators_dshot_values in sim during e7781e7b87

* matek sim does not compile

* bebop misses a camera

* silent compile warnings opticflow

* silent compile warnings

* guido fixed

* double prefix

* changed confs

* new way

* setup_actuators setting up 8 actuators needs 8 actuators

* [openuas] so many comments that the compiler failed.

* [tests] make test_tudelft has 4 coonfs

* [ins_flow] depends on gps (called in initialization of  NED)

* [doc] update

* update naming convention

* an octocopter needs 8 ports please

* pprz_can_init type change

* changed conf
2023-09-25 01:12:39 +02:00
Christophe De Wagter 609241add3 [airspeed] reduce number of airspeed raw messages: (#3094)
* [airspeed] reduce number of airspeed raw messages: ETS, MS45xx, SDP3x, UAVCAN -> RAW

* compile warning

* typo

* Update sw/airborne/modules/sensors/airspeed_ms45xx_i2c.h

* warning

* UAVCAN -> RAW

* ETS register airspeed

* AIRSPEED_RAW in telemetry

* cleanup SYNC-SEND but use register-telemetry instead

* [ardrone] Fix values variable

* [sim] Fix compile warnings discaring const

* [modules] Fix airspeed ETS

---------

Co-authored-by: Freek van Tienen <freek.v.tienen@gmail.com>
2023-09-22 12:04:13 +02:00
Christophe De Wagter f65b4ae84d [modules] system identification update (#3075)
* [modules] system identification updates: auto-doublet-sequence, new doublets, RC-triggered chirps, testing

extra sysid

rename generic

test compile

* defines in a section instead of gcc, cleanup docs
2023-09-21 15:33:25 +02:00
Christophe De Wagter f835b95ab0 [modules] Approach moving target fixes: parameters in airframe files (#3086)
* [module] moving_target allow storing specific gains in airframe files and put all settings in the struct and remove unused

* requested changes

* [airframes] update setting defines
2023-09-21 11:23:06 +02:00
Freek van Tienen 7ae5f91a2a [modules] Fix flight recorder and MAVLink frequency to TELEMETRY_FREQUENCY and configuration (#3085) 2023-09-20 18:08:59 +02:00
Christophe De Wagter b7fca88f8d [airframes] harmonize airframes, test all flightplans and test compile all nederdrones (#3082) 2023-09-20 13:31:02 +02:00
Freek van Tienen 528f5d5b10 [boards] Add support for the CubePilot - Cube Orange+ (#3017)
* [imu] Add Invensense V3 driver

* [imu] Add samplerate to raw ABI message

* [boards] Add support for the CubePilot - Cube Orange+
2023-09-20 11:16:01 +02:00
Christophe De Wagter 2a5c6d3eec [modules] Approach moving target filter (#3067) 2023-09-15 21:51:20 +02:00
Christophe De Wagter 6435c9fc43 [airframes] Airframe fixes (#3061) 2023-09-14 16:58:15 +02:00
guidoAI a40e0fa4e1 Pull request with all the code for 6 DOF optical flow control, the ba… (#3028)
* Pull request with all the code for 6 DOF optical flow control, the basis of a Nature and Nature Machine Intelligence paper.

* Camera ID was already added.

* Remove a duplicate airframe file.

* Cleanup

* Simulator does not work with opticflow

* Incorporated comments review

* fix provides

---------

Co-authored-by: Christophe De Wagter <dewagter@gmail.com>
2023-09-13 15:46:23 +02:00
Ewoud Smeur 6c5093f1ac add nav_hybrid to nederdrones 2023-08-24 13:42:28 +02:00
Fabien-B 2a98d9fb69 Add PyBullet FDM for nps. (#3024) 2023-04-16 22:10:53 +02:00
Freek van Tienen d27ef116f4 [uavcan] Add support for the EQUIPMENT_ACTUATOR_ARRAYCOMMAND message (#3016) 2023-03-29 22:57:56 +02:00
Gautier Hattenberger 7f620c0449 [board] basic support of matek h743 slim (#3001)
only flashing with DFU for now
default orientation for MPU6000 imu
fix small bugs
2023-03-06 18:03:00 +01:00
Gautier Hattenberger b152b927b3 Fix nav rework (#3004)
* fix guidance_v in flight plan and remove old settings

* nav radius, descend and climb

* [stab] make a attitute set quat function

* fix function name

* fix parsing of variables in proc, don't use = in fp

* fix nav heading in modules

* fix some more errors

* fix var name
2023-03-06 10:45:44 +01:00
Gautier Hattenberger 28ef30ed80 Nav rotorcraft rework (#2964)
This is a complete rework of the navigation for rotorcraft with the key features:

- all nav functions and interface in float
- nav function are registered (decoupling between nav API and implementation of standard pattern)
- submodes to specify if setpoint is a position (legacy), speed or accel (better integration of algorithms like GVF)
- guidance (H and V) is reorganized with default function to implement (run_pos, run_speed, run_accel) 
- guidance control (the old default PID) is separated from the guidance logic

---------

Co-authored-by: Freek van Tienen <freek.v.tienen@gmail.com>
2023-03-02 22:15:23 +01:00
OpenUAS 4ef8b85690 PPM input, GPS input and Telem etc. all working now (#3000) 2023-02-28 18:38:32 +01:00
Christophe De Wagter c614a5c6be Wider range of orange, so it avoids rather too much than too little to start with. 2023-02-11 00:03:11 +01:00
Ewoud Smeur dc998be91d Nederdrone ctrl scheduling + moving target app (#2957)
* Nederdrone ctrl scheduling + moving target app

- Nederdrone airframe files
- Ctrl effectiveness scheduling
- Target position communication and planning
- Approach to a moving target guidance

* Update conf

* fix compilation problems

* flight plan compatible new GCS

* remove module test

Co-authored-by: Freek van Tienen <freek.v.tienen@gmail.com>
2022-12-16 16:02:16 +01:00
Ewoud Smeur bf4adb45a2 INDI hybrid updates (#2954)
- Two interpolation segments during transition
- Quadratic lift effectiveness with airspeed
- Velocity setpoint input possible from module via ABI message
2022-12-02 21:58:48 +01:00
Ewoud Smeur 351d90f86e File logger rename (#2956)
* file logger namechange to logger file

* airframe file updates with namechange
2022-11-29 21:58:02 +01:00
Ewoud Smeur 180ebd289a adaptive INDI fix (#2955) 2022-11-29 21:49:38 +01:00
OpenUAS 6df663ff53 Added driver for QMC5883L Magnetometer (#2953)
Co-authored-by: Open UAS <noreply@openuas.org>
2022-11-28 22:09:37 +01:00
Ewoud Smeur 6a44445dd2 Convergence rebase (#2946)
* Added disco_rotorcraft airframefile to be able to fly hybrid code

* Created files (airframe and flightplan) and added bebop_convergence to tudelft conf

* allow higher version bebop

* logging motor commands and accel bebop2

* Updated hybrid guidance indi  variables for bebop2

* improvements

* Prepared bebop2 airframe for cyberzoo test

* Flying bebop in the cyberzoo

* increase outer loop gains

* bebop2 jsbsim file

* no failsafe thrust for rotorcraft

* use ekf2 for bebop2

* Prepared flightplan for outside test

* fix static heading

* Added disco_convergence

* Updated hybrid guidance with extra variables as macro for convergence test

* extended logger with nav target

* typo with the nav_target

* fix thrust estimate

* no ctrl eff scheduling

* Flown code Valkenburg

* Tuned Disco convergence and added nps sim

* 24-06-2021 flown disco code, noise on thrust

* Updated disco flight plan to increase and decrease altitude 20 meters in flight

* change thrust effectiveness

* cleanup

* logger default freq, lexer, etc.

* further small improvments

* lower frequency for AHRS_REF_QUAT

* use more lexer

Co-authored-by: Dennis van Wijngaarden <wijngaarden.dennis@gmail.com>
2022-11-23 21:21:17 +01:00
OpenUAS f5a666b0b3 Add chibios for lisa mxs fc (#2949)
* Add Chibios support for Lisa MXS flightcontroller

* Moving towards Chibios support for all boards

Co-authored-by: Open UAS <noreply@openuas.org>
2022-11-11 21:56:47 +01:00
Freek van Tienen 6fa9cdfa53 [imu] Add heater and temperature options (#2929) 2022-10-27 14:00:13 +02:00
Gautier Hattenberger edac780492 {conf] add demo flight plan
[imu] connect aligner with 1efilter for imu
2022-10-15 23:58:50 +02:00
Jesús Bautista Villar 149dc9b10a GVF user configs and GVF Viewer documentation (#2896) 2022-10-12 11:26:17 +02:00
Freek van Tienen 46055fc8f8 [chibios] Fix i2c error handling (#2898)
* [chibios] Fix i2c hanging full autopilot for 50ms and better error handling
* [airspeed] Fix ms45xx faulty readings
* [board] Fix cube orange test build
* [actuators] Remove actuators_ppm which is not implemented
* [ppm] Fix warnings for lisa mx and lisa m
* [tests] Fix test build and std.h include for TRUE/FALSE
* [chibios] Update to latest paparazzi version
2022-10-07 15:27:43 +02:00
Gautier Hattenberger d721d0c727 Update conf enac imav (#2905)
* update enac conf and imav2022 flight plans

* collection of small corrections and improvements

- default mode is NAV for rover steering
- no rover throttle when killed
- xbee link doesn't send data to modem before end of config
- fix alt in server (geoid/ellipsoid)
- support GPS_INT in sd2log
- don't increment position in follow module
- use correct angles for hybrid
2022-09-28 15:34:59 +02:00
Freek van Tienen 3e473e72a6 [imu] Enable IMU integration and fix small mistakes 2022-09-21 23:05:11 +02:00
Gautier Hattenberger 00766ee4d5 [imu] backward compat for single imu calibration
- old airframe with single imu configuration will continue to work, ABI
id is automatically found
- mag modules require @imu to guarantee init order, multiple calls of
imu_init is no longer needed
- ABI_BROADCAST id is used by default and then replaced by correct ID
- imu_set_default_config will override user conf if params are not NULL
2022-09-20 14:37:58 +02:00
Freek van Tienen 4b28d6d592 [nps] Set the default sensor parameters 2022-09-20 14:37:58 +02:00
Freek van Tienen 1307cff084 [modules] Remove imu_mag_current module 2022-09-20 14:37:58 +02:00
Freek van Tienen ff37e63af4 [imu] Fix new imu structure 2022-09-20 14:37:58 +02:00
Freek van Tienen 7c7cfbc395 [imu] Multi IMU support 2022-09-20 14:37:51 +02:00
Freek van Tienen ad4654b77f [imu] Add Invensense V2 driver 2022-09-20 14:33:37 +02:00