로봇에뮬레이터 제안서 (371018)

Download Report

Transcript 로봇에뮬레이터 제안서 (371018)

로봇 에뮬레이터 제안서
지능형 로봇 프로그래밍
이건영 교수님
발표자 - 2011732014 김정훈
2009730186 이수민
2011732022 박재우
-1-
0. 설계 과제
로봇 에뮬레이터 개발 제안서를 다음 평가기준을 만족하도록 작성하시오.
발표시간은 10분.
1) 설계목표의 구체성 : 결과 화면의 형상, 주요 기능, 성능, 명령어 등의 명
확한 제시 여부
2) 개념설계의 적절성 : 입력-처리-출력 블록의 구체성과 각 블록 사이의 정
보의 명확성 여부
3) 일정계획과 역할분담의 적절성 : 목표설정 - ....- 결과 보고까지의 설계과
정과 각 과정의 핵심 업무가 구체적으로 명시되며, 각 업무의 담당자 및 팀원
별 업무량 분석의 타당성 여부
제안서 발표는 팀장이 하며, 최종 발표회는 팀 발표로 진행됨.
-2-
목차
1. 개념 설계도
2. 클래스 선언
3. 사용자 명령어
4. 명령어 처리과정
5. Flow Diagram
6. 예상 결과 화면
7. 일정 및 역할 분담
-3-
1. 개념 설계도
#통신 프로토콜
서버와 로봇과의 통신은 그림과 같은 방
법으로 통신을 한다.
#특징
- 명령어는 한번에 한번씩만 받을 수
있다.
-로봇은 실시간으로 움직인다.
-로봇의 이동경로를 표현할 수 있다.
-4-
2. 클래스 정의
-War Ship
군함의 너비, 길이, 위치 등 관련 사항을 멤버로 하며 그것의 움직임을 메서드로 정
의한다.
#member
Length
Width
Location
Direction
Travel_Range
Current_Velocity
#method
ShipMovement()
ShipControl(string cmd, int T)
ReadTravelRange()
GetShipState()
-5-
-Flow Manager
군함의 동작의 흐름을 관리하는 클래스를 생성한다. 이 클래스는 명령어를 받아 해석 및
실행시키며 군함의 이동거리, 방향 등의 속성에 접근하여 제어한다.
#member
List<string> Cmdparts
FMState
ShipState
#method
Interpret(string cmd)
SendFMState(string FMstate)
SendShipSate(State ShipState)
3. 사용자 명령어
사용자 명령어 종류
설명
Go
군함의 속도와 방향으로 전진함
ChangeAV + (각속도 값)
군함의 방향전환 속도를 변경함
ChangeV + (속도 값)
AddAV + (증분)
AddVelocity + (증분)
Stop
군함의 이동속도를 변경함
입력한 증분만큼 각속도에 더함
입력한 증분만큼 이동속도에 더함
군함의 전진을 멈춤
Set +(속성값)
군함의 속성 값을 초기화한다.
SendShipState
서버로 군함의 속성 값을 보냄
-6-
4. 명령어 처리과정
Interpret( )메서드
Client with Server
사용자 명령어를 입력…
전달
Flow Manager
- ShipControl(string cmd, int T)
이벤트 처리로 이 함수가 호출되면
해석된 명령 수행을 위해 군함의 이동
속도, 방향 등 속성을 변경 및 접근한다.
Client Form
화면처리
-ShipMovement()
타이머가 동작하면서 이 메서드가 주기
적으로 호출되면 군함의 새로운 위치를
계산함
사용자 명령어 처리 과정에는 2가지의 실행 흐름이 있다. 하나는 이벤트 처리로 명령어
를 받아 군함을 제어하는 것이고 다른 하나는 주기적으로 군함의 새로운 위치를 계산하
는 것이다.
5. Flow Diagram…
-이벤트가 발생할 경우 명령어를
해석하고 군함의 속성에 접근함.
Server
Client Form
Flow Manager
-타이머는 주기적으로 배의 동작과 화면처
리를 실행시킨다.
Event처리
ShipControl(cmd, T)
Timer
ShipMovement()
화면처리
“GO ”
ShipMovement()
군함 출력 창
ShipMovement()
군함의 속성
ShipMovement()
Length : 25
Width : 50
Location : Point(23,400)
Direction : 45 degree
Travel_Range : 0 ->> 40
Current_Velocity : 10/s
-7-
Server
Client Form
Flow Manager
로봇터미널에는 명령어의 두 가
치 처리 흐름이 존재한다.
NetWorkc처리
Timer
화면처리
TimerRoutine
TimerRoutine
TimerRoutine
TimerRoutine
#1
서버로부터 명령어를 비
동기적으로 받음.
#2
타이머의 동작에 맞춰
주기적으로 지정된 루틴
을 실행한다.
Client with Server
#클래스 추가 선언 및 구성
-군함에 대한 클래스
-군함 이미지처리를 하는 클래스
-군함의 명령어 처리 흐름을 관리
하는 클래스
-인터넷연결을 관리하는 클래스
6. 예상결과 화면
-8-
7. 일정 및 역할 분담
항목
1주
2주
3주
담당자
1. 제안서 발표
2. 주요기능 구현
박재우
-WarShip 클래스 구현
-FlowManager 클래스 구현
-화면 처리 구현
김정훈
-Flow Diagram 구현
이수민
-테스트
김정훈
3.트러블 슈팅
-버그리스트 작성
이수민
-버그 수정
김정훈
4. 결과보고서 작성
김정훈
5. 결과 발표
전원
-9-
Thank you
- 10 -