A Semantic Web Services Driven Application on ... - IEEE Xplore

8 downloads 85405 Views 494KB Size Report
Services and Robotics. We first present briefly semantic web and web services, then describe the robotics development and their current limitation. Then, the.
A Semantic Web Services Driven Application on Humanoid Robots 1

1

2

Laurentiu Vasiliu , Brahmananda Sakpota , Hong-Gee Kim 1

Digital Enterprise Research Institute, National University of Ireland Galway, Ireland [email protected] [email protected] 2

Digital Enterprise Research Institute, Seoul National University 28 Yeongun-dong, Jongno-gu, Seoul 110-749, Korea [email protected]

Abstract Nowadays, interdisciplinary applications are gaining more and more importance due to the complex needs of modern industrial and scientific applications. In this paper we introduce a first combined application of two different domains that are Semantic Web Services and Robotics. We first present briefly semantic web and web services, then describe the robotics development and their current limitation. Then, the paper’s core describes how semantic web and web services can be applied on robotics in order to facilitate cooperation between robots for joint tasks execution. Finally future work is described to show the next steps to be followed in the directions described in this paper.

1. Introduction This paper provides an insight into new SWS enabled robotics applications and also to define a framework and model of SWS implementation for mobile and industrial robotics applications. Until now robots worked more or less in isolation. By implementing SWS on top of them, within a network perspective, robots (mobile or fix) can be regarded as distributed web services that communicate between them semantically, sharing vital data between them and towards their coordination centres, while they interpret sent and received messages in a semantic manner. The vision is to achieve real time control and dialogue between robots along their networks in order

to have a strict coordination of timing and execution as well as to allow advanced real-time task reconfigurations for new tasks assignment, failure compensation and execution optimisation. Also, when considered industrial robotics application, data sharing between organisations is aimed to be reached at robotmachine level, in order to allow atomic operations to be described, parameters communicated and readjustments done in real time.

2. Semantic Web and Web Services The next step enhancement in current Web technology is Semantic Web. It makes data published on the Web machine understandable. Its use increases the modularity of the data on the Web. It has been built on syntaxes that use Universal Resource Identifiers (URIs) to represent data in the form of Triples as defined in RDF (Resource Description Framework). An URI is a web identifier and a Triple can be described by using a set of three URIs. Since the data is described in a clear way with universally unique identifier, there will be no data ambiguity and machines can easily understand the meaning of data presented on the web. Such data can dynamically be linked with the help of ontologies. The need of enterprise application integration and interoperability between distributed environments initiated both the research and industrial consortia to investigate new technological paradigm. Web Services technology was emerged intending to be a dominant paradigm by addressing integration and interoperability

Proceedings of the Fourth IEEE Workshop on Software Technologies for Future Embedded and Ubiquitous Systems and Second International Workshop on Collaborative Computing, Integration, and Assurance (SEUS-WCCIA’06) 0-7695-2560-1/06 $20.00 © 2006

IEEE

problems in distributed environments. It provides a means for expressing data in a machine-accessible form. However, it is completely unaware of the potential provided by the Semantic Web and is fully static. This means that machine under integration can not understand the data they exchange. In its current form, Web Services can not automate the systems and dynamic service discovery is difficult. In order to provide automation, dynamic discovery and mediation between distributed environment making systems more interoperable combination of both Semantic Web and Web Services is inevitable. This combination enables machines to access and understand the data provided exchanged between parties transforming static Web Services to dynamic Semantic Web Services. Initiatives such as WSMO [wsmo ref][6], WSMX [wsmx ref], OWL [owl ref][5], and Meteor-S [meteor-s ref][4] have already been taking place to bring Semantic Web Services towards business and industrial applications. In particular, WSMX (Web Service Modelling eXecution Environment) will be used in this paper as semantic web service execution environment reference for cooperative robotics application. WSMX architecture is presented next in order to provide an overview over its main features. Its structure is fully described at http://www.wsmx.org IRS platform is also mentioned but they do not have a public architecture like WSMX.

robotic applications have been widely implemented in manufacturing applications. Their implementation had been consolidated since late 1970’s until late 1990’s. During this period of time, robotics design has been focused on both electro-mechanical and robotics driving software. While the electromechanical design has reached somehow its development limits - most of basic electro-mechanical problems being solved until now, the software component for driving robots is still at the dawn of its potential. In order to drive more complex work patterns and interactions between working robots, to provide adaptive and learning features (towards artificial intelligence behaviour), new software capabilities are needed. Up to now, the robots controllers’ software was designed only for driving the robots’ applications and eventually for real time surveillance of robots’ parameters and faulty behaviours.

Figure 2 ABB family of robots

Figure 1 SWS platform - WSMX architecture

2. Robotised applications: Industrial and Mobile Robots In this section we introduce the robotics in which SWS applications can play a major part for robotics data communication, command and control. Until now,

