]> rtime.felk.cvut.cz Git - hubacji1/rrts.git/blob - README.md
Use macros to comment out the code
[hubacji1/rrts.git] / README.md
1 RRT\* algorithm
2 ===============
3
4 RRTS is a C++ library with implementation of RRT\* planning algorithm.
5
6 License
7 -------
8
9 The project is published under [GNU GPLv3][1].
10
11 [1]: ./LICENSE
12
13 Dependencies
14 ------------
15
16 - `libbcar` (as submodule)
17 - `libjsoncpp-dev`
18
19 Build
20 -----
21
22 To build the project run the following commands:
23
24     mkdir build
25     cd build
26     cmake ../
27     make
28
29 To build with ninja:
30
31     mkdir build
32     cd build
33     cmake -DCMAKE_BUILD_TYPE=Release -G Ninja ../
34     ninja -v
35
36 Contribute
37 ----------
38
39 Write [great git commit messages][5]:
40
41 1. Separate subject from body with a blank line.
42 2. Limit the subject line to 50 characters.
43 3. Capitalize the subject line.
44 4. Do not end the subject line with a period.
45 5. Use the imperative mood in the subject line.
46 6. Wrap the body at 72 characters.
47 7. Use the body to explain what and why vs. how.
48
49 [5]: https://chris.beams.io/posts/git-commit/
50
51 Documentation
52 -------------
53
54 The documentation is generated by Doxygen, at least version `1.8.15` is needed.
55 Just run `doxygen` in the project root directory.
56
57
58 RRT Extensions
59 ==============
60
61 There is basic RRT\* algorithm in `rrts.cc` file. To test different approaches
62 and upgrades to RRT, _extensions_ are declared in `rrtext.hh` and implemented in
63 `src/rrtextN.cc`, where `N` is the number of an extension.
64
65 For more information, see the `incl/rrtext.hh` header file or the generated
66 documentation.
67
68 RRT extensions are not to be used as the final planner. Instead, the _RRT*
69 planners_ declared in `incl/rrtsp.hh` are to be used as the final planner.