Figure 1: Checkerboard placed on the desk at the center of the interaction region.
Figure 2: After camera calibration, check for ghosting. If ghosting is present, try calibrating again.
In this section, the commands will all be run from the shell. Open up a Terminal (in /Applications/Utilities) and change to the NimbleSDK directory using 'cd /Path/To/NimbleSDK'.
Run the guided physical setup program: ./camerasetup.sh and adjust the physical orientation of the cameras according to the instructions. Place the checkerboard at the center of the workspace (See Figure 1) to begin. At the end of the camera setup, your cameras will be calibrated to your workspace.
Troubleshooting:
Figure 3: The system computed the correct (smaller) scale when the hands are in the spread pose.
By default, the hand tracking server runs in calibration mode.
./nimble_server.sh
Spread out your fingers to calibrate the scale of your hands (See Figure 3). After about a second, the system will converge to the correct scale.
There's usually no harm in keeping the hand tracking server in calibration
mode all the time, although you can explicitly disable it and specify your hand
scale manually when you start the server. Note that if you are using a
two-camera setup (not recommended), quick-start calibration isn't available,
and you'll also need to specify the scale manually:
./nimble_server.sh -C -s YourHandScale
To run any application that depends on hand tracking, you'll need to run the hand tracking server:
./nimble_server.sh
Spread out your fingers to calibrate your hands (See Figure 3).
Take a look at the quality of the tracking shown in the DebugViewer visualization. If the hand tracking looks to be of sufficient quality, try running some of the sample programs.
heart_demo.sh
Pinch with both hands to get started. A successful pinch will turn your hand yellow. Note that you may have to spread your pinching fingers apart (~3cm) before making the pinch. Move your hands around to get a sense of the interaction space. To move the heart, pinch with one hand while the heart is highlighted. Try pinching the heart with your left hand and the handle of the cutting plane with your right hand. You can rotate the heart by pinching with both hands simultaneously.
dino_eggs.sh
Pinch with both hands to get started. Collect eggs by pinching them with your hand. Remember you can use both hands to pinch two eggs at once!
cricket_defender.sh
Pinch with both hands to get started. Then extend the index finger of your right hand as if you're pointing at the screen. Use your hand as a cricket bat to bat away the dynamite while collecting presents.
xylophone.sh
Extend the index fingers of your left and right hand as if you're pointing at the screen. Use your hands as xylophone hammers to hit notes on the xylophone.
We have included a feature for tracking arbitrary motion of all 10-fingers. You can activate it by running the hand tracking server with the a special flag:
./nimble_server.sh --ik
Calibrate your hands and you're ready to go. A good way to look at the tracked motion from different angles is by using the HandViewer:
./hand_viewer.sh
Use Alt + the left, middle or right mouse button to rotate, pan or zoom the view.