X-Git-Url: https://rtime.felk.cvut.cz/gitweb/hubacji1/rrts.git/blobdiff_plain/62de1d077f841b50761a245c86ca3b590d3b71cd..HEAD:/README.md diff --git a/README.md b/README.md index 5281101..c223498 100644 --- a/README.md +++ b/README.md @@ -1,50 +1,53 @@ -# RRT\* algorithm + + +Merged into http://rtime.felk.cvut.cz/gitweb/hubacji1/iamcar2.git + +Not updated anymore. + +RRT\* algorithm +=============== + RRTS is a C++ library with implementation of RRT\* planning algorithm. -# License +License +------- + The project is published under [GNU GPLv3][1]. [1]: ./LICENSE -# Build -To build the project run the following commands: -``` -mkdir build -cd build -cmake ../ -make -``` +Dependencies +------------ -To build with ninja: -``` -mkdir build -cd build -cmake -DCMAKE_BUILD_TYPE=Release -G Ninja ../ -ninja -v -``` - -# RRT Extensions -There is basic RRT\* algorithm in `rrts.cc` file. To test different approaches -and upgrades to RRT, *extensions* are declared in `rrtext.h` and implemented in -`rrtextX.cc`, where `X` is the number of an extension. +- `libbcar` (as submodule) +- `libjsoncpp-dev` + +Build +----- -## Implemented extensions -There is a list of implemented extensions and what they include: -- `rrtext4.cc`: store RRT nodes to grid, -- `rrtext3.cc`: Dijkstra algorithm for path optimization, -- `rrtext2.cc`: [cute c2][] for collision detection, -- `rrtext1.cc`: different cost for building and searching. +To build the project run the following commands: + + mkdir build + cd build + cmake ../ + make -[cute c2]: https://github.com/RandyGaul/cute_headers/blob/master/cute_c2.h +To build with ninja: -## Compound extensions -There is a list of classes with reference to extensions used: -- `RRTCE1`: 1, 2. + mkdir build + cd build + cmake -DCMAKE_BUILD_TYPE=Release -G Ninja ../ + ninja -v -# Contribute -Use [OneFlow][3] branching model and keep the [changelog][4]. +Contribute +---------- Write [great git commit messages][5]: + 1. Separate subject from body with a blank line. 2. Limit the subject line to 50 characters. 3. Capitalize the subject line. @@ -53,18 +56,31 @@ Write [great git commit messages][5]: 6. Wrap the body at 72 characters. 7. Use the body to explain what and why vs. how. -When adding feature or hotfix, use [Test-driven development (TDD)][2]: -1. Add tests to `ut` folder, add methods declaration, basic structure. -2. Run tests (just `make` in `build` folder), check that tests *fail*. -3. Implement functionality. -4. Run tests, check that tests *pass*. -5. Refactor. - -[2]: https://en.wikipedia.org/wiki/Test-driven_development -[3]: https://www.endoflineblog.com/oneflow-a-git-branching-model-and-workflow -[4]: ./CHANGELOG.md [5]: https://chris.beams.io/posts/git-commit/ -# Documentation +Use [git send-email][6]: + + git config format.subjectPrefix "PATCH rrts" + git config sendemail.to "jiri.vlasak.2@cvut.cz" + +[6]: https://git-send-email.io/ + +Documentation +------------- + The documentation is generated by Doxygen, at least version `1.8.15` is needed. Just run `doxygen` in the project root directory. + + +RRT Extensions +============== + +There is basic RRT\* algorithm in `rrts.cc` file. To test different approaches +and upgrades to RRT, _extensions_ are declared in `rrtext.hh` and implemented in +`src/rrtextN.cc`, where `N` is the number of an extension. + +For more information, see the `incl/rrtext.hh` header file or the generated +documentation. + +RRT extensions are not to be used as the final planner. Instead, the _RRT* +planners_ declared in `incl/rrtsp.hh` are to be used as the final planner.