奥比中光Orbbec Astra pro 深度相机在ROS Melodic的使用

本文档介绍了如何在虚拟机中利用OpenNI安装并显示相机图像,以及在ROS环境中配置和使用Orbbec Astra相机。步骤包括安装依赖、解压OpenNI、创建udev规则、编译ROS包、进行相机标定,并展示了如何在rviz中显示相机图像。此外,还提供了相机标定的详细过程和合格标准。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、虚拟机中使用OPENNI显示相机图像

下载openni的linux安装包。下载地址

https://dl.orbbec3d.com/dist/openni2/OpenNI_2.3.0.66.zip

将文件夹中的该文件拷贝到虚拟机中 

首先安装依赖包

sudo apt-get install build-essential freeglut3 freeglut3-dev

然后解压压缩包,并进入解压后的压缩包

unzip OpenNI-Linux-x64-2.3.0.66.zip

解压后执行以下语句

chmod 777 install.sh
sudo ./install.sh

重新拔插设备 初始化OpenNI环境

source OpenNIDevEnvironment

编译运行

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

二,在ROS环境中使用Orbbec Astra

1)安装依赖包

sudo apt install ros-$ROS_DISTRO-rgbd-launch ros-$ROS_DISTRO-libuvc ros-$ROS_DISTRO-libuvc-camera ros-$ROS_DISTRO-libuvc-ros

2)将ros_astra_camera包,放在已经创建好的ros工作区间的SRC文件夹下:

使用命令的方法

cd ~/catkin_ws/src
git clone https://github.com/orbbec/ros_astra_camera

执行该句,很难下载到装包,使用以下链接,直接在windows下环境下,下载好,拷贝到工作空间

mirrors / orbbec / ros_astra_camera · GitCodeROS wrapper for Astra camera 🚀 Github 镜像仓库 🚀 源项目地址 ⬇https://gitcode.net/mirrors/orbbec/ros_astra_camera?utm_source=csdn_github_accelerator

  3)在工作区下进行编译astra_camera

cd ~/catkin_ws
catkin_make --pkg astra_camera

编译成功的结果为:

 

 4)创建 astra udev 规则

roscd astra_camera
./scripts/create_udev_rules

 5)运行astra_camera

注意:搞清楚自己相机的型号,是否是pro版本的

roslaunch astra_camera astrapro.launch

如果上面的编译没有什么问题,执行上面一句话后,结果如图所示: 

如果想看相机的ros包中,具备的话题有哪些,可以使用以下命令查看

其实,这里面我们最感兴趣的只有三个:深度图像、彩色图像、红外图像
/camera/depth/image_raw是深度图像
/camera/depth_registered/image_raw是和彩色图像配准之后的深度图像
/camera/ir/image_raw是红外图像
/camera/rgb/image_raw是彩色图像
 

 6)使用rviz显示相机

在终端输入:rviz

 随后在左侧打开选项卡image,在image Topic中选择自己订阅的节点即可。

三,测试相机自带的所有例程 

1.彩色相机标定

第一个终端启动命令
roslaunch astra_camera astrapro.launch

重启一个终端输入命令
# 彩色图
rosrun camera_calibration cameracalibrator.py image:=/camera/rgb/image_raw camera:=/camera/rgb --size 9x6 --square 0.02

标定的结果到什么程度算是合格,最好的情况是【X】、【Y】、【Size】、【Skew】下面的线条变为绿色后就成功了;

当认为当前标定图像的数目已经够了,(六七十张就差不多了,太多容易卡死),点击【CALIBRATE】计算相机内参。

计算完内参后,进行保存

标定结束后,标定结果存在【/tmp/calibrationdata.tar.gz】,可以移动出来看看内容

sudo mv /tmp/calibrationdata.tar.gz ~
解压后,里面有刚刚标定的图片,一个ost.txt文件和一个ost.yaml文件。yaml文件是我们需要的,不过还需要修改才可以使用。
  • 将ost.yaml改为head_camera.yaml
  • 将camera_name:后面的名称改为head_camera
  • 将文件移动到~/.ros/camera_info文件夹下【这个文件夹是针对小车下的文件夹的。虚拟机只是用来做标定获得该文件夹即可】

