AUGMENTED REALITY-BASED INTERACTION MECHANISM FOR THE CONTROL OF INDUSTRIAL ROBOTS - DIVA

 
CONTINUE READING
AUGMENTED REALITY-BASED INTERACTION MECHANISM FOR THE CONTROL OF INDUSTRIAL ROBOTS - DIVA
DEGREE PROJECT IN MECHANICAL ENGINEERING,
SECOND CYCLE, 30 CREDITS
STOCKHOLM, SWEDEN 2020

AUGMENTED REALITY-BASED
INTERACTION MECHANISM FOR
THE CONTROL OF
INDUSTRIAL ROBOTS

YONGQING ZHAO

KTH ROYAL INSTITUTE OF TECHNOLOGY
SCHOOL OF INDUSTRIAL ENGINEERING AND MANAGEMENT
AUGMENTED REALITY-BASED INTERACTION MECHANISM FOR THE CONTROL OF INDUSTRIAL ROBOTS - DIVA
SAMMANFATTNING
För närvarande används AR/VR-enheter och tekniker kontinuerligt för att kontrollera de olika
typerna av robotar inom branschens aspekter. Många utvecklare har genomfört pick-and-
place-experimentet på den verkliga roboten genom att interagera med den virtuella roboten i
AR/VR-enheterna. Men användargränssnittet i AR/VR-enheterna är bristen på hela
kontrolllogikmekanismen för att hjälpa användare att använda styrsystemet enkelt.

Med spridningen av utvecklande AR/VR-teknologier introduceras i branschen. Det är
uppenbart att användargränssnittet måste ha en komplett interaktionsmekanism för att ge nya
upplevelser för användare. Baserat på översynen av litteratur om avsikten att hjälpa
användare att interagera med en robot med hjälp av AR/VR-enheter, koncentrerade denna
masteruppsats på utformningen av front-end i HoloLens och dess datakommunikation med
den virtuella roboten i PC. Baksidan vid testning i denna avhandling är baserad på de verk
som Mingtian Lei har dong i sin avhandling, kallad Grafiskt gränssnitt och
robotkontrollsystemdesign med kompensationsmekanism.

Denna avhandling gav de grova prototyperna om användargränssnittet med en
kontrolllogikmekanism i HoloLens för att manipulera den verkliga roboten, KUKA KR6 R700
Sixx. Testresultaten i denna avhandling baseras fritt på experimentet med Pick and Place.
Resultatet visar att användaren kan styra den verkliga roboten för att välja målobjektet fritt och
placera det i slutpositionen utan kollision med andra objekt. Noggrannheten och kontinuiteten
i driften i pick-and-place-testet behövs för att ytterligare förbättras för att hjälpa användare att
spara tid när de använder HoloLens för att kontrollera industrirobotar.

                                                 2
AUGMENTED REALITY-BASED INTERACTION MECHANISM FOR THE CONTROL OF INDUSTRIAL ROBOTS - DIVA
ABSTRACT
Currently, AR/VR devices and technologies are continuously applied to control the different
types of robots in the aspects of the industry. A lot of developers have accomplished the pick
and place experiment on the real robot through interacting with the virtual robot in the AR/VR
devices. However, the User interface in the AR/VR devices is the lack of the whole control
logic mechanism to help users operating the control system easily. With the spread of
developing AR/VR technologies are introduced into the industry. It is obvious that the user
interface needs to have a complete interaction mechanism in order to give new experiences
to users.

Based on the review of literature about the intention to help users to interact with a robot using
AR/VR devices, this Master thesis concentrated on the designing of front-end in the HoloLens
and its data communication with the virtual robot in PC. The back-end during testing in this
thesis is based on the works that Mingtian Lei has dong in his thesis, called Graphic Interface
and Robot Control System Design With Compensation Mechanism.

This thesis gave the rough prototypes about the user interface with a control logic mechanism
in the HoloLens to manipulate the real robot, KUKA KR6 R700 Sixx. The test results in this
thesis is based on the experiment of Pick and Place freely. The result shows that the user is
able to control the real robot to pick the target object freely and place it in the final position
without collision to other objects. The accuracy and the continuity of operation in the pick and
place test are needed to have further improved to help users to save time when using
HoloLens to control industrial robots.

                                                3
AUGMENTED REALITY-BASED INTERACTION MECHANISM FOR THE CONTROL OF INDUSTRIAL ROBOTS - DIVA
TABLE OF CONTENTS
SAMMANFATTNING                                                      2
ABSTRACT                                                            3
TABLE OF FIGURES                                                    5
INTRODUCTION                                                        6
    Overview                                                        6
    Research Background                                             7
    Research Scope                                                  7
    Roadmap                                                         8
    Research Delimitation                                           8
    Outline of the thesis                                           9
LITERATURE REVIEW                                                   10
    Terminology Definition                                          10
    Previous Studies and Related Works                              11
SYSTEM ARCHITECTURE                                                 14
    HoloLens                                                        14
    Unity                                                           15
    Backend                                                         15
METHODOLOGY                                                         16
    Function Design                                                 16
    Logic Flow                                                      18
    Data communication mechanism between HoloLens and robot in PC   19
IMPLEMENTATION                                                      21
    Hardware                                                        21
    Software tools and Packages                                     21
    Experiment and Results                                          22
CONCLUSION                                                          26
REFERENCE                                                           28

                                      4
