Azure Kinect DK + ROS1 Noetic使用教程

这篇具有很好参考价值的文章主要介绍了Azure Kinect DK + ROS1 Noetic使用教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作者: Herman Ye @Galbot @Auromix
版本: V1.0
测试环境: Ubuntu20.04
更新日期: 2023/08/16
1 本文内容中的硬件由 @Galbot 提供支持。
2 @Auromix 是一个机器人爱好者开源组织。
3 本文在更新日期经过测试,确认有效。

一键安装脚本

可参考一键安装脚本,执行以下步骤,在Ubuntu18/20上安装Azure Kinect DK:

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)。

Azure Kinect DK + ROS1 Noetic使用教程,azure,microsoft,kinect,ubuntu,ros

DK的硬件

  • RGB相机
    Azure Kinect DK 包含 OV12A10 12MP CMOS 滚动快门传感器。
  • 深度相机
    Azure Kinect DK 集成了 Microsoft 设计的 1 兆像素时差测距 (ToF) 深度相机。
  • IMU
    嵌入式惯性测量单元 (IMU) 为 LSM6DSMUS,包含加速度传感器和陀螺仪。 加速度传感器和陀螺仪同时按 1.6 kHz 采样。 样本以 208 Hz 的频率报告给主机,可以通过SDK来读取。
  • 七麦克风阵列
    正六边形x6+中心x1 标准 USB 音频类 2.0 设备的优质七麦克风环形阵列

Azure Kinect DK + ROS1 Noetic使用教程,azure,microsoft,kinect,ubuntu,ros

DK的供电与数据传输

方式1.电源与数据拆分输入线

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

方式2.电源和数据合并线

DK->Type-C转Type-C-> PC
Azure Kinect DK + ROS1 Noetic使用教程,azure,microsoft,kinect,ubuntu,ros

一、安装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.list 文件中,以配置系统以从Microsoft的软件源获取软件更新或安装软件包。

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

替换<distribution><version>为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

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查看器、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安装方法来配置了,需要先清理相关资源。

  • 删除sources.list中有关Microsoft的内容
# Delete microsoft related line
sudo nano /etc/apt/sources.list
  • 删除packages-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的软件下载源来欺骗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虽然在亚东,但使用魔法似乎速度还是很慢,暂时不清楚原因,如果下载时间过长时建议手动,同时选择老版本的软件。

注意: 可使用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

二、设置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线,重新插入。

三、SDK基本测试

通过官方k4aviewer确认红外图、深度图、色彩图、麦克风阵列、IMU功能正常。

# Open a new terminal
k4aviewer

Azure Kinect DK + ROS1 Noetic使用教程,azure,microsoft,kinect,ubuntu,ros

四、DK ROS基本测试

注意: 此处默认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中进行可视化如下:
Azure Kinect DK + ROS1 Noetic使用教程,azure,microsoft,kinect,ubuntu,ros

五、重要的缺陷

  • SDK默认不支持Ubuntu20.04、Ubuntu22.04
  • Azure Kinect ROS Driver不支持自身的麦克风阵列
  • Azure Kinect ROS Driver官方默认只支持ROS1 Melodic
  • 不使用直插而使用USB拓展坞可能会造成ROS启动问题

六、参考文献

官方

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封装文章来源地址https://www.toymoban.com/news/detail-641421.html

