§ 1.3 Astra-3D相机 - OpenNI开发环境配置 (树莓派+Jetson)

0. 概要

本文讲解了在Ubuntu操作系统下配置Astra 3D相机开发环境的操作流程。

教程适用的开发平台:

  • PC (台式机/笔记本)

    注:PC的话建议用最新的OpenNI2 OpenNI_v2.3.0.85

    看章节 02.Astra-3D相机-OpenNI开发环境配置(Ubuntu版) 即可。

  • 英伟达Jetson系列开发板

    Jetson运行的也是Ubuntu操作系统。在安装过程中,注意文件权限问题。

  • 树莓派 (不推荐)

    树莓派上可以跑树莓派操作系统也可以跑Ubuntu。二者均可以看这篇操作过程。

    需要注意的是,Open3D的GUI组件需要完整的 OpenGL支持 ,而树莓派上使用的是 OpenGL ES (不是OpenGL) ,因此没办法在树莓派上使用Open3D的可视化窗口。

1. 奥比中光 Astra系列

ORBBEC Astra系列3D传感摄像头采用单目结构光技术,具有高精度、低功耗、响应迅速、稳定可靠的优点,是奥比中光最经典和最畅销的3D深度相机系列之一。

该系列主打的型号包括 Astra S、Astra Pro、Gemini Pro,下图是三款产品的参数对比。

Astra 系列是目前性价比很高的消费级单目/双目结构光3D相机,适合入门3D点云处理使用。大家可以在我们的淘宝店铺 阿凯爱玩机器人 购买。

Astra 系列淘宝购买链接 奥比中光深度相机3D机器视觉结构光立体摄像头三维点云体感摄影头

如果需要精度更高的工业3D相机,可以选购店铺中的 RVC X Mini 双目结构光3D相机

本课程的配套源码,可以联系阿凯老师获取。

2. 安装OpenNI2 SDK

将配套源码中 OpenNI安装包-奥比中光/X64架构/ 文件下的 OpenNI-Linux-x64-2.3.0.66 文件夹

拷贝到一个纯英文路径下。例如 ~/Software/OpenNI-Linux-x64-2.3.0.66

注意:如果你的电脑/开发板是 Arm64位 架构 (例如 树莓派与Jetson Nano) ,就拷贝 OpenNI安装包-奥比中光/Arm64架构/OpenNI-Linux-Arm64-2.3.0.66

2.1 安装OpenNI2

在文件夹中 OpenNI安装包-奥比中光 根据架构选择不同的安装包

解压后,进入软件包的主目录。

执行安装指令

sudo bash install.sh

查看 OpenNIDevEnvironment 里面的内容。

cat < OpenNIDevEnvironment 

修改 .bashrc

gedit ~/.bashrc

OpenNIDevEnvironment 里面的内容拷贝到 .bashrc 里面

# OpenNI2
export OPENNI2_INCLUDE=/home/kyle/Software/OpenNI-Linux-x64-2.3.0.66/Include
export OPENNI2_REDIST=/home/kyle/Software/OpenNI-Linux-x64-2.3.0.66/Redist

安装好后,重启电脑。

2.2 测试相机RGB与深度图读取

Tools 文件夹下,打开终端

赋予脚本可执行权限

sudo chmod 777 NiViewer

执行脚本:

sudo ./NiViewer

实测在70-80cm以外,可以得到比较好的深度图

注意

  • NiViewer 只是一个图像预览程序,如果 NiViewer 不能正常运行的话,则可以跳过此步骤,不影响后面的使用。
  • 如果运行 NiViewer 右侧出现的是黑白图像且伴随散点,说明此图像为Astra 3D相机中红外 (IR) 相机拍摄的画面,是正常现象。

3. 平台相关的准备工作

3.1 树莓派

配置Python的开发环境前,树莓派需要预先做相关配置。

sudo apt-get install libatlas-base-dev

树莓派系统如果本身有Numpy,但是版本太低,没办法与最新版的OpenCV兼容。则需要升级Numpy。

sudo pip3 install -U numpy

4. 配置Python的开发环境

安装依赖

  • 安装 矩阵计算库

    sudo pip3 install numpy
    
  • 安装 Jupyter IDE

    sudo pip3 install jupyter
    
  • 安装 OpenCV

    sudo pip3 install opencv-python
    
    sudo pip3 install opencv-contrib-python
    
  • 安装 Open3D

    sudo pip3 install open3d
    

    需要注意的是,通过 pip 安装的Open3D不带Cuda加速功能,如果想使用带Cuda加速版本的Open3D则需要从源码编译。

  • 安装 absl-py

    sudo pip3 install absl-py
    
  • 安装 PyYaml

    sudo pip3 install PyYaml
    
  • 安装 openni2

    sudo pip3 install openni
    
  • 安装 Matplotlib

    sudo pip3 install matplotlib