Kinect for LabView – Part 1

Posted by Ryan Gordon on December 26, 2010 under LabView, Programming | 10 Comments to Read

So I resigned from MyBB and I disappear from the internet for 3 weeks… What have I been up to?

Well, I’ve been up to this:

What is this you ask? This is a piece of software that is actually a programming language. It’s called LabVIEW and this programming language was built for “real time data acquisition.” Essentially, LabVIEW is a programming language that is built for things that need to happen in “real time” and also allows for analysis and debugging in “real time” which is much different then any other programming language out there.

So what is the Kinect and why did you write it for LabVIEW? Well, I am a technology enthusiast by trade; One of my favorite things to do is mess with robots and think of new ways I can put everyday technology to use with these robots and LabVIEW is the language that I can do it in. The Kinect itself is a product created by Microsoft that essentially creates a 3D camera and this allows Microsoft to use it for controller-free gaming on the Xbox. Now, this is only one application out of tens of thousands that can be realized with the Kinect and it’s 3D Camera. My mission is to use the Kinect to help open up the possibility of a wide array of applications and do something cool myself while I’m at it, but there’s a lot to do before we can get there.

The first step was to reverse engineer the Kinect and figure out how it works and how we can make it work for us. This became a huge task over the past few months currently being accomplished by an initiative and community called OpenKinect. These brilliant minds are behind what will soon become a entirely new Minority Report level of technology that will interact with you naturally and intuitively to accomplish everyday consumer tasks. My part to this puzzle is only a very small part to the much larger picture that is coming together very quickly with this amazing new technology.

Now down to business. So far we have a three stage process to open up 3D imaging technology to the world.

  • First, 3D Camera technology must be widely available and at a price point worthy of investing in for most consumers. The Kinect accomplishes this step.
  • Second, the technology must be widely available on many programming languages, allowing developers to program code on top of the data it provides. The OpenKinect community is making great strides towards this goal very quickly.
  • And third, code must be written to analyze the data that the Kinect provides and then do something intuitive or cool with it. This step is where I come in and this area of technology is still very widely unexplored and untested.

So what does this mean for me? This means that there is a long way still to go until we can see this technology doing something really intuitive or cool that hasn’t been seen before. I’ve been able to make a lot of headway so far by getting the LabView drivers to work but it’s going to take a lot more work to make it do something really cool.

Next part to the Kinect Trilogy soon. Stay Tuned.

  • Kendall Nowocin said,

    The work you are doing is really interesting. I have been working with LabView to accomplish something similar, but progress has been slow. I would like to ask you a few questions. What is the best way to get in contact with you?

  • Andy Harper said,

    Hello,

    This vi looks very good, would love to have a copy of it. I can think of so many ways of using it.
    Could i grab a copy if possible.

    Thanks

    Andy

  • Shomir said,

    Hi,
    Would you consider taking a commission for developing a windows7-kinect software that measures the volume of a person?

  • Emilie said,

    Ryan – the OpenKinect project is going to be ground-breaking. Thank you for sharing and documenting your process, I think a lot of people can learn from you (including myself).
    I’m an engineer at National Instruments and am glad to hear you’re using NI LabVIEW for rapid software development. I’m looking forward to following your project. Be sure to use the NI Support Forums (ni.com/support) if you encounter any more hiccups.

    Also, I’d encourage you to share your code on the NI Community, if you get the chance (ni.com/community). This is where other LabVIEW developers share and download code and I’m sure your post would get a ton of traffic and a lot of collaboration.

    Take care and good luck,
    Emilie

  • Ron said,

    Will you be publishing the VI or how you’re connecting to the Kinect?

    Thanks for the teasing post!

  • John Wu said,

    Hi Ryan,

    Just wanted to let you know I was able to take things a little further with the help of your code. Thanks for making interfacing to the kinect from LabVIEW a very simple process. Check out my post at http://riobotics.blogspot.com/2011/03/labview-xbox-kinect-and-3d-point-cloud.html. Cheers!

  • Ryan Gordon said,

    Hi Jon, that is awesome stuff! I will definitely be using your code for some of my projects

  • Robin Senoner said,

    Hello,
    I would like to ask you a question. I come from Italy and we are trying tho make Kinect work with a Robot.
    We are looking for a Labview program that tracks the person without the tracking position.
    I will not use the Kinect for commercial reasons, but i want to ask you if you know how to use the SDK published by microsoft on Labview.
    Thanks!

  • Fabio said,

    HI Ryan,
    I need to use my kinecy for a project in my high school and I want to use the SDK microsoft with labview. How can I convert the SDK in labview??? If you know please answere at my e-mail adress!

    Thanks!!

    Fabio

  • jc said,

    great job Ryan, does anybody have done any skeleton?

Add A Comment