This is an implementation (mainly C++) or temporally coupled dynamical movement primitives (DMPs), described in
Karlsson, M., F. Bagge Carlson, A. Robertsson, and R. Johansson (2017a). “Two-degree-of-freedom control for trajectory tracking and perturbationrecovery during execution of dynamical movement primitives”. In:20thIFAC World Congress. July 9–14, Toulouse, France, pp. 1959–1966.
Karlsson, M., A. Robertsson, and R. Johansson (2018a). “Convergence ofdynamical movement primitives with temporal coupling”. In:EuropeanControl Conference (ECC). June 12–15, Limassol, Cyprus, pp. 32–39.
Compile simulink .mdl file: open matlab 2012a click on red box to initialize press ctrl+B to build (c-code is generated and compiled)
Compile C++:
- Navigate to cpp folder
- type 'make'
Run: ./main localhost 2000
Requirements:
Armadillo C++ library for linear algebra & scientific computing http://arma.sourceforge.net/
You may have to adjust some directories for compiling and linking.
See also: https://github.com/baggepinnen/DynamicMovementPrimitives.jl for a Julia implementation. Also allows for easier offline simulations.