Important Issues in the Automatic Design of Modular ... · PDF fileImportant Issues in the...

6
Important Issues in the Automatic Design of Modular Systems for Robotics and Automation Tasks Paola B. Alvarado-Velazco and Victor Ayala-Ramirez Department of Electronics Engineering, Universidad de Guanajuato DICIS Carr. Salamanca-Valle, Km. 3.5+1.8, 36700, Salamanca, Mexico [email protected], [email protected] Abstract This work proposes a set of important issues to analyze the feasibility of developing automatic design tools in automation and robotics tasks. The develop- ment of a methodology for the automatic design of mod- ular systems makes possible to develop several types of systems by using the same tools for design. The auto- matic design process is based on the user requirements for system specification. In order to be able to design different systems, we will provide a catalogue of generic requirements that can be present in the system specifi- cation provided by the user. In this paper, we present the important issues arising from the study of three systems where their feasibility for automatic design is studied. 1. Introduction There is an increasing demand of high quality and low cost products which also exhibit compactness, ro- bustness and versatility. This need arises from the in- terest of developing a variety of products without using a whole development cycle for each product. In oth- ers words, the focus is on developing modular functions that handle different interactions between product com- ponents. Each module has to achieve by itself all the above mentioned requirements and, at the same time, it needs to have some computational intelligence to en- able it to perform self-diagnostic, self-configuration and high level interaction tasks with similar modules or host systems that make requests for its functions. For this, it is important to develop some techniques that enable us the automatic design and the evaluation of the process results applied to modular automation systems. We have already proposed how we can design mod- ular systems [1] and we have shown some of the main issues arising on its development. We have developed a Motor Module that is used as the base to build a proto- type of a Cartesian Robot of two degrees of freedom. In that system, we needed to create the sequence of tasks to be executed taking into account some specific require- ments. The next step is to include some artificial in- telligence algorithms in order to produce the sequence automatically. Up to now, modular systems have shown to be a good choice for system development. The use of in- dependent modules enables us to design systems with varying degrees of complexity that integrate different sets of modules as required. In the literature, we can review several attempts to develop methodologies to se- lect the set of modules by analyzing the features re- quired in the system to be implemented. Most of them are software-based methodologies. The objective of this work is to identify important issues to develop a system that automatically designs a system based on its requirements. Let us take as an example the Cartesian Robot mentioned above. With such a system, we would not care about robot program- ming. The automatic design system would provide a set of motion primitives (even in a complex routine) that need to be performed to satisfy input requirements and taking into account the possible set of constraints in- volved by the system by itself. This will result in an optimal sequence of interactions between all the avail- able functions. The same process can be extended to other robotics areas, for example motion and path plan- ning where it will be possible to focus on the planning stage, but not on the internal interactions of the robot. In the approaches presented in literature, the methodologies are for specific systems. What we pro- pose is to extend the automatic design system to be able to develop systems in a larger scope. That is, to be able to design several kinds of systems by having different requirements capture procedures but sharing the same automatic design methodology. The rest of this work is organized as follows: Sec- tion 2 is about different approaches that have been taken in modular system development and in automatic sys- ROSSUM 2011 June 27-28, 2011 Xalapa, Ver., Mexico 72

Transcript of Important Issues in the Automatic Design of Modular ... · PDF fileImportant Issues in the...

Page 1: Important Issues in the Automatic Design of Modular ... · PDF fileImportant Issues in the Automatic Design of Modular Systems ... The automatic design of modular systems for robotics

Important Issues in the Automatic Design of Modular Systems for Roboticsand Automation Tasks

Paola B. Alvarado-Velazco and Victor Ayala-RamirezDepartment of Electronics Engineering, Universidad de Guanajuato DICIS

Carr. Salamanca-Valle, Km. 3.5+1.8, 36700, Salamanca, [email protected], [email protected]

Abstract

