♻️ crazy refactor

This commit is contained in:
2026-03-11 22:52:01 +01:00
parent 35223b3560
commit 4115447022
34 changed files with 4255 additions and 102 deletions

View File

@@ -0,0 +1,23 @@
# Rotary cartpole (Furuta pendulum) — real hardware config.
# Describes the physical device for the SerialRunner.
# Robot-specific constants that don't belong in the runner config
# (which is machine-specific: port, baud) or the env config
# (which is task-specific: rewards, max_steps).
encoder:
ppr: 11 # pulses per revolution (before quadrature)
gear_ratio: 30.0 # gearbox ratio
# counts_per_rev = ppr × gear_ratio × 4 (quadrature) = 1320
safety:
max_motor_angle_deg: 90.0 # hard termination limit (0 = disabled)
soft_limit_deg: 40.0 # progressive penalty ramp starts here
reset:
drive_speed: 80 # PWM magnitude for bang-bang drive-to-center
deadband: 15 # encoder count threshold to consider "centered"
drive_timeout: 3.0 # seconds before giving up on drive-to-center
settle_angle_deg: 2.0 # pendulum angle threshold for "still" (degrees)
settle_vel_dps: 5.0 # pendulum velocity threshold (deg/s)
settle_duration: 0.5 # how long pendulum must stay still (seconds)
settle_timeout: 30.0 # give up waiting after this (seconds)