1438 Commits

Author SHA1 Message Date
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
Gautier Hattenberger b48d3e61e8 [datalink] add a datalink init function (#2950)
* [datalink] add a datalink init function

and get rid of the DATALINK_C trick

* [datalink] weak parsing function

* [sim] remove MODULES_C define from sim_ap

this is not necessary and is a source of multiple definition errors
2022-11-16 16:05:14 +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 4b6b0acf87 [module] add tag speed control 2022-10-15 23:56:10 +02:00
Jesús Bautista Villar cc781ef5e6 Ublox GPS - Manual hot, warm and cold reset functionality (#2924) 2022-10-15 23:24:14 +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 9a27eea7a7 [gps][ins] improve gps support for ins filters
- use conveniance functions to access GPS position and speed
- try to improve support of UBX fix status
- gps.h compatible with cpp files
2022-09-28 15:28:15 +02:00
Gautier Hattenberger b8647d7d7f Merge pull request #2890 from paparazzi/multi_imu
[imu] Multi IMU support
2022-09-26 16:30:55 +02:00
Gautier Hattenberger b991dcc8c2 [module] add tag tracking module (#2902)
estimate the position (and speed) with a kalman filter from the position
measured by a smart cam jevois (detection of ArUco, QRcode, ...) or a
companion computer
2022-09-26 13:51:11 +02:00
Matteo Barbera c71681940e [mag] Make RM3100 module frequency variable (#2901) 2022-09-22 11:25:35 +02:00
Freek van Tienen 3e473e72a6 [imu] Enable IMU integration and fix small mistakes 2022-09-21 23:05:11 +02:00
Gautier Hattenberger b08ce1e3f1 fix compilation of modules tests 2022-09-20 14:37:58 +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 5aea98dff0 [tests] Fix some tests and errors 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
Jesús Bautista Villar d7cd169b40 Non parametric GVF rebuild (#2885) 2022-06-16 14:23:50 +02:00
Gautier Hattenberger bb0a27187e Merge pull request #2881 from fvantienen/cleanup_imu
[imu] Cleanup
2022-05-19 23:54:31 +02:00
Freek van Tienen 3211fa011c [settings] Support functions (#2880)
* [chibios] Add reboot functionality
* [modules] Add power switch module
2022-05-19 23:53:22 +02:00
Fabien-B 9eebb1747a [chibios] usb serial (#2878)
* Add ChibiOS USB Serial.
* do not terminate shell thread on read error.
* build usb serial
* Condition for building usb_ser_hw.c
* match UART buffer size
* include USB serial in uart module.
* Shell dependency on uart.
* Add missing attribute in DTD.
* Add setting to enable USB storage.
* Allows to use USB serial with logger.
* Allow defining USB_RX_BUFFER_SIZE.
2022-05-19 23:50:17 +02:00
Freek van Tienen dcca44e591 [imu] Remove um6 2022-05-18 18:58:40 +02:00
Freek van Tienen 85d6056d37 [boards] Remove swing 2022-05-18 18:58:40 +02:00
Freek van Tienen 0a4e9d4d51 [imu] Remove ppzuav 2022-05-18 18:58:40 +02:00
Freek van Tienen 6afa3e0945 [imu] Remove gl1 2022-05-18 18:58:40 +02:00
Freek van Tienen ddbc6fba12 [imu] Remove drotek_10dof_v2 2022-05-18 18:58:40 +02:00
Freek van Tienen dfd7599500 [ahrs] Remove gx3 2022-05-18 18:58:40 +02:00
Freek van Tienen 1d0657b6d0 [board] Remove krooz autopilot 2022-05-18 18:58:40 +02:00
Freek van Tienen 2a0dba4025 [chibios] Add STM32H7 (#2859)
* [chibios] Add STM32H7

* [chibios] Update to latest version

* [chibios] Cleanup board configuration

* [chibios] Cleanup peripheral drivers

* [chibios] Fix bootloader interrupt vector done inside ChibiOS

* [sdlogger] Enable RTC by default

* [chibios] Fix DMA buffers SPI/I2C

* [formatting] Fix formatting/styling of files

* [chibios] Change PWM configuration (small fixes i2c and makefile)

* [chibios] Generic board files

* [boards] Fix apogee board

* [conf] Cleanup airframes and remove Navstik board
2022-05-18 17:38:58 +02:00
Freek van Tienen a0e00fd753 [ins] EKF2 update to latest version (#2829)
* [conf] Add splash4 airframe
* [ins] Update EKF2
* [ekf2] Add support for optitrack and update gps datalink module
* [modules] Fix gps datalink module heading calculations
* [ground] Remove old natnet2ivy
2022-04-12 11:08:20 +02:00
Freek van Tienen 8063838898 [baro] Fix Bebop barometer configuration (#2849) 2022-03-26 10:25:58 +01:00
Ewoud Smeur 57ff4b9823 Ref model float (#2842)
* reference model rewrite

* configurable carrot distance

* better CARROT_DIST int cast

* comment for POS_REF_FRAC

* higher resolution ref pos

Co-authored-by: Gautier Hattenberger <gautier.hattenberger@enac.fr>
2022-03-24 17:25:51 +01:00
Jesús Bautista Villar 4d4fbc2852 Rover steering wheel (#2845)
* Steering wheel rover main files and guidance

* Fix: Undeclared function nav_reset_alt warning

* GVF mission flight plan

* NPS FDM for rovers

* GVF low_level_control.c included in gvf.c

* Rover main loop for non chibios arch (copy/paste from rotorcraft)

* Delete conf/modules/rover.xml

The creation of this file was a mistake.

* NPS for rover fixed

* rover_guidance_steering periodic -> autopilot state machine

* Fixes and comments
2022-03-24 15:31:12 +01:00
Gautier Hattenberger 502427f823 [fix] remove ins_neutrals settings file (#2843)
this is not a proper fix, but a workaroud to compile example files and
prevent to use the old ins_neutrals.xml file that is no longer valid.
the issue of ins neutrals should be treated correctly later, either by
adding proper settings to each modules that requires it, or using a
ins_common module
2022-03-20 16:03:34 +01:00
Gautier Hattenberger 0b62eb89ef [fix] collection of fixes after AP/FBW merge
some errors after #2828
- fix all airframes using dual boards
- fix calls to ap_state or old imcu API
- fix some includes
- protect some code to compile test programs (without 'commands' API)

close #2840
2022-03-11 16:39:43 +01:00
Gautier Hattenberger 7709dcfa2e [datalink] move all hardcoded message parsing to modules datalink events (#2838) 2022-03-11 15:48:51 +01:00
Gautier Hattenberger e436d78c84 [autopilot] merge AP and FBW in normal operation (#2828)
There is no longer a separated FBW in normal operation for fixedwing,
only a single AP task/thread.
The code for main_ap is now factorized for all firmwares.
Dual MCU support (separated AP and FBW) is still possible, based on the
rotorcraft implementation and intermcu pprzlink messages. Relevant code
is also factorized and available in all firmwares.
The recovery mode (in case of hard fault) is still available for
fixedwing with ChibiOS implementation.
Only intermcu_uart is supported at the moment. Other options (spi/can)
might be added back in the future if really used.

Some other evolution are made:
- in the radio_control and actuators modules, now integrated to AP and
using ABI messages
- the message parsing on datalink event (defined in module) that is now
properly filtering the messages based on their class and allowing to
have multiple callbacks for the same message
- cleaning the part of code that were using the old intermcu fixedwing
interface
2022-03-10 14:21:04 +01:00
Gautier Hattenberger 99ead51a1e [fix] update existing CHIRP message from pprzlink 2022-01-22 23:02:12 +01:00
Rollervi97 02a9757b79 addition to system identification modules (#2810) 2022-01-20 22:56:16 +01:00
Gautier Hattenberger 94ea2344d3 [modules] add missing mission_common xml file 2022-01-14 08:50:33 +01:00
Gautier Hattenberger 321173fd32 [nav] add adaptive navigation patterns
These patterns have been developped during an atmospheric science
project to track clouds in real-time based on sensor data.
The modifications includes:
- adding adaptive nav modules (lace, rosette, trinity, spiral_3D)
- new or improved meteo sensor modules (cloud sensor, meteostick)
- improvements to mission interface (UPDATE message, waiting patterns,
unique ID check)
- compact telemetry message MINIMAL_COM to reduce bandwidth (message
supported by server and logplotter)
- basic cloud simulation module (circle or polygon sector) and demo
flight plan

See for details:
Titouan Verdu, Gautier Hattenberger, Simon Lacroix. Flight patterns
  for clouds exploration with a fleet of UAVs. 2019 International
  Conference on Unmanned Aircraft Systems (ICUAS 2019), Jul 2019, Atlanta,
  United States. https://hal-enac.archives-ouvertes.fr/hal-02137839
2022-01-07 15:01:37 +01:00
Gautier Hattenberger 3265299718 [nav] update and harmonized navigation frequency (#2796)
- use NAVIGATION_FREQUENCY for all firmwares
- use 20 Hz as default, unless a PERIODIC_FREQ of 516 is used for
rotorcraft (then keep 16)
- remove old vehicle interface module
- update some files

The idea with 20Hz is to be closer to recent GPS modules providing
positions at 10 to 20 Hz and to have a multiple of the common
frequencies used in the system: 60, 100, 120, 500, 1000, ...
Only execption is the legacy 512Hz where it is better to keep 16 to have
a correct prescaler.
2021-12-03 22:59:59 +01:00
Gautier Hattenberger a117c9a374 [modules] enable test for telemetry modules 2021-11-29 11:24:55 +01:00
Gautier Hattenberger 5d0352a937 [module] add test and fix warnings for superbitrf 2021-11-29 11:24:48 +01:00
Gautier Hattenberger 79b2e44e16 [module] test laser range array module and fix warning 2021-11-29 11:03:45 +01:00
Gautier Hattenberger cea1c0a536 [math] run test and math and fix warning 2021-11-29 11:03:45 +01:00
Gautier Hattenberger 389754d1f8 [cv] test optical flow module and fix warnings 2021-11-29 11:03:44 +01:00
Gautier Hattenberger e075daf06f [module] wind estimation from quadrotor motion (#2800)
- add a generic linear kalman filter lib
- add a quad model with linear drag and simplified for recent jsbsim
- add example frame and noisy NPS sensor config

see "Estimating wind using a quadrotor" in IMAV2021 proceedings
2021-11-28 22:24:44 +01:00