This work proposes a set of important issues toanalyze the feasibility of developing automatic designtools in automation and robotics tasks. The develop-ment of a methodology for the automatic design of mod-ular systems makes possible to develop several types ofsystems by using the same tools for design. The auto-matic design process is based on the user requirementsfor system specification. In order to be able to designdifferent systems, we will provide a catalogue of genericrequirements that can be present in the system specifi-cation provided by the user. In this paper, we present theimportant issues arising from the study of three systemswhere their feasibility for automatic design is studied.

1. Introduction

There is an increasing demand of high quality andlow cost products which also exhibit compactness, ro-bustness and versatility. This need arises from the in-terest of developing a variety of products without usinga whole development cycle for each product. In oth-ers words, the focus is on developing modular functionsthat handle different interactions between product com-ponents. Each module has to achieve by itself all theabove mentioned requirements and, at the same time,it needs to have some computational intelligence to en-able it to perform self-diagnostic, self-configuration andhigh level interaction tasks with similar modules or hostsystems that make requests for its functions. For this, itis important to develop some techniques that enable usthe automatic design and the evaluation of the processresults applied to modular automation systems.

We have already proposed how we can design mod-ular systems [1] and we have shown some of the mainissues arising on its development. We have developed aMotor Module that is used as the base to build a proto-type of a Cartesian Robot of two degrees of freedom. In

that system, we needed to create the sequence of tasks tobe executed taking into account some specific require-ments. The next step is to include some artificial in-telligence algorithms in order to produce the sequenceautomatically.

Up to now, modular systems have shown to be agood choice for system development. The use of in-dependent modules enables us to design systems withvarying degrees of complexity that integrate differentsets of modules as required. In the literature, we canreview several attempts to develop methodologies to se-lect the set of modules by analyzing the features re-quired in the system to be implemented. Most of themare software-based methodologies.

The objective of this work is to identify importantissues to develop a system that automatically designsa system based on its requirements. Let us take as anexample the Cartesian Robot mentioned above. Withsuch a system, we would not care about robot program-ming. The automatic design system would provide a setof motion primitives (even in a complex routine) thatneed to be performed to satisfy input requirements andtaking into account the possible set of constraints in-volved by the system by itself. This will result in anoptimal sequence of interactions between all the avail-able functions. The same process can be extended toother robotics areas, for example motion and path plan-ning where it will be possible to focus on the planningstage, but not on the internal interactions of the robot.

In the approaches presented in literature, themethodologies are for specific systems. What we pro-pose is to extend the automatic design system to be ableto develop systems in a larger scope. That is, to be ableto design several kinds of systems by having differentrequirements capture procedures but sharing the sameautomatic design methodology.

The rest of this work is organized as follows: Sec-tion 2 is about different approaches that have been takenin modular system development and in automatic sys-

ROSSUM 2011 June 27-28, 2011 Xalapa, Ver., Mexico

72

Page 2: Important Issues in the Automatic Design of Modular ... · PDF fileImportant Issues in the Automatic Design of Modular Systems ... The automatic design of modular systems for robotics

tem design. In Section 3, we present the problem for-mulation and some important issues to take into accountin order to design modular systems for robotics and au-tomation tasks automatically. Three study cases are pre-sented in Section 4. They are proposed as a mean to val-idate our methodology by its implementation. Finally,in Section 5, preliminary conclusions about this workare presented as well as our perspectives.

2. Automatic design of modular systems

2.1. Modular System Development

Modular system development enables us to obtainfamilies of products by combining standarized compo-nents. This is a research area where we need to usetechniques coming from system modeling, integrationanalysis and optimization problems [2].

The development of modules let us to design sys-tems exhibiting different capabilities, that are calledproduct variants. Some techniques make possible todevelop new products using a base of available re-sources. For example, the one-step QFD approach[3] analyzes customer requirements from several view-points (marketing, engineering design and manufactur-ing processes).

