5
$\begingroup$

As in the title, I'd like to implement gesture recognition on my robot and I'm looking for the pros and cons between the Kinect and the Xtion - and also if there are any other sensible options available.

I'm thinking of the following, but open to other suggestions:

  • Accuracy
  • Price
  • Driver quality
  • Power draw
$\endgroup$
  • 2
    $\begingroup$ Comparison questions almost always land in the "not constructive" territory. Without ultra specific criteria, there are too many variables on which to compare. $\endgroup$ – jonsca Oct 23 '12 at 22:06
  • $\begingroup$ @jonsca Usually I'd agree, but here I've tried to keep it specific - mainly between two devices and with a specific set of categories. I see your point though. $\endgroup$ – berry120 Oct 23 '12 at 22:09
  • $\begingroup$ It's hard, as I think it's a question that's of interest, but in terms of setting a precedent for the site, I'm not so confident it's the way to go. $\endgroup$ – jonsca Oct 23 '12 at 22:14
  • 1
    $\begingroup$ More of a comment here as I have no experience with Xtion. There is one point though, an impediment in my work, which I don't know how it relates to your plans. By gestures what kind of detail are you looking at? I wanted to perform real-time control of a humanoid with Kinect and I could not get the rotations of individual joints. You could get the locations in 3D of each joint, however, it is not trivial how to recover relative angles. If you are planning to identify simple gestures such as pointing in different directions, or rough poses you should have absolutely no problem. $\endgroup$ – gpierris Oct 23 '12 at 23:48
  • $\begingroup$ @gpierris I havent personally implemented this but a few ways to calculate joint angles using the Kinect have been discussed in this stackoverflow question. Ofcourse, as you aptly note, it is not trivial. $\endgroup$ – Karan Thakkar Oct 25 '12 at 5:17
8
$\begingroup$

I know the Xtion is smaller and powered by USB where as the Kinect requires to use a wall power socket to operate. In terms of depth perception they are very similar in terms of accuracy. Depending on whether your robot needs to be portable (i.e not attatched to the mains) and small should probably be the deciding factor.

| improve this answer | |
$\endgroup$
  • 2
    $\begingroup$ You mentioned the most important differences in my eyes already - size and power consumption. I'd like to add, that both devices using the same sensor (from Primesense) and hence behave nearly identically. At least that's my impression so far - we are using both devices here. $\endgroup$ – bit-pirate Oct 23 '12 at 22:55
  • $\begingroup$ The Kinect doesn't require wall power, but it does require a 12v 1.5a supply in addition to USB power. I've also experimented a little and validated that I could use an unregulated 12v battery supply with an upper range of 17v and a lower range of ~8v before a brownout occurred. $\endgroup$ – Jay Beavers Nov 8 '12 at 12:34
7
$\begingroup$

You might also consider the Leap Motion:

Leap Motion

It's got amazing resolution, and the ability to pick out individual fingers at an amazing update rate.

Leap Motion

And is even fine enough to allow you to write in the air with a pencil:

Leap Motion Pencil

You can't buy one yet, but they'll be available soon.

| improve this answer | |
$\endgroup$
  • $\begingroup$ The Leap indead looks like an interesting device. Be warned about the small interaction space of about 8 cubic feet (0.226535 m3). On the other hand it's very precise (0.01mm) Source. I'm curious about the first application examples. $\endgroup$ – bit-pirate Nov 10 '12 at 7:00
4
$\begingroup$

More driver details:

OpenNI or freenect can be used with the Xtion and the XBox Kinect.

The "Kinect for Windows" requires the Microsoft SDK and drivers. However, there is also a bridge to go from the MSSDK drivers to OpenNI: http://code.google.com/p/kinect-mssdk-openni-bridge/

Also, the latest version of the Kinect for Windows (>=1.5) has a near mode that allows for better operation close to the device, this may be of use depending on the application. I do not believe the Xtion has this mode.

The XBox Kinect and Kinect for Windows appear to have different USB interfaces, so you have to use the right set of drivers depending on which one you have.

| improve this answer | |
$\endgroup$
1
$\begingroup$

There may be software differences, depending on how you connect to the device.

On Linux, freenect seems to work better with Kinect than Xtion, while openni tries to support both, but seems rather buggy, lately.

| improve this answer | |
$\endgroup$
0
$\begingroup$

The robotics team I lead at NCSU has implemented the ability to drive our holonomic robot using a Leap motion controller. Here's a demo video.

Our codebase is in Python, so we used the Python Leap library, which was quite simple and friendly. Our Leap-related code is only about 150 lines. Our client basically takes pitch, yaw and roll data from the Leap controller and converts it into movements, which it uses to make calls to our bot's API using ZMQ. I can share the code with you if you're interested in additional details (currently in a private GitHub repo pending our contest, but it's open sourced under the BSD two-clause license).

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.