8个版本 (破坏性)

0.7.0 2023年2月3日
0.6.0 2022年1月19日
0.5.0 2021年3月3日
0.4.0 2018年5月23日
0.1.1 2017年7月25日

#1292 in 算法

Download history 155/week @ 2024-03-11 143/week @ 2024-03-18 258/week @ 2024-03-25 348/week @ 2024-04-01 133/week @ 2024-04-08 135/week @ 2024-04-15 98/week @ 2024-04-22 102/week @ 2024-04-29 159/week @ 2024-05-06 162/week @ 2024-05-13 158/week @ 2024-05-20 144/week @ 2024-05-27 98/week @ 2024-06-03 128/week @ 2024-06-10 97/week @ 2024-06-17 145/week @ 2024-06-24

474次每月下载
用于9个crate(2个直接使用)

Apache-2.0

24KB
264

rrt

Build Status crates.io docs

RRT (快速扩展随机树) 库,用Rust编写。

仅支持双RRT Connect。

示例

有一个示例用于解决碰撞避免问题。

cargo run --release --example collision_avoid

下面是最简单的示例。它从[-1.2, 0.0]搜索到[1.2, 0.0],避开[-1, -1] - [1, 1]区域。只有一个函数dual_rrt_connect,它接受startgoalis free functionrandom generation functionunit length of extendmax repeat num

use rand::distributions::{Distribution, Uniform};
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 = Uniform::new(-2.0, 2.0);
        let mut rng = rand::thread_rng();
        vec![between.sample(&mut rng), between.sample(&mut rng)]
    },
    0.2,
    1000,
)
.unwrap();
println!("{result:?}");
assert!(result.len() >= 4);

依赖关系

~1–1.6MB
~31K SLoC