• 검색 결과가 없습니다.

다) 구조 및 상세설계

문서에서 R&D연구결과보고서 (페이지 60-72)

¡ 전방향 이동장치 제어를 위한 블록/모듈의 구조

[그림 1-48] 전방향 이동장치 서브시스템의 구조도

¡ 설계 내용

ü 모션 서브시스템은 정밀제어 서브시스템으로부터 출력되는 모터의 제어명령 신호를 받는다. 모터의 제어명령 신호는 자세/위치 행동 예측 서브시스템에서 취득한 훈련자의 위치, 보행속도, 가속도 및 행동예측 데이터에 기반하여 생성된다. 서보모터에서 발생된 동력 은 서보모터에 연결된 컨베이어 벨트와 다수의 롤러가 배열된 롤러 조립체를 통해 훈련자에게 전달되며 각각의 컨베이어 벨트는 유니 버셜 조인트로 연결이 되어 있어 모든 롤러 조립체에 동력을 전달 할 수 있도록 설계되었다. 모션 플랫폼 위에서 훈련자가 보행을 하 게 되면 플랫폼의 중심부에서 점차 멀어지게 되는데 서보모터 제어 를 관장하는 S/W에서 속도 명령 값에 따라 순방향 또는 역방향으 로 모터의 회전속도를 제어함으로써 훈련자는 항상 모션 플랫폼의 중심부에 위치한 상태에서 이동을 계속할 수 있다. 서보모터에는 엔코더가 내장되어 있어 현재 회전속도 및 가속도와 같은 상태 값 을 제어 S/W로 피드백하여 제어 명령과 제어 상태를 비교함으로써 에러 값을 취득하고 오차를 줄이는 정밀 제어가 가능하다.

¡ 시험결과

ü 서보모터의 구동 속도를 측정하고 정밀제어 서브시스템으로부터 입 력받은 제어 명령 속도와 비교하여 오차범위 내에 들어오는지 확인 한다.

¡ 전방향 영상시현장치 블록/모듈의 구조

[그림 1-49] 전방향 영상시현장치 서브시스템의 구조도

¡ 설계 내용

ü 전방향 영상시현장치시스템은 전방향 이동장치에서 보내주는 이동 속도(2D 벡터) 값을 가지고 3차원 공간상 좌표로 변환을 하여 캐릭 터를 이동시킨다. 속력과 방향을 동시에 받기 때문에 걷기와 뛰기 를 구분하여 구현이 가능해진다. 총기 격발장치에서 보내주는 격발 위치(2D 좌표) 값을 가지고 3차원 공간상 좌표로 변환을 하여 화기 의 탄을 발사시킨다. 이때 받게되는 2D 좌표는 스크린 평면상의 좌 표를 나타내고 변환된 3D벡터는 탄이 발사될 방향을 가리킨다. 이 렇게 얻게된 이동정보와 격발정보를 가지고 Server에서 자체적으로 시뮬레이션을 수행하고 그 결과가 영상컴퓨터로 전송되면 영상컴퓨 터는 렌더링 과정을 통해 발생한 화면을 프로젝터를 이용하여 스크 린으로 출력한다.

¡ 시험결과

ü 자세/위치 인식 행동 예측 시스템에서 획득한 훈련자의 스켈레톤 정보와 가상환경 공간의 훈련자를 3인칭 Bird-View로 대칭 배열 후 각 관절의 움직임에 따라 가상 훈련자 캐릭터 스켈레톤을 확인한 다.

(e) 총기 격발인식 기술

¡ 블록/모듈의 구조

[그림 1-50] 총기격발인식 모듈의 구조도

¡ 설계 내용

ü IR카메라를 통하여 곡면 스크린상의 맵핑 데이터를 뽑아낸다. 무선 모듈에서 적외선 레이저를 발사하고, 그 적외선 레이저가 스크린에 투사될 때 IR카메라로 캡처한다. 캡처된 이미지로 적외선 레이저 포인트의 위치를 찾아낸다. 그 위치를 미리 만들어둔 맵핑 데이터 에 대입하여 위치값을 뽑아낸다. 그리고 가속도 센서를 이용하여 총기의 반동을 인식하여, 격발시점을 알아낸다. 격발시점에 위치값 이 스크린을 벗어나지 않으면 격발로 인식한다. 그래서 그 격발된 위치값을 콘텐츠 좌표계로 변환하고, 변환된 위치 값을 컨텐츠에 넘겨준다.

¡ 시험결과

