在Raspberry Pi上安装openni2

在上一篇文章——在Raspberry Pi上安装ROS Package 中,我加入了openni2_camera和openni2_launch,你如果按照我的步骤一步一步来,编译到某一步骤,肯定会碰到编译错误的,哈哈,所以我在上一篇文章末尾留了一句“预知后事如何,请听下回分解”。

上一篇文章中需要安装的 Package 需要依赖 OpenCV 和 OpenNi2,凡是涉及到图像,肯定是依赖 OpenCV的,openni2_camera还要依赖OpenNi2. rosdep没有解决好这两个依赖问题,所以就出现编译错误。因此需要手动安装libopencv和OpenNI2

安装OpenCV

由于indigo-custom_ros.rosinstall中包含了和图像处理有关的 Package,没有OpenCV库,它们无法编译成功。在 Raspberry Pi 上编译安装 OpenCV 据说需要 10 个小时,但我们只需要一些库文件就够了,而且 Raspbian 的软件仓库中有:

$ sudo apt-get install libopencv-dev安装OpenNI21. 编译安装

OpenNI2 库 Raspbian 软件仓库中没有,安装起来就要麻烦一些。首先,安装一些依赖:

$ sudo apt-get install git g++ make python libusb-1.0-0-dev libudev-dev pkg-config

clone OpenNI2:

$ git clone https://github.com/OpenNI/OpenNI2$ cd OpenNI2

修改ThirdParty/PSCommon/BuildSystem/Platform.Arm文件:

$ vim ThirdParty/PSCommon/BuildSystem/Platform.Arm

CFLAGS += -march=armv7-a -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp #-mcpu=cortex-a8

替换成:

CFLAGS += -march=armv7-a -mtune=cortex-a9 -mfpu=neon -mfloat-abi=hard

然后编译:

PLATFORM=Arm make

编译结束之后,安装:

cd /Packaging/Linuxsudo ./install.sh

将library和include拷贝到系统目录中去:

sudo cp -r Include /usr/include/openni2sudo cp -r Bin/Arm-Release/OpenNI2 /usr/lib/sudo cp Bin/Arm-Release/libOpenNI2.* /usr/lib/2. 新建一个.pc文件

新建一个package config文件:

sudo vim /usr/lib/pkgconfig/libopenni2.pc

填入下面的内容,以配置编译时需要的库设置:

prefix=/usrexec_prefix=${prefix}libdir=${exec_prefix}/libincludedir=${prefix}/include/openni2Name: OpenNI2Description: A general purpose driver for all OpenNI cameras.Version: 2.2.0.0Cflags: -I${includedir}Libs: -L${libdir} -lOpenNI2 -L${libdir}/OpenNI2/Drivers -lDummyDevice -lOniFile -lPS1080.so

通过这个文件,pkg-config能够输出编译器、链接器需要的参数以及已安装软件包的版本信息。检测一下能否被正确找到:

$ pkg-config –modversion libopenni2

如果版本号是2.2.0.0,没问题。

3. 测试

接下来测试是否安装成功。首先,安装CORE_SAMPLES,在Makefile最后一行添加:

core_samples: $(CORE_SAMPLES)

编译:

PLATFORM=Arm make core_samples

将 Xtion 接上,运行:

./Bin/Arm-Release/SimpleRead

如果你能看到传感器的数据,并且当手在摄像头前方摆动时,数据在变化,则安装成功了。

编译

再回到 Workspace,编译安装:

$ sudo ./src/catkin/bin/catkin_make_isolated –install -DCMAKE_BUILD_TYPE=Release –install-space /opt/ros/indigo

在 ROS 里测试一下 Xtion:

$ roscore &$ roslaunch openni2_launch openni2.launch

查看/camera/rgb/image_raw话题,如果看到了彩色图像,则安装成功了!

参考连接

,都懒得写日记来记录,可见内心底对旅行是多么的淡漠。

在Raspberry Pi上安装openni2

相关文章:

你感兴趣的文章:

标签云: