本文へスキップ

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。

通信インターフェース​

このサービスでは、2つの通信チャネルを提供しています:

チャンネルポート伝送方式用途
シミュレーション10001WebSocketリアルタイムコマンド/ステータスループ(メッセージ1件入力 → ステータス1件出力)
イベント10020WebSocket(読み取り専用)システムイベント:安全、バッテリー、接続、サイクル警告
HTTP10001REST状態の非保存設定の照会、設定、セッション管理、デバイスの点検

すべてのペイロードはJSON形式です。標準のエンベロープ、ポート、およびコンテンツタイプの規則については、JSON仕様を参照してください。

ユースケース​

目標開始位置
ハプティックデバイスに力または位置の目標値を伝達するリアルタイム制御
基準(basis)、マウント、プリセット、またはフィルターの設定セッションの構成
シーンの探索(速度制御方式による移動)ナビゲーションモジュール
システムイベントの受信(安全、バッテリー、接続)イベントおよびモニタリング
例題で学習するチュートリアル

座標系​

Haplyの内部座標系は、右利き座標系で、Z軸が上方向(+Xが右、+Yが前方、+Zが上)となっています。単一基準の変換を行うことで、アプリケーションの座標系に合わせて再マッピングすることができ、一度設定すれば、すべての入力と出力が自動的に変換されます。

シーン内でデバイスの位置を決定する変換には、次の2つがあります:

座標パイプライン全体については、「マウント」および「ワークスペース」を参照してください。

サービスの実行​

Inverse Serviceは、2つのモードで実行できます:

  • Haply Hub 内蔵 (推奨)—Haply Hub には最新のサービスバージョンが含まれており、Hub を開くと自動的に起動します。別途設定は必要なく、常に最新の更新内容を受け取ることができます。
  • スタンドアロン—Inverse Installerを使用して、特定のサービスバージョンをWindows サービスまたは Unix デーモンとしてインストールします。CI、ヘッドレス展開、または Hub が実行されていないマシンで役立ちます。

スタンドアロン型サービス管理​

Windows — サービスアプリを開きます: Win+Rを押して services.mscを入力した後、「Haply Inverse Service」を探して右クリックし、「開始」「停止」「再起動」のいずれかを選択します。

Linux (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リファレンス一覧​

すべてのエンドポイントおよびメッセージに関する完全な機械可読仕様は、以下の通りです: