* 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>
* 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
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>
- Two interpolation segments during transition
- Quadratic lift effectiveness with airspeed
- Velocity setpoint input possible from module via ABI message
* 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>
* [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
* 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
- 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
* 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
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
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
- 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