]> rtime.felk.cvut.cz Git - hubacji1/rrts.git/blobdiff - README.md
Update readme
[hubacji1/rrts.git] / README.md
index d40265dcceba524f2551f6b3b1f0322d0bdeffca..c223498260e78353f526b75853ed2fcbbdd63d1e 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,77 +1,53 @@
-# RRT\* algorithm
+<!--
+SPDX-FileCopyrightText: 2021 Jiri Vlasak <jiri.vlasak.2@cvut.cz>
+
+SPDX-License-Identifier: GPL-3.0-only
+-->
+
+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
+Dependencies
+------------
+
+- `libbcar` (as submodule)
+- `libjsoncpp-dev`
+
+Build
+-----
+
 To build the project run the following commands:
-```
-mkdir build
-cd build
-cmake ../
-make
-```
+
+    mkdir build
+    cd build
+    cmake ../
+    make
 
 To build with ninja:
-```
-mkdir build
-cd build
-cmake -DCMAKE_BUILD_TYPE=Release -G Ninja ../
-ninja -v
-```
-
-## Dependencies
-- `libbcar`
-- `libjsoncpp-dev`
 
-# 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.
-
-## Implemented extensions
-There is a list of implemented extensions and what they include:
-- `rrtext9.cc`: store RRT nodes to 3D grid,
-- `rrtext8.cc`: 3D [K-d tree][] for node storage.
-- `rrtext7.cc`: 2D [K-d tree][] for node storage.
-- `rrtext6.cc`: Reeds and Shepp for both -- building and search costs,
-- `rrtext5.cc`: different cost for building (Reeds and Shepp) and searching
-  (Euclidean distance),
-- `rrtext4.cc`: store RRT nodes to 2D grid,
-- `rrtext3.cc`: Dijkstra algorithm for path optimization,
-- `rrtext2.cc`: [cute c2][] for collision detection,
-- `rrtext1.cc`: different cost for building (Reeds and Shepp) and searching
-  (Matej's heuristics).
-
-[cute c2]: https://github.com/RandyGaul/cute_headers/blob/master/cute_c2.h
-[K-d tree]: https://en.wikipedia.org/wiki/K-d_tree
-
-## Compound extensions
-There is a list of classes with reference to extensions used:
-- `RRTCE1`: 1, 2.
-- `RRTCE2`: 2, 5.
-- `RRTCE3`: 2, 6.
-- `RRTCE4`: 1, 2, 4.
-- `RRTCE5`: 2, 4, 5.
-- `RRTCE6`: 2, 4, 6.
-- `RRTCE7`: 2, 3, 4, 5.
-- `RRTCE8`: 2, 3, 4, 6.
-- `RRTCE9`: 2, 3, 4, 1.
-- `RRTCE10`: 2, 3, 7, 6.
-- `RRTCE11`: 2, 3, 7, 5.
-- `RRTCE12`: 2, 3, 7, 1.
-- `RRTCE13`: 2, 3, 8, 6.
-- `RRTCE14`: 2, 3, 8, 1.
-- `RRTCE15`: 2, 3, 9, 6.
-- `RRTCE16`: 2, 3, 9, 1.
-
-# Contribute
-Use [OneFlow][3] branching model and keep the [changelog][4].
+    mkdir build
+    cd build
+    cmake -DCMAKE_BUILD_TYPE=Release -G Ninja ../
+    ninja -v
+
+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.
@@ -80,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.