๐Ÿ“ฆ AlistairKeiller / rustoracer

๐Ÿ“„ main.rs ยท 35 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35mod car;
mod map;
#[cfg(feature = "ros")]
mod ros;
mod sim;
mod skeleton;

#[cfg(not(feature = "ros"))]
use crate::sim::Sim;

#[cfg(not(feature = "ros"))]
#[cfg_attr(feature = "show_images", show_image::main)]
fn main() {
    let mut sim = Sim::new("maps/berlin.yaml", 1);
    sim.reset(&[[0.0, 0.0, 0.0]]);
    for _ in 0..1000 {
        let obs = sim.step(&[[0.0, 1.0]]);
        for (crashed, i) in obs.cols.iter().zip(0..obs.cols.len()) {
            if *crashed {
                sim.reset_single(&[0.0, 0.0, 0.0], i);
            }
        }
    }
}

#[cfg(feature = "ros")]
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let bridge = ros::RosBridge {
        sim: sim::Sim::new("maps/berlin.yaml", 1),
        hz: 100.0,
    };
    bridge.spin(vec![[0.0, 0.0, 0.0]]).await
}