Back to Blog

Control theory - a high school physics perspective

Tutorial
Control theoryTutorialHigh school

What is control theory and why do we need it?

Control is ubiquitous—from humanoid robots and reusable launch vehicles to financial systems, control is essential: specifically, control is needed wherever we want a manufactured object to operate autonomously and achieve its objectives. People from different backgrounds develop their own control algorithms to accomplish missions autonomously. The field that represents abstract systems using differential or difference equations and studies their behavior under designed control algorithms is called control theory. We will go through a high-school physics case to design your first control algorithm in the following.

A high-school physics case: an object on an inclined plane

Object on inclined plane

Warm-up Question

Given the frictionless block and inclined plane shown above, the plane makes an angle θ\theta with the horizontal. The block has mass mm, and the gravitational acceleration is gg. The block is initially at rest at a point a distance ll up the slope from the bottom.

Question: After it is released at t=0t=0, how long does it take for the block to reach the bottom of the incline?

Answer

Applying Newton's second law along the inclined plane:
From the force analysis, the gravitational force component acting on the block along the plane is mgsin⁡θmg \sin\theta, thus the acceleration along the inclined plane is a=gsin⁡θa = g \sin\theta. Using the kinematic equation l=v0t+12at2l = v_0t+ \frac{1}{2} a t^2 with initial velocity v0=0v_0=0, the time required for the block to travel a distance ll along the inclined plane is t=2lgsin⁡θt = \sqrt{\frac{2l}{g \sin\theta}}.

The warm-up question above is a simple case in high-school physics. Now you have a scenario that the system, frictionless block, moves without any human intervention.

A step further:

Next, consider that you want to apply "control": you wish to change the destination of the block to the top of the inclined plane, position 2l2l. How can you design the force applied to the block?

Answer:

