Labanotation as a basis to represent human motion,
proposed to extract key motion primitives, and
proposed architectures for digital representation of
human movements [Badler 79]. Another approach uses
natural language; such as “Improv” system used natural
language to script human behavior interacting in virtual
environments [Perlin 96]. Motion sequences can be
generated by system that employs human
biomechanical logic [Badler 94].
2. Specifying Humanoid Motions
The proposed language and framework for specifying
humanoid motions includes the following attributes:
motion description layers, egocentric reference system,
progressive quantized refinement, and automatic
constraint satisfaction, each of which is described as
follows.
2.1 Motion Description Layers
Table 1 outlines the concept of motion description
layers. Each description layer is a level of abstraction.
Joint Angle layer describes a motion in terms of
changes in the joint angles, such as knee joint rotate to
30 degree or elbow joint rotate to 45 degree. This layer
provides detail and precise information that can readily
be used to control various actuators of a robot. Path
layer describes a motion in terms of a connected line
that is specified by points. A simple path can be
specified using two points, such as Hand (v1) that
moves hand from current position to point v1. More
points provide more detail specification of the path; for
example, Foot (v1, v2) denoted that foot moves from
current position through v1 to v2.
Motion primitive layer describes a motion in terms of a
given set of essential motions that can be combined to
form more complex motions. The set of essential
motions must first be identified. It must be complete so
that we can describe all possible motions of a humanoid
robot. We must also provide a set of rules for specifying
how one motion primitive can be combined with
another. In effect, we are creating a formal language
Table 1. Motion Description Layers
Description Layer |
Example_______________ |
Motion Sequence |
Walk, Run, Jump, Turn_____ |
Motion Primitive |
Raise, Lower, Forward, |
Path______________ |
Hand (v1), Foot (v1, v2) |
Joint Angle |
Knee Joint 30, Elbow Joint |
Figure 1. Egocentric Space Reference System
and insuring that the language is both complete and
consistent. This is an axiomatic approach to describe
humanoid motions.
Motion sequence layer describes a sequence of motions
in terms of motion blocks such as walk, run, jump, and
turn. Using this high-level description, we can describe
a complex task with ease without having to specify the
angle of each joint. However, this high-level description
is not as precise as low-level description and thus leaves
must room for interpretation that is addressed in this
investigation by using Progress Quantized Refinement
discuss in Section 2.3.
2.2 Egocentric Reference System
We proposed an egocentric reference system for
specifying space-time in discrete finite four-
dimensional hyperspace. Each point in our reference
system is represented by a quintuple (x, y, z, t). Each of
the variables, x, y, z, and t, is an integer ranging from -
128 to +127. The origin of the reference system locates
at (0, 0, 0, 0). In short, each point in our reference
system can be stored using four bytes or 32 bits.
Our reference system is egocentric in that the origin of
space is located at the center of the torso of a humanoid
robot, as denoted in Figure 1. The origin of time is
located at the beginning of a state transition.