RoboJackets / rrt

C++ RRT (Rapidly-exploring Random Tree) Implementation
Other
253 stars 84 forks source link

added minIterations parameter. closes #52 #53

Closed justbuchanan closed 7 years ago

justbuchanan commented 7 years ago

Closes #52

TODO:

jgkamat commented 7 years ago

I haven't done too much work in the RRT, @joshhting, can you review this? I'll take a breif look over it too later.

Thanks @justbuchanan! :tada: :tada: :tada:

joshhting commented 7 years ago

Currently, the rrt-viewer never calls either run function. When you hit the run button (or the r key) it instead repeatedly calls RRTWidget::run_step() until it finds a path. Tree.hpp's run function is only called in the tests, and BiRRT.hpp's run function is never called in any of the rrt code. I'm assuming these are called in robocup-software, but as it currently stands we can't view this feature in action on the rrt-viewer, and it would be nice if we could.

justbuchanan commented 7 years ago

Good point, I forgot to add a note that this doesn't affect the gui. I'll add a TODO for this.

justbuchanan commented 7 years ago

This should be good to go as well. I'll wait to add min iterations to the gui until after #54 is merged.

I ended up adding min iterations only to the BiRRT and not the single rrt (Tree.hpp). With a single rrt, after one solution is found, further iterations that choose random points near the goal will most likely only add nodes to the existing solution rather than finding other unique solutions. In the BiRRT, the individual rrt trees don't really have a single goal point and instead meet the opposite tree in many locations. In this situation, continuing the search after finding one solution makes a lot more sense.