View my account

Depth analysis for high speed moving products with external trigger

Comments

7 comments

  • MartyG

    Hi Noumanqaiser  The fast-motion depth capture capabilities of the D435 are demonstrated in the YouTube video linked to below, where the camera is attached to a vehicle travelling at speed on a highway.

    https://youtube.com/watch?v=OwJmCyAn3JQ

    In regard to the laser trigger aspect of your questions above, I will refer that to RealSense team member @...

     

    0
    Comment actions Permalink
  • Noumanqaiser

    Thanks MartyG, The idea of hardware trigger using an external sensor is simple, instead of grabbing many frames and trying to analyze each, we just grab one frame when the product is in the perfect orientation. The products pass on the conveyor fast, at a speed of around 2m/s(8km/hr). What we want to ensure is when we trigger the camera using an exterma 3.3v or a 24v digital signal, the camera grabs a sharp depth image. As I mentioned the overall products that would pass in front of the camera per second would be less than 6 pcs/s, so while framerate is not a challenge, the challenge is to capture maximum depth detail without blur.

     

    if this does work out,this can open opprtunities for us to deploy realsense for quality inspection on high speed production lines. Looking forward to hear from you.

     

    Nouman

    0
    Comment actions Permalink
  • MartyG

    If your priority is the contents of the conveyor and not the details either side of the conveyor then using the high speed capture mode supported by the D435 may be useful for you.  It enables 300 FPS whilst only having the processing demands of 90 FPS by limiting the field of view to 848x100 (the center region of the FOV).  This mode, and the subject of motion blur, is discussed in Intel's white-paper document on the subject.

    https://dev.intelrealsense.com/docs/high-speed-capture-mode-of-intel-realsense-depth-camera-d435

    0
    Comment actions Permalink
  • Noumanqaiser

    Thanks for that info MartyX Grover. We will try that out. I understood from some sources that the camera can be triggered using a function generator. Would that mean we could also use the same functionality to trigger the camera on a rising edge of a digital signal six times a second.

    Looking forward to inputs from @... aswell.

     

    0
    Comment actions Permalink
  • MartyX Grover

    Yes, a signal generator can be used, with an example of such a setup shown in the image below (which features an Arduino Micro with a level-shifter to bring the sync signal to 1.8V). 

    A member of the RealSense support team on this forum can discuss with you which kind of triggering solution may suit your particular application.

     

    0
    Comment actions Permalink
  • Noumanqaiser

    Hi MartyG Many thanks for the reply. 

    I have gone through the manual and the documentation to understand the external triggering process better:

    In this article(https://dev.intelrealsense.com/docs/multiple-depth-cameras-configuration) in the section on External Triggers, I have a confusion about width of the pulse and why it is relevant when operating camera at a very low framerate.

    In the application I am working on, I need depth information from one or more cameras only once a second. (We only need to capture depth information only when the product in perfectly in front of the camera on a conveyor, for the purpose of analysis, capturing other frames when the product is arriving in position or leaving is useless and not needed for any analysis).

    Given the requirement above, do we still need to ensure the pulse width of the trigger must be 100us? The pulse is likely to be generated by a laser retroreflective sensor on a conveyor, this means the pulse will stay 'high' for a pretty long time(~1 second while the product passes on the conveyor and obstructs the sight of laser sensor). 

    My question is, what happens if my trigger pulse stays high for a pretty long time. Assume that we need only 1 frame of information at  the rising edge of the pulse, while the pulse stays high, I donot need to obtain any additional frames/depth information from the camera. So in simple words, if my trigger pulse stays high for 1 second, do I still capture a good frame only at the start of the pulse?

    I would really appreciate your support to help move to a pilot stage.

    Thanks

    Nouman

    0
    Comment actions Permalink
  • MartyX Grover

    I am not a specialist in the External Synchronization system, though I will try my best to provide helpful guidance for your particular project.

    When the trigger pulse is initiated, there will be a delay period between triggering and exposure.  This is described in the Principles of Operation section of the External synchronization white-paper document (linked to below).

    https://dev.intelrealsense.com/docs/external-synchronization-of-intel-realsense-depth-cameras#section-2-principles-of-operation

    "Once the trigger arrives, exposure will start ... this detail is important to note when temporally synching with events from other cameras or devices, as there is up to 1 frame delay between trigger and readout.  Since the stereo camera exposure is global shutter, the camera sensor will accumulate charge during the exposure time, and when done, it will read it out".

     

    The Chief Technology Officer  of the RealSense Group at Intel (agrunnet) recently provided advice about the maths of the External Synchronization system's delay period in the link below.

    https://github.com/IntelRealSense/librealsense/issues/9220#issuecomment-866188403

    That comment is part of a larger discussion about the subject of delay after triggering that is worth reading from the beginning.

    My understanding is that exposure will begin when the trigger pulse starts, not when it falls back to zero.   This is illustrated in the graph in the Principles of Operation section, where the start point of the trigger (green) is the same as the start point of exposure (red). 

     

     

    To quote a comment I made in the linked-to case regarding the relationship between the trigger pulse (green) and exposure timing (red): it may be easier to visualize if the trigger pulse and the exposure time are treated as separate entities - once the trigger is initiated then the delay period before start of read-out begins, but the job of the trigger pulse is now completed and it falls back to zero whilst the exposure-time process carries on.

    It would be like putting a box on wheels at the top of a hill. The box requires an initial push to get moving, but then it rolls down the hill on its own without further interaction from the hand that pushed it.

    0
    Comment actions Permalink

Please sign in to leave a comment.