442 Commits

Author SHA1 Message Date
Felix Ruess 17d32772c0 [imu] convert imu subsystems to modules (#1788)
* [imu] convert imu subsystems to modules

Also
- get rid of explicit imu init|event|periodic calls in main
- each imu implementation has their own imu_x_init/event/periodic

* [imu] fix some imu modules

* [imu] fix bad paths

* [imu] add imu_common module that every implementation autoloads

and put body_to_imu settings in imu_common module

* [imu] fix imu_ardrone2

* [conf] add imu_common settings module in conf_example and conf_tests
2016-08-12 12:02:38 +02:00
Christophe De Wagter d255a62d5d ardrone stream front camera: closes #1778 2016-07-15 15:03:03 +02:00
Freek van Tienen 13bd297414 [vision] Add pose history dependency to opticflow 2016-07-05 21:11:38 +02:00
Wilco Schoneveld 94d3bef75c Threaded computer vision (#1764)
Possibility to run vision processing in a separate thread
- using cv_add_to_device_async will run the vision function in a separate thread
- set nice level for each separate video processing thread
- possibility to limit the max fps of a vision function (for synchronous and async video processing)
- added capability of toggling a cv listener
2016-07-03 22:08:00 +02:00
Deon Blaauw f1f75e96b8 Hybrid guidance code for hybrid drones (#1769)
This pull request is for the guidance algorithms used to control hybrid drones like the Quadshot and MavShot. It supports autonomous waypoint navigation as well as "forward-flight". The code was flight tested in autonomous waypoint navigation mode, including autonomous landing (using sonar).
2016-06-30 21:51:52 +02:00
Roland Meertens c1c48c2184 moved colorfilter example for the course, now using optitrack gps (#1765) 2016-06-27 09:59:01 +02:00
kevindehecker 1da2da57dd Bebop fw3.2.0 fix (#1745)
* Fix motor order bebop firmware 3.2, and check for firmware version during upload

* Also apply to other TUDelft airframes

* Give user feedback in case of problems during upload to bebop
2016-06-20 16:02:41 +02:00
Roland Meertens a32b8fb6fb Dual video thread solution (#1648)
This pull request allows you to use both the front camera and the bottom camera on the bebop, and to run optical flow on the bottom camera while running something else on the front camera. 

- modules can call cv_add_to_device(&camera, fun) to register the callback fun for the specified camera with the video thread
- use a linked list with listeners for the video
- saving jpeg encoded shots is now in a separate video_capture module
2016-06-01 12:15:44 +02:00
Felix Ruess 18fadbde59 [boards] support for OpenPilot Revolution board
IMU, mag, baro and telemetry tested.
Positive x-axis of the IMU is indicated by the arrows on the board, the side with LEDS and F4 is up (negative z-axis).
Still missing support for the modem and the external flash...

To get the axes correct also extended the imu_mpu600_hmc5883 driver to allow different axes/channel assignments.
2016-05-19 21:49:03 +02:00
k.n.mcguire@tudelft.nl f9d399e6ef [conf] updated airframes using opticflow to follow the new vision pipeline 2016-05-04 13:46:49 +02:00
Ewoud Smeur 0c95b9e26e [rotorcraft] converted PI rate controller to floating point
closes #1624
2016-04-27 10:37:16 +02:00
Ewoud Smeur d29c83aab9 remove scaling from rate feedback (#1601)
Currently gains from rate control do not carry over to attitude stabilization, because there is a factor 2 in the rate control and prescaler values (factor 3 for rate) in the attitude control. I searched through the airframes, and there are not many that use rate control. I doubled all the gains and removed rate control for bebop, as rate control over datalink is very difficult due to lag.

The prescaler values should also be default 1 for stabilization quat_int, as they already are for float_quat. However, this will mean updating a large amount of airframes, which will require some scripting. I might have time for this later.
2016-04-20 17:35:48 +02:00
Gautier Hattenberger 8e27fba359 [modules] update module section to replace 'load' node 2016-04-19 00:50:33 +02:00
Felix Ruess 7e68b0f306 [airframes] replace subsystem by module
find conf/airframes -name "*.xml" -exec sed -i 's/subsystem/module/g' {} +
this change should be fully backwards compatible
2016-04-18 22:00:56 +02:00
Ewoud Smeur 4bbf237657 updated tudelft conf 2016-04-15 11:12:13 +02:00
Felix Ruess 7ad80d1dbf Merge pull request #1541 from paparazzi/refactor_xsens
Refactor xsens

Factor out the common code and convert the subsystems to modules.
This is NOT tested with real hardware so far (not many people have a XSens).

- `XSENS_OUTPUT_MODE` might be wrong (or set it to output more than needed) in some cases (like for pure IMU mode)
- The different signs (IMU/sensor orientation) between the different xsens types is also weird and unclear.
See also related #924
2016-03-30 23:13:55 +02:00
Felix Ruess 32df800f8a [conf] don't use gps type ublox_utm anymore 2016-03-30 23:03:57 +02:00
Felix Ruess 2e04df3807 convert imu_xsens to module 2016-03-30 22:08:07 +02:00
Felix Ruess 2ab27171fb convert ins_xsens to module 2016-03-30 21:46:09 +02:00
Felix Ruess 2da743bb95 [conf] convert quadrotor_lisa_mx_mavlink to modules only 2016-03-23 16:49:44 +01:00
Felix Ruess dbe0aae9f2 [conf] add air_data to some examples 2016-03-09 14:21:17 +01:00
Felix Ruess 8956cea922 [conf] update easystar_ets example
switch to Lisa/MX with IMU and add NPS target
and convert subsystems to modules
2016-03-07 15:24:35 +01:00
mavlabcourse 9fcef07f45 [rotorcraft][modules] add orange_avoider and MavLab course confs
closes #1539
2016-03-02 14:10:18 +01:00
Gautier Hattenberger c697449e98 [modules] allow to load modules from a flight plan 2016-02-17 23:11:03 +01:00
Felix Ruess 2d2349f421 Merge pull request #1532 from flixr/multigps_ms
support for multiple GPS

To e.g. use piksi as a secondary GPS:
```
<subsystem name="gps" type="ubx">
  <configure name="UBX_GPS_PORT" value="UART2"/>
</subsystem>
<subsystem name="gps" type="piksi">
  <configure name="PIKSI_GPS_PORT" value="UART3"/>
  <configure name="SECONDARY_GPS" value="piksi"/>
</subsystem>
 ```
2016-02-12 18:44:09 +01:00
Felix Ruess 3a8fd5aed4 [conf] bebop2_indi: set G2 to zero for nps 2016-02-09 10:17:13 +01:00
Felix Ruess e4288d1694 [gps] fix typo in piksi makefile and add multi gps example 2016-02-07 22:17:09 +01:00
Felix Ruess b4c944153c [conf] bebop2 nps: fix motor directions 2016-01-31 12:00:50 +01:00
Freek van Tienen 93959f5080 [conf] Remove unused rate controller and settings 2016-01-27 17:23:23 +01:00
Freek van Tienen a3a641c1ee [stabilization] INDI rewrite and rate control 2016-01-27 17:23:23 +01:00
Ewoud Smeur 7009fbb12d updated all airframe files to new rate control setpoint 2015-12-15 15:50:28 +01:00
Felix Ruess f45ece5345 Merge pull request #1474 from EwoudSmeur/motor_update_fix
Bebop2 motor order/spin direction changed for final version
2015-12-12 10:13:16 +01:00
Gautier Hattenberger e77288e355 Merge pull request #1471 from paparazzi/load_modules_from_firmware
[build] Modules can be used like subsystems in airframe files
2015-12-11 21:54:18 +01:00
Ewoud Smeur 257f5d0e45 motor order/spin direction changed 2015-12-11 15:42:03 +01:00
Open UAS d4b6048264 Removed all old airframe quot cruft and added string and arry string types 2015-12-10 22:02:46 +01:00
Gautier Hattenberger 87b03258fc [build] example airframe with only modules 2015-12-09 21:59:39 +01:00
OpenUAS 63fa58e09f LowBat level to a saner level
To have still a flyable drone to return at low battery value
2015-12-08 13:24:56 +01:00
Felix Ruess 99fd02bd6d [conf] fix setup_elle0 2015-12-07 17:58:33 +01:00
Piotr Esden-Tempski 2ff83d3fb3 [Elle0] Added support for Elle0 V1.2.
- Elle0 V1.2 is the release version of the hardware, the UART
  assignement is bit different than the V1.0 preproduction version.
- Adding one more UART for Spektrum usage
- Moved all the board header settings to a common file
- Added aliases for the Elle0 V1.0 and V1.2 versions
- Added makefile for V1.2 version
2015-12-07 05:09:37 -08:00
Felix Ruess 62d176cef3 [mavlink] fix freq of periodic messages 2015-12-02 11:29:37 +01:00
Felix Ruess ed3408c4b8 [conf] cleaup some airframe files
no feedforward gains in rate control anymore...
2015-12-02 00:26:11 +01:00
Felix Ruess 0031d60b34 Merge pull request #1419 'ewoud/rate_control'
"pleasent" rate control without reference model
- updated airframes with removal of rate control reference model
- removed everything related to rate reference
2015-11-25 15:01:44 +01:00
Ewoud Smeur 5637b0f37e updated airframes with removal of rate control reference model 2015-11-25 14:24:08 +01:00
Freek van Tienen 5138012e3f [parrot] Fix Bebop 2 rotation of Magneto and tuning 2015-11-24 14:04:08 +01:00
Freek van Tienen 0105eb9728 [conf] Fix Bebop 2 airframe 2015-11-20 10:40:47 +01:00
Freek van Tienen 25b947558a [conf] Add bebop 2 as example 2015-11-19 01:19:08 +01:00
Felix Ruess c85ec0154a [conf] update airframes after using configure for x_I2C_DEV 2015-11-16 18:48:20 +01:00
Roland Meertens a39d16347d +hover with pix4flow 2015-10-29 11:55:45 +01:00
Felix Ruess ac93faa93b [conf] update setup_elle0 2015-09-22 10:41:06 +02:00
Felix Ruess 6dd0b562f8 [video] use video_config in video_thread
Each "board" (e.g. ARDrone2 or Bebop) defines a video_config_t for each camera,
then you only need to specify 'front_camera' or 'bottom_camera' instead of setting all parameters
2015-09-15 00:20:05 +02:00