AiishaのTech記録

ゼロから少しずつをモットーに、備忘録として残していきます

Azure Kinect DKが使えるようになるまで 〜OpenGL系エラー〜

 Azure Kinect DKとは

 Azure Kinect DKはMicrosoft社が提供するRGBD(カラー+深度)カメラです。通常のカラー画像に加えて、赤外線を利用することでカメラからの物体の距離を点群として出力します。

 

困ったこと

 ネットで調べてパッケージのインストールを行ったが、Azure Kinectのir passive以外の機能が使えない。エラーを見ると、OpenGL~~~というエラーが表示されていました。

 

環境設定

 ※ROS関係の設定は終わっているものとして話を進めます。

 まずはAzure Kinect DKのSDK周りをインストールします。コマンドにバンバン打ち込んでいきましょう。Ubuntuのバージョンによりコマンドが異なります。詳しくはMicrosoft Documentationをご覧ください。↓

docs.microsoft.com

  • Azure Kinect の諸々のインストール
$ 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
$ sudo apt install k4a-tools libk4a1.4-dev
$ 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 --reload
$ sudo udevadm trigger

 

Viewerの実行とエラー

 標準の実行方法としてk4aviewerが用意されています。

$ k4aviewer

あれ、使えない...?USB3.0も対応しているし、デバイス認識は正常に行われているのに、ir passive以外の機能を使うとエラーが出て映像が見れなくなってしまいました。

 エラー文を見ると、"OpenGL4.4 not supported"って書いてありますね。どうやらGPU関連のドライバのバージョンがいけないみたいですね。更新しましょう。

 

  • NVIDIAドライバのインストール
$ sudo ubuntu-drivers autoinstall
$ sudo apt install libusb-dev

 これで一度再起動をかけます。 はい、動くようになりました。

 

Azure Kinect の動かし方

  • k4aviewerを使う
$ k4aviewer
  • ROSを使う

ROSも用意されています↓

github.com


$ roslaunch azure_kinect_ros_dirver driver.launch
$ rviz (別のターミナル)

 

まとめ

 Azure Kinectを動かして映像を見るだけなら比較的簡単にできます。ただし、USBの制約やCPU・GPU関係での制約があるようです。

 OpenGL系のエラーが出たら、GPUのドライバーのバージョンを疑ってみましょう。

 

※無用心にバージョンをあげると不具合の原因にもなるのでご注意を。