奥比中光Orbbec Astra Pro RGBD 3D视觉传感器在ROS(indigo和kinetic)使用说明

article/2025/9/14 16:17:14

作者:童虎
编辑:3D视觉开发者社区

Orbbec Astra Pro传感器在ROS(indigo和kinetic)使用说明
这款摄像头使用uvc输入彩色信息,需要libuvc和libuvc_ros这样才能在ROS正常使用彩色功能。
请在下面网址,分别下载对应包:

https://github.com/ktossellhttps://orbbec3d.com/develop/

也可以直接下载打包好的资源:

http://download.csdn.net/detail/zhangrelay/9705366

首先安装驱动,依据版本选择下载驱动中合适的版本:
图片alt

依据下列文档说明进行安装:特别注意标出部分

#############Note#################### For user with ARM based development board:# With CPU Structure older than Cortex A17, use OpenNI-Linux-Arm-2.3 Nofilter.tar for better performance
##################################### There are two zip files, one is for 32bit machine, the other one is for 64bit# We choose 64bit(x64) and make the example as follows:

这里应为系统是Ubuntu 16.04 64bit PC选择对应64bit版本

#To run visual samples (e.g., SimpleViewer), you will need freeglut3 header and libaries,
please install:$ sudo apt-get install build-essential freeglut3
freeglut3-dev#check udev
version, Orbbec Driver need libudev.so.1
,if can’t find it, can make symbolic link from libudev.so.x.x,#which usually locate in /lib/x86_64-linux-gnu or
/lib/i386-linux-gnu l d c o n f i g − p ∣ g r e p l i b u d e v . s o . 1 ldconfig -p | grep libudev.so.1 ldconfigpgreplibudev.so.1cd /lib/x86_64-linux-gnu$sudo ln -s libudev.so.x.x.x libudev.so.1# copy tgz file to any place you want(e.g., Home)# unzip tgz file

拷贝到对应文件夹并解压缩:

$ tar zxvf OpenNI-Linux-x64 -2.2-0118.tgz$ cd OpenNI-Linux-x64-2.2

#run install.sh to generate
OpenNIDevEnvironment, which contains OpenNI development
environment

$ sudo ./install.sh

#please replug in the device for usb-register# add environment variables

$ source OpenNIDevEnvironment

#build sample(e.g., SimpleViewer)

$ cd Samples/SimpleViewer$ make

#run sample# connect sensor

$ cd Bin/x64-Release$ ./SimpleViewer

#now you should be able to see a GUI window showing the depth stream video# If the Debian Jessie Lite is used for testing,
it may require the following installation for properly start the viewer.

$ sudo apt-get install libgl1-mesa-dri

安装完毕后,进行功能测试:

~/tools/OpenNI-Linux-x64-2.3/Samples/Bin$ lsClosestPointViewer MultiDepthViewer org.openni.jarEventBasedRead MultipleStreamRead org.openni.Samples.SimpleViewerlibMWClosestPoint.so MWClosestPointApp
org.openni.Samples.SimpleViewer.jarlibOpenNI2.jni.so OpenNI2
SimpleReadlibOpenNI2.so OpenNI.ini SimpleViewer

使用./SimpleViewer和./ClosestPointViewer,注意传感器特性,深度视觉0.4-8.0米,如下:
在这里插入图片描述图片alt

安装ROS功能包,以kinetic为例,indigo类似:

~$ sudo apt-get install ros-kinetic-astra-camera ros-kinetic-astra-launch

完毕后,使用:

relaybotbox@relaybotbox-desktop:~$ roslaunch astra_launchastra.launch
device.launch pointclouds.launchastra_tf_prefix.launch
ir.launch processing.launchcolor.launch
kinect_frames.launchdepth.launch
manager.launchrelaybotbox@relaybotbox-desktop:~$ roslaunch
astra_launch astra.launch

工作正常的话可以看到:

