The Kinect V2.0 is capable of tracking 25 joints on up to six different bodies at the same time. The joints captured can be seen in the picture to the right. Their positions relative to each other in 3D Cartesian space are used to calculate the joint angles of the human controlling the Nao robot.
There are two angles calculated for each major joint: pitch and roll. These angles are found by drawing vectors between the joints and then using trigonometry to calculate the inner angle.
Once the necessary joint angles are found, they can be sent to the Nao robot via the Naoqi SDK’s ALMotion Proxy. The range of the joint angle calculate on the human body is mapped to the ranged of values possible for the corresponding joint on the Nao Robot. An example of this range can be seen in the picture to the right.