Crate rrt [] [src]

Dual RRT Connect

Examples

extern crate rand;
extern crate rrt;
fn main() {
  use rand::distributions::{IndependentSample, Range};
  let result = rrt::dual_rrt_connect(&[-1.2, 0.0],
                                     &[1.2, 0.0],
                                    |p: &[f64]| !(p[0].abs() < 1.0 && p[1].abs() < 1.0),
                                    || {
                                        let between = Range::new(-2.0, 2.0);
                                        let mut rng = rand::thread_rng();
                                        vec![between.ind_sample(&mut rng),
                                             between.ind_sample(&mut rng)]
                                    },
                                    0.2,
                                    1000)
              .unwrap();
  println!("{:?}", result);
  assert!(result.len() >= 4);
}

Structs

Node
Tree

Enums

ExtendStatus

Functions

dual_rrt_connect

search the path from start to goal which is free, using random_sample function