Commit Graph
991 Commits
Author SHA1 Message Date
OpenUAS 0008be8ec6 Fix not able to upload AP firmware (#3523) 2025-08-15 15:35:52 +02:00
Gautier Hattenberger c4bd14098e Update control effectiveness script (#3501)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
* update control effectiveness script for new matrix format

* add a config file example for a quadcopter

- full indi
- no G2 vector
- new output format
2025-07-18 15:34:54 +02:00
Christophe De Wagter 834a420e9c Current compensation code is removed so these defines don't do anything anymore. (#3496)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
2025-07-03 22:43:58 +02:00
4df4c8436b Imu scale float (#3477)
* [imu] Use floats for scaling

* [imu] default scales float

* [imu] update comments

* Fix print function

* [imu] fix calibration

* [imu] calibration in float

* [imu] remove old calibration generation.
compilation error if IMU_IMU_ACCEL_CALIB is defined.

* remove static operations

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

* clarify scales

---------

Co-authored-by: Fabien-B <Fabien-B@github.com>
Co-authored-by: Gautier Hattenberger <gautier.hattenberger@enac.fr>
2025-06-25 13:27:53 +02:00
Fabien-BandFabien-B 3a6ea80f57 [generator] servo command_value floating point (#3476)
Doxygen / build (push) Has been cancelled
Co-authored-by: Fabien-B <Fabien-B@github.com>
2025-06-23 11:28:55 +02:00
Gautier Hattenberger 6370ff488b [calib] implement the calibration button for mag_viewer (#3472)
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
2025-06-17 17:21:27 +02:00
Gautier Hattenberger 27860ffa49 [generator] add global node for selection of modes in gen_autopilot (#3436)
With this, the previous behavior of using macros in airframe file can be used to select the modes.
Update rotorcraft autopilot file accordingly.
2025-03-10 16:48:17 +01:00
Gautier Hattenberger 980e52eecf [autopilot] fix parsing of modules in generated AP files (#3432)
Doxygen / build (push) Waiting to run
2025-02-13 13:57:49 +01: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
Fabien-BandFabien-B 32074c9333 Python virtual environment (#3305)
* [python] setup venv and update pprzlink.
* [supervision] open terminal in the venv if it exists.
* clean setup.py
* guard venv boostrap
* [install] Use distro instead of lsb_release.

---------

Co-authored-by: Fabien-B <Fabien-B@github.com>
2024-10-14 15:02:21 +02: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 4f1bd75203 [tests] Fix printing summary after testing confs (#3371) 2024-09-28 23:15:12 +02:00
Gautier Hattenberger 0a33f4be35 [tool] fix calibration tool output
XML is not correctly formated.
fix #3354
2024-09-15 23:43:36 +02:00
Gautier Hattenberger 4359117d16 [tools] update parrot tools for python3 (#3326) 2024-07-03 11:14:52 +02:00
Christophe De Wagter 15f95e592b Summary of compile errors (#3314) 2024-06-15 22:08:03 +02:00
Fabien-BandFabien-B b71d4793a6 [python] Fix shebangs to use the "right" interpreter. (#3292)
Co-authored-by: Fabien-B <Fabien-B@github.com>
2024-06-06 11:38:47 +02:00
Christophe De WagterandFreek van Tienen 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
Christophe De Wagter e6bcd60666 actuators[ ] array of structs with pprz units and driver units (#3205)
* actuators[ ] array in pprz units, conversion to actuator_driver units when sending to the actuator_driver.

actuators becomes an array

* Moved scaling of the Servo to the Set function.

* Fixed switches and pan-tilt to work in PPRZ units now. Simplified code.
2024-05-25 09:38:51 +02:00
Freek van Tienen 2a9887a747 [chibios] Update and add Pixhawk 6X autopilot (#3254)
* [chibios] Update chibios and add Pixhawk 6X autopilot

* [conf] Change rotating wing 25kg

* [modules] Fix chibios sdlogger dependency on ADC

* [modules] Fix eff scheduling rotating wing warnings

* [chibios] Cleanup and fixes
2024-05-24 15:35:04 +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
Tomaso Maria Luigi De PontiandGautier Hattenberger 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
25ec86275f TUD course update 2024 (#3258)
* removed the -o flag because it caussed natnet errors

* smaller obstacle zone for first week testing

* Updated distance measurement script

* 3x3 convolution addition (#97)

Added a convolution algorithm for a general 3x3 kernel

---------

Co-authored-by: robinferede <robinferede@tudelft.nl>
Co-authored-by: yamacbirol <y.birol@student.tudelft.nl>
Co-authored-by: dvanwolffelaar <50547974+pigparty6@users.noreply.github.com>
2024-04-04 11:00:14 +02:00
Gautier Hattenberger bbcb166d37 [nav] remove nav_manual mode (#3234)
This mode is not really used and not even recommended. It is also not
implemented in all firmwares. If a direct call to stabilization command
is needed, it should be done with a specific function but not from a
builtin instruction from the flight plan.

It was discussed in #3208, but not applyied because of nav_heli_spinup.
A new h_mode 'NONE' allows to disable guidance and stabilization while in
NAV mode, which allows to set directly the commands.
2024-02-05 09:40:09 +01:00
Gautier Hattenberger 1b345804b4 [generator] add support for matrix and struct in airframe (#3228)
* [generator] add support for matrix and struct in airframe

update ENAC airframe and code for indi G1 matrix and IMU calib

* update calibration tool output
2024-01-09 10:46:47 +01:00
Christophe De WagterandFreek van Tienen 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 4d8c690d8f Hide actuator driver number from code (#3206)
* Hide actuator internal driver number. Should never be used in code.

* Bugfix ... these should not be actutator_driver numbers but INDI output numbers
2023-12-15 08:25:23 +01:00
Fabien-B decbf5c044 [calibration] Fix calibration warnings. (#3155) 2023-11-01 21:43:27 +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 WagterandguidoAI 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 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 WagterandFreek van Tienen 5672d5fcd6 [rpm_actuators] actuators on a bus require indices (#3089)
* [rpm_actuators] actuators on a bus require indices

* Fix all other ABI RPM messages

* [tools] Add servo driver offset in gen_airframe

* [fix] test actuators_bebop

* [test] disco fix

---------

Co-authored-by: Freek van Tienen <freek.v.tienen@gmail.com>
2023-09-22 14:10:33 +02:00
Christophe De Wagter 640d94102d [geofence] When altitude of the geofence is not changed, this is not a warning but Info. When the WP are too low it remains a warning. (#3097) 2023-09-22 13:12:32 +02:00
Christophe De WagterandDries Borstlap a98fd3ab49 [fix] distance counter update (list of rigidbodies) + typo in install 22.04 (#3083)
* Bugfix 22

* FIX dist script (#87)

Verfied in zoo

---------

Co-authored-by: Dries Borstlap <dries.borstlap@gmail.com>
2023-09-20 13:31:45 +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 18483578f0 [install] Small update (#2998) 2023-09-14 17:21:00 +02:00
Christophe De Wagter d967bf237b [python] Moving-base simulator (#3066)
Missing new heading field
2023-09-14 16:52:34 +02:00
Gautier Hattenberger 10bdec0463 [ocaml] add old and new GCS srtm path to default directory list (#3030) 2023-05-09 09:09:46 +02:00
guidoAI 1a985e5623 Changes to fix video streams not working in Ubuntu 22.04 (#3029) 2023-05-03 21:06:35 +02:00
Freek van Tienen 009469f18a [tools] Update PX4 uploader to wait for autopilot 2023-03-24 10:57:44 +01:00
Gautier Hattenberger 62646d68de Modules recommends and suggests (#3005)
Add two new items in module's dependency:
- recommends: a recommended module tells the sorting algo that if the module is found, it should be sorted accordingly. It is useful for optional dependencies, like shell or mission in some modules
- suggests: if a functionality is not provided by the user, a module can suggest a list of modules that can provide them. It is a convenient way to have "default" modules.

As a result the former autoload node is removed and replaced by suggested modules.
2023-03-07 17:14:15 +01: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
Christophe De WagterandFabien-B a75f011050 [install] Ease installation with a GUI (#2991)
* [install] Ease installation with a GUI that automatically adapts to the OS

---------

Co-authored-by: Fabien-B <fabien.bonneval@gmal.com>
2023-02-15 14:32:01 +01:00
OpenUAS 5b4ac81c68 Fix Pixracer upload using PX4 bootloader (#2985)
Fix upload failing if using PX4 bootloader on a Pixracer R14/15 Flightcontroller to upload the PPRZ AP main firmware. Tested with Fix Pixracer R14 and one R15
2023-02-09 10:51:42 +01:00
Fabien-BandGautier Hattenberger 8833bb4fc5 [supervision] Adds documentation tab. (#2972)
* [supervision] Adds documentation tab.

* [generator] add a target option to dump modules by target with load type

* [supervision] doc: handle modules type.

* [supervision] modules doc: add filter.

* [supervision] Use internet doc by default.

* [supervision] Move the header out of the configuration tab.

* [supervision] Add target label.

* [supervision] Gracefully handle Ctrl-C.

* [supervision] Add new session to combobox.

* Update sw/supervision/python/doc_panel.py

---------

Co-authored-by: Gautier Hattenberger <gautier.hattenberger@enac.fr>
2023-02-07 15:51:55 +01:00
Fabien-B 9b18744322 [doc] Add parser for modules doc generation. (#2973) 2023-02-06 11:16:10 +01:00
OpenUAS f59a809411 Update bmp_swd_nopwr_flash.scr (#2976)
Fixes #2974 Tested with tested with BMP Firmware v1.9.0 Hardware v2.3  OK and to test NOPWR in airframe defined:
      <configure name="FLASH_MODE"   value="SWD_NOPWR"/>
      <configure name="BMP_PORT" value="/dev/ttyACM0" />
2023-02-03 09:20:41 +01:00
OpenUAS 26d64c19ed Update bmp_swd_flash.scr (#2975)
To fix #2974  tested with:
tested with BMP Firmware v1.6.1 Hardware v1.0  OK
tested with BMP Firmware v1.8.2 Hardware v1.0  OK
tested with BMP Firmware v1.6.1 Hardware v2.0  OK
tested with BMP Firmware v1.8.2 Hardware v2.3  OK
tested with BMP Firmware v1.9.0 Hardware v2.3  OK
2023-02-03 09:18:56 +01:00
ALI JAMEI 828ef4fc4d [PX4] AP and FBW flash through bootloader fix (#2936)
* [PX4_Bootloader] update firmware generator and upload scripts with latest versions

* [PX4_flash] fix px4_flash module to support ChibiOS USB driver

* [PX4_flash] fix px4_flash FBW firmware upload through AP

* [chibios] change USB serial descriptor strings to the ones used in STM32 arch

* reboot to boot-loader for ChibiOS flash
2022-12-01 09:24:28 +01:00