~$ roslaunch astra_launch astra.launch… logging to
/home/relaybotbox/.ros/log/26bcfad8-bcf9-11e6-bc52-00e0b4159b09/roslaunch-relaybotbox-desktop-6834.logChecking log directory for disk usage. This may take awhile.Press Ctrl-C to
interruptDone checking log file disk usage. Usage is <1GB. started
roslaunch server http://relaybotbox-desktop:33177/ SUMMARY
======== PARAMETERS * /camera/camera_nodelet_manager/num_worker_threads: 4 *
/camera/depth_rectify_depth/interpolation: 0 *
/camera/driver/auto_exposure: True *
/camera/driver/auto_white_balance: True *
/camera/driver/color_depth_synchronization: False *
/camera/driver/depth_camera_info_url: *
/camera/driver/depth_frame_id: camera_depth_opti… *
/camera/driver/depth_registration: False * /camera/driver/device_id:
#1 * /camera/driver/rgb_camera_info_url: * /camera/driver/rgb_frame_id: camera_rgb_optica… * /rosdistro:
kinetic * /rosversion: 1.12.6 NODES /camera/
camera_nodelet_manager (nodelet/nodelet)
depth_metric (nodelet/nodelet)
depth_metric_rect (nodelet/nodelet)
depth_points (nodelet/nodelet)
depth_rectify_depth (nodelet/nodelet)
depth_registered_sw_metric_rect (nodelet/nodelet)
driver (nodelet/nodelet)
points_xyzrgb_sw_registered (nodelet/nodelet)
register_depth_rgb (nodelet/nodelet)
rgb_rectify_color (nodelet/nodelet) /
camera_base_link (tf2_ros/static_transform_publisher)
camera_base_link1 (tf2_ros/static_transform_publisher)
camera_base_link2 (tf2_ros/static_transform_publisher)
camera_base_link3 (tf2_ros/static_transform_publisher)
auto-starting new master process[master]: started with pid [6468]
ROS_MASTER_URI=http://localhost:11311 setting /run_id to
26b26bcfad8-bcf9-11e6-bc52-00e0b4159b09
process[rosout-1]: started with
pid [6861] started core service [/rosout]
process[camera/camera_nodelet_manager-2]: started with pid [6864]
process[camera/driver-3]: started with pid [6865]
process[camera/rgb_rectify_color-4]: started with pid [6867]
process[camera/depth_rectify_depth-5]: started with pid [6878]
process[camera/depth_metric_rect-6]: started with pid [6896]
process[camera/depth_metric-7]: started with pid [6912]
process[camera/depth_points-8]: started with pid [6920]
process[camera/register_depth_rgb-9]: started with pid [6938]
process[camera/points_xyzrgb_sw_registered-10]: started with pid
[6949] process[camera_base_link-12]: started with pid [6970]
process[camera_base_link1-13]: started with pid [6986]
process[camera_base_link2-14]: started with pid [6997]
process[camera_base_link3-15]: started with pid [7008] [ INFO]
[1481168899.738014182]: Initializing nodelet with 4 worker threads. [
INFO] [1481168900.562120390]: Device“2bc5/0403@2/5” found. Warning:
USB events thread - failed to set priority. This might cause loss of
data…

使用rqt_image_view:
图片alt

**图片alt
**
发现rgb并没有正确显示??需要UVC支持。

编译libuvc过程如下:注意红色部分

libuvc is a cross-platform library for USB video devices, built atop libusb.It enables fine-grained control over USB video devices exporting the standard USB Video Class (UVC) interface, enabling developers to write drivers for previously unsupported devices,or just access UVC devices in a generic fashion.

Getting and Building libuvc

Prerequisites: You will need libusb and CMake installed.

To build, you can just run these shell commands:

git clone https://github.com/ktossell/libuvccd libuvcmkdir buildcd
buildcmake …make && sudo make install

and you’re set! If you want to change the build configuration, you can edit CMakeCache.txt in the build directory, or use a CMake GUI to make the desired changes.

Developing with libuvc

