목차 0. 작품제목 1. 개요 1.1 작품개요 1.2 목적 2 결과물사양 2.1 결과물의구성 하드웨어구성 소프트웨어구성 2.2 결과물사양 3 개발방법 3.1 기술적요구사항 센서 가속도를이용한거리측정알고리즘 Calib

Similar documents
목차 0. 작품제목 1. 개요 1.1 작품개요 1.2 목적 2 결과물사양 2.1 결과물의구성 하드웨어구성 소프트웨어구성 2.2 결과물사양 3 개발방법 3.1 기술적요구사항 센서 가속도를이용한거리측정알고리즘 Calib

1. 프로젝트소개 1.1 배경및목적 1.2 시나리오 1.3 프로젝트기능 2. 관련기술 2.1. 안드로이드센서 SENSOR_ORIENTATION ( 방향센서 ) SENSOR_ACCELEROMETER ( 가속도센서 ) 2.2 가속도를이용한거리측정알고리

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Windows Server 2012

PowerPoint 프레젠테이션

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

슬라이드 1

Microsoft Word - PLC제어응용-2차시.doc

[Brochure] KOR_TunA

Microsoft PowerPoint - chap06-2pointer.ppt

OCW_C언어 기초

RVC Robot Vaccum Cleaner

Microsoft Word - 디오텍_091221_.doc

Microsoft PowerPoint - chap01-C언어개요.pptx

1장.indd

H3250_Wi-Fi_E.book

오토10. 8/9월호 내지8/5

PowerPoint Presentation

14-10.hwp

Microsoft PowerPoint - chap04-연산자.pptx

서현수

IP 심화 라우팅프로토콜적용시 라우팅테이블에서 이니셜이있는네트워크를설정하는것 : onnected 직접연결된네트워크를의미한다. 그러므로라우팅은 나는이런네트워크와연결되어있다. 를직접연결된라우터들에게알려주는것 1>en 1#conf t 1(config)#router rip 1

C# Programming Guide - Types

View Licenses and Services (customer)

NX1000_Ver1.1

untitled

..,. Job Flow,. PC,.., (Drag & Drop),.,. PC,, Windows PC Mac,.,.,. NAS(Network Attached Storage),,,., Amazon Web Services*.,, (redundancy), SSL.,. * A

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

SIGIL 완벽입문

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

딥러닝 첫걸음

1_12-53(김동희)_.hwp

Microsoft PowerPoint - es-arduino-lecture-03

PowerPoint 프레젠테이션

UI TASK & KEY EVENT

SBR-100S User Manual

설계란 무엇인가?

Microsoft Word - src.doc

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]


sadfasdf

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

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

게시판 스팸 실시간 차단 시스템

KARAAUTO_4¿ù.qxd-ÀÌÆå.ps, page Normalize

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

윈도우시스템프로그래밍

4S 1차년도 평가 발표자료

실험 5

자연언어처리

놀이동산미아찾기시스템

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다


<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>


PowerPoint 프레젠테이션

<4D F736F F D204954B1E2C8B9BDC3B8AEC1EE5FB0FBC1F82E646F63>

<3235B0AD20BCF6BFADC0C720B1D8C7D120C2FC20B0C5C1FE20322E687770>

Microsoft Word - How to make a ZigBee Network_kr

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

<4D F736F F D20C0CCBEBEC1A6BEEE5FC3A5BCD2B0B35F >

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

hwp

1아이리포 기술사회 모의고사 참조답안

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

ePapyrus PDF Document

슬라이드 1

온라인등록용 메뉴얼

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

(Microsoft PowerPoint - \301\24613\260\255 - oFusion \276\300 \261\270\274\272)

adfasdfasfdasfasfadf

Chapter #01 Subject

온습도 판넬미터(JTH-05) 사양서V1.0

PowerPoint 프레젠테이션

슬라이드 1

2002년 2학기 자료구조

슬라이드 1

슬라이드 1

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Windows 8에서 BioStar 1 설치하기

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

Microsoft Word - Lab.4

vRealize Automation용 VMware Remote Console - VMware

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

슬라이드 제목 없음

ESP1ºÎ-04

PowerPoint 프레젠테이션

3.2 함수의정의 Theorem 6 함수 f : X Y 와 Y W 인집합 W 에대하여 f : X W 는함수이다. Proof. f : X Y 가함수이므로 f X Y 이고, Y W 이므로 f X W 이므로 F0이만족된다. 함수의정의 F1, F2은 f : X Y 가함수이므로

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap06-1Array.ppt

Chap 6: Graphs

PowerPoint 프레젠테이션

< 목차 > Ⅰ. 연구동기 1 Ⅱ. 연구목적 1 Ⅲ. 연구내용 2 1. 이론적배경 2 (1) 직접제작한물질의기본구조 2 (2) 회절격자의이론적배경 3 (3) X-선회절법-XRD(X-Ray Diffraction) 3 (4) 브래그의법칙 (Bragg`s law) 4 (5)

wtu05_ÃÖÁ¾

PowerPoint Presentation

catalogue

특허청구의 범위 청구항 1 게임 서버 또는 미들웨어에 의해, 사용자 단말기로부터, GPS 정보, IP 정보, 중계기 정보 중 적어도 하나를 이 용한 위치 정보와, 상기 사용자 단말기에 설정된 언어 종류를 포함하는 사용자 정보를 수신하는 단계; 상기 게임 서버 또는 미들

MATLAB and Numerical Analysis

ePapyrus PDF Document

Transcription:

목차 0. 작품제목 1. 개요 1.1 작품개요 1.2 목적 2 결과물사양 2.1 결과물의구성 2.1.1 하드웨어구성 2.1.2 소프트웨어구성 2.2 결과물사양 3 개발방법 3.1 기술적요구사항 3.1.1 센서 3.1.2 가속도를이용한거리측정알고리즘 3.1.3 Calibration 3.1.4 Filtering 3.1.5 Mechanical Filtering Window 3.1.6 Positioning 3.1.7 Movement End Check 3.1.8 VLAN(Virtual LAN) 3.1.9 DCN(Data Center Network) 3.2 개발방법 4. 예상되는장애요인과해결방안 4.1 모션의불확실성 4.2 가속도인식의불확실성 4.3 공의궤적 4.4 통신동기화 4.5 현실성 5. 단계별개발계획 6. 참여인원과업무분장

0. 작품제목 [On-line Mobile Ping Pong] - 온라인에서스마트폰을이용하여 2명혹은 4명이같이탁구를플레이할수있다. 1. 개요 1.1 작품개요 - 최근스마트폰이대중화되어많은사람들이스마트폰의어플리케이션을이용하고있는요즘의흐름에맞게스마트폰모션인식을이용하여어플리케이션을개발한다. 사람이핸드폰의움직임을통하여탁구게임을즐길수있도록적합한알고리즘과네트워크통신기술과관련된소프트웨어를개발하여실시간으로게임을즐길수있도록한다. 1.2 목적 - 현재스마트폰은단순히화면터치를통한게임이주를이루고있다. 이런상황에서스마트폰을이용하여이런단순한화면터치게임에서벗어나스마트폰의모션인식기능을이용하여실제탁구를하는것같은느낌을받도록한다. 정적인터치스포츠게임에서벗어나동적인스포츠를즐길수있도록한다. 현실성을높이기위하여공이라켓에맞았을때에는진동이울리도록한다. 이번에만들게되는어플리케이션을기본툴처럼이용하여여러스포츠게임에서응용가능할것으로예상된다. 2 결과물사양 2.1 결과물의구성 2.1.1 하드웨어구성 스마트폰 - 스마트폰의모션인식을이용 Bluetooth - 스마트폰과 PC간의통신을위한장치. 스마트폰의모션인식정보를 PC로전송하는다리의역할 Host PC - 스마트폰에설치된어플리케이션소스를컴파일하고, 현재탁구게임의진행상황을확인하고, 사용자간통신하기위한 PC 2.1.2 소프트웨어구성 JAVA SDK 프로그램 - 스마트폰의모션인식제어용프로그램으로스마트폰의모션에따라탁구채의동작을결정하여정의된동작목록과입력에따른동작을결정하고, 사용자간통신을위한통신모듈을포함한다.

Host PC 응용프로그램 - 윈도우시스템에서동작하며탁구게임의상태를모니터에출력하기위한 GUI 기반의응용프로그램이다. 특별한연산과정없이현재게임의상태를확인한다. 일러스트레이터 - 주로편집디자인과캐릭터디자인, 심볼디자인, 제품디자인등의작업에사용한다. 화상이미지의고정밀도분리출력까지지원하고, 내부형식은대부분포스트스크립트이다. 탁구게임의그래픽을위한 UI이다. 2.2 결과물사양 Android Mobile - 안드로이드는리눅스 (Linux) 2.6 커널을기반으로강력한운영체제 (OS; operating system) 와포괄적라이브러리세트, 풍부한멀티미디어사용자인터페이스, 폰애플리케이션등을제공한다. 컴퓨터에서소프트웨어와하드웨어를제어하는운영체제인 ' 윈도 ' 에비유할수있는데, 휴대폰에안드로이드를탑재하여인터넷과메신저등을이용할수있으며, 휴대폰뿐아니라다양한정보가전기기에적용할수있는연동성도갖추고있다. 3 개발방법 3.1 기술적요구사항 3.1.1 센서 SENSOR_ORIENTATION ( 방향센서 ) - 각배열의값은각도를나타냄 - 단말기화면이하늘을향한상태로테이블위에수평으로놓여있는상태를기준으로각축을중심으로회전위치감지 -- values[0] : Z 축을중심으로회전 ( 0 zimuth < 360 )

0 = 북, 90 = 동, 180 = 남, 270 = 서 -- values[1] : X 축을 wndtal으로회전 ( -180 zimuth 180 ) Z축이 Y축방향으로향하면 0보다큰값테이블위에수평으로하늘을향하면 0, 아래를향하면 -180 or 180 똑바로세우면 -90, 거꾸로세우면 +90 -- values[2] : Y축을중심으로회전 ( -90 zimuth 90 ) Z축이 X축방향으로향하면 0보다큰값 SENSOR_ACCELEROMETER ( 가속도센서 ) - 각배열의값은 (m/s2) 단위로되어있으며, 접촉힘 (Contact Force) 을측정 -- values[0] : X축에적용되는힘 -- values[1] : Y축에적용되는힘 -- values[2] : Z축에적용되는힘 - 단말의왼쪽측면을오른쪽방향으로눌렀을때 X축가속도값은음수 - 단말에테이블위에평평하게놓여있을때 -STANDARD_GRAVITY 값, 즉 -9.8 (m/s2) - 단말이테이블에서중력에대한반작용으로적용되는힘을나타남 3.1.2 가속도를이용한거리측정알고리즘 가속도 - 거리관계 - 가속도를적분하면속도, 속도를적분하면거리 - 따라서가속도를이중적분하면거리 - f(x) 를 a부터 b까지적분은 n개로나눈후 n개사각형넓이의합

Trapezoidal Method - 적분할때이론상무한히나누면완벽한값이나오지만, 현실에서 sampling 의한계로양자화과정중 Area error 가발생 - 따라서오차가적은 Trapezoidal Method를사용 - 높이를 Sample1, Sample2 라할때 Area = Area1 + Area2

3.1.3 Calibration 센서의기울기와그에따른중력에의해영향을받으므로교정이필요 정지한상태에서의가속도값을알아내어중력가속도값으로인지하고제거 3.1.4 Filtering Sampling 후에크게움직이면생기게되는갑자기생기는물리적인오류로인한이상한 sample들을제거하기위하여 10개샘플링할때마다상위 2개하위 2개정도는재하고, 중간 6개정도의값을평균을내서하나의값으로사용 3.1.5 Mechanical Filtering Window 움직임이없을때 sample들의합이이상적으로 0 이어야하지만, 0 아닌작은 noise값이발생하여이것을제거하기위해 valid data와 invalid data 사이를구분짓는 window가필요

3.1.6 Positioning acceleration data값을이전의 Trapezoidal Method으로이중적분 first integration - velocityx[1] = velocityx[0] + accelerationx[0] + ( ( accelerationx[1] - accelerationx[0] ) / 2 ) second integration - positionx[1] = positionx[0] + velocityx[0] + ( ( velocityx[1] - velocityx[[0] ) / 2 ) 3.1.7 Movement End Check 물체가멈추면 acceleration의총적분값이 0의속도로되어야하지만현실에서적분의결과값은결코속도 0에도달하지않음그러므로위치값이조금씩움직이는오류가발생할수있음때문에가속도값이 0에오래지속될경우속도를강제로 0으로다운시킴 3.1.8 VLAN(Virtual LAN) VLAN이란 Virtual Local Area Network 의약자로, 물리적배치와상관없이논리적으로 LAN을구성할수있는기술이다. 각각의 VLAN은별개의 Broadcast domain이다. IEEE Std 802. 1Q 1998 Edition. 단일 Broadcast domain에연결된단말이증가할수록망의대역폭이낭비되며보안할방안이요구됨 (Broadcast Traffic의증가 ) 단말 ( 또는단말들의그룹 ) 간에보안을보장할방안이요구됨 - VLAN간의 Routing을위한별도의방안이마련되어있지않으면, VLAN간에는통신이불가능함.

3.1.9 DCN(Data Center Network) 단일보드의메트로이더넷, L2VPN 및 L3VPN 으로전개되고있는신기술의성장범위의프레임워크데이터통신네트워크 (DCN) 를제공하고통합네트워크아키텍처이다. 이아키텍처는 [ 그림 5-1] 과같이기존의 IP 패킷전송을보다효율적으로전송하기위하여이용한다. 서비스공급자에게여러가지명확한이점을제공하기위해멀티프로토콜라벨스위칭 (MPLS) 을사용하고있다.

3.2 개발방법 - SASD는구체적요구사항을정하고시스템오류를줄이고질을향상시키며신뢰성, 유연성, 시스템의유지보수에목적을둔개발방법론으로데이터의흐름을통해프로그램의구조를설계한다. Divide and Conquer 방식으로문제를작고간단하게분해하여해결하고 Top-Down 방식으로개괄적인측면부터시작하여점차세분화해가며처리한다. ( 프로세스를먼저정하고프로세스에대한입출력을나중에정한다.) 자료보다는함수에중점을두는개발방법이다. 또한 DFD(Data Flow Diagram) 를통해데이터의흐름과프로그램의전체적인구조를알수있으며, Structure Chart를통해프로그램을바로구성할수있다. Data Flow Diagram - 데이터의흐림및변환과정과기능을도형을중심으로기술하는방식. 시스템동작의특징이되는프로세스와데이터집합. 1) 시스템의전체데이터흐름을한눈에알아볼수있도록도와준다. [ 그림 3-11] 에서화살표방향에따라데이터의흐름을알수있다. 2) Input과 Output이명확하게구성되어있어, 시스템구성에적합하다. [ 그림 3-11] 에서 Input은핸드폰의모션와센서, 네트워크로부터오는데이터가있고 Output은데이터처리과정을거쳐최종출력과통신을하는것을말한다. 3) 데이터가어떻게전달되는지알수있다. 외부센서및장비에서부터입력되는데이터가드라이버를거쳐각처리를하는프로세스에보내어지고 Input 된데이터를활용하여핵심로직을거쳐원하는동작을하게한다. [ 그림 3-11]

FSM - 유한한개수의상태와상태들간의변환으로구성. 1) Finite State Machine 의상태들은 [ 그림 3-12] 에서처럼다양한동작을나타내고, 그상태에대한코드가실행된다. 2) [ 그림 3-12] 와모션과속도를검사하여해당상태로전환된다. 3) Back hand, Fore hand, Smash, Cut 상태후에는정지한다음다시앞쪽을 Motion 한다. 4) Finite State Machine 을통해시스템의상태변화를알수있다. [ 그림 3-12] Structure Chart - Top-Down식모듈설계도구로서서로다른모듈을트리구조로정렬하는구조적프로그래밍에사용된다. Functional decomposition(divide and Conquer) 를통해 Information hiding, Modularity, Low coupling, High internal cohesion 의특성을가진다. [ 그림 3-13] 은센서와핸드폰모션에서얻은데이타를통해동작제어와출력제어를하는과정을나타낸것이다.

[ 그림 3-13] 4. 예상되는장애요인과해결방안 4.1 모션의불확실성 - 사람이스마트폰을움직일때는스마트폰내부의자이로센서가영향을받게된다. 이때, 사람의미세한움직임에도스마트폰의자이로센서는반응을보이기때문에정확한동작을취한것인지아닌지를구분하기가힘들다. 탁구게임을진행할때에, 사용자가든라켓이움직이지않는상태로있을경우가거의없다고판단한다. 이런경우에어느정도의동작부터인식할것인지에대한확실성이없다면사용자의기본적인행동에도모션이반응을하게되어라켓을휘두르는효과가발생할수있다. 따라서프로그램을제작할때, 모션을인식하는패턴을미리정해서예상되는사용자의기본적인움직임과라켓을휘두를때에움직임의차이를확실하게구분지어프로그래밍을해야한다. 예를들어평소에사용자의움직임을 1이라고가정하여이것을초기상태로정의하고, 라켓을휘두를때나타나는움직임은이초기상태이상의움직임을나타내야만모션으로인식하게하여모션의불확실성을없애야한다. 또한이러한초기상태를통해상하좌우를구분하여각각그모션에맞는동작이구현되도록해야한다.

4.2 가속도인식의불확실성 - 사용자가스마트폰을움직일때, 스마트폰내부의가속도센서가스마트폰이움직이는속도를계산하여그정보를알수있다. 그러나사람의미세한움직임에도스마트폰의가속도센서는반응을보이기때문에실제로사람이휘둘렀기때문에속도가변하는것인지아닌지에대한판단을하기가어렵다. 이런경우에어느정도의속도부터센서가인식할것인지에대한확실성이없다면센서는사용자의아주기본적인행동까지속도로인식하게되어라켓을휘두를때의실제속도와그렇지않은상황에서의속도차이를정확하기인식하지못하게된다. 따라서프로그램을구현할때, 사용자의기본적인움직임에서산출되는가속도와라켓을휘두를때의가속도를확실하게구분지어프로그래밍해야한다. 예를들어, 평소에사용자가핸드폰을들고있을때움직이는속도를초기상태로정의하고, 라켓 ( 핸드폰 ) 을휘두를때에는반드시초기상태이상의속도가나타난다고가정하고, 이것을가속도센서로하여금속도로인식하게하여라켓의속도를확실하게구분지을수있도록하여야한다. 가속도의차이를이용하여단계에따른공의스피드를나타내야한다. 4.3 공의궤적 - 공을사용자가히팅하였을경우에포핸드, 백핸드, 커트, 스매쉬에따라서공의궤적을표현할수있어야한다. 이때, 4개의히팅방식마다공의움직임과회전이달라지기때문에그공을다시맞받아쳤을경우에궤적을예측해야한다. 이는상성관계설정으로해결할수있을것으로예상한다. 예를들어, 커트를한공이나에게오게된다면나는포핸드혹은드라이브로만맞받아칠수있도록설정한다. 또한그궤적에따라네트를넘거나넘지못하는상황에대한계산이필요하다. 가속도인식과모션인식이완벽히구현되었다는가정을기반으로하여라켓의기울기에따른히팅순간으로공의궤적및떨어지는위치가계산가능하다. 4.4 통신동기화 - 네트워크를이용하는통신프로그램에서는동기화가가장중요한요인일것이다. 그러나각사용자가서로매우멀리떨어진위치에서프로그램을함께사용한다면거리가멀수록네트워크상에서는더많은장비를거쳐가기때문에통신속도가느려질수밖에없다. 게다가네트워크가 overload인상태라면데이터가전송되는중간에 loss가발생할수도있다. 이렇게되면제대로된탁구게임을할수가없게되고, 사실상사용자는현실감이느껴지는게임을하기어렵게된다. 따라서이문제를해결하기위해서는가상네트워크를구축하여네트워크에서거쳐가는장비의개수를현저하게낮추고, 직접적으로연결될수있도록하여게임이최대한실시간으로이루어질수있도록한다. 비슷한이치로, 다른방법으로는 DCN(Data Center Network) 을이용할수있다.

4.5 현실성 - 실제탁구에서는라켓으로탁구공을칠때, 느껴지는손의울림이있다. 그러나스마트폰을이용한온라인탁구에서는이것을느낄수없다. 또한기울기를인식하지못하면라켓의각도가사라져현실성이떨어질수밖에없다. 이런문제를해결하기위해서는탁구공이라켓에맞았을때, 스마트폰에진동을발생시켜사용자로하여금실제스포츠를하고있는듯한느낌을받도록한다. 또한스마트폰의각도를반영하여각도가너무높을때에는네트를넘지못하게하고, 각도가너무낮을때에는아웃이발생하게하여사용자에게현실성있는게임을제공할수있도록한다. 5. 단계별개발계획 6. 참여인원과업무분장 팀장 조성우 모션제어알고리즘팀출력제어 조성우조성우전혜영 전혜영고정호고정호