FlightGear 2.10

Similar documents
PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

2009년 상반기 사업계획

The Pocket Guide to TCP/IP Sockets: C Version

PowerPoint 프레젠테이션

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö4Àå_ÃÖÁ¾

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode]

vi 사용법

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to TCP/IP Sockets: C Version

K&R2 Reference Manual 번역본

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft PowerPoint - 13 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 2.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

The Pocket Guide to TCP/IP Sockets: C Version

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

歯강의노트.PDF

RHEV 2.2 인증서 만료 확인 및 갱신

Manufacturing6

Microsoft Word - KPMC-400,401 SW 사용 설명서

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >

1217 WebTrafMon II

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일


Windows 8에서 BioStar 1 설치하기

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

SYN flooding

PowerPoint 프레젠테이션

Microsoft PowerPoint - 10Àå.ppt

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft Word - Network Programming_NewVersion_01_.docx


chap7.key

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

PowerPoint 프레젠테이션

untitled

본 강의에 들어가기 전

Microsoft Word - src.doc

Microsoft PowerPoint - 권장 사양

Chapter 4. LISTS

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

歯9장.PDF

TViX_Kor.doc

BMP 파일 처리

[Brochure] KOR_TunA

hd1300_k_v1r2_Final_.PDF

PowerPoint Template

Microsoft PowerPoint - Lecture_Note_7.ppt [Compatibility Mode]

Microsoft PowerPoint - Supplement-02-Socket Overview.ppt [호환 모드]

PowerPoint Template

chap 5: Trees

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

chapter1,2.doc


Microsoft PowerPoint - 12 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 1.ppt

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

/chroot/lib/ /chroot/etc/

PowerPoint 프레젠테이션

슬라이드 1

TTA Journal No.157_서체변경.indd

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

T100MD+

4-Ç×°ø¿ìÁÖÀ̾߱â¨ç(30-39)

The Pocket Guide to TCP/IP Sockets: C Version

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

PowerPoint 프레젠테이션

untitled

본 강의에 들어가기 전

제1장 Unix란 무엇인가?

Microsoft PowerPoint 웹 연동 기술.pptx

DBPIA-NURIMEDIA

Secure Programming Lecture1 : Introduction

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

시스코 무선랜 설치운영 매뉴얼(AP1200s_v1.1)

Microsoft PowerPoint - 03-TCP Programming.ppt

PowerPoint 프레젠테이션

chap8.PDF

untitled

Siemens

Sena Technologies, Inc. HelloDevice Super 1.1.0

PowerPoint Presentation

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

중간고사

KEY 디바이스 드라이버

RVC Robot Vaccum Cleaner

Web Scraper in 30 Minutes 강철

슬라이드 1

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

PowerPoint 프레젠테이션

Subnet Address Internet Network G Network Network class B networ

인켈(국문)pdf.pdf

Transcription:

FlightGear 2.10 FlightGear project 를원할히진행할수있도록설명되있는기술문서입니다. FlightGear 는윈도우, Linux 환경상에서구동할수있는비행 Simulator 프로그램입니다. 2013-05-18 Kim Tae Hoon Documentaion1.1v Language:Ko_kr

FlightGear 2.10 1. FlightGear 실행 2. FlightGear_Http 통신 3. FlightGear_Protocol 구조 4. FlightGear 와통신하기위한 Client Server 간의구조 5. FlightGear UDP 통신실행예제 FlightGear 에서 Http, UDP 프로토콜을실행할수있는환경을설명한문서 2

1. FlightGear_ 실행 FlightGear http://flightgear.org 추가적인 aircraft, scenery 등을다운로드가능 FlightGear 실행 Wizard 모드와 command line 모드로실행가능 3

1. FlightGear_ 실행 비행기이륙절차 (Aircraft c172p 기준 ) v : 뷰모드전환 s : 시동키 9, 3 : throttle 조종 shift + b : 브레이크해제 0, enter : 바퀴좌우조종 8, 2, 4, 6 : 비행기의상하좌우조종 5 : 상하좌우정위치 h : HUD on/off 4

1. FlightGear_ 실행 비행기이륙절차 (F-14b 기준 ) v : 뷰모드전환 Tomcat Controls -> Fuel and Stores : Tank의연료를가득으로조정 9, 3 : throttle 조종 shift + b : 브레이크해제 0, enter : 바퀴좌우조종 8, 2, 4, 6 : 비행기의상하좌우조종 5 : 상하좌우정위치 g : 바퀴 on/off 5

1. FlightGear_ 실행 FlightGear 파라메터 Airport=KSFO 공항 Runway=01L 활주로 Aircraft=c172p 비행모델 prop:/sim/rendering/shaders/quality-level=0 자신의컴퓨터가실행되지않을경우환경을최하로낮추는것 컴퓨터환경이좋지않을경우권장 fg-root="c:\program Files\FlightGear\data" 프로그램데이터실행경로 fg-scenery="c:\program Files\FlightGear\data\Scenery" 프로그램데이터텍스쳐경로 6

1. FlightGear_ 실행 지도설치 http://www.flightgear.org/legacy-downloads/scenery-v2.10.html 원하는부분의지도를선택 한국은 e120n30.tgz flightgear 중 install&uninstall Scenery 실행 flightgear 재실행후공항선택에서원하는곳선택 7

1. FlightGear_ 실행 Multi play and google map 연동 Hostname: mpserver01.flightgear.org Callsign: 자신ID in: 5000 out: 5000 브라우져로아래주소접속 http://mpmap01.flightgear.org/ 8

FlightGear 2.10 1. FlightGear 실행 2. FlightGear_Http 통신 3. FlightGear_Protocol 구조 4. FlightGear 와통신하기위한 Client Server 간의구조 5. FlightGear UDP 통신실행예제 인터넷브라우저를이용하여정보를입력, 출력할수있는방법을설명한문서 9

1. FlightGear_ 실행 실행파라메터 fgfs.exe --fg-root="c:\program Files\FlightGear\data" -- timeofday=noon --aircraft=f-14b --httpd=5500 10

2. FlightGear_Http 통신 FlightGear 는가상의 Tree 구조를만들어관리합니다. Tree 내각하위노드는 FlightGear 설정정보를담고있습니다. 이하위노드들내정보를이용하면 FlightGear 를조종하거나, 정보를받아올수있습니다. RPM, ft, elevator 이들정보를바꾸려면 post method 를이용하여바꿀수있습니다. 11

2. FlightGear_Http 통신 현재비행기의정보를웹페이지를이용해서확인하는화면 Elevator : 위아래상하를조종 Return float(-1.0f~1.0f) Rudder : 활주로를달릴시에좌측과우측조종 Return float(-1.0f~1.0f) Aileron : 날개좌측우측을조종 Return float(-1.0f~1.0f) 12

2. FlightGear_Http 통신 현재비행기의정보를웹페이지를이용해서확인하는화면 Magnetos : 키회전단계 1(Power Off),2(Power On),3(Start) Return int(1,2,3) throttle : 비행기프로펠러를빠르게 Return float(-1.0f~1.0f) 13

2. FlightGear_Http 통신 현재비행기의정보를수정하는화면 (using get Method) Aileron : 날개우측 +0.5 0.5 로수정하는화면 Starter : 0, 1 실질적으로엔진이시동걸리는부분 Magneto 와연동해서동작 1 일경우 Start(magneto 가 3 으로돌려진상태야시동이걸림 ) 14

FlightGear 2.10 1. FlightGear 실행 2. FlightGear_Http 통신 3. FlightGear_Protocol 구조 4. FlightGear 와통신하기위한 Client Server 간의구조 5. FlightGear UDP 통신실행예제 FlightGear 클라이언트와서버간의통신을그림으로설명한문서 15

3. FlightGear_Protocol 구조 실행파라메터 fgfs.exe --fg-root="c:\program Files\FlightGear\data" --timeofday=noon --aircraft=f-14b --httpd=5500 --generic=socket,out,40,192.168.1.1,5011,udp,output_protocol --generic=socket,in,50,0.0.0.0,5010,udp,input_protocol 16

3. FlightGear_Protocol 구조 FlightGear 파라메터 Http는 5500 포트를사용 UDP 통신포트 5011 : FlightGear 내정보를가져올때 E.g)RPM, ft, throttle 5010 : FlightGear 에입력을할때 E.g)aileron, rudder, elevator 17

3. FlightGear_Protocol 구조 FlightGear 는 input_protocol.xml 과 output_protocol.xml 를이용해 서입력과출력을통신합니다. Input_protocol.xml output_protocol.xml 18

3. FlightGear_Protocol 구조 Xml 파일경로 : C:\Program Files\FlightGear\data\Protocol 19

3. FlightGear_Protocol 구조 Xml 포맷 Eg)rpm 타입이 float이고 engines/engine에위치해있는경우 <chunk> <name>trees/tree/property</name> <node>trees/tree/property</node> <type>float</type> <formant>%f</format> </chunk> 20

