{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,26]],"date-time":"2025-10-26T14:11:45Z","timestamp":1761487905282,"version":"3.41.2"},"reference-count":19,"publisher":"Emerald","issue":"5","license":[{"start":{"date-parts":[[2007,8,28]],"date-time":"2007-08-28T00:00:00Z","timestamp":1188259200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.emerald.com\/insight\/site-policies"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2007,8,28]]},"abstract":"<jats:sec><jats:title content-type=\"abstract-heading\">Purpose<\/jats:title><jats:p>This paper seeks to develop universal software (a programming framework) enabling the implementation of service robot controllers. The software should distinguish the hardware\u2010oriented part of the system from the task\u2010oriented one. Moreover, force, vision as well as other sensors should be taken into account. Multi\u2010effector systems have to be considered.<\/jats:p><\/jats:sec><jats:sec><jats:title content-type=\"abstract-heading\">Design\/methodology\/approach<\/jats:title><jats:p>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\u2010oriented manner using C++ and is supervised by a QNX real\u2010time operating system. The framework has been verified on several systems executing diverse tasks. Here, a Rubik's cube puzzle\u2010solving system, consisting of two arms and utilizing force control and visual servos, is presented.<\/jats:p><\/jats:sec><jats:sec><jats:title content-type=\"abstract-heading\">Findings<\/jats:title><jats:p>The presented framework is well suited to tasks requiring two\u2010handed 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\u2010handed 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.<\/jats:p><\/jats:sec><jats:sec><jats:title content-type=\"abstract-heading\">Research limitations\/implications<\/jats:title><jats:p>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\u2010consuming.<\/jats:p><\/jats:sec><jats:sec><jats:title content-type=\"abstract-heading\">Practical implications<\/jats:title><jats:p>The MRROC++ robot programming framework can be applied to the implementation of diverse robot controllers executing complex service tasks.<\/jats:p><\/jats:sec><jats:sec><jats:title content-type=\"abstract-heading\">Originality\/value<\/jats:title><jats:p>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.<\/jats:p><\/jats:sec>","DOI":"10.1108\/01439910710774377","type":"journal-article","created":{"date-parts":[[2007,8,18]],"date-time":"2007-08-18T07:04:29Z","timestamp":1187420669000},"page":"368-375","source":"Crossref","is-referenced-by-count":20,"title":["Rubik's cube as a benchmark validating MRROC++ as an implementation tool for service robot control systems"],"prefix":"10.1108","volume":"34","author":[{"given":"C.","family":"Zieli\u0144ski","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"W.","family":"Szynkiewicz","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"T.","family":"Winiarski","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"M.","family":"Staniak","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"W.","family":"Czajewski","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"T.","family":"Kornuta","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"140","reference":[{"key":"key2022031120120489600_b1","doi-asserted-by":"crossref","unstructured":"Bruce, J., Balch, T. and Veloso, M. (2000), \u201cFast and inexpensive colour image segmentation for interactive robots\u201d, Proceedings 2000 IEEE\/RSJ International Conference on Intelligent Robots and Systems (IROS'00), Vol. 3, pp. 2061\u20106.","DOI":"10.1109\/IROS.2000.895274"},{"key":"key2022031120120489600_b2","doi-asserted-by":"crossref","unstructured":"Bruyninckx, H. and Schutter, J.D. (1996), \u201cSpecification of force\u2010controlled actions in the task frame formalism: a synthesis\u201d, IEEE Transactions on Robotics and Automation, Vol. 12 No. 4, pp. 581\u20109.","DOI":"10.1109\/70.508440"},{"key":"key2022031120120489600_b3","unstructured":"Bruyninckx, H., Soetens, P. and Koninckx, B. (2003), \u201cThe real\u2010time control core of the OROCOS project\u201d, Proceedings of the IEEE International Conference on Robotics and Automation, Taipei, Taiwan, pp. 2766\u201071."},{"key":"key2022031120120489600_b4","unstructured":"Fleury, S. and Herrb, M. (2001), \u201cGeNoM user's guide\u201d, Report, LAAS, Toulouse."},{"key":"key2022031120120489600_b5","unstructured":"Gerkey, B., Vaughan, R. and Howard, A. (2003), \u201cThe player\/stage project: tools for multi\u2010robot and distributed sensor systems\u201d, Proceedings of the International Conference on Advanced Robotics, ICAR'03, Coimbra, Portugal, pp. 317\u201023."},{"key":"key2022031120120489600_b6","unstructured":"Gerkey, B., Vaughan, R. and Howard, A. (2004), \u201cPlayer, user manual ver.1.5\u201d, Robotics Laboratory Stanford University, Robotics Research Laboratory University of Southern California, Autonomy Laboratory Simon Frazer University, available at: http:\/\/playerstage.sourceforge.net\/doc\/Player\u2010manual\u20101.5.pdf."},{"key":"key2022031120120489600_b7","doi-asserted-by":"crossref","unstructured":"Horaud, R. (1987), \u201cNew methods for matching 3D objects with single perspective view\u201d, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 9 No. 3, pp. 401\u201012.","DOI":"10.1109\/TPAMI.1987.4767922"},{"key":"key2022031120120489600_b8","unstructured":"Kociemba, H. (2006), \u201cCube explorer\u201d, available at: http:\/\/kociemba.org\/cube.htm."},{"key":"key2022031120120489600_b9","unstructured":"Korf, R. (1997), \u201cFinding optimal solutions to Rubik's cube using pattern databases\u201d, National Conference on Artificial Intelligence (AAAI\u201097), pp. 700\u20105."},{"key":"key2022031120120489600_b10","doi-asserted-by":"crossref","unstructured":"Petersson, L., Austin, D. and Christensen, H. (2001), \u201cDCA: a distributed control architecture for robotics\u201d, Proceedings of the International Conference on Intelligent Robots and Systems IROS'01', pp. 2361\u20108.","DOI":"10.1109\/IROS.2001.976423"},{"key":"key2022031120120489600_b11","doi-asserted-by":"crossref","unstructured":"Szynkiewicz, W., Zieli\u0144ski, C., Czajewski, W. and Winiarski, T. (2006), \u201cControl architecture for sensor\u2010based two\u2010handed manipulation\u201d, in Zieli\u0144ska, T. and Zieli\u0144ski, C. (Eds) CISM Courses and Lectures \u2013 paper presented at 16th CISM \u2013 IFToMM Symposium on Robot Design, Dynamics and Control, RoManSy'06', No. 487, Springer, Wien, New York, NY, pp. 237\u201044.","DOI":"10.1007\/3-211-38927-X_31"},{"key":"key2022031120120489600_b12","doi-asserted-by":"crossref","unstructured":"Winiarski, T. and Zieli\u0144ski, C. (2005), \u201cImplementation of position \u2013 force control in MRROC++\u201d, Proceedings of the 5th International Workshop on Robot Motion and Control, RoMoCo'05, Dymaczewo, Poland, pp. 259\u201064.","DOI":"10.1109\/ROMOCO.2005.201433"},{"key":"key2022031120120489600_b13","doi-asserted-by":"crossref","unstructured":"Zieli\u0144ski, C. (1999), \u201cThe MRROC++ system\u201d, Proceedings of the First Workshop on Robot Motion and Control, RoMoCo'99', pp. 147\u201052.","DOI":"10.1109\/ROMOCO.1999.791067"},{"key":"key2022031120120489600_b14","doi-asserted-by":"crossref","unstructured":"Zieli\u0144ski, C. (2001), \u201cBy how much should a general purpose programming language be extended to become a multi\u2010robot system programming language?\u201d, Advanced Robotics, Vol. 15 No. 1, pp. 71\u201096.","DOI":"10.1163\/156855301750095587"},{"key":"key2022031120120489600_b15","doi-asserted-by":"crossref","unstructured":"Zieli\u0144ski, C. (2006), \u201cTransition\u2010function based approach to structuring robot control software\u201d, in Koz\u0142owski, K. (Ed.), Robot Motion and Control: Recent Developments, Lecture Notes in Control and Information Sciences, Vol. 335, Springer Verlag, Berlin, pp. 265\u201086.","DOI":"10.1007\/978-1-84628-405-2_17"},{"key":"key2022031120120489600_b17","unstructured":"Zieli\u0144ski, C., Rydzewski, A. and Szynkiewicz, W. (1998), \u201cMulti\u2010robot system controllers\u201d, Proceedings of the 5th International Symposium on Methods and Models in Automation and Robotics MMAR'98, Mi\u0119dzyzdroje, Poland, Vol. 3, pp. 795\u2010800."},{"key":"key2022031120120489600_b18","doi-asserted-by":"crossref","unstructured":"Zieli\u0144ski, C., Szynkiewicz, W. and Winiarski, T. (2005), \u201cApplications of MRROC++ robot programming framework\u201d, Proceedings of the 5th International Workshop on Robot Motion and Control, RoMoCo'05, Dymaczewo, Poland, pp. 251\u20107.","DOI":"10.1109\/ROMOCO.2005.201432"},{"key":"key2022031120120489600_b16","doi-asserted-by":"crossref","unstructured":"Zieli\u0144ski, C., Mianowski, K., Nazarczuk, K. and Szynkiewicz, W. (2003), \u201cA prototype robot for polishing and milling large objects\u201d, Industrial Robot, Vol. 30 No. 1, pp. 67\u201076.","DOI":"10.1108\/01439910310457733"},{"key":"key2022031120120489600_b19","unstructured":"Zieli\u0144ski, C., Szynkiewicz, W., Winiarski, T. and Staniak, M. (2006), \u201cRubik's cube puzzle as a benchmark for service robots\u201d, Proceedings of the 12th IEEE International Conference on Methods and Models in Automation and Robotics, MMAR'2006, pp. 579\u201084."}],"container-title":["Industrial Robot: An International Journal"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/www.emeraldinsight.com\/doi\/full-xml\/10.1108\/01439910710774377","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/www.emerald.com\/insight\/content\/doi\/10.1108\/01439910710774377\/full\/xml","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/www.emerald.com\/insight\/content\/doi\/10.1108\/01439910710774377\/full\/html","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,7,24]],"date-time":"2025-07-24T23:50:12Z","timestamp":1753401012000},"score":1,"resource":{"primary":{"URL":"http:\/\/www.emerald.com\/ir\/article\/34\/5\/368-375\/177523"}},"subtitle":[],"editor":[{"given":"Clive","family":"Loughlin","sequence":"first","affiliation":[],"role":[{"role":"editor","vocabulary":"crossref"}]}],"short-title":[],"issued":{"date-parts":[[2007,8,28]]},"references-count":19,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2007,8,28]]}},"alternative-id":["10.1108\/01439910710774377"],"URL":"https:\/\/doi.org\/10.1108\/01439910710774377","relation":{},"ISSN":["0143-991X"],"issn-type":[{"type":"print","value":"0143-991X"}],"subject":[],"published":{"date-parts":[[2007,8,28]]}}}