Automotive industry is one of the main consumersof this kind of methods. They are specially useful inthe design of electrical and electronic subsystems forautomobiles. There are initiatives to develop standardautomation processes. We can cite for example, AU-TOSAR [4], where the purpose is to produce standardsfor interfaces and module developments. The main goalof this initiative is to ease the development and han-dling of complex systems and to obtain flexibility andscalability features in the products developed using thismethodology.

Another approach has been to develop frameworksthat link different production activities to product hier-archies [5]. Another important trend in the automotiveindustry is to develop embedded systems using hard-ware and software to provide the cars with new func-tions in information and entertainment systems [6].

As scalability is one of the main features of mod-ular systems, we can develop modular systems in mi-crometric scales. MEMS (Micro Electro MechanicalSystems) can be considered as automation modules ata micrometric scale: They provide flexibility to the sys-tems where they are implemented and they help to re-duce the software development costs. This kind of sys-tems add another perspective to develop modular sys-tems because there are also studies on how to analyzeand to optimize the interconnections between MEMS

to implement their manufacturing [7].

2.2. Automatic System Design

The automatic system design process enables us tocreate complex devices according to a set of requiredfeatures. In the case of MEMS, Kamalian et al. [8] havedeveloped a set of tools for the purpose of automaticsynthesis.

There is a need of decomposition techniques to de-termine what are the modules best suited for a spe-cific product, Chun-Che and Kusiak [9] present a for-mal technique to build modules even if the specificationprovided is not complete. Browning [10] reviews twovariants of a decomposition and integration techniquecalled DSM (Design Structure Matrix) and concludesthat it is a simple, compact and visual representationuseful for the design of complex systems.

In a similar way, there are also methods for thedesign of modules and entire systems that use as theoptimization criteria to satisfy functional requirementsand the cost of development [11]. System design isproposed as an optimization problem where we searchto increase the overall advantages of the designed sys-tem whilst satisfying all the constraints imposed, bothat module level and at an overall system level.

The automatic design of modular systems forrobotics and automation requires of strategies for devel-oping intelligence-based processes. Davidor [12] statesthat genetic algorithms provide enough flexibility to au-tomatically design robotic systems, specifically in theidentification of complex interactions and in the devel-opment of remote control mechanisms.

System requirements capture is of capital impor-tance for the automatic design of systems. Hat-ley/Pirbhai theory is used to model the system require-ments by establishing the interaction between availablefunctions in an incidence matrix that determines the in-terfaces to be developed. Rushton et al. [2] propose aclassification algorithm to identify groups of functionsthat are used as the basis of the module development.

An important issue to be addressed in system re-quirements is how to handle temporal issues. That isspecially important when we want to design real timesystems. Bucci et al. [13] present a survey on the toolsused for the specification of real time systems coveringthe last twenty years. How to deal with event synchro-nization and delays, specifically in closed-loop systemsis a very important issue for real time systems. Torn-gren [14] provides a set of requirements useful in thespecification of real time control systems

Field Programmable Gate Arrays (FPGAs) havebeen proposed by Pellizzoni and Caccamo [15] as a

ROSSUM 2011 June 27-28, 2011 Xalapa, Ver., Mexico

73

Page 3: Important Issues in the Automatic Design of Modular ... · PDF fileImportant Issues in the Automatic Design of Modular Systems ... The automatic design of modular systems for robotics

very useful platform to develop embedded systems be-cause they enable a simple migration from software tohardware and viceversa. FPGAs are considered as ahigh potential implementation platform both for the de-sign of modular systems and for the automatic designproblem.

3. Our approach to the automatic designproblem

3.1. Problem formulation

The main objective is to identify the key issues todevelop a system that allows us to design automaticallysystems of high complexity from a library of availablemodules. We must design a generic requirements cap-ture strategy by identifying the common properties ofrequirements. From this analysis, we will be able to de-velop a generic requirement library to the user. The usercould then design a system by instantiating the require-ments to specific arguments.

The automatic design system will link require-ments to functionalities provided by the generic mod-ules available in a module repository. Through a deci-sion making process, the system will output a specifica-tion for the implementation of the system that best sat-isfies the user requirements. That includes also the in-terconnections and in the general case, the interactionsbetween modules. In the case of hardware modules, thesystem will also provide the scripts or programs to beloaded in each module.

Our approach for the optimization process willinclude evolutionary computation techniques to deter-mine the optimal system according to the specified ob-jective function used as optimization criteria and satis-fying the system constraints.

The automatic design system will be validated bydeveloping a simulator to emulate the behavior of thesystem before a physical implementation.

3.2. Main steps in our work

The entire system will be developed by fulfilling aseries of stages that have to be implemented in order toachieve its full functionality:

• To develop an automatic optimization system forsystem design based on requirements. The opti-mization problem will be addressed by using ar-tificial intelligence tools. Specifically we are in-terested in using evolutionary computation whichhave to provide the best sequence of primitives orinstructions that need to be executed in order to

achieve the desired task.

• To develop a methodology that uses formal tech-niques for the system description based on themodule and its interactions. SysML[16] will al-low us to describe a system in a formal and stan-dard form. Once the steps of the system are iden-tified, there will be a corresponding primitive foreach type of interaction or requirement.

• To develop system simulation tools in order to ver-ify automatically if user requirements are fulfilled.Before the proposal solution is implemented it isimportant to test it. Simulation tools will dependof the the specific problem. In some cases a graph-ical simulator will be enough. In others, physicalprototypes could be needed.

3.3. Qualitative analysis of systems in view ofan automated design process

After analyzing some systems we are able to iden-tify some important aspects that will give us informa-tion about the feasibility of a specific system. Some ofthese aspects are:

Specification It refers to how difficult is the require-ments capture for a system. There will be somesystems which can be described with very generalprimitives, but in other cases more specific primi-tives will be needed. Since we will propose a cata-logue with different generic requirements, the sys-tem have to be described in terms of the catalogue.

Analysis This item refers to the difficulties in decou-pling user requirements. For very complex sys-tems, there will be a need of working with multi-disciplinary teams. That is, we need to identify therole of knowledge in the system to be designed. Inthe case studies presented below, we restrict to theknowledge in our team because we are in a prelim-inary phase of development.

Design This aspect includes all the available resources,both logical components and physical devices aswell as the feasibility to include other systems:hardware, software, different type of componentsor even the number of them. It includes also toanalyze reconfigurability and reusability issues.

Development It refers to the development time, devel-opment cost, techniques tools and methodologiesand their availability.

Implementation In order to be testable the system, itis necessary to implement it or simulate it. In some

ROSSUM 2011 June 27-28, 2011 Xalapa, Ver., Mexico

74

Page 4: Important Issues in the Automatic Design of Modular ... · PDF fileImportant Issues in the Automatic Design of Modular Systems ... The automatic design of modular systems for robotics

systems, it is easy to get some tools to build a pro-totype of it and to test it experimentally. In othersystems is easier to develop a simulator or to useanother one previously developed. In some othercases, none of these options are available, and thatneeds to be considered in the evaluation of the sys-tems in view of its automatic design.

Testing In all systems, it is necessary to have groundtruth data and a protocol to evaluate its perfor-mance. However, sometimes this is not possibleor it is difficult to get ground truth data. We haveto consider the difficulty to test the systems beforeits development.

Operation/Deployment We are only interested in sys-tems with real applications. Even if theoreticalsystems can be developed, if they can not be usedin a real scope, they will not be useful for testingthe methodology.

Maintenance It refers to how easy is to check or mod-ify the system in the case where it needs to bescaled up or down-scaled.

4. Case studies for the automation of thesystem design process

