diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..41b756fdc7d0c3053d7aba5f8c9d75543be30c25 --- /dev/null +++ b/README.md @@ -0,0 +1,55 @@ +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 of dynamical +movement primitives with temporal coupling”. In:EuropeanControl Conference +(ECC). June 12–15, Limassol, Cyprus, pp. 32–39. + +Two videos are available: +https://www.youtube.com/watch?v=KRfjMXs4LjQ +and +https://www.youtube.com/watch?v=u8GwsSsL0TI + + +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++: +1. Navigate to cpp folder +2. type 'make' + + +Run ExtCtrl: +/opt/robot/example/opcom/lth_net_xeno -v /dev/ttyUSB0 localhost 2000 + +Then load /tmp/$USER/convergence_dmp_two_arms + +Run C++ program: +./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://gitlab.control.lth.se/cont-mkr/dmp_perturbation_sim_example +for simple simulation in Matlab. + +https://github.com/baggepinnen/DynamicMovementPrimitives.jl +for a Julia implementation. Also allows for offline simulations. + + + +