Robotics: Science and Systems II

Learning Operational Space Control

J. Peters, S. Schaal

Abstract: While operational space control is of essential importance for robotics and well-understood from an analytical point of view, it can be prohibitively hard to achieve accurate control in face of modeling errors, which are inevitable in complex robots, e.g., humanoid robots. In such cases, learning control methods can offer an interesting alternative to analytical control algorithms. However, the resulting learning problem is ill-defined as it requires to learn an inverse mapping of a usually redundant system, which is well known to suffer from the property of non-covexity of the solution space, i.e., the learning system could generate motor commands that try to steer the robot into physically impossible configurations. A first important insight for this paper is that, nevertheless, a physically correct solution to the inverse problem does exits when learning of the inverse map is performed in a suitable piecewise linear way. The second crucial component for our work is based on a recent insight that many operational space controllers can be understood in terms of a constraint optimal control problem. The cost function associated with this optimal control problem allows us to formulate a learning algorithm that automatically synthesizes a globally consistent desired resolution of redundancy while learning the operational space controller. From the view of machine learning, the learning problem corresponds to a reinforcement learning problem that maximizes an immediate reward and that employs an expectation-maximization policy search algorithm. Evaluations on a three degrees of freedom robot arm illustrate the feasability of our suggested approach.

Download:

Bibtex:

@INPROCEEDINGS{ Peters-RSS-06,
    AUTHOR    = {J. Peters and S. Schaal},
    TITLE     = {Learning Operational Space Control},
    BOOKTITLE = {Proceedings of Robotics: Science and Systems},
    YEAR      = {2006},
    ADDRESS   = {Philadelphia, USA},
    MONTH     = {August},
    DOI       = {10.15607/RSS.2006.II.033} 
}