3. FlightGear_Protocol 구조 FlightGear 가상트리는 XML 과 1:1 대응 (mapping) 됩니다. Format 에맞게통신하고자하는 xml 을알맞게적으면됩니다. 21

3. FlightGear_Protocol 구조 FlightGear 가상트리는 XML 과 1:1 대응 (mapping) 됩니다. Format 에맞게통신하고자하는 xml 을알맞게적으면됩니다. 22

FlightGear 2.10 1. FlightGear 실행 2. FlightGear_Http 통신 3. FlightGear_Protocol 구조 4. FlightGear 와통신하기위한 Client Server 간의구조 5. FlightGear UDP 통신실행예제 FlightGear 클라이언트와서버간의통신을그림으로설명한문서 23

4. FlightGear 와통신하기위한 Client Server 간의구조 UDP 통신은데이터를입력하거나출력할때 xml 문서를거쳐서통신합니다. FlightGear UDP Client Port : 5011 Input_protoc ol.xml UDP Server While Http Server Port : 5500 UDP Server Port : 5010 output_proto col.xml recv Port : 5000 send Port : 5010 Internet browser 24

FlightGear 2.10 1. FlightGear 실행 2. FlightGear_Http 통신 3. FlightGear_Protocol 구조 4. FlightGear 와통신하기위한 Client Server 간의구조 5. FlightGear UDP 통신실행예제 FlightGear 클라이언트와서버간의통신을그림으로설명한문서 25

5. FlightGear UDP 통신실행예제 FlightGear 로 input FlightGear\data\Protocol\input_protocol.xml <?xml version="1.0"?> <PropertyList> <generic> <input> <line_separator>newline</line_separator> <var_separator>tab</var_separator> <chunk> <name>/controls/flight/aileron</name> <node>/controls/flight/aileron</node> <type>float</type> <format>%f</format> </chunk> <chunk> <name>/controls/flight/elevator</name> <node>/controls/flight/elevator</node> <type>float</type> <format>%f</format> </chunk> </input> </generic> </PropertyList> 26

5. FlightGear UDP 통신실행예제 FlightGear 로 input #include<sys/socket.h> #include<arpa/inet.h> #include<sys/types.h> #include<stdio.h> #include<stdlib.h> #include<string.h> #include<unistd.h> #define PORT 5010 int main(int argc,char*argv[]) { int sd,n; char buf[256]; struct sockaddr_in sin; sd=socket(af_inet,sock_dgram,0); memset(&sin,0,sizeof(sin)); sin.sin_family=af_inet; sin.sin_port=htons(port); sin.sin_addr.s_addr=inet_addr("192.168.1.1"); sprintf(buf,"0.0\t0.0\n"); sendto(sd,buf,strlen(buf),0,(struct sockaddr *)&sin,sizeof(sin)); printf("send: %s\n",buf); } return 0; 27

5. FlightGear UDP 통신실행예제 FlightGear 에서 output FlightGear\data\Protocol\output_protocol.xml <?xml version="1.0"?> <PropertyList> <generic> <output> <line_separator>newline</line_separator> <var_separator>tab</var_separator> <chunk> <name>/engines/engine/rpm</name> <node>/engines/engine/rpm</node> <type>float</type> <format>%f</format> </chunk> <chunk> <name>/instrumentation/altimeter/indicated-altitude-ft</name> <node>/instrumentation/altimeter/indicated-altitude-ft</node> <type>float</type> <format>%f</format> </chunk> </output> </generic> </PropertyList> 28

5. FlightGear UDP 통신실행예제 FlightGear 에서 output #include<arpa/inet.h> #include<sys/types.h> #include<stdio.h> #include<stdlib.h> #include<string.h> #include<unistd.h> #define PORT 5011 int main(int argc,char*argv[]) { char buf[256]; struct sockaddr_in sin,cli; int sd,clientlen=sizeof(cli); } while(1){ if( recvfrom(sd,buf,255,0, (struct sockaddr *)&cli,&clientlen)==-1 ){ perror("recvfrom"); exit(1); } } return 0; printf("**from CLIENT: %s\n",inet_ntoa(cli.sin_addr)); printf("**from CLIENT: %s\n",buf); if( (sd=socket(af_inet,sock_dgram,0))==-1 ){ perror("sd"); exit(1); } memset(&sin,0,sizeof(sin)); sin.sin_family=af_inet; sin.sin_port=htons(port); sin.sin_addr.s_addr=inet_addr("0.0.0.0"); if( bind(sd,(struct sockaddr *)&sin,sizeof(sin)) ){ perror("bind"); exit(1); } 29