Abstract
This paper relies on the resource-oriented architecture (ROA) to propose a middleware that shares resources (sensors, actuators and services) of one or more robots through the TCP/IP network, providing greater efficiency in the development of software applications for robotics. The proposed middleware consists of a set of web services that provides access to representational state of resources through simple and high-level interfaces to implement a software architecture for autonomous robots. The benefits of the proposed approach are manifold: i) full abstraction of complexity and heterogeneity of robotic devices through web services and uniform interfaces, ii) scalability and independence of the operating system and programming language, iii) secure control of resources for local or remote applications through the TCP/IP network, iv) the adoption of the Resource Description Framework (RDF), XML language and HTTP protocol, and v) dynamic configuration of the connections between services at runtime. The middleware was developed using the Linux operating system (Ubuntu), with some applications built as proofs of concept for the Android operating system. The architecture specification and the open source implementation of the proposed middleware are detailed in this article, as well as applications for robot remote control via wireless networks, voice command functionality, and obstacle detection and avoidance.
Article PDF
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
References
Business process model and notation (BPMN). http://www.omg.org/spec/BPMN/index.htm, a. Accessed: 02-03-2012
CMUSPhinx wiki. http://cmusphinx.sourceforge.net/wiki/, b. Accessed: 02-03-2012
eSpeak Text to speech. http://espeak.sourceforge.net, c. Accessed: 02-03-2012
The OAuth 2.0 authorization protocol v2-23. http://tools.ietf.org/html/draft-ietf-oauth-v2, d. Accessed: 03-02-2012
OpenKinect Project. http://openkinect.org/wiki/main_page, e. Accessed: 02-03-2012
Pyfaces: Face recognition system. https://code.google.com/p/pyfaces/, f. Accessed: 08-27-2011
Fielding, R.T.: Ph.D. thesis. http://www.ics.uci.edu/fielding/pubs/dissertation/top.htm, g. Accessed: 11-10-2011
Belhumeur, P.N., Hespanha, J.P., Kriegman, D.: Eigenfaces vs. Fisherfaces: recognition using class specific linear projection. IEEE Trans. Pattern Anal. Mach. Intell. 19(7), 711–720 (1997)
Billinghurst, M., Cheok, A., Prince, S., Kato, H.: Real world teleconferencing. IEEE Comput. Graph. Appl. 22(6), 11–13 (2002)
Billinghurst, M., Kato, H.: Collaborative augmented reality. Commun. ACM 45(7), 64–70 (2002)
Bradski, G., Kaehler, A.: Learning OpenCV. O’Reilly Media, Inc (2008)
Brooks, R.A.: A robust layered control system for a mobile robot. IEEE J. Robot. Autom. 2(1), 14–23 (1986)
Brooks, R.A.: A robot that walks - emergent behaviors from a carefully evolved network. Neural Comput. 2, 692–696 (1989)
Bruyninckx, H.: Open robot control software: the OROCOS project. In: Proceedings of the International Conference on Robotics and Automation (ICRA’2001), vol. 3, pp. 2523–2528 (2001)
Crick, C., Jay, G., Osentosiki, S., Pitzer, B., Jenkins, O.C.: Rosbridge: ROS for non-ROS users. In: Proceedings of the 15Th International Symposium on Robotics Research (ISRR’2011). www.isrr-2011.org/ISRR-2011//Program_files/Papers/Jenkins-ISRR-2011.pdf, pp. 1–12 (2011)
Crick, C., Jay, G., Osentoski, S., Jenkins, O.: Ros and rosbridge: roboticists out of the loop. In: ACM/IEEE International Conference on Human-Robot Interaction (HRI), pp. 493–494 (2012)
Decker, S., Melnik, S., van Harmelen, F., Fensel, D., Klein, M., Broekstra, J., Erdmann, M., Horrocks, I.: The semantic web: the roles of XML and RDF. IEEE Internet Comput. 4(5), 63–74 (2000)
Elkady, A., Joy, J., Sobh, T., Valavanis, K.: A structured approach for modular design in robotics and automation environments. J. Intell. Robot. Syst. 72(1), 5–19 (2013)
Elkady, A., Sobh, T.: Robotics middleware: a comprehensive literature survey and attribute-based bibliography. Journal of Robotics 2012(ID-959013), 1–15 (2012)
Fielding, R.T., Taylor, R.N.: Principled design of the modern web architecture. In: Proceedings of the International Conference on Software Engineering (ICSE’2000), pp. 407–416 (2000)
Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence, S., Leach, P., Luotonen, A., Stewart, L.: RFC 2617 - HTTP Authentication: Basic and Digest Access Authentication. Technical Report, The Internet Engineering Task Force (1999). www.faqs.org/rfcs/rfc2617.html
Garber, L.: Wi- races into a faster future. Computer 45(3), 13–16 (2012)
Gerkey, B.P., Vaughan, R.T., Stoy, K., Howard, A., Sukhatme, G.S., Mataric, M.J.: Most valuable player: a robot device server for distributed control. In: Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS’2001), vol. 3, pp. 1226–1231 (2001)
Hu, G., Tay, W. P., Wen, Y.: Cloud robotics: architecture, challenges and applications. IEEE Netw. 26(3), 21–28 (2012)
Hunziker, D., Gajamohan, M., Waibel, M., D’Andrea, R.: Rapyuta: the RoboEarth cloud engine. In: Proceedings of the International Conference on Robotics and Automation (ICRA’2013), pp. 438–444 (2013)
Jackson, J.: Microsoft robotics studio: a technical introduction. IEEE Robot. Autom. Mag. 14(4), 82–87 (2007)
Kramer, J., Scheutz, M.: Development environments for autonomous mobile robots: a survey. Auton. Robot. 22(2), 101–132 (2007)
Lienhart, R., Kuranov, A., Pisarevsky, V.: Empirical analysis of detection cascades of boosted classifiers for rapid object detection. In: Michaelis, B., Krell, G. (eds.) Pattern Recognition - Proceedings of the 25th DAGM Symposium. Springer (2003)
Meng, J., Mei, S., Yan, Z.: RESTful web services: a solution for distributed data integration. In: Proceedings of the IEEE International Conference on Computational Intelligence and Software Engineering (CiSE’2009), vol. 3, pp. 1–4 (2009)
Metta, G., Fitzpatrick, P., Natale, L.: YARP: yet another robot platform. Int. J. Adv. Robot. Syst. 3(1), 43–48 (2006)
Mohamed, N., Al-Jaroodi, J., Jawhar, I.: A review of middleware for networked robots. International Journal of Computer Science & Network Security 9(5), 139–148 (2009)
Montemerlo, M., Roy, N., Thrun, S.: Perspectives on standardization in mobile robot programming: the carnegie mellon navigation (CARMEN) toolkit. In: Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS’2003), vol. 3, pp 2436–2441 (2003). doi:10.1109/IROS.2003.1249235
Nesnas, I., Simmons, R., Gaines, D., Kunz, C., Diaz-Calderon, A., Estlin, T., Madison, R., Guineau, J., McHenry, M., Shu, I.-H., Apfelbaum, D.: CLARAty: challenges and steps toward reusable robotic software. Int. J. Adv. Robot. Syst. 3(1), 23–30 (2006)
Nesnas, I., Wright, A., Bajracharya, M., Simmons, R., Estlin, T.: CLARAty and challenges of developing interoperable robotic software. In: Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS’2003), vol. 3, pp. 2428–2435 (2003)
Overdick, H.: The resource-oriented architecture. In: Proceedings of the 2007 IEEE Congress on Services, pp. 340–347 (2009)
Peng, D., Li, C., Huo, H.: An extended username: token-based approach for REST-style web service security authentication. In: Proceedings of the 2nd IEEE International Conference on Computer Science and Information Technology (ICCSIT’2009), pp. 582–586 (2009)
Quigley, M., Gerkey, B., Conley, K., Faust, J., Foote, T., Leibs, J., Berger, E., Wheeler, R., Ng, A.Y.: ROS: an open-source robot operating system. In: Proceedings of the Open-Source Software Workshop of the International Conference on Robotics and Automation (ICRA’2009) (2009)
Volpe, R., Nesnas, I.A.D., Estlin, T., Mutz, D., Petras, R., Das, H.: The CLARAty architecture for robotic autonomy. In: Proceedings of the IEEE Aerospace Conference, vol. 1, pp. 1121–1132 (2001)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Veloso, M.V.D., Filho, J.T.C. & Barreto, G.A. SOM4R: a Middleware for Robotic Applications Based on the Resource-Oriented Architecture. J Intell Robot Syst 87, 487–506 (2017). https://doi.org/10.1007/s10846-017-0504-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10846-017-0504-y