Azure Kinect DK + ROS1 Noetic チュートリアル

著者: Herman Ye @Galbot @Auromix
バージョン: V1.0
テスト環境: Ubuntu20.04
更新日: 2023/08/16
1 :この記事のハードウェアは @Galbot によってサポートされています。
2 : @Auromix は、ロボット工学愛好家のためのオープンソース組織です。
3 :この記事はテストされ、更新日時点で有効であることが確認されています。

ワンクリックインストールスクリプト

ワンクリック インストール スクリプトを参照し、次の手順を実行して Azure Kinect DK を Ubuntu18/20 にインストールできます。

wget -O $HOME/azure_kinect_dk_install.sh https://raw.githubusercontent.com/auromix/ros-install-one-click/main/azure_kinect_dk_install.sh && sudo chmod +x $HOME/azure_kinect_dk_install.sh && bash $HOME/azure_kinect_dk_install.sh

注: Ubuntu22.04 はテストされていません。試してみることもできます。

Azure Kinect DK の使用チュートリアル

Azure Kinect DK は、高度なコンピューター ビジョンと音声モデルを提供する高度な AI センサーを備えた開発者ツールキットです。Kinect は、深度センサー、ビデオ カメラを備えた空間マイク アレ​​イ、方向センサーを小型のオールインワン デバイスに組み合わせ、さまざまなモード、オプション、ソフトウェア開発キット (SDK) を提供します。

ここに画像の説明を挿入します

DKハードウェア

  • RGB カメラ
    Azure Kinect DK には、OV12A10 12MP CMOS ローリング シャッター センサーが含まれています。
  • 深度カメラ
    Azure Kinect DK には、Microsoft が設計した 1 メガピクセルの飛行時間 (ToF) 深度カメラが統合されています。
  • IMU
    内蔵慣性計測ユニット (IMU) は LSM6DSMUS で、加速度センサーとジャイロスコープが含まれています。加速度計とジャイロスコープは 1.6 kHz で同時にサンプリングされます。サンプルは 208 Hz でホストにレポートされ、SDK 経由で読み取ることができます。
  • 7 マイク アレ​​イ
    正六角形 x6 + センター x1 標準 USB オーディオ クラス 2.0 デバイス用のプレミアム 7 マイク リング アレイ

ここに画像の説明を挿入します

DKの電源供給とデータ送信

方法 1. 電源とデータの入力ラインを分割する

DK-> Type-C转Type-A-> PC
DK-> DC5V转Type-A->PC

方法 2. 電源とデータのマージライン

DK-> Type-C转Type-C->PC
ここに画像の説明を挿入します

1. SDK関連のソフトウェアパッケージをインストールする

警告:ユーザーの場合は、次の手順を実行せず、Ubuntu20.04直接参照してください。安装软件包-> 5.安装k4a-tools->解决方法

1. システムのリリースバージョンとバージョン番号を確認します。

lsb_release -a

結果は次のようになります。

galbot@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.6 LTS
Release:	20.04
Codename:	focal

2. Microsoft パッケージ ソースを構成する

Microsoft のパッケージ構成ファイルをダウンロードしてファイルに書き込み、/etc/apt/sources.list.d/microsoft-prod.listMicrosoft のソフトウェア ソースからソフトウェア更新プログラムを取得したり、パッケージをインストールしたりするようにシステムを構成します。

curl -sSL https://packages.microsoft.com/config/<distribution>/<version>/prod.list | sudo tee /etc/apt/sources.list.d/microsoft-prod.list

sum をディストリビューター ID:とリリース:<distribution>に置き換えます。<version>Ubuntu20.04

例は次のとおりです。

curl -sSL https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft-prod.list

3. Microsoft リポジトリ GPG 公開キーを構成する

公開キーをダウンロードする

Microsoft リポジトリの GPG 公開キーをダウンロードし、それをシステムの信頼できる GPG ディレクトリに書き込みます。これにより、後続のソフトウェア パッケージ検証プロセスで公開キーを検証に使用して、ダウンロードしたソフトウェア パッケージのセキュリティと信頼性を確保できます。 。
/etc/apt/trusted.gpg.d/microsoft.asc: データが書き込まれるターゲット ファイルです。システムの信頼できる GPG ディレクトリ内のファイルとして、信頼できる GPG 公開キーが保存されます。

curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc

認証関連ソフトウェアパッケージの登録、インストール、削除

注:最初にダウンロードする必要がありますpackages-microsoft-prod.deb 。これは、公式には言及されていない Microsoft セキュリティ認定関連のパッケージである可能性があります。

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb

Microsoft セキュリティ認定関連パッケージをインストールする

sudo dpkg -i packages-microsoft-prod.deb

インストール後にインストール パッケージ ファイルを削除して、ディスク領域を解放します。

rm packages-microsoft-prod.deb

4. パッケージインデックスを更新する

sudo apt update

Microsoft 関連の製品パッケージがsudo apt install <microsoft_package_name>正しくインストールされるようになりました。

5.k4a-toolsをインストールする

k4a-toolsパッケージには、Azure Kinect Viewer、Azure Kinect Recorder、Azure Kinect Firmware Tools が含まれています

sudo apt install k4a-tools -y

エラーを報告する

galbot@ubuntu:~$ sudo apt install k4a-tools
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package k4a-tools

他のユーザーによって提起された関連問題: Ubuntu 20.04 に k4a-tools をインストールできない
この問題は 2020 年 8 月 24 日に提起され、2023 年 8 月 8 日時点では解決されていません。その理由は、SDK パッケージが 8 月 8 日にしか利用できなかったためです。 、2023 。Ubuntu18.04 をサポートします

別のユーザーが提案した課題の解決策によると、ユーザーは2020年10月17日に提案した方法ですが、具体的な方法が一部古くて利用できないため、ユーザーのアイデアを参考に、以下のように解決策を再提案します。

解決

Ubuntu20.04 ユーザーの場合、解決策とコメントは次のとおりです。

古い設定をクリアする

残念ながら、Microsoft が公式に提供する Ubuntu20.04 SDK インストール方法に従って構成した場合は、最初に関連リソースをクリーンアップする必要があります。

  • sources.list 内の Microsoft に関するコンテンツを削除する
# Delete microsoft related line
sudo nano /etc/apt/sources.list
  • パッケージを削除する-microsoft-prod
# remove packages-microsoft-prod
sudo apt remove packages-microsoft-prod
  • sources.list.d 内の Microsoft に関するコンテンツを削除します。
# remove old 20.04 microsoft-prob.list
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
sudo rm /etc/apt/sources.list.d/microsoft-prod.list.save 

新しい設定を実行する

古い構成をクリアした場合、または警告プロンプトが表示されたためにこのステップに直接ジャンプした場合は、以下のインストール手順に従ってください。

18.04 ソフトウェア ダウンロード ソースをシミュレートすることで、Ubuntu 20.04 は 18.04 ファイルを使用するように騙され、基本的な使用に影響を与える最新のセンサーの依存関係などの問題を回避するために古いバージョンが指定されます。たとえば、Azure Kinect ROS ドライバーには v1.3.0 バージョンが必要です。 Azure Kinect の Sensor SDK を使用してコンパイルできます。

# Download key and add to system key list
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

# Add Microsoft Ubuntu18.04 packages list to source
curl -sSL https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft-prod.list

# Update software source
sudo apt update

# Upgrade software
sudo apt upgrade

# Install package of Microsoft
sudo apt install libk4a1.3-dev -y
sudo apt install libk4abt1.0-dev -y
sudo apt install k4a-tools=1.3.0 -y

注:もう 1 つの実行可能な方法は、Microsoft ソース ファイルを手動で直接ダウンロードし、deb 手動インストールを実行することです。Microsoft サーバーは23.99.120.248Yadong にありますが、Magic の使用速度がまだ非常に遅いようです。原因は現時点では明らかではありません。ダウンロード時間が長すぎる場合は、手動でダウンロードして古いバージョンを選択することをお勧めします。ソフトウェアの。

注: apt-mark を使用して、対応するソフトウェア パッケージが更新されないようにすることで、更新中に新しいバージョンが ubuntu20.04 をサポートしていないことによって引き起こされる問題を回避できます。

sudo apt-mark hold <app_name>

ダウンロードする必要があるファイルは次のとおりです。
libk4a1.3-dev
libk4abt1.0-dev
k4a-tools

ARM アーキテクチャ デバイスの場合
libk4abt1.1-dev
libk4a1.4-dev
k4a-tools
libk4a1.4-dev ARM

2. Udev ルールを設定する

  • 新しい udev ルールを作成する
sudo nano /etc/udev/rules.d/99-k4a.rules
  • udev ルールの内容を書き込む
# Bus 002 Device 116: ID 045e:097a Microsoft Corp.  - Generic Superspeed USB Hub
# Bus 001 Device 015: ID 045e:097b Microsoft Corp.  - Generic USB Hub
# Bus 002 Device 118: ID 045e:097c Microsoft Corp.  - Azure Kinect Depth Camera
# Bus 002 Device 117: ID 045e:097d Microsoft Corp.  - Azure Kinect 4K Camera
# Bus 001 Device 016: ID 045e:097e Microsoft Corp.  - Azure Kinect Microphone Array

BUS!="usb", ACTION!="add", SUBSYSTEM!=="usb_device", GOTO="k4a_logic_rules_end"

ATTRS{
    
    idVendor}=="045e", ATTRS{
    
    idProduct}=="097a", MODE="0666", GROUP="plugdev"
ATTRS{
    
    idVendor}=="045e", ATTRS{
    
    idProduct}=="097b", MODE="0666", GROUP="plugdev"
ATTRS{
    
    idVendor}=="045e", ATTRS{
    
    idProduct}=="097c", MODE="0666", GROUP="plugdev"
ATTRS{
    
    idVendor}=="045e", ATTRS{
    
    idProduct}=="097d", MODE="0666", GROUP="plugdev"
ATTRS{
    
    idVendor}=="045e", ATTRS{
    
    idProduct}=="097e", MODE="0666", GROUP="plugdev"

LABEL="k4a_logic_rules_end"
  • udevサービスを再起動します
sudo service udev restart
  • ユーザーグループの権限を設定する
sudo usermod -aG plugdev $USER
  • デバイスを再起動します

デバイスの USB ケーブルを取り外し、再度接続します。

3. SDKの基本テスト

公式の k4aviewer を使用して、赤外線画像、深度画像、カラー画像、マイクアレイ、IMU が正しく機能していることを確認します。

# Open a new terminal
k4aviewer

ここに画像の説明を挿入します

4.DK ROS基礎テスト

注: ROS1はROS1 Noeticデフォルトで正しくインストールおよび構成されていますが、ROS1 がまだインストールされていない場合は、ROS1 Noetic ワンクリック インストール スクリプトを参照してください。

  • ダウンロード、依存関係のインストール、コンパイル、構成
mkdir -p galbot_ws/src
cd galbot_ws/src
git clone https://github.com/microsoft/Azure_Kinect_ROS_Driver.git
cd ..
rosdep install --from-paths src --ignore-src -r -y
catkin_make
echo "source ~/galbot_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
  • 走る
# Terminal 1
roslaunch azure_kinect_ros_driver driver.launch
# Terminal 2
rviz

次のように、DK パブリッシュ可能なトピック データを追加し、RViz で視覚化します。
ここに画像の説明を挿入します

5. 重要な欠陥

  • SDK はデフォルトでは Ubuntu20.04 と Ubuntu22.04 をサポートしていません
  • Azure Kinect ROS ドライバーは独自のマイク アレ​​イをサポートしていません
  • Azure Kinect ROS ドライバーは、デフォルトで正式に ROS1 Melodic のみをサポートします。
  • 直接プラグの代わりに USB ドッキング ステーションを使用すると、ROS の起動に問題が発生する可能性があります

6. 参考文献

正式

DK 公式ドキュメント
DK 公式ドキュメント 中国版
Azure Kinect センサー SDK Github
センサー SDK 公式ダウンロード
センサー SDK API ドキュメント
センサー SDK サンプル コード
センサー SDK サンプル コード 2
DK ファームウェアの更新
SDK インストール ドキュメントと対応するバージョンのファームウェアのダウンロード
Azure Kinect ROS ドライバー
マイクの使用方法のリファレンス
音声サービスの事例
DK ハードウェア仕様
マイク ハードウェア仕様パート

第三者

image_proc
setup-azure-kinect-on-jetson-x-nx_18.04
Azure Kinect SDK および ROS ドライバーのインストール
Azure Kinect DK Python パッケージ

おすすめ

転載: blog.csdn.net/m0_56661101/article/details/132160408