You are on page 1of 4

CORBA Navigation in the ASys Robot Control Testbed

Ricardo Sanz

UPM Autonomous Systems Laboratory and Center for Automation and Robotics.

Proposals for a nal grade research project

The Robot Control Testbed (RCT) is a research platform that is part of the the ASLab ASys project. This document summarily describes the RCT as a framework for performing nal grade projects like PFC, TFM or TFG. Some specic project proposals are also described that oer a wide spectrum of possibilities ranging from embedded control systems to software engineering for distributed AI or machine consciousness.
Keywords

autonomy

robotics

engineering

consciousness

his document summarily describes the Robot Control testbed (RCT) research platform that serves as framework for a collection of nal grade, student-sized projects. This is part of the research on robotics platforms for testing the developments in the ASys long term project on autonomous systems. If you are interested in doing your PFC/TFG/TFM in ASLab, please read this document and feel free to ask any question to the ASLab coordinator (ricardo.sanz@upm.es). If you have special, new, challenging, personal ideas of what to do, feel also free to suggest them as research possibilities for your project. Please have in mind that ASLab is a research organisation that tries to build novel and sophisticated systems; and this requieres a wide spectrum of knowledge and ability to deal with the unknown that usually requieres some audacity, courage and boldness from the student.

any kind of mission (Sanz et al., 2000). This implies a wide range of (autonomous) systems to be considered in the research, from robots to industrial process plants or computing systems placed in the cyberspace. Additionally, the ASys science may serve as a systems-centric substrate for theories of natural autonomy that can explain how the human mind works (Collier, 2002). Tools from the AI eld have been extensively explored for intelligent control in the past few decades, improving the adaptivity and eciency of systems. However, as it has been pointed out, they are usually valuable only for a restricted type of problems. Besides, a not negligible amount of tuning for their application to the specic system is usually required. This means that: i) an important part of the adaptivity is still determined at the design stage, and ii) the achieved solution is only partially reusable for other systems, and hardly transferable to other domains. The underlying ideas of the ASys approach are: i) to overcome the previous issues by moving the responsibility for adaptation from design time to systems run time i.e. making the system responsible of its own adaptation, and ii) provide the solution in an architectural form, rather than an algorithmic one, so as to meet the non-functional requirements that appear in these systems.

Engineering Autonomy: the ASys Project


In ASLab we do research on autonomous systems. You can nd more information in our website www.aslab.org. Autonomous systems are systems that are capable of sustained provision of a particular service even in the presence of major uncertainties in the service demand, the context of service execution and the disturbances that the system may be suering from outside or even inside. The Autonomous Systems Project (ASys) of the UPM Autonomous System Laboratory (ASLab) tries to develop universal control technology for autonomy.

ASys

Our autonomy technology evolves from early attempts to apply articial intelligence to control systems (Sanz, 1990), using recent theoretical achievements in the conceptualisation the domain of perception (L opez, 2007), or developments that formalise them into usable software assets, such as an ontology for the engineering of autonomous systems (Bermejo-Alonso, 2010). ASys Project Vision. The project intends the creation of science and technology for universal autonomy. In this context, universal means that the technology shall be eective in augmenting the level of autonomy of any kind of artifact in
www.aslab.org/documents/controlled/A-2014-003.pdf

Model-based Autonomy. The strategy proposed to address adaptation at run-time is that of exploiting cognitive selfcontrol loops, which are control loops based on knowledge. This knowledge is realised in the form of dierent models: of the system, of the environment, and of its mission. This is what we call the model-based view of cognition. The pervasive model-based approach in ASys is twofolded: i) an ASys system will be built using models of it and ii) an ASys system will also exploit models of itself to drive its operation or behaviour. Model-based engineering and model-based behaviour then merge into a single driving concept: model-based autonomy. The main goal: the models the system will use to control its behaviour will eventually be those very same models used by engineers to build it. Models thus constitute the core for our autonomous systems research programme. Unied functional and structural views are considered critical for our research as they provide knowledge about both the intended and the expectable behaviours of the system. The obtained models will be exploited by means of commercial application engines or customised model execution modules. Models will be exercised during runtime to derive the most suitable actions to do. Models are the knowledge that the autonomous agent will use to act properly.

