Commit Graph

15006 Commits

Author SHA1 Message Date
OpenUAS ff1db5ea7d Update mpu60x0_regs.h 2017-08-10 20:25:48 +02:00
Michal Podhradsky 1039b8af4b Minor updates in Vectornav driver and HITL 2017-08-08 15:40:31 -07:00
HooperFly 9102e8d009 Update the ACCEL, MAG, MAG_CURRENT values for aircraft 212, 213, and 223. Also update configuration files with new aircraft definitions (#2099) 2017-08-08 22:39:59 +02:00
Felix Ruess c1b8f73d3a extern declaration of autopilot_reset_in_flight_counter 2017-08-08 12:12:39 +02:00
Felix Ruess 346ef5a8ab fix SRTM download (#2098)
the SRTM download page now redirects to https
so enable support for TLS

needs the Debian/Ubuntu package libocamlnet-ssl-ocaml-dev

only load tls lib if netclient version > 4
2017-08-07 23:27:08 +02:00
Felix Ruess 12f143a0ee generators: specify module in settings_autopilot.xml
add module (header file) even if no settings handler is given
2017-08-07 13:47:31 +02:00
Felix Ruess 6d1b59203b ahrs: init ahrs_aligner in ahrs_init instead of main 2017-08-07 12:24:34 +02:00
Felix Ruess 1ee2994b77 automatically call motor_mixing_init 2017-08-06 20:05:01 +02:00
Felix Ruess a338aaa4fc rotorcraft: remove unneeded includes 2017-08-06 19:59:57 +02:00
Felix Ruess 1d763b575e python: fix svinfo viewer 2017-08-06 13:15:59 +02:00
Felix Ruess 76c9beb7d5 python: fix setting of lable in messages app 2017-08-06 12:57:48 +02:00
Felix Ruess 1684aed01e docker: set locale to C.UTF-8 2017-08-05 19:46:08 +02:00
Ewoud Smeur aab1ba9d47 Merge pull request #2095 from EwoudSmeur/indi_setpoint
Fix INDI rpy setpoint function
2017-08-03 17:29:49 +02:00
Gautier Hattenberger 407bc0d843 [parrot] prevent error when a parameter is not in config file 2017-07-31 23:14:50 +02:00
Michal Podhradsky 2272ce501c Update CHANGELOG.md 2017-07-30 15:32:30 -07:00
Ewoud Smeur 17d300c3db Fix INDI rpy setpoint function
The function quat_from_rpy_cmd_i does not seem to act as desired.
The quat_int controller uses simple conversion from eulers, which works
intuitively on a test case, so this one is preferred.
2017-07-27 13:25:28 +02:00
Gautier Hattenberger b8dbb0dd59 update pprzlink 2017-07-26 16:16:08 +02:00
Hector Garcia de Marina b44fcdc497 Updating gvfFormation.py (#2094)
* compatible with pprzlink 1 and 2. Msgs do not need to be split anymore

* PAPARAZZI_HOME and SRC employed correctly

* PPRZ_SRC is now set correctly
2017-07-26 16:12:33 +02:00
Michal Podhradsky 42ff496e2c Fix typo in VECT3_BOUND_BOX 2017-07-21 11:36:18 -07:00
Gautier Hattenberger 266aba16d0 [pprzlink] update pprzlink
fix some bugs for UDP and IVY python lib
2017-07-20 19:18:07 +02:00
Gautier Hattenberger 9c939bdff8 [sim] protect binding if ac_id field doesn't exists 2017-07-20 19:02:56 +02:00
Gautier Hattenberger 6d60a2c0a8 [parrot] fix parrot tools 2017-07-20 10:50:32 +02:00
Michal Podhradsky 9ddd9da534 Fixed HITL in control panel 2017-07-19 09:03:15 -07:00
Gautier Hattenberger 01731abc1a [tools] fix bug in Parrot utils 2017-07-19 16:46:29 +02:00
HooperFly 326536a5c3 TeensyFly frame config updates, ENAC hexa frame and simulation support, RacerPEX Quad Elle0 configuration (#2089) 2017-07-17 15:01:53 -07:00
Gautier Hattenberger 57d395aa00 [pwm_input] fix and factorize pwm_input configuration 2017-07-12 13:54:54 +02:00
Gautier Hattenberger c0836b42a0 Merge pull request #2085 from paparazzi/swing-integration
Swing integration
2017-07-11 16:20:52 +02:00
Gautier Hattenberger 39b2d0b69b [swing] addressing comments from pull request 2017-07-10 09:46:40 +02:00
Michal Podhradsky 410368a37f [AggieAir] Change telemetry type on Umarim board 2017-07-06 16:09:56 -07:00
Gautier Hattenberger 4b65a35b99 [parrot] factorize Parrot tools 2017-07-06 10:20:34 +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 5c4d80ed68 [pprzlink] fix custom messages validation 2017-07-05 13:52:23 +02:00
Gautier Hattenberger e5f1d63915 [ocaml] fix expanded config generation
when modules where unloaded, the xml node without tag name was causing a
parsing error when extrating the binary data with sd2log tool
2017-06-30 17:27:05 +02:00
Gautier Hattenberger 6a72c5da84 [pprzlink] allow to compile paparazzi with PPRZLINK v2 (#2083)
To activate, build project with correct option:
 PPRZLINK_LIB_VERSION=2.0 make
(note that 'make clean' is usualy required before that)
2017-06-29 10:38:30 +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 28c343468d Refactor battery monitor to use asynchronous i2c API (as does regular paparazzi) (#2082) 2017-06-21 11:29:53 -07: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
Manos Kyriakakis ecebebc36a Fixed missing defines 2017-06-16 12:34:49 +02:00
Ewoud Smeur adc962a257 Merge pull request #2077 from paparazzi/revert-2075-allocation_merge
Revert "WLS control allocation"
2017-06-16 11:21:53 +02: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
Manos Kyriakakis 3ddd5d737b Changes to the Lucas-Kanade optical flow
- Corners are now detected in the previous frame(instead of the new one) and tracked to the new one

- A feature management method is available where corners are kept in memory for as long as they are tracked

- Corners can be weighted against the number of times they have been tracked

- Fast9 detection will be performed again after the number of tracked corners drops below a threshold is met and
  only in the regions of the image that have the less corners (optional)
2017-06-16 04:49:46 +02:00
Ewoud Smeur b2e22be800 WLS control allocation (#2075)
* WLS control allocation
* comments, and configure preferred act values
* keep option open to use pseudo-inverse
* add link to burkardt

Will be testflown asap tomorrow morning on BB1 and BB2
2017-06-15 18:16:19 +02:00
Michal Podhradsky 74f8b74624 First shot towards a separate HITL target (#2062)
* First shot towards a separate HITL target

* Changes in HITL - still doesn't compile

* Added makefile selection

* HITL target works for fixedwing and rotorcraft - still needs cleanup and TLC

* Removed info messages from compilation process
2017-06-13 13:39:10 -07:00
tomvand 9d1e71b1ea Add Gazebo simulation to NPS (#2069)
* Setup code for Gazebo

Currently only partially initializes the fdm struct, which produces
incorrect results in the GCS.
Compilation, however, already seems to work as expected!

Next step is to fetch data from Gazebo.

* Closed-loop flight in Gazebo

Finished the first implementation of the Gazebo FDM. It is now possible
to perform closed-loop flights using Paparazzi together with Gazebo.

Look at the example_ardrone2.xml airframe file for the required gazebo tags.
The following modifications are made:
- change fdm type to "gazebo"
- add definitions for ACTUATOR_THRUSTS and ACTUATOR_TORQUES. These were
  obtained from the JSBsim ardrone model. The oredr is the same as the
  ACTUATOR_NAMES.

The Gazebo world needs an aircraft model that is (by default) named
"paparazzi_uav". This model should include links with the names listed
in ACTUATOR_NAMES in the airframe file, as these are used to apply
forces on the quadrotor.

Known bugs:
- No fixed wing aircraft yet.
- Not all fields in the fdm struct are set. Most of the atmosphere
  fields are not implemented yet.
- AHRS and INS need to be bypassed, these do not yet work correctly.
- No quadrotor models are supplied with paparazzi yet (although it is
  included in the example world file).

* Added cameras, but sensor update causes crash

As in the quick standalone examples, gazebo regularly crashes when
cameras are used.

This is an intermediary commit where most of the camera infrastructure
is present, but not functional yet because of an unknown bug regarding
Gazebo.

* Simplified problem, located crash

Crash occurs when gazebo::sensors::run_once() is called during
the fdm update step. The exception (Ogre internal exception,
cannot create GL vertex buffer) only occurs after the main loop
has been performed a few times (10-20x typically).

Ignoring the error by catching the exception does not make it go
away.

* Add ogre to fdm_gazebo makefile

* Further changes for debugging, not fixed yet

* FIX bug

Turns out that fdm_init and fdm_run_step are not running in the same
thread, which apparently caused some problems with Gazebo.

The gazebo initialization code that starts the server is now moved
to the run_step function, and cameras work fine now.

Next step is to get the images from Gazebo to the video_thread_nps module.

* Transport images to Paparazzi

Added code that converts Gazebo's RGB888 images to Paparazzi's
YUV422 format, and calls the registered video callbacks.

* Finish video streaming

Finished video streaming. Video streaming in the paparazzi master
branch does not seem to work in simulation or even on a real ardrone.
Therefore, reverted to v5.10 viewvideo.c and rtp.c and now the streaming
works correctly.

* Separate UAV model from world.

Added a models/ directory to conf/simulator/gazebo, now the UAV model
can be included in the world file. The models/ dir is added to Gazebo's
search paths when the server is launched, so it does not require
any additional steps from the user.

* Move Gazebo modifications from examples/ardrone2.xml to examples/ardrone2_gazebo.xml

Reverted changes to the original airframe and moved these to a
separate example.

* Remove .sdp file

Remove .sdp file that should not have been included with commits.

* Move changes in conf_example.xml to separate entry

Moved the changes to conf_example.xml (selected flightplan, modules etc.)
to a separate etry named 'ardrone2 (Gazebo)'.

* Clean up changes to computer_vision module

- Removed unused viewvideo_nps.c.
- Add doc comments in video_thread_nps.c

* Fix bug in conf_example

Spaces in aircraft name caused compilation error, changed to
'ardrone2_gazebo'.

* Fix duplicate ac_id in conf_example

* Remove debug code from nps_fdm_gazebo.cpp and add comments

* Reduce weight of cameras

Cameras weighed 10 grams, which was quite much. Now reduced to 1 gram.

* Fix camera not active

During the cleanup of the ardrone gazebo model, the always_on tag
was removed. Now, the cameras are activated during gazebo_video_init

Also removed further debug code from nps_fdm_gazebo.cpp.

* Restore master branch video streamer and rtp encoder

The streamer of the master branh does not work correctly atm, but
this will be moved to a separate issue.

* Fix compilation warnings

Fixed all compilation warnings (tested with Gazebo 8).

Unused arguments are now marked as such.

The NPS makefile is modified to use CXXFLAGS in addition to CFLAGS,
which solves the std=c++11 related warnings.

fdm_gazebo.cpp now ignores deprecated warnings, as all of these
come from Gazebo. Not the cleanest solution, but it works for now.

* Add documentation to fdm module xml and add copyright notices where appropriate

* Fix code style

Fixed code style using the tool included with paparazzi.

* Fix missing model.config

.gitignore caused the model.config files for the Gazebo models to
be excluded from the commit. Added an exception to .gitignore and
added the missing file.

* Fix INS by adding placeholder atmospheric data values

Added placeholder values to the atmospheric section of the NPM
struct. These should be valid for low altitude, low speed flights.

Previously, these values were uninitialized which caused INS to fail
(incorrect altitude estimates). With these placeholder values,
the INS works ok and no longer needs to be bypassed.

* Fix makefile targets in video_rtp_stream and cv_colorfilter

(Re)added target="ap|nps" attribute to the module .xml files.
2017-06-13 22:12:11 +02:00
guidoAI 30d5e73242 Exponential gain landing pull request (#2071)
* Adding bebop to my own conf file

* Added Bebop 2 OF to my conf file

* Introducing an exponentially decaying gain and a rework of the optical flow landing module

* Fixed code style, set parameters to standard optical flow control, tested everything on Bebop 2.

* Implemented all remarks, placing function definitions in the c-file, getting the state properly, getting the time properly, making div_factor a setting.

* Set minimum of D-gain to 0
2017-06-13 22:06:42 +02:00
Michal Podhradsky 124f04fb0f Added coment to actuators_asctec to clarify missing break statement (so Coverity is happy) 2017-06-13 11:29:06 -07:00