メインコンテンツへスキップ

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
シミュレーション10001WebSocketリアルタイムコマンド/ステータスループ(メッセージ1件入力 → ステータス1件出力)
イベント10020WebSocket(読み取り専用)システムイベント:セキュリティ、バッテリー、接続、制御レートに関する警告
HTTP10001RESTステートレスな設定照会、設定、セッション管理、デバイスチェック

すべての有効データは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リファレンス(完全版)​

各エンドポイントおよび各メッセージの完全な、機械可読な仕様については: