当前位置: 首页 > 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.rkmt.cn/news/1496527.html

相关文章:

  • 别再为嵌入式打印浮点数发愁了!手把手教你魔改SEGGER RTT的printf函数
  • 2026年绝缘板源头供应企业选择参考:从通用材料到特种应用的全景分析 - 企业推荐官【官方】
  • 闲置黄金怎么卖最划算 2026黄金回收计价方式本地正规店 - 余生黄金回收
  • 郑州闲置黄金变现,合扬高价回收不扣损耗 - 开心测评
  • 信息学奥赛刷题实战:用Dijkstra算法搞定《城市路》这道题(附C++完整代码)
  • 天津南开区烧烤推荐|无剧本串吧 适合朋友夜宵团建聚 - 速递信息
  • 营口黄金回收全流程高价变现攻略 - 润富黄金回收
  • 告别丑地图!用ArcGIS Pro给你的坐标点数据做个‘美容’(从符号、标注到布局视图)
  • 2026年6月苏州环氧地坪行业研究报告:哪家施工规范质量又好 - GrowthUME
  • 数学建模竞赛必看:微分方程模型怎么选、怎么建?从赛题到论文的避坑指南
  • 上饶市自来水管漏水检测,厂区地下管网测漏查漏 市政管道漏水检测 不开挖精准找漏点 - 同城资讯
  • 实体企业GEO,从苏州到金华再到常熟,我更确定GEO适合实体企业 - 招财兔数字员工
  • 2026年橡胶机械隔热板供应商评估:聚焦常州市永诚新材料与行业关键企业 - 企业推荐官【官方】
  • Git 每次 Pull 都要输入密码?教你彻底实现免密操作
  • 2026年6月常州沙盘模型定制行业研究报告:哪家服务比较优质 - GrowthUME
  • 国内总铅水质在线分析仪十大品牌排名 - 仪表人老张
  • 衡阳闲置黄金变现攻略 2026六大正规回收门店综合测评 - 余生黄金回收
  • 大盘金价同步无锡回收,2026 卖黄金别盲目等高点 - 奢侈品回收评测
  • 山东微程科技:中国 AI 大模型领跑,本地商家的机会在这里
  • 第2章 安装开发环境(DevEco Studio)
  • Edge浏览器上方搜索栏搜索跳转到百度等搜索引擎搜索问题.
  • 117、飞控中的事件驱动编程
  • 【一句话经验】Everything如何精确搜索
  • 人生感悟 --- 职场潜规则 之 催人下班
  • 如何开发一个2048小游戏
  • 2026年1211灭火器回收厂家排行:北京七氟丙烷检测/北京七氟丙烷灭火器回收/合规服务标杆推荐 - 优质品牌商家
  • Outotec HSC Chemistry 9.5.1.5 热化学/冶金热力学计算软件 安装包及安装教程
  • 2025 CSP-J初赛阅读代码解析
  • 2026年口碑好的江门大基数减重/江门健身管理/江门健身口碑排行 - 行业平台推荐
  • 别再乱用v-if了!用Vue3自定义指令优雅实现按钮权限控制