* [python] setup venv and update pprzlink.
* [supervision] open terminal in the venv if it exists.
* clean setup.py
* guard venv boostrap
* [install] Use distro instead of lsb_release.
---------
Co-authored-by: Fabien-B <Fabien-B@github.com>
Most of the pprz.xlib is used by the legacy GCS only, using in
particular the deprecated canvans.
This PR is isolating the relevant part to the GCS folder, so it will be
easier in the future to avoid the compilation of this part by default.
Conditional compilation of the old GCS: test if glade is installed
to build supervision, logplotter and the (legacy) GCS.
When adding a test node to a makefile section, with required compilation
flags, include and other options, all the files (not arch dependent
files) can be compiled with a TAP compatible program, included in the
standard tests of the CI servers.
Not all module's XML files are converted, but a large part of the most
important parts are already covered. More will be added later. The
number of tested airframes (full compilation of all targets) have been
reduced to speed the CI compile time but still covers the relevant
architecture and boards.
The main benefit is that the overall coverage is already better than
before as previous test aircraft were compiling more or less the same
part of the airborne code, while this new mechanism is more efficient to
test modules not included in any config.
This new script is doing the same than before but don't rely on the
ocaml install which was a problem when mixing opam and system install.
Note that when updating, git will complain about the already existing
file 'paparazzi'. So it is necessary to delete the old file (or run
'make clean') before updating the code.
* 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
* 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.
* [rtcm] RTK with UBlox8 modules
based on #1902, with fragmentation of packets to fit in RF modems if
necessary
* fix warnings
* [pprzlink] update pprzlink for RXMRTCM message
* [rtcm] add missing files
This is the result of a student project to develop a new paparazzi center based on Python/Qt.
See http://wiki.paparazziuav.org/wiki/Paparazzi_Center/Evolutions for the main idea and development process.
It can be tested by running the main paparazzi launcher with the -python option. I more convenient way might be added later.
This PR is mostly a way to not loose this work, and other people are encourage to improve it in many aspects (HMI, functionalities, ...).
Improved:
- pocketdrone avoidance flight
- stereo protocol only we use
- avoidance module that takes distances in meters and angles of these measure devices and outputs a velocity or attitude ref.
closes#1462
* master: (316 commits)
[conf] LINK_HOST is long obsolete
[conf] remove nps target from some airframes
[tests] update docs
[tests] make compile_all_aircrafts a bit more robust
[stm32][spi] fix typo
[stm32][f1][spi] fix gpio init slave mode
[spi] fixed spi initialization stm32f1
[qr_code] Dependency and comments
[datalink] xbee_api: message instead of warning on non-default baud rate
[conf] rename ARDrone2 Flight session to Flight UDP/WiFi
[module] add a reset option and setting on meteo stick diff pressure offset
[module] add pwm based angle of attack sensor
[telemetry] also register invariant filter for telemetry
[module] update and fix meteo_stick module
[generators] fix generation of local waypoints
[conf] TUD/OpenUAS Fixes
added correct function inputs
[conf] TUD fixes
[tests] fix test_all_confs
fix typo
...