Rubik's cube as a benchmark validating MRROC++ as an implementation tool for service robot control systems
- 28 August 2007
- journal article
- Published by Emerald in Industrial Robot: the international journal of robotics research and application
- Vol. 34 (5), 368-375
- https://doi.org/10.1108/01439910710774377
Abstract
Purpose – This paper seeks to develop universal software (a programming framework) enabling the implementation of service robot controllers. The software should distinguish the hardware-oriented part of the system from the task-oriented one. Moreover, force, vision as well as other sensors should be taken into account. Multi-effector systems have to be considered. Design/methodology/approach – The robot programming framework MRROC++ has been implemented as a hierarchical structure composed of processes, potentially consisting of threads. All of the software is written in an object-oriented manner using C++ and is supervised by a QNX real-time operating system. The framework has been verified on several systems executing diverse tasks. Here, a Rubik's cube puzzle-solving system, consisting of two arms and utilizing force control and visual servos, is presented. Findings – The presented framework is well suited to tasks requiring two-handed manipulation with force sensing, visual servoing and online construction of plans of actions. The Rubik's cube puzzle is a reasonable initial benchmark for validation of fundamental service robot capabilities. It requires force sensing and sight coupled with two-handed manipulation and logical reasoning, as do the majority of service tasks. Owing to the use of force sensing during manipulation, jamming of the faces has always been avoided; however, visual servoing could only cope with slow handing over of the cube due to the volume of computations associated with vision processing. Research limitations/implications – The proposed software structure does not limit the implementation of service robot controllers. However, some of the specific algorithms used for the solution of the benchmark task (i.e. Rubik's cube puzzle) need to be less time-consuming. Practical implications – The MRROC++ robot programming framework can be applied to the implementation of diverse robot controllers executing complex service tasks. Originality/value – A demanding benchmark task for service robots has been formulated. This task, as well as many others, has been used to validate the MRROC++ robot programming framework which significantly facilitates the implementation of diverse robot systems.Keywords
This publication has 12 references indexed in Scilit:
- Control Architecture for Sensor-Based Two-Handed ManipulationPublished by Springer Science and Business Media LLC ,2008
- Transition-Function Based Approach to Structuring Robot Control SoftwarePublished by Springer Science and Business Media LLC ,2007
- Applications of MRROC++ robot programming frameworkPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2005
- Implementation of position-force control in MRROC++Published by Institute of Electrical and Electronics Engineers (IEEE) ,2005
- The real-time motion control core of the Orocos projectPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2004
- A prototype robot for polishing and milling large objectsIndustrial Robot: the international journal of robotics research and application, 2003
- DCA: a distributed control architecture for roboticsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Fast and inexpensive color image segmentation for interactive robotsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- By how much should a general purpose programming language be extended to become a multi-robot system programming language?Advanced Robotics, 2001
- Specification of force-controlled actions in the "task frame formalism"-a synthesisIEEE Transactions on Robotics and Automation, 1996