This process involves predicting a plausible whole-body posture in an autonomous manner while trying to avoid collisions between the DHM and the surrounding environment. The posturing process is fully autonomous, which increase the repeatability of the posturing process and can save considerable time to the 3D designers, who do not have to manipulate the DHM directly.
A posture is defined as a unique set of articulated body segments position and orientation in space. The various segments that composes the DHM (e.g. feet, legs, arms, hands, trunk, head) must be positioned in such a way that the overall posture look plausible. Let's define a plausible posture as "a posture that is achievable by a real human and is the most likely to be adopted in the given context and inside a predefined margin of postural variability".
In order to predict such plausible posture, some constraints are imposed on the DHM. First, postural stability is ensured by constraining the floor projection of the center of gravity (COG) inside the base of support. The base of support, also known as sustentation polygon, is the area enclosing the body extremities (e.g. feet, hands) in contact with the environment (e.g. single foot, two feet, two feet + single hand). The closest the COG is from the boundaries of the base of support, the more difficult is to keep postural stability. For that reason, the COG is constrained within a "region inside a region', i.e. the high preference zone inside the base of support (Fig. 3, Popovic et al. 2000). The COG control in multiple supports is possible through the concept of augmented bodies (Boulic et al. 1997). Note that the EWD application has been originally designed to deal with postures with the two feet touching the same horizontal floor. More complex scenarios may eventually involve single or both hand bracing, which would affect the sustentation polygon.
The most useful type of constraints that is used on the DHM is degree of freedom (DOF) mobility. In fact, each body articulated segment has DOF that has lower and upper bounds with known values. By limiting the joints to act within these bounds, we avoid obtaining unrealistic postures (e.g. knee or elbow hyper-extension). Some of those DOF are also linked with others DOF through linear equality couplings. For example, clavicle and scapula segments mobility is directly link to humerus mobility (Lemieux et al. 2017, Patents, Ref [2]). All of these DOF constraints limit the spectrum of plausible postures, although they are not sufficient to ensure a plausible posture.
In order to "encourage" more plausible postures, the SPE also relies on a optimization solver based on the pseudo-inverse of the Jacobian matrix (Baerlocher et al. 2001, Buss et al. 2005). The solver attempts to minimize objective function criteria while imposing the various equality and inequality constraints described above. These objective functions can be seen as safety railings that prevent a car from drifting out the road, while leaving some mobility to the car. The main difference is that the space in which the SPE acts (i.e. the DOF space) has more than 100 dimensions. This is a lot more than the 3 dimensions of the Cartesian space in which a car evolves. The rule here is "The larger the solution space, the greater the number of possible postures". Thus, filtering through all these postures using objective functions becomes really important to provide plausible postures.
The main objective function criterion that is used by the SPE is the deviation of some DOF from their neutral value. This criterion is used for specific joints (i.e. spine, neck, shoulder, wrist) that are directly linked with known ergonomic guidelines (e.g. ISO11226, EN1005-3) (see Ergo4All Technology section for more details of these ergonomic guidelines). The IK solver of the SPE attempts to minimize that deviation while considering different tolerances for each DOF, in such a way that the minimization only acts when the deviation reaches a certain value. Note that other objective function criteria can be used, such as the level of deviation of some segments from the gravity line, level of energy expenditure, etc.
Another innovative feature of the SPE is the use of additional DOF at the hands related to hand-object positioning (Patents, Ref [6]). For miscellaneous objects (i.e. not categorized as tools), the rotation of the hand around the axis of the plane of the palm is totally free. Some tools also allow that rotation, but to a lower extent. In addition, the SPE allows a rotation of the hand around the handle of some tools (e.g. mallet, manual and power screwdrivers). The axis of a tool handle is determined using geometric grasping cues (Patents, Ref [3]) and the limit of these extra rotations were predefined for each category of tools available in the database of the EWD application. The SPE exploits these extra DOF to find more plausible DHM posture through a reduction of the objective function value (Patents, Ref [6]). Once the posture has been found, the final step of grasp closure can be applied.
The single whole-body posture prediction process can last between a couple of seconds in an open environment and multiple minutes in more cluttered environments. In such environment, most of the time is spent in computing and avoiding the collisions with the environment. In order to accelerate the computation, a first approach to the target object(s) can be done without arm collision check, keeping only the collision check between the rest of the body (as a single entity) and the environment. Once the object(s) is/are reached, the arm collision check can be reactivated.
