˘ ˇ ˆ - jsbsimjsbsim.sourceforge.net/jsbsimslides.pdf · 16 august 2004 jsbsim: an open source...
TRANSCRIPT
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
2
���� �������� ���
� � ��������������� "�# ����! ���� ��
� � "�# ���������$��!��# ���
� %�������� ��"����� ����� ��� ���������"��������
� � ��"����� �����&���� �� �����&��'��� �������&������
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
3
�� ���( ���
� � �'��������� �� ���������&��
� ) �'� # �����*����!�� �����
� ����������$���!��+����������
� � ����$����" ������&��
� ,��������+� �"�����&��+�-�����&��
� %�� & ��� �������������������.��������� ������
� ��! �������������������&�����
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
4
/�����%����
� 0����# �������������� ����
� ��������
� 1 &&�����2������( ���3
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
5
������������
� 1 ����������������"����# �'
� ����������� !����� �� �"�������
� & ���$ �������������������.�������2� ��� ������+�����������4 3
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
6
�����1 ��������2�������3
Atmosphere
Aerodynamics
Ground Reactions
Flight Control
Weight & Balance
Propulsion
EOM
...
Model
Turbine
Piston
Rocket
Engine(base)
Executive
Filter
Switch
Gain
Summer
Deadband
Kinematic
FCS Component(base)
JSBBase
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
7
������������2553
� ���-�����!��������� ���� �����+��������6��� �+����������-����� ��
� 7-����� �����������������&�������������������� ��
� ���� ����# ���������������-���������������"��.������
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
8
7-�������������������
/���� ���������"���� ����������������
FDMExec = new JSBSim::FGFDMExec();
Script = new JSBSim::FGScript(FDMExec);result = Script->LoadScript(ScriptName);
while (FDMExec->Run()) {if (!Script->RunScript()) break;
}
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
9
������������25553
7��� "���� �����
� �� ����� �
� ������� ��� �
� ��� ��������
��������������+���������������� " & �����/��������� & �������!��# ���������"����������� "�������������
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
10
7-������������� ��� �
vector <FCSComponent*> Components;
…Components->push_back(new Gain());
Components->push_back(new Filter());…
for (int i=0; i<Components.size(); i++){
Components[i]->Run();}
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
11
��������������� �������
�� &���� 1 # � # ���"�������� ����
����������"� ����-�"���8
� ���� �� �� �������&������-�������
� �����������������
��������6��� ����������
� ��� ����&������ ��������
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
12
,�����������"����� ��9� 0
� � ��" �����������������-���"����� �
� *�������� �������
� ��!����"������������������-���
� : ��������;� �����<���,7$� 0
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
13
�����"����� ������
� ������"�
� 7�����2���� �+���&���4 3
� /�������2�� ������+� 66��4 3
� ��������������
� ���������������� ����� ��
� �� �� �����"���
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
14
,�����������"����� �
<FDM_CONFIG NAME=“name" VERSION="1.65"><METRICS> … </METRICS>
<UNDERCARRIAGE> … </UNDERCARRIAGE><PROPULSION> … </PROPULSION>
<AUTOPILOT> … </AUTOPILOT><FLIGHT_CONTROL> … </FLIGHT_CONTROL>
<AERODYNAMICS> … </AERODYNAMICS><OUTPUT> … </OUTPUT>
</FDM_CONFIG>
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
15
,�����������"����� �
� � �������,������# �����+�( � ���� �+� ����� "5������+# �������+����
� %������������������������+� ������ ����+� �""����������� ��������
� �� ����� ��7������+���������+���'��
� ��� ��� ����������� ��� ��������� ��� �� �� ������
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
16
,�����������"����� �
� ��� ���������$ �-��2����+����" ���+��"�+� ��+�����+��# 3���� �""��������
� ��������&�������+�� �������+����+" �����
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
17
�����"����� �7-����������<FDM_CONFIG NAME="BALL" VERSION="1.65" RELEASE= "ALPHA" >
<METRICS>AC_WINGAREA 1AC_WINGSPAN 1AC_IXX 10AC_IYY 10AC_IZZ 10AC_EMPTYWT 50AC_CGLOC 0 0 0
</METRICS><UNDERCARRIAGE>
AC_GEAR Ball 0 0 0 10000 200000 0 0 0 FIXED NONE 0 FIXED</UNDERCARRIAGE><AERODYNAMICS>
<AXIS NAME="DRAG"><COEFFICIENT NAME="CD" TYPE="VALUE">
Dragaero/qbar-psf | metrics/Sw-sqft0.0001
</COEFFICIENT></AXIS>
</AERODYNAMICS></FDM_CONFIG>
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
18
��� ��������
� � �""������&���������� ��/ ������ �������" �������� ��������&������"� �� ����&��� ��= ������ �"�# ���������= " ������-���
� � �""������������"����&�!���� �� '�����>+?+ �@������� �����&���
� � �""��������"����� �����������" ����� �" ������������ �""��������� �" ����
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
19
� �""������7-�����
<COEFFICIENT NAME="CLalpha" TYPE="VECTOR">Lift_due_to_alpha8velocities/mach-normaero/qbar-psf | metrics/Sw-sqft | aero/alpha-rad0.00 4.500.40 3.800.60 3.601.05 4.501.40 4.002.80 2.506.00 1.109.00 1.00
</COEFFICIENT>
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
20
������� ��� �
� �"������ ��� �����������"�������������� "� �� �����2�# ����+����+"������+����3�
� � �� ���������-��������������=;&��'��$&������<������
� ���������+���� �� ���������-�������������������
� ���� �����;���"���<�
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
21
���� �� ����7-�����
<COMPONENT NAME="HDot Error" TYPE="SUMMER">INPUT fcs/hdot-commandINPUT -velocities/h-dot-fps
</COMPONENT>
<COMPONENT NAME="Alt Hold Switch" TYPE="SWITCH"><TEST LOGIC="DEFAULT" VALUE="0.0"></TEST><TEST LOGIC="AND" VALUE="fcs/hdot-error">ap/altitude_hold == 1
</TEST></COMPONENT>
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
22
��������������"�� ����
� ��� �����# �&��������� ����&�����" ��"����+� �������
� /�����������������"������"����� �"�������"����&���� ���" ����� �"� ��/���2���# �&����3+�5�����: ���A: ��������������� ���+��-�& '�-������+���!������# �&�����+���� ��������������� ���
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
23
��������������"�� ����2553
��/� � �
� � ��������/� � ���&����-������� �� ���� ������������������" ��������&������������� ���������"����� ��
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
24
%����������2&����� ��3
� ��������������"�� ����
� ������������� ���� "��������
� ������ ����������������
� 7-���������������= � ���&����������� !����!��������������
� ( ��������� �"�����
� � ��������" ������# ���������������"����" �������
16 August 2004 JSBSim: An Open Source Flight Dynamics Model in C++
25
���������!�� �����
� �����������!�� �������� ��" ������������������� ���������
� ) �������������� ��� &������" ����9� 0������
� ) ���� ���������������� ��,7$� 0�
� � ����$� ������ ��� ���&���
� � ����� �� ��������� ��2��/� � � +����� �+����3