본문으로 바로 가기

Haply 역 서비스

Inverse Service는사용자의 컴퓨터에서 백그라운드 프로세스로 실행되며, Haply 의 햅틱 장치를 애플리케이션에 실시간으로 연결합니다. 장치 감지, 시리얼 통신, 안전 모니터링, 상태 스트리밍 등 코드 하위 계층의 모든 작업을 처리하므로, 개발자는 사용자 경험 구축에만 집중할 수 있습니다.

요구 사항 및 호환성​

이 서비스는 주요 데스크톱 플랫폼에서 실행되며, WebSocket 클라이언트와 JSON 파서를 지원하는 모든 프로그래밍 언어로제어할 수 있습니다:

  • 플랫폼: Windows 10 이상 (MSVC), Linux (.deb 패키지), macOS
  • 언어: Python, JavaScript / TypeScript, C++, C#, Rust, Go, Java, … WebSocket + JSON 통신이 가능한 모든 언어

공식 지원 통합​

Haply는 Haply Inverse Unity Package, Toia, Geomagic Freeform, NVIDIA Isaac Lab에대한 자체 통합을 직접 관리합니다.

이 외에도 WebSocket 클라이언트와 JSON 파서를 지원하는 모든 플랫폼이나 런타임에서이 서비스를 사용할 수 있습니다. 당사는 언리얼 엔진(Unreal Engine), 터치디자이너(TouchDesigner) 및 기타 실시간 또는 시뮬레이션 스택과 함께 이 서비스를 실행해 본 적이 있습니다. 개발 환경에서 WebSocket 연결을 열 수 있다면 Inverse 장치를 제어할 수 있습니다.

언어별 예제는 공개 샘플 저장소를 참조하십시오: C++ 및 Python.

통신 인터페이스​

이 서비스는 두 가지 통신 채널을 제공합니다:

채널포트전송 방식용도
시뮬레이션10001웹소켓실시간 명령/상태 루프 (메시지 1개 입력 → 상태 1개 출력)
이벤트10020WebSocket (읽기 전용)시스템 이벤트: 안전, 배터리, 연결, 주기 경고
HTTP10001REST저장되지 않은 상태의 구성 조회, 설정, 세션 관리, 장치 점검

모든 페이로드는 JSON 형식입니다. 표준 엔벨로프, 포트 및 콘텐츠 유형에 대한 규칙은 JSON 규약을참조하십시오.

사용 사례​

목표시작 위치
햅틱 장치에 힘 또는 위치 목표값을 전송실시간 제어
기준(basis), 마운트, 프리셋 또는 필터 구성세션 구성
장면 탐색 (속도 제어 방식 이동)내비게이션 모듈
시스템 이벤트 수신 (안전, 배터리, 연결)이벤트 및 모니터링
예제를 통해 학습하기튜토리얼

좌표계​

Haply의 내부 좌표계는 오른손 좌표계이며, Z축이 위쪽을 향합니다(+X는 오른쪽, +Y는 앞쪽, +Z는 위쪽). 단일 기준 변환을 통해애플리케이션의 좌표계에 맞게 재매핑할 수 있으며, 한 번 설정하면 모든 입력과 출력이 자동으로 변환됩니다.

장면에서 장치의 위치를 결정하는 변환은 두 가지입니다:

  • 마운트 — 장치의 물리적 오프셋 (프리셋을통해 또는 명시적으로 설정)
  • 워크스페이스 — 카메라/씬 탐색을 위한 런타임 오프셋 (수동으로 설정하거나 내비게이션 모듈을통해 설정)

전체 좌표 파이프라인에 대해서는 마운트 및 작업 공간을참조하십시오.

서비스 실행​

Inverse Service는 두 가지 모드로 실행할 수 있습니다:

  • Haply 허브 내장 (권장) — Haply 허브에는최신 서비스 버전이 포함되어 있으며, 허브를 열면 자동으로 실행됩니다. 별도의 설정이 필요 없으며 항상 최신 수정 사항을 받을 수 있습니다.
  • 독립 실행형 — Inverse Installer를사용하여 특정 서비스 버전을 Windows 서비스 또는 Unix 데몬으로설치합니다. CI, 헤드리스 배포 또는 허브가 실행되지 않는 시스템에서 유용합니다.

독립 실행형 서비스 관리​

Windows — 서비스 앱을 엽니다: Win+R을 누른 다음 services.msc를 입력한 뒤 “Haply Inverse Service”를 찾아 마우스 오른쪽 버튼을 클릭하고 시작/중지/다시 시작을 선택합니다.

리눅스 (systemd):

systemctl start haply-inverse-service.service
systemctl stop haply-inverse-service.service
systemctl restart haply-inverse-service.service
systemctl enable haply-inverse-service.service # auto-start on boot

전체 API 참조​

모든 엔드포인트 및 메시지에 대한 완전한 기계 판독 가능 사양은 다음과 같습니다: