check_joint_limits(qpos, lower_limits, ...)
  | 
 | 
closest_select_solution(solutions, current_qpos)
  | 
 | 
distance_fn(qpos1, qpos2)
  | 
 | 
gen_uniform_sample_joints(lower_limits, ...)
  | 
 | 
random_select_solution(solutions)
  | 
 | 
uniform_sample_joints(lower_limits, upper_limits)
  | 
 |