栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

kinect v2 ubuntu 16.04下配置以及内参标定(笔记2)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

kinect v2 ubuntu 16.04下配置以及内参标定(笔记2)

上一次将kinect v2进行配置后,可以正常使用kinect v2.
其实在

roslaunch kinect2_bridge kinect2_bridge.launch

会报错,主要是由于他内部默认的gpu,cpu,opencl等配置问题。
在该网站
https://github.com/code-iai/iai_kinect2后面也涉及到了gpu/opencl的安装问题,这次干脆一次性安装完成。
OpenCL/CUDA with Nvidia
1 首先根据要求安装对应版本的cuda 10.0:
https://developer.nvidia.com/cuda-10.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=deblocal
我选择的是 deb(local),下载完成后该文件夹下在终端中打开:

sudo dpkg -i cuda-repo-ubuntu1604-10-0-local-10.0.130-410.48_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-/7fa2af80.pub
//将转换成自己的版本,可按tab补齐
sudo apt-get update
sudo apt-get install cuda

等待后终端最后几行结果,表示完成:

正在处理用于 ca-certificates (20210119~16.04.1) 的触发器 ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...

done.
done.

2 回到github继续之前的安装

sudo apt-get install nvidia-modprobe opencl-headers
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:${LD_LIBRARY_PATH}"
export PATH="/usr/local/cuda/bin:${PATH}"
echo "/usr/local/cuda/lib64" | sudo tee /etc/ld.so.conf.d/cuda.conf
sudo ldconfig

到这里终端没有任何报错,OpenCL/CUDA with Nvidia安装应该是完成了。
下面还有一个OpenCL with Intel,暂时先不装。

3 正式开始内参标定
在之前的kinect驱动配置时,由于iai_kinect2包安装时没有安装cuda相关内容,导致启动有关命令时报错:
rosrun kinect2_bridge kinect2_bridge _fps_limit:=2

[ERROR] [DepthRegistrationOpenCL::init] [depth_registration_opencl.cpp](216) data->program.build(options.c_str()) failed: -11
[ERROR] [DepthRegistrationOpenCL::init] failed to build program: -11
[ERROR] [DepthRegistrationOpenCL::init] Build Status: -1
[ERROR] [DepthRegistrationOpenCL::init] Build Options:	
[ERROR] [DepthRegistrationOpenCL::init] Build Log:	 

在经过上述正确安装后可进行内参标定,其实也可以直接修改默认的启动项,将gpu改为cpu。
下面为详细的内参标定步骤:
新建终端,启动roscore。
新建终端,到相关工作空间下:

 rosrun kinect2_bridge kinect2_bridge _fps_limit:=2
 //新建一个文件夹用于存放数据
 mkdir ~/kinect_cal_data
 cd ~/kinect_cal_data
rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 record color
//按空格键进行图片保存,我保存了近20多张,下面步骤同理。
 rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 calibrate color
 //开始进行计算


 rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 record ir
 rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 calibrate ir
 
 
 rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 record sync
 //这里必须两个摄像界面都出现标定信息
 rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 calibrate sync

 rosrun kinect2_calibration kinect2_calibration chess5x7x0.03 calibrate depth
 
 
roslaunch kinect2_bridge kinect2_bridge.launch
//通过终端输出信息找出自己的device serial,例如 012526541941

 roscd kinect2_bridge/data
 mkdir 012526541941 //这里应当是自己的序列号
 
将kinect_cal_data文件夹下的:calib_color.yaml
 calib_depth.yaml  calib_ir.yaml  calib_pose.yaml拷贝到上面新建的文件夹下。


  重新启动roslaunch 相关文件,查看效果。

github链接:
https://github.com/code-iai/iai_kinect2/tree/master/kinect2_calibration

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/757063.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号