ü 360。 8채널 중에 180。 4채널을 지난 2013년 ADEX(airshow) 전시 회 때 전체 4채널의 격발 인식이 성공하였고, 사용자가 겨누는 위 치에 적이 있을 때 적을 사살할 수 있었다.

[그림 1-51] 사격 시현 모습

9) 성능분석 및 평가 시스템 개념 및 상세설계 가) 연구목표 대비 실적

¡ 성능분석 및 평가를 위한 통합 모니터링 도구 설계

§ 성능분석 및 평가를 위한 통합 모니터링 도구 상세설계서 작성

¡ 성능분석 및 평가 시스템 상세설계 별도의 USB Controller 필요.

상 용 기 술 Mocap

3-Space

실시간으로 각 센서 마다의 값 (Quaternion, Nine-Axis) 수집 가능.

다) 성능 분석/평가 시스템 및 모니터링 기술 구조 및 상세설계 [성능분석 및 평가를 위한 통합 모니터링 기술 상세설계]

¡ 블록/모듈의 구조

[그림 1-52] 센서 데이터 수집 서브시스템의 구조도

ü 영상 센서 데이터 수집 블록은 영상 센서들에 대한 디바이스를 초 기화하고 데이터 스트림을 생성하여 센서로부터 Color, Depth등과 같은 Raw Data를 수집하는 기능을 담당한다.

ü 모션 센서 데이터 수집 블록은 다수의 모션 센서들에 대한 디바이 스를 초기화하고 모션센서 정보 즉, Nine-Axis(Gyroscope, Accelerometer, Compass), Quaternion등의 수집 기능을 담당한다.

ü 센서 데이터 처리 블록은 다수의 영상 및 모션 센서로 부터 수집한 정보를 Sid, Timestamp와 더불어 Depth, Color, Nine-Axis, Quaternion을 TLV(Type, Length, Value)형태로 변환하여 자세인식/

위치인식/행동분석 시스템으로 전송하는 기능을 수행한다.

ü 통합소프트웨어 블록은 타 기관에서 개발된 자세인식/위치인식/행 동분석 소프트웨어들이 상호간 혹은 타 서브시스템에 원활히 정보 를 전달할 수 있도록 하는 소프트웨어 통합 기능을 수행한다.

¡ 블록/모듈의 클래스 정의

[그림 1-53] 영상 센서 수집 블록의 클래스 다이아그램

[그림 1-54] 모션 센서 수집 블록의 클래스 다이아그램

[그림 1-55] 통합 소프트웨어 블럭의 클래스 다이아그램

¡ 시퀀스 다이아그램

Class ID Name Description Category

CLS.DP_ISA.01 CDP_ISA_Device 영상센서에서 데이터 수집하기위한 준비

를 위한 클래스 클래스

CLS.DP_ISA.02 CDP_ISA_DataAcquirem

ent 영상센서에서 데이터 수집을 하기위한

클래스 클래스

CLS.DP_ISA.03 CDP_ISA_Taks Thread를 생성하기 위한 클래스 클래스 CLS.DP_ISA.04 CDP_ISA_Log 센서 로그와 데이터 로그를 기록하기 위

한 클래스 클래스

CLS.DP_ISA.05 CDP_ISA_Configure 환경 설정하는 클래스 클래스 CLS.DP_MSA.01 CDP_MSA_Device 모션센서에서 데이터 수집하기위한 준비

를 위한 클래스 클래스

CLS.DP_MSA.02 CDP_MSA_DataAcquire

ment 모션 센서에서 데이터 수집을 하기위한

클래스 클래스

CLS.DP_MSA.03 CDP_ISA_Thread Thread를 생성하기 위한 클래스 클래스 CLS.DP_MSA.04 CDP_MSA_Log 센서 로그와 데이터 로그를 기록하기 위

한 클래스 클래스

CLS.DP_MSA.05 CDP_ISA_Configure 환경 설정하는 클래스 클래스 CLS.DP_SDP.01 CDP_SDP_DataConverti

on 수집된 데이터를 TLV형태로 변환하는

클래스 클래스

CLS.DP_SDP.02 CDP_SDP_Tcp 모션 센서와 모듈간의 통신 할 수 있는

클래스 클래스

CLS.DP_CSW.01 CCS_Communication 데이터 송수신을 위한 클래스 클래스 CLS.DP_CSW.02 CDP_CSW_Convertion 데이터 수신이나 송신 전 필요한 데이터

구조로 변환하는 클래스 클래스

