Control robot servos using your body and a Microsoft Kinect
+ How To Add This Control To Your Project (Click to Expand)
- Make sure you have the latest version of ARC installed.
- Select the Get button in this page to download the archive file.
- Double click the downloaded archive file to execute installer.
- The installer will add this control to ARC.
- Load ARC and press the Project -> Add Control button from the menu.
- Choose the Misc category tab.
- Press the Kinect Body Control icon to add the control to your project.
This ARC plugin enables controlling servos of your robot by moving joints of your body, which are detected by a Microsoft xBox 360 Kinect only. Servos can be assigned to each joint using the Settings window. Degrees to move the servos are automatically calculated for joints in relation to the connecting joint. For example, the wrist position in degrees is calculated in relationship to the elbow position. And the elbow position in degrees is calculated in relationship to the shoulder position. Each joint can be assigned to control servo positions between 1-180 degrees of your robot.
The configuration window provides you with 3 tabs. The general tab contains settings for filtering and such. The other 2 tabs are to specify servos per joint.
Increase the smoothness value to remove servo jitter. However, there will be a slight delay as the smoothness value increases.
The Upper and Lower servo tabs will specify what servos will be assigned to different joints of your body.
I'm unsure of what kinect's work with the SDK in Windows, due to limited information published by Microsoft (or at least hard to find information). There are multiple Kinect versions, the one I used is xBox 360 Kinect.
Compiled against Kinect 1.8 SDK, because I only have an XBOX 360 Kinect. I'm unsure of the compatibility with later versions. The SDK can be installed from here, as you will need the libraries it includes: https://www.microsoft.com/en-ca/download/details.aspx?id=40278
Work In Progress
- The servos for legs are not implemented yet
- The shoulder rotation servos are not implemented yet