RoboJackets / rrt

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

Are there any papers about this Bi-RRT? #91

Open YaoQii opened 6 years ago

YaoQii commented 6 years ago

Hi, The proposed Bi-RRT using cubic curve to smooth is great, Are there any papers about this Bi-RRT?

Thanks very much.

JNeiger commented 6 years ago

Hi @JohnQii,

Sorry for the late response. This was created before my time so I'm not sure which specific papers we based this off of. In our main application robocup-software, we use a cubic Bezier curve to smooth out the path with some hard limits on the curvature to follow some of our acceleration limits in our holonomic vehicles. The smoothing in this viewer is very simplistic and more so just a way to visualize what the results would look like in our actual use case.

Here's a paper that approaches the same problem in 2D and 3D for UAV's that may be applicable. From a glance, it seems to cover most of our implementation.

Most likely, we used an implementation from another RoboCup team around the 2007-2013 time frame. If you have some time to kill and really want the original implementation details, you can go to this link and scroll down to Older RoboCups, click on one of the years, click Teams, then click on any of the teams ETDP/TDP's, and finally click the Small_Size_League_ ... .pdf near the top. This will give you that teams work for that specific year. One of them /should/ go into detail about this.

Additionally, from here down in the RRTPlanner.cpp is where we do all the smoothing stuff in code.

ashaw596 commented 6 years ago

@justbuchanan would know more about the original RRT implementation basis, but this paper goes into BiRRts https://arxiv.org/pdf/1703.08944.pdf

The full trajectory planning(path planning plus velocities/acceleration) method we use is a variation inspired by this paper http://www2.informatik.uni-freiburg.de/~lau/students/Sprunk2008.pdf