]> rtime.felk.cvut.cz Git - hubacji1/iamcar.git/log
hubacji1/iamcar.git
5 years agoRelease version 0.3.0 v0.3.0
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`.

5 years agoAdd load trajectory from file functionality
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.

5 years agoFix plot labels and poses markers
Jiri Hubacek [Fri, 9 Nov 2018 13:43:34 +0000 (14:43 +0100)]
Fix plot labels and poses markers

5 years agoFix frame plot
Jiri Hubacek [Fri, 9 Nov 2018 13:39:25 +0000 (14:39 +0100)]
Fix frame plot

5 years agoUpdate car dimensions in plot
Jiri Hubacek [Fri, 9 Nov 2018 13:38:54 +0000 (14:38 +0100)]
Update car dimensions in plot

5 years agoAdd percentiles and colors to gplot
Jiri Hubacek [Fri, 9 Nov 2018 13:37:06 +0000 (14:37 +0100)]
Add percentiles and colors to gplot

5 years agoFix Python 2 compatibility
Jiri Hubacek [Fri, 9 Nov 2018 13:36:13 +0000 (14:36 +0100)]
Fix Python 2 compatibility

5 years agoUpdate labels in gplot
Jiri Hubacek [Fri, 9 Nov 2018 13:35:32 +0000 (14:35 +0100)]
Update labels in gplot

5 years agoEnable edges log when MAX_TIME
Jiri Hubacek [Fri, 9 Nov 2018 13:32:01 +0000 (14:32 +0100)]
Enable edges log when MAX_TIME

5 years agoInclude heading to JSON edges log
Jiri Hubacek [Fri, 9 Nov 2018 13:31:05 +0000 (14:31 +0100)]
Include heading to JSON edges log

5 years agoAdd collide with car frame procedure
Jiri Hubacek [Fri, 9 Nov 2018 13:29:36 +0000 (14:29 +0100)]
Add collide with car frame procedure

5 years agoChange goal found to include IS_NEAR macro
Jiri Hubacek [Fri, 9 Nov 2018 13:29:13 +0000 (14:29 +0100)]
Change goal found to include IS_NEAR macro

5 years agoMerge branch 'feature/move-opt-path-to-base'
Jiri Hubacek [Mon, 22 Oct 2018 13:22:56 +0000 (15:22 +0200)]
Merge branch 'feature/move-opt-path-to-base'

5 years agoRemove optimize part procedure
Jiri Hubacek [Mon, 22 Oct 2018 13:21:29 +0000 (15:21 +0200)]
Remove optimize part procedure

5 years agoMove path optimization procedure to RRT base
Jiri Hubacek [Mon, 22 Oct 2018 13:20:36 +0000 (15:20 +0200)]
Move path optimization procedure to RRT base

5 years agoMove EDIST macro definition to header file
Jiri Hubacek [Mon, 22 Oct 2018 12:57:43 +0000 (14:57 +0200)]
Move EDIST macro definition to header file

5 years agoUpdate changelog
Jiri Hubacek [Fri, 19 Oct 2018 19:24:55 +0000 (21:24 +0200)]
Update changelog

5 years agoUpdate gplot script
Jiri Hubacek [Fri, 19 Oct 2018 19:18:53 +0000 (21:18 +0200)]
Update gplot script

- Change headings, legends.
- Change folders.

5 years agoAdd print #nodes, success rate functions to gplot
Jiri Hubacek [Fri, 19 Oct 2018 19:16:58 +0000 (21:16 +0200)]
Add print #nodes, success rate functions to gplot

5 years agoPlot 2 subplots
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.

5 years agoRemove cusps points from plot
Jiri Hubacek [Fri, 19 Oct 2018 19:14:26 +0000 (21:14 +0200)]
Remove cusps points from plot

5 years agoUse Euclidean distance in `nn4`
Jiri Hubacek [Fri, 19 Oct 2018 19:11:19 +0000 (21:11 +0200)]
Use Euclidean distance in `nn4`

5 years agoChange to `hist`, make yscale in gplot
Jiri Hubacek [Fri, 19 Oct 2018 05:35:49 +0000 (07:35 +0200)]
Change to `hist`, make yscale in gplot

5 years agoFix Last trajectory time plot in gplot
Jiri Hubacek [Sun, 14 Oct 2018 20:41:11 +0000 (22:41 +0200)]
Fix Last trajectory time plot in gplot

5 years agoUpdate successrate, maxtime gplot
Jiri Hubacek [Sun, 14 Oct 2018 20:40:35 +0000 (22:40 +0200)]
Update successrate, maxtime gplot

5 years agoAdd directories as variables to test script
Jiri Hubacek [Sun, 14 Oct 2018 17:20:03 +0000 (19:20 +0200)]
Add directories as variables to test script

5 years agoAdd plot max time function
Jiri Hubacek [Thu, 11 Oct 2018 11:54:39 +0000 (13:54 +0200)]
Add plot max time function

5 years agoSkip non-existent values in gplot
Jiri Hubacek [Thu, 11 Oct 2018 11:19:02 +0000 (13:19 +0200)]
Skip non-existent values in gplot

5 years agoUpdate plot cost dist with legend
Jiri Hubacek [Thu, 11 Oct 2018 07:38:14 +0000 (09:38 +0200)]
Update plot cost dist with legend

5 years agoChange USE_TMAX behaviour
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.

5 years agoMerge branch 'feature/optimize-path-part'
Jiri Hubacek [Tue, 9 Oct 2018 16:55:32 +0000 (18:55 +0200)]
Merge branch 'feature/optimize-path-part'

5 years agoWORKAROUND optimize path, not just find
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.

5 years agoFix Dijkstra node parent init
Jiri Hubacek [Tue, 9 Oct 2018 16:01:52 +0000 (18:01 +0200)]
Fix Dijkstra node parent init

5 years agoMerge branch 'feature/no-heading-near-vertices'
Jiri Hubacek [Tue, 9 Oct 2018 16:30:47 +0000 (18:30 +0200)]
Merge branch 'feature/no-heading-near-vertices'

5 years agoAdd heading independent near vertices procedure
Jiri Hubacek [Tue, 9 Oct 2018 16:29:41 +0000 (18:29 +0200)]
Add heading independent near vertices procedure

5 years agoMerge branch 'fix/optimize-path'
Jiri Hubacek [Tue, 9 Oct 2018 14:01:16 +0000 (16:01 +0200)]
Merge branch 'fix/optimize-path'

5 years agoFix missing parent, cost of Dijkstra node
Jiri Hubacek [Tue, 9 Oct 2018 11:15:48 +0000 (13:15 +0200)]
Fix missing parent, cost of Dijkstra node

5 years agoFix missing root in cusps
Jiri Hubacek [Tue, 9 Oct 2018 11:14:35 +0000 (13:14 +0200)]
Fix missing root in cusps

5 years agoMerge branch 'feature/measurement'
Jiri Hubacek [Tue, 9 Oct 2018 13:48:52 +0000 (15:48 +0200)]
Merge branch 'feature/measurement'

5 years agoUpdate changelog
Jiri Hubacek [Tue, 9 Oct 2018 13:48:45 +0000 (15:48 +0200)]
Update changelog

5 years agoFix unfinished path in Dijkstra path optimization
Jiri Hubacek [Sun, 7 Oct 2018 00:15:05 +0000 (02:15 +0200)]
Fix unfinished path in Dijkstra path optimization

5 years agoAdd cost distribution plot function
Jiri Hubacek [Sat, 6 Oct 2018 21:16:41 +0000 (23:16 +0200)]
Add cost distribution plot function

5 years agoModify test script for current measurements
Jiri Hubacek [Sat, 6 Oct 2018 21:16:11 +0000 (23:16 +0200)]
Modify test script for current measurements

5 years agoPlot success rate from folders
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.

5 years agoFix heading overwriting in `nn4`
Jiri Hubacek [Sat, 6 Oct 2018 19:10:25 +0000 (21:10 +0200)]
Fix heading overwriting in `nn4`

5 years agoFix cusps detection in T2 next()
Jiri Hubacek [Sat, 6 Oct 2018 18:07:18 +0000 (20:07 +0200)]
Fix cusps detection in T2 next()

5 years agoMerge branch 'hotfix/0.2.1'
Jiri Hubacek [Sat, 6 Oct 2018 12:35:55 +0000 (14:35 +0200)]
Merge branch 'hotfix/0.2.1'

5 years agoRelease version 0.2.1 v0.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.

5 years agoFix path optimization while not optimal
Jiri Hubacek [Sat, 6 Oct 2018 12:34:09 +0000 (14:34 +0200)]
Fix path optimization while not optimal

5 years agoMerge branch 'release/0.2.0'
Jiri Hubacek [Sat, 6 Oct 2018 12:31:03 +0000 (14:31 +0200)]
Merge branch 'release/0.2.0'

5 years agoRelease version 0.2.0 v0.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.

5 years agoMerge branch 'feature/refactor-optimize-path'
Jiri Hubacek [Sat, 6 Oct 2018 12:28:44 +0000 (14:28 +0200)]
Merge branch 'feature/refactor-optimize-path'

5 years agoReturn path to first cusps if goal not found
Jiri Hubacek [Sat, 6 Oct 2018 12:05:55 +0000 (14:05 +0200)]
Return path to first cusps if goal not found

5 years agoRemove unused vector, use `npi` for parent node
Jiri Hubacek [Sat, 6 Oct 2018 11:19:06 +0000 (13:19 +0200)]
Remove unused vector, use `npi` for parent node

5 years agoFix searching for cusps points
Jiri Hubacek [Sat, 6 Oct 2018 10:57:22 +0000 (12:57 +0200)]
Fix searching for cusps points

5 years agoAdd only TMAX limited main loop
Jiri Hubacek [Fri, 5 Oct 2018 14:43:58 +0000 (16:43 +0200)]
Add only TMAX limited main loop

5 years agoMerge branch 'feature/refactor'
Jiri Hubacek [Fri, 5 Oct 2018 15:24:39 +0000 (17:24 +0200)]
Merge branch 'feature/refactor'

5 years agoOptimize path, rebase to first cusps node
Jiri Hubacek [Fri, 5 Oct 2018 14:34:07 +0000 (16:34 +0200)]
Optimize path, rebase to first cusps node

5 years agoLimit outer while with #iterations
Jiri Hubacek [Fri, 5 Oct 2018 14:33:19 +0000 (16:33 +0200)]
Limit outer while with #iterations

5 years agoFind nn if not goal found else nn is goal
Jiri Hubacek [Fri, 5 Oct 2018 14:32:02 +0000 (16:32 +0200)]
Find nn if not goal found else nn is goal

5 years agoReturn from rebase if new root is null
Jiri Hubacek [Fri, 5 Oct 2018 14:11:54 +0000 (16:11 +0200)]
Return from rebase if new root is null

5 years agoReturn false if no cusps in opt_path()
Jiri Hubacek [Fri, 5 Oct 2018 14:07:59 +0000 (16:07 +0200)]
Return false if no cusps in opt_path()

5 years agoNot return trajectory if init node is null
Jiri Hubacek [Fri, 5 Oct 2018 14:07:04 +0000 (16:07 +0200)]
Not return trajectory if init node is null

5 years agoReturn false if nn() in next() fails
Jiri Hubacek [Fri, 5 Oct 2018 14:05:54 +0000 (16:05 +0200)]
Return false if nn() in next() fails

5 years agoOptimize when goal not found
Jiri Hubacek [Fri, 5 Oct 2018 08:10:42 +0000 (10:10 +0200)]
Optimize when goal not found

5 years agoMake optimization independent on goal
Jiri Hubacek [Fri, 5 Oct 2018 08:09:33 +0000 (10:09 +0200)]
Make optimization independent on goal

5 years agoLog only if trajectory cost is better
Jiri Hubacek [Fri, 5 Oct 2018 07:57:58 +0000 (09:57 +0200)]
Log only if trajectory cost is better

5 years agoUpdate changelog
Jiri Hubacek [Thu, 4 Oct 2018 11:46:51 +0000 (13:46 +0200)]
Update changelog

5 years agoMerge branch 'feature/dijkstra-optimize-path'
Jiri Hubacek [Thu, 4 Oct 2018 11:46:04 +0000 (13:46 +0200)]
Merge branch 'feature/dijkstra-optimize-path'

5 years agoRun path optimization in each iteration
Jiri Hubacek [Thu, 4 Oct 2018 11:45:09 +0000 (13:45 +0200)]
Run path optimization in each iteration

5 years agoUse Dijkstra in path optimization
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.

5 years agoFix missing cusps points
Jiri Hubacek [Thu, 4 Oct 2018 08:27:03 +0000 (10:27 +0200)]
Fix missing cusps points

5 years agoReturn false if no trajectory found
Jiri Hubacek [Thu, 4 Oct 2018 08:14:53 +0000 (10:14 +0200)]
Return false if no trajectory found

5 years agoMerge branch 'feature/refactor'
Jiri Hubacek [Thu, 4 Oct 2018 08:13:21 +0000 (10:13 +0200)]
Merge branch 'feature/refactor'

5 years agoNote bug in optimize part method
Jiri Hubacek [Thu, 4 Oct 2018 08:11:54 +0000 (10:11 +0200)]
Note bug in optimize part method

5 years agoUse variable for steered size
Jiri Hubacek [Thu, 4 Oct 2018 07:29:33 +0000 (09:29 +0200)]
Use variable for steered size

5 years agoDo not remove nodes from RRT
Jiri Hubacek [Thu, 4 Oct 2018 07:22:02 +0000 (09:22 +0200)]
Do not remove nodes from RRT

5 years agoAdd RRTNode's update cost method
Jiri Hubacek [Thu, 4 Oct 2018 07:06:10 +0000 (09:06 +0200)]
Add RRTNode's update cost method

5 years agoMerge branch 'feature/optimize-cusps'
Jiri Hubacek [Wed, 3 Oct 2018 05:55:29 +0000 (07:55 +0200)]
Merge branch 'feature/optimize-cusps'

5 years agoUpdate changelog
Jiri Hubacek [Wed, 3 Oct 2018 05:54:58 +0000 (07:54 +0200)]
Update changelog

5 years agoUpdate optimize path method
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.

5 years agoInclude root/goal to cusps
Jiri Hubacek [Wed, 3 Oct 2018 05:27:26 +0000 (07:27 +0200)]
Include root/goal to cusps

5 years agoTMP? Allow full Reeds and Shepp path
Jiri Hubacek [Wed, 3 Oct 2018 05:21:57 +0000 (07:21 +0200)]
TMP? Allow full Reeds and Shepp path

5 years agoAdd optimize path, optimize part
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.

5 years agoPlot cusps
Jiri Hubacek [Tue, 2 Oct 2018 13:58:33 +0000 (15:58 +0200)]
Plot cusps

5 years agoAdd nn4 procedure
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.

5 years agoUpdate GL screen width/height
Jiri Hubacek [Tue, 2 Oct 2018 12:56:19 +0000 (14:56 +0200)]
Update GL screen width/height

5 years agoPlot last sample, plot bigger root, goal
Jiri Hubacek [Tue, 2 Oct 2018 12:21:23 +0000 (14:21 +0200)]
Plot last sample, plot bigger root, goal

5 years agoUse OpenGL enabling macro
Jiri Hubacek [Mon, 1 Oct 2018 08:50:34 +0000 (10:50 +0200)]
Use OpenGL enabling macro

5 years agoMerge branch 'feature/GL'
Jiri Hubacek [Wed, 26 Sep 2018 17:43:12 +0000 (19:43 +0200)]
Merge branch 'feature/GL'

5 years agoUpdate changelog
Jiri Hubacek [Wed, 26 Sep 2018 17:43:03 +0000 (19:43 +0200)]
Update changelog

5 years agoPlot last trajectory
Jiri Hubacek [Wed, 26 Sep 2018 17:35:19 +0000 (19:35 +0200)]
Plot last trajectory

5 years agoReset line/point width
Jiri Hubacek [Wed, 26 Sep 2018 17:35:05 +0000 (19:35 +0200)]
Reset line/point width

5 years agoPlot root/goal
Jiri Hubacek [Wed, 26 Sep 2018 16:16:37 +0000 (18:16 +0200)]
Plot root/goal

5 years agoAdd node scaling macro for OpenGL
Jiri Hubacek [Wed, 26 Sep 2018 16:16:04 +0000 (18:16 +0200)]
Add node scaling macro for OpenGL

5 years agoAdd segment obstacle GL plot
Jiri Hubacek [Wed, 26 Sep 2018 15:49:56 +0000 (17:49 +0200)]
Add segment obstacle GL plot

5 years agoAdd plot OpenGL RRTBase method
Jiri Hubacek [Wed, 26 Sep 2018 15:34:28 +0000 (17:34 +0200)]
Add plot OpenGL RRTBase method

5 years agoDefine constants as macros
Jiri Hubacek [Wed, 26 Sep 2018 15:31:59 +0000 (17:31 +0200)]
Define constants as macros

5 years agoUse OpenGL with SDL
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

5 years agoPlot basic window
Jiri Hubacek [Wed, 26 Sep 2018 12:51:49 +0000 (14:51 +0200)]
Plot basic window

See: http://lazyfoo.net/tutorials/SDL/index.php