Motion Control
fast is slow slow is smooth smooth is fast
Motion Profiling

Using the Motion Profile
Last updated
fast is slow slow is smooth smooth is fast

Last updated
# instanciate profile
profile = TrapezoidProfile(
max_accel,
max_decel,
max_vel,
targetDistance
)
# pseudocode, use the SystemTimeTopic within scheduler
timer = timer()
# this would be the periodic method of a Topic.
while True:
state = profile.get(timer.seconds())
# unpack state variables
position, velocity, accel = state.x, state.v, state.a
# stack position and velocity control!
u = pid(
position, velocity
) + feedforward(
velocity, acceleration
)