AUGMENTED REALITY-BASED INTERACTION MECHANISM FOR THE CONTROL OF INDUSTRIAL ROBOTS - DIVA
TABLE OF FIGURES
Figure 1 Microsoft HoloLens                    6
Figure 2 KUKA KR6 R700 Sixx                    6
Figure 3 Timeline of this thesis               8
Figure 4 System Structure                     14
Figure 5 Interaction Design                   16
Figure 6 Logic Flow1                          18
Figure 7 Data Communication                   19
Figure 8 File Communication                   21
Figure 9 Before edit robot                    22
Figure 10 After edit robot                    22
Figure 11 Before edit the cube                22
Figure 12 After edit the cube                 23
Figure 13 After add the via point             23
Figure 14 Reach to the first vi point         23
Figure 15 Reach to the second via point       23
Figure 16 Before rotate the gripper           24
Figure 17 After rotate the gripper            24
Figure 18 After press the Pick button         24
Figure 19 Confirm the second final position   24
Figure 20 trajectory visualization            25
Figure 21 Place the object                    25

                                          5
AUGMENTED REALITY-BASED INTERACTION MECHANISM FOR THE CONTROL OF INDUSTRIAL ROBOTS - DIVA
1. INTRODUCTION

1.1 Overview

This report presented the result of a Master of Science thesis project at Royal Institute of
Technology(KTH). The objective of this master thesis is to develop the interaction mechanism
in Augmented reality for industrial robots. The Microsoft HoloLens glass, as it shows in figure
1, is decided as the AR device to help the human operator to interact with an industrial robot.
The Unity platform was applied to transmit data with HoloLens. The type of industrial robot in
this thesis is KUKA KR6 R700 Sixx in figure 2.

        Fig 1 Microsoft HoloLens [1]                     Fig 2 KUKA KR6 R700 Sixx [2]

1.2 Research Background
Nowadays, AR/VR technology is commonly used to be associated with gaming and
entertainment. However, there is a large sum of potential value that has been developing in a
wide array of industries. Specifically, in industrial robots, AR/VR devices are becoming more
popular as it certainly speeds up the robot learning process by AI and improves the way human
operators and robots work together by interaction with the virtual robot. Traditionally, robots
will be left alone to do their job automatically after being programmed. But in recent years,
robots evolved beyond the phase of mindless laborers that perform simple and repetitive tasks,
it became necessary for people to interact with robots during various work tasks [3]. However,
the application of AR/VR technology will give the assistance for the user to see the field of
vision of the robot in the window, and the user is able to predict and customize its planning
trajectory according to its movements, existing obstacles, and other factors.

                                              6
AUGMENTED REALITY-BASED INTERACTION MECHANISM FOR THE CONTROL OF INDUSTRIAL ROBOTS - DIVA
1.3 Research Scope
1.3.1 Research Motivation

In the previous studies on the interaction between AR/VR devices and industrial robots, a lot
of researchers have developed a user interface which enables human operators to control the
virtual robot in the AR/VR devices to accomplish the pick and place experiment. Most of them
use the virtual sphere or cube existing in the AR device to represent the real target object,
then the human operator can put the virtual object overlap on the real object, the robot will
receive the data from the device to move to the target position.

However, the control method or the trajectory planning has two disadvantages, the one is that
the user is not able to customize the robot gesture which picks and places the target object.
Because the robot gesture in which it picks the object has been pre-fixed either the horizontal
direction or vertical direction. Another is that the direction of via points when the robot reaches
could not be designed as the user wants. It is acceptable when controlling the robot to achieve
an uncomplex job. But when it comes to a difficult job, for example, the target object is put in
the hole or inside of another object. It is not possible to use the method currently to complete
this work. So, the method currently is considered a lack of flexibility and customization and as
such there exists a need for the development of simple alternative methods. At present, there
is no suitable method that has developed to enable the user to interact with a robot as they
desire.

1.3.2 Research Objective

The objective of this thesis is to develop an interaction mechanism that could be applied in the
Microsoft HoloLens to control the robot, KUKA KR6 R700 Sixx, to achieve the experiment of
Pick and Place. There are several goals to be planned in this project before beginning.

   ●   The via point can be created to avoid physical collision with obstacles in the real world
       when working on the Pick and Place experiment.

   ●   The orientation of the end-effector should be customized to pick or place the target
       object as the human operator desires.

   ●   The trajectory planning of the robot should be reviewed before the industrial robot
       moves.

                                                7
AUGMENTED REALITY-BASED INTERACTION MECHANISM FOR THE CONTROL OF INDUSTRIAL ROBOTS - DIVA
1.4 Roadmap

                                 Fig. 3 Timeline of this thesis

Figure 3 shows the timeline of this thesis from the beginning. At the beginning of this thesis, a
lot of conferences and published papers which have corresponded with my thesis topic have
been detailed, read and noted. This stage gave an understanding of what kinds of solutions
have been developed and how deep those researches have been currently.

Then different packages and software were collected to be further applied in the thesis, such
as the Vuforia recognition was decided to use in this thesis to recognize and locate the virtual
robot in the user interface in HoloLens. The developing platform is Unity and the programming
language used is C#. Because Unity is the only platform that was supported by HoloLens at
present. In the next stage, data communication has been completed between Unity in PC and
HoloLens using WebSocket. It means that the virtual robot in HoloLens can receive the robot
data from the PC. Meanwhile, the robot in Unity on the PC also can get the related data to
HoloLens.

