当前位置: 首页 > news >正文

保姆级教程:在Ubuntu 18.04上从驱动到应用,搞定奥比中光Astra相机(含OpenNI2配置)

保姆级教程:Ubuntu 18.04下奥比中光Astra相机全流程配置指南

第一次拿到奥比中光Astra深度相机时,面对驱动安装、环境配置和SDK调试的复杂流程,很多开发者都会感到无从下手。本文将带你从零开始,在Ubuntu 18.04系统上完成Astra相机的完整配置流程,包括驱动安装、SDK环境搭建、OpenNI2工具链配置,直到最终运行骨骼检测等示例程序。不同于简单的步骤罗列,本教程特别针对Linux新手可能遇到的各种"坑"提供解决方案,比如路径设置错误、虚拟机兼容性问题等。

1. 环境准备与依赖安装

在开始之前,请确保你的Ubuntu 18.04系统已经安装了ROS Melodic版本,这是后续工作的基础。如果你使用的是虚拟机,建议分配至少4GB内存和20GB磁盘空间,因为深度相机的数据处理对系统资源要求较高。

首先安装必要的依赖包:

sudo apt-get update sudo apt-get install build-essential freeglut3 freeglut3-dev libsfml-dev \ ros-melodic-serial ros-melodic-bfl ros-melodic-mbf-msgs \ ros-melodic-pointcloud-to-laserscan ros-melodic-rgbd-launch \ ros-melodic-libuvc-* ros-melodic-uvc-camera ros-melodic-usb-cam \ ros-melodic-ar-track-alvar ros-melodic-camera-calibration

注意:如果遇到包找不到的情况,请先检查你的ROS软件源配置是否正确,可以使用rosdep check命令验证。

安装完成后,建议重启系统以确保所有依赖项正确加载。我曾经遇到过因为未重启导致GLUT库无法正常工作的案例,重启后问题自然解决。

2. Astra SDK安装与配置

从奥比中光开发者社区下载适合Ubuntu 18.04的Astra SDK(当前最新版本为v2.1.2)。下载完成后,你会得到一个类似AstraSDK-v2.1.2-Ubuntu18.04-x86_64.tar.gz的压缩包。

解压并安装SDK:

tar -zxvf AstraSDK-v2.1.2-Ubuntu18.04-x86_64.tar.gz cd AstraSDK-v2.1.2-Ubuntu18.04-x86_64/install sudo ./install.sh

安装脚本会输出一些环境变量设置信息,特别需要注意的是路径中可能包含多余的"install"目录。例如:

export ASTRA_SDK_INCLUDE=/home/user/AstraSDK-v2.1.2-Ubuntu18.04-x86_64/install/include export ASTRA_SDK_LIB=/home/user/AstraSDK-v2.1.2-Ubuntu18.04-x86_64/install/lib

需要手动删除路径中的"install",修改为:

export ASTRA_SDK_INCLUDE=/home/user/AstraSDK-v2.1.2-Ubuntu18.04-x86_64/include export ASTRA_SDK_LIB=/home/user/AstraSDK-v2.1.2-Ubuntu18.04-x86_64/lib

将修改后的环境变量添加到.bashrc文件末尾:

gedit ~/.bashrc # 粘贴修改后的环境变量 source ~/.bashrc

3. 设备权限与UDEV规则配置

深度相机通常需要特定的设备权限才能正常工作。Astra相机提供了一个脚本来创建必要的UDEV规则:

cd AstraSDK-v2.1.2-Ubuntu18.04-x86_64/scripts chmod +x create_udev_rules sudo ./create_udev_rules

执行完成后,重新插拔相机设备。可以通过以下命令检查设备是否被正确识别:

lsusb | grep Orbbec

如果看到类似Bus 003 Device 004: ID 2bc5:0506 Orbbec的输出,说明设备已被系统识别。

4. OpenNI2工具链安装与测试

OpenNI2是一个开源的3D传感框架,可以与Astra相机配合使用。下载OpenNI2 SDK后,执行以下安装步骤:

unzip OpenNI_2.3.0.55.zip cd OpenNI_2.3.0.55/Linux/OpenNI-Linux-x64-2.3.0.55 chmod +x install.sh sudo ./install.sh

安装完成后,初始化OpenNI环境:

source OpenNIDevEnvironment

测试OpenNI是否正常工作:

cd Samples/SimpleViewer make cd Bin/x64-Release ./SimpleViewer

如果一切正常,你应该能看到相机捕获的深度图像和彩色图像。

5. 运行Astra示例程序

Astra SDK提供了多个示例程序,可以帮助你快速验证相机功能。进入SDK的bin目录:

cd ~/AstraSDK-v2.1.2-Ubuntu18.04-x86_64/bin/

可以运行以下示例程序:

  • 骨骼检测

    ./SimpleBodyViewer-SFML
  • 手指跟踪

    ./SimpleHandViewer-SFML

提示:在虚拟机环境中,这些程序可能需要多次尝试才能成功启动。如果遇到问题,可以尝试在物理机或双系统环境下运行。

6. 常见问题排查

