˘ ˇ ˆ - jsbsimjsbsim.sourceforge.net/jsbsimslides.pdf · 16 august 2004 jsbsim: an open source...

25
!

Upload: nguyenthuan

Post on 27-Jul-2018

215 views

Category:

Documents


0 download

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