]>
rtime.felk.cvut.cz Git - hubacji1/iamcar.git/log
Jiri Vlasak [Mon, 3 Dec 2018 08:15:12 +0000 (09:15 +0100)]
Release version 0.3.0
### Added
- Cost distribution plot function.
- Heading independent near vertices procedure inspired by `nn4`.
### Changed
- Test script.
- `nn4` use Euclidean distance while independently on RRT framework cost used.
### Removed
- `opt_part` procedure (unused).
### Fixed
- Dijkstra path optimization only if goal found.
- Workaround used for optimizing part of path. There is a bug that causes
collision when steering from `i` to `i + 1` node of path from `tlog`. See
commit `
9186f27 `.
Jiri Hubacek [Tue, 9 Oct 2018 08:00:10 +0000 (10:00 +0200)]
Add load trajectory from file functionality
This is for debug purposes. Scenario must include one trajectory in the
JSON format that is used in output.
Jiri Hubacek [Fri, 9 Nov 2018 13:43:34 +0000 (14:43 +0100)]
Fix plot labels and poses markers
Jiri Hubacek [Fri, 9 Nov 2018 13:39:25 +0000 (14:39 +0100)]
Fix frame plot
Jiri Hubacek [Fri, 9 Nov 2018 13:38:54 +0000 (14:38 +0100)]
Update car dimensions in plot
Jiri Hubacek [Fri, 9 Nov 2018 13:37:06 +0000 (14:37 +0100)]
Add percentiles and colors to gplot
Jiri Hubacek [Fri, 9 Nov 2018 13:36:13 +0000 (14:36 +0100)]
Fix Python 2 compatibility
Jiri Hubacek [Fri, 9 Nov 2018 13:35:32 +0000 (14:35 +0100)]
Update labels in gplot
Jiri Hubacek [Fri, 9 Nov 2018 13:32:01 +0000 (14:32 +0100)]
Enable edges log when MAX_TIME
Jiri Hubacek [Fri, 9 Nov 2018 13:31:05 +0000 (14:31 +0100)]
Include heading to JSON edges log
Jiri Hubacek [Fri, 9 Nov 2018 13:29:36 +0000 (14:29 +0100)]
Add collide with car frame procedure
Jiri Hubacek [Fri, 9 Nov 2018 13:29:13 +0000 (14:29 +0100)]
Change goal found to include IS_NEAR macro
Jiri Hubacek [Mon, 22 Oct 2018 13:22:56 +0000 (15:22 +0200)]
Merge branch 'feature/move-opt-path-to-base'
Jiri Hubacek [Mon, 22 Oct 2018 13:21:29 +0000 (15:21 +0200)]
Remove optimize part procedure
Jiri Hubacek [Mon, 22 Oct 2018 13:20:36 +0000 (15:20 +0200)]
Move path optimization procedure to RRT base
Jiri Hubacek [Mon, 22 Oct 2018 12:57:43 +0000 (14:57 +0200)]
Move EDIST macro definition to header file
Jiri Hubacek [Fri, 19 Oct 2018 19:24:55 +0000 (21:24 +0200)]
Update changelog
Jiri Hubacek [Fri, 19 Oct 2018 19:18:53 +0000 (21:18 +0200)]
Update gplot script
- Change headings, legends.
- Change folders.
Jiri Hubacek [Fri, 19 Oct 2018 19:16:58 +0000 (21:16 +0200)]
Add print #nodes, success rate functions to gplot
Jiri Hubacek [Fri, 19 Oct 2018 19:15:19 +0000 (21:15 +0200)]
Plot 2 subplots
- First subplot contains final path.
- Second subplot contains all the RRT* edges.
Jiri Hubacek [Fri, 19 Oct 2018 19:14:26 +0000 (21:14 +0200)]
Remove cusps points from plot
Jiri Hubacek [Fri, 19 Oct 2018 19:11:19 +0000 (21:11 +0200)]
Use Euclidean distance in `nn4`
Jiri Hubacek [Fri, 19 Oct 2018 05:35:49 +0000 (07:35 +0200)]
Change to `hist`, make yscale in gplot
Jiri Hubacek [Sun, 14 Oct 2018 20:41:11 +0000 (22:41 +0200)]
Fix Last trajectory time plot in gplot
Jiri Hubacek [Sun, 14 Oct 2018 20:40:35 +0000 (22:40 +0200)]
Update successrate, maxtime gplot
Jiri Hubacek [Sun, 14 Oct 2018 17:20:03 +0000 (19:20 +0200)]
Add directories as variables to test script
Jiri Hubacek [Thu, 11 Oct 2018 11:54:39 +0000 (13:54 +0200)]
Add plot max time function
Jiri Hubacek [Thu, 11 Oct 2018 11:19:02 +0000 (13:19 +0200)]
Skip non-existent values in gplot
Jiri Hubacek [Thu, 11 Oct 2018 07:38:14 +0000 (09:38 +0200)]
Update plot cost dist with legend
Jiri Hubacek [Thu, 11 Oct 2018 07:34:29 +0000 (09:34 +0200)]
Change USE_TMAX behaviour
- Exit planer also when goal found.
- Remove nearest neighbour search when goal not found.
Jiri Hubacek [Tue, 9 Oct 2018 16:55:32 +0000 (18:55 +0200)]
Merge branch 'feature/optimize-path-part'
Jiri Hubacek [Tue, 9 Oct 2018 16:02:52 +0000 (18:02 +0200)]
WORKAROUND optimize path, not just find
There is already path found in `tlog`. The last path should be just
optimized. It's assumed that path from `i` to `i + 1` is free in the
last path from `tlog`.
There is BUG in the application (maybe in `tmp_cusps` to `cusps`
translation?) that introduce inconsistency in this problem, so path from
`i` to `i + 1` is colliding.
This patch is workaround for such a behaviour.
Jiri Hubacek [Tue, 9 Oct 2018 16:01:52 +0000 (18:01 +0200)]
Fix Dijkstra node parent init
Jiri Hubacek [Tue, 9 Oct 2018 16:30:47 +0000 (18:30 +0200)]
Merge branch 'feature/no-heading-near-vertices'
Jiri Hubacek [Tue, 9 Oct 2018 16:29:41 +0000 (18:29 +0200)]
Add heading independent near vertices procedure
Jiri Hubacek [Tue, 9 Oct 2018 14:01:16 +0000 (16:01 +0200)]
Merge branch 'fix/optimize-path'
Jiri Hubacek [Tue, 9 Oct 2018 11:15:48 +0000 (13:15 +0200)]
Fix missing parent, cost of Dijkstra node
Jiri Hubacek [Tue, 9 Oct 2018 11:14:35 +0000 (13:14 +0200)]
Fix missing root in cusps
Jiri Hubacek [Tue, 9 Oct 2018 13:48:52 +0000 (15:48 +0200)]
Merge branch 'feature/measurement'
Jiri Hubacek [Tue, 9 Oct 2018 13:48:45 +0000 (15:48 +0200)]
Update changelog
Jiri Hubacek [Sun, 7 Oct 2018 00:15:05 +0000 (02:15 +0200)]
Fix unfinished path in Dijkstra path optimization
Jiri Hubacek [Sat, 6 Oct 2018 21:16:41 +0000 (23:16 +0200)]
Add cost distribution plot function
Jiri Hubacek [Sat, 6 Oct 2018 21:16:11 +0000 (23:16 +0200)]
Modify test script for current measurements
Jiri Hubacek [Sat, 6 Oct 2018 20:32:33 +0000 (22:32 +0200)]
Plot success rate from folders
Specify folders such that are not dependent on planner name.
Jiri Hubacek [Sat, 6 Oct 2018 19:10:25 +0000 (21:10 +0200)]
Fix heading overwriting in `nn4`
Jiri Hubacek [Sat, 6 Oct 2018 18:07:18 +0000 (20:07 +0200)]
Fix cusps detection in T2 next()
Jiri Hubacek [Sat, 6 Oct 2018 12:35:55 +0000 (14:35 +0200)]
Merge branch 'hotfix/0.2.1'
Jiri Hubacek [Sat, 6 Oct 2018 12:35:11 +0000 (14:35 +0200)]
Release version 0.2.1
### Fixed
- Optimize path until optimal.
Jiri Hubacek [Sat, 6 Oct 2018 12:34:09 +0000 (14:34 +0200)]
Fix path optimization while not optimal
Jiri Hubacek [Sat, 6 Oct 2018 12:31:03 +0000 (14:31 +0200)]
Merge branch 'release/0.2.0'
Jiri Hubacek [Sat, 6 Oct 2018 12:29:47 +0000 (14:29 +0200)]
Release version 0.2.0
### Added
- Compilation macros that can specify output binary parameters.
- Auxiliary build and test scripts.
- Nearest neighbour `nn2` procedure based on linear search over `nodes()`.
- Nearest neighbour `nn3` procedure based on indexing over `y` axis.
- Near vertices `nv2` procedure based on indexing over `y` axis.
- OpenMP parallelization of nearest neighbour and near vertices procedures.
- Rebase method that changes (rebases) RRT root to another RRT node.
- Structure and method for logging tree edges.
- Time dimension to RRT node.
- Obstacle distance to RRT Node.
- Test planner `T2` based on RRT\* [Karaman2011] with steering from newly added
nodes to goal.
- OpenGL 2.1 plot using SDL2.
- `nn4` procedure - set node's heading to heading of currently comparing node.
- Add optimize path method based on [Islam2012]'s *Path Optimize* procedure.
- Update cost method of `RRTNode` that updates cumulative costs of all
children.
### Changed
- Build with Ninja.
- Split `connect` and `rewire` procedures from Karaman2011's `next` procedure.
- Main planning loop logic.
- Path optimization of `T2` based on Dijkstra between cusps points.
### Fixed
- Deletion of nodes returned by `steer` but not used.
- Scaling for `iy_` nearest neighbour search structure.
Jiri Hubacek [Sat, 6 Oct 2018 12:28:44 +0000 (14:28 +0200)]
Merge branch 'feature/refactor-optimize-path'
Jiri Hubacek [Sat, 6 Oct 2018 12:05:55 +0000 (14:05 +0200)]
Return path to first cusps if goal not found
Jiri Hubacek [Sat, 6 Oct 2018 11:19:06 +0000 (13:19 +0200)]
Remove unused vector, use `npi` for parent node
Jiri Hubacek [Sat, 6 Oct 2018 10:57:22 +0000 (12:57 +0200)]
Fix searching for cusps points
Jiri Hubacek [Fri, 5 Oct 2018 14:43:58 +0000 (16:43 +0200)]
Add only TMAX limited main loop
Jiri Hubacek [Fri, 5 Oct 2018 15:24:39 +0000 (17:24 +0200)]
Merge branch 'feature/refactor'
Jiri Hubacek [Fri, 5 Oct 2018 14:34:07 +0000 (16:34 +0200)]
Optimize path, rebase to first cusps node
Jiri Hubacek [Fri, 5 Oct 2018 14:33:19 +0000 (16:33 +0200)]
Limit outer while with #iterations
Jiri Hubacek [Fri, 5 Oct 2018 14:32:02 +0000 (16:32 +0200)]
Find nn if not goal found else nn is goal
Jiri Hubacek [Fri, 5 Oct 2018 14:11:54 +0000 (16:11 +0200)]
Return from rebase if new root is null
Jiri Hubacek [Fri, 5 Oct 2018 14:07:59 +0000 (16:07 +0200)]
Return false if no cusps in opt_path()
Jiri Hubacek [Fri, 5 Oct 2018 14:07:04 +0000 (16:07 +0200)]
Not return trajectory if init node is null
Jiri Hubacek [Fri, 5 Oct 2018 14:05:54 +0000 (16:05 +0200)]
Return false if nn() in next() fails
Jiri Hubacek [Fri, 5 Oct 2018 08:10:42 +0000 (10:10 +0200)]
Optimize when goal not found
Jiri Hubacek [Fri, 5 Oct 2018 08:09:33 +0000 (10:09 +0200)]
Make optimization independent on goal
Jiri Hubacek [Fri, 5 Oct 2018 07:57:58 +0000 (09:57 +0200)]
Log only if trajectory cost is better
Jiri Hubacek [Thu, 4 Oct 2018 11:46:51 +0000 (13:46 +0200)]
Update changelog
Jiri Hubacek [Thu, 4 Oct 2018 11:46:04 +0000 (13:46 +0200)]
Merge branch 'feature/dijkstra-optimize-path'
Jiri Hubacek [Thu, 4 Oct 2018 11:45:09 +0000 (13:45 +0200)]
Run path optimization in each iteration
Jiri Hubacek [Thu, 4 Oct 2018 11:40:05 +0000 (13:40 +0200)]
Use Dijkstra in path optimization
When optimizing path, use Dijkstra between cusps nodes. Use Reeds and
Shepp cost between cusps nodes when connecting nodes is collision free
and some high value otherwise.
When Dijkstra between cusps found, add path created by steering between
cusps nodes.
Jiri Hubacek [Thu, 4 Oct 2018 08:27:03 +0000 (10:27 +0200)]
Fix missing cusps points
Jiri Hubacek [Thu, 4 Oct 2018 08:14:53 +0000 (10:14 +0200)]
Return false if no trajectory found
Jiri Hubacek [Thu, 4 Oct 2018 08:13:21 +0000 (10:13 +0200)]
Merge branch 'feature/refactor'
Jiri Hubacek [Thu, 4 Oct 2018 08:11:54 +0000 (10:11 +0200)]
Note bug in optimize part method
Jiri Hubacek [Thu, 4 Oct 2018 07:29:33 +0000 (09:29 +0200)]
Use variable for steered size
Jiri Hubacek [Thu, 4 Oct 2018 07:22:02 +0000 (09:22 +0200)]
Do not remove nodes from RRT
Jiri Hubacek [Thu, 4 Oct 2018 07:06:10 +0000 (09:06 +0200)]
Add RRTNode's update cost method
Jiri Hubacek [Wed, 3 Oct 2018 05:55:29 +0000 (07:55 +0200)]
Merge branch 'feature/optimize-cusps'
Jiri Hubacek [Wed, 3 Oct 2018 05:54:58 +0000 (07:54 +0200)]
Update changelog
Jiri Hubacek [Wed, 3 Oct 2018 05:47:44 +0000 (07:47 +0200)]
Update optimize path method
Based on [Islam2012] *Path Optimization* procedure. From goal try the
longest possible subpath along cusps points. If collide, restart the
goal to previously tested cusps node. Continue until root.
Jiri Hubacek [Wed, 3 Oct 2018 05:27:26 +0000 (07:27 +0200)]
Include root/goal to cusps
Jiri Hubacek [Wed, 3 Oct 2018 05:21:57 +0000 (07:21 +0200)]
TMP? Allow full Reeds and Shepp path
Jiri Hubacek [Tue, 2 Oct 2018 16:22:10 +0000 (18:22 +0200)]
Add optimize path, optimize part
Optimize path method optimizes parts between cusps nodes of the last
trajectory found.
Optimize part method substitutes part of the last trajectory by nodes
returned by steer method if don't collide.
Jiri Hubacek [Tue, 2 Oct 2018 13:58:33 +0000 (15:58 +0200)]
Plot cusps
Jiri Hubacek [Tue, 2 Oct 2018 13:16:36 +0000 (15:16 +0200)]
Add nn4 procedure
Add nearest neighbour procedure with modifying node's heading when
comparing to others nodes. Node's heading is set to comparing node's
heading.
Jiri Hubacek [Tue, 2 Oct 2018 12:56:19 +0000 (14:56 +0200)]
Update GL screen width/height
Jiri Hubacek [Tue, 2 Oct 2018 12:21:23 +0000 (14:21 +0200)]
Plot last sample, plot bigger root, goal
Jiri Hubacek [Mon, 1 Oct 2018 08:50:34 +0000 (10:50 +0200)]
Use OpenGL enabling macro
Jiri Hubacek [Wed, 26 Sep 2018 17:43:12 +0000 (19:43 +0200)]
Merge branch 'feature/GL'
Jiri Hubacek [Wed, 26 Sep 2018 17:43:03 +0000 (19:43 +0200)]
Update changelog
Jiri Hubacek [Wed, 26 Sep 2018 17:35:19 +0000 (19:35 +0200)]
Plot last trajectory
Jiri Hubacek [Wed, 26 Sep 2018 17:35:05 +0000 (19:35 +0200)]
Reset line/point width
Jiri Hubacek [Wed, 26 Sep 2018 16:16:37 +0000 (18:16 +0200)]
Plot root/goal
Jiri Hubacek [Wed, 26 Sep 2018 16:16:04 +0000 (18:16 +0200)]
Add node scaling macro for OpenGL
Jiri Hubacek [Wed, 26 Sep 2018 15:49:56 +0000 (17:49 +0200)]
Add segment obstacle GL plot
Jiri Hubacek [Wed, 26 Sep 2018 15:34:28 +0000 (17:34 +0200)]
Add plot OpenGL RRTBase method
Jiri Hubacek [Wed, 26 Sep 2018 15:31:59 +0000 (17:31 +0200)]
Define constants as macros
Jiri Hubacek [Wed, 26 Sep 2018 14:10:33 +0000 (16:10 +0200)]
Use OpenGL with SDL
See: http://lazyfoo.net/tutorials/SDL/50_SDL_and_opengl_2/index.php
Jiri Hubacek [Wed, 26 Sep 2018 12:51:49 +0000 (14:51 +0200)]
Plot basic window
See: http://lazyfoo.net/tutorials/SDL/index.php