2020年3月31日火曜日

Azure Kinect DK使ってみた

Azure Kinect DKが日本でも発売されたので買ってみました。
購入は↓から
https://www.microsoft.com/ja-jp/p/azure-kinect-dk/8pp5vxmd9nhq?rtc=1&activetab=pivot:overviewtab

SDKとROSとオープンソースで提供されているのでUbuntu 18.04 Melodic環境にインストールしてみました。

1)SDKインストール

まずは↓を参考にaptリポジトリを追加します。

https://docs.microsoft.com/en-us/windows-server/administration/linux-package-repository-for-microsoft-software

具体的には以下のような感じです。
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo apt-add-repository https://packages.microsoft.com/ubuntu/18.04/prod
sudo apt-get update
したらaptでインストールします。ROSノードはSDKバージョン1.1って書いてあったけど1.4でも動きました。また、ファームウェアを更新しろ、って書いてありますが、Linuxでやる方法がわからなかったのでやりませんでした。が、一応今の所動いています。分かる人教えてください。

sudo apt install k4a-tools libk4a1.4-dev
で、はまりどころは、udev.rulesです。
https://github.com/microsoft/Azure-Kinect-Sensor-SDK/blob/develop/docs/usage.md
ここの一番下に記述がありますが、他のドキュメントには記述ありません。
git clone https://github.com/microsoft/Azure-Kinect-Sensor-SDK.git
sudo cp Azure-Kinect-Sensor-SDK/scripts/99-k4a.rules /etc/udev/rules.d/sudo udevadm control --reloadsudo udevadm trigger
しておきます。
これで準備完了。Kinectを差し込んで
k4aviewer
するとViewerが立ち上がります。



2)ROS

ROSノードも用意されています。
https://github.com/microsoft/Azure_Kinect_ROS_Driver

libk4a1.4-devをちゃんとインストールしておけば普通にビルドできます。
ドキュメントはあまりないですが、rtabmapが使えるみたいです。私は動かせませんでした。

点群は
roslaunch azure_kinect_ros_driver driver.launch
して、rvizで確認出来ます。
IMUデータとかも取れてます。


リリースしてしばらく立っているからか、ソフトウェアはよく出来ている印象。点群もなかなかきれいですし、いい感じ(波打っていない、平面が出ている)な気がしました。

CPU使用率は40%くらい(Intel Core i7-9750H 2.6GHz)。GPUメモリ120MBくらい使っていました。

3)宣伝

ということで弊社スマイルロボティクス株式会社はAzure Kinect DKを使ってロボットを動かしてくれるエンジニアを募集しております。元トヨタ・元SCHAFT・元Googleの社長がROSのブログを書いている会社で働きたい方、ご連絡お待ちしております。

https://www.smilerobotics.com