Tr 00088

Page 1

IDL - International Digital Library Of Technology & Research Volume 1, Issue 5, Mar 2017

Available at: www.dbpublications.org

International e-Journal For Technology And Research-2017

Subscription based control system to automate management of events for robots Shruthi S dept. of Computer Science and Engineering CMRIT Bangalore, India e-mail : deepikaelectric@gmail.com

Abstract— In Industrial Robots, a human machine interfaces (HMI) provide means to command and control robots for various purposes. Generally, this is implemented in a reactive manner by using polling (or pull) methodology to manage the events. This methodology restricts the possibilities of automation for reacting to events thus requires a human operator to poll and react to the events based on the skill of the human operator. This sometimes causes non-optimal or wrong responses. This paper proposes a design methodology to dynamically tap the events using a subscription based control system for event based management of robots. This design enables the client to be light-weight, cost effective and makes the responses more reliable. The paper also scrutinizes the alternative design options using semantic web for multirobot coordinative activities. Keywordssubscription

Human Machine

I.

Interface

(HMI);

The prevailing operating framework use polling methodology to receive the events. Requirements for such HMI systems vary considerably depending on the application. Various different types of clients (REST, HMI devices, touchscreen control systems, laptops, desktop PCs, etc.,) provide userfriendly interfaces and generally very familiar to users.

polling;

INTRODUCTION

Robots play a pivotal role in improving the quality of the work in a shorter time period by optimizing the costs and quality yielding success. An industrial robot is a mechanical system with a robot manipulator and a controller. It is an intelligent agent that perceive inputs from the percepts and send back the response actions through actuators. The behavior of the robot agent is specified through agent function, which maps the percepts to the response actions. Designing an interface to a live robot agent is a complex engineering process, hence online programming is used widely in product development industries to mimic the actual hardware. II.

and client essentially is any device which connects to server through the set of APIs forming a full fledged Web Service. These services can be operated via various clients. Multiple bots can be manipulated by a single controller.

EXISTING SYSTEM

The communication between client and server is witnessed based on a specified analytic model, programmed in the software. The server being Robot controller(Real/Virtual)

IDL - International Digital Library

The Model View Controller architecture isolates the Business logic, HMI display and context based control from each other to synchronously interact with each other. 1. View Component including the Icons, menu structure and the key handlers. 2. Model component include analytic/domain knowledge for each context selected through keypress which corresponds its specific command.

1|P a g e

Copyright@IDL-2017


IDL - International Digital Library Of Technology & Research Volume 1, Issue 5, Mar 2017

Available at: www.dbpublications.org

International e-Journal For Technology And Research-2017 3. Robot Controller(Real/Virtual)- Server Module which responds to the command requested by Client HMI. Pitfall associated with polling method is, dynamic response cannot be expected for any event at server. Communication API : The reliable communication is ensured by, HTTP, the Application layer protocol which is placed over TCP/IP layered architecture. Server : Hosted on a particular port configured and listens to the client requests. The server module internally implements message passing and parsing in the stub which receives the client requests and de-serialize the message, un- marshall it and dispatch the message to the appropriate control module. Clients : Real /Virtual manipulator stubs, which conceal the code for compiling and linking(locating the server, formatting the command, communicating to server module, wait and receive the response from server).

Current design of the system is command based. On demand basis client has to request (send a command GET) to the server to retrieve/poll for any response. In long polling technique, the client wait for a predefined time to hear from the server. The reflex action for any request is completely deterministic, based on the case specific analytics defined for the system. III.

PROPOSED SYSTEM DESIGN

The envisaged system proposes a subscription based system developed using websocket which provide client effective, less expensive and hastlyfree access. The new design is similar to existing functionalities, but capable of controlling the robot with light weight design. The concepts which are already existing in the system is effectively utilized/reused to suit the requirements of the current work.

Subscription Sequence Command Based Polling

Communication API: HTTP based on architectural style REST providing reliable communication Client : Send the request through client stub with websocket connection. Server : Send the response through server stub over websocket connection. Server Response Representation : Web Services supports two type of representation: XML and JSON. XML is the default representation. All resources in Web Services follow the same pattern. When returning XML, the XML is in accordance with the XHTML syntax, which uses the XHTML elements.

Command Based Long Polling

IDL - International Digital Library

Subscriptions : A client should first create a subscription by specifying the resources of interest via HTTP POST request. Once the subscription is created, the client can establish a web socket connection to receive updates on the subscribed

2|P a g e

Copyright@IDL-2017


IDL - International Digital Library Of Technology & Research Volume 1, Issue 5, Mar 2017

Available at: www.dbpublications.org

International e-Journal For Technology And Research-2017 resources.

with python version above 3 (3.4 and 3.5 used for current testing). The server side socket should include and support the websocket module which can be downloaded from [8] (The server compatible to the client version). The installation steps can be referred from [9] using pip. Essentially the controller component contains the server websocket enabler modules. The client implementation vary depending on the requirement and technology used for development.

