2016年10月17日月曜日

ROSで始めるロボティクス(6) ー ROSでデプスカメラPMD CamBoard pico flexxを使う


PMD CamBoard pico flexxは3D形状を認識することが可能な非常に小型のToFセンサーです。たまたま別部署用に購入していたものを借りることが出来ましたので、色々試してみました。

このセンサーはとにかく小さいです。ミントケースの半分ぐらいのセンサーで十分な解像度のToFセンサーなので、使い勝手は最高です。早速、ロボットのセンサーに使うため、ROSで使えるように環境を整えていきましょう。





ちなみにこのセンサーの視野角は横約60度縦47度程度です(実測値)。

CamBoard pico flexxはとにかく小さいToFセンサーだ。 

PMD CamBoard pico flexxのセットアップ

まずはROSをインストールします。Ubuntu14.04です。次にROSの環境を整えます。連載を読み進めて頂いた方はインストール済みでしょう。

gitからクローンします。

$ cd <catkin_ws>/src
$ git clone https://github.com/code-iai/pico_flexx_driver.git

次にroyaleSDKをPMDのサイトよりダウンロード、展開します。

$ cd ~/Downloads
$ unzip libroyale1.8.0.71.zip
$ cd <catkin_ws>/src/pico_flexx_driver/royale
$ unzip ~/Downloads/libroyale1.8.0.71/libroyale-1.8.0.71-LINUX-64Bit.zip
$ sudo cp libroyale-1.8.0.71-LINUX-64Bit/driver/udev/10-royale-ubuntu.rules /etc/udev/rules.d/

ワークスペースへ戻りmakeします。

$ cm

NOTE:
ビルドでハマってしまいました。一度古いpico_flexx_driverを入れてしまい、ビルドに失敗しました。それからドライバを最新に置き換えたのですがビルドが通りません。ドライバを最新にした場合はcatkin_make cleanをしてからcatkin_makeをすれば良いようですが、それでも私の環境ではうまくビルドできませんでした。
この場合、<catkin_ws>/buldフォルダを一度削除してcatkin_makeすればビルドに成功しました。

センサーを起動する

無事ビルドできたら、CamBoard pico flexx をUSB3.0ポートに接続します。

起動します。

$ roslaunch pico_flexx_driver pico_flexx_driver.launch publish_tf:=true

新しくターミナルを開き、RVizを起動してセンサーからのデータを確認します。

$ rosrun rviz rviz

RVizが起動したらFixed FrameにPico_flexx_linkを選択します。
Addボタンをクリックし、PointCloud2を選択してOKをクリックします。
PointCloud2が追加されるので、Topicに/pico_flexx/pointsを選択すると、点群が画面に表示されます。

オフィス内をPointCloud化。手前に見えているのは椅子の背もたれ。


次回からは、ロボットの自立制御としてMapを使ったナビゲーションを行います。




参考文献:
140 180 PMD CamBoard pico flexx , ROS

記載されている会社名、および商品名等は、各社の商標または登録商標です。

0 コメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...