1、安装相关依赖软件

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

2、下载功能包源码

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

3、创建 udev 规则

roscd astra_camera
./scripts/create_udev_rules

4、编译功能包

cd ~/catkin_ws
catkin_make --pkg astra_camera astrapro_launch

5、启动摄像头

roslaunch astrapro_launch astrapro.launch

6、查看图像

rqt_image_view


或者

 rviz


注:
1、此处仅展示了问题较多的彩色图的显示
2、下载过程一开始比较慢,耐心等待即可。
3、Astra pro 已不需要安装 OpenNI。

4、若之前按照其他方法安装失败再按此方法安装容易产生如下报错:

CMakeFiles/camera_node.dir/src/libuvc_camera/camera_driver.cpp.o:在函数‘libuvc_camera::CameraDriver::~CameraDriver()’中:
camera_driver.cpp:(.text+0x1058):对‘uvc_free_frame’未定义的引用
camera_driver.cpp:(.text+0x107b):对‘uvc_exit’未定义的引用
CMakeFiles/camera_node.dir/src/libuvc_camera/camera_driver.cpp.o:在函数‘libuvc_camera::CameraDriver::getUVCExposureCb(astra_camera::GetUVCExposureRequest_<std::allocator<void> >&, astra_camera::GetUVCExposureResponse_<std::allocator<void> >&)’中:
camera_driver.cpp:(.text+0x13f6):对‘uvc_get_exposure_abs’未定义的引用
CMakeFiles/camera_node.dir/src/libuvc_camera/camera_driver.cpp.o:在函数‘libuvc_camera::CameraDriver::setUVCExposureCb(astra_camera::SetUVCExposureRequest_<std::allocator<void> >&, astra_camera::SetUVCExposureResponse_<std::allocator<void> >&)’中:
camera_driver.cpp:(.text+0x1468):对‘uvc_set_ae_mode’未定义的引用
camera_driver.cpp:(.text+0x148a):对‘uvc_set_ae_mode’未定义的引用
camera_driver.cpp:(.text+0x15b4):对‘uvc_set_exposure_abs’未定义的引用
CMakeFiles/camera_node.dir/src/libuvc_camera/camera_driver.cpp.o:在函数‘libuvc_camera::CameraDriver::getUVCGainCb(astra_camera::GetUVCGainRequest_<std::allocator<void> >&, astra_camera::GetUVCGainResponse_<std::allocator<void> >&)’中:
camera_driver.cpp:(.text+0x1648):对‘uvc_get_gain’未定义的引用
CMakeFiles/camera_node.dir/src/libuvc_camera/camera_driver.cpp.o:在函数‘libuvc_camera::CameraDriver::setUVCGainCb(astra_camera::SetUVCGainRequest_<std::allocator<void> >&, astra_camera::SetUVCGainResponse_<std::allocator<void> >&)’中:
camera_driver.cpp:(.text+0x16a8):对‘uvc_set_gain’未定义的引用
CMakeFiles/camera_node.dir/src/libuvc_camera/camera_driver.cpp.o:在函数‘libuvc_camera::CameraDriver::getUVCWhiteBalanceCb(astra_camera::GetUVCWhiteBalanceRequest_<std::allocator<void> >&, astra_camera::GetUVCWhiteBalanceResponse_<std::allocator<void> >&)’中:
camera_driver.cpp:(.text+0x16f6):对‘uvc_get_white_balance_temperature’未定义的引用
CMakeFiles/camera_node.dir/src/libuvc_camera/camera_driver.cpp.o:在函数‘libuvc_camera::CameraDriver::setUVCWhiteBalanceCb(astra_camera::SetUVCWhiteBalanceRequest_<std::allocator<void> >&, astra_camera::SetUVCWhiteBalanceResponse_<std::allocator<void> >&)’中:
camera_driver.cpp:(.text+0x175a):对‘uvc_set_white_balance_temperature_auto’未定义的引用
camera_driver.cpp:(.text+0x1779):对‘uvc_set_white_balance_temperature_auto’未定义的引用
camera_driver.cpp:(.text+0x1797):对‘uvc_set_white_balance_temperature’未定义的引用
CMakeFiles/camera_node.dir/src/libuvc_camera/camera_driver.cpp.o:在函数‘libuvc_camera::CameraDriver::Start()’中:
camera_driver.cpp:(.text+0x180f):对‘uvc_init’未定义的引用
camera_driver.cpp:(.text+0x1830):对‘uvc_perror’未定义的引用
CMakeFiles/camera_node.dir/src/libuvc_camera/camera_driver.cpp.o:在函数‘libuvc_camera::CameraDriver::Stop()’中:
camera_driver.cpp:(.text+0x19c9):对‘uvc_exit’未定义的引用
CMakeFiles/camera_node.dir/src/libuvc_camera/camera_driver.cpp.o:在函数‘libuvc_camera::CameraDriver::ReconfigureCallback(libuvc_camera::UVCCameraConfig&, unsigned int)’中:
camera_driver.cpp:(.text+0x1b7e):对‘uvc_set_scanning_mode’未定义的引用
camera_driver.cpp:(.text+0x1d16):对‘uvc_set_ae_mode’未定义的引用
camera_driver.cpp:(.text+0x1ea3):对‘uvc_set_ae_priority’未定义的引用
camera_driver.cpp:(.text+0x204b):对‘uvc_set_exposure_abs’未定义的引用
camera_driver.cpp:(.text+0x21ef):对‘uvc_set_focus_auto’未定义的引用
camera_driver.cpp:(.text+0x237d):对‘uvc_set_focus_abs’未定义的引用
camera_driver.cpp:(.text+0x250a):对‘uvc_set_gain’未定义的引用
camera_driver.cpp:(.text+0x26a9):对‘uvc_set_iris_abs’未定义的引用
camera_driver.cpp:(.text+0x2831):对‘uvc_set_brightness’未定义的引用
camera_driver.cpp:(.text+0x29d1):对‘uvc_set_pantilt_abs’未定义的引用
CMakeFiles/camera_node.dir/src/libuvc_camera/camera_driver.cpp.o:在函数‘libuvc_camera::CameraDriver::ImageCallback(uvc_frame*)’中:
camera_driver.cpp:(.text+0x30b4):对‘uvc_yuyv2bgr’未定义的引用
camera_driver.cpp:(.text+0x30d5):对‘uvc_perror’未定义的引用
camera_driver.cpp:(.text+0x3188):对‘uvc_mjpeg2rgb’未定义的引用
camera_driver.cpp:(.text+0x31a9):对‘uvc_perror’未定义的引用
camera_driver.cpp:(.text+0x3249):对‘uvc_any2bgr’未定义的引用
camera_driver.cpp:(.text+0x326a):对‘uvc_perror’未定义的引用
CMakeFiles/camera_node.dir/src/libuvc_camera/camera_driver.cpp.o:在函数‘libuvc_camera::CameraDriver::OpenCamera(libuvc_camera::UVCCameraConfig&)’中:
camera_driver.cpp:(.text+0x47c0):对‘uvc_find_devices’未定义的引用
camera_driver.cpp:(.text+0x47e1):对‘uvc_perror’未定义的引用
camera_driver.cpp:(.text+0x4882):对‘uvc_unref_device’未定义的引用
camera_driver.cpp:(.text+0x49da):对‘uvc_open’未定义的引用
camera_driver.cpp:(.text+0x4ad4):对‘uvc_get_device_address’未定义的引用
camera_driver.cpp:(.text+0x4aed):对‘uvc_get_bus_number’未定义的引用
camera_driver.cpp:(.text+0x4c03):对‘uvc_strerror’未定义的引用
camera_driver.cpp:(.text+0x4c1c):对‘uvc_get_device_address’未定义的引用
camera_driver.cpp:(.text+0x4c35):对‘uvc_get_bus_number’未定义的引用
camera_driver.cpp:(.text+0x4c9c):对‘uvc_unref_device’未定义的引用
camera_driver.cpp:(.text+0x4cc3):对‘uvc_set_status_callback’未定义的引用
camera_driver.cpp:(.text+0x4d49):对‘uvc_get_stream_ctrl_format_size’未定义的引用
camera_driver.cpp:(.text+0x4d7a):对‘uvc_perror’未定义的引用
camera_driver.cpp:(.text+0x4d90):对‘uvc_close’未定义的引用
camera_driver.cpp:(.text+0x4da6):对‘uvc_unref_device’未定义的引用
camera_driver.cpp:(.text+0x4ec5):对‘uvc_print_diag’未定义的引用
camera_driver.cpp:(.text+0x4ef9):对‘uvc_start_streaming’未定义的引用
camera_driver.cpp:(.text+0x4f1a):对‘uvc_perror’未定义的引用
camera_driver.cpp:(.text+0x4f30):对‘uvc_close’未定义的引用
camera_driver.cpp:(.text+0x4f46):对‘uvc_unref_device’未定义的引用
camera_driver.cpp:(.text+0x4f74):对‘uvc_free_frame’未定义的引用
camera_driver.cpp:(.text+0x4fa1):对‘uvc_allocate_frame’未定义的引用
CMakeFiles/camera_node.dir/src/libuvc_camera/camera_driver.cpp.o:在函数‘libuvc_camera::CameraDriver::CloseCamera()’中:
camera_driver.cpp:(.text+0x514f):对‘uvc_close’未定义的引用
camera_driver.cpp:(.text+0x5171):对‘uvc_unref_device’未定义的引用
collect2: error: ld returned 1 exit status
ros_astra_camera-master/CMakeFiles/camera_node.dir/build.make:218: recipe for target '/home/sky/catkin_ws/devel/lib/astra_camera/camera_node' failed
make[2]: *** [/home/sky/catkin_ws/devel/lib/astra_camera/camera_node] Error 1
CMakeFiles/Makefile2:1327: recipe for target 'ros_astra_camera-master/CMakeFiles/camera_node.dir/all' failed
make[1]: *** [ros_astra_camera-master/CMakeFiles/camera_node.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j8 -l8" failed

可以看出是libuvc的使用问题,提示未定义的引用,考虑是libuvc头文件出了问题,camera_driver.cpp 找不到头文件
使用linux指令

locate libuvc.h

找到所有的libuvc头文件,删除之前安装的多余的libuv.h,再次编译即可

乐视三合一体感摄像头(Orbbec Astra Pro)在ROS下安装使用相关推荐

  1. 全网最详细 Opencv + OpenNi + 奥比中光(Orbbec) Astra Pro /乐视三合一体感摄像头LeTMC-520 + linux 环境搭建

    本文参考 Using Orbbec Astra 3D cameras C++20学习:基于Ubuntu系统编译gcc10.2.0 linux下编译安装opencv生成opencv.pc 摄像头方案 / ...

  2. 奥比中光 astra 乐视三合一体感摄像头采集深度图彩色图并保存

    本文参考的文章: 目录 ROS下开发 运行ROS节点 查看相机的话题及画面 订阅画面并保存 Python环境下开发 调用摄像头并保存采集画面 C++环境下开发 C++环境配置 代码编译 ROS下开发 ...

  3. 乐视三合一体感摄像头Astra pro开发记录1(深度图、彩色图及点云简单显示)

    在某鱼上淘的乐视三合一体感摄像头,捡漏价九十几块,买来玩玩. 网上已经有一些关于此款摄像头的开发资料. 官方的开发资料:官网链接 按官方网站以及其他帖子,下载并安装相机的驱动和SDK,不难配置好相机. ...

  4. 乐视三合一体感摄像头Astra pro开发记录2(Qt界面)

    本文是在上一篇文章乐视三合一体感摄像头Astra pro开发记录1(深度图.彩色图及点云简单显示)的基础上写的.在开学之前终于把界面的基础功能做完了,估计还有一些bug,也没时间继续调了.开学之后得憋 ...

  5. 乐视三合一体感摄像头LeTMC-520

    这款体感摄像头其实就是奥比中光摄像头(Orbbec Astra Pro)的乐视版 1. 介绍 乐视三合一体感摄像头的各个功能模组分部图,包括两个MIC麦克风,一个红外投影模组,一个面部接近感知模组,一 ...

  6. 乐视三合一体感摄像头--基本信息及windows下部分开发

    乐视三合一体感摄像头--基本信息及windows下部分开发 Introduction 基本信息 Windows下使用 安装驱动 使用openNI 使用imageJ 调用RGB图像 Q: 参考资料 In ...

  7. 乐视三合一体感摄像头--windows下的开发2

    乐视三合一体感摄像头--windows下的开发 Introduction 环境配置过程 参考资料 后言 Introduction 解决上篇教程乐视三合一体感摄像头–基本信息及windows下部分开发: ...

  8. 乐视三合一体感摄像头开发(捡漏)笔记——100块要啥自行车

    乐视三合一体感摄像头开发(捡漏)笔记 不久前在闲鱼上淘了一个乐视体感摄像头,这是乐视之前做的一款周边硬件,它当时是对标Kinect的,该有的结构一点不差,然而乐视凉凉之后,这个摄像头价格也从八九百降到 ...

  9. 乐视三合一摄像头和kinect_乐视三合一体感摄像头开箱体验

    很高兴我能成为第一批乐视三合一体感摄像头使用乐迷,说起这款摄像头可以说是业内良心产品.深度分辨率:1280*1024.工作距离可以达到4米,独创体感识别.骨骼识别和拍照摄像头三合一休,可同时支持6人玩 ...

  10. 乐视三合一摄像头和kinect_乐视三合一体感摄像头快评测,看看到底怎么玩?

    原标题:乐视三合一体感摄像头快评测,看看到底怎么玩? 说起"体感",也许很多人都不知道,即使知道也仅限于Kinect,其实乐视早就开始了这方面的探索.先是之前的3D体感摄像头,现在 ...

最新文章

  1. 零编程基础学python-零编程基础怎么自学python?
  2. mysql索引篇之覆盖索引、联合索引、索引下推
  3. vuecli3修改html,vue-cli3多页应用改造
  4. C# 设置当前程序调用的dll文件以及其他文件的寻址路径
  5. 算算奖学金(洛谷P1051题题解,Java语言描述)
  6. chrome浏览器允许跨域
  7. idea提示不区分大小写,解决方法
  8. 基于GPU的医学图像三维重建体绘制技术综述
  9. 热烈庆贺:一个月,由70名升级为60名!
  10. java鼠标左键拖拽事件_探索神秘的js拖拽事件
  11. 力扣题目算法分类【持续更新】
  12. matlab画图数据分析,Matlab绘图教程(大量经典实例)解析.ppt
  13. Unity shader入门精要-第一章笔记
  14. 数据分析师真实的工作是怎样的,这篇文章带你看他们的职责
  15. 6.Celeste Headlee: 10 ways to have a better conversation | TED Talk
  16. 基于沙猫群优化算法的函数寻优算法
  17. Kotlin Suppress 的非常规用法
  18. 不能说的hidden
  19. 小白学java的一些忠告 第一季
  20. PP-YOLOE论文解析

热门文章

  1. python程序设计基础山东联盟化工集团有限公司_智慧树app答案微信公众号,Python程序设计基础(山东联盟)知到答案...
  2. 程序启动时的黑屏问题
  3. 高保真Axure原型设计实战 - 自适应后台框架
  4. 计算机的过程控制领域举例,14 过程控制系统.doc
  5. 高温环境对三极管性能的影响
  6. 【Google地球环游世界】Google Earth Pro for Mac 7.3.2
  7. xbee模块和单片机_美国DIGI公司的XBee模块无线通讯实验
  8. 31各省首字母排序、国外国家名排序(中文首字母)
  9. Android中模拟点击的两种方式
  10. 深度学习系列7:fastai