Ubuntu18.04+Azure Kinect DK配置全过程(SDK源码+ROS)
安装ROS Melodic
点击右侧,按照官方网站的说明一步步安装,期间很少出现问题。
Azure Kinect DK SDK源码安装
-
安装lib4a.dev包
sudo apt install libk4a1.4-dev
-
文件拷贝
cd /usr/lib/x86_64-linux-gnu/libk4a1.4 sudo cp libdepthengine.so.2.0 /usr/lib/x86_64-linux-gnu
-
SDK源码下载:
git clone -b v1.4.0 https://github.com/microsoft/Azure-Kinect-Sensor-SDK.git
-
下载依赖项: 在~/Azure-Kinect-Sensor-SDK/scripts/docker 路径下找到setup-ubuntu.sh文件,右击->属性->权限-> 勾选允许作为程序执行文件 打开命令行,执行脚本文件:
sudo setup-ubuntu.sh
编译源码: 编译过程中需要在线下载额外的依赖包,下载的地址在~/Azure-Kinect-Sensor-SDK/.gitmodules中,libyuv包需要翻墙才能下载,在这里需要将其地址改为Github上的源: 在~/Azure-Kinect-Sensor-SDK/路径下按下Ctrl+h按键,显示隐藏文件,此时可以发现.gitmodules文件,找到libyuv对应的url,将其替换为下面地址即可:
url = https://github.com/lemenkov/libyuv.git
然后开始编译:
mkdir build cd build cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug ninja
最后需要将此SDK中的动态链接库等相关文件安装到系统中,以便开发其他工程时调用:
sudo ninja install
连接相机,测试SDK:
cd build sudo ./bin/k4aviewer
若想去掉运行SDK时的Root限制,需做如下操作:
cd ~/Azure-Kinect-Sensor-SDK sudo cp scripts/99-k4a.rules /etc/udev/rules.d/.
ROS版本Azure Kinect DK安装:
下载ROS驱动:
mkdir -p ~/KinectDK_ws/src cd ~/KinectDK_ws/src catkin_init_workspace git clone https://github.com/microsoft/Azure_Kinect_ROS_Driver.git
收集库文件: 1.从里把把libk4a1.3/里的deb文件和k4a1.3-deb/里的deb文件下载下来并解压 2.创建文件夹:
cd ~/KinectDK_ws/src mkdir -p ext/sdk
在sdk文件夹下分别创建3个文件夹:
-
bin文件夹: 把编译SDK时build文件夹里面的那个bin文件夹拷贝过来 include文件夹:SDK源码里的include文件夹和从deb文件里提取出的include文件夹合并,拷贝过来 lib文件夹:从deb文件里提取出的两个lib文件夹合并,拷贝过来
编译:
cd ~/KinectDK_ws catkin_make catkin_make install
测试: 运行launch文件,打开ros节点,发出topic
cd ~/KinectDK_ws source ./devel/setup.bash roslaunch azure_kinect_ros_driver driver.launch
运行rviz:
rviz
显示RGB图像:点击Add->Image->Image Topic->/rgb/image_raw 显示深度图像图像:点击Add->Image->Image Topic->/depth_to_rgb/image_raw 如下图所示,rviz开始实时接受topic发送的图像信息并显示出来: 检查当前存在的Topic:
rostopic list
使用rosbag工具录制topic:
rosbag record -O image.bag /rgb/image_raw /depth_to_rgb/image_raw
回放包中数据:
rosbag play image.bag