PrimeSense是Kinect一代的芯片供应商,位于以色列,也是开源体感开发包OpenNI 的维护者。自从被 Apple 收购后,销声匿迹,OpenNI 也停止更新。现在可以从网站http://structure.io/openni下载到OpenNI 2 SDK和文档。
本人之前使用过华硕的Xtion Pro摄像头,不过由于其也使用了PrimeSense的技术,现在已经停产了,但是还可以在淘宝上面买到。
目前一家位于中国深圳的企业奥比中光,成为继Primesense(苹果收购)、Microsoft、Intel后,全球第四家量产全自主知识产权3D传感器厂商。深圳奥比中光科技有限公司,成立于2013年,总部设立在深圳,在上海、广州、美国Seattle和Troy均设有分部。奥比中光3D传感在智能客厅、机器人、AR/VR、智能安防、辅助驾驶等不同领域都有超强应用。
下面这款乐视3D体感摄像头就是使用的奥比中光的技术:
其性能参数如下:
可以看出,摄像头只能检测出0.4~8米范围内的物体的深度:
在其英文网站https://orbbec3d.com/develop/上提供了Windows、Linux、MacOS等系统下的SDK。二次开发可以使用OpenNI 2或者奥比中光自己的Orbbec Astra SDK。如果有技术问题也可以在网站:https://3dclub.orbbec3d.com/上找到解答。下面简单记录一下在Windows 7和Ubuntu 14.04的64位系统下配置OpenNI 2开发环境的步骤。
- Windows
进入下载页面,下载Windows下的驱动和OpenNI 2
下载后解压文件,安装Sensor Driver文件夹中的驱动安装程序
然后就可以按照OpenNI 2的帮助文档配置Visual Studio项目属性:
这里需要注意一点,在奥比中光英文网站下载的OpenNI 2文件夹中RedistOpenNI2Drivers下有两个文件:orbbec.dll和orbbec.ini
而在structure.io或PCL等网站上下载的OpenNI的对应文件中没有这两个文件。如果要使用从别处下载的OpenNI,需要将上述两个文件复制到RedistOpenNI2Drivers文件夹中才能正常使用,否则会提示找不到摄像头。
- Ubuntu
我们可以在网址Universal Download Thread for Astra Series Cameras下载OpenNI 2 for Linux,这个网站在国外,下载链接可能打不开,可以科学上网进行下载...注意要根据你的系统信息选择合适的驱动,我的电脑是64位Ubuntu 14.04系统,因此选择OpenNI-Linux-x64-2.3.zip。注意这里有一个Readme.txt文件,这个文件提供了Linux系统下的安装使用说明。
如果不理解英文说明,可以参考CSDN上的文章:turtlebot3D传感器的配置,或 奥比中光Orbbec Astra Pro RGBD 3D视觉传感器在ROS使用说明
下面就记录下容易出错的地方:
1. 要运行带图形界面的示例程序(比如SimpeViewer),需要额外安装freeGLUT库。如果只是运行命令行程序(如SimpleRead),则不必安装
# To run visual samples(e.g., SimpleViewer), you will need freeglut3 header and libaries, please install: $ sudo apt-get install build-essential freeglut3 freeglut3-dev
2. 要给安装文件install.sh加上可执行权限。运行安装脚本,可以产生OpenNIDevEnvironment,其中包含了OpenNI的开发环境
# run install.sh to generate OpenNIDevEnvironment, which contains OpenNI development environment #(sudo chmod a+x install.sh) $ sudo ./install.sh
3. 添加环境变量,OpenNI要依据一些环境变量来定位文件。
# add environment variables $ source OpenNIDevEnvironment
4. 可以在Samples的对应文件夹中使用make生成示例程序,或者直接运行Samples/Bin中已有的示例程序,注意要添加可执行权限。另外我是在VMware虚拟机上的Ubuntu系统中执行的上述操作,运行时显示错误信息:无法找到摄像头。后来发现需要在虚拟机软件中连接到可移动设备才能正常使用。注意,摄像头连接到虚拟机中的Ubuntu后会与Win7系统断开:
将可移动设备与虚拟机断开后,虚拟机右下角状态栏中的设备图标会变灰色:
# run sample # connect sensor $ ./SimpleViewer # now you should be able to see a GUI window showing the depth stream video
参考:
Universal Download Thread for Astra Series Cameras
体感设备:因特尔 Intel RealSense R200,乐视LeTV Pro Xtion和Orb奥比中光bec Astra比较