The next stage was to design and develop the interaction mechanism which enables the
human operator to control the virtual robot friendly and complete the pick and place experiment
in the HoloLens. Then the next step was to make a connection between HoloLens and the
real robot to implement the experiment, such as to send and receive the 6-axis data, gripper
control, and robot speed control. The final stage was to collect the data and record the
information needed and start writing this thesis to prepare the presentation.

1.5 Research Delimitation
The project presented in this report is a 30 credits Master of Science thesis, which covered 24
weeks of work in KTH. Since the acquisition of information and knowledge is influenced by
time and device, the delimitations of this project are listed below:

   ●   The industrial robot in the experiment is KUKA KR6 R700 Sixx. The Microsoft
       HoloLens is chosen as an AR device to control the robot.

                                               8
AUGMENTED REALITY-BASED INTERACTION MECHANISM FOR THE CONTROL OF INDUSTRIAL ROBOTS - DIVA
●   The Unity 3D is the Intermediatator of AR devices to send and receive the data to/from
       the ROS.
   ●   The Pick and Place experiment is only run once instead of continuously pick or place
       the other objects.

1.6 Outline of the thesis

This section clarity the structure of this thesis report which includes each main chapter in this
article and the main contents of each chapter listed.

Chapter 1: Introduction – This chapter presents the description of the theme of the research,
including the overview, background of research, the motivation of the research, the scope of
this research and the roadmap of this thesis.

Chapter 2: Literature Review – This chapter lists the theoretical definitions involved in the
project or mentioned in the later articles and reviews the results of previous research in the
same field.

Chapter 3: System Architecture – In this chapter, it presented the system structure and
explanation of the works in this thesis.

Chapter 4: Methodology – This chapter described the research approach used to carry out the
thesis. It also provides the general steps from the preparation to the contents structure of this
project.

Chapter 5: Implementation – Verify the system architecture by actual cases.

Chapter 6: Conclusion – Conclude the project and present some discussion and evaluation of
the report. It also mentions the future recommendations about this project

                                                9
AUGMENTED REALITY-BASED INTERACTION MECHANISM FOR THE CONTROL OF INDUSTRIAL ROBOTS - DIVA
2 LITERATURE REVIEW
This chapter includes two sections, the first section describes the terminology definitions
involved in this thesis or mentioned in the later article. The second section documents and
reviews the results of previous research related to the topic in the same field.

2.1 Terminology Definition
2.1.1 Augmented Reality

Augmented reality (AR) is an interactive experience of a real-world environment where the
objects that reside in the real world are enhanced by computer-generated perceptual
information, sometimes across multiple sensory modalities, including visual, auditory, haptic,
somatosensory and olfactory [4]. AR can be defined as a system that fulfills three basic
features: a combination of real and virtual worlds, real-time interaction, and accurate 3D
registration of virtual and real objects [5].

AR interfaces have three main features: (1) users can view both real and virtual objects in a
combined scene, (2) users receive the impression that virtual objects are actually expressed
and embedded directly in the real world, and (3) the virtual objects can be interacted with in
real-time [6].

With the application of AR in industry, it will increase the efficiency and time-saving for the
human operator to manipulate the real robot to work on the repetitive tasks in practice.

2.1.2 Microsoft HoloLens

Microsoft HoloLens is a pair of mixed reality smart glasses developed and manufactured by
Microsoft. HoloLens was the first head-mounted display running the Windows Mixed Reality
platform under the Windows 10 computer operating system. The tracking technology used in
HoloLens can trace its lineage to Kinect, an add-on for Microsoft's Xbox gaming console that
was introduced in 2010 [7].

Windows 10 is used as the operating system for Microsoft HoloLens. The Universal Windows
Platform (UWP) serves as a uniform development platform for Windows 10 applications. For
the development of HoloLens applications, Visual Studio is used in combination with the game
development software Unity3D, for which Microsoft already provides basic functions such as
gesture and speech recognition [8].

                                              10
2.1.3 Unity 3D

Unity3D is a powerful cross-platform 3D engine and a user-friendly development environment.
Easy enough for the beginner and powerful enough for the expert; Unity should interest
anybody who wants to easily create 3D games and applications for mobile, desktop, the web,
and consoles [9].

Unity 3D is the only platform that was officially supported by Microsoft HoloLens. It contains a
variety of tools, packages, and resources that allow the developer to easily make VR and AR
applications and publish them on the devices.

2.1.4 Vuforia Engine

Vuforia Engine is the most widely used platform for AR development, with support for leading
phones, tablets, and eyewear. Developers can easily add advanced computer vision
functionality to Android, iOS, and UWP apps, to create AR experiences that realistically
interact with objects and the environment [10].

Vuforia brings the power to connect HoloLens, it will have the ability to detect images and
objects in the real world. The developers can apply this capability to overlay step-by-step
requirements on top of machinery in industry or add virtual digital features to a physical
product. Vuforia Engine also offers a broad range of features and targets with great flexibility
when developing AR applications.

2.2 Previous Studies and Related Works
2.2.1 Interaction system between AR with an industrial robot

Many researchers have been conducted in the field concerned to be of interest to this project.
As for the interaction mechanism about human-robot collaboration through augmented reality.
In the study of [11] in 1993, it presented an overview of ARGOS (Augmented Reality Through
Graphic Overlays on Sterro video) to prove that possibility by integrating virtual measures with
industrial robots. In 2004, in this article [12], Rainer Bischoff developed several AR interaction
prototypes that illustrate the suitability of AR-based HRI, especially for relatively complex
industrial robots. This study [13] further demonstrated that the AR-HRC ( Human-Robot
Collaboration)interface resulted in better accuracy and fewer close calls as opposed to the
other two interfaces, direct teleoperation and an Exo-centric view of the robot in the real world.
Bagchi, Shelly and Jeremy A. Marvel [14] presented a robot user interface which provides not
only effective robot control, but also task training, feedback, and better situational awareness
for bringing human operators more effective, particularly for human-robot collaboration.

                                               11
