From 583c7638831990dc4daab098abcf89eb89e026f8 Mon Sep 17 00:00:00 2001 From: Alexander Fabisch Date: Tue, 28 Nov 2023 10:54:26 +0100 Subject: [PATCH] Unify literature references --- README.md | 60 +++++++++++++++++++ movement_primitives/dmp/_cartesian_dmp.py | 17 +++--- movement_primitives/dmp/_coupling_terms.py | 17 +++--- movement_primitives/dmp/_dmp.py | 13 ++-- .../dmp/_dmp_with_final_velocity.py | 6 +- .../dmp/_dual_cartesian_dmp.py | 18 +++--- .../dmp/_state_following_dmp.py | 6 +- movement_primitives/promp.py | 24 +++++--- 8 files changed, 115 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index 7978100..9970090 100644 --- a/README.md +++ b/README.md @@ -282,6 +282,66 @@ git clone git@git.hb.dfki.de:motto/abstract-urdf-gripper.git --recursive I assume that your data is located in the folder `data/` in most scripts. You should put a symlink there to point to your actual data folder. +## Related Publications + +[1] Ijspeert, A. J., Nakanishi, J., Hoffmann, H., Pastor, P., Schaal, S. (2013). + Dynamical Movement Primitives: Learning Attractor Models for Motor + Behaviors, Neural Computation 25 (2), 328-373. DOI: 10.1162/NECO_a_00393, + https://homes.cs.washington.edu/~todorov/courses/amath579/reading/DynamicPrimitives.pdf + +[2] Pastor, P., Hoffmann, H., Asfour, T., Schaal, S. (2009). + Learning and Generalization of Motor Skills by Learning from Demonstration. + In 2009 IEEE International Conference on Robotics and Automation, + (pp. 763-768). DOI: 10.1109/ROBOT.2009.5152385, + https://h2t.iar.kit.edu/pdf/Pastor2009.pdf + +[3] Muelling, K., Kober, J., Kroemer, O., Peters, J. (2013). + Learning to Select and Generalize Striking Movements in Robot Table Tennis. + International Journal of Robotics Research 32 (3), 263-279. + https://www.ias.informatik.tu-darmstadt.de/uploads/Publications/Muelling_IJRR_2013.pdf + +[4] Ude, A., Nemec, B., Petric, T., Murimoto, J. (2014). + Orientation in Cartesian space dynamic movement primitives. + In IEEE International Conference on Robotics and Automation (ICRA) + (pp. 2997-3004). DOI: 10.1109/ICRA.2014.6907291, + https://acat-project.eu/modules/BibtexModule/uploads/PDF/udenemecpetric2014.pdf + +[5] Gams, A., Nemec, B., Zlajpah, L., Wächter, M., Asfour, T., Ude, A. (2013). + Modulation of Motor Primitives using Force Feedback: Interaction with + the Environment and Bimanual Tasks (2013), In 2013 IEEE/RSJ International + Conference on Intelligent Robots and Systems (pp. 5629-5635). DOI: + 10.1109/IROS.2013.6697172, + https://h2t.anthropomatik.kit.edu/pdf/Gams2013.pdf + +[6] Vidakovic, J., Jerbic, B., Sekoranja, B., Svaco, M., Suligoj, F. (2019). + Task Dependent Trajectory Learning from Multiple Demonstrations Using + Movement Primitives (2019), + In International Conference on Robotics in Alpe-Adria Danube Region (RAAD) + (pp. 275-282). DOI: 10.1007/978-3-030-19648-6_32, + https://link.springer.com/chapter/10.1007/978-3-030-19648-6_32 + +[7] Paraschos, A., Daniel, C., Peters, J., Neumann, G. (2013). + Probabilistic movement primitives, In C.J. Burges and L. Bottou and M. + Welling and Z. Ghahramani and K.Q. Weinberger (Eds.), Advances in Neural + Information Processing Systems, 26, + https://papers.nips.cc/paper/2013/file/e53a0a2978c28872a4505bdb51db06dc-Paper.pdf + +[8] Maeda, G. J., Neumann, G., Ewerton, M., Lioutikov, R., Kroemer, O., + Peters, J. (2017). Probabilistic movement primitives for coordination of + multiple human–robot collaborative tasks. Autonomous Robots, 41, 593-612. + DOI: 10.1007/s10514-016-9556-2, + https://link.springer.com/article/10.1007/s10514-016-9556-2 + +[9] Paraschos, A., Daniel, C., Peters, J., Neumann, G. (2018). + Using probabilistic movement primitives in robotics. Autonomous Robots, 42, + 529-551. DOI: 10.1007/s10514-017-9648-7, + https://www.ias.informatik.tu-darmstadt.de/uploads/Team/AlexandrosParaschos/promps_auro.pdf + +[10] Lazaric, A., Ghavamzadeh, M. (2010). + Bayesian Multi-Task Reinforcement Learning. In Proceedings of the 27th + International Conference on International Conference on Machine Learning + (ICML'10) (pp. 599-606). https://hal.inria.fr/inria-00475214/document + ## Funding This library has been developed initially at the diff --git a/movement_primitives/dmp/_cartesian_dmp.py b/movement_primitives/dmp/_cartesian_dmp.py index a196ee3..dfe8af9 100644 --- a/movement_primitives/dmp/_cartesian_dmp.py +++ b/movement_primitives/dmp/_cartesian_dmp.py @@ -157,19 +157,18 @@ class CartesianDMP(DMPBase): orientation is represented by a quaternion. The quaternion DMP is implemented according to - A. Ude, B. Nemec, T. Petric, J. Murimoto: - Orientation in Cartesian space dynamic movement primitives (2014), - IEEE International Conference on Robotics and Automation (ICRA), - pp. 2997-3004, doi: 10.1109/ICRA.2014.6907291, - https://ieeexplore.ieee.org/document/6907291, + Ude, A., Nemec, B., Petric, T., Murimoto, J. (2014). + Orientation in Cartesian space dynamic movement primitives. + In IEEE International Conference on Robotics and Automation (ICRA) + (pp. 2997-3004). DOI: 10.1109/ICRA.2014.6907291, https://acat-project.eu/modules/BibtexModule/uploads/PDF/udenemecpetric2014.pdf (if smooth scaling is activated) with modification of scaling proposed by - P. Pastor, H. Hoffmann, T. Asfour, S. Schaal: - Learning and Generalization of Motor Skills by Learning from Demonstration, - 2009 IEEE International Conference on Robotics and Automation, - Kobe, Japan, 2009, pp. 763-768, doi: 10.1109/ROBOT.2009.5152385, + Pastor, P., Hoffmann, H., Asfour, T., Schaal, S. (2009). + Learning and Generalization of Motor Skills by Learning from Demonstration. + In 2009 IEEE International Conference on Robotics and Automation, + (pp. 763-768). DOI: 10.1109/ROBOT.2009.5152385, https://h2t.iar.kit.edu/pdf/Pastor2009.pdf While the dimension of the state space is 7, the dimension of the diff --git a/movement_primitives/dmp/_coupling_terms.py b/movement_primitives/dmp/_coupling_terms.py index 8184180..fffbc08 100644 --- a/movement_primitives/dmp/_coupling_terms.py +++ b/movement_primitives/dmp/_coupling_terms.py @@ -125,10 +125,9 @@ class CouplingTermObstacleAvoidance3D: # for DMP Implementation according to - A.J. Ijspeert, J. Nakanishi, H. Hoffmann, P. Pastor, S. Schaal: + Ijspeert, A. J., Nakanishi, J., Hoffmann, H., Pastor, P., Schaal, S. (2013). Dynamical Movement Primitives: Learning Attractor Models for Motor - Behaviors (2013), Neural Computation 25(2), pp. 328-373, doi: - 10.1162/NECO_a_00393, https://ieeexplore.ieee.org/document/6797340, + Behaviors. Neural Computation 25 (2), 328-373. DOI: 10.1162/NECO_a_00393, https://homes.cs.washington.edu/~todorov/courses/amath579/reading/DynamicPrimitives.pdf This coupling term adds an acceleration @@ -236,9 +235,11 @@ class CouplingTermPos1DToPos1D: For :class:`DMP` and :class:`DMPWithFinalVelocity`. - A. Gams, B. Nemec, L. Zlajpah, M. Wächter, T. Asfour, A. Ude: + Gams, A., Nemec, B., Zlajpah, L., Wächter, M., Asfour, T., Ude, A. (2013). Modulation of Motor Primitives using Force Feedback: Interaction with - the Environment and Bimanual Tasks (2013), IROS, + the Environment and Bimanual Tasks (2013), In 2013 IEEE/RSJ International + Conference on Intelligent Robots and Systems (pp. 5629-5635). DOI: + 10.1109/IROS.2013.6697172, https://h2t.anthropomatik.kit.edu/pdf/Gams2013.pdf Parameters @@ -289,9 +290,11 @@ class CouplingTermPos3DToPos3D: For :class:`DMP` and :class:`DMPWithFinalVelocity`. - A. Gams, B. Nemec, L. Zlajpah, M. Wächter, T. Asfour, A. Ude: + Gams, A., Nemec, B., Zlajpah, L., Wächter, M., Asfour, T., Ude, A. (2013). Modulation of Motor Primitives using Force Feedback: Interaction with - the Environment and Bimanual Tasks (2013), IROS, + the Environment and Bimanual Tasks (2013), In 2013 IEEE/RSJ International + Conference on Intelligent Robots and Systems (pp. 5629-5635). DOI: + 10.1109/IROS.2013.6697172, https://h2t.anthropomatik.kit.edu/pdf/Gams2013.pdf Parameters diff --git a/movement_primitives/dmp/_dmp.py b/movement_primitives/dmp/_dmp.py index 20fafa4..f979fcf 100644 --- a/movement_primitives/dmp/_dmp.py +++ b/movement_primitives/dmp/_dmp.py @@ -344,18 +344,17 @@ class DMP(WeightParametersMixin, DMPBase): Implementation according to - A.J. Ijspeert, J. Nakanishi, H. Hoffmann, P. Pastor, S. Schaal: + Ijspeert, A. J., Nakanishi, J., Hoffmann, H., Pastor, P., Schaal, S. (2013). Dynamical Movement Primitives: Learning Attractor Models for Motor - Behaviors (2013), Neural Computation 25(2), pp. 328-373, doi: - 10.1162/NECO_a_00393, https://ieeexplore.ieee.org/document/6797340, + Behaviors. Neural Computation 25 (2), 328-373. DOI: 10.1162/NECO_a_00393, https://homes.cs.washington.edu/~todorov/courses/amath579/reading/DynamicPrimitives.pdf (if smooth scaling is activated) with modification of scaling proposed by - P. Pastor, H. Hoffmann, T. Asfour, S. Schaal: - Learning and Generalization of Motor Skills by Learning from Demonstration, - 2009 IEEE International Conference on Robotics and Automation, - Kobe, Japan, 2009, pp. 763-768, doi: 10.1109/ROBOT.2009.5152385, + Pastor, P., Hoffmann, H., Asfour, T., Schaal, S. (2009). + Learning and Generalization of Motor Skills by Learning from Demonstration. + In 2009 IEEE International Conference on Robotics and Automation, + (pp. 763-768). DOI: 10.1109/ROBOT.2009.5152385, https://h2t.iar.kit.edu/pdf/Pastor2009.pdf Equation of transformation system (Ijspeert et al. 2013, Eq. 2.1): diff --git a/movement_primitives/dmp/_dmp_with_final_velocity.py b/movement_primitives/dmp/_dmp_with_final_velocity.py index a993a7c..718b71a 100644 --- a/movement_primitives/dmp/_dmp_with_final_velocity.py +++ b/movement_primitives/dmp/_dmp_with_final_velocity.py @@ -10,9 +10,9 @@ class DMPWithFinalVelocity(WeightParametersMixin, DMPBase): Implementation according to - K. Muelling, J. Kober, O. Kroemer, J. Peters: - Learning to Select and Generalize Striking Movements in Robot Table Tennis - (2013), International Journal of Robotics Research 32(3), pp. 263-279, + Muelling, K., Kober, J., Kroemer, O., Peters, J. (2013). + Learning to Select and Generalize Striking Movements in Robot Table Tennis. + International Journal of Robotics Research 32 (3), 263-279. https://www.ias.informatik.tu-darmstadt.de/uploads/Publications/Muelling_IJRR_2013.pdf Equation of transformation system (Muelling et al. 2013, Eq. 6): diff --git a/movement_primitives/dmp/_dual_cartesian_dmp.py b/movement_primitives/dmp/_dual_cartesian_dmp.py index ccf9625..3bd867f 100644 --- a/movement_primitives/dmp/_dual_cartesian_dmp.py +++ b/movement_primitives/dmp/_dual_cartesian_dmp.py @@ -177,18 +177,18 @@ class DualCartesianDMP(WeightParametersMixin, DMPBase): The orientation is represented by a quaternion. The quaternion DMP is implemented according to - A. Ude, B. Nemec, T. Petric, J. Murimoto: - Orientation in Cartesian space dynamic movement primitives (2014), - IEEE International Conference on Robotics and Automation (ICRA), - pp. 2997-3004, doi: 10.1109/ICRA.2014.6907291, - https://ieeexplore.ieee.org/document/6907291 + Ude, A., Nemec, B., Petric, T., Murimoto, J. (2014). + Orientation in Cartesian space dynamic movement primitives. + In IEEE International Conference on Robotics and Automation (ICRA) + (pp. 2997-3004). DOI: 10.1109/ICRA.2014.6907291, + https://acat-project.eu/modules/BibtexModule/uploads/PDF/udenemecpetric2014.pdf (if smooth scaling is activated) with modification of scaling proposed by - P. Pastor, H. Hoffmann, T. Asfour, S. Schaal: - Learning and Generalization of Motor Skills by Learning from Demonstration, - 2009 IEEE International Conference on Robotics and Automation, - Kobe, Japan, 2009, pp. 763-768, doi: 10.1109/ROBOT.2009.5152385, + Pastor, P., Hoffmann, H., Asfour, T., Schaal, S. (2009). + Learning and Generalization of Motor Skills by Learning from Demonstration. + In 2009 IEEE International Conference on Robotics and Automation, + (pp. 763-768). DOI: 10.1109/ROBOT.2009.5152385, https://h2t.iar.kit.edu/pdf/Pastor2009.pdf While the dimension of the state space is 14, the dimension of the diff --git a/movement_primitives/dmp/_state_following_dmp.py b/movement_primitives/dmp/_state_following_dmp.py index 288c617..56ee733 100644 --- a/movement_primitives/dmp/_state_following_dmp.py +++ b/movement_primitives/dmp/_state_following_dmp.py @@ -9,11 +9,11 @@ class StateFollowingDMP(WeightParametersMixin, DMPBase): The DMP variant that is implemented here is described in - J. Vidakovic, B. Jerbic, B. Sekoranja, M. Svaco, F. Suligoj: + Vidakovic, J., Jerbic, B., Sekoranja, B., Svaco, M., Suligoj, F. (2019). Task Dependent Trajectory Learning from Multiple Demonstrations Using Movement Primitives (2019), - International Conference on Robotics in Alpe-Adria Danube Region (RAAD), - pp. 275-282, doi: 10.1007/978-3-030-19648-6_32, + In International Conference on Robotics in Alpe-Adria Danube Region (RAAD) + (pp. 275-282). DOI: 10.1007/978-3-030-19648-6_32, https://link.springer.com/chapter/10.1007/978-3-030-19648-6_32 Attributes diff --git a/movement_primitives/promp.py b/movement_primitives/promp.py index 9f08f87..e5e3c05 100644 --- a/movement_primitives/promp.py +++ b/movement_primitives/promp.py @@ -28,19 +28,27 @@ class ProMP: References ---------- - [1] Paraschos et al.: Probabilistic movement primitives, NeurIPS (2013), + [1] Paraschos, A., Daniel, C., Peters, J., Neumann, G. (2013). + Probabilistic movement primitives, In C.J. Burges and L. Bottou and M. + Welling and Z. Ghahramani and K.Q. Weinberger (Eds.), Advances in Neural + Information Processing Systems, 26, https://papers.nips.cc/paper/2013/file/e53a0a2978c28872a4505bdb51db06dc-Paper.pdf - [3] Maeda et al.: Probabilistic movement primitives for coordination of - multiple human–robot collaborative tasks, AuRo 2017, + [3] Maeda, G. J., Neumann, G., Ewerton, M., Lioutikov, R., Kroemer, O., + Peters, J. (2017). Probabilistic movement primitives for coordination of + multiple human–robot collaborative tasks. Autonomous Robots, 41, 593-612. + DOI: 10.1007/s10514-016-9556-2, https://link.springer.com/article/10.1007/s10514-016-9556-2 - [2] Paraschos et al.: Using probabilistic movement primitives in robotics, AuRo (2018), - https://www.ias.informatik.tu-darmstadt.de/uploads/Team/AlexandrosParaschos/promps_auro.pdf, - https://link.springer.com/article/10.1007/s10514-017-9648-7 + [2] Paraschos, A., Daniel, C., Peters, J., Neumann, G. (2018). + Using probabilistic movement primitives in robotics. Autonomous Robots, 42, + 529-551. DOI: 10.1007/s10514-017-9648-7, + https://www.ias.informatik.tu-darmstadt.de/uploads/Team/AlexandrosParaschos/promps_auro.pdf - [4] Lazaric et al.: Bayesian Multi-Task Reinforcement Learning, ICML (2010), - https://hal.inria.fr/inria-00475214/document + [4] Lazaric, A., Ghavamzadeh, M. (2010). + Bayesian Multi-Task Reinforcement Learning. In Proceedings of the 27th + International Conference on International Conference on Machine Learning + (ICML'10) (pp. 599-606). https://hal.inria.fr/inria-00475214/document """ def __init__(self, n_dims, n_weights_per_dim=10): self.n_dims = n_dims