{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,12]],"date-time":"2025-10-12T01:51:07Z","timestamp":1760233867379,"version":"build-2065373602"},"reference-count":33,"publisher":"MDPI AG","issue":"1","license":[{"start":{"date-parts":[[2021,3,4]],"date-time":"2021-03-04T00:00:00Z","timestamp":1614816000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/501100003407","name":"Ministero dell\u2019Istruzione, dell\u2019Universit\u00e0 e della Ricerca","doi-asserted-by":"publisher","award":["CUP D49D17000250006"],"award-info":[{"award-number":["CUP D49D17000250006"]}],"id":[{"id":"10.13039\/501100003407","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Robotics"],"abstract":"<jats:p>Dynamic programming techniques have proven much more flexible than calculus of variations and other techniques in performing redundancy resolution through global optimization of performance indices. When the state and input spaces are discrete, and the time horizon is finite, they can easily accommodate generic constraints and objective functions and find Pareto-optimal sets. Several implementations have been proposed in previous works, but either they do not ensure the achievement of the globally optimal solution, or they have not been demonstrated on robots of practical relevance. In this communication, recent advances in dynamic programming redundancy resolution, so far only demonstrated on simple planar robots, are extended to be used with generic kinematic structures. This is done by expanding the Robot Operating System (ROS) and proposing a novel architecture meeting the requirements of maintainability, re-usability, modularity and flexibility that are usually required to robotic software libraries. The proposed ROS extension integrates seamlessly with the other software components of the ROS ecosystem, so as to encourage the reuse of the available visualization and analysis tools. The new architecture is demonstrated on a 7-DOF robot with a six-dimensional task, and topological analyses are carried out on both its state space and resulting joint-space solution.<\/jats:p>","DOI":"10.3390\/robotics10010042","type":"journal-article","created":{"date-parts":[[2021,3,5]],"date-time":"2021-03-05T00:39:07Z","timestamp":1614904747000},"page":"42","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":10,"title":["Globally Optimal Redundancy Resolution with Dynamic Programming for Robot Planning: A ROS Implementation"],"prefix":"10.3390","volume":"10","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-0768-8541","authenticated-orcid":false,"given":"Enrico","family":"Ferrentino","sequence":"first","affiliation":[{"name":"Department of Computer Engineering, Electrical Engineering and Applied Mathematics (DIEM), University of Salerno, 84084 Fisciano, Italy"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3910-1944","authenticated-orcid":false,"given":"Federico","family":"Salvioli","sequence":"additional","affiliation":[{"name":"Robotic Exploration, ALTEC S.p.A., 10146 Torino, Italy"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3385-8866","authenticated-orcid":false,"given":"Pasquale","family":"Chiacchio","sequence":"additional","affiliation":[{"name":"Department of Computer Engineering, Electrical Engineering and Applied Mathematics (DIEM), University of Salerno, 84084 Fisciano, Italy"}]}],"member":"1968","published-online":{"date-parts":[[2021,3,4]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","unstructured":"Siciliano, B., and Khatib, O. (2016). Springer Handbook of Robotics, Springer International Publishing.","DOI":"10.1007\/978-3-319-32552-1"},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"3","DOI":"10.1177\/027836498800700501","article-title":"Global versus local optimization in redundancy resolution of robotic manipulators","volume":"7","author":"Kazerounian","year":"1988","journal-title":"Int. J. Robot. Res."},{"key":"ref_3","doi-asserted-by":"crossref","first-page":"32","DOI":"10.1177\/027836498700600103","article-title":"Optimal redundancy control of robot manipulators","volume":"6","author":"Nakamura","year":"1987","journal-title":"Int. J. Robot. Res."},{"key":"ref_4","doi-asserted-by":"crossref","unstructured":"Guigue, A., Ahmadi, M., Hayes, M.J.D., Langlois, R., and Tang, F.C. (2007, January 10\u201314). A dynamic programming approach to redundancy resolution with multiple criteria. Proceedings of the IEEE International Conference on Robotics and Automation, Rome, Italy.","DOI":"10.1109\/ROBOT.2007.363176"},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"170","DOI":"10.1016\/j.mechmachtheory.2017.04.009","article-title":"Optimization of the robot and positioner motion in a redundant fiber placement workcell","volume":"114","author":"Gao","year":"2017","journal-title":"Mech. Mach. Theory"},{"key":"ref_6","unstructured":"Shen, Y., and Huper, K. (2005, January 17\u201320). Optimal trajectory planning of manipulators subject to motion constraints. Proceedings of the 12th International Conference on Advanced Robotics, Seattle, WA, USA."},{"key":"ref_7","doi-asserted-by":"crossref","unstructured":"Ascher, U.M., Mattheij, R.M.M., and Russell, R.D. (1995). Numerical Solution of Boundary Value Problems for Ordinary Differential Equations, Society for Industrial and Applied Mathematics.","DOI":"10.1137\/1.9781611971231"},{"key":"ref_8","unstructured":"Keller, H.B. (2018). Numerical Methods for Two-Point Boundary-Value Problems, Courier Dover Publications."},{"key":"ref_9","first-page":"77","article-title":"A topological approach to globally-optimal redundancy resolution with dynamic programming","volume":"Volume 584","author":"Arakelian","year":"2018","journal-title":"ROMANSY 22\u2013Robot Design, Dynamics and Control"},{"key":"ref_10","doi-asserted-by":"crossref","first-page":"171","DOI":"10.1080\/0951192031000078202","article-title":"Multiobjective optimization of robot motion for laser cutting applications","volume":"17","author":"Pashkevich","year":"2004","journal-title":"Int. J. Comput. Integr. Manuf."},{"key":"ref_11","doi-asserted-by":"crossref","first-page":"5691","DOI":"10.1080\/00207540802070967","article-title":"Manipulator motion planning for high-speed robotic laser cutting","volume":"47","author":"Dolgui","year":"2009","journal-title":"Int. J. Prod. Res."},{"key":"ref_12","doi-asserted-by":"crossref","first-page":"1094","DOI":"10.1109\/TRO.2010.2068650","article-title":"Pareto optimality and multiobjective trajectory planning for a 7-DOF redundant manipulator","volume":"26","author":"Guigue","year":"2010","journal-title":"IEEE Trans. Robot."},{"key":"ref_13","doi-asserted-by":"crossref","unstructured":"Cavalcanti Santos, J., and Martins da Silva, M. (2017). Redundancy Resolution of Kinematically Redundant Parallel Manipulators Via Differential Dynamic Programing. J. Mech. Robot., 9.","DOI":"10.1115\/1.4036739"},{"key":"ref_14","doi-asserted-by":"crossref","unstructured":"Ferrentino, E., and Chiacchio, P. (2020). On the optimal resolution of inverse kinematics for redundant manipulators using a topological analysis. J. Mech. Robot., 12.","DOI":"10.1115\/1.4045178"},{"key":"ref_15","unstructured":"(2021, March 03). What is ROS?. Available online: http:\/\/www.ros.org\/."},{"key":"ref_16","first-page":"47","article-title":"Redundancy parametrization in globally-optimal inverse kinematics","volume":"Volume 8","author":"Lenarcic","year":"2018","journal-title":"Advances in Robot Kinematics 2018"},{"key":"ref_17","first-page":"25","article-title":"On the inverse kinematics of redundant manipulators: Characterization of the self-motion manifolds","volume":"Volume 4","author":"Waldron","year":"1989","journal-title":"Proceedings of the 4th International Conference on Advanced Robotics, Scottsdale, AZ, USA, 14\u201319 May 1989"},{"key":"ref_18","unstructured":"Burdick, J.W. (1989, January 14\u201319). On the Inverse Kinematics of Redundant Manipulators: Characterization of the Self-Motion Manifolds. Proceedings of the IEEE International Conference on Robotics and Automation, Scottsdale, AZ, USA."},{"key":"ref_19","unstructured":"Wenger, P. (1992, January 12\u201314). A New General Formalism for the Kinematic Analysis of All Nonredundant Manipulators. Proceedings of the IEEE International Conference on Robotics and Automation, Nice, France."},{"key":"ref_20","doi-asserted-by":"crossref","unstructured":"P\u00e1manes, J.A., Wenger, P., and Zapata, J.L. (2002). Motion Planning of Redundant Manipulators for Specified Trajectory Tasks, Springer. Advances in Robot Kinematics.","DOI":"10.1007\/978-94-017-0657-5_22"},{"key":"ref_21","first-page":"599","article-title":"Dijkstra\u2019s algorithm revisited: The dynamic programming connexion","volume":"35","author":"Sniedovich","year":"2006","journal-title":"Control. Cybern."},{"key":"ref_22","unstructured":"(2021, March 03). MoveIt. Available online: https:\/\/moveit.ros.org\/."},{"key":"ref_23","unstructured":"(2021, March 03). MoveIt Planners. Available online: https:\/\/moveit.ros.org\/documentation\/planners\/."},{"key":"ref_24","unstructured":"(2021, March 03). MoveIt Concepts. Available online: https:\/\/moveit.ros.org\/documentation\/concepts\/."},{"key":"ref_25","unstructured":"Ferrentino, E., and Salvioli, F. (2021, March 03). ROS\/MoveIt! Extension for Redundancy Resolution with Dynamic Programming. GitHub\/Zenodo. Available online: https:\/\/zenodo.org\/record\/3236880#.YAsFiehKhPY."},{"key":"ref_26","unstructured":"Diankov, R. (2010). Automated Construction of Robotic Manipulation Programs. [Ph.D. Thesis, Carnegie Mellon University]. Available online: http:\/\/www.programmingvision.com\/rosen_diankov_thesis.pdf."},{"key":"ref_27","unstructured":"(2021, March 03). KDL Wiki. Available online: http:\/\/www.orocos.org\/kdl."},{"key":"ref_28","first-page":"69","article-title":"Topological analysis of global inverse kinematic solutions for redundant manipulators","volume":"Volume 584","author":"Arakelian","year":"2018","journal-title":"ROMANSY 22\u2013Robot Design, Dynamics and Control"},{"key":"ref_29","unstructured":"(2021, March 03). Panda Powertool. Available online: https:\/\/www.franka.de\/panda."},{"key":"ref_30","doi-asserted-by":"crossref","unstructured":"Khalil, W., and Kleinfinger, J. (1986, January 7\u201310). A new geometric notation for open and closed-loop robots. Proceedings of the IEEE International Conference on Robotics and Automation, San Francisco, CA, USA.","DOI":"10.1109\/ROBOT.1986.1087552"},{"key":"ref_31","unstructured":"(2021, March 03). Franka Control Interface Documentation. Available online: https:\/\/frankaemika.github.io\/docs\/."},{"key":"ref_32","doi-asserted-by":"crossref","first-page":"829","DOI":"10.1016\/j.mechmachtheory.2017.12.005","article-title":"A novel closed-form solution for the inverse kinematics of redundant manipulators through workspace analysis","volume":"121","author":"Zaplana","year":"2018","journal-title":"Mech. Mach. Theory"},{"key":"ref_33","unstructured":"Ferrentino, E., and Salvioli, F. (2021, March 03). Redundancy Resolution for Energy Minimization and Obstacle Avoidance with Franka Emika\u2019s Panda Robot. Available online: https:\/\/youtu.be\/AxL755_t3_o."}],"container-title":["Robotics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2218-6581\/10\/1\/42\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T05:32:55Z","timestamp":1760160775000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2218-6581\/10\/1\/42"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,3,4]]},"references-count":33,"journal-issue":{"issue":"1","published-online":{"date-parts":[[2021,3]]}},"alternative-id":["robotics10010042"],"URL":"https:\/\/doi.org\/10.3390\/robotics10010042","relation":{},"ISSN":["2218-6581"],"issn-type":[{"type":"electronic","value":"2218-6581"}],"subject":[],"published":{"date-parts":[[2021,3,4]]}}}