Kinect for LabView – Part 2

Posted by Ryan Gordon on January 20, 2011 under LabView, Programming | 19 Comments to Read

It’s been 4 weeks since I last posted on my Kinect development, and I have some updates to share.

First and foremost the code is available to anyone who wants it or to help develop it on github here: https://github.com/RyanGordon/libfreenect/tree/unstable or if you only want the labview code and relevant files: https://github.com/RyanGordon/libfreenect/tree/unstable/wrappers/labview. The library is also making it’s way into the official OpenKinect codebase.

Second, the code is now much cleaner and the interface is much better. The LabView libraries now interface with the IMAQ vision library for easy processing and machine vision intelligence.

The next challenge is to figure out what cool thing I can do with this now! I’m hoping to write an efficient algorithm for detecting the best path for a robot to take, from point A to point B, using the Kinect.

Stay tuned for the 3rd installment of the Kinect trilogy.

P.S. Thank you everyone who reads this blog and especially those whom have left feedback or commented. Your interest and encouragement is what keeps me going with projects like these.

  • Jack Taylor said,

    Hey Ryan,

    I work for National Instruments in the UK. Just wanted to say well done for using LabVIEW for such a fascinating application. keep up the good work!

  • Bas said,

    Hey

    GREAT work. Im a scientist using labview on al kinds of project. Now i can try and see whether Labview and Kinect enable us to track arm movements of patients in 3d.

    Keep up the good work!

  • John said,

    Ryan,

    Not sure if you’re familiar with the HALCON machine vision library from MVTec, but it too can interface to the Kinect. HALCON offers some unique 3D vision tools not available in other standard software packages. Their 3D shape-based and surface-based matching operators are particularly powerful for locating objects, measuring, and/or determining their pose with this type of technology.

  • nas said,

    hi ryan,
    after following the instructions i run the opencameraconnection.vi and get the error -1073807343.

    i’m using window 7 and the drivers seems fine.

    any gut feelings on what might be going wrong?

    nas

  • Ryan Gordon said,

    Hi nas,

    Have you tried the basic things such as making sure that you didn’t miss any steps from the README and that the Kinect is turned on and connected properly?

  • thef said,

    cool… i can start to exp with it cheerios…

  • Rob said,

    Very cool stuff – we’re going to try to integrate the kinect with the robots we use with labview and some other projects in the lab. I admit I haven’t looked very closely at the VIs yet, but is there any concern about getting too “invested” in using the IMAQ library, especially considering it’s Windows only?
    Looking forward to many cool things =)

  • Genny said,

    Great weekend project if you ask me. Considering the Kinect was one of the fastest selling accessories ever really separates it from the pack as well. It will really be interesting to watch what the community does once the SDK is released.

    I have a feeling that the SDK will really propel the Kinect Hacks community and the commercial aspect of its use. We all heard about the Roomba hack, now check out hte latest from them. AVA ready Robot, and thats really a 2.0 level technology.

    Thanks for spreading the word! The Open Kinect community should really be thanked as well.

  • Bledi said,

    I just discover your works !!! It is really EXCELLENT !
    We are french NI parteners so we are very interisting by this development. I just have send a link to your bog to my team …
    See you

  • Andreas said,

    Found your blog when I was searching for LabView implementations of the Kinect. You are doing a great job!

  • Michael Hall said,

    Hi Ryan,

    Thanks for making the code available – I got everything up and running without any trouble in LabVIEW 2010. Played around with 3D point clouds for hours last night – super fun!

    Is it possible to incorporate OpenNI skeletal tracking functions from PrimeSense into LabVIEW, too?

    Take care,
    Michael

  • Dear User said,

    This can be used in some new cars in autoparking. In mech department of our college there is a project like this.but they don’t use ms’s kineckt. They are working very hard on the vehicle. I’m not exactly sure but you would have a long way to make it possible. because this is a new technology and the algurithm is so hard to use.
    Best regards

  • Dear User said,

    Also sorry for typing mistakes.I post using my mobile ;)

  • robert j loomis iii said,

    Excellent work, looking forward to the 3rd part

  • Th said,

    Hi Ryan
    Super cool stuff!
    Up and running on labview 2010!
    However i cant see any accéléromèter changes when moving around need to program sOmething with imaq vision?
    I will try to interface with m’y labview program that controls nanoparticles motion…
    Need some help!
    Thx

  • xto said,

    Can’t wait to experiment with it. I haven’t checked the VI’s, but my quick guess is, this might only work with labview 10. Am I right? I have Labview 8.0 at work, that’s why I’m asking. cheers and keep up this work.

  • Ryan Gordon said,

    Hi xto, I’m using LabView 2009 with the IMAQ library to develop the labview side to this. I’m not sure if it’ll work with LabView 8.0 but you can always try and let us know! I should have a big update out soon with Connected Component Labeling functionality and filtering as well as the dlls synced with the latest fixes and improvements.

  • Kris said,

    Hello Ryan,

    Excellent work !
    Unfortunately I’m not able to test it :(

    I’m using :
    - Labview 2010 SP1 + Vision (30-day trial)
    - OpenNI 1.5.2.7
    - Primesense -NITE 1.5.2.7
    - Primesense Sensor KinectMod 5.1.0.25
    - Windows Driver Package – Primesense (psdrv3) 3.1.2.0 and 3.1.3.1.

    The OpenNI and Nite samples work. (NIViewer & Sample-PointViewer)
    Yet, i’m not able to make it work in Labview.
    I have no idea what I’m doing wrong.
    Could you point me towards the right direction?

    When I open the freenect.lvlib project and open the example.vi I get following error :
    “1097 – Call Library Function Node in libfreenect.lvlib:get image frame.vi
    ->libfreenect.lvlib:get_image_imaq.vi
    ->libfreenect.lvlib:example.vi”

    I’ve tried different drivers, other approaches, I don’t know what else to test. I could really use some assistance.

    Thank you in advance.

    Best Regards,
    Kris

  • MasterGeek said,

    Thank you for providing our robotics team with a way to attach the kinect to our robot. We haven’t attempted to do it yet, but your library should allow us to do it with a little tweaking. You may be hearing from more FRC teams. Thanks! Go FIRST robotics!

Add A Comment