背景
LIDAR(ライダー)とはレーザーで距離を測れる装置のことです。$99で売られているLIDARがあったので、同じメーカーの高性能版($400)と一緒に買って試してみました。
使ったもの
Linuxが動くPC
下記2種類の環境で動作を確認しました。- Intel Core i7が載ったノートPC + Ubuntu17.10
- Rasbperry Pi3 + Raspbian Streatch
LIDAR
X4($99)
$99で売られているylidar-X4をAliexpressで購入しました。
モーターがむき出しです。
LIDAR-053 eai ydlidar x4 lidarレーザーレーダースキャナ測距センサモジュール10メートル5 k測距周波数eai YDLIDAR-X4
詳しい性能はメーカーのページを参照してください。
YLIDAR X4
PCはUSBケーブルからの給電だけで、Raspberry PiはUSBケーブルを2本使って電力を供給することで、動かせました。
G4($400)
比較として$400で売られているylidar-G4も購入しました。
黒い外装に収まっています。
LIDAR-769 eai ydlidar 4360レーザレンジファインダセンサモジュール測定と走査システム16メートル9 k ydlidar-gg4
詳しい性能はメーカーのページを参照してください。
YLIDAR G4
PCはUSB3.0からの電源供給だけで動かせました。
USB type-CからUSB3.0に変換されるケーブルで接続する形式ですが、USBケーブルを2本使って電力を供給すれば、Raspberry Piでも動かせました。
電源供給用のケーブル + 電源
PCはUSBからの電力だけでLIDARを動かせましたが、Raspberry PiはUSBからの電力だけでは不足するようで動かせませんでした。そのため、それぞれのUSBの形状に合った電源供給用のUSBケーブルと電源を用意してください。
X4の場合はUSB microBのケーブルを使います。
G4の場合はUSB type-Cのケーブルを使います。
上記のケーブルと合わせて、スマートフォンの充電器など、USBで5Vを給電する電源を使います。
提供されるGUIプログラムで動作確認する方法
LIDARを作っているメーカーのサイトから、Toolsのダウンロードマークを押して、プログラムををダウンロードします。YDLIDAR Downloads
Toolsとして提供されるプログラムは、X4もG4も同じようなので、どちらをダウンロードしても共有できます。
ダウンロードしたファイルを展開します。
cd ~/Downloads unzip Tools.zip
LIDARをPCに接続した状態でプログラムを実行します。
cd ~/Downloads/Tools/PointCloudViewer chmod a+x PointCloudViewer_V02R02 ./PointCloudViewer_V02R02
画面が表示されるので、接続しているLIDARの種類を選んで、確定を押します。
X4: $99びモーターがむき出しのLIDAR
G4: $400の背が低くて黒いLIDAR
表示される画面右上の再生ボタンを押すと、スキャンが始まります。
うまく動くと、LIDARの測定値を点として表す画面が表示されます。
X4 ($99)の様子です。
G4 ($400)の様子です。
G4の方が測定距離が長い上に粒度が細かいため、部屋の角がX4より鮮明に測定できているようでした。
動作音は、個体差があるかもしれませんが、G4よりX4の方が静かでした。
なお、このプログラムはIntelのCPU向けにビルドされているようで、Raspberry Piで実行しようとすると下記のエラーが出て実行できませんでした。
-bash: ./PointCloudViewer_V02R02: cannot execute binary file: Exec format error
Raspberry Piで動かす場合は、別に提供されているSDKをビルドするか、この後説明するROSのパッケージを利用する必要があるようです。
ROS + 提供されるプログラムで動かす方法
ROSとは、ロボットのプログラムを作りやすい環境を提供してくれるプログラムです。ROS Melodicで動くことを確認しました。
ROS (Melodic)をインストール
ROSをインストールする方法は、これらのリンクが参考になると思います。Ubuntu: Ubuntu install of ROS Melodic
Raspberry Pi: ROS(melodic)をRaspberry Pi + Raspbian(stretch)にインストールする方法
LIDARのプログラムを設置
ROS向けのLIDARのパッケージが公開されているので、それをROSのビルド対象ディレクトリに設置します。cd ~/ros_catkin_ws/src git clone https://github.com/EAIBOT/ydlidar.git
LIDARのドライバを設定
ドライバ設定スクリプトを実行します。cd ~/ros_catkin_ws/src/ydlidar/startup chmod 777 * sudo sh initenv.sh
このスクリプト実行後、LIDARをPCに接続します。
LIDARをPCに接続したままスクリプトを実行した場合は、LIDARをPCから抜き差しするか、OSを再起動すると、ドライバが有効になります。
実行(CIで動作確認)
lidarの測定プログラムを動かします。cd ~/ros_catkin_ws/src catkin_make source devel/setup.bash roslaunch ydlidar lidar.launch
上記のroslaunchは動かしたまま。別のターミナルで/scanとして配信される情報を確認するコマンドを実行します。
rostopic echo /scan
うまく動くと、ターミナル上でLIDARの測定値を確認できます。
実行(Rvizで動作確認)
Rvizとは、ROSが提供している情報表示プログラムのひとつです。デスクトップ版のROSをインストールしている場合、下記のコマンドでLIDARの出力をRvizを通して確認できます。
cd ~/ros_catkin_ws/src catkin_make source devel/setup.bash roslaunch ydlidar lidar_view.launch
うまく動くと、RvizにLIDARの測定値が表示されます。
Raspberry PiのROSからも、X4とG4の値をRvizで確認できました。
まとめ
LIDARを使って、周囲の距離を測定できました。何かの参考になれば嬉しいです。
ラズベリーパイとydlidarは普通にUSBケーブルで繋いでいますか?
返信削除また、rosのパッケージがインストールできないのですが何が問題かわかりますか?
> ラズベリーパイとydlidarは普通にUSBケーブルで繋いでいますか?
削除普通が何なのか分かりませんが、「Raspberry PiとLidarをUSBケーブル1本で接続すること」と仮定します。
だとすると、答えは「いいえ」です。
X4とG4の解説の後半に記述していますが、Raspberry Piで利用する場合は、信号用のUSBケーブル以外に電源供給用のUSBケーブルを接続しておかないと動きませんでした。
> また、rosのパッケージがインストールできないのですが何が問題かわかりますか?
「インストールできない」という情報だけで問題を特定するのは困難です。
下記の情報を共有してもらえれば、分かることがあるかもしれません。
- インストールしようとして実行したコマンド
- 出力されるログの重要そうな部分
rosのインストールに関しては、こちらのページが参考になると思います。
削除ROS(melodic)をRaspberry Pi + Raspbian(stretch)にインストールする方法