Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   NI LabVIEW (http://www.chiefdelphi.com/forums/forumdisplay.php?f=182)
-   -   Kinect LabView Drivers (http://www.chiefdelphi.com/forums/showthread.php?t=87571)

Ryan Gordon 30-12-2010 02:51

Re: Kinect LabView Drivers
 
Quote:

Originally Posted by SuperS_5 (Post 989140)
Hi, this has grabbed my interest. I believe that LabVIEW does support isochronous connections. Although I could only find documentation on Firewire and isochronous data transfer, I have successfully used every USB webcam that I have tried with LabVIEW. The IMAQ USB drivers have to be installed. They are available to download from NI, but, I am unsure of any licensing. (I think only the NI Vision module has to be activated, not the drivers) If the device can be enumerated via USB devices, it should work via IMAQ USB capture.

At this point, I've switched to using the OpenKinect project as a dll (based on cross-platform libusb). Much easier to work with their framework rather then reinvent the wheel :) I previously tried using the VISA interface for USB capture which doesn't support isochronous transfers.

Quote:

Originally Posted by Brandon_L
I am EXTREMELY interested in this. Do you plan on releasing it when its done?

I certainly am; I should have source code up in my github fork within the next few days.

SuperS_5 30-12-2010 11:56

Re: Kinect LabView Drivers
 
The only reason why using LabVIEW for the image acquisition is that IMAQ uses the Vision module. It is all reference based, and very well designed. It is fast, and has a ton of primitives for image manipulation/measurement. For automation, this would surely make life easier. The first time I used the Vision, I built a flag follower module that ran on the cRIO in about 2 hours. I suppose that the image could be sent to the Vision module, but there may be performance issues that would have to be worked out. I would be more then happy to help out with the LabVIEW side.

Ryan Gordon 30-12-2010 16:00

Re: Kinect LabView Drivers
 
I'll do some timing to see what kind of performance we get out of this; Converting to something that IMAQ can handle isn't too hard.

I'd surely like anyone's help (who wants to) to improve this :)

SuperS_5 30-12-2010 20:19

Re: Kinect LabView Drivers
 
If you have any modified code from the last time you posted, please re-post or we setup some kind of code repository. Also, which version of LabVIEW do you use? I don't want to up-save, and cause troubles when you try to open the code.

SuperS_5 30-12-2010 20:56

Re: Kinect LabView Drivers
 
I have setup a Google code repository account/project. This can be changed, I just wanted to try out their repository anyways.

https://code.google.com/p/kinect-labview-api

I have not seriously used their repository before, so I am still learning how to configure it.

Ryan Gordon 31-12-2010 02:21

Re: Kinect LabView Drivers
 
I already have it up on a github account since the OpenKinect project is located there and forking/syncing is easy.

https://github.com/RyanGordon/libfreenect/ -> Unstable branch -> wrappers/labview/

I'm using LabVIEW 8.6

TriRulz 06-01-2011 14:17

Re: Kinect LabView Drivers
 
This is the XboX 360 kinect or am i thinking wrong?

davidthefat 06-01-2011 14:51

Re: Kinect LabView Drivers
 
Quote:

Originally Posted by TriRulz (Post 991990)
This is the XboX 360 kinect or am i thinking wrong?

Yes it is the 360 Kinect

jcabrer 07-01-2011 15:46

Re: Kinect LabView Drivers
 
Hello all.

LabVIEW VISA USB does not support isosynchronous communications. This is stated in documentation describing how to install a RAW USB driver for low-level USB device communication.

The easiest way to use the kinect with LabVIEW is to have it be recognized as a USB camera, and acquire the image data via IMAQdx. I've manged to get this working in the last couple of days, and will be posting a tutorial video on how to get there, as it's a bit involved, especially if you've been playing with all of the other kinect drivers out there from CL, OpenKinect, and PrimeSense.

Of course this limits you to using a PC running Windows OSes, so not really applicable to cRIO integration.

SuperS_5 09-01-2011 00:29

Re: Kinect LabView Drivers
 
I think I mentioned IMAQ somewhere along the line. I knew that using VISA was going to be difficult at best, and probably totally impractical, if not impossible. (The documentation is only the "official" use case, some people have done amazing stuff to LabVIEW. Take JKI labs for example.)
The Kinect is a USB device, so it can be loaded into virtual machines, if your host is not Windows. I have also had a prelim look at the PrimeSense, OpenKinect, Cl packages, but was stalled due to work responsibilities.

Simy 13-01-2011 12:33

Re: Kinect LabView Drivers
 
Hi all,
please excuse my possible naiviety on this issue but would it be possible to use the dlls from code laboratories with the call library function to control the device through labview? jcabrer - In relation to using IMAQdx, does this need specialised drivers or are you using existing drivers to do this?

Ryan Gordon 14-01-2011 02:13

Re: Kinect LabView Drivers
 
Quote:

Originally Posted by Simy (Post 999065)
Hi all,
please excuse my possible naiviety on this issue but would it be possible to use the dlls from code laboratories with the call library function to control the device through labview? jcabrer - In relation to using IMAQdx, does this need specialised drivers or are you using existing drivers to do this?

I'd say realistically, probably not but it depends on your level of comfort with LabView - Other dll's may return and require datatypes that may not be easily feasible to implement in labview. I wrote an abstraction layer dll on top of the c_synchronous OpenKinect wrapper which sits on top of the OpenKinect asynchronous library just to make it work (easily) with LabView.

Greg McKaskle 14-01-2011 02:21

Re: Kinect LabView Drivers
 
Quote:

...would it be possible to use the dlls...
The long answer is, yes. It is possible to wrap anything. Or put another way, I haven't seen anything that couldn't be wrapped, but as the DLL interfaces become more complex, the wrapping does as well. This is one of the more complex things to do in LV. As you develop the wrappers, bugs in your code are pretty unforgiving, and feedback can be pretty obscure. Even when it works, misunderstandings on who is supposed to allocate and destroy buffers, or lifetime of buffers can lead to leaks or instabilities.

That being said, if the dlls are pretty simple, if you are able to connect to external dlls, it shows that you understand many low-level computing concepts. If you attempt this, you should be able to get pretty decent help here.

Greg McKaskle

Ryan Gordon 20-01-2011 04:10

Re: Kinect LabView Drivers
 
Just a quick update, I've got much improved drivers committed to my GitHub Repository and making its way to the official OpenKinect branch, should anyone be interested in using these :)

More Information: http://ryangordon.net/2011/01/20/kin...abview-part-2/

borifar 28-01-2011 10:13

Re: Kinect LabView Drivers
 
Hello Ryan,
You are doing excellent work on creating Labview driver. I am programming with Labview for > 15years. Some of my interests are visual inspection in manufacturing environment. I have used a cost effective approach and utilized consumer cameras (Canon, Olympus).Over the years I have created several measurement systems capable of measuring size with ~ 6 microns resolution (system cost <$1000) . To gain accurate measurements, the distance from the object to the camera has to be known. Several tricks can be used to resolve this, but since Kinect has a measurement laser it may have a lot of promise for automation. Do you know how accurately distance can be measured with the Kinect laser?
If you need any help with Labview Image analysis - let me know. I will be glad to help.
Regards
Boris


All times are GMT -5. The time now is 00:48.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi