Depth and Color Stream Sync (Astra Pro)


Are there any methods in the Astra SDK 2.0.8b2 regarding depth & color stream synchronization? The frame timestamps are missing, and the color frame usually differs significantly from the depth frame in the same reader-frame.

Thank you in advance!

Hello I have same problems. I think the synchronization can be changed in ROS launch file. with

but i have same problem of publishing rate.

subscribed to [/camera/rgb/image_raw]
average rate: 15.063
min: 0.062s max: 0.070s std dev: 0.00257s window: 14
average rate: 15.047
min: 0.062s max: 0.070s std dev: 0.00237s window: 29
average rate: 15.030
min: 0.062s max: 0.070s std dev: 0.00251s window: 43

subscribed to [/camera/depth/image_raw]
average rate: 30.037
min: 0.031s max: 0.034s std dev: 0.00055s window: 28
average rate: 30.029
min: 0.031s max: 0.035s std dev: 0.00055s window: 58
average rate: 30.014
min: 0.031s max: 0.035s std dev: 0.00052s window: 89

what to do?


Is it something related to this?

This is in the file ‘Astra.cfg’

TODO Only offer modes supported by known hardware

output_mode_enum = gen.enum([ gen.const( “SXGA_30Hz”, int_t, 1, “1280x1024@30Hz”),
gen.const( “SXGA_15Hz”, int_t, 2, “1280x1024@15Hz”),
gen.const( “XGA_30Hz”, int_t, 3, “1280x720@30Hz”),
gen.const( “XGA_15Hz”, int_t, 4, “1280x720@15Hz”),
gen.const( “VGA_30Hz”, int_t, 5, “640x480@30Hz”),
gen.const( “VGA_25Hz”, int_t, 6, “640x480@25Hz”),
gen.const( “QVGA_25Hz”, int_t, 7, “320x240@25Hz”),
gen.const( “QVGA_30Hz”, int_t, 8, “320x240@30Hz”),
gen.const( “QVGA_60Hz”, int_t, 9, “320x240@60Hz”),
gen.const( “QQVGA_25Hz”, int_t, 10, “160x120@25Hz”),
gen.const( “QQVGA_30Hz”, int_t, 11, “160x120@30Hz”),
gen.const( “QQVGA_60Hz”, int_t, 12, “160x120@60Hz”)],
“output mode”)

Here there is declaration about 15Hz.


Here is a solution to my problem regarding the publish rate of RGB image.

previously it was . and thats way I was getting 15Hz rate, but now it’s 30Hz as I have changed it.

before --------- param name=“frame_rate” value=“15”

after --------- param name=“frame_rate” value=“30”

This is for the uvc_cam driver that I’m using for Astra Pro with astra_pro.launch file.

using the following command
$ roslaunch astra_launch astra_pro.launch

  <node pkg="libuvc_camera" type="camera_node" name="astra_pro_uvc">
    <!-- Parameters used to find the camera -->
    <param name="vendor" value="0x2bc5"/>
    <param name="product" value="0x0501"/>
    <param name="serial" value=""/>
    <!-- If the above parameters aren't unique, choose the first match: -->
    <param name="index" value="0"/>

    <!-- Image size and type -->
    <param name="width" value="640"/>
    <param name="height" value="480"/>
    <!-- choose whichever uncompressed format the camera supports: -->
    <param name="video_mode" value="uncompressed"/> <!-- or yuyv/nv12/jpeg -->
    <param name="frame_rate" value="30"/>
    <param name="frame_id" value="$(arg camera)_rgb_optical_frame"/>

    <param name="timestamp_method" value="start"/> <!-- start of frame -->
    <!-- Change has to be done here to add the camera calibration file-->
    <!-- <param name="camera_info_url" value="file:///tmp/cam.yaml"/> -->

    <param name="auto_exposure" value="3"/> <!-- use aperture_priority auto exposure -->
    <param name="auto_white_balance" value="false"/>

</group> <!-- rgb -->



Does this solve the depth-color frame synchronization issue?