Range of distance in depth-map
-
Thursday, September 01, 2011 6:42 AM
I got the distance from depthmap, but the distance closer than 800 mm, it returns 0. Because i want to build a mobile robot that can detect obstacle, and it should detect object in a short distance.
There is any tips for that.
All Replies
-
Friday, September 02, 2011 2:14 AMOwner
Sorry, Heinrich, the Kinect SDK Beta does not return depth closer than 800mm. We are aware of this limitation and have heard lots of feedback about it, but so far we can only offer you apologies for the limitation.
Hopefully you can find SDK useful in other ways, though.
Eddy
I'm here to help- Marked As Answer by Eddy Escardo-Raffo [MSFT]Microsoft Employee, Owner Friday, September 02, 2011 2:14 AM
-
Friday, September 02, 2011 3:39 PMYep, hope it will be improved in next version.
-
Thursday, September 08, 2011 8:25 AM
Almost all the sensors usually used in robotics generally also have a minimum distance, such as IR sensors. The $25 IR sensors we use have a minimum usable distance of 400 mm. Kinect's minimum range of 800 mm isn't as good, but the good thing about the Kinect is that the readings are not full of errors at the unusable distances.
I thought it might be useful to consider the third party Nyko Zoom lens, Play Range Reduction Lens for Kinect™ (http://www.nyko.com/products/product-detail/?name=Zoom). Nyko claims that these lenses would make the usable range 40% wider and a little closer, too. You would need to redo the calibration completely if using lenses, but Not sure how well it will actually work for improving the 800 mm range for robotics as it's not available until Sept. 13. I've found that you can preorder them on Amazon.
- Edited by tom.anderson Thursday, September 08, 2011 8:26 AM
- Edited by tom.anderson Thursday, September 08, 2011 8:45 AM Nyko, not nyco
- Edited by tom.anderson Thursday, September 08, 2011 8:55 AM
-
Saturday, September 24, 2011 3:13 AM
Hello,
I found depth data, distance value start from 800mm to 4000m
What 800 mm mean? is that correct distance or same as zero. I think through kinect specification, the distance should be betwwen 850 - 4000 mm, right?
Thanks,
Rami
Rami -
Tuesday, September 27, 2011 12:57 PM
Off the top of my head, it -should- be correct, because otherwise it would return the distance as zero (0). I.e. the depth data bytes will contained values of 0 instead of 800, if it's too close (or too far).
Basically, when analyzing your data, you can look like this (pseudo-code, since I'm not at my dev machine)
if(depthValue==0) { //this is bad data, i.e. too close or too far away. Fill this pixel in somehow (e.g. my inFill method) } else { //this is viable data, although who knows how noisy it is. Consider reducing noise somehow (e.g. averaging successive frames). }
- Edited by mattharvest Tuesday, September 27, 2011 12:57 PM
-
Tuesday, December 20, 2011 8:56 PM
Regarding "Almost all the sensors usually used in robotics generally also have a minimum distance" - yes, and with the Kinect this distance is more like 550mm, not 800! This is an artificial limitation imposed by the driver, not the hardware. Yes, you can get shadow effects up close, but as good programmers we should be able to deal with that. The open source driver does not have this limitation, and I get great performance easily to 600mm.
Also, regarding the "Nyko Zoom lens", it's completely useless - it significantly limits the FOV of the lense area, and adds a huge amount of noise and distance distortion. Not recommended. :-(

