shit ton of sims to test

This commit is contained in:
franchioping 2026-02-04 18:33:36 +00:00
parent daa3b2b126
commit b38151a220
42 changed files with 299 additions and 167 deletions

View File

@ -1,14 +0,0 @@
tickrate = 60000.0
drone_tick_rate = 600
target_rate = 3.141592
proportional_multiplier = [0.005, 0.05, 0.005]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]
max_thrust = 2.6
max_torque = 0.5
mass = 0.350
time_constant=0.01

33
configurations/gen.py Normal file
View File

@ -0,0 +1,33 @@
import os
import subprocess
subprocess.run("rm *.toml", shell=True)
MOT_FOLDER = "mot/"
SIM_FOLDER = "sim/"
PID_FOLDER = "pid_cont/"
mot_files = os.listdir(MOT_FOLDER)
sim_files = os.listdir(SIM_FOLDER)
pid_files = os.listdir(PID_FOLDER)
prod: list[tuple[str, str, str]] = [
(y, x, z) for x in mot_files for y in sim_files for z in pid_files
]
for case in prod:
settings = ""
with open(SIM_FOLDER + case[0], "r") as f1:
with open(MOT_FOLDER + case[1], "r") as f2:
with open(PID_FOLDER + case[2], "r") as f3:
settings = f1.read() + "\n" + f2.read() + "\n" + f3.read()
with open(
"".join(case).replace(".toml", "_").removesuffix("_") + ".toml", "w"
) as f:
f.write(settings)
# cont = open(PID_FOLDER + "low_1.toml").read()
# for i in range(1, 11):
# num = 0.005 * i
# with open(PID_FOLDER + f"low_{i:02d}.toml", "w") as f:
# f.write(cont.replace("0.005", str(num)))

View File

@ -0,0 +1,5 @@
max_thrust = 2.6
max_torque = 0.5
mass = 0.350

View File

@ -0,0 +1,5 @@
max_thrust = 2.6
max_torque = 0.5
mass = 0.350
time_constant=0.01

View File

@ -0,0 +1,5 @@
target_rate = 3.141592
proportional_multiplier = [0.005, 0.005, 0.005]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -0,0 +1,5 @@
target_rate = 3.141592
proportional_multiplier = [0.01, 0.01, 0.01]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -0,0 +1,5 @@
target_rate = 3.141592
proportional_multiplier = [0.015, 0.015, 0.015]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -0,0 +1,5 @@
target_rate = 3.141592
proportional_multiplier = [0.02, 0.02, 0.02]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -0,0 +1,5 @@
target_rate = 3.141592
proportional_multiplier = [0.025, 0.025, 0.025]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -0,0 +1,5 @@
target_rate = 3.141592
proportional_multiplier = [0.03, 0.03, 0.03]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -0,0 +1,5 @@
target_rate = 3.141592
proportional_multiplier = [0.035, 0.035, 0.035]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -0,0 +1,5 @@
target_rate = 3.141592
proportional_multiplier = [0.04, 0.04, 0.04]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -0,0 +1,5 @@
target_rate = 3.141592
proportional_multiplier = [0.045, 0.045, 0.045]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -1,14 +1,5 @@
tickrate = 60000.0
drone_tick_rate = 600
target_rate = 3.141592 target_rate = 3.141592
proportional_multiplier = [0.05, 0.05, 0.05] proportional_multiplier = [0.05, 0.05, 0.05]
integral_multiplier = [0.0, 0.0, 0.0] integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0] diferential_multiplier = [0.0, 0.0, 0.0]
max_thrust = 2.6
max_torque = 0.5
mass = 0.350
time_constant=0.01

View File

@ -1,14 +0,0 @@
tickrate = 60000.0
drone_tick_rate = 600
target_rate = 3.141592
proportional_multiplier = [0.07, 0.07, 0.07]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]
max_thrust = 2.6
max_torque = 0.5
mass = 0.350
time_constant=0.01

View File

@ -1,14 +0,0 @@
tickrate = 60000.0
drone_tick_rate = 600
target_rate = 3.141592
proportional_multiplier = [0.10, 0.10, 0.10]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]
max_thrust = 2.6
max_torque = 0.5
mass = 0.350
time_constant=0.01

View File

@ -1,14 +0,0 @@
tickrate = 60000.0
drone_tick_rate = 600
target_rate = 3.141592
proportional_multiplier = [0.15, 0.15, 0.15]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]
max_thrust = 2.6
max_torque = 0.5
mass = 0.350
time_constant=0.01

View File

@ -1,13 +0,0 @@
tickrate = 60000.0
drone_tick_rate = 600
target_rate = 3.141592
proportional_multiplier = [0.2, 0.2, 0.2]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]
max_thrust = 2.6
max_torque = 0.5
mass = 0.350

View File

