arm架构、xavier-nx-dk、ubuntu18.04 、ros-melocdic 驱动 Azure Kinect dk 相机

arm架构、xavier-nx-dk、ubuntu18.04 、ros-melocdic 驱动 Azure Kinect dk 相机

设备 xavier-nx-dk Azure Kinect dk 相机
系统:ubuntu18.04 ros melodic
在这里插入图片描述

在这里插入图片描述

X86架构下的设备,驱动Azure 相机可看上一篇博客:
x86 架构、ubuntu18.04 、ros-melocdic 驱动 Azure Kinect dk 相机
前言: 因为xavier-nx-dk为nvidia的arm产品,具有自带CUDA加速功能,所以本次在arm架构下驱动Azure Kinect dk相机,在SDK配置上,与x86有些许不同。
参考博客:
nvidia agx xavier 跑azure kinect DK ros

ubuntu18.04驱动官方SDK

1.下载官方SDK包

添加代码仓库:

curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

arm 下更新软件源:

sudo apt-get update -y && apt-get install curl -y

arm64下添加仓库

sudo apt-add-repository https://packages.microsoft.com/ubuntu/18.04/multiarch/prod 
sudo apt-get update

x86下添加仓库,使用arm系列嵌入式板不需要添加

sudo apt-add-repository https://packages.microsoft.com/ubuntu/18.04/prod

源码安装:因为后续项目使用到的是SDK1.4版本,所以这里安装 1.4版本

git clone -b v1.4.0 https://github.com/microsoft/Azure-Kinect-Sensor-SDK.git

2.libdepthengine.so.2.0 下载

因为使用的是arm架构,所以这里安装的libdepthengine.so.2.0 最好从arm源下载的文件中获取比较好

sudo apt install k4a-tools
sudo apt install libk4a1.4-dev      #注意 libk4a 有很多个版本,这里选择的是1.4版本,可根据SDK的选择安装

拷贝到 /usr/lib/x86_64-linux-gnu 目录下

cd /usr/lib/aarch64-linux-gnu/libk4a1.4
sudo cp libdepthengine.so.2.0 /usr/lib/aarch64-linux-gnu

如果是x86架构下,则拷贝到 /usr/lib/x86_64-linux-gnu 目录下

cd  /usr/lib/x86_64-linux-gnu
sudo cp libdepthengine.so.2.0 /usr/lib/x86_64-linux-gnu

3.编译安装Azure-Kinect-Sensor-SDK

cd   Azure-Kinect-Sensor-SDK
mkdir build
cd build
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug

ps:cmake … -GNinja是生成ninja的配置,ninja是一个小型的编译系统,并行编译,速度比较快

完成后,执行

ninja
sudo ninja install

在执行 cmake … -GNinja 时会遇到的问题:

ERROR 1:

在这里插入图片描述
解决:添加源

sudo apt-add-repository https://packages.microsoft.com/ubuntu/18.04/multiarch/prod 
sudo apt-get update
ERROR 2:

在这里插入图片描述

sudo apt install libsoundio-dev
cmake .. -GNinja
ninja
ERROR 3:

在这里插入图片描述

sudo apt-get install  libudev-dev 

4.启动k4aviewer

连接相机,仍然是在build文件夹下,启动查看器

sudo ./bin/k4aviewer

在这里插入图片描述

注意!一定要加上sudo,不然权限不够

将相机串口型号写进rule脚本里,使得权限更高,免sudo

sudo cp    /Azure-Kinect-Sensor-SDK/scripts/99-k4a.rules /etc/udev/rules.d/

安装ROS Melodic 版本的azure kinect

重点参考:机器人抓取(三)—— Azure Kinect SDK 及 ROS 驱动安装

安装 opencv3.4.3

从官网下载 opencv3.4.3

cd ~/opencv-3.4.13
mkdir build 
cd build
cmake ..
build -j6
sudo make install

安装 Azure_Kinect_ROS_Driver 包

不需要像网上的过气教程说的,移植/ext文件啥的

# 下载Azure_Kinect_ROS_Driver源码
cd catkin_ws/src
git clone https://github.com/microsoft/Azure_Kinect_ROS_Driver.git

# 编译工作空间
cd  catkin_ws
catkin_make
ERROR

编译过程中,可能会遇到显示cv::bridge缺乏的问题,这是因为xavier自带的opencv4,而ros melodic自带的cv::bridge 是链接到opencv目录下的,会找不到

解决办法:

法一:修改cv_bridge configcmake 路径,使得和当前的opencv版本兼容
重点参考博客:
解决Ubuntu环境下ROS Kinetic中的cv_bridge和自己安装OpenCV 2.4.xx兼容性笔记

法二(推荐):在工作空间中下载编译自己的cv_bridge
参考博客:
NX入门教程软件篇-安装VINS-Mono

cd  catkin_ws/src
git clone -b melodic https://github.com/ros-perception/vision_opencv
catkin_make
source devel/setup.bash
roslaunch azure_kinect_ros_driver driver.launch

打开rviz image 话题,即可订阅到图像
在这里插入图片描述

工程下载

为了方便快速开发,可在以下链接下载配置好的ros工程和库文件
https://github.com/rainbowrooster/RoboticsX-Study/tree/main/ubuntu%2018.04%20%2B%20xavier%20nx%20%2B%20ros%20melodic%20%2B%20Azure_Kinect%20camera
在这里插入图片描述
一共有三个文件
将 Azure_Kinect_ROS_Driver 和 vision_opencv 这两个功能包放到自己的catkin_ws/src 工作空间下,进行编译,将 libdepthengine.so.2.0 执行指令

sudo cp libdepthengine.so.2.0 /usr/lib/aarch64-linux-gnu
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值