THE DESIGN OF METHOD INTENDED FOR IMPLEMENTATION OF COLLABORATIVE ASSEMBLY TASKS

One of the main trends in industrial robotics is collaboration between human and robot. Collaboration is applied especially in the field of assembly tasks. The current automation technology is not at the level that could ensure demanding tasks. These tasks are often associated with actions requiring human skills. Many manufacturers of industrial robot offer a solution in a form of a collaborative robot. These robots represent new opportunities for industry. In order to further develop the area of collaborative robotics, it is necessary to look for new technologies. This article deals with design of method which is based on open source platform. The method is applied to solve a real assembly task.


INTRODUCTION
Collaborative robotics represents major trend in today's industrial robotics [11].Collaboration is needed mainly in the field of assembly operations and material handling.Especially it is needed in tasks where the standard methods of automation are associated with a complex and costly solutions [1].
Human-robot collaboration allows to combine the advantages of human senses and skills with the high performance of robots in terms of precision, speed and payload [5].The combination of these features allows to effectively solve many complicated tasks.For performing humanrobot collaboration it is necessary to create workplaces that are adapted for implementation of collaborative operations [12].The proposals of collaborative workspaces are mostly associated with selection of a control system and creation of a control programs whith use of corresponding algorithms [18].Often it is connected with a solution of kinematic tasks and design of a new procedures [20,3].The design of collaborative workplace can be speeded up by using different types of specialized software.There are complex CAD/CAE systems used and also various expert systems [7,6,8].It is also possible to use various open source solutions.The use of open source software enables more efficient design of the method.The main reason for this decision was the possibility to draw on a wide range of existing program packages often used in the field of robotic.These packages integrate the knowledge of a robot controlling, computer vision, collision states solutions, etc [15].During design of collaborative task it is also neccessary to respect the safety conditions.Human safety is the main criterion in the design of collaborative robots [13].The recommended operating parameters of industrial robot intended for human-robot collaboration are set out by the International Standards [12].
This article introduced new possibilities in solving the tasks related to collaboration between human and robot.It presents the main advantages of implemented open source system which are applicability and expandability.

RELATED WORK
The development of new technologies for human robot collaboration is the subject of many research projects.A design of a collaborative system for human-robot interaction in automotive door assembly task is presented in works published in connection with the project CHARM.Human performed main assembly operation is sensing via vision system.Package of computer programs capture the human position and movement of human limbs.The program works on specially designed algorithm that evaluates the current state of a human positiion.Industrial robot arm action is then subsequently controlled by the program.This makes the robot able to assist a human at work and gives him the required parts [22,10,4].Collaborative assembly of a homokinetic joint is described in Cherubini.In this work are analysed important aspects related to human-robot collaboration.These include trajectory optimization, admittance control, visual gesture monitoring, collision detection, and safety conditions.From conducted experiments implies that collaborative assembly has a shortened cyclic time in comparsion to manual assembly [5].
Collaboration method based on a real-time tracking of human hand position is described by Wu.This method is intended primarily for the area of teleoperation.The employed RGB-D sensor collects data from the real environment and the control program evaluates it, resulting in plan to control movement of robot arm [21].Design of hybrid assembly cells is described by Tsarouchi.
To create this cell decision-making algorithm is used.Important part of the cell is RGB-D sensor, which recognizes human gestures.Entire system is controlled by Robot Operating System.The assembly of hydraulic pump in a collaboration of a human and two industrial robots is described in the mentioned work.The results confirm the benefits of using collaborative assembly in shortening of total time required for assembly [19].
Following above mentioned works, we decided to create our own solution for implementation of collaborative tasks.

Design of method
Our proposed method points to new possibilities for solving human-robot collaboration.The method is based on implementation of an open source software and the design of a home made control element for collaboration purposes.In this work the open-source platform ROS was used for development.This made it possible to combine existing program packages and tools with our own packages.
Program packages and tools from existing database were used to: • working with computer vision algorithms -OpenCV, • solving of robot motion planning, manipulating, collision states, etc. -MoveIt • solving the object recognition -Object Recognition Kitchen, • ensuring communication with used RGB-D sensor -Freenect and OpenNI, • other supporting packages and system tools.
New program packages were created in order to manage work of an end effector and a collaborative application controller.The exact description of functions of individual package within the system is shown in capture 3.1.
Support between ROS and industrial facilities is offered by project ROS-Industrial.This project covers activities related to extending advanced capabilities of ROS for industrial application [2,15].This allowed to establish basic communication with control system of selected industrial robot and control movement of the robot arm.This entails one of the advantages of the proposed method -applicability for various kinds of industrial robots.In the design of our method, we focused on the industrial robot Fanuc LRMate 200iC (see Fig. 1).Robot belongs to group of lightweight robots with serial kinematic structure.Primarily this robot is designed for applications of material handling and machine tending.The robot does not belong to group of collaborative robots.However, for purposes of design an experimental validation is not required any of collaborative functions used with collaborative robots.All neccessary collaborative functions are replaced within our proposed program packages.
Microsoft Kinect device was selected for recognition of components entering the assembly process.Microsoft Kinect is a low-cost device belongeing to RGB-D sensors primarily, and was intended for entertainment industry.In recent years, this device found wide success in the development of new applications, particularly in robotics.The device consists of infrared (IR) projector, IR-camera and an RGB camera (see Fig. 2).The main part of device is PrimeSense sensor.Ap-plied technology "Light Coding" based on active triangulation sensing method allows perceiving depth of sensed environment.The IR-projector emits a single beam that is split by the diffraction into multiple beams.Beams create constant pattern projected onto the sensed space.The pattern is captured by infrared camera and is correlated with a reference pattern stored in memory of the sensor.When the beams are projected on an object whose distance to the sensor is smaller or larger than that of the reference plane, the position of the speckle in the infrared image will be shifted in the direction of the baseline between the laser projector and the perspective centre of the infrared camera.These shifts are measured for all speckles by a simple image correlation procedure that yields a disparity image [14].Specification of this one is shown in Table .1

