Ski-Motion-Platform-SDK-TYPE-001

현재 위치

Ski-Motion-Platform-SDK-TYPE-001

등록날짜: 
2017-07-28 01:24:12
업데이트 날짜: 
2017-11-01 07:20:26

프로젝트 Git

  • Clone HTTP URL: 
    https://dtsc.etri.re.kr/dtsc/git/aro1116/Ski-Motion-Platform-SDK-TYPE-001.git
  • Clone SSH URL: 
    git@dtsc.etri.re.kr:aro1116/Ski-Motion-Platform-SDK-TYPE-001.git
  • 다운로드 횟수: 
    42

동계스포츠용 모션 플랫폼 SDK 및 디바이스 통신과 제어 프로토콜

ETRI 스마트콘텐츠연구실

2017.07.28

SDK 사용자 가이드

개요

  • 스키 모션 플랫폼 하드웨어의 제어(센서값, 모터 속도 등)를 위한 SDK Ski_motion_sdk_01

SDK

  • Unity 5.6.2로 패키징된 형태로 제공
    • 실제 장치 연동 예제 씬: Scene/SlipTurn_Device
    • 가상 동작 개요 예제 씬: Scene/SlipTurn_Device_Virtual
  • 파일을 다운받아 압축을 풀어 활용

계층 구조 (Hierarchy)

  • SKI_SENSORCanvas: 화면 표시를 위한 UI 오브젝트
  • DEVICE_PORT: 통신장치(시리얼) 연결용 오브젝트
  • DEVICE_CONTROL: 장치의 센서 연동 (데이터 수신 및 모터 조작 테이터 송신) Slip_Turn_XYZ_Interface_Control_05

화면 구성

  • SKI_SENSORCanvas로 표현
  • 장치와 연결 후 각종 센서, 데이터 UI 표시 (좌우, 앞뒤 회전각 및 스위치)
    • 앞뒤 기울기는 장치마다 다를 수 있으므로, 개발단에서 옵셋을 적용해야 함
    • 좌우 회전각은 발판의 각도를 정면으로 맞춘 후 프로그램 실행(프로그램 실행시 소스에서 InitDevice()를 호출하면 0도로 옵셋이 설정됨 (소스참고)
  • 모터 속도 및 방향 제어
  • 모듈과 연결 상태 표시 Slip_Turn_XYZ_Interface_Control_04

통신 연결

  • DEVICE_PORT에 표시
  • 장치를 PC에 연결하여 COM포트를 확인 후 “COMPORT”에 해당 포트명 기입
  • 통신모듈 SDK(DLL) 연동을 위한 래퍼 클래스 및 함수가 포함
  • DevicePort.cs 파일내 주석 참조 Slip_Turn_XYZ_Interface_Control_06

데이터 송수신

  • 각종 화면 표시를 위한 UI 오브젝트 연동
  • 장치에서 받은 모션 데이터값 확인 및 모터 제어
  • SKI_DEVICE.cs 파일내 주석 참조 Slip_Turn_XYZ_Interface_Control_07

가상 장치 연동

  • 가상 동작 개요 예제 씬: Scene/SlipTurn_Device_Virtual
  • 장비와 연결없이 스키 모션 디바이스 연동 상황 연출
  • 키보드의 좌우 방향키나 화면내 슬라이드를 통하여 스키 모션 디바이스의 좌우 회전을 연출
  • 키보드의 앞뒤 방향키나 화면내 슬라이드를 통하여 스키 모션 디바이스의 앞뒤 기울기를 연출
  • SKI_DEVICE_VIRTUAL.cs 파일내 주석 참조 Ski_motion_sdk_02

Slip Turn XYZ Interface Control

개요

  • 스키 모션 플랫폼 디바이스의 제어와 그를 위한 통신 프로토콜

통신모듈

  • HC-06 Bluetooth Serial Module

    • http://mechasolution.com/shop/goods/goods_view.php?goodsno=71794&category=054001

    • 속도: 115200 BPS

    • 데이터 비트: 8
    • 스톱 비트: 1
    • 패리티: none
프로토콜
  • Define
    • STX = 0x02
    • ETX = 0x03
    • CHK = STX, CHK, ETX를 제외한 모든 BYTE SUM
  • PC to IFBoard

    • 제어신호 Slip_Turn_XYZ_Interface_Control_01

    • 내부 버퍼 초기화 명령: 홀센서 카운트 및 로터리엔코더 값 초기화 Slip_Turn_XYZ_Interface_Control_02

  • IFBoard to PC Slip_Turn_XYZ_Interface_Control_03