Cannot use 1920x1080 rgb resolution on Astra Stereo S (on ROS)

Hi, I am trying to change the rgb frame resolution from the default 640x480 to 1920x1080.
However, I got this error:

69461 INFO Property Device.VendorData was changed to Orbbec(R) Astra™ 3D Camera.
69463 INFO Property Device.ID was changed to AM0WB831028.
69468 INFO Property Device.SensorPlatformString was changed to RD2417.
69473 INFO Device sensor initialized
unsupported descriptor subtype VS_COLORFORMAT
unsupported descriptor subtype VS_COLORFORMAT
uvc_get_stream_ctrl_format_size: Invalid mode (-51)
[ERROR] [1564925807.935489553]: check video_mode/width/height/frame_rate are available
DEVICE CONFIGURATION (0000:0000/[none]) —
Status: idle
VideoControl:
bcdUVC: 0x6564
END DEVICE CONFIGURATION
256663 INFO Creating stream ‘IR’ of type ‘IR’…
256695 INFO Setting Device.ReadData to 1…
256880 VERBOSE Setting USB alternative interface to 0…
257414 VERBOSE Opening endpoints…
257437 VERBOSE Opening endpoint 0x81 for depth…
257536 VERBOSE Depth endpoint is bulk.
257549 VERBOSE Opening endpoint 0x82 for image…
257602 VERBOSE Image endpoint is bulk.
257613 VERBOSE Opening endpoint 0x83 for misc…
257666 VERBOSE Misc endpoint is not supported…
257676 INFO Endpoints open
257834 VERBOSE Getting algorithm params 0x80 for res

in fact, from the Astra.cfg file there is no mode for this resolution:

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”),
gen.const(“640400_30Hz”, int_t, 13, “640x400@30Hz”),
gen.const(“320200_30Hz”, int_t, 14, “320x200@30Hz”),
gen.const(“1280800_7Hz”, int_t, 15, “1280x800@7Hz”),
gen.const(“1280800_30Hz”, int_t, 16, “1280x800@30Hz”),
gen.const(“640400_60Hz”, int_t, 17, “640x400@60Hz”)],
“output mode”)

On the product page, https://orbbec3d.com/astrastereos/, 1920x1080 is supported, so how can I get it work?
I am using ros_astra_camera package the latest version.
Thanks

To modify the rgb resolution, you should modify the stereo_s launch file. In astra_camera section, change the width from 640 to 1920 and the height from 480 to 1080. Hope it helps :slight_smile:

Hello Sayter

I also confusing with the same problem on Windows 10 OS.

Could you please give me some suggestions about how to use 1920 X 1080 RGB resolution on Sdtra Stereo S ( Windows 10 ) ?

Thank you so much.

It depends on which framework are you using. For instance, if you are using OpenCV VideoCapture, you can use set API to set properties of width and height to 1920x1080. And my suggestion would be using OpenCV as well.

Where is this stereo_s launch file?

Dear Sayter

  Thank you so much for your suggestion.

 According to your suggestion of OpenCV set API, I tried it. 

However, as shown in the image, the image just become large, the image quality is low...

It seems not work.

Could you please give me some further suggestion?

Thank you very much.

Yuqing

Could you paste your code? Thank you.

@Naman-Goyal in our ROS package called astra_camera.