The documentationfor libuvc can currently be found at https://int80k.com/libuvc/doc/.

然后编译libuvc_ros:注意红色部分

libuvc_camera is a ROS driver that supports webcams and other UVC-standards-compliant video devices.It’s a cross-platform replacement for uvc_camera, a Linux-only webcam driver.Documentation is available on the ROS wiki: libuvc_camera.

使用catkin_make,如果报错,注意libusb.h的位置。使用locate libusb.h,并将其放到合适位置:

~$ sudo cp /usr/include/libusb-1.0/libusb.h /usr/local/include/libuvc/

修改下libuvc.h中include中的路径。

在启动roscore后,使用:

~$ rosrun libuvc_camera camera_node

查看rgb。

~$ rosrun libuvc_camera camera_node[ INFO] [1481169521.460856223]: Opening camera with vendor=0x0, product=0x0, serial=””, index=0[ERROR] [1481169521.461465837]: Permission denied opening /dev/bus/usb/002/004

出现报错,修改端口权限,重试。

[ERROR] [1481169521.461465837]: Permission denied opening /dev/bus/usb/002/004 relaybotbox@relaybotbox-desktop:~$ sudo chmod777 /dev/bus/usb/002/004[sudo] relaybotbox的密码:relaybotbox@relaybotbox-desktop:~$ rosrun libuvc_camera
camera_node[ INFO] 1481169588.328108966]: Opening camera with vendor=0x0, product=0x0, serial=””, index=0unsupported descriptor subtype: 13unsupported descriptor subtype: 13[ WARN] [1481169589.131025001]: Unable to set scanning_mode to 0[ WARN] [1481169589.132290563]: Unable to set auto_exposure to 8[ WARN] [1481169589.133330942]:Unable to set auto_exposure_priority to 0[ WARN] [1481169589.135009273]: Unable to set exposure_absolute to 1[ WARN] [1481169589.136271211]: Unable to set auto_focus to 1[ WARN] [1481169589.137170759]: Unable to set focus_absolute to 0[ WARN] [1481169589.138442322]: Unable to set gain to 0[> WARN] [1481169589.140162069]: Unable to set iris_absolute to 0[ WARN] [1481169589.141553880]:> Unable to set pantilt to 0, 0[ INFO] [1481169589.273060465]: using default calibration> URL[ INFO] [1481169589.273198871]: camera calibration URL: file:///home/relaybotbox/.ros/camera_info/camera.yaml[ INFO] [1481169589.273354822]: Unable> to open camera calibration file> [/home/relaybotbox/.ros/camera_info/camera.yaml][ WARN] [1481169589.273418390]: Camera> calibration file /home/relaybotbox/.ros/camera_info/camera.yaml not found.

使用 rqt_image_view ,查看rgb如下:
图片alt

同时使用也是可以的。
图片alt

图片alt

安装配置完毕,可以开始使用这款视觉传感器了。

版权声明:本文为奥比中光3D视觉开发者社区特约作者授权原创发布,未经授权不得转载,本文仅做学术分享,版权归原作者所有,若涉及侵权内容请联系删文。

3D视觉开发者社区是由奥比中光给所有开发者打造的分享与交流平台,旨在将3D视觉技术开放给开发者。平台为开发者提供3D视觉领域免费课程、奥比中光独家资源与专业技术支持。

点击加入3D视觉开发者社区,和开发者们一起讨论分享吧~

或可微信关注官方公众号 3D视觉开发者社区 ,获取更多干货知识哦。


http://chatgpt.dhexx.cn/article/EihTNX01.shtml

相关文章

3D传感相关

这里涉及了各种3D传感相关的工作&#xff0c;包含单目、双目、ToF等传感器&#xff0c;涉及了计算摄影、ToF深度测量、双目深度估计、多视角深度估计、相机离线标定、相机在线标定、NeRF等技术&#xff0c;可谓3D视觉集大成者。 这里简单介绍下本文将会提到的两种3D成像技术&a…

