# Is it possible to achieve functional reach test with Kinect

• ### Question

• Hi all,

I am new to Kinect SDK and doing some experiment. In my experiment I am trying to achieve Functional Reach Test using Kinect as below:

Functional Reach Test means "Can Kinect detect the distance between normal posture to the distance traveled by the Arm ".

As per above diagram:

Total distance traveled = Distance between A to C - Distance between A to B

IMPORTANT: The reach test can be in any direct or can say in a 3D view. Like in forward direction, backward direction, left, right, up, down.

So my question is "Is it possible to achieve these kind of functional reach test with Kinect" with in 3D view?

Hoping for the solution of my experiment.

Thanks! Ashish Narnoli

Friday, August 14, 2015 6:41 AM

• Hi Ashish,

You should be able to accomplish this with the Kinect sensor.  When you get the body joint positions, you are given a 3D coordinate.  Based on your drawing, I would use the SpineBase joint (A) to confirm that the individual has not stepped forward and the hand joint positions (B and C) for your reach calculations.

Thanks,

David

Friday, August 14, 2015 6:01 PM

### All replies

• Hi Ashish,

You should be able to accomplish this with the Kinect sensor.  When you get the body joint positions, you are given a 3D coordinate.  Based on your drawing, I would use the SpineBase joint (A) to confirm that the individual has not stepped forward and the hand joint positions (B and C) for your reach calculations.

Thanks,

David

Friday, August 14, 2015 6:01 PM

I have few more questions in continuation with above  (Please don't mind)

1- As per above image the human body has side view. Is it possible to calculate reach test from a starting point towards any of side - either side, front, back, up or down side?

2- Can I construct a three dimensional envelope (3D wireframe structure and human body will trapped under this cage). That structure may be saved and further viewed and rotated.

The objective of asking few questions is to create a game. Gaming environment will display Cage with a trapped human in it. Now Human activity will include touching each and every bar so as to practice exercise.
Human will touch single bar at a time which will get disappear once touched.

The whole process should be recorded so that it can be reviewed.

Monday, August 17, 2015 11:53 AM
• Hi Ashish,

You should be able to have your players stand sideways. However, a sideways pose may not be ideal as they will have to turn their head (potentially uncomfortably) to see the screen.  I definitely recommend having your players face the sensor.

You should be able to calculate and create a virtual cage for the players.  Basing the center point on the base of the spine (SpineBase joint) will allow you to calculate the location for the walls as well as to have the cage move with the player, if desired.

Thanks,

David

Monday, August 17, 2015 5:44 PM
• Thanks David, you saved me!

One more final question for now please:

What platform/ tools/ programming language/ environment you would suggest to accomplish my goal? The game should be run on XBox One Console with Kinect (if feasible) or the WPF application is enough to complete it by using Kinect with Kinect Adapter.

A game developer suggest me to use Unity3D for my purpose. Is that true? or what you would recommend me in my scenario?

I have rich experience with C# programming but very new in Game development. Looking forward to your suggestion.

Tuesday, August 18, 2015 5:40 AM
• Hi Ashish,

If you are interested in Xbox One development, you should look into the ID@Xbox program (http://www.xbox.com/en-us/Developers/id).

Unity is a great tool for game development.  It provides the game and physics engines allowing you to focus on gameplay and art.  It also supports C# programming.  If you investigate Unity, I suggest starting with the Kinect plugin linked here http://www.microsoft.com/en-us/kinectforwindows/develop/downloads-docs.aspx.

Thanks,

David

Tuesday, August 18, 2015 5:07 PM

Still I have few doubts and hoping you can help me out here. I could be grateful to you.

1- How to save the 3D cage structure once the player will complete sweeping motion and a cage is created - for further review by rotation on any axis (360 degree view)?

2- What process should need to follow to superimpose/ juxtapose 2 saved virtual cage so that I can find the difference between them. Difference means the which one has bigger cage or have bigger radius?

Thanks!

Tuesday, August 25, 2015 12:52 PM
• Hi Ashish,

Those questions are not Kinect related and are details of your game.  I don't really have an answer to how you should or would want to do these processes.

Thanks,

David

Tuesday, August 25, 2015 6:15 PM
• Thanks David.
Wednesday, August 26, 2015 4:44 AM