In this paper [15], it proposed the experiment results of a control system with an industrial
robot based on user’s interactions with a virtual model in HoloLens. The robot can be
controlled in two modes. The first way is to through point to point instructions stored into ROS
topics and updated by the user with the HoloLens. The second way is to directly manipulate a
target which the robot will track. The results in this paper demonstrated that the
synchronization of the digital model on top of the real robot is more recommended. Because
it will achieve a more immersive interaction with the system for the human operator. This paper
[16] developed an alternative system which applied multimodal language in HoloLens for
interaction between industrial robots and humans. With the assistance of this method, the
robot understands the user’s intentions in a faster and more robust way. In the study [17], a
typical architecture consisting of 3 main parts is described: inter-face, controller, robots for
interactive programming of different robot types based on mixed reality. In this research [18],
it proposed and presented an AR-based interface for intuitive HRI. There are two methods
that have been generated. It has been developed, call the Euclidean distance-based method,
to assist the human operators who enable delete, select or insert spatial points. The monitor-
based visualization mode adopted allows human operators to perceive the virtual interface
augmented onto the real world. This paper [19] suggested that the virtual robot or outline of
the robot visualization style which over the real robot is more accepted by human operators.
This article [20] presented the ARRPS (Augmented Reality-assisted Robot Programming
System) system that provides the users with intuitive ways to customize and visualize the
robot movement and enhances robot path and task programming. This article [21] presented
a user interface that can control the real robot via clicking the button in HoloLens. In this way,
there are no requirements for a human operator without advanced professional skills of robot
control PAD. In this study [22], it developed an overview of the current referencing methods
used in AR-based human-robot interaction and object detection methods that are currently in
use in the industrial robots.

2.2.2 Trajectory planning for the virtual robot in Augmented Reality

A lot of researchers have presented and evaluated the method to create the movement path
for industrial robots to avoid collision with obstacles. In this paper [23], it presented a concept
for intuitive pick and place tasks using a service-oriented architecture between HoloLens and
UR5 industrial robots. Based on this structure, it becomes easy integration, exchangeability of
components, and scalability to multiple workstations and devices. The character of this method
can help the human operator to drag recognized objects and drop them at a desired position
to complete a pick and place task. This study [ 24] has developed a method to mitigate
industrial workers’ daily tasks regarding the visualization of the next possible assembly step
synchronized with a cobot in executing specific assembly works. The human operator can
check the process in which the final product can be simulated by visualizing virtual assembly
sequence elements in HoloLens even before the actual production begins. In this article [25],
it proposed a broker architecture that can integrate and control various robots from different
manufacturers and types. With the application of this broker architecture, a human operator
could manipulate the real robot to avoid collision with the obstacle to have a safe and fast

                                                12
manner. This report [26] presented an intuitive robot system that applies a hand-held pointing
device to represent via points for the robot end-effector and to trigger related actions to avoid
collision with real obstacles in augmented reality. This paper [27] has optimized the robot paths
for the planning trajectory. It allows the user to adjust the selected path in the HoloLens, and
add new paths by inserting points in the mixed reality environment. The human operator can
correct the paths as desired, connect them using a certain type of motion and command them
to the robot controller. The method demonstrated in this article enables the users, with limited
programming experience, to fully use the robotics fields through HoloLens and decrease the
complexity for human operators. This study in this article [28] proposed an AR robotic system
for trajectory interaction using HoloLens. Two experiments have been conducted, free space
trajectory, and contact surface trajectory. This system enables a human operator to plan and
customize the trajectory as they desire. This report [29] presented an approach, namely, Robot
Programming using Augmented Reality (RPAR), for robot trajectory planning, robot end-
effector orientation defining, and path optimization.

                                               13
3 SYSTEM ARCHITECTURE

                                     Fig 4 System Structure

The whole system architecture in this thesis is described in figure 4. As it shows, it includes
the four parts, HoloLens User Interface, Windows Environment, Backend, and Robot
Controller. In my works, most of my time was concentrated on the HoloLens User Interface
and Windows Environment. The part of Backend and Robot Controller are based on the
system developed in this paper [30].

3.1 HoloLens
In the HoloLens user interface, the human operator can use voices or hand gestures to control
the virtual robot to interact with industrial robots in the real world. There are three function
modules, robot recognition module, object-oriented planning module, and trajectory planning
and orientation module. The robot recognition module, as the first module when this system
is launched, will drive and show the virtual robot 1 in the view of the human operator when the
camera in HoloLens detects the image target. The object-oriented planning module is
developed to be triggered by the virtual robot 2. The virtual robot 2 will move to the destination
to work on the pick or place target object. The virtual robot 3 is only activated when the human
operator adds the via points to create the trajectory planning for the real robot. The virtual
robot 4 is the slave model of the real industrial robot. It will always follow the movements once
the real robot starts to move.

There is no data communication between virtual robot 1 and windows environment. The virtual
robot 2 has the capability to confirm the final gesture and send every joint angle to the virtual
robot 3. The virtual robot 2 will manage to transmit the gripper, speed parameter, and final 6-
joints angle to the windows environment. The virtual robot 3 is responsible to send its 6 joints

                                               14