3D激光雷达SLAM算法学习02——3D激光雷达传感器

1.本篇思维导图 2. 3D激光雷达传感器分类 3. 机械激光雷达 直观视频感受&#xff1a;Velodyne 优点&#xff1a;360视野&#xff0c;精度高&#xff0c;工作稳定&#xff0c;成像快 缺点&#xff1a;成本较高&#xff0c;不符合自动驾驶车规&#xff0c;生命周期短&#xff0c…

Lidar 3D传感器点云数据与2D图像数据的融合标注

2D&3D融合 以自动驾驶场景为例&#xff0c;自动驾驶汽车需要使用传感器来识别车辆周围的物理环境&#xff0c;用来捕获2D视觉数据&#xff0c;同时在车辆顶部安装雷达,用以捕捉精确目标定位的3D位置数据。 激光雷达生成的点云数据可用于测量物体的形状和轮廓&#xff0c;估…

3D视觉传感器产业现状-2018年

总结一下&#xff0c;主要参考于MEMS市场调研 MEMS.ME&#xff0c; 必须找专业的分析和咨询公司才行&#xff0c;或者活跃在前沿的资深行业专家。市场分析只能给出大致的销售状况&#xff0c;还不能给出详细的技术数据对比。 从三维重建的算法、技术原理和效果参数上分析&#…

三种常见的3D传感器比较

作者 | dianyunPCL 编辑 | 点云PCL 本文只做学术分享&#xff0c;如有侵权&#xff0c;联系删文 点击下方卡片&#xff0c;关注“自动驾驶之心”公众号 ADAS巨卷干货&#xff0c;即可获取 点击进入→自动驾驶之心【硬件交流】技术交流群 摘要 在过去的十年里&#xff0c;3D传感…

3D视觉|了解下工业上常见的3D相机

说起相机&#xff0c;大家估计都很熟悉了。那么相对于平常使用的2D相机&#xff0c;3D相机又有哪些区别呢&#xff0c;顾名思义&#xff0c;3D相机可以让我们获取我们物理世界的空间信息&#xff0c;即立体三维的物理信息。多了一个维度的信息&#xff0c;似乎打开了一扇大门&a…

基于多传感器的3D多目标跟踪算法汇总

1. IROS 2020-AB3DMOT&#xff1a;A Baseline for 3D Multi-Object Tracking and New Evaluation Metrics 代码链接&#xff1a;https://github.com/xinshuoweng/AB3DMOT 文章链接&#xff1a;http://www.xinshuoweng.com/papers/AB3DMOT_eccvw/camera_ready.pdf 出发点&#x…

3D相机技术 | 立体视觉传感器+TOF相机

转自 | 睿慕课 文章结构 前言立体视觉传感器原理简介工业领域应用主流立体视觉的产品TOF相机工作原理TOF工业领域应用一些TOF研究机构 1.前言 在机器视觉应用中&#xff0c;物体三维形状的获取变得越来越重要。在这个系列里&#xff0c;我们将讨论目前在机器视觉行业中可用的3…

一文聊聊用于机器感知的3D与2D传感器数据 | 数据标注

人类和机器之间最大的区别之一在于我们感知周围环境的方式。我们都存在于3D世界中&#xff0c;人类天生能够感知复杂的几何形状、透视、遮挡、消失点、物体持久性等带来的影响&#xff0c;但机器却很难处理这些最简单的情况。 想让他们能够“看到”仍然是一个热门的研究领域。机…

多传感器融合 | CenterFusion:毫米波雷达和相机后融合3D检测算法

点击下方卡片&#xff0c;关注“自动驾驶之心”公众号 ADAS巨卷干货&#xff0c;即可获取 今天自动驾驶之心很荣幸邀请到寒风分享RV后融合算法CenterFusion&#xff0c;如果您有相关工作需要分享&#xff0c;请在文末联系我们&#xff01; >>点击进入→自动驾驶之心【多传…

Ansys Lumerical Zemax Speos | CMOS 传感器相机:3D 场景中的图像质量分析

