Items with no label
3335 Discussions

SR300 - Frame Rate minimal value

DMilo1
Beginner
2,420 Views

Hi all,

My first question regarding this device would be mostly connected to FPS for the SR300 device.

I have found the device sheet where it describes it is possible to set the FPS to 10, but with all possible settings changed to reflect the sheet, camera won't even start (the minimal value that I can use is 30FPS).

The SDK documentation is not very clear on this topic (examples also only use the values 30/60FPS).

The question would be this: what needs to be done to enable streaming from the camera with 10FPS?

Kind regards,

Dean

0 Kudos
1 Solution
MartyG
Honored Contributor III
636 Views

I have never heard of the SR300 being used at speeds other than 30 or 60 FPS, even though the SR300 data sheet (where the resolution chart comes from) says that 10 FPS is supported. Although a feature may be listed in the data sheet for a camera, there may be rare occasions where it is not necessarily actually implemented in the SDK software so that the feature can be accessed.

In the open-source Librealsense SDK, they created a patch file for 10 FPS with the SR300 late last year.

https://github.com/IntelRealSense/librealsense/issues/361 Depth/IR streams always 30FPS for SR300 and F200 · Issue # 361 · IntelRealSense/librealsense · GitHub

View solution in original post

0 Kudos
12 Replies
MartyG
Honored Contributor III
637 Views

I have never heard of the SR300 being used at speeds other than 30 or 60 FPS, even though the SR300 data sheet (where the resolution chart comes from) says that 10 FPS is supported. Although a feature may be listed in the data sheet for a camera, there may be rare occasions where it is not necessarily actually implemented in the SDK software so that the feature can be accessed.

In the open-source Librealsense SDK, they created a patch file for 10 FPS with the SR300 late last year.

https://github.com/IntelRealSense/librealsense/issues/361 Depth/IR streams always 30FPS for SR300 and F200 · Issue # 361 · IntelRealSense/librealsense · GitHub

0 Kudos
DMilo1
Beginner
636 Views

Hi Marty,

Thank you for a quick replay regarding this. I expected as much, just wanted to confirm it.

I spent a lot of time trying different things to improve the quality of the frames and I couldn't manage to bring the FPS bellow 30.

0 Kudos
MartyG
Honored Contributor III
636 Views

You're very welcome. I wish you the best of luck with getting 10 fps up and running, if you choose to use Librealsense.

0 Kudos
mchip3
Novice
636 Views

I have the same trouble but with windows 10, the rs300 works fine with framerate 60 and 30, put I cant set 10,

somebody know how can I Change this?

0 Kudos
MartyG
Honored Contributor III
636 Views

I believe your best chance of setting 10 FPS may be to use Librealsense, given the 10 FPS patch that was developed for Librealsense.

https://github.com/IntelRealSense/librealsense/issues/361 Depth/IR streams always 30FPS for SR300 and F200 · Issue # 361 · IntelRealSense/librealsense · GitHub

Whilst using Librealsense with Windows was an awkward option once, you may find that the new RealSense SDK 2.0- - which is a new and improved Librealsense that works on Windows 10 as well as Linux and is SR300 compatible - may make life easier for you in regard to writing a 10 FPS application. This is dependent on whether the 10 FPS patch would function with SDK 2.0, of course.

https://github.com/IntelRealSense/librealsense/tree/development GitHub - IntelRealSense/librealsense at development

0 Kudos
mchip3
Novice
636 Views

Thank you somuch, Now I have other quations, I tried to use , realsense on linux, but all examples are for windows, so I always see the PXCSensemanager for make a new conections, but on linux this class not exist, so I tried to used java and is ridiculus that only works again for windows (so does not have sense), I instaled libgdx for java on linux and again, only works for windows, I can not understand whay this apis says "cross" when not working in linux. There are some posibilite to compile de realsense class "PXC(classes)" for linux???, for not use the realsense/rs.h.

0 Kudos
MartyG
Honored Contributor III
636 Views

If you are using Linux then I would recommend using the new RealSense SDK 2.0, which is an advanced form of Librealsense and is compatible with the SR300. It is a cross-platform, open source SDK that works on Windows and Linux, with Mac OSX support coming. I believe that SDK 2.0 will be the single standard SDK for RealSense from this point onward.

I understand that this is awkward from the perspective of having to find examples in the Librealsense language instead of the Windows PCX samples. By adopting SDK 2.0 though, you will be future-proofing your work, since the old Windows SDKs will not be receiving further updates. SDK 2.0 comes with some sample scripts that you can use as a reference

0 Kudos
mchip3
Novice
636 Views

Thank you, I see that the project for windows include cpp2c with the c++ implementation code, Can I take this project and Compiler on linux??? and reproduce .so bin??

Best regards!

0 Kudos
MartyG
Honored Contributor III
636 Views

SDK 2.0 is cross-platform, so an SDK 2.0 script should work in a Linux compiler so long as you use an include in your C++ script to call the SDK's API, as described in the tutorial examples.

# include <</span>librealsense2/rs.hpp> // Include RealSense Cross Platform API

0 Kudos
mchip3
Novice
636 Views

I meand that the windows project rssdk has the cpp for PXCSENSEMANAGER.cpp and I see that has other resource. I just install the librealsense 2 but not works, I get error

0 Kudos
MartyG
Honored Contributor III
636 Views

There is no compatibility between the previous Windows RealSense SDK (RSSDK) that has the PXCSensemanager file and the Librealsense-based SDK 2.0. They have completely different DLL library files.

0 Kudos
mchip3
Novice
636 Views

ok, I made this sample:

// Create a Pipeline - this serves as a top-level API for streaming and processing frames

rs2::pipeline p;

// Configure and start the pipeline

p.start();

while (true)

{

// Block program until frames arrive

rs2::frameset frames = p.wait_for_frames();

// Try to get a frame of a depth image

rs2::depth_frame depth = frames.get_depth_frame();

// The frameset might not contain a depth frame, if so continue until it does

if (!depth) continue;

// Get the depth frame's dimensions

float width = depth.get_width();

float height = depth.get_height();

// Query the distance from the camera to the object in the center of the image

float dist_to_center = depth.get_distance(width / 2, height / 2);

// Print the distance

std::cout << <span class="pl-s" style="color: # 032f62;">"The camera is facing an object " << dist_to_center << <span class="pl-s" style="color: # 032f62;">" meters away \r";

}

Ok. I just compile sample on linux for realsense2 and a get this error:

En la fución 'rs2::pipeline::start()',

/usr/include/librealsense2/hpp/rs_pipeline.hpp: 371 referencia a 'rs2_pipeline_start' sin definir.

Why happend this??

0 Kudos
Reply