⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 airgk.mdl

📁 library of aircraft models to be used with Simulink
💻 MDL
📖 第 1 页 / 共 5 页
字号:
	  ShowName		  off
	  Elements		  "[1:9]"
	  InputPortWidth	  "12"
	  Port {
	    PortNumber		    1
	    Name		    "Airspeed, Rate, Attitude"
	    TestPoint		    off
	    RTWStorageClass	    "Auto"
	  }
	}
	Block {
	  BlockType		  Terminator
	  Name			  "Terminator1"
	  Position		  [530, 160, 550, 180]
	  ShowName		  off
	}
	Block {
	  BlockType		  Terminator
	  Name			  "Terminator2"
	  Position		  [530, 205, 550, 225]
	  ShowName		  off
	}
	Block {
	  BlockType		  Terminator
	  Name			  "Terminator3"
	  Position		  [530, 250, 550, 270]
	  ShowName		  off
	}
	Block {
	  BlockType		  Outport
	  Name			  "out"
	  Position		  [595, 73, 625, 87]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "[]"
	}
	Line {
	  Name			  "Controls"
	  Labels		  [1, 1]
	  SrcBlock		  "controls"
	  SrcPort		  1
	  DstBlock		  "Terminator3"
	  DstPort		  1
	}
	Line {
	  Name			  "Others"
	  Labels		  [1, 1]
	  SrcBlock		  "others"
	  SrcPort		  1
	  DstBlock		  "Terminator2"
	  DstPort		  1
	}
	Line {
	  Name			  "xdot"
	  Labels		  [1, 1]
	  SrcBlock		  "xdot"
	  SrcPort		  1
	  DstBlock		  "Terminator1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Mux1"
	  SrcPort		  1
	  DstBlock		  "out"
	  DstPort		  1
	}
	Line {
	  Labels		  [0, 0]
	  SrcBlock		  "GPS Sensors"
	  SrcPort		  1
	  DstBlock		  "GPS delay"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "GPS delay"
	  SrcPort		  1
	  DstBlock		  "Mux1"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "ARA delay"
	  SrcPort		  1
	  DstBlock		  "Mux1"
	  DstPort		  1
	}
	Line {
	  Name			  "Position (GPS)"
	  Labels		  [1, 0]
	  SrcBlock		  "Selector1"
	  SrcPort		  1
	  DstBlock		  "GPS Sensors"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "ARA Sensors"
	  SrcPort		  1
	  DstBlock		  "ARA delay"
	  DstPort		  1
	}
	Line {
	  Name			  "Airspeed, Rate, Attitude"
	  Labels		  [1, 1]
	  SrcBlock		  "Selector2"
	  SrcPort		  1
	  DstBlock		  "ARA Sensors"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "x"
	  SrcPort		  1
	  Points		  [0, 0; 35, 0]
	  Branch {
	    Points		    [0, -60]
	    DstBlock		    "Selector2"
	    DstPort		    1
	  }
	  Branch {
	    DstBlock		    "Selector1"
	    DstPort		    1
	  }
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "uy-Control"
      Ports		      [2, 1, 0, 0, 0]
      Position		      [250, 132, 305, 208]
      DropShadow	      on
      ShowPortLabels	      on
      MaskType		      "General Nonlinear Aircraft Controller"
      MaskDescription	      "  This block is a general feedback linearizatio"
"n controller for aircraft.\n  The first input is a vector contains the 12 air"
"craft states.\n  The second input contains the reference position and velocit"
"y.\n  The output contains the commanded deflections (elevator, \n  aileron an"
"d rudder) and the thrust force along the body x axis.\n  Geometry, Mass and A"
"erodynamic Derivatives should match the \n  ones of the aircraft to be contro"
"lled. Ka,Kb,Kc,Kd, are the state space\n  (scalar) coefficients of a PID cont"
"roller for the feedback linearized \n  attitude dynamics, which behaves as a "
"double integrator system.\n  Ku is the proportional forward velocity controll"
"er. The Horizon time \n  is the approximated time lag between reference and a"
"ctual trajectory. \n  Usually only the aircraft related coefficients need to "
"be changed\n  when applying the controller to a different aircraft."
      MaskHelp		      "<p>\n  This block is a general feedback lineari"
"zation controller for aircraft.\n  The first input is a vector contains the 1"
"2 aircraft states.\n  The second input contains the reference position and ve"
"locity.\n  The output contains the commanded deflections (elevator, \n  ailer"
"on and rudder) and the thrust force along the body x axis.\n  Geometry, Mass "
"and Aerodynamic Derivatives should match the \n  ones of the aircraft to be c"
"ontrolled. Ka,Kb,Kc,Kd, are the state space\n  (scalar) coefficients of a PID"
" controller for the feedback linearized \n  attitude dynamics, which behaves "
"as a double integrator system.\n  Ku is the proportional forward velocity con"
"troller. The Horizon time \n  is the approximated time lag between reference "
"and actual trajectory. \n  Usually only the aircraft related coefficients nee"
"d to be changed\n  when applying the controller to a different aircraft.\n</p"
">\n<p>\nNote that neither flaps nor stabilators can be used by this control. "
"Also, this control can be used only when the linearized system having thrust,"
" elevators, ailerons, rudder as inputs, and speed, roll, pitch, yaw as output"
"s is non-minimum phase. Usually such a system has 2 zeros on the negative rea"
"l axis, related to alpha and beta respectively. Only occasionally the zero re"
"lated to beta is on the positive real axis. In those cases the system is non-"
"minimum phase and this controller is not usable anymore.\n</p>\n<p>\nThe cont"
"rol surface sign conventions are the same adopted in books such as Stevens-Le"
"wis and Etkin, and in many flight simulators, \nincluding the FDC toolbox. <b"
"r> \nSpecifically, positive elevator deflection causes negative pitching mome"
"nt (Cmde &#60 0), positive rudder deflection causes negative yawing \nmoment "
"(Cndr &#60 0), and positive aileron deflection causes negative rolling moment"
" (Clda &#60 0). Another way to say the same thing is \nthat, the positive ele"
"vators deflection is Trailing Edge Down (TED), the positive rudder(s) deflect"
"ion is Trailing Edge Left (TEL), and, \ntaking as TED the positive ailerons d"
"eflection, da=K*(da_right-da_left), with K usually equal to 1 (FDC) or 1/2.\n"
"</p>\n<p>\nSince this block is largely based on the FDC toolbox, i redirect y"
"ou to the FDC Toolbox manual, for a good explanation of the underlying \ncomp"
"onents. Besides the mask and the fact that the aerodynamic derivatives are ex"
"pressed in the stability axis, the only relevant difference \nwith the FDC to"
"olbox is that in the computation of the aerodynamic forces, q is normalized a"
"s q*cbar/2V instead of q*cbar/V. The majority \nof aeronautics books that i'v"
"e seen use q*cbar/2V.\n</p>\n<p>\nPlease note that the International Measurem"
"ent System is adopted. So, lengths are in meters, masses in Kg, and inertia m"
"oments in Kg*m^2. \nMoreover, forces are in N, moments in N*m, accelerations "
"in g, and angles in radians. For those that use the english system, here are "
"some useful \nconversion factors: <br>\n1 ft   = 0.3048 m, 1 lb   = 0.4536 Kg"
", 1 slug = 14.593903 Kg ,  1 slug*ft^2 = 1.355818 Kg*m^2 \n<br>\n</p>\n<p>\nF"
"inally, there is an <A HREF=\"http://www.aae.uiuc.edu/m-selig/apasim/Aircraft"
"-uiuc.html\">excellent source</A> of aircraft aerodynamic data \nwhich is man"
"tained by Michael S. Selig, Rob Deters, and Glen Dimock at the university of "
"Urbana-Champaign. To use any of the given models \nyou just need to type the "
"supplied aircraft data in the block mask.  \n</p>\n<p>\n<p>\nJuly 2006, Giamp"
"iero Campa\n</p>\n</p>"
      MaskPromptString	      "Geometry and Mass : [cbar   b    S    Ix   Iy  "
" Iz   Jxy  Jxz  Jyz  m]|Aerodynamic D-Force Derivatives : [CD0 CDa CDq CDde C"
"Dih]|Aerodynamic L-Force Derivatives : [CL0 CLa CLq CLde CLih]|Aerodynamic Y-"
"Moment Derivatives : [Cm0 Cma Cmq Cmde Cmih]|Aerodynamic X-moment Derivatives"
" : [Cl0 Clb Clp Clr Clda Cldr]|Aerodynamic Z-moment Derivatives : [Cn0 Cnb Cn"
"p Cnr Cnda Cndr]|Controller Coefficients: [Ka Kb Kc Kd Ku]|Horizon Time|Sampl"
"ing Time"
      MaskStyleString	      "edit,edit,edit,edit,edit,edit,edit,edit,edit"
      MaskTunableValueString  "on,on,on,on,on,on,on,on,on"
      MaskCallbackString      "||||||||"
      MaskEnableString	      "on,on,on,on,on,on,on,on,on"
      MaskVisibilityString    "on,on,on,on,on,on,on,on,on"
      MaskVariables	      "GM1=@1;CD_wind=@2;CL_wind=@3;Cm_body=@4;Cl_body"
"=@5;Cn_body=@6;K=@7;THor=@8;Ts=@9;"
      MaskDisplay	      "disp('General\\nAircraft\\nController')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "[0.5486  5.1511  2.8261   47.2259  90.9483  111"
".4754   0  -6.6462  0   190.512]|[0.060  0.430  0  0.0180  0]|[0.385  4.78  8"
".05  0.401  0]|[0.194  -2.12   -36.6   -1.76    0]|[0   -0.023   -0.450   0.2"
"65   -0.161  -0.00229]|[0    0.109  -0.110  -0.200    0.0200  -0.0917]|[-6.75"
" 9 -9 13.5 0.3]|15|0.05"
      System {
	Name			"uy-Control"
	Location		[55, 367, 811, 621]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  Inport
	  Name			  "sns"
	  Position		  [30, 28, 60, 42]
	  ForegroundColor	  "orange"
	  Port			  "1"
	  PortWidth		  "-1"
	  SampleTime		  "-1"
	  DataType		  "auto"
	  SignalType		  "auto"
	  Interpolate		  on
	}
	Block {
	  BlockType		  Inport
	  Name			  "ref"
	  Position		  [30, 78, 60, 92]
	  Port			  "2"
	  PortWidth		  "-1"
	  SampleTime		  "-1"
	  DataType		  "auto"
	  SignalType		  "auto"
	  Interpolate		  on
	}
	Block {
	  BlockType		  SubSystem
	  Name			  "4CmdsuKinInv"
	  Ports			  [2, 2, 0, 0, 0]
	  Position		  [235, 72, 290, 163]
	  DropShadow		  on
	  NamePlacement		  "alternate"
	  ShowPortLabels	  on
	  MaskType		  "Inverse Nonlinear Aircraft Model"
	  MaskDescription	  "  This block uses an exact turn coordinatio"
"n constraint\n  to obtain velocity and attitude commands from desired acceler"
"ations.\n  The first input contains the desired derivatives of the position ("
"x,y,H).\n  The second input contains the actual state of the aircraft.\n  The"
" first and second outputs contain respectively the commanded\n  euler angles "
"and the speed along the x axis (u=Vcos(a)cos(b)).\n  NB : The International m"
"easurement system (MKS) is adopted."
	  MaskHelp		  "  This block uses an exact turn coordinatio"
"n constraint\n  to obtain velocity and attitude commands from desired acceler"
"ations.\n  The first input contains the desired derivatives of the position ("
"x,y,H).\n  The second input contains the actual state of the aircraft.\n  The"
" first and second outputs contain respectively the commanded\n  euler angles "
"and the speed along the x axis (u=Vcos(a)cos(b)).\n  NB : The International m"
"easurement system (MKS) is adopted."
	  MaskPromptString	  "Initial Psi (used for Turn Coordination Der"
"ivative)|Sampling Time (used for Turn Coordination Derivative)"
	  MaskStyleString	  "edit,edit"
	  MaskTunableValueString  "on,on"
	  MaskCallbackString	  "|"
	  MaskEnableString	  "on,on"
	  MaskVisibilityString	  "on,on"
	  MaskVariables		  "Psi0=@1;T=@2;"
	  MaskDisplay		  "disp('u-Inverse\\nKinematic\\nModel')"
	  MaskIconFrame		  on
	  MaskIconOpaque	  on
	  MaskIconRotate	  "none"
	  MaskIconUnits		  "autoscale"
	  MaskValueString	  "0|Ts"
	  Port {
	    PortNumber		    1
	    Name		    "rpy des"
	    TestPoint		    off
	    RTWStorageClass	    "Auto"
	  }
	  Port {
	    PortNumber		    2
	    Name		    "u des"
	    TestPoint		    off
	    RTWStorageClass	    "Auto"
	  }
	  System {
	    Name		    "4CmdsuKinInv"
	    Location		    [36, 81, 685, 400]
	    Open		    off
	    ModelBrowserVisibility  off
	    ModelBrowserWidth	    200
	    ScreenColor		    "white"
	    PaperOrientation	    "landscape"
	    PaperPositionMode	    "auto"
	    PaperType		    "usletter"
	    PaperUnits		    "inches"
	    ZoomFactor		    "100"
	    AutoZoom		    on
	    Block {
	      BlockType		      Inport
	      Name		      "pdotdes"
	      Position		      [25, 113, 55, 127]
	      ForegroundColor	      "red"
	      Port		      "1"
	      PortWidth		      "-1"
	      SampleTime	      "-1"
	      DataType		      "auto"
	      SignalType	      "auto"
	      Interpolate	      on
	      Port {
		PortNumber		1
		Name			"xyHdotdes"
		TestPoint		off
		RTWStorageClass		"Auto"
	      }
	    }
	    Block {
	      BlockType		      Inport
	      Name		      "x"
	      Position		      [25, 258, 55, 272]
	      ForegroundColor	      "blue"
	      Port		      "2"
	      PortWidth		      "-1"
	      SampleTime	      "-1"
	      DataType		      "auto"
	      SignalType	      "auto"
	      Interpolate	      on
	    }
	    Block {
	      BlockType		      Demux
	      Name		      "Demux"
	      Ports		      [1, 3, 0, 0, 0]
	      Position		      [270, 94, 275, 146]
	      BackgroundColor	      "black"
	      ShowName		      off
	      Outputs		      "3"
	    }
	    Block {
	      BlockType		      SubSystem
	      Name		      "Exact Turn Coordination"
	      Ports		      [3, 3, 0, 0, 0]
	      Position		      [415, 34, 480, 166]
	      ShowPortLabels	      on
	      System {
		Name			"Exact Turn Coordination"
		Location		[49, 267, 1017, 647]
		Open			off
		ModelBrowserVisibility	off
		ModelBrowserWidth	200
		ScreenColor		"automatic"
		PaperOrientation	"landscape"
		PaperPositionMode	"auto"
		PaperType		"usletter"
		PaperUnits		"inches"
		ZoomFactor		"100"
		AutoZoom		on
		Block {
		  BlockType		  Inport
		  Name			  "x"
		  Position		  [30, 53, 60, 67]
		  Port			  "1"
		  PortWidth		  "-1"
		  SampleTime		  "-1"
		  DataType		  "auto"
		  SignalType		  "auto"
		  Interpolate		  on
		  Port {
		    PortNumber		    1
		    Name		    "x"
		    TestPoint		    off
		    RTWStorageClass	    "Auto"
		  }
		}
		Block {
		  BlockType		  Inport
		  Name			  "chi"
		  Position		  [30, 313, 60, 327]
		  Port			  "2"
		  PortWidth		  "-1"
		  SampleTime		  "-1"
		  DataType		  "auto"
		  SignalType		  "auto"
		  Interpolate		  on
		}
		Block {
		  BlockType		  Inport
		  Name			  "gamma"
		  Position		  [210, 163, 240, 177]
		  Port			  "3"
		  PortWidth		  "-1"
		  SampleTime		  "-1"
		  DataType		  "auto"
		  SignalType		  "auto"
		  Interpolate		  on
		}
		Block {
		  BlockType		  SubSystem
		  Name			  "Derivative"
		  Ports			  [1, 1, 0, 0, 0]
		  Position		  [210, 122, 255, 148]
		  NamePlacement		  "alternate"
		  ShowPortLabels	  on
		  MaskType		  "Time Derivative"
		  MaskDescription	  "  First order approximation of the "
"time derivative of the input signal,\n  the original one is buggy."
		  MaskPromptString	  "Sampling Time|Initial Condition"
		  MaskStyleString	  "edit,edit"
		  MaskTunableValueString  "on,on"
		  MaskCallbackString	  "|"
		  MaskEnableString	  "on,on"
		  MaskVisibilityString	  "on,on"
		  MaskVariables		  "T=@1;x0=@2;"
		  MaskIconFrame		  on
		  MaskIconOpaque	  on
		  MaskIconRotate	  "none"
		  MaskIconUnits		  "autoscale"
		  MaskValueString	  "T|Psi0"
		  Port {
		    PortNumber		    1
		    Name		    "psidot"
		    TestPoint		    off
		    RTWStorageClass	    "Auto"
		  }
		  System {
		    Name		    "Derivative"
		    Location		    [233, 183, 598, 305]
		    Open		    off
		    ModelBrowserVisibility  off
		    ModelBrowserWidth	    200
		    ScreenColor		    "white"
		    PaperOrientation	    "landscape"
		    PaperPositionMode	    "auto"
		    PaperType		    "usletter"
		    PaperUnits		    "inches"
		    ZoomFactor		    "100"
		    AutoZoom		    on
		    Block {
		    BlockType		    Inport
		    Name		    "x"
		    Position		    [310, 48, 340, 62]
		    Orientation		    "left"
		    Port		    "1"
		    PortWidth		    "-1"
		    SampleTime		    "-1"
		    DataType		    "auto"
		    SignalType		    "auto"
		    Interpolate		    on
		    }
		    Block {
		    BlockType		    Product
		    Name		    "Product2"
		    Ports		    [2, 1, 0, 0, 0]
		    Position		    [80, 26, 110, 64]
		    Orientation		    "left"
		    ShowName		    off
		    Inputs		    "/*"
		    SaturateOnIntegerOverflow on
		    }
		    Block {
		    BlockType		    Sum
		    Name		    "Sum4"
		    Ports		    [2, 1, 0, 0, 0]
		    Position		    [130, 45, 150, 65]
		    Orientation		    "left"
		    ShowName		    off
		    IconShape		    "round"
		    Inputs		    "|+-"
		    SaturateOnIntegerOverflow on
		    }
		    Block {
		    BlockType		    UnitDelay
		    Name		    "Unit Delay1"
		    Position		    [170, 74, 205, 96]
		    Orientation		    "left"
		    ShowName		    off
		    X0			    "x0"
		    SampleTime		    "T"
		    }
		    Block {
		    BlockType		    ZeroOrderHold
		    Name		    "Zero-Order\nHold1"
		    Position		    [265, 45, 285, 65]
		    Orientation		    "left"
		    ShowName		    off

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -