diff --git a/config/peng_default_blueprint.rbl b/config/peng_default_blueprint.rbl new file mode 100644 index 00000000..d6212384 Binary files /dev/null and b/config/peng_default_blueprint.rbl differ diff --git a/config/quad.yaml b/config/quad.yaml index 827379b9..68fb3820 100644 --- a/config/quad.yaml +++ b/config/quad.yaml @@ -4,6 +4,8 @@ use_multithreading_depth_rendering: true # Enable multithreading for depth rende use_rk4_for_dynamics_update: false # Enable Runge-Kutta 4th order integration for dynamics, otherwise Euler integration is used use_rk4_for_dynamics_control: false # Enable Runge-Kutta 4th order integration for dynamics, otherwise Euler integration is used +rerun_blueprint: "config/peng_default_blueprint.rbl" + simulation: control_frequency: 200 # Frequency of control loop execution (Hz) simulation_frequency: 1000 # Frequency of physics simulation updates (Hz) diff --git a/src/config.rs b/src/config.rs index b08a7f49..2422c872 100644 --- a/src/config.rs +++ b/src/config.rs @@ -22,6 +22,8 @@ pub struct Config { pub mesh: MeshConfig, /// Planner schedule configuration pub planner_schedule: Vec, + /// Rerun blueprint path + pub rerun_blueprint: String, /// Use rerun.io for recording pub use_rerun: bool, /// Render depth diff --git a/src/main.rs b/src/main.rs index 090476d0..3f5b1d54 100644 --- a/src/main.rs +++ b/src/main.rs @@ -14,7 +14,7 @@ fn main() -> Result<(), SimulationError> { log::info!("Loading configuration: {}", args[1]); config_str = &args[1]; } - let config = config::Config::from_yaml(config_str).expect("Failed to load configuration"); + let config = config::Config::from_yaml(config_str).expect("Failed to load configuration."); let mut quad = Quadrotor::new( 1.0 / config.simulation.simulation_frequency as f32, config.quadrotor.mass, @@ -72,6 +72,9 @@ fn main() -> Result<(), SimulationError> { } else { None }; + if let Some(rec) = &rec { + rec.log_file_from_path(config.rerun_blueprint, None, false)?; + } if let Some(rec) = &rec { rec.set_time_seconds("timestamp", 0); log_mesh(rec, config.mesh.division, config.mesh.spacing)?;