Apart of the industrial robots there is a new category of robots for non-industrial applications that is rapidly growing as development and interest. At the forefront of mobile robots last developments is the ASIMO robot developed by HONDA[1][2]. Unlike the industrial robots whose functions are completed and whose behaviours are predetermined, mobile robots are autonomous in the sense that they need only limited interaction with human and are intelligent in the sense that they sense and react to their environments. Intelligent mobile robots usually perform more complex communicative actions with other robots and are used for the wider range of services. The communication and information sharing mechanisms among intelligent robots require the standardization at

Proceedings of the Fourth IEEE Workshop on Software Technologies for Future Embedded and Ubiquitous Systems and Second International Workshop on Collaborative Computing, Integration, and Assurance (SEUS-WCCIA’06) 0-7695-2560-1/06 $20.00 © 2006

IEEE

the level of robot architecture. The semantic interoperability issue is very important in making a standard network platform that facilitates sharing of knowledge to realize an intelligent multi-robot community.

Figure 3 Mobile humanoid robot ASIMO in various views

3. SWS platform implementation on mobile humanoid robots : a case study First we are introducing some technical considerations within which such an application works. As all joints and articulations of mobile robots are driven by electric engine, each electric engine inside a robot is to be connected to a web service, from where it receives its commands. Inside the web service the engine controller software that transforms the received

Proceedings of the Fourth IEEE Workshop on Software Technologies for Future Embedded and Ubiquitous Systems and Second International Workshop on Collaborative Computing, Integration, and Assurance (SEUS-WCCIA’06) 0-7695-2560-1/06 $20.00 © 2006

IEEE

software inputs into electric commands directly to the engine is wrapped. We consider the case of executing a cooperative application with humanoid robots. Our proposed application can be fitted on any humanoid robots that are using Pentium driven controllers. Thus, the Semantic Web Services Peer-to-Peer designed platform has to be implemented on the robots’ controllers to provide the needed support for dialogue and coordination between the robots. Let’s consider the task where a group of ten robots (Robot Humanoid 1 – (RH1),…RH10) receive an assignment to move a steel cube that weights 80 kg with a 50 cm side, from the position A( x, y, z) to the position B (x+k, y+l, z+m), where A is considered the center of the cube. All robots are linked in a wireless network within a P2P structure. Each of them has within its controller (computer) a Semantic Web Services platform (in our case WSMX) that acts as nodes in the network. RH5 is considered the coordinator robot and so its SWS platform acts like a hyper node in the network. The hyper node robot receives from the human user the generic goal in WSML of moving the cube from point A to point B. The robot (SWS platform - WSMX) needs to evaluate the request, decide how many robots are needed to execute such a task and identify the closest ones to the object that are able to execute the task in an economic and efficient way. The received generic goal is received in WSML language. The goal describes the nature of the request and the constraints (axioms) that has to be taken into consideration when executing it. The goal is decomposed by the SWS platform into sub-goals based on key feature described into goal as weight and shape. In our case, the hyper node robot reasons (based on the information received in the goal and axioms) that out of ten available robots in its own network only 2 robots are needed to fulfill the goal. Further, the hyper node robot reasons (based on their last transmitted coordinates in the P2P network) the robots RH07 and RH09 are the ones closest to point A. The next step the hyper node robot is doing is to decompose the received goal in 2 sub-goals that are transmitted to RH07 and RH09. RH07 and RH09 receive the sub-goals in also in WSML format. Then, they match the received goal with the movement capabilities they have pre-defined in their repositories. The predefined movement capabilities are themselves composite capabilities of independent web services that drive main engines inside the robots. Each web service (responsible for one engine) has registered in the global

repository the possible movements/actions it can perform (allowed degrees of rotation and available engine rotations speeds). These simple capabilities are aggregated at a higher level into composite capabilities by the help of a well defined orchestration (composition) workflow. The composite capabilities represent complex movements of the robot by combining the simple movements of individual engines. Once the sub-goal received by each individual robot is mapped on available complex movement capabilities, the two robots acknowledge the supernode robot in regard of the positive execution capability and then proceed to the execution of the subgoals. The sub-goals are decomposed in simple goals at the level of each engine. Then each web service command each engine to move an exact number of rotations, as in the end the composite movements to lead the robots in the position ready to lift the cube, lift the cube from point A and put it down in point be as requested. Once the task is done, a fulfillment acknowledgement is sent to the hyper-node robot that passes further to the user the final acknowledgement. It has to be mention that in case of fast applications, the engines can be driven hard-wired (as it happens now in the existing robots) while the SWS application deals only with high level decision and big tasks distribution. Figure 4 depicts how goals are received from the super-node robot, decomposed into sub-goals and then is re-distributed in simple goals to the web services that resides in each robot and are responsible for driving all electrical engines.

Proceedings of the Fourth IEEE Workshop on Software Technologies for Future Embedded and Ubiquitous Systems and Second International Workshop on Collaborative Computing, Integration, and Assurance (SEUS-WCCIA’06) 0-7695-2560-1/06 $20.00 © 2006

IEEE

