乐视体感astra pro深度摄像头在ros系统获取 深度图像 彩色图像 无色彩点云数据 彩色点云数据

 

 

  • 1.astra pro深度摄像头介绍

  • 2.astra pro驱动安装

  • 3.astra pro获取深度图像   无色彩pointCloud2

  • 4.astra pro获取彩色图像  带彩色的pointCloud2

 

1.astra pro深度摄像头介绍

乐视体感astra pro深度摄像头在ros系统获取 深度图像 彩色图像 无色彩点云数据 彩色点云数据_第1张图片  

乐视体感astra pro深度摄像头在ros系统获取 深度图像 彩色图像 无色彩点云数据 彩色点云数据_第2张图片

摄像头有四个镜头,从左到右的镜头分别是1 ir发射源  2 最小距离传感器  3 彩色摄像头 4 ir接收器

 

2.astra pro驱动安装

2.1下载驱动及依赖

ubuntu16 kinetic及ubuntu18 melodic下载以下驱

OpenNI-Linux-x64-2.3.tar.bz2

$sudo apt-get install build-essential freeglut3 freeglut3-dev
$ldconfig -p | grep libudev.so.1
$cd /lib/x86_64-linux-gnu
$sudo ln -s libudev.so.x.x.x libudev.so.1

 

2.2编译驱动

 解压下载的OpenNI-Linux-x64-2.3驱动

$ cd OpenNI-Linux-x64-2.3
$ sudo chmod a+x install.sh
  • 安装
$ sudo chmod a+x install.sh
$ sudo ./install.sh

插拔摄像头,source环境

$ source OpenNIDevEnvironment
  • 编译
$ cd Samples/SimpleViewer
$ make
  • 连接设备,执行示例
$ cd Bin/x64-Release
$ ./SimpleViewer 

 

编译安装libuvc

$ cd ~
$ git clone https://github.com/ktossell/libuvc
$ cd libuvc
$ mkdir build
$ cd build
$ cmake ..
$ make && sudo make install
$ sudo cp /usr/include/libusb-1.0/libusb.h  /usr/local/include/libuvc/

 

2.3 安装ros的官方astra_launch  astra_camera libuvc rgbd包, ubuntu melodic的需要下载源码安装这些包,因为apt-get不到

如果提示源码安装找不到包,到ros wiki上更新一下本地的ros软件源

$ sudo apt-get install ros-kinetic-astra-camera 
$ sudo apt-get install ros-kinetic-astra-launch  
$ sudo apt-get install ros-kinetic-libuvc-*
$ sudo apt-get install ros-kinetic-rgbd-launch 

3.astra pro获取深度图像   无色彩pointCloud2

$ roslaunch astra_launch astra.launch  

打开rqt_image_view查看图像话题

$ rqt_image_view

乐视体感astra pro深度摄像头在ros系统获取 深度图像 彩色图像 无色彩点云数据 彩色点云数据_第3张图片

 

打开rviz查看无彩色点云数据

 

$ rviz

乐视体感astra pro深度摄像头在ros系统获取 深度图像 彩色图像 无色彩点云数据 彩色点云数据_第4张图片

 

4.astra pro获取彩色图像  带彩色的pointCloud2

因为astra的驱动无发布彩色图像,导致点云数据也无彩色数据.

有三种思路取解决:

  1.修改官方驱动

  2.修改ros的底层astra_camera 和 rgbd_launch 的适配

  3.另外新开一个节点监听无彩色pointCloud2数据和彩色数据,用彩色数据的rgb通道数值填充pointCloud2的rgbd的通道,在重新发布出来就是彩色的点云数据

 

这里采用第二种做法,第一做法难度大,第三做法耗电脑资源

4.1获取彩色图像

    这里采用ros的uvc_camera包来获取彩色图像

$ sudo apt-get install uvc_camera

新建一个launch文件来启动uvc_camera


  
         
        
        
        
        
    

/dev/video1时摄像头的设备号,查看一下摄像头的设备号

$ ls /dev

启动上面的launch文件

$ roslauch uvc.launch

使用rqt_image_view查看

乐视体感astra pro深度摄像头在ros系统获取 深度图像 彩色图像 无色彩点云数据 彩色点云数据_第5张图片

当然也可以采用usb_cam来获取彩色图像,参数ros wiki上有

 

4.2 校准彩色摄像头和深度摄像头

获取彩色点云数据需要对相机进行校准(个人感觉比kinect校准难,校准了好多遍)

校准深度摄像头

$ roslaunch astra_launch astrapro.launch
$ rosrun camera_calibration cameracalibrator.py image:=/camera/ir/image camera:=/camera/ir --size 8x6 --square 0.024

把校准得到的yaml文件的camera_name值设为 camera_name: depth_Astra_Orbbec

校准彩色摄像头

$ rosrun uvc_camera uvc_camera_node device:=/dev/video1 
$ rosrun camera_calibration cameracalibrator.py image:=/image_raw camera:=/ --size 8x6 --square 0.024

把校准得到的yaml文件的camera_name值设为 camera_name: rgb_Astra_Orbbec

 

创建launch文件



  
  
  
  

  
  
  
  

  
  

  
  

  
  

  
  
  
  

  
  
  
  

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  
  

  
  

  
  

        
        
         
        
          
          
          
        

    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    

    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    


  
         
        
        
        
        
        
        
        
        
        
    
   

  
  
    
  


 

自行修改ir 和 rgb两个文件的路径,启动这个launch文件打开rviz订阅/camera/depth_registered/points就可以看到彩色点云了

乐视体感astra pro深度摄像头在ros系统获取 深度图像 彩色图像 无色彩点云数据 彩色点云数据_第6张图片

 

总结:后期可以利用这些数据进行opencv tensorFlow 开发,及move_base的导航

 

你可能感兴趣的:(Ros,astra,ros摄像头,乐视摄像头)