CLS.DP_CSW.03 CDP_CSW_Config 수신/발신되는 내용이 어떤모듈인지 확

인하는 클래스 클래스

CLS.DP_CSW.04 CDP_CSW_Log Send, Recv내용을 기록하는 클래스 클래스

[그림 1-56] 영상센서데이터 수집 블록의 시퀀스 다이아그램

ü Device 초기화를 하기 위해서는 CDP_ISA_Configure 클래스의 ReadConfig() 함수를 호출하고 Initrialize() getUri()를 순차적으로 호 출하여 Device URI를 확인, CDP_ISA_Device클래스의 Open(), Create(), Start() 함수를 Depth, Color, IR을 각각 호출하고 CDP_ISA_Task 클래스의 _beginthreadex() 함수를 호출하여 센서별 Thread를 생성한다.

ü Raw Data를 수집하기 위해 CDP_ISA_DataAcquirement 클래스에 ReadFrame() 함수를 Depth, Color, IR을 호출한다.

ü 데이터를 처리하기 위해서는 CDP_SDP_DataConvertion 클래스에 RawDataConbine() 함수를 호출하여 Data를 종합하고 CDP_SDP_Tcp 클래스의 Send() 함수를 호출하여 위치/자세인식 서브시스템으로 반환한다.

[그림 1-57] 통합 소프트웨어 블록의 시퀀스 다이아그램

ü 소프트웨어를 통합하기 위해서 CDP_CCW_Config 클래스의 ReadConfig() CDP_CCW_Communication 클래스의 InitTcp() 실행 후 Recv() 함수로 데이터 수신 받고 CDP_CCW_Convertion 클래스 의 RecvProcess() 함수로 데이터 인터페이스를 확인한다.

ü 분석 모듈을 거처 분석된 데이터를 CDP_CCW_Convertion 클래스의 SendProcess() 함수로 데이터 인터페이스를 확인하고, CDP_

CCW_Communication 클래스의 Send() 함수로 데이터를 발신한다.

¡ 시험 검증 결과

ü 영상센서 3대를 동시에 연동하고 센서별로 multi-task로 구성하여 30fps의 수신속도를 확인 하였다.

ü 물리적으로 17개의 모션센서와 연결하고 call and response 방식과 Streaming 방식을 각각 구현하여 데이터 수신 성능을 확인해본 결 과 Streaming방식의 수신 성능이 좋다는 것을 확인하였다.

[성능분석 및 평가 시스템 기술 상세설계]

¡ 블록/모듈의 구조

[그림 1-58] 성능분석 및 평가 서브시스템의 구조도

ü 분석데이터 수집 블록은 자세인식/위치인식/행동분석/행동예측 서브 시스템으로부터 소켓통신 기반으로 패킷을 수신하여 성능분석 및 평가 블록으로 전달하는 기능을 담당한다.

ü 광학 센서 데이터 수집 블록은 기준 값으로 사용할 데이터를 스트

리밍하기 위하여 제공되는 API를 통해 디바이스 초기화, 설정 및 광학 센서 정보 수신 기능을 담당한다.

ü 성능 분석 및 평가 블록은 분석데이터와 광학센서 데이터를 비교하 여 성능 지표를 산출하고 이를 화면에 차트와 같은 그래픽 형태로 가시화 하는 기능을 담당한다.

¡ 블록/모듈의 클래스 정의

[그림 1-59] 분석데이터 수집 블럭의 클래스 다이아그램

[그림 1-60] 광학센서데이터 수집 블럭의 클래스 다이아그램

[그림 1-61] 성능분석 및 평가 블럭의 클래스 다이아그램

Class ID Name Description Category

CLS.PR_PDA.01 TCPSocket 영상센서데이터와 모션센서데이터를 이용하여

처리된 데이터를 수신하는 클래스 클래스

CLS.PR_PDA.02 DBManager 수집된 분석데이터를 데이터베이스에 저장하기 클래스

¡ 시퀀스 다이아그램

[그림 1-62] 분석데이터 수집 블록의 시퀀스 다이아그램

ü 성능 분석 및 평가(PAE)를 위해 분석 시스템으로 부터 TcpSocket 클래스의 RecvData 메소드를 통하여 데이터를 수신한다.

ü 수신된 데이터는 Raw데이터 형태로 Database에 입력하기 위하여

ü 수신된 데이터는 Raw데이터 형태로 Database에 입력하기 위하여

문서에서 R&D연구결과보고서 (페이지 60-72)

관련 문서