About ASLab
The Autonomous Systems Laboratory is a research group focused on the generation of science and technology for robust autonomy. This is a technical property of systems that make them capable of sustained provision of a particular service even in the presence of major uncertainties in the service demand, the context of service execution and the disturbances that the system may be suering from outside or inside. Find us at www.aslab.org.

ASLAB

March 19, 2014

A-003

v01

15

ASys-Vision-04

Requirements Views

ICe Design

ICe Specication

Asset Base Domain Domain Ontology Domain Ontology Ontology OAsys Ontology

Model
Metamodel Documentation

and developed products (ontologies, models, views, engines) shall be determined and possible adaptations and extensions shall also be considered. The denition and the consolidation of architectural patterns that capture ways of organising components in functional subsystems is critical. As a generalisation strategy, the dierent elements considered in the ASys research programme will be assessed in dierent testbed systems: mobile robots, a chemical reactor, etc. An integrated approach to engineering autonomy. The strategy to follow to materialise the ASys vision is the construction of a systems engineering framework (Johnson, 1997) that can support the engineering processes associated with the construction of autonomous systems. Figure 1 summarily depicts the entities, tooling and activities involved in this process. It integrates the previously discussed ideas: an architecture-centric design approach, a methodology to engineer autonomous systems based on models, and an asset base of modular elements to ll in the roles specied in the architectural patterns. The engineering process covers from the initial capture of application requirements and domain knowledge, to the implementation of the nal product i.e. the autonomous system. The ASys vision suggests that the self-x competences (Sanz et al., 2005) that are necessary to increase system autonomy and resilience, can be based on the models used in the engineering of the system. As depicted in gure 1, the autonomous system Model is transformed, by synthesis, in 1) the Autonomous System and 2) the run-time Model of itself that it uses during its operation. The central part of gure 1 shows this process where the Model is transformed into the Autonomous System. The Integrated Control Environment (ICe) toolset shall be used to exploit an asset base to sustain this engineering process. The asset base contains : ASys Ontology: An ontology of the domain of general autonomous systems. This serves as the core ontological substrate for all ASys elements. Domain Ontologies: Domain ontologies focused in the different application domains of ASys. The two domains that are the current focus of the work are process control systems and mobile robotics. Design Patterns: Reusable functional designs of subsystems of the autonomous agent. Components: Reusable software implementations that can be used to play the roles specied by the patterns. The ICe tool supports several activities: Specication: The specication of the ASys concerns the intended use and autonomy properties for the agent. Design: The design species the architectural organization of the agent using the ASys pattern language as design vocabulary. Synthesis: The synthesis produces both the agent implementation obtaining components for the pattern roles and the run-time model by means of model transformation methods. Documentation: The capture of all reference material that may remain somewhat hidden due to the automated nature of some of the processes. Deployment: Deployment of the ASys and run-time models in real operational conditions. Operation: Operation of the ASys through an RCP-based user interface. Asset Management: Management of the asset base including incorporation of new assets specically developed for concrete applications.
R. Sanz

ICe

Pattern Pattern Pattern

ICe Synthesis

Documentation

Component Component Component

Autonomous System
Engine
Model Metamodel

ICe Deployment

Engine

ICe Asset Management

ICe Operation

Figure 1 Tasks and products in the overall ASys vision (adapted from (Sanz et al., 2008))

The ASys Architectural Approach. Focusing on the systems architecture is focusing on the structural properties that constitute the more pervasive and stable properties of the system (Shaw and Garlan, 1996). Architectural aspects are what critically determine the nal capabilities of any information processing technology, such as control systems. ASys seek for an architectural solution derives from its intention to address all the domain of autonomy, and therefore for the developed technology to be of general applicability, so it be usable to develop control systems for any plant, e.g. continuous process plants, air-trac control or mobile robots; and to meet the critical demands for dependability and survivavility, because they critically depend on the systems architecture. In addition, architecture-based development oers the following advantages:
Systems can be built in a rapid, cost-eective manner

