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