@ -1,14 +0,0 @@
tickrate = 60000.0
drone_tick_rate = 600
target_rate = 3.141592
proportional_multiplier = [0.005, 0.05, 0.005]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]
max_thrust = 2.6
max_torque = 0.5
mass = 0.350
time_constant=0.01

View File

@ -0,0 +1,2 @@
tickrate = 6000.0
drone_tick_rate = 600

View File

@ -1,13 +1,14 @@
tickrate = 60000.0 tickrate = 6000.0
drone_tick_rate = 600 drone_tick_rate = 600
target_rate = 3.141592
proportional_multiplier = [0.005, 0.05, 0.005]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]
max_thrust = 2.6 max_thrust = 2.6
max_torque = 0.5 max_torque = 0.5
mass = 0.350 mass = 0.350
target_rate = 3.141592
proportional_multiplier = [0.005, 0.005, 0.005]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -1,13 +1,14 @@
tickrate = 60000.0 tickrate = 6000.0
drone_tick_rate = 600 drone_tick_rate = 600
target_rate = 3.141592
proportional_multiplier = [0.10, 0.10, 0.10]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]
max_thrust = 2.6 max_thrust = 2.6
max_torque = 0.5 max_torque = 0.5
mass = 0.350 mass = 0.350
target_rate = 3.141592
proportional_multiplier = [0.01, 0.01, 0.01]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -0,0 +1,14 @@
tickrate = 6000.0
drone_tick_rate = 600
max_thrust = 2.6
max_torque = 0.5
mass = 0.350
target_rate = 3.141592
proportional_multiplier = [0.015, 0.015, 0.015]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -1,13 +1,14 @@
tickrate = 60000.0 tickrate = 6000.0
drone_tick_rate = 600 drone_tick_rate = 600
target_rate = 3.141592
proportional_multiplier = [0.15, 0.15, 0.15]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]
max_thrust = 2.6 max_thrust = 2.6
max_torque = 0.5 max_torque = 0.5
mass = 0.350 mass = 0.350
target_rate = 3.141592
proportional_multiplier = [0.02, 0.02, 0.02]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -0,0 +1,14 @@
tickrate = 6000.0
drone_tick_rate = 600
max_thrust = 2.6
max_torque = 0.5
mass = 0.350
target_rate = 3.141592
proportional_multiplier = [0.025, 0.025, 0.025]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -1,13 +1,14 @@
tickrate = 60000.0 tickrate = 6000.0
drone_tick_rate = 600 drone_tick_rate = 600
target_rate = 3.141592
proportional_multiplier = [0.07, 0.07, 0.07]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]
max_thrust = 2.6 max_thrust = 2.6
max_torque = 0.5 max_torque = 0.5
mass = 0.350 mass = 0.350
target_rate = 3.141592
proportional_multiplier = [0.03, 0.03, 0.03]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -0,0 +1,14 @@
tickrate = 6000.0
drone_tick_rate = 600
max_thrust = 2.6
max_torque = 0.5
mass = 0.350
target_rate = 3.141592
proportional_multiplier = [0.035, 0.035, 0.035]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -0,0 +1,14 @@
tickrate = 6000.0
drone_tick_rate = 600
max_thrust = 2.6
max_torque = 0.5
mass = 0.350
target_rate = 3.141592
proportional_multiplier = [0.04, 0.04, 0.04]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -0,0 +1,14 @@
tickrate = 6000.0
drone_tick_rate = 600
max_thrust = 2.6
max_torque = 0.5
mass = 0.350
target_rate = 3.141592
proportional_multiplier = [0.045, 0.045, 0.045]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -1,13 +1,14 @@
tickrate = 60000.0 tickrate = 6000.0
drone_tick_rate = 600 drone_tick_rate = 600
target_rate = 3.141592
proportional_multiplier = [0.05, 0.05, 0.05]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]
max_thrust = 2.6 max_thrust = 2.6
max_torque = 0.5 max_torque = 0.5
mass = 0.350 mass = 0.350
target_rate = 3.141592
proportional_multiplier = [0.05, 0.05, 0.05]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -1,14 +1,14 @@
tickrate = 60000.0 tickrate = 6000.0
drone_tick_rate = 600 drone_tick_rate = 600
target_rate = 3.141592
proportional_multiplier = [0.07, 0.07, 0.07]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]
max_thrust = 2.6 max_thrust = 2.6
max_torque = 0.5 max_torque = 0.5
mass = 0.350 mass = 0.350
time_constant=0.01 time_constant=0.01
target_rate = 3.141592
proportional_multiplier = [0.005, 0.005, 0.005]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -1,14 +1,14 @@
tickrate = 60000.0 tickrate = 6000.0
drone_tick_rate = 600 drone_tick_rate = 600
target_rate = 3.141592
proportional_multiplier = [0.2, 0.2, 0.2]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]
max_thrust = 2.6 max_thrust = 2.6
max_torque = 0.5 max_torque = 0.5
mass = 0.350 mass = 0.350
time_constant=0.01 time_constant=0.01
target_rate = 3.141592
proportional_multiplier = [0.01, 0.01, 0.01]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -0,0 +1,14 @@
tickrate = 6000.0
drone_tick_rate = 600
max_thrust = 2.6
max_torque = 0.5
mass = 0.350
time_constant=0.01
target_rate = 3.141592
proportional_multiplier = [0.015, 0.015, 0.015]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -1,14 +1,14 @@
tickrate = 60000.0 tickrate = 6000.0
drone_tick_rate = 600 drone_tick_rate = 600
target_rate = 3.141592
proportional_multiplier = [0.2, 0.2, 0.2]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]
max_thrust = 2.6 max_thrust = 2.6
max_torque = 0.5 max_torque = 0.5
mass = 0.350 mass = 0.350
time_constant=0.01 time_constant=0.01
target_rate = 3.141592
proportional_multiplier = [0.02, 0.02, 0.02]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -0,0 +1,14 @@
tickrate = 6000.0
drone_tick_rate = 600
max_thrust = 2.6
max_torque = 0.5
mass = 0.350
time_constant=0.01
target_rate = 3.141592
proportional_multiplier = [0.025, 0.025, 0.025]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -1,14 +1,14 @@
tickrate = 60000.0 tickrate = 6000.0
drone_tick_rate = 600 drone_tick_rate = 600
target_rate = 3.141592
proportional_multiplier = [0.10, 0.10, 0.10]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]
max_thrust = 2.6 max_thrust = 2.6
max_torque = 0.5 max_torque = 0.5
mass = 0.350 mass = 0.350
time_constant=0.01 time_constant=0.01
target_rate = 3.141592
proportional_multiplier = [0.03, 0.03, 0.03]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -0,0 +1,14 @@
tickrate = 6000.0
drone_tick_rate = 600
max_thrust = 2.6
max_torque = 0.5
mass = 0.350
time_constant=0.01
target_rate = 3.141592
proportional_multiplier = [0.035, 0.035, 0.035]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -1,14 +1,14 @@
tickrate = 60000.0 tickrate = 6000.0
drone_tick_rate = 600 drone_tick_rate = 600
target_rate = 3.141592
proportional_multiplier = [0.15, 0.15, 0.15]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]
max_thrust = 2.6 max_thrust = 2.6
max_torque = 0.5 max_torque = 0.5
mass = 0.350 mass = 0.350
time_constant=0.01 time_constant=0.01
target_rate = 3.141592
proportional_multiplier = [0.04, 0.04, 0.04]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -0,0 +1,14 @@
tickrate = 6000.0
drone_tick_rate = 600
max_thrust = 2.6
max_torque = 0.5
mass = 0.350
time_constant=0.01
target_rate = 3.141592
proportional_multiplier = [0.045, 0.045, 0.045]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -1,14 +1,14 @@
tickrate = 60000.0 tickrate = 6000.0
drone_tick_rate = 600 drone_tick_rate = 600
target_rate = 3.141592
proportional_multiplier = [0.05, 0.05, 0.05]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]
max_thrust = 2.6 max_thrust = 2.6
max_torque = 0.5 max_torque = 0.5
mass = 0.350 mass = 0.350
time_constant=0.01 time_constant=0.01
target_rate = 3.141592
proportional_multiplier = [0.05, 0.05, 0.05]
integral_multiplier = [0.0, 0.0, 0.0]
diferential_multiplier = [0.0, 0.0, 0.0]

View File

@ -194,11 +194,13 @@ impl Drone {
*world.bodies.get(self.rb_handle).unwrap().rotation() *world.bodies.get(self.rb_handle).unwrap().rotation()
} }
pub fn process_tick(&mut self, world: &mut World) { pub fn process_controller_tick(&mut self, world: &mut World) {
self.update_controller(world); self.update_controller(world);
}
pub fn process_tick(&mut self, world: &mut World) {
self.apply_throttles(world, world.get_time() - self.last_time); self.apply_throttles(world, world.get_time() - self.last_time);
self.apply_drag(world); self.apply_drag(world);
self.last_time = world.get_time(); self.last_time = world.get_time();
} }
} }

View File

@ -222,8 +222,9 @@ impl Simulation {
{ {
cont.set_input(current_input); cont.set_input(current_input);
} }
self.drone.process_tick(&mut self.world); self.drone.process_controller_tick(&mut self.world);
} }
self.drone.process_tick(&mut self.world);
let target_angular_vel: na::Vector3<f32>; let target_angular_vel: na::Vector3<f32>;
let desired_motor_diff: na::Vector3<f32>; let desired_motor_diff: na::Vector3<f32>;