Next Figure 6 shows how robots are organized in hyper-nodes and simple nodes. In this figure we visualize only the semantic web services platforms that are wireless interlinked. The robots can be spread in any formation in the field while the network structure remains the same.

Robot Humanoid7(RH7) Robot Humanoid9(RH9) Figure 4 goal decomposition for each individual robot The following figure 4 describes an individual web service that encapsulates the engine command and presents the visible choreography (message exchange pattern that allows communication with WSMX SWS platform)

Figure 5 A Web Service with engine command and choreography

Figure 6 Semantic Web Services peer-to-peer connectivity using 2 different SWS platforms: WSMX and IRS3[3] In regard of technical execution details to “pick and move object from A to B” we have chosen an example made of following movements (goals): ‘pick object’ = ‘move to object in position’ + ‘grab object’ + ‘raise object + move object from A to B’ + ‘put down object’ + ‘release object’ + ‘wait’. Here we use as theoretical example for our application the humanoid robot ASIMO produced by Honda. According with Honda public fact sheet, ASIMO robot has 26 servomotors, can operate with its own battery for 30 minutes, has artificial vision, and is controlled by a wireless laptop. These data is critical for our proposed approach as with these details we know how many web services we need to control (total of 26 for each robot), we know that relative 3D coordinates of robots and the targeted object can be determined by the help of the artificial vision and also the fact that ASIMO is driven by a normal computer (laptop) for its full actions. From the implementation point of view, in regard of hardware specification for driving ASIMO, it is needed a Pentium IV 1GbRam wireless laptop, with java virtual machine and Tomcat server installed and

Proceedings of the Fourth IEEE Workshop on Software Technologies for Future Embedded and Ubiquitous Systems and Second International Workshop on Collaborative Computing, Integration, and Assurance (SEUS-WCCIA’06) 0-7695-2560-1/06 $20.00 © 2006

IEEE

running on it. Furthermore, WSMX will have to be installed and running and also 26 web services on the Tomcat server, web services that are responsible of commanding these servomotors. WSMX will be responsible for invoking and composing the 26 web services in a dynamical manner in order to obtain composite movements necessary to reach the object, apprehend it, move it from position A to position B and drop it on position B. In order to prepare the WSMX for receive a complex goal, each web service that describe each motor parameters and behaviour has to be registered with WSMX[8]. We propose the following parameters to be described in WSML for every engine: • engine ID • engine status (free/busy) • active angle ( 0 to 360) • maximum speed (rpm) • maximum acceleration These parameters will provide real time status that will allow WS composition to realize the movements. The following series of commands: ‘pick object’ = ‘move to object in position’ + ‘grab object’ + ‘raise object + move object from A to B’ + ‘put down object’ + ‘release object’ + ‘wait’ can be translated in WSML goals (following the examples described at www.wsmo.org). Then the robots (their server controllers) can be described again as web services capabilities in WSML[7]. Once a goal is send through the hyper node robot, it can be interpreted, decomposed and have discovered capabilities and robots able to fulfil them. In this way various applications can be executed dynamically avoiding specific hard-wired applications, allowing re-usage of the existing software and facilitating highly task reprogramming. We consider the major advantage of the proposed solution is represented by dynamic reprogramming for cooperative behaviour, eliminating robots hard-wiring for very specific tasks.

towards software integration and testing in robotics environment by help of robotics team for real life implementation of such application.

5. References [1] ABB Robotics http://www.abb.com/robotics [2] ASIMO robot http://www.21stcentury.co.uk/images/robotics/honda_asimo_ robot.jpg. , http://www.delos.fantascienza.com/imgbank/94/iorobot/asim o/e0_1986.jpg. [3] IRS2: Motta, E., Domingue, J., Cabral, L. and Gaspari, M. (2003) IRS-II: A Framework and Infrastructure for Semantic Web Services. 2nd International Semantic Web Conference (ISWC2003) 20-23 October 2003, Sundial Resort, Sanibel Island, Florida, USA [4] Meteor-S http://lsdis.cs.uga.edu/projects/meteor-s/ [5] OWL http://www.w3.org/TR/owl-features/ Resource Description Framework - http://www.w3.org/RDF/ [6] Web Service Modelling Ontology, WSMO, http://www.wsmo.org [7] Web Service Modelling Language, WSML, http://www.wsml.org [8] Web Service Modelling Execution Environment, WSMX: http://www.wsmx.org/

4. Summary and Future work In this paper we have reviewed briefly the Semantic Web and Web Services technologies as well as the current status in robotic applications. Further, we are proposing a Semantic Web Service solution for humanoid (and any mobile) robots to execute cooperative tasks. Further the solution is described together with the needed technology to implement it. In regard of future work, the next steps are envisaged

Proceedings of the Fourth IEEE Workshop on Software Technologies for Future Embedded and Ubiquitous Systems and Second International Workshop on Collaborative Computing, Integration, and Assurance (SEUS-WCCIA’06) 0-7695-2560-1/06 $20.00 © 2006

IEEE