I am trying to understand the working of RRT for robotic arm. What is the purpose of clamping in RRT?
Here is the config file i am trying to understand.



1 Answer 1


From this line of the rrt_solver.cpp it seems this clamp values are used to define the maximum length of the segments between nodes. See this figure of a paper using RRT.

If the clamp value is 4.0, the nodes that RRT will explore will be 4.0 units as maximum. If the randomly sampled node is further than this distance from the node to connect, a new node is created in the same direction as the random one but at a distance of 4.0.

Answering to why in the config file 4 clamping values are shown: a bigger step size (or clamping distance) is used to explore most of the area quickly. However, this leaves a lot of empty space between the nodes and makes it more difficult to find paths in the tree. That is the reason why after a few iterations the step size is decreased to explore this areas with higher resolution. Note how in the config file the greater distances are given a lower number of iterations.

Why 4 values and not only 2 (one bigger and other one smaller)? I am not entirely sure, but my guess is that as the algorithm uses 2 trees, one that starts at the origin of the path and another one that starts at the goal position, then each tree is assigned 2 clamping distances (and corresponding iterations), so 4 distances in total. As I have not used this particular repository, it is difficult for me to get further information only from the code. Hope this helps!

  • $\begingroup$ there are 4 different value for clamping. Does it makes sense to have different step size at different interval? $\endgroup$
    – Pratham
    Commented Jun 26 at 14:54
  • $\begingroup$ I'll edit my answer to add more information about what I think $\endgroup$
    – ivrolan
    Commented Jun 27 at 9:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.