Structure of proposed system
Functional structure of collaborative robotized workplace is shown in Figure 3.The main part of structure is a control computer with ROS operating system.Communication with devices is provided through separate communication channels.Communication with industrial robot is carried out trough drivers included in package Fanuc provided by the project ROS Industrial.Communication is limited to an essential function Position Streaming.This function allows the streaming of the joint positions to the controller.Velocities of movements are fixed by the controller [17].For exchange information between industrial robot and control computer is used Socket Messaging (SM) protocol [16].
Communication with Kinect is provided by driver freenect.The driver allows receive RGB and Depth image data from device through USB bus [9].
As end effector for gripping objects is used pneumatic gripper SMC MHZ2 controlled by Arduino.Commands used for gripper control are coming from ROS. Arduino converts messages from ROS to signals which are sent to the robot digital input.Cross linking of digital inputs with robotic outputs allows control grip-  The main element of the system is Rviz visualizer.Rviz is integrated with MoveIt framework which provides important functions to control the robot within ROS.

Description of system function
Before launching the application, objects intended for assembly are captured from different perspectives by RGB camera.Acquired images of captured objects are stored in a database.Stored images are later used for purposes of object recognition.
A Human starts the collaboration task by pressing button 1 on application controller.The robot's arm leaves home position and goes into position to wait for picking object.By pressing the button to request to run application for object recognition is sent simultaneously.The image captured by Kinect is processed by functions from computer vision library.Images are analysed and compared with the images stored in database.If the system finds a match, it marks the object for picking.This allows the robot to grab desired object.The robot arm with gripped object then returns to collaborative workspace.Human perform the desired task and confirms completion by pressing button 2. Subsequently, the robot performs other required action.

APPLICATION OF THE METHOD TO THE REAL ASSEMBLY TASK
Proposed method was applied to real task of assembly process.Assembly process is performed on a model component shown in Figure 4a.This component consists of four parts.For a proper installation of components, the following steps should by perform.The first step is attachment of the base part -1.In the second step is in the base part inserted the inner part -2 and the distance ring -3.The final step is screwing of the top cap -4.
Until now, whole assembly of components was carried out by purpose-designed assembly unit and industrial robot.Entire assembly workplace is shown in Fig. 4b.Type groups of parts needed to assembly component are stored in individual gravity storages.Parts are dispatched from storages by bouncing systems.Purposedesigned assembly unit manipulates with parts and in appropriate order embeds them at the first mounting place.Embedded parts are moved by a linear pneumatic drive on a second mounting place.Here is performed screwing operation by the industrial robot with specially designed end effector jaws (see Fig. 4b).Automated and robotized assembly of the mentioned component is associated with several critical points: • Parts of assembled component are manufactured in wide dimensional tolerances.• Unreliable process of screwing by industrial robot -large number of not screwed final components.

• Long cycle time for assembly of final component
Using our proposed method, it was possible to expand current possibilities of workplace about solving tasks of collaboration between human and robot.It was also possible to compare both methods of assembling and point out their strengths and weaknesses.The workplace was adapted for solving collaborative assembly task and the collaborative workspace was marked on the working table (see Fig. 5a).The boundaries of the collaborative workspace were established on the basis of an intersection of both human and robot workspace envelope surfaces and the upper plane of the table working plate table.Design of collaborative workspace was created in Creo Parametric 2.0 (see Fig. 5b).The following procedure of collaborative assembly has been determined for verification of the proposed method.Robot's arm takes base part from storage and moves it in collaborative workspace.At this point, human adds the inner part, the distance ring and screw the cup.The entire component is then placed in a crate.The storage with base parts and a crate with final component are located in the robot workspace.The remaining parts are stored in storages placed in human working space.
In order to recognize current position of required part on a desktop, the workplace was equipped with a Kinect sensor.The sensor is placed on simple construction created from aluminium profiles.The front side of Kinect is in direction perpendicular to the work table.The distance between Kinect and the work table is determined on the base of a minimal depth distance (see Table 1) and the size of the subject.When using very small objects there was a problem with their recognition.

CONCLUSION
The article presents a new approach to solve simple collaboration tasks between human and robot.Thanks to implementation of the proposed method to a real assembly process, it was possible to determine main advantages and weakness of this solution.The main advantage of the proposed method is its versatility.The application can be easily transformed to work with different types of parts.Gradually, all subsystems were tested constituting the system for implementation of cooperative tasks.Thanks to the creation of a collaborative system it is possible to create and upgrade the assembly applications depending on the required task.In the future work we will improve methods for recognizing manipulated objects and after careful testing of the proposed system, program packages will by created, that will be included among ROS applications for industry -ROS Industrial.

Table 1 .
Technical parameters of device Microsoft Kinect Xbox 360 per to move.Communication through Arduino is also used in the case of collaborative application controller (CAC).