9
White Paper: Swivel Angle of the HI IK Solver 451
Default Zero Pla ne M ap
When not provided by plug-in s olvers, (the IK
Solver itself is implemented as a plug-in solver) the
IK system will provide a default one. This map is
defined by the following rules:
• A: For each point on the equator, the
intersection of the horizon tal plane and the
sphere, the normal vector is defined as t he
vertical vector, pointing to the same direction as
the normal of the solver plane at the preferred
pose.
• B: For a ny point on the sphere other than the
north or south poles, there is a great circle that
passes the point a nd the nor th, s outh poles.
This circle hits the equator at two p oints. One
point is closer to the given point. The normal
vector at the given point is defined as derived
from moving tangentially the normal at the
closer point on the equator along the great
circle to the point.
Deriving the default normal to the zero p lane
Obviously, this method won’t extend to the north
or south poles. They are the singular points. When
the EE axis moves across the poles, the norm al will
suddenlychangedirection:itflipsfromtheusers’
viewpoint.
Normally, the preferred pose is the one when the
solver is first assigned. So, the plane on w hich one
lays the joints corresponds to the horizontal plane
here. Rule A ma kes sure that the chain wi ll stay on
theplaneifonemovesthegoalontheplane.
Rule B means that, when you move the goal along
the great circle vertical to the equator, the chain
w i ll stay vertical, except w hen it passes through the
poles, which are the singular points of this map.
Par ent S pace
So far, we have described t hings as if the whole
world comprises only IK elements. In practice,
the IK chain and goal mig ht sit at points of
separate transformation hierarchies. Ultimately,
we need to map the position of the end effector
that is described in the world to a point on the
sphere. Depending how t he sphere is mounted
relative to the end effector position, the readings
of latitude and longitude are different. The parent
transformation space that this sphere is to be
placed in is called the Swivel Angle Parent Space,
or Parent Space when the context is clear.
Theparentspacehastobeinvariantwithregard
to the I K parameters. Right now, we provide two
choices:
•
Start Joint—Th e Swivel Angle Parent Space is
thesameastheparentspaceoftheStartJoint.
•
IK Goal—TheSwivelAngleParentSpaceisthe
parent space of the IK Goal.
Example 1
If both the start joint and the goal are rooted
directly at the world, the choice of Paren t Space
doesnotgiverisetoanydifference. Inthe
following example, the start joint is parented to
object A.