在实际使用中,你可能会遇到以下常见问题:

  1. 设备无法识别

    • 检查USB连接是否牢固
    • 确认UDEV规则已正确配置
    • 尝试不同的USB端口(建议使用USB3.0)
  2. 示例程序启动失败

    • 确认环境变量设置正确
    • 检查是否有其他程序占用了相机设备
    • 在虚拟机中,尝试关闭USB3.0支持(改为USB2.0)
  3. 图像显示异常

    • 确保相机镜头清洁
    • 检查环境光照条件(避免强光直射)
    • 尝试重置相机参数

7. 进阶应用:ROS集成

如果你计划在ROS中使用Astra相机,可以安装ros_astra_camera功能包:

sudo apt-get install ros-melodic-astra-camera

启动相机节点:

roslaunch astra_camera astra.launch

对于不同型号的Astra相机,需要选择对应的launch文件:

相机型号Launch文件
Astra/Astra Sastra.launch
Astra Plusastraplus.launch
Astra Proastrapro.launch

在ROS中,你可以通过以下话题获取相机数据:

  • /camera/rgb/image_raw- RGB彩色图像
  • /camera/depth/image- 深度图像
  • /camera/depth/points- 点云数据

8. 性能优化建议

为了获得最佳性能,可以考虑以下优化措施:

  1. USB带宽管理

    • 避免同时使用多个高带宽USB设备
    • 在虚拟机设置中增加USB控制器数量
  2. 系统调优

    sudo sysctl -w vm.swappiness=10 sudo sysctl -w vm.dirty_ratio=40
  3. 相机参数调整

    • 根据应用场景调整深度范围
    • 在强光环境下使用红外滤光片
    • 定期校准相机(使用官方工具)

经过多次项目实践,我发现Astra相机在室内环境下的最佳工作距离是0.6米到4米之间。超出这个范围,深度数据的精度会明显下降。

http://www.jsqmd.com/news/984783/

相关文章:

  • 2026年地坪材料与工程采购参考:环氧地坪环氧自流平固化地坪耐磨地坪 | 昱锟地坪生产施工一体化CMA/CNAS认证全国服务 - 企业品牌优选推荐官
  • 场景下接线端子品牌排名怎么选:五家主流品牌深度测评 - 热点速览
  • 从WebLogo到MEME:手把手教你挖掘多序列比对中的保守区域与功能基序
  • 别再只用加减乘除了!用Python的math和内置函数,解锁M和N的5种高级运算
  • 2026衡阳市黄金回收全攻略 六家实体门店横向评测附地址避坑指南 - 余生黄金回收
  • 别再为嵌入式打印浮点数发愁了!手把手教你魔改SEGGER RTT的printf函数
  • 闲置黄金怎么卖最划算 2026黄金回收计价方式本地正规店 - 余生黄金回收
  • 天津南开区烧烤推荐|无剧本串吧 适合朋友夜宵团建聚 - 速递信息
  • 生信分析避坑指南:你的多序列比对为什么总失败?从序列准备到工具选择的5个常见错误
  • 营口黄金回收全流程高价变现攻略 - 润富黄金回收
  • 信息学奥赛刷题实战:用Dijkstra算法搞定《城市路》这道题(附C++完整代码)
  • VMware Horizon连接服务器证书报错?手把手教你用域控CA证书搞定它
  • 2026年绝缘板源头供应企业选择参考:从通用材料到特种应用的全景分析 - 企业推荐官【官方】
  • 郑州闲置黄金变现,合扬高价回收不扣损耗 - 开心测评
  • 告别丑地图!用ArcGIS Pro给你的坐标点数据做个‘美容’(从符号、标注到布局视图)
  • 不止于转换:深入Python脚本,玩转mbtiles与地图瓦片的双向互操作
  • 80G 高频雷达物位计具备哪些产品优势? - 仪表人小余
  • 2026年6月苏州环氧地坪行业研究报告:哪家施工规范质量又好 - GrowthUME
  • 别再被低价忽悠!等速万向节专机选购建议:看这5点,质量售后全搞定 - 品牌推荐大师
  • 2026揭阳市黄金回收全攻略 多家实体门店横向评测附地址避坑指南 - 余生黄金回收
  • 从开发者视角看数据泄露:那些年我们无意中留下的‘社工库’入口
  • 锦州市专业消防管,供暖管、自来水管漏水检测、外网埋地管道测漏、无损定位 - 天堂海洋
  • 2026年成都回头客多的打酒铺,5强实力榜单为你揭秘! - 企业推荐官
  • 第十四届智能车竞赛双车协同完整工程包(Kinetis平台+CAN通信+双车调度逻辑)
  • LOGO设计大赛服务明星评选投票怎么免费做?企业校园通用投票制作教程(强防刷+零广告+数据免费导) - 微信投票小程序
  • 别再死记模板了!从《信息学奥赛一本通》1382题看C++邻接表的两种写法(vector vs 链式前向星)与性能实测
  • 数学建模竞赛必看:微分方程模型怎么选、怎么建?从赛题到论文的避坑指南
  • 2026 无锡卖黄金品牌避坑变现攻略,虚高报价、扣损耗全拆解 - 奢侈品回收评测
  • 2026 沈阳厨卫屋面地下室漏水瓷砖空鼓测评:吉修匠 99.8 分五星榜首 - 吉修匠
  • 别再均匀采样了!手把手教你用PER优先经验回放加速DQN训练(附PyTorch代码)