本稿ではUnitree社の小型LiDAR L1を用いたPC上でのデータ取得,および応用例としてのSLAM実行例をご紹介します.
1. Unitee L1?
Unitree社が独自開発した3D LiDARです.約8cm四方,230gと小型・軽量で低コストながら,360°×90°の点群および6軸IMUのデータ取得ができます.
https://techshare.co.jp/product/unitree/4d-lidar-l1/
2023年の新型四脚ロボットであるUnitree Go2の顎部に同様のLiDARが付いており,歩行時の障害物検出に利用されています.
2. 実行環境
以下の環境で動作を確認しました.
ホストOS: Ubuntu 22.04
CPU: Intel(R) Core(TM) i5-10210U @ 1.60GHz x 8
メモリ: 8GB
3. 使ってみる
3.1. スキャンデータ取得
Unitree Roboticsのgithubから,L1を使用する際のソフトウェア類を取得できます.下記リンクのリポジトリは,L1のデータを取得するためのSDK,およびROS/ROS2パッケージです.
https://github.com/unitreerobotics/unilidar_sdk
ROS2で利用する場合のビルド手順は以下の通り
git clone https://github.com/unitreerobotics/unilidar_sdk
cd unilidar_sdk/unitree_lidar_ros2
colcon build --symlink-install
sourceコマンドによるセットアップ後,L1のセンサーノード立ち上げとrviz2による可視化を行うlaunchスクリプトを実行
ros2 launch unitree_lidar_ros2 launch.py
下画像のようにスキャンデータが確認できます.
こちらは2023年7月に名古屋国際会議場で開催したRobot Innovation Week 2023における,L1デモ展示での様子です.来場客や会場の柱などが確認できます.
3.2. SLAM
9月末に,Point-LIOという(tightly-coupledな)LiDAR-IMU複合オドメトリーアルゴリズムに基づく,L1向けのSLAMパッケージが公開されました.
https://github.com/unitreerobotics/point_lio_unilidar
※Point-LIOのフレームワークについてはこちらを参照
https://onlinelibrary.wiley.com/doi/epdf/10.1002/aisy.202200459
UnitreeはUbuntu 20.04(ROS noetic)環境で動作確認したようですので.dockerを用いた環境構築を行いました.※詳細な手順はここでは割愛します
OSRFのnoeticイメージをベースに,READMEの通りに依存プログラムをインストールし,ビルドします.
USB接続したL1は/dev/ttyUSB0として認識されます.デバイスファイルへのアクセス許可設定を忘れずに.
以下は弊社開発センターフロア内を巡回したデータに基づき,3次元地図を作成する様子です.
作成された地図はpcd形式で保存されます.
4. おわりに
Unitree LiDAR L1を用いたデータ取得,SLAMの実行例をご紹介しました.やや特殊なスキャン方式ではありますが,小型・安価な3次元LiDARとして活躍できるポテンシャルを秘めたデバイスかと思います.
L1 LiDARをはじめ,Unitree製品に関するお問い合わせは
まで!