Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Realsense D435 IR Laser not visible on Slave camera with short exposure time. #10089

Closed
PorschefanRoel opened this issue Dec 22, 2021 · 12 comments

Comments

@PorschefanRoel
Copy link

PorschefanRoel commented Dec 22, 2021


Required Info
Camera Model D430
Firmware Version Tested both with 05.12.15.50 and 05.13.0.50
Operating System & Version Win 10
Kernel Version (Linux Only) -
Platform PC
SDK Version Realsense Viewer v2.49.0
Language {C#}

We have the following setup and seem to have a problem with the HW Sync combined with the internal laser

D435 Master (Inter Cam Sync Mode 1) D435 Slave (Inter Cam Sync Mode 2)
Both cameras are point in the same direction, with a distance of +/- 45cm between them, and the object is around 50cm away.

The following settings are set fixed:
Resolution: 848x480
FPS: 6
Exposure Time: 1000
Laser Power: 360
Gain: 16

image

As can be seen, the master gives a descent depth image and on the IR image can be seen that the IR Laser is working.
But the Slave D435 is messy and doesn't show any laser data on the IR image.

When I slowly increase the Exposure to 1100, 1200, 1300 etc. Then slowly a laser is becomming visible int the IR image

When the exposure is 1600 this is visible:
image

Can it be that the laser is slightly out of sync with the capturing of the images, or can it be any other problem?

When selecting Emitter On Off on the Slave Camera, I can see on the master IR image that the laser is actually flashing, but it is not shown in the slave IR
EmitterOnOff

When selecting the option Emitter Always On on the slave camera, there still isnt a stable IR Light:
EmitterAlwaysOn

When I Set the slave camera to stand alone (Inter Cam Sync Mode 0), the IR Seems to work without any problems:
image

Can it be that the Slave get slightly out of sync due to it being controlled by the Master Camera.
I do need the Exposure time, Laser Power and Gain to be like this. And in the future I will need the Camera Sync.

Basicly there are 2 issues:
In Slave Mode the IR Laser is not visible
When selecting Laser Always On, the laser is flashing instead of stable on.

This problem occurs on multiple test setups, Always with the slave not showing an IR laser
Is this a problem in the Realsense Firmware, or am I configuring something wrong?

@PorschefanRoel PorschefanRoel changed the title IR Laser not visible on Slave camera with short exposure time. Realsense D435 IR Laser not visible on Slave camera with short exposure time. Dec 22, 2021
@MartyG-RealSense
Copy link
Collaborator

Hi @PorschefanRoel In #8129 (comment) a RealSense team member advises that because the D435's projector pulses in line with exposure, if there are two D435 that are not currently successfully hardware synced then sometimes their pulses will be on at same time and sometimes not. It is suggested to set both cameras' projectors to Always On or use hardware sync (which you have been attempting to do).

Can you confirm please whether you have created a hardware sync cable to join the two cameras together using their external hardware sync pins that are underneath a small cover on the top of the camera casing, as described in the hardware sync guide linked to below.

https://dev.intelrealsense.com/docs/multiple-depth-cameras-configuration

image

Unless the cameras are joined with such a cable, or you are alternatively generating a master 'trigger pulse' signal using external signal generator hardware, then the cameras will not hardware-sync even if Inter Cam Sync Mode settings have been defined.

I also note on the slave camera images that its timestamp is in red text, suggesting that the software timestamp (system time) is being used rather than the hardware timestamp on the master camera whose timestamp is in normal white text.

@PorschefanRoel
Copy link
Author

PorschefanRoel commented Dec 22, 2021

I indeed have a sync cable connected (purle on both sides to pin 5, black to pin 9)
WhatsApp Image 2021-12-22 at 13 43 05
WhatsApp Image 2021-12-22 at 13 43 12

To better see it's orientation, this is how the cable looks when connected to the D435:
WhatsApp Image 2021-12-22 at 14 00 16

I saw that I hadn't Enabled the "Frame Metadata" message when I started the Realsense software. So after enabling the "Frame Metadata", I immediately started the streams (as master & slave), but forgot to set the resolution to my desired 848x480 (so it was running on 640x480). Then the laser was visible on both images and all timestamps where white:
image

Then I stopped the cameras, set it to 848x480, all other settings are unchanged. And the laser was again no longer visible. Times where still shown in white
image

When I stop the camera streams again, move back to 640x480, the laser will stay not visible. When I then stop the cameras, close the Realsense Viewer, open the realsense viewer again and start the stream again on 640x480. The laser is visible again.
image

When I stop the streams, close the Realsense Viewer, Open the realsense viewer, set resolution to 848x480, the laser is not visible.

During all these runs the timestamps stayed white.

When turning only 1 camera on (the master) and turning on the setting "Emitter Always On", the emitter still seems to do some flashing, depth image becomes worse and on the IR image you can see the Laser flickering
EmitterAlwaysOn2

@MartyG-RealSense
Copy link
Collaborator

Thanks @PorschefanRoel for the very detailed feedback. If you reboot the computer, launch the Viewer and set both cameras to 848x480, is the laser visible? If it was then it might suggest that the problem is occurring when the streams are stopped and then started.

@PorschefanRoel
Copy link
Author

PorschefanRoel commented Dec 22, 2021

And thank you for the fast response.
This are the steps I've done:

Shut Down PC
Startup PC
Startup Realsense Viewer
Now 1 realsense viewer is shown in the bar
Expand "Stereo Module" menu
Set "Resolution" to 848x480
Set "FPS" to 6
Disable "Auto Exposure"
Expand "Controls"
Set "Exposure" to "1000"
Set "Laser Power" to "360"
Set "Inter Cam Sync Mode" to 1
Collapse "Stereo Module"
Start Camera
image

Master camera is now started

Click "Add Source"
Do the exact same steps as above, until "Inter Cam Sync Mode", have set that to 2.
image

But unfortunatly, still no laser on the slave.
image

What I did find out was that the runs where the laser was shown on 640x480. The FPS was run on 15FPS, instead of 6, when running on 6FPS and 640x480, there is also no laser shown. The problem thus occurs on multiple resolutions, when run on 6FPS.

After this discovery I thought, maybe the 848x480, does also work when running on 15FPS.
Unfortunatly, in our final design, we can't use USB3.0, due to the length of a USB cable, so a USB2.1 cable was used. As the 15FPS wasn't supported on USB2.1, I connected a 3.2 USB cable and connected it.
Then started it up, selected 15FPS and 848x480 and started both on 15FPS. And indeed on both the laser is shown.

Now moved back to 6FPS and 848x480, on the USB3.2 cable. And still both lasers where working.
image

Also when selecting the "Emitter Always On" does now no longer give the weird flashing behaviour.

Is it possible that this problem occurs due to USB2.1 cables? If so, I cannot explain to myself why it does work on 15FPS 640x480, and not on 6FPS 640x480?

The problem thus occurs when using:
USB2.1
only on 6FPS (15FPS isn't a problem on USB 2.1)
Exposure 1000
Sync slave devices

@MartyG-RealSense
Copy link
Collaborator

MartyG-RealSense commented Dec 22, 2021

In general I would recommend avoiding 6 FPS and using 15 FPS if possible, as errors as more likely to occur at 6 that disappear at 15. At 6 FPS, frames may be arriving slowly enough that the pipeline time-outs while waiting for new frames to arrive.

One way to avoid such problems may be to stream at a higher FPS but simulate a lower frequency by only handling every 'nth' frame, such as setting 30 FPS and using only every 5th frame to achieve 6 FPS. The link below provides more information about this.

https://support.intelrealsense.com/hc/en-us/community/posts/360043865234/comments/360011260594

@PorschefanRoel
Copy link
Author

Due to the current 2.0 cable it isn't possible for us to use the 15FPS at the required 848x480 resolution, so we will keep using the 6FPS for now and turn off the Sync. If that gives good enough results we'll use that, if sync on a later moment seems needed we'll look into upgrading the cables to a 3.0 solution to make the 15FPS (or more) possible.

Thank you for the support

@MartyG-RealSense
Copy link
Collaborator

You are very welcome, @PorschefanRoel - good luck!

@MartyG-RealSense
Copy link
Collaborator

Hi @PorschefanRoel Do you require further assistance with this case, please? Thanks!

@PorschefanRoel
Copy link
Author

For now we don't need further assistance. Thanks for the help

@MartyG-RealSense
Copy link
Collaborator

Thanks very much @PorschefanRoel for the update - I will therefore close the case as you do not require further help for the time being. Thanks again!

@PorschefanRoel
Copy link
Author

PorschefanRoel commented Mar 21, 2023

I know this is an old issue of mine, but due to synchronisation issues I came back to this. I've now updated the firmware to 5.14.00.00 and using the Realsense Viewer 2.53.1 and at first glance the laser seems to work on both the master as the slave cameras. (still running on a USB2.0 connection at 6FPS)

@MartyG-RealSense
Copy link
Collaborator

Thanks too for this update :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants