2009

The API for the plug-in solver to define its own Zero Plane Map in fact takes
the EE axis and the normal to the solver plane at the preferred pose:
virtual const IKSys::ZeroPlaneMap*
GetZeroPlaneMap(const Point3& a0,
const Point3& n0) const
where a0 and n0 are the EE axis and solver plane at the preferred pose,
respectively. Object of ZeroPlaneMap is a function that assigns a plane normal
to each point on the sphere.
Default Zero Plane Map
When not provided by plug-in solvers, (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 horizontal plane
and the sphere, the normal vector is defined as the vertical vector, pointing
to the same direction as the normal of the solver plane at the preferred
pose.
B: For any point on the sphere other than the north or south poles, there
is a great circle that passes the point and the north, south poles. This circle
hits the equator at two points. 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.
Inverse Kinematics (IK) | 3401