In FRC, control applications center around two things. You have your control effort and your output. Your control effort is what you’re applying to your system (i.e., volts, amps, power), and your output is what’s being affected (position in meters, angle of the mechanism, the linear velocity at which it's traveling, etc.). For our purposes, let’s denote control effort as E and output as O.

Throughout this document you’re going to see there’s a large focus how we control the motor, not the mechanism. This is because from a control perspective, the motor is all we can see and control, which means that’s pretty much all we care about. The dynamics of the system ultimately tell us how we need to control our motor, which in turn controls the system.

Feedforward

In its simplest form, the Feedforward model can be represented by an equation that’s shown below. Keep track of the units as we go.

$$ V = K_ssgn(v)+ K_vv + K_a*a $$

where

IMG_A9E7E43DEF02-1.jpeg

Let’s do some dimensional analysis!

Let’s do an example! Where our control effort is in Volts and our output is LinearVelocity. Note that the output is what we desire to achieve, as in we want our mechanism to achieve a certain linear velocity.

SimpleMotorFeedForward