An NX-Based Kinematic Model of the Human Hand 

Introduction

The human hand is a complex mechanical system; Composed of 27 bones, 27 joints, 34 muscles, and over 100 ligaments and tendons. With many of these joints capable of multiple degrees of freedom, the position of each segment can vary based on muscle contraction, the shape of the object grasped, or user preference. Besides the individual difficulties modeling the position and shape of a hand, further complications arise when multiple people are considered. Male hands can range in length from 6.25 to 20.6 cm, each hand creating unique configurations around the same object.

With such conditions, designing for the human hand presents a unique challenge. One way to virtually test the fit and feel of devices is to create CAD models of the hand. A parametric and generative model of the human hand allows for the ergonomic design of tools, interfaces, and controls. A parametric model allows for the movement of joints either by input angles or in conjunction with the device being designed. A generative model also presents unique advantages, allowing the accurate modeling of any size hand based on easily measurable external elements. This report documents the creation of a model in Seimens NX that is both generative and parametric.

Generative Model

The model described in this report is based off of work done by Bryan Bucholz. It estimates the dimensions of the hand segments based on hand length and breadth. Coefficients measured on cadavers allow for the estimation of kinematic segments, and volumetric estimations of the hand.

The kinematic model is divided into segments as shown in figure 2. The bones of the wrist and palm are simplified into a common center at the origin. Each finger is composed of 4 segments originating from the origin. The first segment of the middle finger (segment 31) is aligned with the x-axis and acts as the fixed member for all motions. 

The volume of the hand is approximated using 3-axis ellipsoids for each segment and the knuckles. Coefficients generated from cadaver measurements are applied to the hand length and breadth measurements generate the dimensions for these ellipsoids. These values create volumes that can approximate the external dimensions of the hand.

The generative steps of the hand model are done through a python script uploaded here. The script takes the hand length and breadth values and exports a .csv document containing the length of the kinematic segments, dimensions of the ellipsoids, and the angles made by the first segments from the x axis. These files are formatted and 2D arrays that can be copy/pasted directly into the NX part family table.

Figure 1: Kinematic segmentation of the hand

Figure 3: Segmental ellipsoid definition

NX Parametric Model

The model uses the "part family" feature of NX to simplify the generation of the 20 segment and 14 knuckle ellipsoids. The template file creates a revolved ellipsoid that is scaled in the third dimension to approximate a 3-axis ellipsoid. There are 4 dimensions that modify the ellipsoid: the x, y, and z radii; and an offset dimension that shifts the center of mass in the y direction. Sketch points exist in the model that act as anchor points for assembly constraints.

The full assembly is fixed relative to the 31 segment, which is anchored to the origin and oriented in the x direction. The first segment of each finger is anchored to the origin, and the segment centerline has an angle constraint to the x axis. The first segments are allowed to rotate about the x axis by expression, with limits based on experiment. The second segment of each finger is constrained to the endpoint of their corresponding first segment. Rotations in the segmental xy plane are defined by expression and correspond to the flexion and extension of the finger. Rotation in the segmental xz plane is also defined by expression and corresponds to rotation of the finger (a wagging finger gesture). The third and fourth segments are added to each finger, with segmental xy plane rotation defined by expression, and segmental xz plane rotation constrained as zero. Knuckle ellipsoids are fully constrained to their corresponding segments.

The final result is an approximation of the human hand and its kinematics. The dimensions of the hand are defined by the generative model. The positioning of the hand is defined by 24 variables.

The model can be modified so that the positioning is derived from a grasped object instead of explicit angles. This can be done by first suppressing the 24 variable constraints. Touch constraints are applied to each segment from 1-4 in order until each segment is in contact with the grasped object. Modifying the assembly in this way allows for the estimation of a hand position around an object.

Results

The image below shows the resulting assembly.

Discussion and Future Work

The kinematic model can provide a customizable approximation of the human hand for modeling objects and tools intended for manual interaction. It can be modified dimensionally to approximate an individual's hand using two external measurements, without the need for advanced scans. The positioning of the model can be modified to approximate the external dimensions of the hand in certain positions when grasping certain objects.

The model can be developed further in many ways. It can be expanded with more body parts, such as the arm. Inverse kinematic functions can be included that can estimate the position of the hand in response to muscle forces. Dynamic positioning can be created with the integration of a neuromechanical model, such as the model described here.

The model described here is a starting point for many interesting possibilities.