<think>嗯,用户想了解奥比的Python开发相关的内容。首先,我需要确认奥比的主营业务,他们主要是做3D视觉传感器的,比如深度相机,这在机器人、AR/VR、人脸识别等领域应用广泛。用户可能想用Python来调用他们的SDK进行开发,比如获取深度图像或者点云数据。 接下来,我应该考虑他们的开发流程。首先需要安装Python SDK,可能需要从官网下载或者通过pip安装。然后,用户需要连接硬件设备,比如Astra系列或者Femto系列。之后,初始化设备,配置参数,比如分辨率、帧率。接着,如何获取数据流,处理数据,比如转换成NumPy数组,或者使用OpenCV进行图像处理。最后是释放资源,确保程序结束前正确关闭设备。 另外,用户可能会遇到的问题,比如SDK安装失败,设备连接问题,数据处理的性能优化。这些需要给出一些建议,比如检查驱动,使用多线程或异步处理,利用GPU加速。 还需要提到应用场景,比如三维重建、姿态识别、避障导航,这些能帮助用户理解实际用途。可能用户是开发者或研究者,想快速上手进行项目开发,所以示例代码和常见问题解答会比较有用。 还要注意用户可能不熟悉奥比的API结构,所以需要简要介绍主要模块,比如Device、Frame、深度图处理等。同时,强调Python开发的优势,比如快速原型开发,丰富的库支持,但也要注意性能瓶颈,可能需要结合C++进行优化。 最后,确保回答结构清晰,分步骤说明,让用户能一步步跟着操作。如果有官方文档或社区资源,建议用户参考,并提供链接或搜索关键词,方便他们深入查找。</think>奥比Orbbec)是一家专注于3D视觉感知技术的企业,其Python开发主要围绕3D摄像头(如Astra系列、Femto系列)的数据采集、深度图像处理和3D建模展开。以下是开发者需掌握的核心内容: 一、开发环境搭建 1. 硬件准备:需配备奥比3D摄像头(如Astra Pro/Azure Kinect兼容设备) 2. 安装SDK: ```bash pip install pyorbbecsdk # 官方Python SDK pip install open3d # 建议配合点云处理库 ``` 二、核心开发流程 1. 设备初始化 ```python from pyorbbecsdk import Pipeline, Config config = Config() pipeline = Pipeline(config) ``` 2. 深度数据捕获 ```python frames = pipeline.wait_for_frames() depth_frame = frames.get_depth_frame() depth_data = np.array(depth_frame.get_data()) ``` 3. 点云生成 ```python from pyorbbecsdk import OBSensorType depth_scale = pipeline.get_device().get_depth_scale() point_cloud = convert_to_point_cloud(depth_data, depth_scale) # 需实现坐标转换 ``` 三、关键技术点 1. 深度图对齐RGB: ```python align_filter = pipeline.get_align_filter(OBSensorType.COLOR_SENSOR) aligned_frames = align_filter.process(frames) ``` 2. 手势识别实现: $$ \text{深度阈值} = \begin{cases} 800mm & \text{近距离交互} \\ 1500mm & \text{全身追踪} \end{cases} $$ 四、性能优化建议 1. 多线程架构设计 2. OpenCL加速深度计算 3. 点云降采样(体素滤波参数建议:0.01m) 五、典型应用场景 1. 三维重建(精度可达±1mm @1m) 2. 人体姿态识别(支持21个骨骼点) 3. 避障导航(最小检测距离0.2m) 常见问题解决方案: 1. 设备连接失败:检查USB3.0接口供电 2. 深度图噪点:启用双边滤波 3. 帧率下降:降低分辨率至640x480 最新SDK支持功能(2024版): - 多摄像头同步采集 - TOF数据融合 - AI模型嵌入式部署 建议访问官方GitHub查看示例代码库: ``` https://github.com/orbbec/OrbbecSDK-Python ``` 开发文档重点章节: - 第5章 深度标定参数解析 - 第8章 点云配准算法 - 附录B Python API参考
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值