by importing (or generating) externally developed components. It is possible to predict global qualities of the nal system by analysing the architecture. The development of product lines sharing the same architectural design is easier and cheaper. Restrictions on design variability make the design process more productive and less prone to faults. ASys is thus interested in domain variations of architectural designs for their application to dierent autonomous systems. A reference architecture is an architecture where the structures and respective elements and relations provide templates to derive concrete architectures in a particular domain or in a family of software systems, and can be expressed in a reference architecture model. The ASys approach is strongly conceptual and architecturecentric. The suitability of extant control and cognitive control architectures and how they match the ASys research ideas
2 www.aslab.org/documents/controlled/A-2014-003.pdf

The Robot Control Testbed


ASys technology tries to be universal, i.e. of applicability to dierent applications in dierent domains. The Robot Control Testbed (RCT) is a collection of mobile robot systems that are used to test the technologies that we develop. In parallel, the Process Control Testbed (PCT) is a continuous process control system that we use to test the applicability of the technology in the domain of industrial chemical processes. Al the project proposal described here are related to the RCT. The main robot robot that we have selected for the PCT is a well known Pioneer 2AT8 robot (see Figure 2). We call it Higgs. The Pioneer 2AT-8 is a mobile robot made by ActivMedia Robotics. It is a skid-steering vehicle with lightweight aluminium body and four pneumatic wheels propelled by four reversible DC motors, equipped with high-resolution optical encoders for precise position and speed sensing and advanced dead-reckoning. Electronic devices aboard are controlled by a Hitachi H8S microcontroller. Additional computing boards provide extra computing capabilities for open implementation of on-board software.

!"#"!"$%&'()*+,-)% ) $*) 148,94-:) ;1<=4>,1.,) +4?31@/1/?) ,1) <1A/->4=<B1) <1.,-14) @,) /@/>,.-54) ?<1) 1<19C14) -,A,-,1=<4) ,D.,-14) ,*) -/+/.) 4=4+4-3) =/>E*,.4>,1.,) E,-@<@/F) G*) E-/+*,>4)E-<1=<E4*),?)HC,)*/?)E,HC,I/?),--/-,?)@,)/@/>,.-54)?,)4=C>C*41)4)*/) *4-9/) @,*) .<,>E/) J) ,?./?) E,HC,I/?) ,--/-,?) <1?.41.31,/?) ?CE/1,1) ,1/->,?) ,--/-,?) 4=C>C*4.<8/?) =/1) ,*) E4?/) @,*) .<,>E/F) $A/-.C14@4>,1.,) ,*) >C1@/) @,) *4) -/+B.<=4)**,84)>C=K/?)4I/?).-4+4L41@/)=/1)84-<4?)A/->4?)@,)<1=/-E/-4-)>4-=4?)C) /.-4?)-,A,-,1=<4?),D.,-14?)4)*4)148,94=<B1)@,*)-/+/.F)) ) Higgs Navigation (/@,>/?) @,A<1<-) ,*) 1/@/) !"#$%&'($) =/>/) ,*) 1/@/) ,1=4-94@/) @,) E*41<A<=4-) ,*) The focus of this PFC is the re-engineering of the navigation >/8<><,1./)J)@,)>/8,-)4*)-/+/.)4)C1)/+L,.<8/)@,1.-/)@,)C1)>4-=/)@,)-,A,-,1=<4) systems of the Higgs robot to guid it using a dierent kind @,A<1<@/F)'.<*<24)C1)?<?.,>4)@,)E*41<A<=4=<B1)+4?4@/),1)>4E4?)@,)=/?.,F)G*)84*/-) of =/?.,) technology. The current is based on the @,) ,?) 4?<914@/) 4) =4@4) =,*@4) implementation @,*) >4E4) @,E,1@<,1@/) @,) ?C) ,?.4@/) @,) /=CE4=<B1F) ROS middleware and the purpose of this project is to re-build ) it using the CORBA middleware. The reasons for this are G*)E4HC,.,) twofold: !"#$%&'($)<>E*,>,1.4)C14) )*+,'-./"0)M4==<B1)@,)NO#P)E4-4)E,-><.<-) 4*) -/+/.) **,94-) 4) C1) @,?.<1/) /+L,.<8/F) G?.4?) )*+) '-./"0) 1/?) E-/8,,1) *4) Instead of developing the navigation system for Higgs from -,4*<>,1.4=<B1)><,1.-4?)?,)>/1<./-<24),*)E-/9-,?/),1)./-1/)4*)@,?.<1/)/+L,.<8/F) scratch we used ROS navigation stacks developed by MarderG*)E4HC,.,) !"#$%&'($ )<1=/-E/-4),*) &'($%1"-'1%21'00$3 )HC,)=/>+<14)*/?)@4./?)@,) Epstein1 . This package gives us number of components to /@/>,.-54)=/1)*/?)@4./?)@,).41./),*) 41"&'1 )J)a 1"-'1,-"(.,!'2( )M>4E4)@,)=/?.,?)*/=4*) J)9*/+4*PF)G*)E*41)9*/+4*)?,)=4*=C*4)41.,?)@,)HC,),*)-/+/.)=/><,1=,)4)>/8,-?,)4*) navigate to a desired position, knowing an occupancy map of ?<9C<,1.,) @,?.<1/:) .,1<,1@/) =C,1.4) *4?)position 2/14?) @,?=/1/=<@4?) J) */?) /+?.3=C*/?F) the environment and ,1) the initial of the robot relative (4-4)?,-)=4E42)@,)>/8,-),*)-/+/.),*) 1"-'1,21'00$3 )>/1<./-<24)*/?)@4./?)@,),1.-4@4) to this map. It uses odometric information and information @,*) ?,1?/-) J) ,*<9,) *4?) 8,*/=<@4@,?) *<1,4-,?) J) 419C*4-,?) 4@,=C4@4?) E4-4) */?) about the obstacles got from dierent sensors including a laser @<?.<1./?) ?,9>,1./?) HC,) =/1A<9C-41) ,*) 1"-'1, 2'.5F) Q4) >41,-4) ,1) HC,) ?,) rangender and a kinect sensor. <>E*,>,1.41) */?) @<A,-,1.,?) ?,9>,1./?) @,*) 1"-'1,2'.5) ,?) 4*.4>,1.,) =/1A<9C-4+*,) =/>/)8,-,>/?)4)=/1.<1C4=<B1F) )

Figure 3 An overview of the ROS navigation system for Higgs. <1.,-A42)=/1),*)-,?./)@,)*/?)1/@/?)HC,)A/->41),*)?<?.,>4)


@,)148,94=<B1F)

!"#$%&'()#,)>C,?.-4),*),?HC,>4)@,*)1/@/)>/8,R+4?,)J)?C)

) !"#$%&'(%) Read for ) )))))$*+,-./)0/123*,2)%4-.51,2) ) 67) example the PFC by Alberto Gonzlez that addressed the dierent issues in the Higgs testbed Gonz alez (2013).

CORBication of the Higgs Navigation System


The purpose of this project is to develop a pure-CORBA variant of the navigation system for Higgs.
Figure 2.2: Pioneer 2-AT8 (Higgs) with onboard systems

Figure 2 The Higgs Pioneer 2AT robot.

The Pioneer 2AT robot has also other equipment that is used for dierent technology evaluation missions:
Two sonar arrays, each with eight transducers that pro-

CORBA is an standard for objectoriented middleware from the Object Management Group. www.corba.org


14 of 45

vide object detection and range information for collision avoidance. Two frontal and rear bumpers. An stereo camera sometimes replaced by a monocular camera to explore alternative designs. R-2010-008 v 0.1 Draft / Higgs Manual / ASLab.org A laser rangender. A GPS positioning system. A compass and accelerometers. Wireless communications.

With this robot we explore to what extent our autonomy software improves the performance of the robot in the execution of its missions. In particular we explore to what extent, making Higgs self-aware can improve the robustness and resilience of the robot (Sanz et al., 2007; Hern andez, 2013).
R. Sanz

Using CORBA technology we can build distributed control applications with an increased level of transparency Sanz and Alonso (2001). Additionally, the use of advanced CORBA specications (esp. the Real-time CORBA Specication) we can obtain better control over the execution of the application Segarra (2005). It is important concerning the potential requirements for QoS Hill and Gokhale (2008). CORBA is a well known middleware. Middleware is a term used in distributed systems to refer to the software layer that lies between the operating system and the application, enabling the various components of a system to communicate
1

