Walabotについて
About Walabot
この記事では、RFデバイスWalabotのAPIドキュメントの紹介部分(Walabotアプリケーションの概要)を翻訳しました。目的は、読者にWalabotの予備的な理解を与えることです。私の英語レベルが限られているため、次のことが避けられません。
- 翻訳は均一ではありません
- 無料翻訳
- 文と語彙は十分に正確ではありません
Walabot APIの詳細について、または正確なドキュメントを読むには、元の記事にアクセスしてください。 api.walabot.com
目次
序文
にもかかわらず ワラボット ポケットサイズのみですが、最先端を使用しています 立体視 (3D) 無線周波数 (RF) 誘導 テクノロジーにより、次の高度なアプリケーションが可能になります。
- 呼吸モニタリング
- オブジェクトの追跡と落下の検出
- 壁の水道管と電線の検出
いくつかのサンプルアプリケーションを提供しています。さらに、独自のアプリケーションを作成し、Walabotの柔軟なAPIを使用して、周辺機器としてWalabotにアクセスできます。 WalabotをUSBに接続し、Walabot SDKをインストールすると、自家製のアプリケーションでWalabot APIを使用して、複数の種類の画像(処理済みおよび未処理)を受信できます。アプリケーションは、オブジェクトの動きを検出するために画像間の差異を追跡するなど、画像の追加処理を含め、必要に応じて画像データを使用できます。
独自のアプリケーションを作成する前に、まずWalabotで何ができるかを理解する必要があります。 画像の特徴 説明する。この後、あなたはすることができます イメージング手順 コンテンツを設計および適用する高レベルのプロセス コーディングプロセス それに気付く。参照することもできます サンプルコード 。
画像の特徴
Walabotは、アプリケーションにさまざまな種類の画像データを提供できます。それらの違いは、主に2つの設定に依存します。
- スキャン構成 (スキャンプロファイル):内部アンテナグループや使用周波数など、さまざまなスキャンの詳細を定義します。
- データをプルする (アクションの取得):画像の処理方法とアプリケーションに提供するデータを定義します。
スキャン構成
次の構成を使用できます。
- 短距離 :捕捉範囲は狭いですが、壁などの誘電体を透過する可能性があります。
- 長距離スキャンの構成:
- センサー または トラッカー :画像の解像度は高いですが、キャプチャ速度が遅いです。
- センサーが狭い :高速で移動するオブジェクトの追跡に使用される、低解像度と高キャプチャレート。
データをプルする
Getアクションの利用可能なタイプ:
- 生の画像 元の画像:立体(3D)画像データを提供します。
- 生の画像スライス 元の画像スライス:スライスの平面(2D)画像データに最も強い信号を提供します(2D平面に投影された3D画像)。
- 画像エネルギー 画像エネルギー:元の画像のすべてのピクセルの信号エネルギーの合計を表す数値を指定します。
- イメージングターゲット (短距離スキャン構成を使用する場合)、 センサーターゲット (センサースキャン構成を使用する場合)、 トラッカーターゲット (トラッカースキャン構成を使用する場合):識別されたターゲットリストの数を指定します。 (現在のAPIバージョンでは、イメージングターゲットは最高の信号強度を持つターゲットのみを提供します)
- 生の信号 生信号:センサーによって収集された生信号。信号(i、j)は 反射されたパルスはアンテナiから送信され、ターゲットによって反射され、アンテナjによって受信されます。
例
データを表示するための次のサンプルアプリケーションは、異なるを使用します スキャン構成 と プルデータ型 組み合わせ:
-
短距離スキャンを使用して、Raw画像スライスを取得します。
-
センサー(または追跡)スキャンを使用して、生の画像スライスとセンサーターゲットを取得します。
-
短距離スキャンを使用して、イメージングターゲット(パイプ)を取得します。
動的フィルタリング
動きを追跡する必要があるアプリケーションの場合、Walabotは ダイナミックイメージングフィルター 変更された信号のみを残して、固定信号を除外します。ターゲットの移動に加えて( 移動ターゲットの識別 )フィルターに加えて、微分フィルターを特定の呼吸周波数に使用できます。以下に、センサーナロースキャン(呼吸)の画像エネルギーを示し、差動フィルターを使用します。
キャリブレーションと感度
Walabotのキャリブレーションスキャンは、固定された反射物体(壁など)からの信号を無視または減衰させることができます。また、元の画像(3Dおよびスライス)の場合、Walabotは次のように設定します 感度のしきい値 いくつかの弱い信号を無視します。
砂
Getアクションを使用すると、Walabotは構成可能な限られたスペースを処理して提供します( 砂 )画像データ(画像の解像度は構成可能)。短距離プロファイルでスキャンする場合、アリーナのサイズはWalabotのサイズとほぼ同じであり、直交座標系が使用されます。センサー(センサープロファイル)またはトラッキング(トラッカープロファイル)スキャンを使用する場合、球座標系を使用する場合、アリーナははるかに大きくなります。
アプリケーションでは、次の式を使用して、球座標系を空間直交座標系に変換できます。
X =R⋅sinθY= R⋅cosθ⋅sinϕ Z = R⋅cosθ⋅cosϕ begin {aligned} X&amp = R・ sin theta \ Y&amp = R・ cos theta・ sin phi \ Z&amp = R・ cos theta・ cos phi end {aligned}
例えば:
座標系
アリーナの定義、およびWalabotから提供された画像データの場合、直交座標の原点はWalabotの中心にあり、座標軸の正の方向は次のとおりです(シェルがある場合は、Walabotを配置します)。ロゴダウン。):
球面座標の場合、座標系の任意の点Mが使用されますR、θ、ϕ R、シータ、ファイ説明。 Rは半径を表し、θシータOMとz軸の正の方向との間の角度を表します。θシータ平らですZ O M ZOM飛行機付きZ O X ZOX間の角度。 (注:元の説明は特に明確ではないため、この説明と画像ソースのBaidu百科事典)
単位はセンチメートルと度です。
イメージング手順
高レベルの申請プロセスを設計する前に、理解していることを確認してください 画像の特徴 コンテンツ。
アプリケーションが画像を受信する前に、次の手順が必要です。
- 接続する :ワラボットとのコミュニケーションの確立
- 構成、設定 :スキャンプロファイルとアリーナを設定します。動的フィルターと感度しきい値を構成できます。
- 校正する :環境に応じて、固定反射板(壁など)の信号を無視または弱めます。
- 開始 :システムはスキャンを開始する準備ができています。スキャン方法を設定する必要があります。
- 引き金 :設定された構成に従ってスキャンし、処理および取得できる信号を記録します。
- アクションプルデータを取得する :特定のGetアクション、動的フィルター(有効な場合)、および機密しきい値に従って、現在のアリーナの画像データを処理および提供します。 Getアクションは、最新のトリガーレコードを取得し、Walabotは、アプリケーションが同じレコードを2回受信しないことを自動的に保証します(したがって、複数の並列トリガーを実装してデータをプルできます)。
- 停止して切断停止して切断 。
構成設定はいつでも変更できます。 Walabotは、次にプルされるデータが設定後にトリガーされることを保証します。
スキャン方法も任意の段階で変更できます。 Walabotは自動的に実行されます 仕事をやめる →右矢印 設定を変更する 。スキャン方法を変更するたびに、Walabotをキャリブレーションして再起動する必要があります。
上記に基づいて高水準プログラムフローを設計した後、次のことができます。 コーディングプロセス それを達成するために。
コーディングプロセス
コーディングを始める前に、 イメージング手順 高レベルのアプリケーションプロセスを設計し、次のガイドラインに従って実装します。 サンプルコード 多分それはあなたを助けるでしょう。
-
アプリケーションには、APIヘッダーファイルとiostreamライブラリが含まれている必要があります。といった:
#include 'WalabotApi.h' #include
-
一般 ケース:WalabotAPIはスレッドセーフではありません
-
接続 ワラボット: Walabot_ConnectAny()
-
構成 (初期化とフォローアップ)
- スキャン方法を設定します。 Walabot_SetProfile()
- 短距離スキャンを使用する場合は、空間直交座標系を使用して設定します 砂 : Walabot_SetArenaX() 、 Walabot_SetArenaY() 、 Walabot_SetArenaZ()
- センサーまたはトラッカースキャンを使用する場合は、球面座標系を使用して設定します 砂 : Walabot_SetArenaR() 、 Walabot_SetArenaTheta(Redined) 、 Walabot_SetArenaPhi()
- 必要に応じて、動的に設定します フィルタ : Walabot_SetDynamicImageFilter()
- 感度を変更することもできます しきい値 : Walabot_SetDynamicImageFilter()
-
上記の構成(スキャンモード構成を除く)のそれぞれについて、基本的に次のように設定できます。 セットする に 取得する 現在の構成を表示します。構成機能を変更するための対応するリンクに、構成機能のドキュメントを表示するためのリンクがあります。
-
起動 (オーバースキャン方法を設定する必要があります): Walabot_Start()
-
アプリケーションサイクルには通常、少なくとも次の手順が含まれます。
-
較正 (初期化時、スキャン方法の変更時、または環境変化への対応が必要な場合): Walabot_StartCalibration()
キャリブレーションの進行状況を確認するには、 Walabot_GetStatus() 。キャリブレーションがまだ進行中の場合は、進行状況のパーセンテージが返されます。この関数の戻り値に基づいて、スキャンを開始するか、待機を継続するかを決定できます。
キャリブレーションプロセスを中断することもできます。 Walabot_CancelCalibration()
-
やめる : Walabot_Stop()
-
切断する : Walabot_Disconnect()
-
ワラボットを見ることができます 状態 : Walabot_GetStatus()
すべての機能は 戻る : WALABOT_RESULT 、プログラムはこの戻り値をチェックする必要があります。
いくつかの高度な機能があります:
- 複数のWalabotの1つを接続します。 Walabot_Connect() 、 Walabot_GetInstrumentsList()
- 詳細なエラー情報を表示します。 Walabot_GetErrorString()
- Walabotの組み込みデータベースのパスを設定します。 Walabot_SetSettingsFolder() または Walabot_Initialize()
- 指定されたアンテナから元の画像データを取得します。 Walabot_GetSignal() 、 Walabot_GetAntennaPairs()
インストールとトラブルシューティング
インストールファイルはここからダウンロードできます: http://www.walabot.com/getting-started-beta (このURLにはアクセスできますが、ダウンロードファイルがブロックされているようです)
ウィンドウズ
インストーラーは、対応するソフトウェアがコンピューターにインストールされているかどうかを確認します。インストールされていない場合は、インストールを試みます。
トラブルシューティング
-
WalabotSDKのインストールがさまざまな理由で失敗する
修復 :途中でインストールしないと、システムに一貫性がない状態になる可能性があります。最初にWalabotパッケージをアンインストールしてから、インストーラーを再実行してください。
-
Walabot SDKをインストールした後、WalabotDemoは不足しているdllファイルを報告します。
修復 :場合によっては、インストール後にシステムを再起動する必要があります。再起動後、WalabotDemoを再起動してください。
-
ドライバのインストールエラー
ポップアップウィンドウのプロンプト:「デバイスドライバが正常にインストールされませんでした(デバイスドライバが正常にインストールされませんでした)」
修復 :システムを再起動します
プロンプト:イベントビューア(イベントビューア)にプロンプトがある場合:
Device manager '... with exit code 0xD 0xD = The data is invalid'
、運転の問題も意味します。
Linux
debianパッケージを使用してLinuxにインストールします。上記のリンクからインストールパッケージをダウンロードし、対応するパスに次のコマンドを入力します。
sudo dpkg -i walabot-maker.deb
インストールパッケージは、次のパスにファイルをインストールします。
/usr/lib/libWalabotAPI.so
ワラボットライブラリ/usr/include/WalabotAPI.h
walabotライブラリヘッダーファイル/var/lib/walabot/...
walabotデータベースと構成ファイル。このパスをWalabot_SetSettingsFolder()に渡します。/usr/share/doc/walabot/...
サンプルコード、ライセンス、READMEファイル/etc/udev/rules.d/...
Walabotデバイスには特別なudevルールがあるため、root権限なしでアクセスできます。