Development With Kinect .NET SDK (Part IV) – Connecting Multiple Kinect Devices with System

This is the fourth post in the series of Development With Kinect .NET SDK. In few of my previous posts I have covered Setting up Kinect Devices and Getting Started with Kinect Development ( Part I) , Exploring NUI APIs with Camera ( Part II)  and Adjusting Kinect Camera Angle (Part III). Till now whatever I have covered, that comes under dealing with  single  Kinect devices. Let’s have some more fun with multiple Kinect devices.  The Kinect .NET SDK does provide support for multiple Kinect devices.   In this post I am going to discuss how you can configure two devices with your system.

The Kinect SDK does provide support for Multiple Kinect devices and we can plug multiple devices in a same system.  Let’s first check the configuration related with H/W. What will happen if we plugged in multiple Kinect.

Navigate to Control Panel > Device Manager and Expand “Microsoft Kinect” .

Camera_Not_Detected

You will find multiple Kinect devices has been detected by your system. But, Check out the “Warning Symbol” with one of Kinect Camera Devices

Right Click on that item and Select Properties, below dialog screen will appear. Check out the Device Status section it’s says “This Device Cannot start. (Code 10) .

image

I was just wondering why it is not working ? Is there something wrong with second Kinect Device ?  The result was same after changing the USB ports for Kinect devices with in the different ports that were available with my laptop.

I started investigation and found some answer over here. It’s says, There is currently a limitation where Kinect devices might not work reliably when they are connected to the same USB host controller as other USB devices, such as webcams or other Kinect devices.

What I did next is, Changed the device manager view to “Devices by Connection

image

What I found is , Both of the Kinect are being controlled by Same USB Controller. So, it was looks like I don’t have any chance to work multiple Kinect as I checked with all the USB ports.

Well, Jebarson gave me an idea to plugged into the USB ports which were available with Laptop docking station. I just did that. Well, it worked. Check out the below snaps, both the Kinect Sensors detected properly.

DeviceManager_Kinect2

So, we are done with H/W Configuration stuff . What about accessing them using Application ?

Kinect SDK APIs provides a class “Device” which represents a system’s Kinect sensors. It’s has a property “Count” which will show the number of Kinect been detected.  So, I wrote following line of code, and check out the result.

DeviceDetectionCode

 

 

 

 

 

 

 

 

That’s all from here. In next Post we will check how to develop application Multiple Kinect . That will be more interesting.

 

Light bulbOther Posts from this series :

Development With Kinect .NET SDK (Part I) – Installation and Development Environment Setup

Development With Kinect .NET SDK (Part II) – Using NUI APIs with Camera

Development With Kinect .NET SDK (Part III) – Adjusting the Kinect Camera Angle

Hope this helps !

Cheers !!

Abhijit

My Twitter Handler : @abhijitjana
Email Me : abhijitjana@outlook.com
My Kinect Book : Kinect for Windows SDK Programming Guide

KinectBookLogo

10 comments

      1. Hi, The possible reason could be you are not checking the USB Controller part. Please read the Part 4 of these series !! I have explained how to setup environment for two kinects.

        Like

  1. Hi sir, We are currently working on Kinect Explorer sample in kinect sdk 1.5.We are unable to enable the skeletal stream in both the windows.Can you please help us regarding this issue? I mean what should we do to enable skeleton streams working with the two kinects which we have connected?
    Thanks in advance…

    Like

    1. Skeleton Tracking can be enabled for 1 Kinect at a time. While you have multiple Kinect connected, only one sensor can return the skeleton stream data. However, you can choose programmatically which sensor.
      Hope this helps.
      Let me know if you need further help.

      Thanks.

      Like

  2. Hi
    What kind of docking station did you use? Is it specifically designed for your laptop? Or a universal docking station that is not limited to one specific brand laptop? Can I also connect it to desktop so that I don’t need to buy a PCI plug-in board to extend the USB root hub?

    Like

Leave a comment