Loading [MathJax]/jax/output/HTML-CSS/config.js

360°カメラ(RICOH THETA)をKR260+PYNQから操作してみた

本サイトはアフィリエイト広告を利用しています。
AI

360度カメラのRICOH THETAを、KR260+PYNQから操作してみました。

インストール方法から実行例含めて紹介します。

 

スポンサーリンク

360°カメラ(RICOH THETA)をKR260+PYNQから操作してみた

360度カメラのRICOH THETA VをKR260から操作してみました。

USB経由で制御しています。

 

実際に360°カメラが撮影した写真が下記になります。

 

実際のテスト動画は下記です。

ipynbファイルから制御できていることが分かります。

 

実際にインストールした手順、制御したipynbファイルについてを紹介していきます。

 

RICOH THETA V

使用した360°カメラはRICOHのTHETA Vです。

色々なAPI・ライブラリが公開されており、使いやすい360°カメラです。

接続方法もUSBやBluetoothなどあります。

 

最新はRICOH THETA XですがVを選んだ理由は下記記事で紹介しています。

RICOHのTHETA Xではなく、THETA Vを購入した理由

RICOHのTHETA Xではなく、THETA Vを購入した理由
コンテストで360°カメラのRICOH THETA Vを使っていました。最新のTHETA Xではありませんでしたが、十分に機能してくれました。個人的な開発・デバッグではTHETA Vで満足だった理由を紹介します。RICOHのTHETA Xで...

 

KR260にTHETAを接続

KR260にTHETAを接続します。USBで接続しています。

dmesgでログを見ると、問題なく接続できました。

 

 

ライブラリをmake・インストールする

下記GitHubを参照してmake・インストールしました。

 https://github.com/codetricity/libptp2-theta

 

KR260のUSB経由でTHETAを動かす

インストール後は「theta」というコマンドが使えるようになります。

例えば、ヘルプを確認したかったら「theta -h」です。

またカメラ(デバイス)情報を読み取りしたい場合は、「theta -i」です

 

Jupyter Notebook

Kria-PYNQのJupyter Notebookを使って、Pythonから制御します。

今回紹介するのは、あくまで一例です。

他にもRICOH公式のUSBのAPI情報を使って色々操作可能です。

 https://github.com/ricohapi/theta-api-specs/tree/main/theta-usb-api

 

ipynbファイル

今回筆者が作成・実行したipynbファイルは下記です。Gistにアップしています。

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

コマンド同様に、pythonでもカメラ情報を確認してみます。

 

 

GitHubに記載されている手順そのままですが、撮影まで流れを試してみます。

まずはTHETAを省エネモードからWakeUP。カメラのLEDランプが青色に点灯します。

 

カメラ撮影モードにします。カメラマークが青く光ります。

 

あとは撮影(キャプチャ)するだけです。

360°カメラのTHETA Vの撮影する時間を確認しましたが、約3秒でした。

 

実際のKR260とTHETAの周りの状況は下記状況でした。※スマホから撮影

 

 

THETAに保存されているファイルを「theta -L」で確認できます。

取得できたデータは下記写真です。

 

 

ファイルを指定(もしくは全てに)して、KR260に保存できます。

「theta --get-file=HANDLE」「theta --get-all-files」

カレントディレクトリにTHETAから転送されます。

 

 

opencvで画像表示させます。

 

ipynb上でもopencvを使って撮影した360°カメラ画像が確認出来ました。

 

まとめ

360度カメラのRICOH THETAをKR260から操作してみました。

しかし1枚のカメラ撮影に3秒ほどかかり、そのままではリアルタイムの制御には使えません。

そのためGstreamerを使ってリアルタイムにopencvに流しこむ別の手法で対応しました。

 

今回のKR260で実施した内容は、下記記事で紹介したテストの一部です。

AMD(Xilinx)のFPGAコンテストに参加した感想

AMD(Xilinx)のFPGAコンテストに参加した感想
AMD(Xilinx)とHackster(Avnet)が合同主催する、海外のコンテストに参加していました。AMD Pervasive AI Developer Contest の「Robotics AI」部門です。KR260というFPGAボ...

 

コメント