We define the upward direction along the inclined plane as the positive direction; therefore, the displacement we need to achieve is 2l−l=l2l - l = l. The net acceleration along the inclined plane in the upward direction is ax−gsin⁡θa_x - g\sin\theta, where axa_x is the designed acceleration (by Newton's second law, the control force is F=maxF = ma_x). Using the kinematic equation with zero initial velocity:

x=12aT2,x = \frac{1}{2} a T^2,

we obtain

l=12(ax−gsin⁡θ)T2.l = \frac{1}{2}(a_x - g\sin\theta)T^2.

After rearranging, we obtain the relationship between the mission duration TT and the designed acceleration axa_x:

ax=2lT2+gsin⁡θ.(1)a_x = \frac{2l}{T^2} + g\sin\theta. \tag{1}

Well done! You've used high school physics tools to design your first open-loop control algorithm: the block driven by the designed acceleration axa_x can reach the goal position in the predefined mission duration TT, as long as ax>gsin⁡θa_x > g\sin\theta.

Reflection

Where do these equations come from?

We were taught to use equations like v=v0+atv= v_0+at and x=v0t+12at2x = v_0t+\frac{1}{2}at^2 to solve problems in high school. But where do these kinematic equations come from?

Some classmates in high school already knew that acceleration aa is the derivative of velocity vv, and velocity is the derivative of position xx, and they are all functions of time tt. Instead of treating the acceleration aa as a constant, we generalize it:

x˙(t)=v(t)v˙(t)=a(t),\dot x(t) = v(t)\\ \dot v(t) = a(t),

where these above are exactly the simple case of ordinary differential equation (ODE). Solving the ODEs above gives you the general form (Now we need mathematical knowledge back to undergrad):

Solving the velocity equation

The velocity dynamics are given by

v˙(t)=a(t).\dot v(t) = a(t).

Integrating both sides from 00 to tt, we obtain

v(t)=v(0)+∫0ta(τ) dτ.v(t) = v(0) + \int_0^t a(\tau)\, d\tau.

Solving the position equation

The position dynamics are

x˙(t)=v(t).\dot x(t) = v(t).

Substituting the expression of v(t)v(t) yields

x(t)=x(0)+∫0tv(τ) dτ=x(0)+∫0t(v(0)+∫0τa(s) ds)dτ.x(t) = x(0) + \int_0^t v(\tau)\, d\tau= x(0) + \int_0^t \left( v(0) + \int_0^\tau a(s)\, ds \right) d\tau.

Separating the terms, we obtain

x(t)=x(0)+v(0)t+∫0t∫0τa(s) ds dτ.x(t)= x(0) + v(0)t + \int_0^t \int_0^\tau a(s)\, ds\, d\tau.

Exchanging the order of integration

By changing the order of integration, we have

∫0t∫0τa(s) ds dτ=∫0t(t−s) a(s) ds.\int_0^t \int_0^\tau a(s)\, ds\, d\tau= \int_0^t (t-s)\, a(s)\, ds.

Plug the result above back, we have the solution for velocity and position:

v(t)=v(0)+∫0ta(s) ds,x(t)=x(0)+v(0) t+∫0t(t−s) a(s) ds.v(t) = v(0) + \int_0^t a(s)\, ds, \\ x(t) = x(0) + v(0)\, t + \int_0^t (t - s)\, a(s)\, ds .

Treating the acceleration as a constant, a(t)=aa(t) = a, set the initial position as x(0)=0x(0)=0, and solve the integration, we recover the equation back to high school:

v(t)=v(0)+at,x(t)=v(0) t+12at2.v(t) = v(0) + at, \\ x(t) = v(0)\, t + \frac{1}{2}at^2 .

So far, we understand that the educator alleviate the burden for high school student by directly telling the analytic solution of the ODEs. The case above is already the most simple case. In the harsh reality, we need to solve the ODE to have a control law. What should we do with the more complex system? Is there anyway to escape the burdensome computation?

Besides, in the above design, we'd better hope there is nothing happened during the whole process: once the control law is encoded, it never cares about the information happening in the mission. However, a lot of exception can happen like the slight movement of the inclined plane. In this case, we wish the control can adjust according to the real-time situation.

Two terms to sum up the problems above is design complexity and adaptability.

Can we design a control law without solving the ODE?

Luckily, the predecesor in control provides the lazy way to design a feedback control law: intuitively, achieving a goal position and velocity (which is 0) means exerting influence on position xx and velocity vv. For example, the current position is 11, and we wish it to be 00, so it would be great if we can drive it approaches that. However, we cannot directly pick up the block and place it to the goal position (Remember, you can only push it along the inclined plane).

Some of people learns the concept of negative feedback regulation back to high school biology: the punishment comes when the object goes away from its goal to correct it. It seems a good mechanism we can apply to the block: the punishment (horizontal force) comes and drives it to its goal position when it is far away from its goal. How can we design it in a mathematical way?

It turns out that the feedback control form is simple:

a(t)=−k1x(t)−k2v(t)a(t) = -k_1x(t)-k_2v(t)

Plugging this form back to the ODEs, x˙(t)=v(t)\dot x(t) = v(t) and v˙(t)=a(t)\dot v(t)=a(t), we have

x˙(t)=v(t)v˙(t)=−k1x(t)−k2v(t)\dot{x}(t)=v(t) \\ \dot{v}(t)=-k_1 x(t)-k_2 v(t)

For the system with state feedback control law a(t)=−k1x(t)−k2v(t)a(t) = -k_1 x(t) - k_2 v(t), the resulting closed-loop dynamics can be written as the second-order linear ODE

x¨(t)+k2x˙(t)+k1x(t)=0,(1)\ddot x(t) + k_2 \dot x(t) + k_1 x(t) = 0, \tag{1}

whose characteristic equation is given by λ2+k2λ+k1=0\lambda^2 + k_2 \lambda + k_1 = 0. The block can achieve the goal (or it is asymptotically stable in a rigorious term) if and only if all eigenvalues of this polynomial have strictly negative real parts, which is guaranteed by the simple algebraic conditions k1>0k_1 > 0 and k2>0k_2 > 0, without the need to explicitly solve the ODE for x(t)x(t).

Verification

Recall that the block dynamics along the inclined plane are

x˙(t)=v(t),v˙(t)=a(t)−gsin⁡θ.\dot x(t) = v(t), \qquad \dot v(t) = a(t) - g\sin\theta .

To move the block to the top of the incline at position x=2lx = 2l, we define the position error

e(t):=x(t)−2l.e(t) := x(t) - 2l .

Driving the block to the goal position means enforcing

e(t)→0,e˙(t)=v(t)→0.e(t) \to 0, \qquad \dot e(t) = v(t) \to 0 .

Choosing a feedback control law

We choose the following feedback acceleration:

a(t)=gsin⁡θ−k1e(t)−k2v(t),a(t) = g\sin\theta - k_1 e(t) - k_2 v(t),

where k1>0k_1 > 0 and k2>0k_2 > 0 are design parameters.

Substituting this control law into the dynamics gives

e˙(t)=v(t),v˙(t)=−k1e(t)−k2v(t).\dot e(t) = v(t),\\ \dot v(t) = -k_1 e(t) - k_2 v(t).

Equivalently, the error dynamics satisfy the second-order linear ODE

e¨(t)+k2e˙(t)+k1e(t)=0.(2)\ddot e(t) + k_2 \dot e(t) + k_1 e(t) = 0. \tag{2}

Choosing concrete numbers

Now we choose explicit numerical values for the feedback gains. Let

k1=4,k2=4.k_1 = 4, \qquad k_2 = 4.

Then equation (2) becomes

e¨(t)+4e˙(t)+4e(t)=0,\ddot e(t) + 4 \dot e(t) + 4 e(t) = 0,

whose characteristic equation is

λ2+4λ+4=(λ+2)2=0.\lambda^2 + 4\lambda + 4 = (\lambda + 2)^2 = 0.

Both eigenvalues are λ=−2\lambda = -2, which has a strictly negative real part. Therefore,

e(t)→0,e˙(t)→0as t→∞.e(t) \to 0, \qquad \dot e(t) \to 0 \quad \text{as } t \to \infty.

Interpretation for the block

Starting from the initial condition x(0)=lx(0) = l and v(0)=0v(0) = 0, the position error x(t)−2lx(t) - 2l converges to zero, the velocity converges to zero, and the block comes to rest exactly at the top of the inclined plane.

The explicit control input applied to the block is

a(t)=gsin⁡θ−4(x(t)−2l)−4v(t)\boxed{ a(t) = g\sin\theta - 4\bigl(x(t) - 2l\bigr) - 4v(t) }

This simple numerical choice verifies that the feedback control law drives the block to the desired position without explicitly solving the system trajectories.

Matching the initial acceleration

We can connect the feedback control law to the original open-loop control form from equation (1), ax=2lT2+gsin⁡θa_x = \frac{2l}{T^2} + g\sin\theta.

From the feedback control law,

a(t)=gsin⁡θ−k1(x(t)−2l)−k2v(t),a(t) = g\sin\theta - k_1\bigl(x(t)-2l\bigr) - k_2 v(t),

the initial acceleration is given by

a(0)=gsin⁡θ−k1(x(0)−2l)−k2v(0).a(0) = g\sin\theta - k_1\bigl(x(0)-2l\bigr) - k_2 v(0).

Using the initial conditions x(0)=lx(0)=l and v(0)=0v(0)=0, we obtain

a(0)=gsin⁡θ+k1l.a(0) = g\sin\theta + k_1 l.

If we wish this initial acceleration to match the open-loop acceleration designed earlier,

ax=2lT2+gsin⁡θ,a_x = \frac{2l}{T^2} + g\sin\theta,

we can choose

k1=2T2.\boxed{ k_1 = \frac{2}{T^2}. }

This choice ensures that the feedback control law produces the same acceleration as the open-loop design at the initial time t=0t=0.

Conclusion

Congratulations! You've just designed your first control algorithms—both open-loop and closed-loop—using nothing more than high school physics and a bit of calculus.

Key takeaways:

  1. Open-loop control designs a fixed input trajectory based on initial conditions, but cannot adapt to disturbances
  2. Closed-loop (feedback) control continuously measures the system state and adjusts the input, providing robustness and adaptability
  3. Avoiding ODE solutions: Feedback control allows us to design controllers without explicitly solving differential equations—we only need to check algebraic stability conditions
  4. The power of linearity: For linear systems, stability analysis reduces to checking eigenvalues of characteristic polynomials

This simple inclined plane example contains the fundamental ideas that scale to complex robots, aircraft, and autonomous vehicles. In future tutorials, we'll explore:

  • Nonlinear systems and Lyapunov stability
  • Optimal control and the Linear Quadratic Regulator (LQR)
  • Safety-critical control with Model Predictive Control (MPC) and Control Barrier Functions (CBFs)

Further Reading


Posted on Feb 5, 2026