Up:Tutorial?    Previous:Eye movement  Next: Joystick service

Control of an agent by Kinect

※This tutorial is valid for SIGVerse 2.1.0 or later. ※This tutorial requires OpenNI in your client computer. Sample program NiUserTracker is also required to be executable.

This tutorial introduces a method to control a human avatar using Kinect sensor.

Version of OpenNI

  • OpenNI Stable Build for Windows x86 (32-bit) v1.5.2.23 Development Edition
  • PrimeSene NITE Stable Build for Windows x86 (32-bit) v1.5.2.21 Development
    • Download to select OpenNI Compliant Middleware Binaries on the same page.
  • PrimeSense Sensor Module for OpenNI Version 

Set up at client side

A plug-in module for the SIGViewer receives motion data from Kinect, calculates quaternion of each joint, and send the data to avatar controller on the server.


Please download SIGNiUserTracker_<version>.zip from KINECT Service


Extract the zip file and find SIGNiUserTracker.sig file. Put the SIGNiUserTracker.sig in a folder which has the OpenNI sample program. The defold folder name is:

C:\Program Files (x86)\OpenNI\Samples\Bin\Release

(※In the case of Windows7 64bit)

Connect your Kinect to the client PC.

Set up at server side

A controller receives joint angle data; controls the avatar's joints.


Create a controller file kinectController.cpp as follows:

This controller receives messages from Kinect; rotates each joint of an avatar.

Compile with the following command.

$ ./sigmake.sh kinectController.cpp

World file

Create world file kinectWorld.xml as follows:

Just an avator will be appeared in this world. This sample controls only one human avatar by the Kinect.


SIGVerse server

Start the SIGVerse server

$ sigserver.sh -w ./kinectWorld.xml

Next, run the SIGViewer and connect to the sigserver. You can see an avatar is standing.

Registration of user interface plug-in

Click the [Service]-->[Add] menu on the top-left of the SIGViewer window bar.


You then can see the following window. Click the Add button to registrate SIGNiUserTracker.sig


After the registration of SIGNiUserTracker.sig to the Service list, click the OK button to close the window.

Next, click the [Service]-->[Start] menu; then select the SIGNiUserTracker.sig.

If the Kinect's depth map window is appeared and you see the following message on the server, it means the application is successfully started.

[SYS]  Service: "SIGKINECT" is available

Click the "START" button to start the simulation.

You can control the human avatar with the Kinect.


Compilation of source code of user interface plug-in

In this tutorial Visual C++ 2008 is used to compile the user interface plug-in.

Download of the source code of user interface plug-in

Please download the source code from KINECT Service

Move the SIGNiUserTracker folder, which is contained in the ZIP file, to a folder which has sample codes of OpenNI.

C:\Program Files (x86)\OpenNI\Samples


Next, double-click the solution file in the SIGNiUserTracker folder with administrative right.

※You have to install boost library in the case of the version number is 1.0.0.

Right-click the solution name in the solution explorer of VC++ to build the source code. If the build succeeds, SIGNiUserTracker.exe will be created at C:\Program Files (x86)\OpenNI\Samples\Bin\Release

You can registrate the plug-in module to SIGViewer after changing the suffix from .exe to .sig.

Up:Tutorial?    Previous:Eye movement  Next: Joystick service

Counter: 4460, today: 1, yesterday: 1

Attach file: fileSIGNi_3.PNG 1895 download [Information] fileSIGNi_2.PNG 1919 download [Information] fileSIGNi_1.PNG 1719 download [Information]

Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2014-12-23 (Tue) 03:49:16 (2706d)