PowerPoint 프레젠테이션

Similar documents
PowerPoint 프레젠테이션

FlightGear 2.10

2009년 상반기 사업계획

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

PowerPoint 프레젠테이션

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to TCP/IP Sockets: C Version

K&R2 Reference Manual 번역본

PowerPoint 프레젠테이션

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

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode]

PowerPoint 프레젠테이션


Index

PowerPoint 프레젠테이션

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

歯강의노트.PDF

PowerPoint 프레젠테이션

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

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

vi 사용법

1217 WebTrafMon II

hd1300_k_v1r2_Final_.PDF

Microsoft Word - Network Programming_NewVersion_01_.docx

chap7.key

chap 5: Trees

untitled

본 강의에 들어가기 전

untitled

Subnet Address Internet Network G Network Network class B networ

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

PowerPoint 프레젠테이션

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

T100MD+

Chapter 4. LISTS

SYN flooding

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

歯9장.PDF

TViX_Kor.doc

BMP 파일 처리

PowerPoint 프레젠테이션

PowerPoint Template

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



Microsoft PowerPoint - 04-UDP Programming.ppt

PowerPoint 프레젠테이션

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

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

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

Manufacturing6

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

VZ94-한글매뉴얼

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

슬라이드 1


Microsoft PowerPoint - Lecture_Note_7.ppt [Compatibility Mode]

Siemens

chap8.PDF

Line (A) å j a k= i k #define max(a, b) (((a) >= (b))? (a) : (b)) long MaxSubseqSum0(int A[], unsigned Left, unsigned Right) { int Center, i; long Max


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

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

Microsoft PowerPoint - [2009] 02.pptx

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

PowerPoint 프레젠테이션

SMB_ICMP_UDP(huichang).PDF

The Pocket Guide to TCP/IP Sockets: C Version

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

RVC Robot Vaccum Cleaner

슬라이드 1

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

중간고사

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

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

PowerPoint 프레젠테이션

본 강의에 들어가기 전

Voice Portal using Oracle 9i AS Wireless

PowerPoint 프레젠테이션

untitled

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

hlogin7

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

03장.스택.key

OCaml

< > 1 2 '.... BLDC ESC GPS GPS.,.

Microsoft PowerPoint - T1 ERS (Elevator Reservation System)SASD2.pptx

Chapter 4. LISTS

L1900_KOR

chap10.PDF

5.스택(강의자료).key

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

untitled

<BFB5BBF3C1A4BAB8C3B3B8AEBDC3BDBAC5DB20BFACB1B82E687770>

Sena Device Server Serial/IP TM Version

Transcription:

FLIGHTGEAR Jo, Heeseung

INDEX 1. FlightGear 실행 2. FlightGear Http 통신 3. FlightGear Protocol 구조 4. FlightGear와통신하기위한 Client Server간의구조 5. FlightGear UDP통신실행예제 2

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

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

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 5

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

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

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

FLIGHTGEAR 실행 실행파라메터 fgfs.exe --fg-root="c:\program Files\FlightGear\data" --timeofday=noon --aircraft=f-14b --httpd=5500 접속 http://localhost:5500/gui/ 9

FLIGHTGEAR HTTP 통신 FlightGear 는가상의 Tree 구조를만들어관리 Tree 내각하위노드는 FlightGear 설정정보를저장 이하위노드들내정보를이용하면 FlightGear 를조종하거나, 정보를받아올수있음 RPM, ft, elevator 이들정보를바꾸려면 post method 를이용하여변경가능 10 10

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

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

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

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 14 14

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

FLIGHTGEAR PROTOCOL 구조 FlightGear 는 input_protocol.xml 과 output_protocol.xml 를이용해서입력과출력을통신 Input_protocol.xml output_protocol.xml 16

FLIGHTGEAR PROTOCOL 구조 Xml 파일경로 : C:\Program Files\FlightGear\data\Protocol 17 17

FLIGHTGEAR PROTOCOL 구조 Xml 포맷 e.g. rpm 타입이 float 이고 engines/engine 에위치해있는경우 <chunk> <name>trees/tree/property</name> <node>trees/tree/property</node> <type>float</type> <formant>%f</format> </chunk> 18 18

FLIGHTGEAR PROTOCOL 구조 FlightGear 가상트리는 XML 과 1:1 대응 Format 에맞게통신하고자하는 xml 을수정 19 19

FLIGHTGEAR PROTOCOL 구조 FlightGear 가상트리는 XML 과 1:1 대응 Format 에맞게통신하고자하는 xml 을수정 20 20

FLIGHTGEAR 와통신하기위한 CLIENT SERVER 간의구조 UDP 통신은데이터를입력하거나출력할때 xml 문서를거쳐서통신 FlightGear UDP Client Port : 5011 Input_protocol. xml UDP Server While Http Server Port : 5500 UDP Server Port : 5010 output_protocol. xml recv Port : 5000 send Port : 5010 Internet browser 21 21

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> 22 22

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; 23 23

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> 24 24

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); } 25 25