Table 1 presents a comparison of three systems be-ing evaluated with respect to the automated design fea-tures analyzed in Section 3.3. System 1 is an opticalfiber manipulator. System 2 refers to an ambience in-telligence system and System 3 is a FPGA-based sys-tem. These systems has been chosen to demonstrate thescope of our methodology.

After the analysis of the systems, we can identifysome generic requirements, functions and primitivesthat could be useful in a system for automated design.For example, in the case of the optical fiber manipula-tor, we can identify functions as holding or releasing thefiber, to provoke linear or rotational motion in the fiber,or to follow a given geometric primitive for the motionof the point being handled on the fiber. In the case ofambience intelligence system, we could have primitiveslike focus a specific camera, motion detection, turn onalarm, activity recognition and so on. Finally, for theFPGA system, we can include functions useful for digi-tal systems both combinational and sequential, like add,add with carry, subtraction, increment, etc.

5. Conclusions and perspectives

In this paper, we have identified the main issuesneeded to develop a system to design automatically

modular systems. We have explained the main aspectsto be reviewed in order to extend the scope of such anautomated design system with respect to others alreadypresented in the literature.

We have also analyzed three study cases with re-spect to the qualitative features involved by the auto-matic design process in order to demonstrate its feasi-bility. Based on the analysis of these systems, we haveproposed some functions that will be included in thedifferent repositories of the automated system designer.

Next steps in our work will include to proposea protocol for the requirement capture. Formal tech-niques for systems modeling like SysML are a good op-tion to specify the requirement because it is an acceptedindustry standard. Given that versatility is needed insystem specification, SysML enables us to describe asystem with different types of diagrams. We will ex-plore the use of genetic algorithms to generate the inter-actions between the possible function based on the con-straints imposed by the user requirements. Due to thegreat number of feasible combinations to implement theinteractions, genetic algorithms are a good alternativebecause its capability of finding optimal interactions ina short time. Some other evolutionary techniques couldalso be explored.

References

[1] P. B. Alvarado-Velazco and V. Ayala-Ramirez,“Methodology for modular automation system de-sign,” in 21st International Conference on ElectricalCommunications and Computers, 2011, p. 50.

[2] G. Rushton, A. Zakarian, and T. Grigoryan, “Modulardesign approach for development of electrical , elec-tronic , and software system architectures for multipleproduct platforms,” in 13th Annual International Sym-posium Proceedings, 2003, pp. 517–527.

[3] K. Tseng and C. Chin-Hsing, “A novel systematic ap-proach for product variant design using one-step qual-ity function deployment,” in 11th IEEE InternationalConference on Computer-Aided Design and ComputerGraphics, 2009, pp. 552–556.

[4] H. Heinecke, K.-P. Schnelle, J. Bortolazzi, L. Lundh,J. Leflour, J.-L. Mate, K. Nishikawa, and T. Sharnhorst,“Automotive open system architecture - an industry-wide initiative to manage the complexity of emergingautomotive e/e-architectures,” Convergence Transporta-tion Electronics Association, 2004.

[5] A. Takeishi and T. Fujimoto, “Modularization in the autoindustry: interlinked multiple hierarchies of product,production and supplier systems,” International Jour-nal of Automotive Technology and Management, vol. 1,no. 4, pp. 379–396, 2001.

[6] M. Broy, “Automotive software and systems engineer-ing,” in Third ACM and IEEE International Conference

ROSSUM 2011 June 27-28, 2011 Xalapa, Ver., Mexico

75

Page 5: Important Issues in the Automatic Design of Modular ... · PDF fileImportant Issues in the Automatic Design of Modular Systems ... The automatic design of modular systems for robotics

Issue System 1 System 2 System 3

Specification

Requirements cap-ture in the sameform as the forthe Cartesian robotprototype previouslyimplemented.

Very specific primi-tives are required.More complex re-quirements can berequested.

Very specific prim-itives are necessaryfor FPGAs.

