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つの通信チャネルを提供しています:
| カナル | ポート | 輸送 | Zweck |
|---|---|---|---|
| シミュレーション | 10001 | WebSocket | リアルタイムコマンド/ステータスループ(メッセージ1件入力 → ステータス1件出力) |
| イベント | 10020 | WebSocket(読み取り専用) | システムイベント:セキュリティ、バッテリー、接続、制御レートに関する警告 |
| HTTP | 10001 | REST | ステートレスな設定照会、設定、セッション管理、デバイスチェック |
すべての有効データはJSON形式です。標準ヘッダー、ポート、およびContent-Typeのルールについては、JSONの規約を参照してください。
ユースケース
| Ziel | はじめに |
|---|---|
| ハプティックデバイスに力や位置目標を送信する | リアルタイム制御 |
| ベース、取り付け、プリセット、またはフィルターの設定 | セッション設定 |
| シーン内を移動する(ラダー制御による移動) | ナビゲーションモジュール |
| システムイベントの監視(セキュリティ、バッテリー、接続) | イベントと監視 |
| 例を挙げて学ぶ | チュートリアル |
座標系
Haply の内部座標系は右利き系であり、Z軸が上向きです(+Xが右、+Yが前方、+Zが上)。1回の基本変換を行うだけで、この座標系をアプリケーションの座標系にマッピングできます。一度設定すれば、すべての入出力は自動的に変換されます。
2つのトランスフォーメーションによって、このデバイスをシーン内の所定の位置に配置します:
- モンタージュ— デバイスの物理的なオフセット(プリセットまたは明示的に設定されたもの)
- ワークスペース— カメラおよびシーンのナビゲーション(手動またはナビゲーションモジュール経由で設定)のための実行時のオフセット
座標処理の全パイプラインについては、「アセンブリとワークスペース」をご覧ください。
このサービスを実行する
Inverse Service は 2 つのモードで動作します:
- Haply ハブに組み込み (推奨)—Haply ハブには最新のサービスバージョンが含まれており、ハブを開くと自動的に起動します。手動での設定は不要で、常に最新のバグ修正が適用されます。
- スタンドアロン—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リファレンス(完全版)
各エンドポイントおよび各メッセージの完全な、機械可読な仕様については:
- HTTP API リファレンス (OpenAPI)— インタラクティブな Swagger UI
- シミュレーション API リファレンス (AsyncAPI)— インタラクティブな AsyncAPI ビューア