angle of reach to via point to the windows environment if there are via points existed in the
robot trajectory. As the slave of a real industrial robot, the virtual robot 4 will receive the 6 axis
variables from the windows environment.

3.2 Unity
The virtual environment in Unity 3D includes the robot joint control and gripper & speed control.
The robot joint control will conduct the data communication that refers to 6 joints angle in the
txt file when it comes to send back to the HoloLens. The gripper control, as the name shows,
is to manage the open and close of the gripper. The speed control can control the robot
movement speed not only before moving but also the robot is moving. Those two parameters
will be also written in the txt file but send it to the servo controller to control the industrial robots.

3.3 Backend in ROS
The back-end of the experiment in this thesis is based on the Mingtian Lei’thesis, Graphic
Interface and Robot Control System Design with Compensation Mechanism. Because he has
developed the data communication between Unity and Kuka industrial robot. In his work, the
ROS in LINUX can record the robot 6-axis data which was extracted from KUKA Robot
Controller, then the recorded 6-axis data will be transmitted to the Unity using ROS-bridge
package, the virtual robot pos will be adjusted to have the same pos as the current real robot.
The virtual robot is also able to send its current pos to drive the real robot. Robot C-space
control and gripper & speed control will be executed in another way, those data will be written
to the Txt file in the Windows, the Eclipse will read the received data in the Txt file and send it
to the Robot Controller which will drive the real robot to move.

                                                   15
4 METHODOLOGY
4.1 Function design

                                    Fig. 5 Interaction Design

As the figure 5 shows, there are three functional modular that are designed in the user
interface, robot, final position, via point and gripper. Those four buttons are the master layer
in the menu which the human operator will interact firstly. Each button consists of several child
buttons to control the corresponding works once it is clicked.

4.1.1 Robot

For the Robot modular in figure 5, there are different buttons to trigger the events related to
robots. The button of Display Robot means that the other three virtual robots will be
automatically shown right over the virtual robot 1. The Edit Robot button enables the human
operator to make changes to the position and rotation of the other three virtual robots. The
user can tap in air and drag the virtual robot to move to the target position. The rotation will
happen by sliding the three sliders which represent the x axis, y axis, z axis. The Speed Control
button means to control the movement speed of industrial robots. The position and rotation of
the virtual robots will be fixed once the user clicks the Confirm button while the virtual cube
will be shown on the around the end effector of the industrial robot.

4.1.2 Final Position

When the virtual cube is shown in the holographic environment, the child buttons under the
Final Position will be activated at the same time. This modular focus on to decide the final
position before pick or place starts. There are two child buttons available in this modular, Edit
Cube, and Confirm. The Edit Cube button is used to adjust the position and rotation of the
virtual cube. the virtual robot will be always following the position of the virtual cube once the

                                               16
virtual cube moves. This button will be essential when the user desires to pick or place the
target object in very tricky places. The Confirm button is used to fix the position and rotation
of the virtual cube.

4.1.3 Via Point

Once the user confirms the position and rotation of the virtual cube in a virtual environment, it
will come to the Via Point modular. In this modular, it concentrates on the part of via points
when the industrial robot is possible to have collision with the obstacles in real world. It will
also provide the trajectory visualization for the virtual robot. There are four child buttons in this
modular. The Add via point button can help the human operator to create many smaller virtual
cubes as the via points as they want. The Edit via points button will be responsible to adjust
the position or the rotation of smaller virtual cubes. The Delete via point button is applied to
delete those via points unneeded. The Confirm button is used to confirm all the position and
rotation of each via point. After this button is clicked, the virtual robot 2 will move to the target
via points one by one to present the visualization path. Once the position of all of the via points
are confirmed, the button of Send Data To Robot will be triggered to transmit the data to the
real industrial robot.

4.1.4 Gripper

This modular is responsible for controlling the gripper of the robot. It will be activated when it
comes to start picking or placing the target object. The Rotate Gripper button is used to control
the slide to rotate the orientation of the gripper. The button, called Pick, is applied to pick the
object. The robot will go down and close the gripper and go up by clicking up this button. The
Place button is used to control the robot to go down and open the gripper and go up.

                                                 17
4.2 Logic Flow
The figure 6 shows the logic flow behind the user interface in this thesis.

                                       Fig. 6 Logic Flow

                                               18
When the system is launched, the HoloLens can recognize the virtual robot to decide the rough
position around the real industrial robot by detecting the image target. Then the virtual robot
will be put right over the real robot by hand gestures or button clicking. If the position of virtual
robot is not confirmed, then it will go back to the operation to change the position of virtual
robot. Once the position of virtual robot is confirmed, it will continue to the part of final position.
The position or rotation of the cube can decide the final position which the robot will pick. It
will go back to edit the cube again if the position is not confirmed. If the final position is
confirmed, the human operators can create the via point to customize the trajectory planning
of the industrial robot. The via point can be edited to decide the position and direction of each
via point. It will go to the trajectory visualization directly if there is no necessary to create the
via point. If the trajectory path is confirmed after the trajectory visualization is reviewed. Then
the gripper will be activated to start picking the target object. It will go back to the part of the
final position if the trajectory path is not confirmed.

4.3 Data communication mechanism between
HoloLens and robot in PC

                                    Fig. 7 Data communication

The figure 7 shows the data communication among HoloLens, Unity, and industrial robot.

