{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,7]],"date-time":"2025-11-07T13:14:15Z","timestamp":1762521255961,"version":"3.41.2"},"reference-count":23,"publisher":"Emerald","issue":"1","license":[{"start":{"date-parts":[[2009,1,9]],"date-time":"2009-01-09T00:00:00Z","timestamp":1231459200000},"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":[[2009,1,9]]},"abstract":"<jats:sec><jats:title content-type=\"abstract-heading\">Purpose<\/jats:title><jats:p>The purpose of this paper is to report a collection of developments that enable users to program industrial robots using speech, several device interfaces, force control and code generation techniques.<\/jats:p><\/jats:sec><jats:sec><jats:title content-type=\"abstract-heading\">Design\/methodology\/approach<\/jats:title><jats:p>The reported system is explained in detail and a few practical examples are given that demonstrate its usefulness for small to medium\u2010sized enterprises (SMEs), where robots and humans need to cooperate to achieve a common goal (coworker scenario). The paper also explores the user interface software adapted for use by non\u2010experts.<\/jats:p><\/jats:sec><jats:sec><jats:title content-type=\"abstract-heading\">Findings<\/jats:title><jats:p>The programming\u2010by\u2010demonstration (PbD) system presented proved to be very efficient with the task of programming entirely new features to an industrial robotic system. The system uses a speech interface for user command, and a force\u2010controlled guiding system for teaching the robot the details about the task being programmed. With only a small set of implemented robot instructions it was fairly easy to teach the robot system a new task, generate the robot code and execute it immediately.<\/jats:p><\/jats:sec><jats:sec><jats:title content-type=\"abstract-heading\">Research limitations\/implications<\/jats:title><jats:p>Although a particular robot controller was used, the system is in many aspects general, since the options adopted are mainly based on standards. It can obviously be implemented with other robot controllers without significant changes. In fact, most of the features were ported to run with Motoman robots with success.<\/jats:p><\/jats:sec><jats:sec><jats:title content-type=\"abstract-heading\">Practical implications<\/jats:title><jats:p>It is important to stress that the robot program built in this section was obtained without writing a single line of code, but instead just by moving the robot to the desired positions and adding the required robot instructions using speech. Even the upload task of the obtained module to the robot controller is commanded by speech, along with its execution\/termination. Consequently, teaching the robotic system a new feature is accessible for any type of user with only minor training.<\/jats:p><\/jats:sec><jats:sec><jats:title content-type=\"abstract-heading\">Originality\/value<\/jats:title><jats:p>This type of PbD systems will constitute a major advantage for SMEs, since most of those companies do not have the necessary engineering resources to make changes or add new functionalities to their robotic manufacturing systems. Even at the system integrator level these systems are very useful for avoiding the need for specific knowledge about all the controllers with which they work: complexity is hidden beyond the speech interfaces and portable interface devices, with specific and user\u2010friendly APIs making the connection between the programmer and the system.<\/jats:p><\/jats:sec>","DOI":"10.1108\/01439910910924693","type":"journal-article","created":{"date-parts":[[2009,1,17]],"date-time":"2009-01-17T07:03:56Z","timestamp":1232175836000},"page":"73-83","source":"Crossref","is-referenced-by-count":32,"title":["Programming\u2010by\u2010demonstration in the coworker scenario for SMEs"],"prefix":"10.1108","volume":"36","author":[{"given":"J.","family":"Norberto Pires","sequence":"first","affiliation":[]},{"given":"Germano","family":"Veiga","sequence":"additional","affiliation":[]},{"given":"Ricardo","family":"Ara\u00fajo","sequence":"additional","affiliation":[]}],"member":"140","reference":[{"key":"key2022031319420724100_b11","unstructured":"ABB Robotics (2007a), ABB IRB140 Users' Manual, ABB Robotics, Va\u00a8stera\u00a8s."},{"key":"key2022031319420724100_b13","unstructured":"ABB Robotics (2007b), ABB IRC5 Machining FC Users Manual, ABB Robotics, Va\u00a8stera\u00a8s."},{"key":"key2022031319420724100_b12","unstructured":"ATI Industrial Automation (2008), \u201cATI NANO17 Force\u2010Torque Sensor\u201d, available at: www.ati\u2010ia.com\/."},{"key":"key2022031319420724100_b23","unstructured":"Biggs, G. and MacDonald, B. (2003), \u201cA survey of robot programming systems\u201d, Proceedings of the Australian Conference on Robotics and Automation, Brisbane, December 1\u20103."},{"key":"key2022031319420724100_b5","doi-asserted-by":"crossref","unstructured":"Dillmann, R., Rogalla, O., Ehrenmann, M., Z\u00f6lner, R. and Bordegoni, M. (1999), \u201cLearning robot behaviour and skills based on human demonstration and advice: the machine learning paradigm\u201d, Proceedings of the 9th International Symposium of Robotics Research (ISRR 1999), Snowbird, Utah, USA, October 9\u201012, pp. 229\u201038.","DOI":"10.1007\/978-1-4471-0765-1_28"},{"key":"key2022031319420724100_b10","doi-asserted-by":"crossref","unstructured":"Hagele, M., Nilsson, K. and Pires, J.N. (2008), \u201cIndustrial robotics\u201d, in Siciliano, B. and Khatib, O. (Eds), Handbook of Robotics, Chapter 42, Springer, New York, NY.","DOI":"10.1007\/978-3-540-30301-5_43"},{"key":"key2022031319420724100_b17","doi-asserted-by":"crossref","unstructured":"James, F. and Smith, H. (2005), \u201cService oriented paradigms for industrial automation\u201d, IEEE Transactions on Industrial Informatics, Vol. 1 No. 1, pp. 62\u201070.","DOI":"10.1109\/TII.2005.844419"},{"key":"key2022031319420724100_b22","unstructured":"Mittal, R.K. and Nagrath, I.J. (2003), Robotics and Control, McGraw\u2010Hill, New York, NY."},{"key":"key2022031319420724100_b21","unstructured":"Myers, D., Pritchard, M. and Brown, M. (2001), \u201cAutomated programming of an industrial robot through teach\u2010by\u2010showing\u201d, Proceedings of the IEEE International Conference on Robotics and Automation, ICRA 2001, Seoul, South Korea, May 21\u201026, pp. 4078\u201083."},{"key":"key2022031319420724100_b6","doi-asserted-by":"crossref","unstructured":"Pires, J.N. (2005), \u201cRobot\u2010by\u2010voice: experiments on commanding an industrial robot using the human voice\u201d, Industrial Robot: An International Journal, Vol. 32 No. 6, pp. 505\u201011.","DOI":"10.1108\/01439910510629244"},{"key":"key2022031319420724100_b1","unstructured":"Pires, J.N. (2006a), Industrial Robots Programming, Building Applications for the Factories of the Future, Springer, New York, NY."},{"key":"key2022031319420724100_b4","doi-asserted-by":"crossref","unstructured":"Pires, J.N. (2006b), \u201cRobotics for small and medium enterprises: control and programming challenges\u201d, Industrial Robot, Vol. 33 No. 6.","DOI":"10.1108\/ir.2006.04933faa.002"},{"key":"key2022031319420724100_b3","unstructured":"Pires, J.N. (2007), \u201cThe industrial robot as a human coworker: the role of the speech interfaces\u201d, Proceedings of the International Conference on Software Development for Enhancing Accessibility and Fighting Info\u2010exclusion (DSAI 2007), Portugal, November."},{"key":"key2022031319420724100_b14","unstructured":"Pires, J.N. (2008), \u201cVideos on programming\u2010by\u2010demonstration\u201d, available at: http:\/\/robotics.dem.uc.pt\/pbd."},{"key":"key2022031319420724100_b7","doi-asserted-by":"crossref","unstructured":"Pires, J.N., Godinho, T. and Araujo, R. (2007a), \u201cUsing digital pens to program welding tasks\u201d, Industrial Robot: An International Journal, Vol. 34 No. 6, special issue on \u201cRobotic Welding\u201d, pp. 476\u201086.","DOI":"10.1108\/01439910710832075"},{"key":"key2022031319420724100_b19","doi-asserted-by":"crossref","unstructured":"Pires, J.N., Godinho, T., Nilsson, K., Haage, M. and Meyer, C. (2007b), \u201cProgramming industrial robots using advanced input\u2010output devices: test\u2010case example using a CAD package and a digital pen based on the Anoto technology\u201d, International Journal of Online Engineering, Vol. 3 No. 3.","DOI":"10.3991\/ijoe.v3i3.421"},{"key":"key2022031319420724100_b18","unstructured":"SIRENA Project (2005), \u201cService infrastructure for real\u2010time networked applications\u201d, Eureka Initiative ITEA, available at: www.sirena\u2010itea.org.sadasd."},{"key":"key2022031319420724100_b2","unstructured":"SMErobot\u2122 (2005\u20102009), \u201cThe European robot initiative for strengthening the competitiveness of SMEs in manufacturing\u201d, IP Project, EU FP6, available at: www.smerobot.org."},{"key":"key2022031319420724100_b16","unstructured":"Veiga, G. and Pires, J.N. (2008a), \u201cPLUG\u2010AND\u2010PRODUCE TECHNOLOGIES, on the use of Statecharts for the orchestration of service oriented industrial robotic cells\u201d, Proceedings of the ICINCO 2008, International Conference on Informatics Control and Robotics, Madeira, Portugal, May."},{"key":"key2022031319420724100_b20","unstructured":"Veiga, G. and Pires, J.N. (2008b), \u201cUsing robot programming languages to specify service contracts\u201d, Proceedings of Controlo\u20102008, IFAC\/Portuguese Conference on Automatic Control, Vila\u2010Real, Portugal, July."},{"key":"key2022031319420724100_b15","doi-asserted-by":"crossref","unstructured":"Veiga, G., Pires, J.N. and Nilsson, K. (2007), \u201cOn the use of SOA platforms for industrial robotic cells\u201d, Proceedings of Intelligent Manufacturing Systems, IMS2007, Alicante, Spain, June 3\u20108.","DOI":"10.3182\/20070523-3-ES-4908.00019"},{"key":"key2022031319420724100_b9","unstructured":"Voyles, R. and Khosla, P. (1999), \u201cGesture\u2010based programming: a preliminary demonstration\u201d, Proceedings of the IEEE International Conference on Robotics and Automation, Detroit, Michigan, May, pp. 708\u201013."},{"key":"key2022031319420724100_b8","doi-asserted-by":"crossref","unstructured":"Zhang, J., von Collani, Y. and Knoll, A. (1999), \u201cInteractive assembly by a two\u2010arm\u2010robot agent\u201d, Robotics and Autonomous Systems, Vol. 29 No. 1, pp. 91\u2010100.","DOI":"10.1016\/S0921-8890(99)00041-X"}],"container-title":["Industrial Robot: An International Journal"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/www.emeraldinsight.com\/doi\/full-xml\/10.1108\/01439910910924693","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/www.emerald.com\/insight\/content\/doi\/10.1108\/01439910910924693\/full\/xml","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/www.emerald.com\/insight\/content\/doi\/10.1108\/01439910910924693\/full\/html","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,7,24]],"date-time":"2025-07-24T23:50:23Z","timestamp":1753401023000},"score":1,"resource":{"primary":{"URL":"http:\/\/www.emerald.com\/ir\/article\/36\/1\/73-83\/177956"}},"subtitle":[],"editor":[{"given":"J.","family":"Norberto Pires","sequence":"first","affiliation":[]}],"short-title":[],"issued":{"date-parts":[[2009,1,9]]},"references-count":23,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2009,1,9]]}},"alternative-id":["10.1108\/01439910910924693"],"URL":"https:\/\/doi.org\/10.1108\/01439910910924693","relation":{},"ISSN":["0143-991X"],"issn-type":[{"type":"print","value":"0143-991X"}],"subject":[],"published":{"date-parts":[[2009,1,9]]}}}