A template-based Library for creating curves of arbitrary order and dimension, eventually subject to derivative constraints. The main use of the library is the creation of end-effector trajectories for legged robots.

To do so, tools are provided to:

> - create **exact** splines of arbitrary order (that pass exactly by an arbitrary number waypoints)

> - constrain initial / end velocities and acceleration for the spline.

> - constrain take-off and landing phases to follow a straight line along a given normal (to avoid undesired collisions between the effector and the contact surface)

> automatically handle 3d rotation of the effector.

The library is template-based, thus generic: the curves can be of any dimension, and can be implemented in double, float ...

While a Bezier curve implementation is provided (limited to degree 3), the main interest

of this library is to create spline curves of arbitrary order

----------

Example of use for and end-effector trajectory

-------------

The library comes with an helper class to automatically generate end-effector trajectories.

For instance, to create a 2 second long trajectory from the point (0,0,0) to (1,1,0), with a waypoint