ubuntu12.04 +kinect1 骨骼追踪

运行环境:ubuntu版本 12.04 ROS版本:hydro

原文博客  http://blog.csdn.net/weewqrer/article/details/48183969

首先的首先,你得安装ROS,(那还用说。。)其安装方法及教程在这里。这是中文版的,不难。如果你还没有学ROS,但是想快速地安装上这一套,那么你先只看1.安装并配置ROS环境.

为什么我要用hydro?现在(特指我写这个的时候,2014年9月)已经出了更新的Indigo和Jade,其版本发布可以看这个网址,其实我有轻微强迫症,就是一定要装最新的版本的东西,但是因为openni_tracker对新版本支持并不好,所以只能用这个了,相应的,hydro最高支持ubuntu12.04,所以我就用12.04的ubuntu+hydro版本的ROS。

需要安装的包:openni_launch openni_camera openin_tracker rviz 
执行下面三个命令就可以安装上这三个包:

sudo apt-get install ros-<ros_distro>-rviz 
sudo apt-get install ros-<ros_distro>-openni-camera 
sudo apt-get install ros-<ros_distro>-openni-launch 
sudo apt-get install ros-<ros_distro>-openni-tracker
要把其中的 <ros_distro> 改成你安装的ros版本,比如我的是hydro,那么就是
sudo apt-get install ros-hydro-openni-camera
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

按照http://wiki.ros.org/openni_tracker上所说的,运行

rosrun openni_tracker openni_tracker
   
   
  • 1
  • 1

就可以了,但是如果这么简单,我还会写这个笔记(或教程?)么?

1、遇到bug: 
(本想在命令行前面加上$以为提醒,但是在markdown下,两个美元符之间就是公式,会很丑) 
运行:

source /opt/ros/hydro/setup.bash  
   
   
  • 1
  • 1

注意:如果不执行这一条命令,ros下的操作都不可以执行。建议把它加到 ~/.bashrc末尾(如何填加请自己百度),这样每次登陆这个账户(ubuntu下必须要登陆账户的啊)的时候,都会替你执行这一条命令。 但是如果你没有加到~/.bashrc中, 那么每次打开终端时都要执行一遍这个命令,嗯。

然后,打开三个终端,分别执行下面每一条命令(请注意上面说的注意):

roscore
rosrun openni_launch openni_launch
rosrun openni_tracker openni_tracker
   
   
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

当执行第三条命令时出现这样的错误,

 [ERROR] Find user generator failed: This operation is invalid! 
   
   
  • 1
  • 1

出现这种问题的原因是Openni版本为1.5.4,(我当时的版本),但是有关于跟踪部分的库版本太低了,这是openni_tracker的bug,按照上面的方面安装个高版本的就OK了。(原因不是我发现的,解决方法当然也不是,google一下可以找到)

找到找到如下解决方法:

Thanks for the pointer to ROS Answers. Yes, that worked for me and here is my summary of how I implemented the fix: 
Download the NiTE v1.5.2.23 binary package from one of the following links depending on whether you are using a 32-bit or 64-bit installation of Ubuntu: 
a. 32-bit: http://www.openni.org/wp-content/uploads/2013/10/NITE-Bin-Linux-x86-v1.5.2.23.tar.zip 
b. 64-bit: http://www.openni.org/wp-content/uploads/2013/10/NITE-Bin-Linux-x64-v1.5.2.23.tar.zip 
Unzip and extract the archive to a location of your choice (e.g. ~/tmp) 
The unzipped archive is actually another archive in bz2 format so unzip and extract the archive to the same location as in Step 2. 
The resulting folder should be called NITE-Bin-Dev-Linux-x64-v1.5.2.23 (64-bit) or NITE-Bin-linux-x86-v1.5.2.23 (32-bit)/ Move into this folder and then run the uninstall.sh script followed by the install.sh scripts. For the 64-bit version this would look like the following: 
cd ~/tmp/NITE-Bin-Dev-Linux-x64-v1.5.2.23 
sudo ./uninstall.sh 
sudo ./install.sh

意思就是说,要下载NiTE v1.5.2.23包,32位的在这里下,64位的在这里下,下载下来的是.zip文件,解压后出来.tar.zip文件,还要再解压,就看到NITE-Bin-Dev-Linux-x64-v1.5.2.23文件夹了。把这个文件夹放到 ~/tmp下,执行以下三个命令:

cd ~/tmp/NITE-Bin-Dev-Linux-x64-v1.5.2.23
sudo ./uninstall.sh
sudo ./install.sh
   
   
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

2、完整的过程 
打开四个终端,分别执行:

roslaunch openni_launch openni.launch camera:=openni 
rosrun openni_tracker openni_tracker (需要编译并cd ~/tmp/NITE-Bin-Dev-Linux-x64-v1.5.2.23文件夹下)
rosrun rviz rviz

   
   
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

然后,在Rviz中,把Global Options > Fixed Frame 改成openni_depth_optical_frame.

再然后,”Add”(左下角),选择PointCloud2。 
把 PointCloud2 >Topic改成/openni/depth_registered/points。

再再然后,点击”Add”,选择TF(在列表的最下面)。

站在kinect1前面,摆出“投降”姿势(如下),稍等一会,跟踪到的各个节点就出来了。 
Psi pose
参考: 
http://wiki.ros.org/openni_tracker 
http://wiki.ros.org/openni_camera 
http://wiki.ros.org/openni_launch 
http://answers.ros.org/question/37615/openni_tracker-find-user-generator-failed/&usg=ALkJrhiah5ABnuzl3DzbsDWLLwEj4cMoIw 
http://answers.ros.org/question/37615/openni_tracker-find-user-generator-failed/&usg=ALkJrhiah5ABnuzl3DzbsDWLLwEj4cMoIw 
http://www.openni.ru/openni-sdk/openni-sdk-history-2/&usg=ALkJrhjiYDwULBASzi4rNHGwA8JWhU7gJg

全文完。

欢迎转载,转载请附上原文链接。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值