This is based on #1799 and replace it.
Now, the normal UART driver is used instead of the specific code. It
makes it possible to use on only arch, including ChibiOS.
Binding is also possible, but for boards using ChibiOS and SD logger, it
is recommended to disable it for the binding process as the LSE clock
required by the RTC is longer to start (bind pulses should be issued
before 200ms after power up).
The configuration is backward compatible and some defines in the boards'
header could be even removed. Only Apogee, Chimera and Elle0 have been
updated as it is the only board tested for now. There is no harm to keep
the old defines.
* [swarm] add formation control for rotorcraft
Based on Ewoud Smeur (INDI) and Hector Garcia de Marina (Formation
control) work. See
https://blog.paparazziuav.org/2017/12/02/pilot-a-super-rotorcraft
- several UAV can be control from the ground (using a joystick for
instance) by sending proper acceleration setpoint to the INDI guidance
controller
- configuration of the formation is done from a JSON file (2 example
files provided)
Some extra changes:
- update accel from IMU in GPS passthrough INS
- add accel setpoint to ABI messages
- by to accel setpoint in INDI guidance
- send ground reference from natnet2ivy
- possibility to have a joystick labeled 'GCS' with input2ivy
* Bump rustlink
* Changes in GEC, now communication and key exchange works. TODO is key renegotiation and some cleanup
* Bump pprzlink
* Update in GEC and related control panel configs
* Updated name
* Bump rustlink
* Changes in GEC, now communication and key exchange works. TODO is key renegotiation and some cleanup
* Bump pprzlink
* Update in GEC and related control panel configs
* Update atomic settings
* Minor changes, style fix
* Code style fix
* More code style fix
* Add nps target to cv_opencvdemo module
Also re-enabled the canny edge detector example, as the result
is easier to see than the blurring example.
Added the LDFLAGS produced by the current version of opencv_bebop.
* Ignore uncommitted changes to opencv_bebop submodule
Added an "ignore = dirty" flag to .gitmodules to prevent opencv_bebop
from showing up in the git status with uncommited changes once it is
installed.
* Add gazebo model for Parrot Bebop 1
* Add first-order high pass filter
* First implementation of actuator dynamics and spinup torque
Flies ok with PID control
Does not fly ok with INDI, the required G1 R is 0.159 instead of
0.0022 (estimated by flying in adaptive mode). The other parameters
are close to those specified in the airframe file.
* FIX incorrect yaw behavior
Fixed two bugs:
1. gazebo_actuators.torques was set to NPS_ACTUATOR_THRUSTS
2. spinup torque direction is now also controlled by motor mixing
* Clean up debug code and file logger
* Clean up gazebo example airframes
* Minor cleanup
* FIX warnings about missing initializer in fdm_gazebo
* Update documentation
* Remove modules section, move to firmware
* Minor fixes to fdm_gazebo and high_pass_filter
* Move actuator dynamics to included airframe files
Should prevent duplicate actuator defines spread accross all
airframe files.
* Fix FILTER_ROLL_RATE in bebop2_indi airframe
Moved to firmware targets so it will be disabled in gazebo.
Is this actually working in jsbsim??
* Update documentation
* Fix newlines
* Minor fixes in nps_fdm_gazebo.cpp
* Re-enable filter roll rate
Caution: causes oscillations around roll axis in gazebo
* Disable roll filter and cleanup
* Cyfoam, ctrl effectiveness scheduling, JSBsim
- Added Cyfoam airframe file
- Added control effectiveness scheduling function
- More advanced scheduling function should be added in the future
- Added simple JSBsim files for Cyclone for a crude simulation
* only calculate pseudo inverse when using it
* Gazebo Cyberzoo and OrangeAvoid in tudelft conf, Simulate when no RC, call gzclient as tool
* [orange_avoider] color setting
* docs+remove modules section
* added rangesensors to gazebo model and NPS
* added module to handle the range sensors
* added sender IDS and added to abi messages
* added abi message to flight plan guided
* added decawave_serial_communication module files
* added reference to arduino library in module comments
* added abi message
* fixing abi send
* added abi
* compiles
* tested on bebop2 drones with decawave modules
* improved module description
* cleanup
* fixed code-style
* pprzlink same as master
* updated subrepos opencv_bebop
* temp
* temp
* temp
* addressed define and global variable comments
* Addressed comments on define macros and abi.xml
* making functions more general
* fix up
* tested!
* removing last global variables
* renamed temp variables
* must have messed up the message decoding/sending
* successfully tested
* clean-up
* changed variable names as necessary
* float size define removed
* last changes + tests
* removed test module
* removed unnecessary includes and added endline characters
* Make mpu9250 compatible with mpu6500, by providing option to disable mag
* Upgrade QTC version, add more QTCreator compatibility with chibios
* F3 support
* Add priliminary support stm32f3 discovery board using chibios
* Add support for the stm32f37 xvert board by means of chibios
* Give INDI simple full control authority
* Motor driver for the vertx
* Create define out of required THD_WORKING_AREA space
- dedicated swing without mag
- strip code before upload
- read battery and baro from sysfs
- read power button by hand and restart
- needs to be plugged to enable telnet, can be disconnected after upload
Implement trilateration algorithm for positionning using the
UltraWideBand modules DW1000 from Decawave.
The interface with the modules is done with an arduino using the low
level library https://github.com/thotro/arduino-dw1000 with some
modifications.
The data extraction and trilateration are working, calibration and real
flight have not been done at the moment.
* WLS control allocation
* comments, and configure preferred act values
* keep option open to use pseudo-inverse
* add link to burkardt
* Simplify input reset if not flying
* qr solve in math folder
Use INDI_NUM_ACT and INDI_OUTPUTS instead of hardcoded numbers.
Fix code style
* Removed hardcoded number of actuators
precompute number of thrusters
* Updated aggie air configs
* Updated configs and some small compilation fixes
* Added layouts and control_panel updates
* An example with a new flight plan. Note the plane doesn't fly very well because of the model mismatch.
* [GVF] more functions exposed to the user
* [GVF] gvf_line_xy1_xy2 added
* [GVF] segment msg added for the GCS
* poly survey with GVF
* [GVF] segment primitive added
* integrating gvf and poly survey
* [GVF] each trajectory has its own gains now
* updated settings (gains) for the GVF trajectories
* [GVF] nav_survey_polygon integrated with GVF
* [GVF] python scripts updated for the new GVF msg format
* pprz c code style
* [GVF] updated demo
* gvf demo includes poly survey
* [GVF] gvf poly survey moved to gvf module
* [GVF] nav module not necessary anymore for gvf demo
* [GVF] _gvf added for being different from others nav functions from other modules
* [GVF] description about employing gvf here has been removed
* gvf_ for not conflict with former nav module
* These definitions now have to be done in the airframe conf
* [GVF] kn is not used anymore by the gvf visualization
* [GVF] better description msg for the formation script
* [GVF] Doxygen doc
* print for python 3
* correct style
* we set up correctly the vertical control
* Doxygen
* Only for auto2. If we are in auto1, do not override the roll set point
* Circular formation now also works for counter-clockwise direction
* update pprzlink
* Gautier comments
* [GVF] more functions exposed to the user
* [GVF] gvf_line_xy1_xy2 added
* [GVF] segment msg added for the GCS
* poly survey with GVF
* [GVF] segment primitive added
* integrating gvf and poly survey
* [GVF] each trajectory has its own gains now
* updated settings (gains) for the GVF trajectories
* [GVF] nav_survey_polygon integrated with GVF
* [GVF] python scripts updated for the new GVF msg format
* pprz c code style
* [GVF] updated demo
* gvf demo includes poly survey
* [GVF] gvf poly survey moved to gvf module
* [GVF] nav module not necessary anymore for gvf demo
* [GVF] _gvf added for being different from others nav functions from other modules
* [GVF] description about employing gvf here has been removed
* gvf_ for not conflict with former nav module
* These definitions now have to be done in the airframe conf
* [GVF] kn is not used anymore by the gvf visualization
* [GVF] better description msg for the formation script
* [GVF] Doxygen doc
* print for python 3
* correct style
* we set up correctly the vertical control
* Doxygen
* Only for auto2. If we are in auto1, do not override the roll set point
* Circular formation now also works for counter-clockwise direction
* update pprzlink
* Gautier comments
* PPRZ_MODE_AUTO2 is now AP_MODE_AUTO2
* new functions for the GVF demo
* Primitives for tracking lines, segments and segment_loops
* Poly survey track the proper segment function