motion-planning / rrt-algorithms

n-dimensional RRT, RRT* (RRT-Star)
MIT License
600 stars 173 forks source link

The length of extending step #27

Closed kctoayo88 closed 4 years ago

kctoayo88 commented 4 years ago

Hello,

I would like to know how to adjust the length of extending step when the RRT is executing. I saw you wrote this line in the readme, but I can't find the parameter in programs.

q: Distance away from existing vertices to probe.

Hope you can give me some tips, thanks!

SZanlongo commented 4 years ago

Hi @kctoayo88. The best way to ensure you understand how that works is probably by following along with one if the examples.

Q is a list of tuples q indicating that q[0] edges of length q[1] should be added. This choice was made to allow for easily trying different amounts of different-length edges. For example, if we set Q = [[4, 1], [2, 8]], this would attempt to grow 4 edges of length 1, and 2 edges of length 8.

Starting with the rrt_2d.py example, we set the length of new edges in Q = np.array([(8, 4)]), corresponding to trying to grow 8 edges of length 4 on each iteration. Next, the search is done in rrt.py, where you can see the looping over different edge combinations within Q. For each of the tuples, it calls new_and_near, with an edge length from the tuple.

Hope this helps.

kctoayo88 commented 4 years ago

Hello @SZanlongo,

Thanks for your reply, it's really helpful to me. I could understand and handle it now.

Unfortunately, I got another problem when I run the rrt_star_bid_2d.py program. I always defined the obstacles, init and goal position by myself in this program. However, the program got some error in some specific cases. I guessed that the reason of error occurring is related to obstacles and init, goal setting. error Hope you could help me solve this.

SZanlongo commented 4 years ago

Seems like you hit an edge case. I've pushed what should be a fix to develop. Let me know if that works.

kctoayo88 commented 4 years ago

@SZanlongo ,

Thank you for your helps. The change solve the problem perfectly and work like a charm.