7 Replies Latest reply on Sep 21, 2017 6:39 AM by MartyG

    Realsense SR300's measured distance is inaccurate

    dong_ym

      I have use the the point cloud data of realsense sr300 to achieve the robot avoidance obstacle, but I find that the point cloud of obstacle is incorrect, the measure distance is shorter than the actual distance. I use the ros(indigo)under ubuntu system, and use the Intel official package realsense_camera, launch the camera_driver use "roslaunch realsense_camera sr300_nodelet_rgbd.launch". I have make a test as follows:

         First, I put my robot in front of a wall, at first the camera detect the wall just as my lidar detected, the distance are almost the same, but wait a little longer time, the camera detect the wall much closer than the lidar detected, as show here.

                                                                     ____________ 2017-09-13 16_17_25.png

                                                                                                                                 Fig1.  The correct measure result

                                                                   ____________ 2017-09-13 16_52_06.png

                                                                                                                                                   Fig2 The incorrect result

       

            But when I launch the camera again, the result is OK. By the way I use the default parameter of the package, and I publish a static transform from the robot base_link to camera_link.

        • 1. Re: Realsense SR300's measured distance is inaccurate
          Intel Corporation
          This message was posted on behalf of Intel Corporation

          Hi,

          Thanks for your interest in the Intel RealSense Technology.

          Could you please provide more details about your robot? Which processor or development platform does it use? Additionally, please record a rosbag file when the issue occurs and sent it to us.

          Regards,
          -Yermi A.

          • 2. Re: Realsense SR300's measured distance is inaccurate
            dong_ym

            Hi,

            Well,  the robot is built by myself, and my processor‘s config is as follows:

               (1) CPU Info: Intel(R) Core(TM) i5-4210U cpu@1.70GHZ

               (2) memory: 3.77G

               (3) storge: 112G

            I only run the camera_node ,using "roslaunch realsense_camera  sr300_nodelet_rgbd.launch", such phenomenon  occurs occasionly, so I have record two relate bags: depth1.bag and depth2.bag.  The first bag is a wrong result. And the second bag is record under the same place as the first, I just relaunch the camera driver, the measure distance is right. I only record two topics: /camera/depth/points and /tf_static(This is also published  by the camera_driver).Here is the two bags:

                       bag1:              https://pan.baidu.com/s/1slsgw8l

                       bag2:             https://pan.baidu.com/s/1skLC04d

            I hope intel corporation  can help me solve this problem, by the way I have try another SR300 depth camera,this problem is also exist.

              Regards,

              -**** ym

            • 3. Re: Realsense SR300's measured distance is inaccurate
              Intel Corporation
              This message was posted on behalf of Intel Corporation

              Hi,
               
              We would like to let you know that the 4th Gen Intel Core is an unsupported processor for this camera. The RealSense SR300 is validated and supported only on processors 6th Gen Intel Core and above. Therefore, results on processors earlier than 6th Gen are indeterminate and we cannot vouch for the camera's behavior or accuracy. However, we will analyze the ROS bags to see if we can glean anything.
               
              Regards,
              -Yermi A.
               

              • 4. Re: Realsense SR300's measured distance is inaccurate
                dong_ym

                Hi,

                   Can you analyse something from the ROS bags, If you have some suggestions or advice , I can have a try. In my view, the processor of 4th Gen Intel core can driver the camera node , the measure accuracy should have no relation to the 4th Intel core or 6th core. And in my test, the camera node drive node often have a timeout error, and the imply is: "/camera/driver   - Error calling rs_wait_for_frames Timeout waiting for frames".  This is my problem, thank you.

                  Regards,

                -dongym

                • 5. Re: Realsense SR300's measured distance is inaccurate
                  Intel Corporation
                  This message was posted on behalf of Intel Corporation

                  Hi,
                   
                  Unfortunately, the links to the ROS bag files are broken so we have not been able to access them. The time out problem can be related to multiple causes. The depth camera transmits very large amounts of data. We have seen this error occur when a certified USB3 cable is not being used. Are you using an SR300 dev kit (peripheral) or an SR300 module (bare camera without the chassis)? Also, the 4th gen processor may be causing this issue. As stated, the camera has been proven to work only on 6th gen Intel Core processor or higher. Results on 4th gen Intel Core processor are indeterminate.
                   
                  Regards,
                  -Yermi A.
                   

                  • 6. Re: Realsense SR300's measured distance is inaccurate
                    dong_ym

                    Hi,

                     

                    Ok, I put the ROS bag on google cache, and the two links are:

                    bag1: depth1.bag - Google Drive

                    bag2: depth2.bag - Google Drive

                    And the USB3 cable we used is the SR300 manufacturer's accessory device,  the USB3 cable figure as follows:

                     

                                                      微信图片_20170921091623.jpg

                                                                                                       Fig1.    The USB3  cable

                    And I also try SR300 dev kit and an SR300 module, the phenomenon are same.

                     

                     

                    Regards,

                    _**** ym

                    • 7. Re: Realsense SR300's measured distance is inaccurate
                      MartyG

                      Disclaimer: I am not a RealSense robotics expert, and so my opinion on this subject should not be taken as fact. 

                       

                      At first, I wondered if there was drift in the environment mapping over time.  Thinking more about it though, I wonder if the misalignment in measurement of distance is because the camera's processing is lagging and so the value that it is showing does not represent a real-time measurement.

                       

                      As an example of what I mean ... in a PC game I am developing, the player character uses a 'raycast beam' as an obstacle radar that it projects in front of it.  If the raycast is detected as touching an object then the character stops walking / running.  A problem with this system though at present is that when the player character is running, if there is processing lag then the player character may collide with the obstacle because the  fast travel pace of the character means that the radar does not have time to detect the obstacle and halt forward motion before the collision occurs, because the processing lag meant that the radar could not react fast enough.

                       

                      If it is possible at some point for you to upgrade your camera, your robot may benefit from the new D435 camera being released in October, which is able to synchronize with external devices (and so may be able to keep in sync with your lidar better than the SR300).

                       

                      librealsense/external_devices.md at development · IntelRealSense/librealsense · GitHub

                       

                      You may equally benefit from using a 6th generation processor with your SR300 instead of a 4th generation one though.