In this thesis, it only concentrated on the connections between HoloLens and Unity. As for the
user interface in the HoloLens, there are three virtual robots which are related to each other.
The virtual robot 1 will update its Cartesian coordinate parameters to virtual robot 2 once the
rough position is detected via Vuforia Engine. If there are via points existed in the trajectory
planning, then the virtual robot 2 will send the final 6-Axis variables to the virtual robot 3. The
virtual robot 3 will move to the position of virtual robot 2 after all the via points are got over.

As it shows in the figure 7, the Web Socket is applied in this thesis to make connection
between HoloLens and Unity. The virtual robot 2 is responsible to control the robot gripper
and movement speed. Moreover, it also sends and receive the 6-Axis data between Unity and
HoloLens. As it mentioned before, the virtual robot 3 will be only activated when there are via

                                                  19
points in the trajectory planning. So, the virtual robot 3 will send its 6-Axis variables to the
robot in Unity when it reaches the each via point. The 6-Axis variables of the real robot will be
sent to Unity. The data will be written into the TXT file, then the virtual robot 4 will read the
data from the TXT file. The virtual robot 4 will be driven to move once the real robot starts to
move.

                                               20
5 IMPLEMENTATION

5.1 Hardware
There are three hardware which are applied in this thesis. The Microsoft HoloLens first
generation is applied to help the human operator to interact with industrial robot in the virtual
environment. It can allow the user to using their voice commands or the hand gestures to
control virtual objects in immersive experience. The computer with Windows 10 operating
system is also applied to conduct the data communication with HoloLens. It is viewed as a
broker to connect HoloLens and industrial robot. The research robot type is KUKA KR6 R700
Sixx which is a compact 6-axis robot from KR AGILUS series. It integrates the energy supply
system and controller which name is KR C4 servo controller.

5.2 Software tools & Packages
For the robot recognition module, the Vuforia Engine was chosen in this thesis to show the
virtual robot in the user interface. The user has different options to decide to detect the
holographic object by 3D object target, image target and so on. In the method of controlling
virtual robot, there are many inverse kinematics available to control the virtual robot. The
Final IK (inverse kinematics) was applied to interact with a virtual robot arm by dragging
the end of it. The user can create a series of chain for the robot arm and drag the end
chain to move the whole virtual robot arm via CCDIK (Cyclic Coordinate Descent Inverse
Kinematics) which is one of the solver in Final IK.

It is unfortunate that there is no 3d model with FBX format file of KUKA KR6 R700 Sixx in the
KUKA official website to allow user to download directly. However, the kuka_experiemnet
package [31] is available for the developers to download which only be applied in the Linux
environment. Therefore, the rosbridge_suite [32] is applied to transform the Kuka 3D model
into FBX format file through the WebSocket between Unity and Linux. Even so, the 3d model
is not able to be used directly since its coordinate system of every joint has the conflicts with
the Final IK. So the 3d Kuka model was imported into the 3DMAX to adjust the coordinate
system of every joint to enable collaboration with Final IK in Unity 3D. The work flow among
Linux, Unity3D and 3DMAX is shown as figure 8.

                                   Fig. 8 File communication

                                               21
1.Transform the default format file into FBX format file.
2.Import the FBX format file into 3DMAX to change the coordinate system.
3.Export the 3d model in 3DMAX and import it into Unity 3D

The procedures in the figure 8 are important for those developers who want to use the Kuka
official 3d model. Since the developers do not need to recreate the 3d model in CAD software.

5.3 Experiment and Results

           Fig. 9 Before edit robot                       Fig. 10 After edit robot

After the button of Display Robot and Edit Robot is clicked, the arrows and slider will be shown
in the user interface as it shows in the figure 9. There are two ways for the human operator to
change the position of virtual robot, hand gesture and clicking the arrows. The human operator
can tap the fingers and move the robot, or clicking the arrows to move the robot slightly. The
figure 10 is the new pose of virtual robot after moving and rotating.

                                 Fig. 11 Before edit the cube

                                              22
Fig. 12 After edit the cube                      Fig. 13 After add the via point

The next modular will comes to the final position. The virtual cube will be shown around the
gripper after the Confirm button is clicked. The virtual cube is used to define the final position
of industrial robot. The figure 11 is the scene before edit the cube. When the button of Edit
Cube is clicked, the human operator can use hand gesture to move and rotate the virtual cube
as desire. The end-effector of virtual robot will always be perpendicular to the red plane of the
virtual cube as it shows in the figure 12. The slider and move function will be removed after
the Confirm button in the final position is clicked.

     Fig. 14 Reach to the first via point              Fig. 15 Reach to the second via point

After the final position is confirmed, it will go to the via point modular. The two smaller cube
represents the via points after clicking the button, Add Via Point. The human operator can add
as many via points as they want. The red number above the via points is the sequence based
on the time created. Once the numbers of via points are confirmed, the second virtual robot
will be appeared and perpendicular to the red plane of the first via point.

When the button, called Edit Via Point, is clicked, the human operator can change the position
and rotation of each via point as the figure 14 shows. If the position of the first via point is
confirmed, the second virtual robot will go to the second via point position automatically and
perpendicular to the red plane as the figure 15 shows. The second via point can be modified
as well. After the position of all via points is confirmed, the second virtual robot will go to the
via point one by one from the original position to the final position to overlap to the first virtual

                                                 23
robot. In this step, it gives the trajectory visualization for the human operator since the
industrial robot will follow the trajectory path in the visualization to move.

       Fig. 16 Before rotate the gripper                Fig. 17 After rotate the gripper

