Ubuntu18.04下Azure Kinect DK 调试(SDK源码+ROS)无比详细踩坑教程
Ubuntu18.04下Azure Kinect DK 调试(SDK源码+ROS)一、SDK源码下载及安装1.1 安装lib4a.dev 包sudo apt install libk4a1.4-dev1.2 文件拷贝cd /usr/lib/x86_64-linux-gnu/libk4a1.4sudo cp libdepthengine.so.2.0 /usr/lib/x86_64-linux-gn
Ubuntu18.04下Azure Kinect DK 调试(SDK源码+ROS)
(完全未配置过环境的小白看这里!)
1.进行有以下操作前还需要先配置Microsoft的包存储库
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
2.若报错,则更新再安装curl
sudo apt-get update
sudo apt install curl
3.安装工具包
sudo apt install k4a-tools
OKK!Continue→
一定注意硬件问题!两根线不要接反了!相机接线时间过长roslaunch前请重新拔插!!!
一、SDK源码下载及安装
1.1 安装lib4a.dev 包
sudo apt install libk4a1.4-dev
1.2 文件拷贝
cd /usr/lib/x86_64-linux-gnu/libk4a1.4
sudo cp libdepthengine.so.2.0 /usr/lib/x86_64-linux-gnu
1.3 下载官方SDK源码
下载官方SDK源码命令行:
git clone -b v1.4.0 https://github.com/microsoft/Azure-Kinect-Sensor-SDK.git
1.4 去掉Root限制
进行ROS下面的操作,需要去掉运行SDK时的Root限制
cd ~/Azure-Kinect-Sensor-SDK
sudo cp scripts/99-k4a.rules /etc/udev/rules.d/
或者,手动将路径 /home/ws/Azure-Kinect-Sensor-SDK/scripts 下的99-k4a.rules拷贝到路径 /etc/udev/rules.d 下:
1.5 下载依赖项
安装依赖项
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libturbojpeg libjpeg-turbo8-dev
sudo apt-get install libglfw3-dev
sudo apt-get install libopenni2-dev
1.6 编译源码
(1.7 - 1.8就是换了个编译器而已,可以直接用cmake … → make → sudo make install 编译就行)
cmake ..
make
sudo make install
进行完以上三行命令可略过1.6-1.7直接跳至1.8继续操作即可
1.7 编译前需要先进行 ninja 安装
1.7.1 安装re2c
tar -xvzf re2c-1.0.3.tar.gz
cd re2c-1.0.3/
autoreconf -i -W all(没有configure可以先执行Autotools)
./configure
make
make install
1.7.2 安装Ninja
git clone git://github.com/ninja-build/ninja.git && cd ninja
./configure.py --bootstrap
cp ninja /usr/bin/
1.7.3 查看Ninja
用 ninja --version 命令可查看安装的版本
1.8 进行编译
mkdir build
cd build
cmake .. -GNinja
注意:此步骤等待时间较漫长,请在网络状态较好时执行cmake此步骤,中间会有一些白色的warning提示失败,不用管,耐心等待即可;中间可视情况不断重复进行 cmake … -GNinja 此步骤(要超级超级有耐心反复调整此步骤);
若始终失败,可找到其对应的网址https://github.com/lemenkov/libyuv.git克隆下来,然后直接放到相应的文件夹;如:克隆到extern/libyuv/src;然后在extern/libyuv下新建src文件夹,将下载的文件放到该文件夹下即可。
完成以上步骤后,继续运行:
ninja
1.9 打开camera运行正常画面命令行
连接好kinect,直接打开可先看camera运行正常画面
k4aviewer
二、ROS版本Azure Kinect DK安装
2.1 下载ROS驱动
mkdir -p ~/KinectDK_ws/src
cd ~/KinectDK_ws/src
catkin_init_workspace
git clone https://github.com/microsoft/Azure_Kinect_ROS_Driver.git
2.2 收集库文件
在此网站下载libk4a1.2和libk4a1.2-dev中的deb文件https://packages.microsoft.com/ubuntu/18.04/prod/pool/main/libk/libk4a1.2/(我这里就下面图里两个紫色都下载下来就是了)
2.3 创建文件夹
cd ~/KinectDK_ws/src
mkdir -p ext/sdk
在 sdk 文件夹下分别创建3个文件夹:
- bin文件夹: 把编译 SDK 时 build 文件夹里面的那个 bin 文件夹直接拷贝过来
- include文件夹:SDK 源码里的include文件夹与从 deb 文件里提取出的 include 文件夹合并,拷贝过来
- lib文件夹:从deb文件里提取出的两个lib文件夹合并,拷贝过来注意:这里是两个lib文件
2.4 编译
cd ~/KinectDK_ws
catkin_make
catkin_make install
2.5 测试
运行launch文件,打开ros节点,发出topic
cd ~/KinectDK_ws
source ./devel/setup.bash
roslaunch azure_kinect_ros_driver driver.launch
运行成功,将如下图:
运行出错,如下图:
问题原因:其实是权限问题,但它只会显示是K4A device 无法启动
解决方法:需要去掉运行SDK时的Root限制
运行命令:
cd ~/Azure-Kinect-Sensor-SDK
sudo cp scripts/99-k4a.rules /etc/udev/rules.d/
已经运行过前面的1.9的话,应该就不会有上述情况出现了。
还报错,相机可能接入时间过长,进入睡眠状态,将相机usb和电源线拔掉,重新插入再roslaunch
2.6 打开可视化窗口
rviz
三、运行结果
3.1 点击 Fixed Frame->camera_body
下面的 Global Status 即会变为对号,显示 OK
3.2 显示图像
显示RGB图像:点击Add->Image->Image Topic->/rgb/image_raw
显示深度图像图像:点击Add->Image->Image Topic->/depth_to_rgb/image_raw
或Add->camera->同上(自行点击调试即可)
Ubuntu18.04下Azure Kinect DK 调试就到这里啦~
标定
roslaunch azure_kinect_ros_driver driver.launch
rosrun camera_calibration cameracalibrator.py image:=rgb/image_raw --size 7x10 --square 0.02
更多推荐
所有评论(0)