Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Worked CCD Formulations

Example 4.1: mass–spring–damper CCD

Choose spring stiffness kk and a proportional–derivative controller

u(t)=Kpx(t)Kdx˙(t)u(t)=-K_px(t)-K_d\dot{x}(t)

to reduce motion and effort for a system with fixed mm and cc.

Decisions:

xp=[k],xc=[Kp,Kd].\mathbf{x}_p=[k], \qquad \mathbf{x}_c=[K_p,K_d].

States and dynamics: With x1=xx_1=x and x2=x˙x_2=\dot{x},

x˙1=x2,x˙2=kmx1cmx2+1mu.\dot{x}_1=x_2, \qquad \dot{x}_2=-\frac{k}{m}x_1-\frac{c}{m}x_2+\frac{1}{m}u.

Substituting the controller produces a closed-loop model in kk, KpK_p, and KdK_d.

Objective:

J=t0tf(qxx1(t)2+qvx2(t)2+ru(t)2)dt.J=\int_{t_0}^{t_f}\left(q_xx_1(t)^2+q_vx_2(t)^2+ru(t)^2\right)dt.

Bounds and path constraint:

0<kminkkmax,0KpKp,max,0KdKd,max,u(t)umax.0<k_{\min}\leq k\leq k_{\max}, \quad 0\leq K_p\leq K_{p,\max}, \quad 0\leq K_d\leq K_{d,\max}, \quad |u(t)|\leq u_{\max}.

This is a complete, if small, CCD formulation.

Example 4.2: active suspension

For a quarter-car suspension, let

xp=[ks,cs]T,xc=[K1,K2,K3,K4]T.\mathbf{x}_p=[k_s,c_s]^T, \qquad \mathbf{x}_c=[K_1,K_2,K_3,K_4]^T.

A possible objective is

J=t0tf(w1ab(t)2+w2zs(t)2+w3u(t)2)dt,J=\int_{t_0}^{t_f}\left(w_1a_b(t)^2+w_2z_s(t)^2+w_3u(t)^2\right)dt,

where aba_b is body acceleration and zsz_s is suspension deflection. The quarter-car equations enforce the dynamics; path constraints can limit suspension travel, tire load, and actuator force. Plant and controller variables are optimized together while the state trajectory obeys the model.

Example 4.2 revisited: physically concrete plant constraints

The abstract stiffness-and-damping version above is a reasonable first pass, but real suspension co-design studies replace ksk_s and csc_s with the physical geometry that produces them, and replace the generic path constraint g()0\mathbf{g}(\cdot)\leq\mathbf{0} with a list of named engineering limits. In one such study, the quarter-car plant vector is the helical-spring and telescopic-damper geometry

xp=[d,D,p,Na,D0,Dp,Ds]T,\mathbf{x}_p=[d,\,D,\,p,\,N_a,\,D_0,\,D_p,\,D_s]^T,

where dd is spring wire diameter, DD is spring coil diameter, pp is spring pitch, NaN_a is the number of active coils, D0D_0 is the damper valve diameter, DpD_p is the damper piston diameter, and DsD_s is the damper stroke; spring stiffness ksk_s and damping rate csc_s become dependent quantities computed from this geometry rather than independent design variables. The Lagrange objective weighs road holding, ride comfort, and control cost,

J=t0tf(r1(zus(t)z0(t))2+r2z¨s(t)2+r3u(t)2)dt,J=\int_{t_0}^{t_f}\left(r_1(z_{us}(t)-z_0(t))^2+r_2\ddot{z}_s(t)^2+r_3u(t)^2\right)dt,

with weights on the order of r1=105r_1=10^5, r2=0.5r_2=0.5, and r3=105r_3=10^{-5} chosen so that all three terms have comparable numerical magnitude—an ordinary but essential scaling step for any multi-term Lagrange objective.

The physical-constraint set gp(xp)0\mathbf{g}_p(\mathbf{x}_p)\leq\mathbf{0} for this system is not one generic bound but a list of named engineering limits, including:

Several of these—rattlespace, fatigue, and the thermal limit—depend on the full state trajectory under a specified road disturbance, not merely on xp\mathbf{x}_p in isolation, so they are best classified as path constraints evaluated along a simulated response rather than as simple bounds. The general lesson is that a physically faithful CCD formulation of even a “simple” quarter-car suspension has more than a dozen named engineering constraints, most of them unit-bearing and traceable to a specific failure mode, rather than one abstract g()0\mathbf{g}(\cdot)\leq\mathbf{0}.

Example 4.3: classify an objective

Suppose

J=P(tf)+t0tf(0.02θp(t)2+0.1Mt(t)2)dt,J=-P(t_f)+\int_{t_0}^{t_f}\left(0.02\theta_p(t)^2+0.1M_t(t)^2\right)dt,

where P(tf)P(t_f) is final delivered energy, θp\theta_p is blade-pitch angle, and MtM_t is tower-base moment. The terminal term P(tf)-P(t_f) is Mayer; the integral is Lagrange; together they form a Bolza objective.