kinectV1在ubuntu16.04/ubuntu18.04下配置过程及骨骼关节追踪检测
kinect环境配置
安装libfreenect
- 可创建一个文件夹存放安装文件,我在Home目录下创建了install / kinect 文件夹用于存放kinect环境配置过程中所有的安装文件
mkdir -p install/kinect
cd app
cd kinect
git clone https://github.com/OpenKinect/libfreenect
cd libfreenect
mkdir build
cd build
cmake -L .. # -L lists all the project options
make
注:在cmake可能会提示要求更高的cmake版本,需自行在cmake官网下载并安装
安装OpenNI、SensorKinect和Nite
- 下载地址:https://pan.baidu.com/s/1zwFhf3YGONtdgcCEjmadIQ 提取码:74ov
- 注意:这三个软件包的安装要注意顺序:先安装openni,再安装Sensor,最后安装NITE。
- 先将这三个软件包解压(我是解压到了~/install/kinect下)
注:这三个安装包版本要对应,不然会导致报错,实测在ubuntu16.04和ubuntu18.04下OpenNI-Bin-Dev-Linux-x64-v1.5.7.10、Sensor-Bin-Linux-x64-v5.1.2.1、NITE-Bin-Linux-x64-v1.5.2.23这三个版本均可用
OpenNI
cd ~/install/kinect
cd OpenNI-Bin-Dev-Linux-x64-v1.5.7.10
sudo ./install.sh
注:卸载时同样运行./install.sh 带上参数-u,即:sudo ./install.sh -u
SensorKinect
cd ..
cd Sensor-Bin-Linux-x64-v5.1.2.1
sudo ./install.sh
注:卸载时同样运行./install.sh 带上参数-u,即:sudo ./install.sh -u
Nite
cd ..
cd NITE-Bin-Linux-x64-v1.5.2.23
sudo ./install.sh
注:卸载时运行./uninstall.sh,即:sudo ./uninstall.sh
运行示例
- 连接kinect连接线,并运行示例程序
roslaunch openni_launch openni.launch
cd ~/install/kinect/OpenNI-Bin-Dev-Linux-x64-v1.5.7.10/Samples/Bin/x64-Release
./NiViewer
若出现画面说明运行成功
注:若出现如下情况
(1)请检查是否成功运行openni.launch
(2)尝试重新安装Sensor(具体操作见上文)
ros相关包的安装
(一)ubuntu16.04:
sudo apt-get update
sudo apt-get install ros-kinetic-openni-camera ros-kinetic-openni-launch
sudo apt-get install ros-kinetic-freenect-camera ros-kinetic-freenect-stack ros-kinetic-freenect-launch
(二)ubuntu18.04:
sudo apt-get update
sudo apt-get install ros-melodic-openni-*
sudo apt-get install ros-kinetic-freenect-*
- 测试是否成功运行
roslaunch freenect_launch freenect.launch
roslaunch openni_launch openni.launch
若成功运行,则kinect的环境配置完毕
注:若出现报错情况,可尝试重新安装Sensor(或者卸载掉Sensor不要再安装),然后重新安装NITE
骨骼关节检测方法
- 相关功能包已经上传,可通过网盘下载,也可通过github下载(下述代码中已包含github下载方法)。
- 链接:https://pan.baidu.com/s/1W8Lgxs7EaewWfuPi-6EUQQ 提取码:j6b5
openni_tracker
- ubuntu12.04中可以直接通过apt-get安装openni_tracker功能包,ubuntu16.04只能通过github下载,并放置与ros工作空间下的src文件夹中
cd ~/catkin_ws/src
git clone https://github.com/ros-drivers/openni_tracker.git
cd ..
catkin_make
roslaunch openni_launch openni.launch camera:=openni
rosrun openni_tracker openni_tracker
rosrun rviz rviz
- 在rviz中,把Global Options -> Fixed Frame 改成openni_depth_optical_frame;
- “Add”(左下角),选择PointCloud2;
PointCloud2->Topic改成/openni/depth_registered/points; “Add” -> 选择TF。 - 站在kinect前面,摆出姿势,稍等一会,跟踪到的各个节点就出来了。
注:若出现如下错误,请检查kinect连接线是否正确连接。
skeleton_markers
- 通过github安装skeleton_markers功能包,也可通过百度网盘下载解压到工作空间下src文件夹中
cd ~/catkin_ws/src
git clone https://github.com/pirobot/skeleton_markers.git
cd skeleton_markers
git checkout indigo-devel
cd ~/catkin_ws
catkin_make
rospack profile
- 运行查看骨架图
(1)
roslaunch skeleton_markers markers_from_tf.launch
rosrun rviz rviz -d `rospack find skeleton_markers`/markers_from_tf.rviz
(2)
roslaunch openni_launch openni.launch
roslaunch skeleton_markers skeleton.launch
文章参考链接:
https://blog.csdn.net/MyJournal/article/details/84553242#Kinect_V1_167
https://blog.csdn.net/weewqrer/article/details/48183969