Difference between revisions of "Cushioned Oscillation"

From mintOC
Jump to: navigation, search
(Optimal Control Problem (OCP) Formulation)
(Optimal Control Problem (OCP) Formulation)
Line 30: Line 30:
 
<math>\min\limits_{t_f} t_f</math>
 
<math>\min\limits_{t_f} t_f</math>
  
== Optimal Control Problem (OCP) Formulation ==
+
== Optimal Control Problem Formulation ==
  
 
The above results in the following OCP  
 
The above results in the following OCP  
Line 46: Line 46:
 
& v(t_f)=0,\\
 
& v(t_f)=0,\\
 
\\
 
\\
 +
& |u| \le u_{mm}\\
 
& -u_{mm} \le u \le u_{mm}\\
 
& -u_{mm} \le u \le u_{mm}\\
 
  \end{array}</math>
 
  \end{array}</math>

Revision as of 19:51, 14 February 2016

Cushioned Oscillation
State dimension: 1
Differential states: 2
Continuous control functions: 1
Interior point equalities: 4

The Cushioned Oscillation is a simplified model of time optimal "stopping" of an oscillating object attached to a spring by applying a control and moving it back into the relaxed position and zero velocity.

Model formulation

An object with mass  m is attached to a spring with stiffness constant  c .

If the resetting spring force is proportional to the deviation x=x(t), an oscillation, induced by an external force u(t), satisfies:


               m\dot v (t) + cx(t) = u(t) (which is equivalent to \dot v (t) = \frac{1}{m}(u(t) - cx(t)))


where x(t) denotes the deviation to the relaxed position and  v(t)=\dot x (t) the velocity of the oscillating object.

Through external force, the object has been put into an initial state :

(x(0),v(0)) = (x_0,v_0)

The goal is to reset position and velocity of the object as fast as possible, meaning:

(x(t_f),v(t_f)) = (0,0),

with the objective function:

\min\limits_{t_f} t_f

Optimal Control Problem Formulation

The above results in the following OCP

 		\begin{array}{llr}
 		\min\limits_{x,v,u,t_f}  & t_f\\ 

			 		s.t. & 	 \dot x = v\\

					 	 &	\dot v= \frac{1}{m}(u - c \cdot x)\\
\\                                                  
& x(0)=x_0,\\
& v(0)=v_0,\\
& x(t_f)=0,\\
& v(t_f)=0,\\
\\
& |u| \le u_{mm}\\
& -u_{mm} \le u \le u_{mm}\\					 	
 		\end{array}

Parameters and Reference Solution

The following parameters were used, to create the reference solution below, with an almost optimal final time  t_f = 8.98 s:

 m=5,  c=10,  x_0=2,  v_0=5,  u_{mm}=5.

Reference Solution

The OCP was solved within MATLAB R2015b, using the TOMLAB Optimization Package. PROPT reformulates such problems with the direct collocation approach (n=80 collocation points) and automatically finds a suiting solver included in the TOMLAB Optimization Package (in this case, SNOPT was used).

Source Code

References