Theoretical Framework#
Pendulum test bench dynamics#
For a single-axis pendulum test bench:
where:
\(\theta\) is the joint position
\(\tau_m\) is the actuator torque
\(\tau_e(\theta) = mgl\sin(\theta)\) is the gravity torque
\(\tau_f\) is the friction torque
\(J\) is the apparent inertia (load + actuator side)
Friction as a torque budget#
The Coulomb-Viscous form is typically written as a force opposed to velocity. In BAM, friction is handled through a maximum available resistive torque \(\tau_{fm}\).
For a discrete simulator with time step \(\Delta t\), stopping at next step requires:
which yields the stopping torque:
The applied friction is then this stopping torque clipped to the available friction budget:
Each model \(\mathcal{M}_i\) defines \(\tau_{fm}\) with a different level of expressiveness.
Servo model + friction model coupling#
In BAM, simulation combines:
a servo model \(\mathcal{S}\) that maps state and target to motor torque
a friction model \(\mathcal{M}\) that computes the friction budget
At each step:
compute \(\tau_m\) from control law and motor model
compute \(\tau_{fm}\) from chosen friction model
compute \(\tau_f\) by clipping \(\tau_{f,stop}\)
integrate acceleration from bench dynamics
This makes the framework both identifiable from logs and directly usable in simulation.