Notice: MediaWiki has been updated. Report any rough edges to marcan@marcan.st

FAQ

From OpenKinect
Revision as of 04:55, 23 January 2011 by BankP (talk | contribs) (How to ask for help: "please" don't summarize - let's be polite; entire rework of the text, shorter and to the point.)
Jump to: navigation, search

Why are there black shadows in the depth image?

Shadow explanation diagram

Can optical polarization (or other tricks) be used to combine two Kinect sensors viewing the same scene from different angles?

Unfortunately, polarization is not generally preserved when reflecting off an object. Special surfaces can be used that preserve polarization, but the concept of tagging each Kinect's IR field by polarizing the light does not appear to be feasible. Initial tests using two simultaneous Kinect sensors suggest that they may not severely interfere with one another.

What is the frame size/bitrate of the rgb/depth stream etc.?

  • There are 242 packets for one frame for the depth camera (including 0x71 and 0x75 packets). All packets are 1760 bytes except 0x75 packet - 1144 bytes. Minus headers it gives 422400 bytes of data * 30 frames per second = 12672000 bytes/sec
  • There are 162 packets for one frame for the color camera (including 0x81 and 0x85 packets). All packets are 1920 bytes except 0x85 packet - 24 bytes. Minus header it gives 307200 bytes of data * 30 frames per second = 9216000 bytes/sec
  • The depth camera returns values with 11-bits of precision
  • The frame output of the RGB camera is a 640x480 Bayer pattern

See the Protocol Documentation and other documents of the Knowledge base.

I'm trying to troubleshoot a stability or performance issue, do you have any advice?

Depending on the platform and hardware, many factors may come into play. But in general, one should look into these:

  • is libfreenect properly compiled and installed from the latest source
  • usb bandwidth issues: are there too many devices sharing the usb port, has the Kinect been tried on a different port, is it connected directly or through a usb hub? Is there data loss on the usb cable? Is the full usb 2.0 bandwidth enabled on the computer? On a laptop one might add an external usb mouse to the setup to see if that changes anything
  • graphics card issues: some graphics card's driver may exhibit a particular behavior; trying a different one may help

Tip: in glview.c or other straight c project file, try freenect_set_log_level(f_ctx, FREENECT_LOG_SPEW); (as opposed to FREENECT_LOG_DEBUG) to enable a more verbose output for debugging purposes.

Under Mac OSX I get a "Isochronous transfer error: 1" warning with packet loss and the stream eventually stops?

First make sure you've looked at the general troubleshooting advice. This may also be related to a isochronous transfer frame scheduling problem and there may be a partial solution documented here (see in particular post #6) to restart isochronous transfers that die...

How should I ask for help in the irc channel or on the mailing list?

In order to get an appropriate response to your support questions, please include the following information, if relevant:

  • What platform are you using, what version, and is it a 32 or 64 bit OS? ex. Windows (XP, Win7 64 bit), OSX 10.6.5, Linux (Ubuntu 10.10)
  • What hardware are you using? ex. a desktop, a laptop, what cpu, graphics card, connected usb devices etc.
  • If you're compiling from source, where did you download it from, which branch are you using and is it the latest? are you talking about libfreenect? ex. the latest libfreenect source on github from the 'master' branch
  • What IDE/compiler are you using and which version? Visual Studio 2010-2008-2005, CodeBlocks, MingW etc.
  • What specific error message are you getting? Please don't summarize, give the full output, and if it's too long, use pastebin.com or a similar tool and include the link with you question
  • Are you following the instructions on the wiki or some tutorial and if so which one?
  • What is the context in which the error appears: is it when you compile the source code, when you run glview, or when you use some wrapper?

Taking an extra minute to document your issue will go a long way in getting a response rather than a further question!