精华内容
下载资源
问答
  • 奥比中光深度相机ROS配置说明,实现RVIZ查看深度信息
  • 奥比中光深度相机使用笔记一

    千次阅读 2020-10-04 15:37:59
    一、基本信息 ... ... ... 使用的型号为:Astra S ,这款比较相对适合...(1)深度相机(RGBD)包含两部分数据,RGB和Depth深度数据,RGB的存储方式很多,大家也很熟悉,深度数据一般为16bit,进行存储的使用可以使用OpenCV的c

    一、基本信息

    公司官网:http://www.orbbec.com.cn/

    淘宝网店:https://shop142544700.taobao.com/

    开发社区:https://developer.orbbec.com.cn/develop.html

    使用的型号为:Astra S ,这款比较相对适合近距离应用

    二、小知识总结

    (1)深度相机(RGBD)包含两部分数据,RGB和Depth深度数据,RGB的存储方式很多,大家也很熟悉,深度数据一般为16bit,进行存储的使用可以使用OpenCV的cv::Mat类型,保存到文件的时候,使用png文件格式,曾经一度以为png是压缩数据格式,后来才发现存的是原图,16bit的uint16数据存为bmp会损失精度,变成uint8。

    (2)深度数据相机部分和彩色相机部分,可视角度是不一样的,中心点也是不一样的,采集到的数据不是一一对应的。

    (3)官方提供的例子程序组合后可以同时采集深度数据和彩色数据,存为ply文件后,可以使用MATLAB的pcread和pcshow进行读取和显示。

     

    备注:深度相机相对于双目相机的优点是深度信息分辨率高,现在很多手机上的人脸识别就是使用的RGBD结构光相机。

     

    展开全文
  • 本文记录一下在Ubuntu16.04 ros kinetic 下使用奥比中光深度相机进行测试rgbd-slam v2的一些过程。 如果你参考的是其他人的博客(大部分),大都是去git clone 作者的源码,然后下载编译eigen、g2o、pcl、、、、,...

    本文记录一下在Ubuntu16.04 ros kinetic 下使用奥比中光深度相机进行测试rgbd-slam v2的一些过程。
    如果你参考的是其他人的博客(大部分),大都是去git clone 作者的源码,然后下载编译eigen、g2o、pcl、、、、,然后发现各种错误,然后又各种修改,,然后又各种错误、、、、、、、、
    当然,成功也是会成功的。只不过,,,,,,,作者给我们写了一个安装文件,直接安装就行了。对,就这么简单。。。。。。。。

    1、准备工作

    Ubuntu16.04+ros-kinetic
    这个的安装去网上搜,我就不写了。注意一点,因为我们是需要接传感器的,所以别在虚拟机里面做这一套,要么双系统,要么Ubuntu系统。
    奥比中光驱动安装以及bug解决,可以参考他人的博客,也可以参考我的。https://blog.csdn.net/Numberors/article/details/105637209

    2、在ros中安装rgbd-slam v2

    前面我说过了,作者给我们写了个安装文件,不需要我们再一步一步去安装那么麻烦了,作者的GitHub链接:
    https://github.com/felixendres/rgbdslam_v2

    你会发现有一个文件名字是:install.sh
    你把他下载下来,然后在你下载的路径处打开终端,输入:

    bash install.sh

    然后终端提示你敲回车之类的,等待自动安装与编译完成(这个过程最好确认你的网络保持健康状态)。结束后会在这个目录下生成一个“Code”文件夹,这就是orb-slam2的整个工程。

    3、数据集测试

    下载数据集测试,网址:
    https://vision.in.tum.de/data/datasets/rgbd-dataset/download#freiburg1_xyz
    下载.bag后缀的文件。
    如果网络不好的话,我把其上传在网盘里了:
    链接:https://pan.baidu.com/s/1mb4FeVEI35qy5k-3sTsXlQ
    提取码:xbht
    接下来去到rgbd-slam v2里面找到launch文件,需要修改一些地方,我直接贴出来,也可以把我给的当作你的数据集测试launch文件。

    <launch>
      <node pkg="rgbdslam" type="rgbdslam" name="rgbdslam" cwd="node" required="true" output="screen"> 
        <!-- Input data settings-->
        <param name="config/topic_image_mono"              value="/camera/rgb/image_color"/> 
        <param name="config/topic_image_depth"             value="/camera/depth/image"/>
        <param name="config/topic_points"                  value=""/> <!--if empty, poincloud will be reconstructed from image and depth -->
        <!-- These are the default values of some important parameters -->
        <param name="config/feature_extractor_type"        value="ORB"/><!-- also available: SIFT, SIFTGPU, SURF, SURF128 (extended SURF), ORB. -->
        <param name="config/feature_detector_type"         value="ORB"/><!-- also available: SIFT, SURF, GFTT (good features to track), ORB. -->
        <param name="config/detector_grid_resolution"      value="3"/><!-- detect on a 3x3 grid (to spread ORB keypoints and parallelize SIFT and SURF) -->
        <param name="config/max_keypoints"                 value="600"/><!-- Extract no more than this many keypoints -->
        <param name="config/max_matches"                   value="300"/><!-- Keep the best n matches (important for ORB to set lower than max_keypoints) -->
        <param name="config/min_sampled_candidates"        value="4"/><!-- Frame-to-frame comparisons to random frames (big loop closures) -->
        <param name="config/predecessor_candidates"        value="4"/><!-- Frame-to-frame comparisons to sequential frames-->
        <param name="config/neighbor_candidates"           value="4"/><!-- Frame-to-frame comparisons to graph neighbor frames-->
        <param name="config/ransac_iterations"             value="100"/>
        <param name="config/cloud_creation_skip_step"      value="2"/><!-- subsample the images' pixels (in both, width and height), when creating the cloud (and therefore reduce memory consumption) -->
        <param name="config/cloud_display_type"            value="POINTS"/><!-- Show pointclouds as points (as opposed to TRIANGLE_STRIP) -->
        <param name="config/pose_relative_to"              value="largest_loop"/><!-- optimize only a subset of the graph: "largest_loop" = Everything from the earliest matched frame to the current one. Use "first" to optimize the full graph, "inaffected" to optimize only the frames that were matched (not those inbetween for loops) -->
        <param name="config/backend_solver"                value="pcg"/><!-- pcg is faster and good for continuous online optimization, cholmod and csparse are better for offline optimization (without good initial guess)-->
        <param name="config/optimizer_skip_step"           value="1"/><!-- optimize only every n-th frame -->
      </node>
    </launch>
        
    

    先启动rgbd的launch文件,再启动相机的launch文件,再rosbag play ****.bag就可以看到数据集的测试效果。
    在rgbd-slam2的界面顶部菜单栏,可以点击save,保存为point_cloud,默认的保存地址是code/rgbdslam_catkin_ws/devel/lib/rgbdslam路径下。
    接着,在该路劲下输入:rosrun pcl_ros pcd_to_pointcloud quicksave.pcd
    终端输入:rviz
    然后在rviz中选择fixed frame为base_link,add中选择point_cloud2,topic中选择/cloud_pcd,
    然后就可以显示你刚刚跑出的点云。

    4、奥比中光摄像头来进行测试

    在rgbdslam的launch文件夹下新添一个launch文件,内容如下:

    <!-- This file shows the most important parameters in their default settings,
         to make them easily available for beginners.
         The openni driver has to be started seperately, e.g. with "roslaunch openni_launch openni.launch" -->
    <launch> 
    <node pkg="rgbdslam" type="rgbdslam" name="rgbdslam" cwd="node" required="true" output="screen">
    
    <!-- Input data settings-->
     <param name="config/topic_image_mono"              value="/camera/rgb/image_raw"/> 
     <param name="config/topic_image_depth"             value="/camera/depth/image"/> 
     <param name="config/camera_info_topic"             value="/camera/depth/camera_info"/>
    
    <remap from="/camera/depth/camera_info" to="/camera/depth/camera_info"/>
    <remap from="/camera/rgb/camera_info" to="/camera_info"/>
    
    <param name="config/topic_points"                  value=""/> <!--if empty, poincloud will be reconstructed from image and depth -->
    <!-- These are the default values of some important parameters -->
    <param name="config/feature_extractor_type"        value="ORB"/><!-- also available: SIFT, SIFTGPU, SURF, SURF128 (extended SURF), ORB. --> 
    <param name="config/feature_detector_type"         value="ORB"/><!-- also available: SIFT, SURF, GFTT (good features to track), ORB. --> 
    <param name="config/detector_grid_resolution"      value="3"/><!-- detect on a 3x3 grid (to spread ORB keypoints and parallelize SIFT and SURF) --> 
    <param name="config/optimizer_skip_step"           value="15"/><!-- optimize only every n-th frame -->
    <param name="config/cloud_creation_skip_step"      value="2"/>
    
    <!-- subsample the images' pixels (in both, width and height), when creating the cloud (and therefore reduce memory consumption) -->
    
    <param name="config/backend_solver"                value="csparse"/><!-- pcg is faster and good for continuous online optimization, cholmod and csparse are better for offline optimization (without good initial guess)--> <param name="config/pose_relative_to"              value="first"/><!-- optimize only a subset of the graph: "largest_loop" = Everything from the earliest matched frame to the current one. Use "first" to optimize the full graph, "inaffected" to optimize only the frames that were matched (not those inbetween for loops) --> 
    <param name="config/maximum_depth"           value="2"/> <param name="config/subscriber_queue_size"         value="20"/>
    <param name="config/min_sampled_candidates"        value="30"/><!-- Frame-to-frame comparisons to random frames (big loop closures) -->
     <param name="config/predecessor_candidates"        value="20"/><!-- Frame-to-frame comparisons to sequential frames--> 
    <param name="config/neighbor_candidates"           value="20"/><!-- Frame-to-frame comparisons to graph neighbor frames--> 
    <param name="config/ransac_iterations"             value="140"/>
    <param name="config/g2o_transformation_refinement"           value="1"/> 
    <param name="config/icp_method"           value="icp"/> <!-- icp, gicp ... --> <!--
    <param name="config/max_rotation_degree"           value="20"/>
    <param name="config/max_translation_meter"           vawlue="0.5"/>
    <param name="config/min_matches"           value="30"/>   
    <param name="config/min_translation_meter"           value="0.05"/>
    <param name="config/min_rotation_degree"           value="3"/>
    <param name="config/g2o_transformation_refinement"           value="2"/>
    <param name="config/min_rotation_degree"           value="10"/>
    <param name="config/matcher_type"         value="SIFTGPU"/>
     --> 
     </node> 
    </launch>

    启动顺序还是,rgbdslam的launch文件,然后相机的launch文件,即可看到结果。

    展开全文
  • After initialization: Warning: USB events thread - failed to set priority. This might cause loss of data... SimpleViewer: Couldn't start color stream:

    After initialization:
    Warning: USB events thread - failed to set priority. This might cause loss of data…SimpleViewer: Couldn’t start color stream:

    sudo -s

    展开全文
  • [ INFO] [1579080421.139074113]: No matching device found… waiting for devices. Reason: std::__cxx11::string openni2_wrapper::OpenNI2Driver::resolveDeviceURI(const string&) @ /tmp/binarydeb/ros-k...

    [ INFO] [1579080421.139074113]: No matching device found… waiting for devices. Reason: std::__cxx11::string openni2_wrapper::OpenNI2Driver::resolveDeviceURI(const string&) @ /tmp/binarydeb/ros-kinetic-openni2-camera-0.4.2/src/openni2_driver.cpp @ 787 : Device not found

    实际该问题是openni2.launch问题 其中在usb总线上找到的设备不对。

    问题再这里和下面一些代码

    <arg name="device_id" default="#1" doc="device_id can have the following formats: '#1'  : the first device found '2@X' : the Xth device on USB bus 2"/>
    <arg name="id_manufacturer" default="1d27"  doc="Vendor ID of the sensor (maintained at http://www.linux-usb.org/usb-ids.html). Default: ASUS."/>
    <arg name="id_product" default="0601" doc="Product ID of the sensor. Default: Xtion."/>

    可以对照 astra.launch修改/opt/ros/kinetic/share/openni2_launch/launch/openni2.launch,省事的话直接替换掉,不过最好做个备份

    展开全文
  • 奥比中光3D体感摄像头 windows平台下的sdk和开发手册 ,深圳奥比中光科技有限公司。 支持win32 和 x64
  • Astra pro深度相机是乐视与奥比中光合作的体感相机,对标微软Kinect,可用于三维重建,SLAM学习,也可以作为免驱UVC摄像头体感摄像头使用。 相机参数 二,Windows下直接使用OBNiViewer.exe这个exe来实现可视化 ...
  • Error - expect color and depth to be in same ...在奥比中光上下载的最新版的OpenNI版的linux版本中出现Error - expect color and depth to be in same resolution: D: 640x400, C: 640x480 这个错误是因为其O...
  • 奥比中光深度感应器工作原理

    千次阅读 2017-03-09 14:24:26
    奥比中光深度感应器工作原理 Astra设备中3D深度感应模块所使用的技术称为光编码技术(Light Coding),这是一种 光学式技术。其本质就是产生一张红外激光编码图(IR Light Coding Image),透过红外线投影机打到...
  • 运行实例:NiWrapper.Net\Samples\bin\x86_Debug\NiViewer.Net.exe 可以调用深度镜头,color镜头,红外镜头,得到视频流 包含C#源程序 实现:C#是调用C++编译后的dll
  • ROS 深度相机 奥比中光

    千次阅读 2017-11-29 09:21:07
    使用./SimpleViewer和./ClosestPointViewer,注意传感器特性,深度视觉0.4-8.0米,如下: 安装ROS功能包,以kinetic为例,indigo类似: [html] view plain copy print ? ...
  • 最近在ROS下跑rtabmap建图,用到了乐视体感三合一深度相机(其实就是奥比中光Astra Pro的乐视定制版),所以需要对相机进行标定,自己摸索一通,记录分享一下过程。 准备材料:Astra Pro相机一台,标定棋盘格(打印...
  • 使用filter driver,我们可以获得更精确的深度数据,但这会消耗更多的计算资源。如果程序将在嵌入式系统上执行,我们建议使用常规方法。 我么可以使用 -DFILTER=ON / OFF去开启关闭用下面这个命令: $ catkin_...
  • 奥比中光ROS驱动包安装地址:https://github.com/orbbec/ros_astra_camera 1.安装ROS 2.安装依赖 sudo apt install ros- $ ROS_DISTRO -rgbd-launch ros- $ ROS_DISTRO -libuvc ros- $ ROS_DISTRO -libuvc-camera ...
  • 出现的命令,大家可以自行体验一下,然后注意的是你按c的时候他就会自动的把深度图和rgb图保存在之前你解压的文件夹中:: 可以看出这都是raw文件,我们想要看这样子的文件还需要下载一个工具imageJ 下载地址...
  • 奥比中光(Astra S)双相机开发,深度相机轮流采集点云以及RGB图像
  • ros与深度相机入门教程-在ROS使用奥比中光Orbbec Astra Pro ros与深度相机入门教程-在ROS使用奥比中光Orbbec Astra Pro 说明: 介绍如何在ros安装和使用奥比中光Orbbec Astra Pro OrbbecAstra介绍 ...
  • 相机:Gemini 3D双目结构光深度相机 环境:Android7.1 软件:SDK中的java demo下的depthforopenni2 问题: 在Android样例depthforopenni2的OpenGLView中,读取深度数据后,转为点云并保存为文件,用点云工具查看点云...
  • 我的上一篇博文的解决办法是自己添加了启动文件,能够成功显示图像了。 今天无聊看了下Astro的官方ros驱动代码,其中有...1首先插入相机查看设备向量ID lsusb 看到如下: zhaojunyi@Robotic:~$ lsusb Bus 002...
  • ros:获取奥比中光摄像机数据

    千次阅读 2018-10-24 11:10:57
    cd /etc/udev/rules.d/ sudo gedit 56-orbbec.rules SUBSYSTEM==“usb”, ATTR{idProduct}“0400”, ATTR{idVendor}“2bc5”, MODE:=“0666”, OWNER:=“root”, GROUP:=“video” SUBSYSTEM==“usb”, ATTR{id...
  • MODE:="0666", OWNER:="root", GROUP:="video" 三,解决只有深度图像没有普通图像 安装uvc-camera包: sudo apt-get install ros-melodic-uvc-camera 更改:ros_astra_launch/launch/astra.launch 添加如下(注意把...
  • Astra奥比中光相机驱动&SDK,导库

    千次阅读 2020-08-21 17:19:16
    Astra奥比中光相机驱动&SDK,导库 https://blog.csdn.net/qq_15204179/article/details/107706758 Astra奥比中光相机驱动&SDK Astra(orbbec奥比中光)乐视相机相关驱动,本教程针对Windows和Ubuntu14.04=...
  • 使用奥比中光Orbbec Astra Pro在ROS下跑orb_slam2

    千次阅读 热门讨论 2020-03-14 15:30:06
    使用奥比中光Orbbec Astra Pro在ROS下跑orb_slam2一、奥比中光摄像头驱动1. Install ROS1) Create a ROS Workspace(if you don't have one)2) Create a .sh documentation2. Install dependences3. Pull the ...
  • Astra设备中3D深度感应模块所使用的技术称为光编码技术(Light Coding),这是一种 光学式技术。其本质就是产生一张红外激光编码图(IRLight Coding lmage),透过红外线投影机打到空间中,也就是用红外线发出发射前...
  • 对Astra S深度相机的操作又进行封装一次,工程文件和第三方库文件在我的资源中有下载 工程包含目录为: //按照自己的路径进行更改 D:\Program Files\ThirdParty\OpenNI2\Include D:\Program Files\ThirdParty\OpenCV...
  • 项目地址:https://github.com/robotBing/skeleton_follow

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 318
精华内容 127
关键字:

奥比中光深度相机