The next step will go to the gripper modular. The button of Rotate Gripper can control the
gripper to find the right rotation to pick the target object. It can be controlled by sliding the
slider. The figure 16 and figure 17 shows the scene before/after rotate the gripper.

       Fig. 18 After press the Pick button            Fig. 19 Confirm the second final position

The Pick button enables the virtual robot to go down and close the gripper to pick the object
and return to the original position before pressing this button. The figure 18 shows the scene
where the gripper is closed when it goes down to the target object.

After the target object has been picked, the human operator will decide the second position to
put the object. The button of the Edit Cube can be pressed again to change the position of the
virtual cube to define the second position. As the figure 19 shows, the virtual cube has been
put on the new position.

                                               24
Fig. 20 Trajectory visualization                    Fig. 21 Place the object

Once the second position is confirmed, the virtual robot 2 will be shown again to works on
the trajectory visualization from the position of pick to place as it shows in figure 20.

When the button of Place is pressed, the gripper will go down and release the gripper and
return to the original position of before click the button as it shows in the figure 21.

                                             25
6 CONCLUSION
This experiment in this thesis was designed to develop the interaction mechanism in HoloLens
to control the industrial robot. The results above show that the human operator can use the
user interface to control the robot to achieve the pick and place task. Moreover, the objectives
in the scopes are completed successfully and the conclusions are shown below.

   ●   The via point can be created to avoid physical collision with obstacles in the real world
       when working on the Pick and Place experiment.

       In this thesis, the smaller virtual cube in the user interaction represents the via point. It
       demonstrates that the human operator can create the virtual cubes as many as they
       want. The direction and position of the virtual cube added can be decided before the
       industrial starts moving. The pose of industrial robots which reach each via point can
       be controlled. It will assist the industrial robot to avoid the collision with obstacles.

   ●   The orientation of the end-effector should be customized to pick or place the target
       object as the human operator desires.

       One of the contributions in this thesis is to develop a function to control the orientation
       of the end-effector. The virtual cube is the real object which an industrial robot will
       pick/place. The human operator can rotate or move the virtual cube to put it in the final
       position. Then the virtual robot will always be perpendicular to the one of the plane of
       the virtual cube. Once the position of the cube is confirmed, then the 6-axis data of the
       virtual robot will be saved and waiting to be sent to the industrial robot.

   ●   The trajectory planning of the robot should be reviewed before the real industrial robot
       moves.

       In this thesis, each movement of a real industrial robot can be reviewed in advance.
       The virtual robot 2 is responsible for the via point and the visualization of trajectory of
       movements. This will help the human operator to understand how the robot will move.
       This is also an effective way to avoid the collision with obstacles in the real world.

Although the outcome of this project is considered as successful, however there are still some
shortcomings need to be improved in the future since this thesis is a prototype to help the
human operator to control the industrial robot.

   ●    The programming code and detailed components are only applied in the user interface
       in HoloLens. It is not supported by other AR/VR devices. This interaction mechanism
       was only tested with KUKA KR6 R700 Sixx with a C4 controller. It is not very confirmed
       that the method generated in this thesis is appropriate with other types of robots.

   ●   Technically, with the application of Vuforia Engine, there is no need for the human
       operator to adjust or rotate the virtual robot position to overlap on the real robot. The

                                                26
virtual robot will be shown on the real robot automatically when the human operator
    detects the target image or real industrial robots.

●   The Final inverse kinematics applied in this thesis is not very suitable to be used to
    control the virtual robot, because it has difficulty in controlling the robot gesture as
    desired. The other inverse kinematics components need to be considered in the future.

●   The accuracy in the pick and place experiment need to be improved.

                                           27
