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

2023-05-16

Orbbec Astra Pro传感器在ROS(indigo和kinetic)使用说明 rgb depth同时显示

这款摄像头使用uvc输入彩色信息,需要libuvc和libuvc_ros这样才能在ROS正常使用彩色功能。

请在下面网址,分别下载对应包:

1 https://github.com/ktossell

2 https://orbbec3d.com/develop/

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

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

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


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

#############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 

$ldconfig -p | grep libudev.so.1 
$cd /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

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

[html]  view plain  copy  print ? 在CODE上查看代码片 派生到我的代码片
  1. ~/tools/OpenNI-Linux-x64-2.3/Samples/Bin$ ls  
  2. ClosestPointViewer    MultiDepthViewer    org.openni.jar  
  3. EventBasedRead        MultipleStreamRead  org.openni.Samples.SimpleViewer  
  4. libMWClosestPoint.so  MWClosestPointApp   org.openni.Samples.SimpleViewer.jar  
  5. libOpenNI2.jni.so     OpenNI2             SimpleRead  
  6. libOpenNI2.so         OpenNI.ini          SimpleViewer  


使用./SimpleViewer和./ClosestPointViewer,注意传感器特性,深度视觉0.4-8.0米,如下:



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

[html]  view plain  copy  print ? 在CODE上查看代码片 派生到我的代码片
  1. ~$ sudo apt-get install ros-kinetic-astra-camera ros-kinetic-astra-launch  

完毕后,使用:

[html]  view plain  copy  print ? 在CODE上查看代码片 派生到我的代码片
  1. relaybotbox@relaybotbox-desktop:~$ roslaunch astra_launch   
  2. astra.launch            device.launch           pointclouds.launch  
  3. astra_tf_prefix.launch  ir.launch               processing.launch  
  4. color.launch            kinect_frames.launch      
  5. depth.launch            manager.launch            
  6. relaybotbox@relaybotbox-desktop:~$ roslaunch astra_launch astra.launch   

工作正常的话可以看到:

[html]  view plain  copy  print ? 在CODE上查看代码片 派生到我的代码片
  1. ~$ roslaunch astra_launch astra.launch   
  2. ... logging to /home/relaybotbox/.ros/log/26bcfad8-bcf9-11e6-bc52-00e0b4159b09/roslaunch-relaybotbox-desktop-6834.log  
  3. Checking log directory for disk usage. This may take awhile.  
  4. Press Ctrl-C to interrupt  
  5. Done checking log file disk usage. Usage is <1GB.  
  6.   
  7. started roslaunch server http://relaybotbox-desktop:33177/  
  8.   
  9. SUMMARY  
  10. ========  
  11.   
  12. PARAMETERS  
  13.  * /camera/camera_nodelet_manager/num_worker_threads: 4  
  14.  * /camera/depth_rectify_depth/interpolation: 0  
  15.  * /camera/driver/auto_exposure: True  
  16.  * /camera/driver/auto_white_balance: True  
  17.  * /camera/driver/color_depth_synchronization: False  
  18.  * /camera/driver/depth_camera_info_url:   
  19.  * /camera/driver/depth_frame_id: camera_depth_opti...  
  20.  * /camera/driver/depth_registration: False  
  21.  * /camera/driver/device_id: #1  
  22.  * /camera/driver/rgb_camera_info_url:   
  23.  * /camera/driver/rgb_frame_id: camera_rgb_optica...  
  24.  * /rosdistro: kinetic  
  25.  * /rosversion: 1.12.6  
  26.   
  27. NODES  
  28.   /camera/  
  29.     camera_nodelet_manager (nodelet/nodelet)  
  30.     depth_metric (nodelet/nodelet)  
  31.     depth_metric_rect (nodelet/nodelet)  
  32.     depth_points (nodelet/nodelet)  
  33.     depth_rectify_depth (nodelet/nodelet)  
  34.     depth_registered_sw_metric_rect (nodelet/nodelet)  
  35.     driver (nodelet/nodelet)  
  36.     points_xyzrgb_sw_registered (nodelet/nodelet)  
  37.     register_depth_rgb (nodelet/nodelet)  
  38.     rgb_rectify_color (nodelet/nodelet)  
  39.   /  
  40.     camera_base_link (tf2_ros/static_transform_publisher)  
  41.     camera_base_link1 (tf2_ros/static_transform_publisher)  
  42.     camera_base_link2 (tf2_ros/static_transform_publisher)  
  43.     camera_base_link3 (tf2_ros/static_transform_publisher)  
  44.   
  45. auto-starting new master  
  46. process[master]: started with pid [6848]  
  47. ROS_MASTER_URI=http://localhost:11311  
  48.   
  49. setting /run_id to 26bcfad8-bcf9-11e6-bc52-00e0b4159b09  
  50. process[rosout-1]: started with pid [6861]  
  51. started core service [/rosout]  
  52. process[camera/camera_nodelet_manager-2]: started with pid [6864]  
  53. process[camera/driver-3]: started with pid [6865]  
  54. process[camera/rgb_rectify_color-4]: started with pid [6867]  
  55. process[camera/depth_rectify_depth-5]: started with pid [6878]  
  56. process[camera/depth_metric_rect-6]: started with pid [6896]  
  57. process[camera/depth_metric-7]: started with pid [6912]  
  58. process[camera/depth_points-8]: started with pid [6920]  
  59. process[camera/register_depth_rgb-9]: started with pid [6938]  
  60. process[camera/points_xyzrgb_sw_registered-10]: started with pid [6949]  
  61. process[camera_base_link-12]: started with pid [6970]  
  62. process[camera_base_link1-13]: started with pid [6986]  
  63. process[camera_base_link2-14]: started with pid [6997]  
  64. process[camera_base_link3-15]: started with pid [7008]  
  65. [ INFO] [1481168899.738014182]: Initializing nodelet with 4 worker threads.  
  66. [ INFO] [1481168900.562120390]: Device "2bc5/0403@2/5" found.  
  67. Warning: USB events thread - failed to set priority. This might cause loss of data...  