在本例中&#xff0c;我们介绍了一个仿真工作流程&#xff0c;用于在具有不同照明条件的特定环境中&#xff0c;从光学系统和CMOS成像器的组合中分析相机系统的图像质量。此示例主要涵盖整个工作流程中的Ansys Speos部分。该光学系统采用Ansys Zemax OpticStudio设计&#xff0…

三维力传感器

背景介绍 三维力传感器在现实生活中具有广泛的应用&#xff0c;例如&#xff1a;机器人关节传感元件&#xff0c;医疗设备以及智能制造装备等&#xff0c;调研可知&#xff0c;三维力传感器通过弹性体元件&#xff0c;把外力转换为结构的变形&#xff0c;进而通过应变片实现三维…

视觉传感器:3D感知算法

作者丨巫婆塔里的工程师知乎 来源丨https://zhuanlan.zhihu.com/p/426569335 编辑丨 一点人工一点智能 1 前言 之前的一篇文章介绍了基于视觉传感器的2D环境感知&#xff0c;包括2D物体检测和跟踪&#xff0c;2D场景语义分割。 但是&#xff0c;对于自动驾驶应用来说&#xff0…

3D 霍尔效应位置传感器原理解析

描述 在各种工业 4.0 应用中&#xff0c;通过 3D 位置检测进行实时控制的情况越来越多&#xff0c;从工业机器人、自动化系统到机器人真空和安防。3D 霍尔效应位置传感器无疑是这些应用的极好选择&#xff0c;因为这种传感器具有很高的重复性和可靠性&#xff0c;而且还可与门窗…

3D视觉基础(基本原理及3D传感器基本参数)

点击上方“3D视觉工坊”&#xff0c;选择“星标” 干货第一时间送达 来源&#xff1a;新机器视觉 本人所在行业属于3D视觉方向&#xff0c;因此最近也是学习了很多3D视觉的知识&#xff0c;这次专门总结一下。 传统工业机器视觉中&#xff0c;2D指的是X方向加Y方向&#xff0c;…

3D传感器的原理

在计算机视觉系统中&#xff0c;三维场景信息为图像分割、目标检测、物体跟踪等各类计算机视觉应用提供了更多的可能性&#xff0c;而深度图像&#xff08;Depth map&#xff09;作为一种普遍的三维场景信息表达方式得到了广泛的应用。深度图像的每个像素点的灰度值可用于表征场…

【综述】机器视觉中的3D传感器

点击上方“小白学视觉”&#xff0c;选择加"星标"或“置顶” 重磅干货&#xff0c;第一时间送达 近年来&#xff0c;机器视觉技术变得越来越复杂&#xff0c;工业领域的图像处理更多的专注于3D传感器&#xff0c;而且越来越多的技术已经完善并且投入到实际应用中&…

【3D视觉原理】2-3D传感器原理

文章目录 内容概要3D光学测量方法概述被动测距单目立体视觉&#xff08;精度不高&#xff09;聚焦法离焦法 双目立体视觉&#xff08;精准&#xff09;多目立体视觉&#xff08;更精准&#xff09; 主动测距结构光法光点法光条法光面法 飞行时间法&#xff08;ToF&#xff09;脉…

Xcode Cloud

一、使用Xcode Cloud 的要求 &#xff08;1&#xff09;开发者账户要求 已加入Apple Developer Program向xcode加入Apple IDApp Store Connect上有app 记录或者可以创建一个app记录 &#xff08;2&#xff09;Project和workspace要求 Project或者workspace使用Xcode项目使用…

使用Xcode13进行Swift开发2

使用Xcode13进行Swift开发2 1.应用功能1.1 UIScreen与systemName1.2 struct&#xff0c;ScrollView&#xff0c;padding,ForEach和创建列表1.3 GeometryReader1.4 list,combine 使用Xcode13进行Swift开发https://blog.csdn.net/gavinliu266/article/details/126407896 Monterey…