作者: Herman Ye @Galbot @Auromix
版本: V1.0
测试环境: Ubuntu20.04
更新日期: 2023/08/08
注1: 本文内容中的硬件由 @Galbot 提供支持。
注2: @Auromix 是一个机器人爱好者开源组织。
注3: 本文在更新日期经过测试,确认有效。
Azure Kinect DK 是一款开发人员工具包,配有先进的 AI 传感器,提供复杂的计算机视觉和语音模型。 Kinect 将深度传感器、带有视频摄像头的空间麦克风阵列和方向传感器整合成一体式的小型设备,提供多种模式、选项和软件开发工具包 (SDK)。
DK
->Type-C转Type-A
-> PC
DK
->DC5V转Type-A
-> PC
警告: 对于Ubuntu20.04
用户,请直接参考安装软件包-> 5.安装k4a-tools->解决方法
,不要执行以下步骤。
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
下载Microsoft的软件包配置文件,然后将其写入到 /etc/apt/sources.list.d/microsoft-prod.list
文件中,以配置系统以从Microsoft的软件源获取软件更新或安装软件包。
curl -sSL https://packages.microsoft.com/config/<distribution>/<version>/prod.list | sudo tee /etc/apt/sources.list.d/microsoft-prod.list
替换
和
为Distributor ID: Ubuntu
和Release: 20.04
示例如下:
curl -sSL https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft-prod.list
下载 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
sudo apt update
现在,Microsoft 相关产品包能够通过sudo apt install
正确安装。
k4a-tools
包中包含 Azure Kinect查看器、Azure Kinect 录制器和 Azure Kinect 固件工具
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
其他用户提出的相关Issue:Unable to install k4a-tools in Ubuntu 20.04
该问题于2020年8月24日提出,2023年8月8日仍未得到解决,原因是SDK包在2023年8月8日只支持Ubuntu18.04。
根据另一个用户提出的Issue中的解决办法,该用户于2020年10月17日提出该方法,但具体的方法已有部分过时失效不可用,通过参考该用户的思路,重新提出解决方法如下。
对于Ubuntu20.04用户,解决方式及注释如下:
如果不幸已经按照微软官方提供的Ubuntu20.04 SDK安装方法来配置了,需要先清理相关资源。
# Delete microsoft related line
sudo nano /etc/apt/sources.list
# remove packages-microsoft-prod
sudo apt remove packages-microsoft-prod
# 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的软件下载源来欺骗Ubuntu20.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
注意: 另一种可行的方式是直接手动下载微软源的文件,进行deb手动安装。因为微软服务器23.99.120.248
虽然在亚东,但使用魔法似乎速度还是很慢,暂时不清楚原因,如果下载时间过长时建议手动,同时选择老版本的软件。
需要下载的文件如下:
libk4abt1.1-dev
libk4a1.4-dev
k4a-tools
对于ARM架构设备
libk4a1.4-dev ARM
sudo nano /etc/udev/rules.d/99-k4a.rules
# 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"
sudo service udev restart
sudo usermod -aG plugdev $USER
拔出设备USB线,重新插入。
通过官方k4aviewer确认红外图、深度图、色彩图、麦克风阵列、IMU功能正常。
# Open a new terminal
k4aviewer
注意: 此处默认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 official docs
DK official docs 中文
Azure Kinect Sensor SDK Github
Sensor SDK官方下载
Sensor SDK API文档
Sensor SDK示例代码
Sensor SDK示例代码2
更新DK固件
SDK安装文档及对应版本固件下载
Azure Kinect ROS Driver
麦克风使用参考
语音服务案例
DK 硬件规格书
麦克风硬件规格书部分
image_proc
setup-azure-kinect-on-jetson-x-nx_18.04
Azure Kinect SDK 及 ROS 驱动安装
Azure Kinect DK Python封装