使用rqt_image_view:



发现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](http://www.cmake.org/) installed.

To build, you can just run these shell commands:

    Git clone https://github.com/ktossell/libuvc
    cd libuvc
    mkdir build
    cd build
    cmake ..
    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 documentation for `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](http://wiki.ros.org/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。

[html]  view plain  copy  print ? 在CODE上查看代码片 派生到我的代码片
  1. ~$ rosrun libuvc_camera camera_node   
  2. [ INFO] [1481169521.460856223]: Opening camera with vendor=0x0product=0x0serial=""index=0  
  3. [ERROR] [1481169521.461465837]: Permission denied opening /dev/bus/usb/002/004  

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

[html]  view plain  copy  print ? 在CODE上查看代码片 派生到我的代码片
  1. [ERROR] [1481169521.461465837]: Permission denied opening /dev/bus/usb/002/004  
  2. relaybotbox@relaybotbox-desktop:~$ sudo chmod 777 /dev/bus/usb/002/004  
  3. [sudo] relaybotbox 的密码:   
  4. relaybotbox@relaybotbox-desktop:~$ rosrun libuvc_camera camera_node   
  5. [ INFO] [1481169588.328108966]: Opening camera with vendor=0x0product=0x0serial=""index=0  
  6. unsupported descriptor subtype: 13  
  7. unsupported descriptor subtype: 13  
  8. [ WARN] [1481169589.131025001]: Unable to set scanning_mode to 0  
  9. [ WARN] [1481169589.132290563]: Unable to set auto_exposure to 8  
  10. [ WARN] [1481169589.133330942]: Unable to set auto_exposure_priority to 0  
  11. [ WARN] [1481169589.135009273]: Unable to set exposure_absolute to 1  
  12. [ WARN] [1481169589.136271211]: Unable to set auto_focus to 1  
  13. [ WARN] [1481169589.137170759]: Unable to set focus_absolute to 0  
  14. [ WARN] [1481169589.138442322]: Unable to set gain to 0  
  15. [ WARN] [1481169589.140162069]: Unable to set iris_absolute to 0  
  16. [ WARN] [1481169589.141553880]: Unable to set pantilt to 0, 0  
  17. [ INFO] [1481169589.273060465]: using default calibration URL  
  18. [ INFO] [1481169589.273198871]: camera calibration URL: file:///home/relaybotbox/.ros/camera_info/camera.yaml  
  19. [ INFO] [1481169589.273354822]: Unable to open camera calibration file [/home/relaybotbox/.ros/camera_info/camera.yaml]  
  20. [ WARN] [1481169589.273418390]: Camera calibration file /home/relaybotbox/.ros/camera_info/camera.yaml not found.  

使用 rqt_image_view ,查看rgb如下:


同时使用也是可以的。



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


上面的内容为转载内容,出处:http://blog.csdn.net/zhangrelay/article/details/53515859

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

奥比中光Orbbec Astra Pro RGBD 3D视觉传感器在ROS(indigo和kinetic)使用说明 rgb depth同时显示 的相关文章

  • VirtualBox虚拟机的迁移和快照问题

    查看原文 xff1a http www sijitao net 1616 html 前几天博主迁移了一台测试服务器上的virtualbox虚拟机 本来直接拷贝文件就可以解决的问题 xff0c 结果折腾了我一天 一开始 xff0c 我没注意这
  • 多轴飞行器无人机硬件技术细谈

    http www 52rd com S TXT 2015 3 TXT65233 HTM 多轴飞行器无人机硬件技术细谈 52RD com 2015年3月6日 电子工程专辑 参与 xff1a 2人 我来说两句 在今年CES上无人机成为了展会最大
  • android中onFinishInflate和onSizeChange()的调用时机

    1 onFinishInflate onFinishInflate是view加载完xml之后执行的方法 xff0c 相当于只是完成了布局的映射 xff0c 在这个方法里面是得不到控件的高宽的 xff0c 控件的高宽是必须在调用了onMeas
  • C++构造函数中冒号作用及explicit关键字

    构造函数中冒号作用 xff0c 类给成员变量赋值 xff0c 更适用于成员变量的常量const型 span class token keyword class span span class token class name myClass
  • IDEA(2022.2)搭建Servlet基本框架详细步骤

    文章目录 1 创建基本Web项目1 1 创建新项目1 2 生成Module1 3 设置Web框架1 4 新建导航页 2 配置Tomcat服务器2 1 设置Tomcat2 2 部署Tomcat启动服务2 3 测试Tomcat 3 实现Serv
  • 多径信道

    多径信道 多径信道的低通等效特征多径信道的统计特性时变行为的统计特性 在到达接收天线之前 xff0c 发送的信号遵循许多不同的路径 xff0c 并且这些路径的集合构成多径无线电传播信道 xff08 如图9 3 xff09 产生的信号强度将经
  • [VSCode] VSCode使用C++运行HelloWorld

    一 对于VS Code的介绍 首先需要明确的一点是VSCode并不是一个标准意义上的IDE Integrated Development Environment xff0c 集成开发环境 xff0c VSCode更像是一个功能强大的编辑器
  • 计算机组成.零件之间的通信.总线BUS

    总线干嘛的 xff1f 说白了就是用来传输数据的 xff0c 在计算机的各个部件之间 比如我主存里存的数据CPU要用 xff0c 需要一条线路传过去吧 xff0c CPU内部各个寄存器之间 寄存器与ALU CU与各个部件之间等等等等很多地方
  • 用linux也太爽了啊

    最近更换了公司 xff0c 换成了ubuntu系统进行开发 xff0c 我只能说比windows开发好用多了 xff0c 在windows需要各种工具 xff0c 然而linux的名林嗯行就解决了很多的问题 xff0c 从前windows下
  • 希望计算机专业学生都知道这些宝藏老师

    希望计算机专业学生都知道这些宝藏老师 IT服务圈儿 2022 12 04 17 30 发表于江苏 以下文章来源于程序员库森 xff0c 作者库森 程序员库森 阿里程序员 xff0c 专注分享编程学习 校招求职和大厂面试 IT服务圈儿 关注互
  • docker镜像push到仓库

    镜像可以很方便直接 push 到 docker 的公共仓库或阿里云仓库 1 上传至docker仓库 1 登录docker hub创建自己的仓库地址 xff1a https hub docker com repository create 创
  • 深度学习样本归一化到[0,1]还是[-1,1]

    一般 xff0c 我们需要对神经网络的输入样本进行归一化 xff0c 通常有多种选择 xff0c 比如归一化到 0 1 xff0c 或归一化到 1 1 这两种方法 xff0c 哪种归一化方法更好呢 xff1f 还是没有区别 现在的实验经验
  • ubuntu装机并设置远程连接

    step1 ubuntu16装系统的过程略过 step2 联网 step3 apt get更新 sudo apt get update step4 安装ssh 安装 openssh 服务 sudo apt get install opens
  • ros学习之串口通信(数据读取),并进行发布

    串口参数 波特率 9600 起始位 1 数据位 8 停止位 1 奇偶校验 无 例如超声波模组地址为0X01 则主机发送 0X55 0XAA 0X01 0X01 checksum checksum 61 帧头 43 用户地址 43 指令 am
  • 在Ubuntu上使用LVM对ROOT进行在线扩容

    前提 xff1a 在安装ubuntu的时候 xff0c 是使用LVM进行分区管理的 背景 xff1a 我在安装的时候 xff0c 选择了500G大小 xff0c 磁盘总大小1T xff0c 现在想扩成1T 扩容前 xff1a yang 64
  • realsense D435i双目IMU 数据集

    realsense D435i 双目IMU数据集 使用双目 43 IMU的数据双目内参双目IMU外参 使用双目 43 IMU的数据 双目内参 model type PINHOLE camera name camera image width
  • MobaXterm 登录出现 Network error :Connection timed out

    本来用SSH连接正在操作 xff0c 突然连接不好Linux xff0c 无法登陆 xff0c 出现Network error Connection timed out错误 还以为是自己哪里操作出错了 xff0c 打开本机 cmd命令窗口
  • 消息队列总结

    一 为什么需要无锁队列 xff1f 二 无锁队列是什么 xff1f 三 无锁队列是如何实现的 xff1f span class token keyword inline span span class token class name yq
  • 姿态传感器—MPU6050

    姿态传感器 MPU6050 简介寄存器数字运动处理器 DMP遇到的问题1 初始化是要水平放置 且 按照上电时的方位为基准 xff08 正点原子提供的例程 xff09 简介 MPU6050是一款六轴 xff08 三轴加速度 43 三轴角速度
  • 卡尔曼滤波的优点总结

    卡尔曼滤波的优点不在于它的估计的偏差小多少 xff0c 而在于它巧妙的融合了观测数据与估计数据 xff0c 对误差进行闭环管理 xff0c 将误差限定在一定范围 xff0c 试想 xff0c 如果没有两者的信息融合 xff0c 只有估计数据

随机推荐