pybullet_planning.motion_planners.rrt_connect.rrt_connect

pybullet_planning.motion_planners.rrt_connect.rrt_connect(q1, q2, distance_fn, sample_fn, extend_fn, collision_fn, max_iterations=20, max_time=inf, verbose=False, draw_fn=None, enforce_alternate=False, **kwargs)[source]

RRT connect algorithm: http://www.kuffner.org/james/papers/kuffner_icra2000.pdf

Parameters
  • q1 (list) – start configuration

  • q2 (list) – end configuration

  • distance_fn (function handle) – Distance function - distance_fn(q1, q2)->float see pybullet_planning.interfaces.planner_interface.joint_motion_planning.get_difference_fn for an example

  • sample_fn (function handle) – configuration space sampler - sample_fn()->conf see pybullet_planning.interfaces.planner_interface.joint_motion_planning.get_sample_fn for an example

  • extend_fn (function handle) – Extension function - extend_fn(q1, q2)->[q’, …, q”] see pybullet_planning.interfaces.planner_interface.joint_motion_planning.get_extend_fn for an example

  • collision_fn (function handle) – Collision function - collision_fn(q)->bool see pybullet_planning.interfaces.robots.collision.get_collision_fn for an example

  • iterations (int, optional) – iterations of rrt explorations, by default RRT_ITERATIONS

  • tree_frequency (int, optional) – The frequency of adding tree nodes when extending. For example, if tree_freq=2, then a tree node is added every three nodes in the newly extended path, larger value means coarser extension, less nodes are added. By default 1

  • max_time (float, optional) – maximal allowed runtime, by default INF

Returns

list(list(float)) – the computed path, i.e. a list of configurations return None if no plan is found.