ROS Melodic Kinect2_tracker包配置
language:中文
参考链接:
Baxter实战 实现kinect v2实现动作跟随: 解决./UserViewer
不可行的情况以及提供了相关资源
Baxter实战:Ubuntu16.04+Kinect2实现动作跟随
以上两个链接均有在配置成功后如何利用数据的例子,特别是第一个是应用了BIRL实验室的功能包。
ros+kinetic16.04配置kinect2_tracker详解 :流程最清晰, 因它成功的教程
资源链接 提取码:46pg
流程: 所有package都要注意它的位置!! libfreenect2在home目录下,NiTE-Linux-x64-2.2在~/catkin_ws/src下
-
libfreenect2下载与安装流程
libfreenect2测试:
重新插拔kinect2后运行
$ cd ~/libfreenect2/build/ $ ./bin/Prontonct
成功后可进入下一步
-
iai_kinect2 的安装:
安装过程中
rosdep install -r --from-paths .
会报error,直接忽略即可rosdep install -r --from-paths报错解决
kinect2测试:
重新插拔kinect2后:
$ roslaunch kinect2_bridge kinect2_bridge.launch $ rosrun kinect2_viewer kinect2_viewer
如果报错: 请使用如下的命令
$ roslaunch kinect2_bridge kinect2_bridge.launch publish_tf:=true reg_method:=cpu depth_method:=opengl
-
安装NiTE2 (最困难的一步)
请按参考链接3中安装NiTE2的步骤进行.
参考链接3中的NiTE2资源链接已经失效,请用参考链接1中的资源链接。
或者可以尝试一下这个仓库中的NiTE2
测试NiTE2时可能会出现:
运行./UserViewer
报错的情况,原因在链接1中也有讲解。需要将相关的so文件进行替换。
运行./UserViewer
报错的另外一个解决方法:参考链接
该参考链接中还有通过wget
方法下载NiTE2包。比用云盘下载要好
cd ~
wget 'http://download.dahoo.fr/Ressources/openNi/last%20version%20Nite/NiTE-Linux-x64-2.2.tar1.zip'
unzip NiTE-Linux-x64-2.2.tar1.zip
tar xjf NiTE-Linux-x64-2.2.tar.bz2
rm NiTE-Linux-x64-2.2.tar1.zip NiTE-Linux-x64-2.2.tar.bz2
cd NiTE-Linux-x64-2.2
sudo ./install.sh
sudo ln -s $INSTALL_DIR/freenect2/lib/OpenNI2/Drivers/libfreenect2-openni2.so $INSTALL_DIR/NiTE-Linux-x64-2.2/Samples/Bin/OpenNI2/Drivers/
如果需要安装到ROS的工作空间时先cd到你的工作空间src下再执行wget操作,并更改最后一步sudo ln -s
中的相关路径即可。
NiTE是与iai_kinect2功能包在同一个src下的
替换成功后
$ cd ~/your_ws/src/NiTE-Linux-x64-2.2/Samples/Bin
$ ./UserViwer
就可以看到kinect2开始calibration 以及 tracking 人体的窗口
-
下载与安装kinect2_tracker
同样见参考链接3
几个注意点:
-
NiTE2应该是NiTE2-Linux-x64-2.2,另外请从参考链接1中的资源链接进行下载。
如果是google NiTE2再进行下载的话,可能会下载到90多m的那个版本,该版本不对,后续会导致kinect2_tracker中的tracker.launch运行时直接报错在Melodic中如果使用的是NiTE-2.0.0会导致运行tracker.launch时couldn’t create User… -
除此以外要注意上一步NiTE2配置过程中so文件的替换.替换后一定要进行上一步的
./UserViewer
测试,如果测试通过无报错,且NiTE2的版本是对的话,则后续大概率可行
-
-
kinect2_tracker运行
$ roslaunch kinect2_tracker tracker.launch $ rosrun rviz rviz
初次启动或许会出现rviz中没有tf的情况,请点击"Add"添加相应的“tf”,“image”,“marker”
如果无法出现人体TF模型,请将global frame调到kinect link,并在TF中将"show names""show axes"点选多几次,注意相机的布置,如果在Rviz中的Image中看到empty信息,那应该是人距离相机太近。
-
kinect2_tracker应用
应用请见:参考链接1最后那部分
背后原理大致是: kinect2_tracker这个功能包中的节点一边在做识别,另一边会向ROS中Publish数据。如何subscribe到这些数据请搜素相应的文章。
也可参考参考链接2中最后部分借助openni2_tracker的代码。
Note: 不一定需要openni2_tracker也可以获取到人体TF坐标系的