- manuscript No. (will be inserted by the editor) Robotic frameworks, architectures and middleware comparison Tsardoulias, E., Mitkas, A.P. Received: date / Accepted: date Abstract Nowadays, the construction of a complex robotic system requires a high level of specialization in a large number of diverse scientific areas. It is reasonable that a single researcher cannot create from scratch the entirety of this system, as it is impossible for him to have the necessary skills in the necessary fields. This obstacle is being surpassed with the existent robotic frameworks. This paper tries to give an extensive review of the most famous robotic frameworks and middleware, as well as to provide the means to effortlessly compare them. Additionally, we try to investigate the differences between the definitions of a robotic framework, a robotic middleware and a robotic architecture. Keywords Robotic framework · Robotic architecture · Robotic middleware Acknowledgements Parts of this work have been supported by the FP7 Collaborative Project RAPP (Grant Agreement No 610947), funded by the European Commission 1 Introduction Robots are mechanical or virtual agents that are able to perform tasks by collecting various types of data Emmanouil Tsardoulias ITI - Information Technologies Institute, CERTH - Centre for Research and Technology Hellas, Thermi 57001, Greece Tel.: +30 2310 99 6287 E-mail: [email protected]Pericles Mitkas Aristotle University of Thessaloniki, Department of Electrical and Computer Engineering, 54124 Thessaloniki, Greece Tel: +30 2310 99 6390 E-mail: [email protected]and interacting with the environment through their effectors. It is obvious that since robots are machines (in a wider sense), they are incapable of human-like intellectual capabilities such as thinking, taking initiatives or improvise. On the contrast, robot capabilities are limited to their programmers’ software that in many cases consists of a large variety of modules from kinematic models or PID controllers to high level functionalities, such as navigation strategies or vision based object recognition. It is apparent that programming a complex robot from scratch is an unfeasible task for two reasons. First of all a team comprised of scientists specialized in many different areas is needed and second, great effort must be applied in joining the separate software modules for the whole robotic system to work fluently. For that reason, a large variety of robotic frameworks, middleware and architecture proposals exist, aiming at not reinventing the wheel, but providing a solid basis for any robotics developer to build on and perform in an effective way their experiments. 2 Nomenclature A Robotic framework is a collection of software tools, libraries and conventions, aiming at simplifying the task of developing software for a complex robotic device. In most of the cases, the use of a robotic framework dictates the general architectural principles of the developed software (for example if it is centralized, real-time etc.). It is true that tasks considered trivial by humans are extremely hard to be solved in a generic way from a robotic device, as the environmental conditions are altered in a dynamic fashion. So, in order to create genuinely intelligent arXiv:1711.06842v1 [cs.RO] 18 Nov 2017
19
Embed
arXiv:1711.06842v1 [cs.RO] 18 Nov 2017 · architectures, middleware and frameworks. For example in [1] a comparison of open source RDEs (Robotic Development Environments) is being
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
- manuscript No.(will be inserted by the editor)
Robotic frameworks, architectures and middleware comparison
Tsardoulias, E., Mitkas, A.P.
Received: date / Accepted: date
Abstract Nowadays, the construction of a complex
robotic system requires a high level of specialization in
a large number of diverse scientific areas. It is
reasonable that a single researcher cannot create from
scratch the entirety of this system, as it is impossible
for him to have the necessary skills in the necessary
fields. This obstacle is being surpassed with the
existent robotic frameworks. This paper tries to give
an extensive review of the most famous robotic
frameworks and middleware, as well as to provide the
means to effortlessly compare them. Additionally, we
Robots are mechanical or virtual agents that are able
to perform tasks by collecting various types of data
Emmanouil TsardouliasITI - Information Technologies Institute, CERTH - Centre forResearch and Technology Hellas, Thermi 57001, GreeceTel.: +30 2310 99 6287E-mail: [email protected] MitkasAristotle University of Thessaloniki, Department of Electricaland Computer Engineering, 54124 Thessaloniki, GreeceTel: +30 2310 99 6390E-mail: [email protected]
and interacting with the environment through their
effectors. It is obvious that since robots are machines
(in a wider sense), they are incapable of human-like
intellectual capabilities such as thinking, taking
initiatives or improvise. On the contrast, robot
capabilities are limited to their programmers’ software
that in many cases consists of a large variety of
modules from kinematic models or PID controllers to
high level functionalities, such as navigation strategies
or vision based object recognition. It is apparent that
programming a complex robot from scratch is an
unfeasible task for two reasons. First of all a team
comprised of scientists specialized in many different
areas is needed and second, great effort must be
applied in joining the separate software modules for
the whole robotic system to work fluently. For that
reason, a large variety of robotic frameworks,
middleware and architecture proposals exist, aiming
at not reinventing the wheel, but providing a solid
basis for any robotics developer to build on and
perform in an effective way their experiments.
2 Nomenclature
A Robotic framework is a collection of software tools,
libraries and conventions, aiming at simplifying the
task of developing software for a complex robotic
device. In most of the cases, the use of a robotic
framework dictates the general architectural principles
of the developed software (for example if it is
centralized, real-time etc.). It is true that tasks
considered trivial by humans are extremely hard to be
solved in a generic way from a robotic device, as the
environmental conditions are altered in a dynamic
fashion. So, in order to create genuinely intelligent
arX
iv:1
711.
0684
2v1
[cs
.RO
] 1
8 N
ov 2
017
2 Tsardoulias, E., Mitkas, A.P.
robotic software it is essential to use a tool like a
robotic framework that allows for rapid robotic
development, as it provides a priori the necessary
modules of a robotic system, such as safe message
passing, motor driving etc.
The Robotic middleware’s definition is similar to
the one of the Robotic framework. A descriptive
definition of the ”robotic middleware” term could be
the glue that holds together the different modules of a
robotic system. The most basic task of a robotic
middleware is to provide the communications
infrastructure between the software nodes running in
a robotic system. The usual case is providing the
essential software - hardware interfaces between the
high level (software) and the low level (hardware)
components of the system, as these consist of various
OS specific drivers that an average robotics researcher
is impossible to develop. It is apparent that the
concepts of a robotic framework and a robotic
middleware are tightly connected and in most of the
cases not possible to distinguish. A difference that
could be noted is that a robotic middleware (if
considered the glue keeping together the distinct
modules) should provide only basic functionalities and
be invisible to the developer. On the contrast, a
robotic framework is created to provide the above
functionality, as well as an API to services or modules
already tested by the scientific robotic community. In
that way it can be assumed that a robotic middleware
is encapsulated in each robotic framework.
A Robotic architecture differentiates from the
robotic framework and robotic middleware definitions,
as it is a more abstract description of how modules in
a robotic system should be interconnected and
interact with each other. The real challenge for a
successful robotic architecture is to be defined in such
a way that can be applied to a large number of robotic
systems. Obviously this is a very hard task since
robotic systems are characterized by extreme
diversity. For example it is very difficult to define a
single architecture that can operate both with
synchronous/asynchronous, single or multiple robot
systems. In conclusion, a robotic architecture should
organize a robotics software system and in the general
case, to provide the communication infrastructure
between the different modules (software or hardware).
There are many surveys that present the
state-of-the-art in the scientific area of robotic
architectures, middleware and frameworks. For
example in [1] a comparison of open source RDEs
(Robotic Development Environments) is being made,
concerning their specifications, platform support,
infrastructure, implementation characteristics and
predefined components. Additionally a comparison
exists for each RDE’s usability. In [2] eight different
robotic frameworks are compared using three distinct
metrics: ’Programming and communication’, ’Robot
control patterns’ and ’Development and deployment’.
Then the CoRoBa framework is presented in detail.
On a similar context, in [3], [4] and [5] a
comparison of various famous robotic frameworks is
being made. On a more theoretical approach, [6]
discusses the consolidation of the two main trends in
the integration frameworks (i.e. the robotic
frameworks / middleware and architectures): the
communication layers and the component-based
frameworks. The discussion is being made under the
consideration of the bigger picture of a robotics
system, regardless of the actual integration layer, and
is presented through the prism of Rock (the Robot
Construction Kit).
From the definitions presented it is obvious that
the limits of each term are fuzzy and in many cases
overlapping, although the robotic architecture
meaning seems to be more distinct than the other two.
For that reason the robotic frameworks and
middleware will be presented in the same chapter
(3.2) whilst the robotic architectures will be described
in a separate one (3.3).
3 Robotic frameworks and middleware
The current section contains a state-of-the-art survey
of the most famous robotic frameworks and
middleware. The two most relevant frameworks to
RAPP are initially presented (ROS and HOP), then
the most wide-spread and the rest are mentioned in an
alphabetic order.
3.1 ROS (Robot Operating System)
The Robot Operating System (ROS) is a framework
targeted for writing robot software. It is comprised of
tools, libraries and conventions that aim for
complexity reduction, concerning the procedure of
writing complex and robust robotic behaviours (and
generally robotic software). Its creators describe it as
meta-operating system [7], as it provides standard
visualization and tf for investigation of geometric
transforms both in space and time. The scientific
community embraced it, fact supported from the large
amount of submitted algorithms in the ROS wiki that
cover a wide range of applications, from mapping and
navigation to motor control. ROS was initially
developed in 2007 by the Standford Artificial
Intelligence Laboratory, then in 2008 the development
16 Tsardoulias, E., Mitkas, A.P.
continued from Willow Garage and in Feb. 2013 ROS
transitioned to OSRF, the Open Source Robotics
Foundation.
An interesting fact is that only a small portion of
the presented frameworks is oriented towards
real-time control (Orocos, RSCA, MCA2 etc),
something that shows a trend in modern robotics,
meaning that the majority of researchers are
investigating higher-level problems. Additionally the
vast majority of the frameworks have a modular
(component-based) architecture in order to increase
code reusability and minimize the integration efforts.
Of course, the modularity can play a crucial role in
the following years, as the cloud computing and cloud
robotics begin to expand.
The number of frameworks that supported Linux
or Unix is larger than the ones that operate in
Windows or other operating systems. Also an
important fraction of the ones that supported
Windows were commercial, something that reveals the
open-source tradition of Unix systems, opposed to the
Windows OSs. C++ seemed to be the dominant
development language. Though programs in C++ are
not easily ported in other operating systems, the
benefits in speed, performance and low-level access of
the host system are invaluable.
References
1. Kramer J., Scheutz M., ”Development environments forautonomous mobile robots: A survey.”, in AutonomousRobots, Feb. 2007, 22 (2), pp. 101-132
2. A. Mallet, S. Fleury, and H. Bruyninckx., ”A specificationof generic robotics software components: Future evolutionsof GenoM in the orocos context.”, in InternationalConference on Intelligent Robotics and Systems, Lausanne(Switzerland), Oct 2002. IEEE.
3. Michael Somby, ”Robotics software platformsreview”, In Automation.com. Retrieved fromhttp://www.automation.com/library/articles-white-papers/robotics/robotics-software-platforms-review
4. Elkady, A., Sobh, T.: Robotics middleware: acomprehensive literature survey and attribute-based bibliography. J. Robot. 2012, 15 (2012).doi:10.1155/2012/959013
5. Eric Colon, Robotics Frameworks, 01/2013; ISBN: 978-1463789442 In book: Introduction to Modern Robotics II,Chapter: Robotics Frameworks, Publisher: iConcept PressLtd, Editors: Daisuke Chugo and Sho Yokota
6. S. Joyeux and J. Albiez, Robot development : fromcomponents to systems, in Control Architecture of Robots,2011, pp. 115. [Online]. Available: http://hal.inria.fr/inria-00599679
7. M. Quigley , B. Gerkey , K. Conley , J. Faust , T. Foote, J. Leibs , E. Berger , R. Wheeler and A. Ng ”ROS: Anopen-source robot operating system”, Proc. Open-SourceSoftware Workshop Int. Conf. Robotics and Automation,2009
8. Osentoski S, Jay G, Crick C, Pitzer B, DuHadway C,Jenkins OC (2011) ”Robots as web services: reproducibleexperimentation and application development using rosjs”.In: Proceedings of the 2011 IEEE international conferenceon robotics & automation.
9. L. Roalter, M. Kranz, and A. Moller, ”A middlewarefor intelligent environments and the internet of things,”in Ubiquitous Intelligence and Computing, ser. LectureNotes in Computer Science, vol. 6406. Springer Berlin /Heidelberg, 2010, pp. 267-281.
10. Elkady, A., Joy, J., Sobh, T.: A plug and playmiddleware for sensory modules, actuation platformsand task descriptions in robotic manipulation platforms.In: Submitted to Proc. 2011 ASME InternationalDesign Engineering Technical Conf. and Computers andInformation in Engineering Conf. (IDETC/CIE 11) (2011)
11. M. Beetz, L. Mosenlechner, and M. Tenorth, ”CRAM- A Cognitive Robot Abstract Machine for EverydayManipulation in Human Environments,” in IEEE/RSJInternational Conference on Intelligent RObots andSystems., 2010., pp. 1012-1017
12. Serrano, Manuel, Erick Gallesio, and Florian Loitsch.”Hop: a language for programming the web 2. 0.” OOPSLACompanion. 2006.
13. Loitsch, Florian, and Manuel Serrano. ”Hop Client-SideCompilation.” Trends in Functional Programming 8 (2007):141-158.
14. Serrano, Manuel. ”Programming web multimediaapplications with hop.” Proceedings of the 15thinternational conference on Multimedia. ACM, 2007.
15. T. Collett, B.MacDonald, and B. Gerkey, Player 2.0:Toward a practical robot programming framework, inAustralasian Conference on Robotics and Automation,2005.
16. R. Vaughan, Massively multi-robot simulation in Stage,Swarm Intell., vol. 2, no. 2, pp. 189208, 2008
17. B. P. Gerkey, R. T. Vaughan, and A. Howard,”The player/stage project: Tools for multi-robot anddistributed sensor systems,” in Proceedings of theInternational Conference on Advanced Robotics, Coimbra,Portugal, Jul 2003, pp. 317-323. [Online]. Available:http://cres.usc.edu/cgi- bin/printpubdetails.pl?pubid=288
18. B. P. Gerkey, R. T. Vaughan, K. Sty, A. Howard, G.S. Sukhatme, and M. J. Mataric. Most valuable player: Arobot device server for distributed control. In Proc. of theIEEE/RSJ Intl. Conf. on Intelligent Robots and Systems(IROS01), pages 12261231, Wailea, Hawaii, Oct. 2001.
19. Koenig, Nathan, and Andrew Howard. ”Design anduse paradigms for gazebo, an open-source multi-robotsimulator.” Intelligent Robots and Systems, 2004.(IROS2004). Proceedings. 2004 IEEE/RSJ InternationalConference on. Vol. 3. IEEE, 2004.
20. Kramer, James, and Matthias Scheutz. ”Developmentenvironments for autonomous mobile robots: A survey.”Autonomous Robots 22.2 (2007): 101-132.
21. Johns, Kyle, and Trevor Taylor. Professional microsoftrobotics developer studio. John Wiley & Sons, 2009.
23. Cepeda, Jess S., Luiz Chaimowicz, and Rogelio Soto.”Exploring Microsoft Robotics Studio as a mechanismfor service-oriented robotics.” Robotics Symposium andIntelligent Robotic Meeting (LARS), 2010 Latin American.IEEE, 2010.
24. Michal, David S., and Letha Etzkorn. ”A comparisonof Player/Stage/Gazebo and Microsoft Robotics Developer
Robotic frameworks, architectures and middleware comparison 17
Studio.” Proceedings of the 49th Annual SoutheastRegional Conference. ACM, 2011.
25. Bekele, Esubalew T., et al. ”A step towards developingadaptive robot-mediated intervention architecture(ARIA) for children with autism.” Neural Systemsand Rehabilitation Engineering, IEEE Transactions on21.2 (2013): 289-299.
26. Magnenat, Stphane, et al. ”ASEBA: a modulararchitecture for event-based control of complex robots.”Mechatronics, IEEE/ASME Transactions on 16.2 (2011):321-329.
27. Markopoulos, Panos, et al. ”Aseba-Challenge: AnOpen-Source Multiplayer Introduction to Mobile RobotsProgramming.” Fun and Games. No. LSRO-CONF-2008-056. Springer, 2008.
28. Magnenat, Stphane, and Francesco Mondada. ”ASEBAMeets D-Bus: From the Depths of a Low-Level Event-BasedArchitecture into the Middleware Realm.”
29. Thrun, Sebastian, et al. ”Robust Monte Carlolocalization for mobile robots.” Artificial intelligence128.1 (2001): 99-141.
30. Thrun, Sebastian. ”Robotic mapping: A survey.”Exploring artificial intelligence in the new millennium(2002): 1-35.
31. Nesnas, Issa AD, et al. ”CLARAty: Challenges and StepsToward Reusable Robotic Software.” International Journalof Advanced Robotic Systems 3.1 (2006).
32. Nesnas, Issa AD, et al. ”CLARAty and challengesof developing interoperable robotic software.” IntelligentRobots and Systems, 2003.(IROS 2003). Proceedings. 2003IEEE/RSJ International Conference on. Vol. 3. IEEE, 2003.
33. Nesnas, Issa A., et al. ”Claraty: An architecture forreusable robotic software.” AeroSense 2003. InternationalSociety for Optics and Photonics, 2003.
34. Nesnas, Issa AD. ”The claraty project: Copingwith hardware and software heterogeneity.” SoftwareEngineering for Experimental Robotics. Springer BerlinHeidelberg, 2007. 31-70.
35. Diaz-Calderon, Antonio, et al. ”Towards a UnifiedRepresentation of Mechanisms for Robotic ControlSoftware.” International Journal of Advanced RoboticSystems 3.1 (2006).
37. Estlin, Tara, et al. ”Decision-making in a roboticarchitecture for autonomy.” Proceedings of theinternational symposium on artificial intelligence, robotics,and automation in space. 2001.
38. Domnguez Brito, Antonio Carlos. ”CoolBOT: acomponent-oriented programming framework for robotics.”(2003), Lecture Notes in Computer Science, Vol. 2238, 16 :282-304
39. Domnguez-Brito, Antonio Carlos, et al. ”CoolBOT: AnOpen Source Distributed Component Based ProgrammingFramework for Robotics.” International Symposium onDistributed Computing and Artificial Intelligence. SpringerBerlin Heidelberg, 2011., pp. 369-376
40. Munich, Mario E., Jim Ostrowski, and Paolo Pirjanian.”ERSP: A software platform and architecture forthe service robotics industry.” Intelligent Robots andSystems, 2005.(IROS 2005). 2005 IEEE/RSJ InternationalConference on. IEEE, 2005.
41. Cote, Carle, et al. ”Robotic Software Integration UsingMARIE.” International Journal of Advanced RoboticSystems 3.1 (2006).
42. Ct, Carle, et al. ”Software design patterns for robotics:Solving integration problems with MARIE.” Workshopof Robotic Software Environment, IEEE InternationalConference on Robotics and Automation. 2005.
43. Ct, Carle, et al. ”Using marie for mobile robot componentdevelopment and integration.” Software Engineering forExperimental Robotics. Springer Berlin Heidelberg, 2007.211-230.
44. Uhl, Klaus, and Marco Ziegenmeyer. ”MCA2anextensible modular framework for robot controlapplications.” 10th International Conference (CLAWAR2007). 2007.
45. Wille, Sebastian, et al. ”TinySEPA Tiny Platformfor Ambient Assisted Living.” Ambient Assisted Living.Springer Berlin Heidelberg, 2012. 229-243.
46. Arndt, Michael, et al. ”Combining robotic frameworkswith a smart environment framework: MCA2/SimVis3Dand TinySEP.” Proceedings of the 2012 ACM Conferenceon Ubiquitous Computing. ACM, 2012.
47. Utz, Hans, et al. ”Miro-middleware for mobilerobot applications.” Robotics and Automation, IEEETransactions on 18.4 (2002): 493-497.
48. Enderle, Stefan, et al. ”Miro: Middleware for autonomousmobile robots.” Telematics Applications in Automation andRobotics (2001).
49. Endo, Yoichiro, Douglas C. MacKenzie, and Ronald C.Arkin. ”Usability evaluation of high-level user assistancefor robot mission specification.” Systems, Man, andCybernetics, Part C: Applications and Reviews, IEEETransactions on 34.2 (2004): 168-180.
50. Kira, Zsolt, Ronald C. Arkin, and Thomas R. Collins. ”Adesign process for robot capabilities and missions applied tomicro-autonomous platforms.” SPIE Defense, Security, andSensing. International Society for Optics and Photonics,2010.
51. Moshkina, Lilia, et al. ”TAME: Time-varying affectiveresponse for humanoid robots.” International Journal ofSocial Robotics 3.3 (2011): 207-221.
52. Benjamin, Michael R., et al. ”Nested autonomy forunmanned marine vehicles with MOOSIvP.” Journal ofField Robotics 27.6 (2010): 834-875.
53. Diankov, Rosen, and James Kuffner. ”Openrave: Aplanning architecture for autonomous robotics.” RoboticsInstitute, Pittsburgh, PA, Tech. Rep. CMU-RI-TR-08-34(2008): 79.
54. D. Calisi, A. Censi, L. Iocchi, and D. Nardi,”OpenRDK: a framework for rapid and concurrentsoftware prototyping”, In Proceedings of the InternationalWorkshop on System and Concurrent Engineering for SpaceApplications (SECESA). November, 2008
55. Calisi, Daniele, et al. ”OpenRDK: a modular frameworkfor robotic software development.” Intelligent Robotsand Systems, 2008. IROS 2008. IEEE/RSJ InternationalConference on. IEEE, 2008.
56. Park, Hong-Seong, and Soohee Han. ”Development of anopen software platform for robotics services.” ICCAS-SICE,2009. IEEE, 2009.
57. Jang, Choulsoo, et al. ”OPRoS: A New Component-Based Robot Software Platform.” ETRI journal 32.5(2010).
58. Song, Byoungyoul, et al. ”An introduction to robotcomponent model for opros (open platform for roboticservices).” Workshop Proceedings of Intl. Conf. onSimulation, Modeling and Programming for AutonomousRobots. 2008.
59. Kim, JongYoung, et al. ”Fault Management ofRobot Software Components Based on OPRoS.”
60. Lim, Ki-Woong, et al. ”UPnP single event mechanismfor OPRoS robot S/W platform.” Control Automation andSystems (ICCAS), 2010 International Conference on. IEEE,2010.
61. Makarenko, Alexei, Alex Brooks, and Tobias Kaupp.”Orca: Components for robotics.” International Conferenceon Intelligent Robots and Systems (IROS). 2006.
62. Brooks, Alex, et al. ”Orca: a component model andrepository.” Software engineering for experimental robotics.Springer Berlin Heidelberg, 2007. 231-251.
63. Brooks, Alex, et al. ”Towards component-basedrobotics.” Intelligent Robots and Systems, 2005.(IROS2005). 2005 IEEE/RSJ International Conference on. IEEE,2005.
64. Makarenko, Alexei, Alex Brooks, and Tobias Kaupp.”On the benefits of making robotic software frameworksthin.” International Conference on Intelligent Robots andSystems. Vol. 2. 2007.
65. Bruyninckx, Herman. ”Open robot control software:the OROCOS project.” Robotics and Automation, 2001.Proceedings 2001 ICRA. IEEE International Conference on.Vol. 3. IEEE, 2001.
66. Li, Wenfeng, et al. ”An architecture for indoornavigation.” Robotics and Automation, 2004. Proceedings.ICRA’04. 2004 IEEE International Conference on. Vol. 2.IEEE, 2004.
67. Petters, Sebastian, Dirk Thomas, and Oskar Von Stryk.”Roboframe-a modular software framework for lightweightautonomous robots.” Proc. Workshop on Measures andProcedures for the Evaluation of Robot Architectures andMiddleware of the 2007 IEEE/RSJ Int. Conf. on IntelligentRobots and Systems. 2007.
68. Ando, Noriaki, et al. ”RT-middleware: distributedcomponent middleware for RT (robot technology).”Intelligent Robots and Systems, 2005.(IROS 2005). 2005IEEE/RSJ International Conference on. IEEE, 2005.
69. Ando, Noriaki, et al. ”RT-Component Object Model inRT-Middleware.”, in Proceedings 2005 IEEE InternationalSymposium on Computational Intelligence in Robotics andAutomation, pp 457-462
70. Ando, Noriaki, et al. ”Composite component frameworkfor rt-middleware (robot technology middleware).”Advanced Intelligent Mechatronics. Proceedings, 2005IEEE/ASME International Conference on. IEEE, 2005.
71. Blank, Douglas, et al. ”Pyro: A python-based versatileprogramming environment for teaching robotics.” Journalon Educational Resources in Computing (JERIC) 4.3(2004): 3.
72. Blank, Douglas, Lisa Meeden, and Deepak Kumar.”Python robotics: An environment for exploring roboticsbeyond LEGOs.” ACM SIGCSE Bulletin. Vol. 35. No. 1.ACM, 2003.
73. Blank, Douglas, et al. ”The Pyro toolkit for AI androbotics.” AI magazine 27.1 (2006): 39.
74. Blank, Douglas, et al. ”Avoiding the Karel-the-Robot Paradox: A framework for making sophisticatedrobotics accessible.” Proceedings of the Spring Symposiumon Accessible, Hands-on AI and Robotics Education(AAAI04). 2004.
75. Chaimowicz, Luiz, et al. ”ROCI: A distributed frameworkfor multi-robot perception and control.” Intelligent Robotsand Systems, 2003.(IROS 2003). Proceedings. 2003IEEE/RSJ International Conference on. Vol. 1. IEEE, 2003.
76. Cowley, Anthony, Hwa-Chow Hsu, and Camillo J. Taylor.”Distributed sensor databases for multi-robot teams.”Robotics and Automation, 2004. Proceedings. ICRA’04.2004 IEEE International Conference on. Vol. 1. IEEE, 2004.
77. Cowley, Anthony, Hwa-Chow Hsu, and Camillo J.Taylor. Modular programming techniques for distributedcomputing tasks. MOORE SCHOOL OF ELECTRICALENGINEERING PHILADELPHIA PA GRASP LAB,2004.
78. Hong, Seongsoo, et al. ”The robot softwarecommunications architecture (RSCA): Embeddedmiddleware for networked service robots.” Paralleland Distributed Processing Symposium, 2006. IPDPS2006. 20th International. IEEE, 2006.
79. Steck, Andreas, Alex Lotz, and Christian Schlegel.”Model-driven engineering and run-time model-usage inservice robotics.” ACM SIGPLAN Notices. Vol. 47. No. 3.ACM, 2011.
80. Schlegel, Christian, and Robert Worz. ”The softwareframework SMARTSOFT for implementing sensorimotorsystems.” Intelligent Robots and Systems, 1999. IROS’99.Proceedings. 1999 IEEE/RSJ International Conference on.Vol. 3. IEEE, 1999.
81. Ramani, R. Geetha, R. Subramanian, and M. Sindurathy.”Strategies of Teams in Soccerbots.” International Journalof Advanced Robotic Systems 5.4 (2008).
82. Baillie, Jean-Christophe, et al. ”The Urbi universalplatform for robotics.” First International Workshop onStandards and Common Platform for Robotics. 2008.
83. Baillie, Jean-Christophe. ”Design principles for auniversal robotic software platform and application tourbi.” Proceedings of ICRA 2007 Workshop on SoftwareDevelopment and Integration in Robotics. 2007.
84. Baillie, Jean-Christophe, et al. ”Software architecturefor an exploration robot based on Urbi.” 6th NationalConference on Control Architectures of Robots. 2011.
85. Michel, Olivier. ”WebotsTM: Professional mobile robotsimulation.” arXiv preprint cs/0412052 (2004).
86. Tllez, R. I. C. A. R. D. O., and Cecilio Angulo. ”WebotsSimulator 5.1. 7. Cyberbotics Ltd.(2006). Available indifferent versions at different prices; CHF 3600 ($2940) forthe PRO version, normal price.” Artificial life 13.3 (2007):313-318.
87. Metta, Giorgio, Paul Fitzpatrick, and Lorenzo Natale.”YARP: Yet Another Robot Platform.” InternationalJournal of Advanced Robotic Systems 3.1 (2006).
88. Stefnsson, Stefn Freyr, Bjrn r Jnsson, and Kristinn R.Thrisson. ”A YARP-based Architectural Framework forRobotic Vision Applications.” VISAPP (1). 2009.
89. Fitzpatrick, Paul, Giorgio Metta, and LorenzoNatale. ”Towards long-lived robot genes.” Roboticsand Autonomous systems 56.1 (2008): 29-45.
90. Arkin, Ronald C., and Tucker Balch. ”AuRA: Principlesand practice in review.” Journal of Experimental &Theoretical Artificial Intelligence 9.2-3 (1997): 175-189.
91. Moshkina, Lilia, and Ronald C. Arkin. ”On TAMEingRobots.” IEEE INTERNATIONAL CONFERENCE ONSYSTEMS MAN AND CYBERNETICS. Vol. 4. 2003.
92. Lindstrom, Mattias, Anders Oreback, and Henrik I.Christensen. ”Berra: A research architecture for servicerobots.” Robotics and Automation, 2000. Proceedings.ICRA’00. IEEE International Conference on. Vol. 4. IEEE,2000.
93. Petersson, Lars, David Austin, and H. Christenseni.”DCA: a distributed control architecture for robotics.”Intelligent Robots and Systems, 2001. Proceedings. 2001IEEE/RSJ International Conference on. Vol. 4. IEEE, 2001.
Robotic frameworks, architectures and middleware comparison 19
94. S. Fleury, M. Herrb and R. Chatila. ”GenoM: ATool for the Specification and the Implementation ofOperating Modules in a Distributed Robot Architecture.”In International Conference on Intelligent Robots andSystems, pp 842-848. Grenoble (France), 1997
95. Orebck, Anders, and Henrik I. Christensen. ”Evaluationof architectures for mobile robotics.” Autonomous robots14.1 (2003): 33-49.