メインコンテンツへ移動

Haply 逆サービス

Le 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の規約を参照してください。

ユースケース​

目的どこから始めればいいでしょうか
ハプティックデバイスに力や位置情報を送信するリアルタイム制御
ベース、マウント、プリセット、またはフィルターの設定を行うセッションの設定
シーン内を移動する(速度制御による移動)ナビゲーションモジュール
システムイベント(セキュリティ、バッテリー、接続)を監視するイベントと監視
実例から学ぶチュートリアル

座標系​

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

2つの変換によって、カメラがシーン内の位置に配置されます:

  • モンタージュ— カメラの物理的な位置ずれ(プリセットまたは明示的に設定される)
  • ワークスペース— カメラまたはシーンのナビゲーションにおける実行時のずれ(手動またはナビゲーションモジュールを使用して定義されたもの)

座標情報の完全なパイプラインについては、「組立と作業スペース」をご覧ください。

サービスの実施​

Inverse Service には、2つの動作モードがあります:

  • Haply ハブに統合 (推奨)—Haply ハブには最新バージョンのサービスが含まれており、ハブを開くと自動的に起動します。手動での設定は一切不要で、常に最新の修正プログラムを利用できます。
  • Autonome—Inverse Installer を使用して、特定のバージョンのサービスをWindows サービスまたは Unix デーモンとしてインストールします。継続的インテグレーション(CI)、GUI を使用しないデプロイ、または 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の完全なリファレンス​

各エンドポイントおよび各メッセージの、機械可読な完全な仕様については、以下を参照してください: