API Documentation#
This is the detailed documentation of all public classes and functions. You can also search for specific modules, classes, or functions in the Index.
movement_primitives.dmp
#
Dynamical Movement Primitive (DMP)#
This module provides implementations of various DMP types. DMPs consist of a goal-directed movement generated by the transformation system and a forcing term that defines the shape of the trajectory. They are time-dependent and usually converge to the goal after a constant execution time.
Every implementation is slightly different, but we use a similar notation for all of them:
\(y,\dot{y},\ddot{y}\) - position, velocity, and acceleration; these might be translation components only, orientation, or both
\(y_0\) - start position
\(g\) - goal of the movement (attractor of the DMP)
\(\tau\) - execution time
\(z\) - phase variable, starts at 1 and converges to 0
\(f(z)\) - forcing term, learned component that defines the shape of the movement
\(C_t\) - coupling term that is added to the acceleration of the DMP
|
Dynamical movement primitive (DMP). |
|
Dynamical movement primitive (DMP) with final velocity. |
|
Cartesian dynamical movement primitive. |
|
Dual cartesian dynamical movement primitive. |
Coupling Terms#
Coupling terms can be used to adapt the movement generated by a DMP online. Not all coupling terms are compatible with all types of DMPs.
|
Couples position components of a 2D DMP with a virtual spring. |
|
Coupling term for obstacle avoidance in 2D. |
|
Coupling term for obstacle avoidance in 3D. |
|
Couples position components of a 6D DMP with a virtual spring in 3D. |
|
Couples relative poses of dual Cartesian DMP. |
|
Couples distance between 3D positions of a dual Cartesian DMP. |
|
Couples relative pose in dual Cartesian DMP with a given trajectory. |
movement_primitives.promp
#
Probabilistic Movement Primitive (ProMP)#
ProMPs represent distributions of trajectories.
|
Probabilistic Movement Primitive (ProMP). |
movement_primitives.io
#
Input / Output#
Input and output from and to files of movement primitives.
|
Write object to pickle format. |
|
Read object from pickle format. |
|
Write object to YAML format. |
|
Read object from YAML format. |
|
Write object to JSON format. |
|
Read object from JSON format. |
movement_primitives.base
#
Base Classes#
Base classes of movement primitives.
|
Base class for point to point movements (discrete motions). |
movement_primitives.data
#
Data#
Tools for loading datasets.
|
Load demonstrations from LASA dataset. |
|
Create a minimum jerk trajectory. |
|
Generates toy data for testing and demonstration. |
movement_primitives.kinematics
#
Kinematics#
Forward kinematics and a simple implementation of inverse kinematics.
|
Robot kinematics. |
|
Kinematic chain. |
movement_primitives.plot
#
Plotting Tools#
Tools for plotting multi-dimensional trajectories.
|
Plot trajectories of N dimensions in N 2D subplots. |
|
Plot distribution of N dimensions in N 2D subplots. |
movement_primitives.visualization
#
Visualization Tools#
3D visualization tools for movement primitives.
|
Plot point cloud. |
|
Compute error ellipsoid. |
movement_primitives.dmp_potential_field
#
Potential Field of DMP#
Visualization of DMP as potential field.
|
Plot 2D potential field of a DMP. |
movement_primitives.spring_damper
#
Spring-Damper Based Attractors#
Spring-damper based attractors are the basis of a DMP’s transformation system.
|
Spring-damper system. |
|
Spring-damper system for quaternions. |