REFERENCE
[1] Microsoft. [Online]. Available: https://www.microsoft.com/en-us/hololens/hardware.
[2] Robots Done Right, “KUKA KR 6 R700 Sixx.” [Online]. Available:
https://robotsdoneright.com/KUKA/KRC4-robots/kuka-kr-6-r700.html.
[3] ARPost. “AR And VR Technologies Guide Robots Towards A Smarter Future.” [Online].
Available: arpost.co/2018/09/19/ar-and-vr-technologies-guide-robots-towards-a-smarter-
future/. [Accessed: 19-Sept- 2018,].
[4] "The Lengthy History of Augmented Reality". Huffington Post. 15 May 2016.
[5] Wu, Hsin-Kai; Lee, Silvia Wen-Yu; Chang, Hsin-Yi; Liang, Jyh-Chong (March 2013).
"Current status, opportunities and challenges of augmented reality in education...". Computers
& Education. 62: 41–49.
[6] Walker, Michael E., Hooman Hedayati, Jennifer Lee and Daniel Szafir. “Communicating
Robot Motion Intent with Augmented Reality.” HRI '18 (2018).
[7] Mcbride, Sarah. "With HoloLens, Microsoft aims to avoid Google's mistakes". [Online].
Available:
https://www.reuters.com/article/us-microsoft-hololens-idUSKCN0YE1LZ. [Accessed: 23-May-
2018].
[8] Blankemeyer, Sebastian, Rolf Wiemann, Lukas Posniak, Christoph Pregizer, and Annika
Raatz. “Intuitive Robot Programming Using Augmented Reality.” (2018).
[9] Lan Zamojc, Code Envato Tuts+, “Introduction to Unity3D.” [Online]. Available:
https://code.tutsplus.com/tutorials/introduction-to-unity3d--mobile-10752.
[Accessed: 7-May-2012].
[10] Vuforia, “About Vuforia Engine: Vuforia Engine AR: 8.5.9.” [Online]. Available:
https://docs.unity3d.com/Packages/com.ptc.vuforia.engine@8.5/manual/index.html.
[Accessed: 25-January-2019].
[11] P. Milgram, S. Zhai, D. Drascic and J. Grodski, "Applications of augmented reality for
human-robot communication," Proceedings of 1993 IEEE/RSJ International Conference on
Intelligent Robots and Systems, pp. 1467-1472 vol.3, 1993.
[12] R. Bischoff and A. Kazi, "Perspectives on augmented reality based human-robot
interaction with industrial robots," 2004 IEEE/RSJ International Conference on Intelligent
Robots and Systems (IROS) (IEEE Cat. No.04CH37566), Sendai, 2004, pp. 3226-3231 vol.4.
[13] S. A. Green, J. G. Chase, X. Chen and M. Billinghurst, "Evaluating the Augmented Reality
Human-Robot Collaboration System," 2008 15th International Conference on Mechatronics
and Machine Vision in Practice, Auckland, 2008, pp. 521-526.
[14] Bagchi, Shelly and Jeremy A. Marvel. “Towards Augmented Reality Interfaces for Human-
Robot Interaction in Manufacturing Environments | NIST.” (2018).
[15] Sita, E., Studley, M., Dailami, F., Pipe, A. G., & Thomessen, T. (2017). Towards
multimodal interactions: Robot jogging in mixed reality. In Proceedings of the 23rd ACM
Symposium on Virtual Reality Software and Technology - VRST '17, (1-2).
[16] B. Akan, A. Ameri E., B. Çürüklü, and L. Asplund, ‘Intuitive Industrial Robot Programming
Through Incremental Multimodal Language and Augmented Reality’, in 2011 IEEE
International Conference on Robotics and Automation (ICRA 2011), 2011, pp. 3934–3939.
[17] Ostanin, M. and Yagfarov, R. and Klimchik, A.Interactive Robots Control Using Mixed
Reality. The work presented in this paper was supported by the grant of the Russian Science
Foundation 17-19-01740.

                                             28
[18] Fang, Huang, Soh-Khim Ong, and Andrew Y. C. Nee. “Novel AR-based interface for
human-robot interaction and visualization.” Advances in Manufacturing 2 (2014): 275-288.
[19] Malý, Ivo, David Sedlácek and Paulo Leitão. “Augmented reality experiments with an
industrial robot in the industry 4.0 environment.” 2016 IEEE 14th International Conference on
Industrial Informatics (INDIN) (2016): 176-181.
[20] Ong, Soh-Khim, A. W. W. Yew, N. K. Thanigaivel and Andrew Y. C. Nee. “Augmented
reality-assisted robot programming system for industrial applications.” (2020).
[21] Manring, Levi H. Pederson, John Monroe Potts, Dillon Gabriel, 2018 ‘improving Human-
Robot Interaction and Control Through Augmented Reality: Los Alamos Dynamic Summer
School final presentation’
[22] Puljiz, David, Katharina S. Riesterer, Björn Hein and Torsten Kröger. “Referencing
between a Head-Mounted Device and Robotic Manipulators.” ArXiv abs/1904.02480 (2019):
n. pag.
[23] Rudorfer, Martin, Jan Guhl, Paul Hoffmann, and Jörg Krüger. “Holo Pick'n'Place.” 2018
IEEE 23rd International Conference on Emerging Technologies and Factory Automation
(ETFA) 1 (2018): 1219-1222.
[24] A. Blaga and L. Tamas, "Augmented Reality for Digital Manufacturing," 2018 26th
Mediterranean Conference on Control and Automation (MED), Zadar, 2018, pp. 173-178.
[25] Guhl, Jan, Johannes Hügle and Joerg Krueger. “Enabling Human-Robot-Interaction via
Virtual and Augmented Reality in Distributed Control Systems.” (2018).
[26] A. Gaschler, M. Springer, M. Rickert, and A. Knoll, "Intuitive robot tasks with augmented
reality and virtual obstacles," 2014 IEEE International Conference on Robotics and
Automation (ICRA), Hong Kong, 2014, pp. 6026-6031.
[27] Neves, J., Serrario, D. and Pires, J. (2018), "Application of mixed reality in robot
manipulator programming", Industrial Robot, Vol. 45 No. 6, pp. 784-793
[28] C. P. Quintero, S. Li, M. K. Pan, W. P. Chan, H. F. Machiel Van der Loos, and E. Croft,
"Robot Programming Through Augmented Trajectories in Augmented Reality," 2018
IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, 2018,
pp. 1838-1844.
[29] Fang, H.C., Ong, S.K., Nee, A.Y.C. (2012). Robot path and end-effector orientation
planning using augmented reality. Procedia CIRP 3 (1): 191-196. ScholarBank@NUS
Repository. https://doi.org/10.1016/j.procir.2012.07.034
[30] M. Lei, ‘Graphic Interface and Robot Control System Design with Compensation
Mechanism’, Dissertation, 2020.
[31] “Wiki.” Ros.org, [Online]. Available: wiki.ros.org/kuka_experimental. [Accessed: 4-March-
2018].
[32] RobotWebTools. “RobotWebTools/rosbridge_suite.” GitHub, [Online]. Available:
https://github.com/RobotWebTools/rosbridge_suite. [Accessed: 17-March-2018].

                                             29
TRITA -ITM-EX 2020:236

www.kth.se
You can also read