-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Is hardware sync for multi camera configuration needed in ROS? #984
Comments
T265 does not have hardware sync pins. Advice on syncing T265 pose frames with 400 Series depth frames via a software-based method is given in the link below though. IntelRealSense/librealsense#3670 (comment) Intel has published multi-camera guides for using ROS with two cameras or three cameras, with the inter-connection based on camera serial numbers: Two cameras Three cameras |
Thanks for the reply, I have gone through the showcase-of-using-2-cameras and 3-cameras already in those two processes they didn't mention anything about hardware synchronization for the depth cameras. |
I interpreted your question as asking if it was possible to sync without using hardware sync. The links I provided describe how to set up a multi-camera system through software. I apologize if I have misunderstood your question. |
What is the purpose of synchronization that you need? So to summery - there is no method to hardware sync T265 and D435 camera. I would like to point out that each message from both T265 and D435 has a timestamp that is based on hardware clock of the device, synced with the host computer. They are meant to be used for synchronization between devices. |
@MartyG-RealSense no need to apologize you have understood in the right way only the reason why I'm getting confused is in Links for the multicamera configuration that you have mentioned is without the hardware sync. I tried that approach but the point cloud is not good, double frames, misalignments are there and finding transformations is very difficult that's why I got the doubt that is it possible to do multicamera configuration without the hardware sync? @doronhi Thank you very much for the clear clarification from your answer what understood is we need to do hardware synch for the cameras and make it one cam as master and rest as slaves for multi-camera configuration. Thanks. |
@doronhi you have mentioned about the way to do hardware sync through ROS driver/wrapper in the below comment Can I know the status of that? |
I didn't find my name there :) |
Sorry, it's my mistake I thought both are the same names. |
@vnsiot - Is there anything further needed on this thread? |
@SatishAkula91 @doronhi May I know how to set inter_cam_sync_mode via roslaunch file? I can find the information from librealsense repo about but don't how to set it via ROS api.
|
The opening comment of the case in the link below provides an example of setting inter_cam_sync_mode with a dynamic reconfigure instruction during runtime. I believe that a simplified one-instruction version of that complex command sequence would look something like this: Default Master Slave An option that can be set with dynamic reconfigure can also be set with a launch file rosparam instruction.
|
Im running librealsense v.2.38.1 and tried to set the inter cam sync mode after starting rs_camera.launch , but keep getting these errors: Command: Result: Result from launch file rs_camera: |
Is there any difference if you use a decimal number instead of a whole number for the mode number?
|
@MartyG-RealSense I tried, but it gave me this error: However, I tried updating the inter_cam_sync_mode to 4 from realsense-viewer console, but got the error below (seems to arise whenever I change a parameter): I then closed realsense-viewer and launched the rs_camera.launch, and ran the command The result shows that the inter_cam_sync_mode was successfully set to 4: So somehow, I can set the intercam sync mode from within realsense viewer(even though I keep getting errors as in the picture above), but I cant set value properly with the rosrun dynparam set command. My setup: |
I do not know whether the inter_cam_sync_mode function of the RealSense ROS wrapper has been updated to support the additional sync modes that were introduced when the External Synchronization (Genlock) feature was released in librealsense in June 2020. Up until then, the available modes were 0 to 2 (Default, Master, Slave). @doronhi Can you verify please what the correct instructions are for accessing inter_cam_sync_mode in the ROS wrapper with dynamic reconfigure and with launch-fle rosparam, please? Thank you. |
@MartyG-RealSense A wierd thing; The next day, after a rebooting my Xavier, the realsense-viewer won't recognize my camera (nor the realsense-ros wrapper), I have also tested with one of my other realsense cameras (aslo a D435i, but with different firmware). I keep getting these errors: The camera are connected through the accompanying usb cable directly into the one of the Xaviers USB3 ports. Worth mention is that nothing has changed, I have just restarted the Xavier basically. |
@r91andersson It has been a couple of years since I last had a question about a busnum/devnum error. The error usually occurs on some devices that are single-board computers, rather than full PCs such as a laptop or desktop. Examples of devices it has been reported on include small devices with Intel Atom processors such as the original Up Board and the Intel Compute Stick. In the past it has typically occurred due to insufficient power supplied to the camera when plugging the camera in via a USB OTG micro-size USB port. It is not so usual for it to occur when plugged into a full-size USB port. Can you confirm please that it is undetectable even if you unplug and replug the camera a few times, please? |
@MartyG-RealSense Sorry for late reply, but I managed to solve it by reinstalling the camera drivers! I found out that the jetsonhacks had an install script (initially for Jetson Nano) that worked for me! However, how are progress with setting the inter_cam_sync_mode via ROS wrapper? |
I'm pleased to hear that you found a solution @r91andersson :) Another RealSense user using genlock was having problems with inter_cam_sync_mode and getting the error Exception thrown while processing service call: object doesn't support option 42. They developed a workaround in an edit at the bottom of of the comment linked to below. Also see the response to the workaround from doronhi the RealSense ROS developer below that comment. |
I'm planning to use three d435's along with one t265 tracking module in multi camera configuration in Ros to configure this hardware synchronization is really needed if yes how do i sync t265 with them or is there any other methods to do that ?
The text was updated successfully, but these errors were encountered: