Closed a-nooj closed 5 months ago
VAMP by default uses the Halton sequence (implemented in https://github.com/KavrakiLab/vamp/blob/main/src/impl/vamp/random/halton.hh) to generate "random" numbers - but this sequence is deterministic and produces the same sequence of numbers every time. We found empirically that this provides better performance on every benchmark we tested (which has also been observed in the literature, e.g., [1]). We also have an implementation of an xorshift random number generator (https://github.com/KavrakiLab/vamp/blob/main/src/impl/vamp/random/xorshift.hh), but you will need to go into the RRT-Connect code (https://github.com/KavrakiLab/vamp/blob/main/src/impl/vamp/planning/rrtc.hh) and replace the RNG used. Multiple trials are used to reduce hardware noise.
[1] Janson, Lucas, Brian Ichter, and Marco Pavone. "Deterministic sampling-based motion planning: Optimality, complexity, and performance." The International Journal of Robotics Research 37.1 (2018): 46-61. https://journals.sagepub.com/doi/pdf/10.1177/0278364917714338
I'm running
evaluate_mbm.py
with these args:Here are a few elements of
df["initial_path_cost"].tolist()
Seems suspicious that RRTConnect gives the exact same solution cost over multiple trials of the same planning problem?