31 lines
1.4 KiB
YAML
31 lines
1.4 KiB
YAML
# Canonical training model — unified sysid (cost 0.925, 475 generations).
|
|
# Source: sysid_result.json → exported via src.sysid.export.
|
|
# Key physics: ~96 ms motor lag (filter_tau), Stribeck friction, driver bias.
|
|
# Regenerate with:
|
|
# python -m src.sysid.optimize --robot-path assets/rotary_cartpole --recording <capture>.npz
|
|
# then copy robot_tuned.yaml over this file once validated
|
|
# (python -m src.sysid.visualize to compare real vs sim).
|
|
|
|
urdf: rotary_cartpole_tuned.urdf
|
|
|
|
actuators:
|
|
- joint: motor_joint
|
|
type: motor
|
|
gear: [0.846499, 1.183733] # torque constant [pos, neg]
|
|
ctrl_range: [-0.686251, 0.686251] # PWM saturation (MAX_MOTOR_SPEED / 255)
|
|
deadzone: [0.181097, 0.202072] # L298N min |ctrl| for torque [pos, neg]
|
|
damping: [0.013165, 0.015452] # viscous damping [pos, neg]
|
|
frictionloss: [0.014244, 0.001005] # Coulomb friction [pos, neg]
|
|
filter_tau: 0.096263 # 1st-order actuator lag (s) — dominant!
|
|
stribeck_friction_boost: 0.068594 # extra static friction near standstill
|
|
stribeck_vel: 5.279594 # Stribeck decay velocity (rad/s)
|
|
action_bias: 0.056566 # additive ctrl bias (driver asymmetry)
|
|
|
|
joints:
|
|
motor_joint:
|
|
armature: 0.001676 # reflected rotor inertia (kg·m²)
|
|
frictionloss: 0.0 # handled by motor model via qfrc_applied
|
|
pendulum_joint:
|
|
damping: 1.2e-05
|
|
frictionloss: 7.2e-05
|