The above diagram is the Subscription Based System proposed. The service on a query will be responded by server over the architectural style REST. The structured components of the system makes the system itself well or organized. The subscription module opens up bidirectional connection from HMI client to the Controller and break down if either one is not functioning. Connecting software with hardware can be solved by using industry standard APIs and SDKs through which the windows program communicates with industrial hardware devices. Proprietary tools are used for the virtual system creation. IV. IMPLEMENTATION TECHNIQUE The server listen to clients on a standard port (say port 80 for http requests). Client sends a POST command to server specifying the resources for which it expects the automatic response. The RESTful client can send request through the browser using the application layer HTTP protocol. The fundamental elements of HTTP protocol are the HTTP verbs GET,POST,PUT,DELETE. Thus Controller return response back through these verbs in XML or JSON format. For a new HMI client to utilize the websocket module, upgradation of socket type is essential. The resources for which subscription is an asynchronous request from client where progress of the event is continuously monitored by an explicit GET request from client. Thus, for the above set up HTTP protocol maintains session information through the cookies. The cookies preserve the <name, value> pair over multiple Http requests. The proposed implementation stores the sessionId information in the cookie (instead of the entire information) and through that ID, retrieves the information from server. A spike solution can be found at [5]. A sample REST client can be downloaded from [6] and used as the reference for debugging. A full-fledged python client can be downloaded from [7] by following the steps mentioned. It is to be noted that websocket module can work

IDL - International Digital Library

One solution is to use Directly the client libraries like POCO C++ Libraries that can be sourced and used from opensource for C++ development [10]. It is a foundation library which builds an abstraction layer containing huge utility classes and stream classes. These libraries can either be built from the command line or visual studio .net. Advantage of using the library is that it is easy to develop and time to market value is high if used in product development. The pitfall is that it makes the design more complex and its heavy in terms of memory if a small feature has to be used for any light weight client. Another alternative is to use a light weight library at client side supporting the websocket like "libwebsockets C library" sourced from [11]. Advantage is the light weight library can be used for light weight client development with a minimal development time. Once the client and server spike solutions are ready, implement the best possible alternative by enhancing the existing model to websocket based framework. V. FUTURE EXTENSION The subscription model can be appended with the semantic web concept which can be used for coordinated and collaborated actions of robot. The knowledge learning systems like RoboDB gathers response actions from various robots. And the same knowledge base can be integrated with the current framework at the server end (central server for numerous clients) [1]. In a multi robot operating environment [4], the task is distributed among various robots and by executing the task executed by each robot, the entire action can be executed as a whole. The co-ordination among the robots can be established by event based actions controlled at server end. When robot 1 completes its assigned task invokes a command and the robot which would have subscribed for the robot 1' s completion, will kick start automatically when the corresponding event/flag is signaled. Similarly, after robot 2 completes, signals the successive collaborative actions which are controlled using the Semantic Web Service Ontologies. These Semantic web service combines processes from one or more robots thus automating multiple programs/processes to work in a collaborative fashion.

3|P a g e

Copyright@IDL-2017


IDL - International Digital Library Of Technology & Research Volume 1, Issue 5, Mar 2017

Available at: www.dbpublications.org

International e-Journal For Technology And Research-2017 VI.

CONCLUSION

The project finds its importance if it gets implemented for the industrial robots which are currently getting operated with polling functionality. The proposed module would provide organizational success by being light weight HMI for controlling the robot. The design considerations make the system extensible and reuse the existing code and making the design cost effective. ACKNOWLEDGMENT I am highly indebted to my Mentor and Project guide, Principal and Professor, Computer Science and Engineering of CMRIT, Mr. Sanjay Chitnis , Ph.D. (IISc) for their constant guidance and supervision as well as for providing necessary information regarding the work undertaken.

IDL - International Digital Library

REFERENCES Alex Juarez, Jun Hu, and Loe Feijs “RoboDB: an application of Semantic Web Technologies to robotics [2] David Obdrzalek on Usage of real-world robotics in Semantic Web. [3] Zhengjie Fan1, Elisa Tosello2, Michele Palmia3, and Enrico Pagello2 on , “Applying Semantic Web Technologies to Multi-Robot Coordination” [4] Yuichiro Mori, Yuhei Ogawa, Akatsuki Hikawa, and Takahira Yamaguchi on , “Multi-robot Coordination Based on Ontologies and Semantic Web Service” [5] https://docs.python.org/2/library/cookie.html [6] https://github.com/wiztools/rest-client [7] https://pypi.python.org/pypi/websocket-client [8] https://pypi.python.org/pypi/websocket-server/0.4 [9] https://wiki.python.org/moin/CheeseShopTutorial [10] https://pocoproject.org/ [11] https://libwebsockets.org/lws-api-doc-master [1]

4|P a g e

Copyright@IDL-2017


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.