Software Archive
Read-only legacy content
17061 Discussions

R200 EnableScenePerception Init() = PXCM_STATUS_ITEM_UNAVAILABLE

Dave_W_
Beginner
902 Views

Most examples work.  Nothing with Perception will Init.

  • Intel(R) RealSense(TM) SDK 8.0.24.6528
  • Intel(R) RealSense(TM) SDK Runtime 6.0.21.6598
  • Intel(R) RealSense(TM) Depth Camera Manager 1.4.27.41944
  • Intel(R) RealSense(TM) 3D Camera 2780 

Code Snippit

                PXCMSenseManager sm = PXCMSenseManager.CreateInstance();
                sm.EnableStream(PXCMCapture.StreamType.STREAM_TYPE_COLOR, 0,0,0);
                sm.EnableStream(PXCMCapture.StreamType.STREAM_TYPE_DEPTH,0,0,0);
                sm.EnableScenePerception();
                var retcode = sm.Init();

OpenCL 1.2 seems to be installed.

Any ideas would be helpful.

 

0 Kudos
4 Replies
kfind1
New Contributor I
902 Views

Hi, I have exactly the same problem  - every single SDK sample program which uses the Scene Perception module crashes for me when I just run them (from SDK browser) and when I compile and debug from source (R200's RF_MeasurementSP example program) in VS 2013 the program gets to the point where the Sense Manager object has the "init" call on it, and this causes a Heap Corruption exception.

This is pretty bad, because this is all Intel SDK example code and there should be no heap corruption or bad memory handling going on. I'm certainly not doing anything to cause it (it's not my code).

I am using the most recent (V8) Realsense SDK released in February 2016, and the associatd DCM drivers (2.1.24.6664) for the R200. I have the R200 development kit. 

Two possible issues on my end though: 

1. I have OpenCL installed however I am not sure how to check the version (could be 1.1 or 1.2, who knows?)

2. My processor is an i5-2450M  which is NOT the required Haswell class i5 which is suggested as a requirement for using the R200. 

The exception is caused when the init function is called and the stack trace shows a call to Free, and ntdll.dll calls FreeHeap which causes a Heap failure (heap handle error). See screenshot below:

VS2013 debugging R200 RF_MeasurementSP heap corruption

 

edit:

Okay so I verified that my GPU (Nvidia 630M) only supports OpenCL 1.1, even though the drivers these days are able to handle much better than that. that's a real shame, it means I cannot develop applications for the R200 on this laptop. This is why the Scene Perception modules (Which rely on OpenCL 1.2) are crashing. 

0 Kudos
Colleen_C_Intel
Employee
902 Views

@kyran - that CPU doesn't support OpenCL and if your GPU doesn't either that is the problem. 

@Dave W - you show using the F200 camera DCM (1.4)

0 Kudos
Dave_W_
Beginner
902 Views

@Colleen - I have had both plugged in at one point.  I must of had the F200 plugged in when I took the info screen shot.  I concluded that my video card Nvidia Quadro 2000 does not support higher then OpenCl 1.1 no matter what driver I have. Sensor functions fine for most other modules. I am finding a machine with a different video card to explore Perception.

@kyran - I use the GPU Caps viewer from geeks3D.com for graphics info.  http://www.geeks3d.com/20150821/gpu-caps-viewer-1-25-0-gpu-information-utility-opengl-opencl-cuda/

0 Kudos
kfind1
New Contributor I
902 Views

Dave, I also used the GPU Caps viewer to prove I only had OpenCL 1.1 on my GPU. I then looked up a wikipedia list somewhere and i saw that my one only allowed 1.1, whereas some other Nvidia GT 600 series cards DO actually support OpenCL 1.2, unfortunately not in my case. I will try to get depth data without using scene perception module, because all I need is depth and I can do the rest myself. 

Colleen, yes thank you for that. I will have to make do without using the SP module. 

0 Kudos
Reply