到了这里,关于Azure Kinect DK + ROS1 Noetic使用教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ubuntu 20.04 安装Azure Kinect SDK和ROS driver以及遇到k4a的报错

    这是我2022年2月22日的解决方案 git clone https://github.com/microsoft/Azure-Kinect-Sensor-SDK.git 详细要求看上面github的说明。接下来我只记载我在Ubuntu20.04的机器上运行的命令   curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc sudo apt-add-repository https://pack

    2024年02月04日
    浏览(40)
  • Unity 结合 Azure Kinect 开发体感游戏教程

    本教程将介绍如何使用 Unity 和 Azure Kinect SDK 开发体感游戏。我们将重点介绍环境安装和手势的实现。 1. 准备工作 确保你已经拥有以下硬件和软件: Azure Kinect DK 设备 Windows 10 Unity 2020或更高版本 Visual Studio 2019或更高版本 2. 安装 Azure Kinect SDK 访问 Azure Kinect DK 官方页面 并下载

    2024年02月03日
    浏览(43)
  • Azure Kinect 使用记录 (一)

    20211111 - 占坑 20211115 - 添加vs编译内容 20220311 - k4abt_simple_3d_viewer 突然用不了了 因项目需要,得用Azure Kinect以及它的SDK进行开发,在这里记录下心得体会,不定时更新 1.0 k4abt_simple_3d_viewer 闪退 之前用着还好好的,突然就用不了了,表现情况是,双击 k4abt_simple_3d_viewer.exe ,出现

    2024年02月06日
    浏览(38)
  • ubuntu 22.04源码装ros1 noetic

    参考链接 https://gist.github.com/Meltwin/fe2c15a5d7e6a8795911907f627255e0 参考:https://blog.csdn.net/zyh821351004/article/details/135519444?spm=1001.2014.3001.5501 sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list sudo gedit /usr/lib/python3/dist-packages/rosdep2/sources_list.py sudo gedit /usr/lib/python3/dist-packages/rosdep2/rep3.py sudo g

    2024年01月16日
    浏览(63)
  • Ubuntu22.04 apt 安装 ROS1 ROS Noetic Ninjemys

    众所周知ROS2还有很多功能没有移植,而ROS1官方不再支持 Ubuntu20.04 之后的版本。另一方面Ubuntu22.04 更新了很多对新硬件的驱动,有更好的兼容性和体验,这就变的很纠结。 如果想在 22.04 使用最新版本的 ROS Noetic 只有自己编译一个办法。编译整套ROS。 对于初学者来说是个不小

    2024年04月11日
    浏览(82)
  • Azure Kinect获取相机内参

    在采集点云数据时需要根据相机不同depth、color分辨率调整对应相机内参u0(px)、v0(py)、fx、fy,那么具体内参怎么获得呢?就跟随ludaner一起来看看吧。 其实Azure-Kinect-Sensor-SDK已经提供了example代码,只需编译运行即可: Azure-Kinect-Sensor-SDK/main.cpp at develop · microsoft/Azure-Kinect-Sensor-S

    2023年04月13日
    浏览(74)
  • Azure Kinect 之 Note(一)

    Azure Kinect DK 是一款开发人员工具包,配有先进的AI 传感器,提供复杂的计算机视觉和语音模型。 Kinect 将深度传感器、空间麦克风阵列与视频摄像头和方向传感器整合成一体式的小型设备,提供多种模式、选项和软件开发工具包(SDK)。 https://learn.microsoft.com/zh-tw/azure/kinect-dk/h

    2024年02月16日
    浏览(41)
  • 【Kinect】Ubuntu20.04 安装Azure Kinect Sensor

    本文主要记录Ubuntu20.04 安装Azure Kinect Sensor SDK Azure Kinect 人体跟踪 SDK官网 : https://learn.microsoft.com/zh-cn/azure/Kinect-dk/body-sdk-download Linux版本目前只支持 18.04 和 20.04 Azure Kinect 传感器 SDK 官网: https://learn.microsoft.com/zh-cn/azure/Kinect-dk/sensor-sdk-download Linux版本目前只支持 18.04 ,但也能

    2024年02月06日
    浏览(39)
  • Azure kinect (二)项目创建和环境配置

    在此之前,你需要安装Microsoft Visual Studio,本人先使用的是2019版本,后转用2022版本,如版本问题对项目创建和环境配置产生影响,欢迎咨询。 新建一个C++空项目 创建完成后,将是以下界面,已经熟悉Visual Studio的朋友们可跳过, 右键项目,进入属性设置 在链接器 -- 输入 —

    2024年02月10日
    浏览(39)
  • Azure Kinect 内置姿势识别 两种方法

    第一种方式:(适合单个姿势识别,多个场景多个姿势等复杂检测也可以实现,但是可能需要多创建几个类似脚本) 添加你要识别的内置姿势即可   KinectManager 增加用户时添加个调用   PoseDetector.Instance.UserWasAdded(userId, uidIndex); 随便放哪里,这里识别的 必须在面板上添加你

    2024年02月09日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包