こちらの記事について、内容・翻訳・視点・長さなど、皆様のご意見をお送りください。今後の記事製作の参考にしたいと思います。
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
こちらの記事の感想をお聞かせください。
知覚コンピューティングアプリケーションの開発を加速
前回の記事ではLinuxが動いているIntel Joule 570xデベロッパーキットを紹介してきましたIこの記事ではIntel RealSense R200カメラとそのサンプルを紹介していきます。
Intel RealSense R200
Intel RealSense R200は軽量でUSB 3.0動作、1つのRGBカメラ、2つの赤外線カメラ、IRレーザプロジェクタがASICで処理されているセンシング用カメラです。広範囲深度/3Dカメラの開発キットで、様々な機能があり様々な機器で使用できます。また、開発者向けに設計されています。
小さいということも魅力の一つで、Intel公式は次のようにも述べています。
“200は70cmのステレオカメラです。またClass1のレーザでより正確に測ることもできます。R200は水平検索範囲63ピクセルのため解像度628x468で72cmの最小奥行き距離でセンシングできます。また、解像度320x240のとき32cmの最小奥行き距離でセンシングできます。複数のR200のレーザの干渉波を強めるので、同じ環境でR200を配置することができます。赤外線カメラはグローバルシャッタで動作し、1080pフルカラーカメラはロールシャッタで動作します。内部クロックで3つのカメラのずれをなくしています。”
デスクトップに描画
twm window managerを使ったX Windows
以前はワイヤレスでSSH接続する前に一度UARTで接続し設定する必要がありました。しかし、Ostro Linux動作しているXTバージョンはMicro SDやX server、desktop softwareが初期設定されています。
そのため私たちは次のように打つだけでいいのです:
startx
X Windowsのセッションが twm windowマネージャによって開始します。これは少し古臭いGUIのため、現在のデスクトップとは少しかけ離れています。このセッションはpkill X
を入力することで終了できます。
もし現代風のインタフェースを使いたければ次のようにタイプしてください:
startxfce4
その後、ファイルマネージャーやその他の便利なツールが利用できます。
Librealsenseのセッティング
LibrealsenseのGithub
Intelは出荷時にRealSenseのセッティングを行います。そのため、/usr/libの中にlibrealsense.soというライブラリファイルがあります。そのため、最新版ではないことがあります librealsenseのGithubでは最新版のライブラリが配布されています。
もう一つの注意点に標準Linux OSにはYoctoプロジェクトツールが使用されているためパッケージマネージャが搭載されていません。しかし簡単に必要とされるアプリケーションやライブラリなどを焼くことができます。
またそうすることで、必要のないソフトウェアやライブラリが容量を圧迫することがありません。
ではカメラが接続されていない状態から最新ライブラリをインストールします。
# git clone https://github.com/IntelRealSense/librealsense.git
# cd librealsense
# mkdir build
# cd build
# cmake .. -DBUILD_EXAMPLES:BOOL=true
# make && sudo make install
UdevのUSBサブシステムを設定するには、2つのコマンドが必要です。RealSenseカメラは、正しく設定し接続すると認識されます。
# cp config/99-realsense-libusb.rules /etc/udev/rules.d/
# udevadm control --reload-rules && udevadm trigger
カメラが接続されると次のような接続通知メッセージがコマンドラインに表示されます。
[ 4923.102810] usb 2-2: new SuperSpeed USB device number 3 using xhci_hcd
[ 4923.124075] uvcvideo: Found UVC 1.10 device Intel RealSense 3D Camera R200 (8086:0a80)
この説明はlibrealsenseとLinuxを接続する例です。WindowsやMac OS Xは GitHubで確認してください。また、標準Linuxを使用している場合はカーネルやパッチを更新する必要がありません。
Bluetoothキーボード
以前ではUSBワイヤレスキーボードとマウスを使用していましたが、USBポートにRealSense を接続する必要もあったため今回はBluetoothを使います。Bluetoothの設定方法はこちらに記載されています。また、USBハブにマウスとキーボード、SR200をつなぐという手もあります。
実行例
librealsense enumerate devicesプログラムの出力の一部
ライブラリは/ usr / local / lib64にインストールされるので、環境変数を定義してリンカが正しく読み込めるように必要があります:
# export LD_LIBRARY_PATH=/usr/local/lib64
X Windowが起動する前に設定が完了していれば、Xfce内で開かれたすべての端末セッションに環境変数が設定されます。
例は/ usr / local / binにインストールされ、すべてはcpp- *で始まります。
cpp-headless
cpp-headless-COLOR
この例30フレーム分キャプチャし、最後に画像をディスクに4枚保存されます。そのうちのカラー画像です。
cpp-headless-INFRARED
赤外線カメラの1枚目の画像です。
cpp-headless-INFRARED2
赤外線カメラの2枚目の画像です。
cpp-headless-DEPTH
最後の画像は深度を表しています。
cpp-tutorial-1-depth
先ほどの例はモニタを使用する必要がないため、headlessと名付けました。今回の例はSSH やUARTを使い、ASCII文字で深度を送信していきます
cpp-pointcloud
point cloudの例では特定の深度の中にあるもののみ表示されます。
cpp-stride
この例は、コールバック付きの低レイテンシ、マルチスレッドデモであり、RGBおよび2つの赤外線カメラからのビデオを深度と共に表示します。
まとめ
ntel Jouleと RealSense R200のチュートリアルを紹介していきました。デモは問題なく動き、この手順で行えばつまずくことはあまりないと思われます。 これらの興味深いところは100-200行ほどのコードでGUIやビデをストリームを使用することができるところです。
このハードウェアの組み合わせを使用すると、非常に小さなジュールモジュールがすべての処理をしていることを忘れてしまいます。 Intel RealSense R200と組み合わせることで、IoT、拡張現実(AR)などのための次世代アプリケーションの開発に使用できる強力な知覚コンピューティング機能を提供します。