# Kinematics (forward/inverse) library using nalgebra.

`k` has below functionalities

1. Forward kinematics
2. Inverse kinematics

See `Chain` as the top level interface.

## Re-exports

 `pub use self::joint::Joint;` `pub use self::joint::JointType;` `pub use self::link::Link;` `pub use self::node::JointBuilder;` `pub use self::node::Node;`

## Modules

 iterator Iterators to iterate descendants and ancestors joint Joint related structs link `link` can be used to show the shape of the robot, or collision checking libraries. node graph structure for kinematic chain prelude Load basic traits of `k` urdf Load URDF format and create `k::Chain`

## Macros

 connect set parents easily

## Structs

 Chain Kinematic Chain using `Node` Constraints A bundle of flags determining which coordinates are constrained for a target JacobianIKSolver Inverse Kinematics Solver using Jacobian matrix SerialChain Kinematic chain without any branch.

## Enums

 IKError The reason of the fail of inverse kinematics JointError The reason of joint error

## Traits

 InverseKinematicsSolver IK solver Real Trait shared by all reals. RealField Trait shared by all reals.

## Functions

 center_of_mass Calculate the center of mass of the chain create_reference_positions_nullspace_function Utility function to create nullspace function using reference joint positions. This is just an example to use nullspace. jacobian Calculate Jacobian of the serial chain (manipulator).

## Type Definitions

 Isometry3 A 3-dimensional direct isometry using a unit quaternion for its rotational part. Also known as a rigid-body motion, or as an element of SE(3). Translation3 A 3-dimensional translation. UnitQuaternion A unit quaternions. May be used to represent a rotation. Vector3 A stack-allocated, 3-dimensional column vector.