http://wiki.ros.org/navigation

ASLab

March 19, 2014

A-003

v01

and manage data ideally in a transparent fashion. Middleware is a complex layer that is used to simplify the development of complex distributed systems by making communication easier while enabling software developers to focus on the core implementation of the application (the so-called business logic ). There are many software pieces e.g. web servers, application servers, object request brokers, messaging systems, data distribution services, etc- that are called middleware because they can support distributed application development and deployment.

CAlternatives to CORBA
We focus on CORBA due to its technological capabilities, but it is not the only possibility. Two alternatives to evaluate are i) the use of DDS (Pardo-Castellote, 2003) and ii) the use or Real-time Java (Basanta-Val and Garcia-Valls, 2014).

References
Basanta-Val, P. and Garcia-Valls, M. (2014). A distributed real-time java-centric architecture for industrial systems. Industrial Informatics, IEEE Transactions on, 10(1):2734. Bermejo-Alonso, J. (2010). OASys: An Ontology for Autonomous Systems. PhD thesis, Departamento de Autom atica, Universidad Polit ecnica de Madrid. Collier, J. (2002). What is autonomy? International Journal of Computing Anticipatory Systems, 12:212221. Gonz alez, A. (2013). Implementaci on de un banco de pruebas para el marco de la arquitectura OM (the operative mind architecture). Proyecto Fin de Carrera. Universidad Polit ecnica de Madrid - Autonomous Systems Laboratory. Hern andez, C. (2013). Model-based Self-awareness Patterns for Autonomy. PhD thesis, Escuela T ecnica Superior de Ingenieros Industriales - Universidad Polit ecnica de Madrid. Hill, J. H. and Gokhale, A. (2008). Model-driven specication of component-based distributed real-time and embedded systems for verication of systemic QoS properties. In Parallel and Distributed Processing, 2008. IPDPS 2008. IEEE International Symposium on, pages 18. Johnson, R. E. (1997). Frameworks = (components + patterns). Commun. ACM, 40(10):3942. L opez, I. (2007). A Framework for Perception in Autonomous Systems. PhD thesis, Departamento de Autom atica, Uni-

versidad Polit ecnica de Madrid. Pardo-Castellote, G. (2003). Omg data-distribution service: architectural overview. In Distributed Computing Systems Workshops, 2003. Proceedings. 23rd International Conference on, pages 200206. Sanz, R. (1990). Arquitectura de Control Inteligente de Procesos. PhD thesis, Universidad Polit ecnica de Madrid. Sanz, R. and Alonso, M. (2001). CORBA for control systems. Annual Reviews in Control, 25:169181. Sanz, R., G omez, J., Hern andez, C., and Alarc on, I. (2008). Thinking with the body: Towards hierarchical scalable cognition. In Handbook of Cognitive Science: An Embodied Approach. Elsevier. Sanz, R., L opez, I., and Bermejo-Alonso, J. (2007). A rationale and vision for machine consciousness in complex controllers. In Chella, A. and Manzotti, R., editors, Articial Consciousness, pages 141155. Imprint Academic. Sanz, R., L opez, I., Bermejo-Alonso, J., Chinchilla, R., and Conde, R. (2005). Self-x: The control within. In Proceedings of IFAC World Congress 2005. Sanz, R., Mat a, F., and Gal an, S. (2000). Fridges, elephants and the meaning of autonomy and intelligence. In IEEE International Symposium on Intelligent Control, ISIC2000, Patras, Greece. Segarra, M. J. (2005). CORBA Control Systems. PhD thesis, Universidad Polit ecnica de Madrid. Shaw, M. and Garlan, D. (1996). Software Architecture. An Emerging Discipline. Prentice-Hall, Upper Saddle River, NJ.

Ricardo Sanz
UPM Autonomous System Laboratory www.aslab.org www.rsanz.com Contact: ricardo.sanz@upm.es

aslab

www.aslab.org/documents/controlled/A-2014-003.pdf

R. Sanz

You might also like