add file and references for DMP orientation (todo)

This commit is contained in:
Brian Delhaisse
2019-11-01 22:22:48 +01:00
parent 6447c88a2c
commit 43308079ab
3 changed files with 20 additions and 3 deletions
+4 -3
View File
@@ -3,7 +3,7 @@
In this folder, we provide the various learning models. These can be categorized into two categories: movement primitives and general function approximators.
These include:
- Central pattern generators (CPG; the version provided by )
- Central pattern generators (CPG; the dynamical formulation described in Ijspeert's papers)
- Dynamic movement primitives (DMP)
- Probabilistic movement primitives (ProMP)
- Kernelized movement primitives (KMP)
@@ -12,14 +12,15 @@ These include:
- Polynomial models
- Gaussian mixture models (GMM) with its regression counterpart (GMR)
- Gaussian processes (GP; it uses/wraps the [GPyTorch](https://github.com/cornellius-gp/gpytorch) library)
- Neural networks (currently, only MLP are provided)
- Neural networks (NN)
TODO:
- [ ] finish to implement the models
- [ ] provide multiple tests/examples for each model
- [ ] implement other models such as HMMs
- [ ] implement other models such as Hidden Markov Models (HMMs), Riemaniann Motion Policies (RMPs), etc
#### what to check/look next?
Check the `approximators`, `policies`, `values`, and `dynamics` folders.
+2
View File
@@ -106,6 +106,8 @@ class DMP(object):
- [8] "A Framework for Learning Biped Locomotion with Dynamical Movement Primitives", Nakanishi et al., 2004
- [9] "Policy Search for Motor Primitives in Robotics", Kober et al., 2010
- [10] "A Generalized Path Integral Control Approach to Reinforcement Learning", Theodorou et al., 2010
- [11] "A correct formulation for the Orientation Dynamic Movement Primitives for robot control in the
Cartesian space", Koutras et al., 2019
"""
def __init__(self, canonical_system, forcing_term, y0=0, goal=1, stiffness=None, damping=None):
+14
View File
@@ -0,0 +1,14 @@
# -*- coding: utf-8 -*-
#!/usr/bin/env python
r"""Define DMPs for orientations
For orientations expressed as rotation matrices or quaternions, DMPs have to be reformulated to account for the manifold on which these mathematical objects live. This is different from the standard DMP equations which assumes that the space is Euclidean.
References:
- [1] "Orientation in Cartesian Space Dynamic Movement Primitives", Ude et al., 2014
- [2] "A correct formulation for the Orientation Dynamic Movement Primitives for robot control in the Cartesian space", Koutras et al., 2019
"""
# TODO: implement the DMPs for orientations.
# TODO: generalize based on the given manifold (see also `pymanopt`).