Removed the subdir.
This commit is contained in:
69
pyrate/README.md
Normal file
69
pyrate/README.md
Normal file
@ -0,0 +1,69 @@
|
||||
# Pyrate ⛵🛥️🗺
|
||||
|
||||
[](https://gitlab.sailingteam.hg.tu-darmstadt.de/informatik/pyrate/-/commits/master)
|
||||
[](https://gitlab.sailingteam.hg.tu-darmstadt.de/informatik/pyrate/-/commits/master)
|
||||
[](https://gitlab.sailingteam.hg.tu-darmstadt.de/informatik/pyrate/-/commits/master)
|
||||
|
||||
[](http://informatik.pages.sailingteam.hg.tu-darmstadt.de/pyrate/)
|
||||
[](https://devguide.python.org/#status-of-python-branches)
|
||||
|
||||
This project offers algorithms targeted towards autonomous surface vehicles implemented in the Python 3.6+ programming language.
|
||||
The functionality included in the Pyrate Python package enables the perception and processing of environmental features, planning of strategies and trajectories as well as action taking.
|
||||
Pyrate is therefore divided into multiple distinct subpackages *sense*, *plan* and *act*, as well as the *common* package for additional features such as file I/O and mathematical abstractions.
|
||||
|
||||
The sense subpackage includes algorithms for computer vision, single and multi target state estimation, data smoothing and more.
|
||||
In the plan subpackage, the perceived state of the agent and its environment is processed to compute trajectories for long- and short-term navigation as well as strategic decisions.
|
||||
This also includes methods for gradient based and gradient free optimization methods.
|
||||
Finally, the act subpackage contains state controllers to carry out planned behavior.
|
||||
|
||||
<img src="resources/project_structure.png" width="1080">
|
||||
|
||||
This project aims at providing the algorithmic backend for the ROS driven on-board systems and simulations.
|
||||
Models of the robot's mechanics, electronics and its environment shall be developed within their own respective repository.
|
||||
Furthermore, technical specifications, maps and so on go into a separate project repository as well.
|
||||
This ensures a clean separation of distinct requirements for quality assurance and responsibilities that distinguish these projects.
|
||||
|
||||
## Features
|
||||
|
||||
These are the currently supported features:
|
||||
|
||||
- Sense:
|
||||
- Filters:
|
||||
- Kalman filters for linear and non-linear state estimation
|
||||
- A gaussian mixture PHD filter for multi target tracking
|
||||
- Smoothers:
|
||||
- Rauch-Tung-Striebel based smoothing of time series data.
|
||||
- Extended and Unscented Kalman filter extension to the RTS smoothing approach for non-linear models.
|
||||
- Vision:
|
||||
- Base classes for simple image regions, e.g. lines and boxes.
|
||||
- Horizon line detection as basis for later obstacle localization.
|
||||
- Plan:
|
||||
- Geometric primitives for both cartesian and polar coordinate systems
|
||||
- Locations, polygons and routes
|
||||
- Transformations, unary and binary geometric operations based on [shapely](https://shapely.readthedocs.io/en/latest/project.html)
|
||||
- Graphs for use in navigation
|
||||
- Base classes and common abstractions like (de)serialization and pruning
|
||||
- Generation of graphs covering the entire globe
|
||||
- Act
|
||||
- Controllers
|
||||
- PID & LQR implementations
|
||||
- Optional anti-windup
|
||||
- Common
|
||||
- Chart IO
|
||||
- Discovery and loading of obstacles, e.g. landmasses, from S-57 chart files
|
||||
- Writing and querying of a [spatialite database](https://www.gaia-gis.it/fossil/libspatialite) containing obstacles/polygons
|
||||
- Raster dataset IO
|
||||
- Math helpers
|
||||
- Other:
|
||||
- [Hypothesis](https://hypothesis.readthedocs.io/en/latest/) driven testing environment (including generators for simple testing of geometric calculations)
|
||||
- Documentation generated by [Sphinx](https://www.sphinx-doc.org/en/master/)
|
||||
- Continuous integration (CI) pipeline with linting, type checking, auto formatting, testing and documentation generation
|
||||
|
||||
**Documentation**: For a complete overview over the project, how to set things up and contribute,
|
||||
please visit [our documentation](http://informatik.pages.sailingteam.hg.tu-darmstadt.de/pyrate/).
|
||||
It can also be reached by the "External Wiki" link on the left sidebar the project overview.
|
||||
The CI pipeline ensures that its content is always up to date with the current `master` branch.
|
||||
|
||||
**New Features**: Upcoming or required features and existing problems can be found, added and discussed in the
|
||||
[Gitlab issues](https://gitlab.sailingteam.hg.tu-darmstadt.de/informatik/pyrate/-/boards)
|
||||
and [merge requests](https://gitlab.sailingteam.hg.tu-darmstadt.de/informatik/pyrate/-/merge_requests).
|
Reference in New Issue
Block a user