
ControllerActor |
ptolemy.domains.ct.demo.Helicopter.ControllerActor |
The controller for the helicopter. It has the form:
<pre><code>
+- -+ +- +- -+ -+
| dddTm/dttt| | | Vx | |
| | = inv(K)|-b + | | |
| dA/dt | | | Vz | |
+- -+ +- +- -+ -+
</code></pre>
where
<pre><code>
[kInv11 kInv12]
inv(K) = [ ]
[kInv21 kInv22]
and
kInv11 = ((MM*TM*Sin[th])/(Iy*m) + (hM*TM^2*Cos[a]*Sin[th])/(Iy*m))/
((MM*TM*Cos[th]^2)/(Iy*m^2) + (hM*TM^2*Cos[a]*Cos[th]^2)/(Iy*m^2) +
(MM*TM*Sin[th]^2)/(Iy*m^2) + (hM*TM^2*Cos[a]*Sin[th]^2)/(Iy*m^2))
kInv12 = (-((MM*TM*Cos[th])/(Iy*m)) - (hM*TM^2*Cos[a]*Cos[th])/(Iy*m))/
((MM*TM*Cos[th]^2)/(Iy*m^2) + (hM*TM^2*Cos[a]*Cos[th]^2)/(Iy*m^2) +
(MM*TM*Sin[th]^2)/(Iy*m^2) + (hM*TM^2*Cos[a]*Sin[th]^2)/(Iy*m^2))
kInv21 = Cos[th]/
(m*((MM*TM*Cos[th]^2)/(Iy*m^2) + (hM*TM^2*Cos[a]*Cos[th]^2)/(Iy*m^2) +
(MM*TM*Sin[th]^2)/(Iy*m^2) + (hM*TM^2*Cos[a]*Sin[th]^2)/(Iy*m^2)))
kInv22 = Sin[th]/
(m*((MM*TM*Cos[th]^2)/(Iy*m^2) + (hM*TM^2*Cos[a]*Cos[th]^2)/(Iy*m^2) +
(MM*TM*Sin[th]^2)/(Iy*m^2) + (hM*TM^2*Cos[a]*Sin[th]^2)/(Iy*m^2)))
[b1]
b = [ ]
[b2]
b1 = (3*DDotTM*Dotth*Cos[th])/m - (Dotth^3*TM*Cos[th])/m +
(DotTM*hM*TM*Cos[th]*Sin[a])/(Iy*m) +
(3*DotTM*Cos[th]*(a*MM + hM*TM*Sin[a]))/(Iy*m) -
(3*Dotth^2*DotTM*Sin[th])/m -
(3*Dotth*TM*(a*MM + hM*TM*Sin[a])*Sin[th])/(Iy*m)
b2 = (3*Dotth^2*DotTM*Cos[th])/m +
(3*Dotth*TM*Cos[th]*(a*MM + hM*TM*Sin[a]))/(Iy*m) +
(3*DDotTM*Dotth*Sin[th])/m - (Dotth^3*TM*Sin[th])/m +
(DotTM*hM*TM*Sin[a]*Sin[th])/(Iy*m) +
(3*DotTM*(a*MM + hM*TM*Sin[a])*Sin[th])/(Iy*m)
</pre>
The input of the actors are Tm, DTm, DDTm, A, Th, DTh, Vx, and Vz
The outputs are DDDTm, and DA
Author(s): Jie Liu
Version:$Id: ControllerActor.doc.html,v 1.1 2006/02/22 18:40:26 mangal Exp $
Pt.Proposed Rating:Red (liuj)
Pt.Accepted Rating:Red (reviewmoderator)
inputTm
Input port Tm
inputDTm
Input port DTm = dTm/dt
inputDDTm
Input port DDTm = ddTm/dtt
inputA
Input port a
inputTh
Input port Th
inputDTh
Input port DTh
inputVx
Input port Vx
inputVz
Input port Vz
outputDDDTm
Output port DDDTm = dddTm/dttt
outputDA
Output port DA = dA/dt
paramIy
Parameter for Iy, double, default 0.271256.
paramHm
Parameter for hm, double, default 0.2943.
paramMm
Parameter for Mm, double, default 25.23.
paramMass
Parameter for the mass, double, default 4.9.