Robot control code generation by task demonstration in a dynamic environment

Within mobile robotics, one of the most dominant relationships to consider when implementing robot control code is the one between the robot's sensors and its motors. When implementing such a relationship, efficiency and reliability are of crucial importance. The latter aspects often prove challenging due to the complex interaction between a robot and the environment in which it exists, frequently resulting in a time consuming iterative process where control code is redeveloped and tested many times before obtaining an optimal controller. In this paper, we address this challenge by implementing an alternative approach to control code generation, which first identifies the desired robot behaviour and represents the sensor-motor task algorithmically through system identification using the NARMAX modelling methodology. The control code is generated by task demonstration, where the sensory perception and velocities are logged and the relationship that exists between them is then modelled using system identification. This approach produces transparent control code through non-linear polynomial equations that can be mathematically analysed to obtain formal statements regarding specific inputs/outputs. We demonstrate this approach to control code generation and analyse its performance in dynamic environments.

[1]  Pieter Eykhoff,et al.  Trends and progress in system identification , 1981 .

[2]  R. Pearson Discrete-time Dynamic Models , 1999 .

[3]  Danica Kragic,et al.  Grasp Recognition for Programming by Demonstration , 2005, Proceedings of the 2005 IEEE International Conference on Robotics and Automation.

[4]  Scott Kuindersma,et al.  Robot learning from demonstration by constructing skill trees , 2012, Int. J. Robotics Res..

[5]  Michael Recce,et al.  Scientific methods in mobile robotics , 1998, Robotics Auton. Syst..

[6]  Theocharis Kyriacou,et al.  Modelling and Characterisation of a Mobile Robot's Operation , 2005 .

[7]  Theocharis Kyriacou,et al.  Task Characterisation and Cross-Platform Programming Through System Identification , 2005 .

[8]  David R. Cox,et al.  Time Series Analysis , 2012 .

[9]  S. Billings,et al.  Orthogonal parameter estimation algorithm for non-linear stochastic systems , 1988 .

[10]  Marc P. Mignolet,et al.  Modelling and prediction of machining errors using ARMAX and NARMAX structures , 2003 .

[11]  Ilya M. Sobol,et al.  Sensitivity Estimates for Nonlinear Mathematical Models , 1993 .

[12]  Dermot Kerr,et al.  Accurate Robot Simulation , 2009, TAROS 2009.

[13]  Dermot Kerr,et al.  Towards Automated Code Generation for Autonomous Mobile Robots , 2010, AGI 2010.

[14]  Philippe Gaussier,et al.  On-line learning and planning in a pick-and-place task demonstrated through body manipulation , 2011, 2011 IEEE International Conference on Development and Learning (ICDL).

[15]  Stephen A. Billings,et al.  Model identification and model analysis in robot training , 2008, Robotics Auton. Syst..

[16]  Stephen A. Billings,et al.  Comparing Robot Controllers Through System Identification , 2006, SAB.

[17]  Stephen A. Billings,et al.  Robot training using system identification , 2008, Robotics Auton. Syst..

[18]  Ulrich Nehmzow,et al.  "Programming" by Teaching: Neural Network Control in the Manchester Mobile Robot , 1995 .

[19]  Stephen A. Billings,et al.  Visual task identification and characterization using polynomial models , 2007, Robotics Auton. Syst..

[20]  Katsushi Ikeuchi,et al.  Robot task programming by human demonstration: mapping human grasps to manipulator grasps , 1994, Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS'94).