AnalysisKnowledge aboutDC motors is avail-able.

It is necessary tostudy camera proto-col.Knowledge aboutcomputer vision isrequired.

Design platform isavailable.

DesignModules are alreadydeveloped.

It is necessary tocreate different mod-ules.The design is focusedon the interactionsbetween modules.

Development fromscratch of all mod-ules.

Development

Available time is tooshort to develop thecomplete system.It is easy to build aprototype.

Physical design is notrequired.

To study how gener-ate the scripts.

Implementation

Can be improved in-cluding encoders.Simulator tool is al-ready available.

It is easy to includecomputer vision al-gorithms.

It is necessary tostudy how to imple-ment the modules inFPGA.

Testing

We have tested Mo-tor modules.It is easy to obtain theground truth for ex-periments.

We need to develop anew protocol testing.

It is easy to simulate.Physical design is notrequired.

Operation/ Deploy-ment

It is possible to de-velop many applica-tions by changing fi-nal effector.

It can be applied insurveillance systems.

It can be used to cre-ate more specific op-erations.

Maintenance Easy to include simi-lar modules.

Possibility of inclu-sion of additionalhardware modules.

Only software main-tenance is required.It is difficult to mod-ify a FPGA alreadyimplemented.

Table 1. A comparison of the items determining the feasibility of automatic design for three systems.

ROSSUM 2011 June 27-28, 2011 Xalapa, Ver., Mexico

76

Page 6: Important Issues in the Automatic Design of Modular ... · PDF fileImportant Issues in the Automatic Design of Modular Systems ... The automatic design of modular systems for robotics

on Formal Methods and Models for Co-Design, 2005,pp. 143–149.

[7] O. Nagler, M. Trost, B. Hillerich, and F. Kozlowski, “Ef-ficient design and optimization of mems by integratingcommercial simulation tools,” in International Confer-ence on Solid State Sensors and Actuators, vol. 2, 1997,pp. 1055–1058.

[8] R. Kamalian, H. Takagi, and A. M. Agogino, “Opti-mized design of mems by evolutionary multi-objectiveoptimization with interactive evolutionary computa-tion,” Genetic and Evolutionary Computation, vol.3103/2004, 2004.

[9] H. Chun-Che and A. Kusiak, “Modularity in design ofproducts and systems,” IEEE Transactions on Systems,Man and Cybernetics, Part A: Systems and Humans,vol. 28, no. 1, pp. 66–67, 1998.

[10] T. R. Browning, “Applying the design structure matrixto system decomposition and integration problems: a re-view and new directions,” IEEE Transactions on Engi-neering Management, vol. 48, no. 3, pp. 292–306, 2001.

[11] J. P. Gonzalez-Zugasti, K. N. Otto, and J. D. Baker, “Amethod for architecting product platforms,” Research inEngineering Design, vol. 12, no. 2, pp. 61–72, 2000.

[12] Y. Davidor, Genetic algorithms and robotics: a heuristicstrategy for optimization. World Scientific PublishingCo.Pte. Ltd, 1991, vol. 1.

[13] G. Bucci, M. Campanai, and P. Nesi, “Tools for speci-fying real-time systems,” Real Time Systems, vol. 8, no.2-3, pp. 117–172, 1995.

[14] M. Torngren, “Fundamentals of implementing real-timecontrol applications in distributed computer systems,”Real-time Systems, vol. 14, no. 3, pp. 219–250, 1998.

[15] R. Pellizzoni and M. Caccamo, “Adaptive allocation ofsoftware and hardware real-time tasks for fpga-basedembedded systems,” in Proceedings of the 12th IEEEReal-Time and Embedded Technology and ApplicationsSymposium, 2006, pp. 208–220.

[16] OMG, “SysML Open Source Specification Project,”www.sysml.org, Marzo 2011.

ROSSUM 2011 June 27-28, 2011 Xalapa, Ver., Mexico

77