Commit Graph

993 Commits

Author SHA1 Message Date
Gautier Hattenberger 424cd788f5 [radio] rewrite the Spektrum driver to be generic (#2250)
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.
2018-04-29 00:15:10 +02:00
Open UAS d6b2796953 Added more complete Parrot Disco 2018-04-04 21:29:17 +02:00
Gautier Hattenberger 789437978d [swarm] add formation control for rotorcraft (#2246)
* [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
2018-03-20 16:07:16 +01:00
Titus 30ab122e91 Monocular Optical Flow hover (#2239) 2018-03-12 14:39:13 +01:00
matejkarasek cd659a78da Command filter for vibrating airframes (#2226)
* Filtering commands + example airframe

Command filter + example airframe

* more generic implementation

* airframe move to the new tudelft location, gain tuning

* revert pprzlink

* revert opencv

* revert libopencm

* style fixed

* fix indenting & modules section moved

* added function declaration
2018-02-27 11:03:01 +01:00
Michal Podhradsky 4e80b97050 Galois Embedded Crypto module updates (#2235)
* 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
2018-02-12 16:36:11 -08:00
Tom van Dijk 7b19e6918a Add nps target to cv_opencvdemo module (#2232)
* 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.
2018-02-09 11:25:48 +01:00
Gautier Hattenberger 3989057fe9 [module] add object_tracking module based on FOLLOW_TARGET message 2018-02-08 15:10:08 +01:00
Gautier Hattenberger b42caab15f [module] support for jevois smart cameras 2018-02-08 15:06:49 +01:00
Tom van Dijk cfabb51eed [gazebo] Add actuator dynamics and bebop model (#2219)
* 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
2018-01-30 16:39:18 +01:00
Michal Podhradsky d66fc0c3b7 galois embedded crypto module and secure transport (#2205)
* Added RNG for NPS, cleaned up telemetry config files
* Added Rust submodules
* Added simple status message
* Updated gec transport and key exchange
* Update pprzink
* Compilation fix for Travis
2018-01-19 00:09:17 +01:00
Felix Ruess 27124fe32f [nps] only search/link OpenCV if NPS_DEBUG_VIDEO is configured 2017-12-29 14:08:45 +01:00
Hector Garcia de Marina b932515610 [module] Distributed Formation Control
integration of #211
2017-12-14 22:21:17 +01:00
Michal Podhradsky 2c35ebeb80 Update HACL-C snapshot as a proper submodule (#2199) 2017-12-04 09:22:33 +01:00
Ewoud Smeur 95e60fe50d Cyfoam, ctrl effectiveness scheduling, JSBsim (#2145)
* 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
2017-12-01 17:48:22 +01:00
Michal Podhradsky 640c5aa8c5 Update libopencm3 and add Random Number Generator (RNG) (#2192)
* Compilation fixes (CAN bus)

* Update libopencm3

* Compilation fixes

* Added Random Number Generator for stm32 autopilots

* Compilation fixes
2017-11-28 15:01:36 -08:00
Christophe De Wagter da7003b358 Explain SD-Card Status 2017-11-28 17:32:02 +01:00
Michal Podhradsky 061c389811 Fixes #2194 2017-11-27 15:48:02 -08:00
Gautier Hattenberger 90e6dc5c2c [gps] add support for REMOTE_GPS_LOCAL
position and velocity is received in local frame
transformation to global frame is handled on airborne side
2017-11-18 18:22:25 +01:00
Tom van Dijk 85c2b23c9f Set Gazebo world in flight plan (#2172)
* update documentation
* include flight_plan.h in nps_fdm_gazebo.cpp
2017-11-15 15:51:19 +01:00
Tom van Dijk 73993ee708 Drag-based velocity estimator (#2132) 2017-11-13 10:28:25 +01:00
kevindehecker 6fafcaaae9 Gazebo in tudelft conf, with orange avoid example (#2149)
* Gazebo Cyberzoo and OrangeAvoid in tudelft conf, Simulate when no RC, call gzclient as tool
* [orange_avoider] color setting

* docs+remove modules section
2017-11-09 19:45:26 +01:00
Christophe De Wagter 08555b8366 MAVLab course2017 airframe: bebop orange avoid (#2170) 2017-11-07 13:07:12 +01:00
Kirk Scheper e84ff368c2 Add rangesensor module (#2158)
* 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
2017-11-06 17:16:13 +01:00
Michal Podhradsky bbb45f89d6 Added HACL-C module and secure telemetry module (#2163) 2017-11-04 16:21:14 -07:00
Mario Coppola b5a4f893d6 Module to Read and Broadcast Decawave Serial Communication within Paparazzi (#2154)
* 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
2017-11-02 22:51:53 +01:00
guidoAI 7c03c0fe43 Added corner method as a setting (detail) 2017-11-02 13:39:53 +01:00
guidoAI 044ba0dc11 Added settings etc. 2017-11-02 13:23:35 +01:00
guidoAI 796d318d9c Act fast preparing for pull request 2017-10-30 20:22:27 +01:00
Ewoud Smeur 2e0a520bb7 Rename TUDELFT to tudelft, remove tudelft_ prefix 2017-10-30 17:30:10 +01:00
Kirk Scheper 3bf4b8731d [nps] load aircraft into gazebo at run time + actuator handling (#2135)
* load aircraft into gazebo at run time + actuator handling

* Remove environment from airframe
2017-10-26 14:36:38 +02:00
Ewoud Smeur 7e0d5b0f1e add settings for indi_guidance 2017-10-24 19:06:16 +02:00
kirkscheper 53f78c4492 updated hff to accept velocity as only input and add bias 2017-10-18 23:01:36 +02:00
kirkscheper e9ff78ad00 Fix optical flow nans when using feature management 2017-10-18 22:58:08 +02:00
Kirk Scheper 68255aa454 updates to gazebo so simulate pressure and acceleration (#2120) 2017-10-18 22:30:07 +02:00
kevindehecker 2a6ad556f1 F3 and X-Vert support (#2113)
* 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
2017-10-06 15:53:18 +02:00
Kirk Scheper bd53a3c26c use pprzlink with stereocam (#2107) 2017-08-29 17:50:19 +02:00
Kirk Scheper 290d47f7ca added outlier detector to bebop sonar and extended median filter to handle variable size filters (#1909) 2017-08-28 09:42:35 +02:00
Gautier Hattenberger 4894fe8ba7 [gps] example of broadcasting GPS messages between aircrafts
This is used by the traffic info module to have position of surrounding
aircraft at higher rate and lower latency.
Based on PPRZLINK v2.
2017-08-23 13:19:11 +02:00
Kirk Scheper a40b69fe2e upgrades to optical flow landing module 2 (#2087)
* fix cov method 2 array initialisation for optical flow landing
* add extra divide by 0 checks
2017-08-17 08:29:37 +02:00
Michal Podhradsky 1039b8af4b Minor updates in Vectornav driver and HITL 2017-08-08 15:40:31 -07:00
Felix Ruess 1ee2994b77 automatically call motor_mixing_init 2017-08-06 20:05:01 +02:00
Gautier Hattenberger 6b128d296d [board] initial support for Swing
- 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
2017-07-06 10:17:15 +02:00
Gautier Hattenberger 2aabe921b3 [module] add support for Decawave DW1000 modules (#2084)
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.
2017-06-28 18:08:42 +02:00
Ewoud Smeur 676358ee6e Allocation merge (#2078)
* 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
2017-06-28 00:41:55 +02:00
Michal Podhradsky 8806e853f3 Aggieair updates (#2081)
* 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.
2017-06-21 10:51:53 -07:00
Gautier Hattenberger 979543cf53 Merge pull request #2079 from manoskyr/optic_flow_changes
Optic flow changes
2017-06-21 00:33:08 +02:00
Hector Garcia de Marina 2144be74be Poly survey via Guidance Vector Field addition (#2052)
* [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
2017-06-19 17:43:10 -07:00
Ewoud Smeur b96b8b07c6 Revert "WLS control allocation (#2075)"
This reverts commit b2e22be800.
2017-06-16 11:18:27 +02:00
Manos Kyriakakis 3f2f63d0ac Added an FPS parameter for all computer vision related functions. It sets the frequency of the listener attached to the camera by the module (by default set to the camera's frame rate) 2017-06-16 05:37:52 +02:00