March 13, 2012

Kinect or NXTCam?

Introduction
I'm really intent on doing something with robotic soccer either now or in the future. Beyond the sensors I  mentioned in my last post, I was wondering which visual sensor would be best for such a purpose. The two strongest candidates are the NXTCam and Microsoft's Kinect sensor.

The two purposes of the above visual sensors are:
  1. Long Range Detection of the IR ball  and,
  2. Identifying the scoring goals and perhaps even fellow team members or opponents.
Proof of Concept Videos
A lot of the the concepts I want to implement in my project are based on the two following videos.

Video 1

The major concept in this video is object tracking and interception. The robot in this video had to track the ball  and plan where to be in order to kick it.

Video 2

The underlying concept in this videos relies on using the known size of the ball and the relative size of the ball in the video to estimate the balls distance away from the robot.

Conclusion
Based on the above videos, I am pretty confident that the NXTCam will do what I want for this project. However, my only apprehension is that the Kinect and the NXTCam are both the same price! Moreover, the robotics community and hobbyist alike have been doing some really cool things with the Kinect [here] and [here] (many of which seem beyond the capabilities of the NXTCam) so purchasing a Kinect now might be a great investment in the future.

In any case, I know much more about the NXTCam than I do about the Kinect, so before I dive into this head-first, I was hoping some of you might help elucidate more of the capabilities as well as the limitations of the Kinect sensor.

Also, I have a few specific questions relating to robotic soccer.
  1. Can the Kinect even track an IR ball?
  2. How many objects can the Kinect track at once?
  3. How many sensor ports does the Kinect take up on the NXT?
  4. Can the Kinect be programmed in ROBOT-C?
  5. Is the above necessary?