]> rtime.felk.cvut.cz Git - hubacji1/iamcar.git/blob - CHANGELOG.md
32a4088e8eb622496bebe7aff116b7696f8e335a
[hubacji1/iamcar.git] / CHANGELOG.md
1 # Changelog
2 All notable changes to this project will be documented in this file.
3
4 The format is based on [Keep a Changelog][] and this project adheres to
5 [Semantic Versioning][].
6
7 [Keep a Changelog]: http://keepachangelog.com/
8 [Semantic Versioning]: http://semver.org/
9
10 ## Unreleased
11 ### Fixed
12 - Optimize path until optimal.
13
14 ## 0.2.0 - 2018-10-06
15 ### Added
16 - Compilation macros that can specify output binary parameters.
17 - Auxiliary build and test scripts.
18 - Nearest neighbour `nn2` procedure based on linear search over `nodes()`.
19 - Nearest neighbour `nn3` procedure based on indexing over `y` axis.
20 - Near vertices `nv2` procedure based on indexing over `y` axis.
21 - OpenMP parallelization of nearest neighbour and near vertices procedures.
22 - Rebase method that changes (rebases) RRT root to another RRT node.
23 - Structure and method for logging tree edges.
24 - Time dimension to RRT node.
25 - Obstacle distance to RRT Node.
26 - Test planner `T2` based on RRT\* [Karaman2011] with steering from newly added
27   nodes to goal.
28 - OpenGL 2.1 plot using SDL2.
29 - `nn4` procedure - set node's heading to heading of currently comparing node.
30 - Add optimize path method based on [Islam2012]'s *Path Optimize* procedure.
31 - Update cost method of `RRTNode` that updates cumulative costs of all
32   children.
33
34 ### Changed
35 - Build with Ninja.
36 - Split `connect` and `rewire` procedures from Karaman2011's `next` procedure.
37 - Main planning loop logic.
38 - Path optimization of `T2` based on Dijkstra between cusps points.
39
40 ### Fixed
41 - Deletion of nodes returned by `steer` but not used.
42 - Scaling for `iy_` nearest neighbour search structure.
43
44 ## 0.1.0 - 2018-07-05
45 ### Added
46 - Changelog, license, readme.
47 - Class for RRT nodes.
48 - Base class for RRT planners.
49 - RRT primitive procedures:
50         - cost,
51         - nearest neigbour search,
52         - samling procedure,
53         - steering procedure.
54 - RRT planner based on [LaValle1998] paper.
55 - Main program (input/output) with cmake file.
56 - Obstacles class (circle obstacle, segment obstacle).
57 - Collision check function to base RRT class.
58 - Bicycle car model used for collision check with car frame.
59 - Near vertices procedure.
60 - RRT\* planner based on [Karaman2011] paper.
61 - Alternative steering procedure.
62 - Reeds and Shepp cost, steering procedures.
63 - Bicycle car simulation.
64 - Closed loop controller with PI for speed and PurePursuit based on
65   [Coulter1992] paper for steering.
66 - Testing parking scenarios.
67 - Plot python script.
68 - RRT planner based on [Kuwata2008] paper.
69 - RRT testing planner `T1`. First node of steer add as in RRT\* (connect and
70   rewire procedures) then the rest stick to the first node without rewiring.
71 - Cost log and legend with cost in plot.
72
73 ### Changed
74 - Adding JSON ouput for edges, samples.
75 - Steer procedure `st2` use bicycle car model.
76
77 ### Fixed
78 - Memory leaks.
79 - RRTNode heading overflow in constructor.
80 - Sampling range in `sa1` algorithm.