universidad técnica de ambato facultad de ingeniería en sistemas

Transcription

universidad técnica de ambato facultad de ingeniería en sistemas
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E
INFORMÁTICOS
Tema:
“SERVICIO DE CLOUD COMPUTING PARA LA COMUNICACIÓN
BILATERAL EN TIEMPO REAL, APLICADA A BRAZOS ROBÓTICOS”
Proyecto de Trabajo de Graduación. Modalidad: Artículos Académicos, presentado previo
la obtención del título de Ingeniero en Sistemas Computacionales e Informáticos.
SUBLÍNEA DE INVESTIGACIÓN:
Tecnologías de Comunicación.
AUTOR: Cristian Mauricio Gallardo Paredes.
PROFESOR REVISOR: Ing. Victor Hugo Andaluz Ortiz, Dr.
Ambato - Ecuador
Agosto - 2016
APROBACIÓN DEL TUTOR
En mi calidad de Tutor del Trabajo de Investigación sobre el Tema: “SERVICIO DE
CLOUD COMPUTING PARA LA COMUNICACIÓN BILATERAL EN TIEMPO
REAL, APLICADA A BRAZOS ROBÓTICOS” del señor Cristian Mauricio Gallardo
Paredes, estudiante de la Carrera de Ingeniería en Sistemas Computacionales e Informáticos,
de la Facultad de Ingeniería en Sistemas, Electrónica e Industrial, de la Universidad Técnica
de Ambato, considero que el informe investigativo reúne los requisitos suficientes para que
continúe con los trámites y consiguiente aprobación de conformidad con el Art. 16 del
Capítulo II, del Reglamento de Graduación para Obtener el Título Terminal de Tercer Nivel
de la Universidad Técnica de Ambato.
Ambato, agosto del 2016
TUTOR
______________________________
Ing. Victor H. Andaluz, Dr.
ii
AUTORÍA
El presente Proyecto de Investigación titulado: “SERVICIO DE CLOUD COMPUTING
PARA LA COMUNICACIÓN BILATERAL EN TIEMPO REAL, APLICADA A
BRAZOS ROBÓTICOS”, es absolutamente original, auténtico y personal, en tal virtud, el
contenido, efectos legales y académicos que se desprenden del mismo son de exclusiva
responsabilidad del autor.
Ambato, agosto del 2016
______________________________
Cristian Mauricio Gallardo Paredes
CC: 2000093084
iii
DERECHOS DE AUTOR
Autorizo a la Universidad Técnica de Ambato, para que haga uso de este Trabajo de
Titulación como documento disponible para la lectura, consulta y procesos de investigación.
Cedo los derechos de mi Trabajo, con fines de difusión pública, además autorizo su
reproducción dentro de las regulaciones de la Editorial Springer y de la Universidad.
Ambato, agosto del 2016
______________________________
Cristian Mauricio Gallardo Paredes
CC: 2000093084
iv
APROBACIÓN COMISIÓN CALIFICADORA
La Comisión Calificadora del presente trabajo conformada por los señores docentes Ing. Pilar
Urrutia y Ing. David Guevara, revisaron y aprobaron el Informe Final del trabajo de
Investigación
titulado
“SERVICIO
DE
CLOUD
COMPUTING
PARA
LA
COMUNICACIÓN BILATERAL EN TIEMPO REAL, APLICADA A BRAZOS
ROBÓTICOS.”, presentado por el señor Cristian Mauricio Gallardo Paredes, de acuerdo al
Art. 17 del Reglamento de Graduación para obtener el título Terminal de tercer nivel de la
Universidad Técnica de Ambato.
__________________________
Ing.Vicente Morales. Mg.
PRESIDENTE DEL TRIBUNAL
_______________________
Ing. Pilar Urrutia. Mg.
_______________________
Ing. David Guevara. Mg.
DOCENTE CALIFICADOR
DOCENTE CALIFICADOR
v
DEDICATORIA
El presente proyecto se lo dedico a mis
padres, por su apoyo en mi continuo
crecimiento personal y profesional, a los
maestros que tuve a lo largo de mi vida
ya que siempre llevaré sus enseñanzas
en cada uno de mis pasos.
“-¿Por qué lo deseas tanto?
-Porque me dijeron que no lo lograría”.
Cristian Mauricio Gallardo Paredes
vi
AGRADECIMIENTO
Quiero expresar mis más sinceros
agradecimientos a mis padres, gracias a
ellos soy una persona de bien por
inculcarme siempre buenos valores y
por demostrarme que lo imposible no
existe.
A la Facultad de Ingeniería en Sistemas,
Electrónica
e
Industrial
de
la
Universidad Técnica de Ambato, por ser
el lugar en donde compartí con grandes
maestros y amigos que ayudaron en mí
desarrollo profesional, ético y moral.
Muchos buscan plenitud en tiempo y
espacio determinado y los llaman
“momentos especiales”, puedo decir
que me siento afortunado ya que en
medio
de
tristezas,
alegrías,
incertidumbre, festejos y dificultades, en
todos, he tenido personas invaluables a
mi lado y eso hizo que todos los
momentos sean especiales para mí.
A todos quienes supieron brindarme su
apoyo, mis más sincero y eterno gratitud
a cada uno de ellos.
Cristian Mauricio Gallrado Paredes
vii
ÍNDICE
APROBACIÓN DEL TUTOR
ii
AUTORÍA
iii
APROBACIÓN COMISIÓN CALIFICADORA
v
DERECHOS DE AUTOR
iv
DEDICATORIA
vi
AGRADECIMIENTO
vii
RESUMEN EJECUTIVO
x
ABSTRACT
x
SECCIÓN 1 Introduction
1 (500)
SECCIÓN 2 Bilateral Teleoperation System
3 (502)
SECCIÓN 3 Communication Channel: Cloud Computing Services
5 (504)
SECCIÓN 4
5 (504)
Remote Site: Robotic Arm
4.1 Kinematic and Dynamic Model
6 (505)
4.2 Control Design
7 (506)
4.2.1 Kinematic Controller
8 (507)
4.2.2 Controller with Dynamic Compensation
8 (507)
9 (508)
SECCIÓN 5 Local Site
SECCIÓN 6 Experimental Results
10 (509)
SECCIÓN 7 Conclusions
13 (512)
References
14 (513)
viii
INDICE DE FIGURAS
Fig. 1.
Block Diagram of the bilateral tele-operation system
3
Fig. 2.
Block diagram of the bilateral tele-operation system
4
Fig. 3.
FALCON Novint Technologies Incorporated
4
Fig. 4.
OpenStack: Infraestructure
6
Fig. 5.
The orthogonal projection of the point of interest over the path
7
Fig. 6.
Block diagram of the virtual environment
9
Fig. 7.
Robotic arm 6DOF developed at the University of the Armed Forces
10
ESPE
Fig. 8.
Local site of the tele-operation scheme
11
Fig. 9.
Robotic Arm 6DOF developed in SolidWorks
11
Fig. 10.
Stroboscopic movement of the robotic arm in Unity 3D
12
Fig. 11.
Comparison between the references generated by the human operator
13
and the actual velocities of the end effector (Color Figure online)
Fig. 12.
Evolution of the control actions of the robotic arm (color figure online)
ix
13
RESUMEN EJECUTIVO
Este trabajo presenta el diseño de un sistema de teleoperación bilateral de un brazo robótico. Se
propone un nuevo protocolo de comunicación prototipo con WebSockets para la comunicación
y JSON para la estructuración de datos en un entorno de computación en la nube con OpenStack
y OpenShift Origin. El operador humano recibe retroalimentación visual y fuerza desde el sitio
remoto, y envía los comandos de posición para el esclavo. Además, en el sistema de teleoperación se propone que el operador humano está inmerso en un entorno de realidad aumentada
para tener una mayor transparencia del sitio remoto. La transparencia de un sistema de teleoperación indica una medida de cómo el humano siente el sistema remoto. Finalmente, se
presentan los resultados experimentales para verificar el rendimiento del sistema propuesto.
ABSTRACT
This work presents the design of a bilateral teleoperation system for a robotic arms. It proposes
a new prototype communication protocol with Websockets for the communication and Json for
data structuration on a cloud computing environment with OpenStack and Openshift Origin. The
human operator receives visual and force feedback from the remote site, and it sends position
commands to the slave. Additionally, in the tele-operation system it is proposed that the human
operator is immersed in an augmented reality environment to have greater transparency of the
remote site. The transparency of a tele-operation system indicates a measure of how the human
feels the remote system. Finally, the experimental results are reported to verify the performance
of the proposed system.
x
Cloud Computing Services for Real Time
Bilateral Communication,
Applied to Robotic Arms
Cristian Gallardo1 and Víctor Hugo Andaluz1,2(&)
1
2
Universidad Técnica de Ambato, Ambato, Ecuador
[email protected]
Universidad de Las Fuerzas Armadas ESPE, Sangolquí, Ecuador
[email protected]
Abstract. This work presents the design of a bilateral teleoperation system for
a robotic arm. It proposes a new prototype communication protocol with
Websockets for the communication and Json for data structuration on a cloud
computing environment with OpenStack and Openshift Origin. The human
operator receives visual and force feedback from the remote site, and it sends
position commands to the slave. Additionally, in the tele-operation system it is
proposed that the human operator is immersed in an augmented reality environment to have greater transparency of the remote site. The transparency of a
tele-operation system indicates a measure of how the human feels the remote
system. Finally, the experimental results are reported to verify the performance
of the proposed system.
Keywords: Cloud computing
following Virtual reality
Bilateral teleoperation
Robotic arm
Path
1 Introduction
During the last decades, various models of field robots have been developed to take the
place of humans in dangerous tasks, such as rescue missions, Mars exploration, airport
patrols, and missions in war [1–3]. In order to operate in highly variable, unstructured,
unknown, or dynamic environments, an advanced tele-robotic system with increased
adaptability and human like manipulation capabilities is required. In general, a
tele-operation system is composed of a local site, where a human operator drives a
hand-controller named master; a remote site, where a robot named slave follows the
motion of the master to execute a given task in interaction with the environment; and a
communication channel that links both sites. The master is used to generate velocity or
position commands which are sent to the remote site, while the force due to the
interaction between the slave and the environment is back-fed to the human operator
through the actuators of the master [4–7].
Cloud computing is a paradigm in the way that the computing resources and
applications are used and delivered as a services. These main resources as a service are
computing, storage and the network infrastructure. Cloud computing refers to providing these resources as a service over the Internet to the public or in an organization
© Springer International Publishing Switzerland 2016
L.T. De Paolis and A. Mongelli (Eds.): AVR 2016, Part I, LNCS 9768, pp. 500–514, 2016.
DOI: 10.1007/978-3-319-40621-3_38
Cloud Computing Services for Real Time Bilateral Communication
501
that is of private use [8]. There are three types of cloud services and they differ in the
approach on how the resources are made available. The first approach is to make the
hardware infrastructure available as a service and is called Infrastructure as a Service
(IaaS). The second approach is to provide a platform (the OS along with the necessary
software, frameworks and tools) over the hardware infrastructure. This is called Platform as a Service (PaaS). The third approach is to provide the application as a service
and is called Software as a Service (SaaS) [9–12].
Recently, many researches about cloud communication are taking an increasing
interest in the field of robot services for manipulation and getting information from
them, e.g., Cloud-Based Robot services [13] that examining previous implementations
RT-Middleware, ROS and make a new proposal (RSNP) that is based on web service
technologies, similarly many researches have been made about cloud computing and
how we can interact with it, but almost all of this interactions are by standard protocol
http like http polling: that make a request to the server and the server answer this
request, other protocols that give more interaction client-server are: push comet, long
polling, flash, XMR, htmlfiles and others technologies like webservice. Cloud computing is a new wave in the field of technology information. Some see it as an emerging
field in computing. They it consists of a set of resources and services offered by
In-Internet. Therefore, “cloud computing” is also called “computer on the Internet.
“The word” cloud “is a metaphor to describe the Web as a space where the computer
was preinstalled and exists as a service. (Cloud Computing: Opportunities and Challenges) the main characteristic of cloud computing is the virtualization of network,
storage and compute [14–17].
In such context, this work proposes a bilateral teleoperation system in order to
allow the handling of objects. It comprises a robotic arm (slave) so that it can move and
manipulate objects. The human operator receives visual and force signals and sends
position commands generated by a haptic device (master) to the remote site; furthermore, the local site has proposed a virtual environment and augmented reality implemented in Unity3D. The augmented reality provides feedback of different signals from
the remote site in real time, so that through different haptic devices stimulate the senses
of sight, touch and hearing of the human operator so that it can “transmit” their skill,
experience and expertise to the robot to perform a task. Whereas for the channel
communication is proposed a new implementation of teleoperation-communication
(Robot + Cloud) but in the communication using WebSockets and Json data Structure
unlike in the works found in the literature. On the other hand, the design of the
teleoperation system structure is mainly composed by two parts, each one being a
controller itself. The first one is a minimum norm controller to solve the path following
problem which considered the desired position of the person to move of the arm. The
second one is a dynamic compensation controller, which receives as inputs the velocity
references calculated by the kinematic controller. To validate the proposed teleoperation system, results are included and discussed.
The work is organized as follows: in Sect. 2 describes the bilateral teleoperation
system proposed. Section 3 presents the implementation of communication channel
through the cloud computing services; while that the kinematic and dynamic modeling
of the robotic arm are shown in Sect. 4, also of the controllers design and the analysis
502
C. Gallardo and V.H. Andaluz
of the system’s stability. Next in Sect. 5 the design of the local site of the human
operator developed, and finally the results are presented and discussed in Sects. 6
and 7, respectively.
2 Bilateral Teleoperation System
A bilateral tele-operation system for a robotic arm is proposed, in which forward and
backward delay between local and remote sites are assumed to be irrelevant ðf1 ðtÞ ¼ 0
and f2 ðtÞ ¼ 0Þ. The proposed tele-operation system is shown in Fig. 1. In this system
both the force back-fed to the human operator are considered.
Fig. 1. Block diagram of the bilateral tele-operation system
For communication channel of the bilateral tele-operation system this work proposed a new implementation of teleoperation-communication (Robot + Cloud) with a
communication using websockets and Json data Structure as shown in Fig. 2. Websockets is a standardized communication protocol that give a full-duplex, bidirectional
channel communication and help to make scalable applications giving a high performance communication through Internet in this case on a cloud computing infrastructure; while that Json Data Structure (JavaScript Object Notation) is a light weight
format for data interchange.
On other hand, a given mission is generally composed of several operation processes, in this context the human operator controls the robotic arm by sending position
commands to the end-effector of the robot: hl , hm , and hn , one for each axis in respect to
the inertial frame RðX ; Y; ZÞ, using a haptic device hd ¼ ½ hl hm hn T . The human
operator commands are generated with the use of the FALCONTM from Novint
Technologies Incorporated as indicated in Fig. 3. Its positions Px , Py , and Pz are
translated into position commands hl , hm and hn for the manipulation mode, through the
following rotation matrix,
Cloud Computing Services for Real Time Bilateral Communication
2
3 2
hl
cosðq1 Þ
4 hm 5 ¼ 4 sinðq1 Þ
hn
0
32 3
sinðq1 Þ 0
Px
cosðq1 Þ 0 54 Py 5
0
1
Pz
503
ð1Þ
where q1 represents the first joint of the robotic arm that rotates about the axis Z.
Fig. 2. Block diagram of the bilateral tele-operation system
In the case of robotic manipulators, the force feedback is the result of a physical
interaction with the environment.
Fig. 3. FALCONTM Novint Technologies Incorporated
504
C. Gallardo and V.H. Andaluz
On the other hand, the human operator has the possibility of changing the desired
internal configuration of the robotic arm at any time during the execution of a mission,
through the visual display (HMI), i.e., g ¼ ½ q1d q2d qnd T . This desired
configuration vector may or may not have the values that maximize manipulability of
the robotic arm.
3 Communication Channel: Cloud Computing Services
The classification of communication infrastructure of the cloud computing is [13]
(i) Peer-based model where each virtual machine in the cloud is considered as a
computing unit and the robots and Vms form a fully distributed computing mesh;
(ii) Clone-based model where each robot corresponds to a system level clone in the
cloud. A task can be executed in the robot or in its clone. This model allows for
sporadic outage in the physical (Machine to machine) M2 M network; and (iii) ProxyBased Model in the group of networked robots, one unit functions as a group leader, the
communication with a proxy VM in the cloud infrastructure. For this work the
roxy-Based Model is implemented because this model has a best performance in the
communication speed. In our proposed model considers an internal cloud infrastructure
composed of three nodes, as shown Fig. 4., where, (a) Controller & Block Storage
node this node mainly contain: Controller administrate all the openstack resources,
administration of services, api end points, projects, users and roles. Block storage
service provides block storage devices to guest instances (Cinder service). Image
Storage service enables users to discover, register and retrieve virtual machine images
(Glance). Identity service perform tracking users and their permissions and providing a
catalog of available services with their API endpoints (Keystone). Dashboard service is
a web interface that enables cloud administrator and users to manage OpenStack
resources and services (Horizon); (b) Network & Object storage node this node mainly
contain: Network service allows to create and attach interface devices managed by
other OpenStack services to network (Neutron). Object Storage Service work together
to provide object storage and retrieval through a REST API (Swift); and finally
(c) Compute Node this node contain Compute Service allow to host and manage cloud
computing systems this host contain the Hypervisor (Nova).
4 Remote Site: Robotic Arm
The manipulator configuration is defined by a vector qðtÞ of n independent coordinates,
called generalized coordinates of the manipulator, where q ¼ ½ q1 q2 qn T
represents the generalized coordinates of the robotic arm. The configuration q is an
element of the manipulator configuration space; denoted by N . The location of the
end-effector of the mobile manipulator is given by the m–dimensional vector h ¼
½ h1 h2 hm T which defines the position and the orientation of the end-effector
of the manipulator in R. Its m coordinates are the operational coordinates of the
manipulator. The set of all locations constitutes the manipulator operational space,
denoted by M.
Cloud Computing Services for Real Time Bilateral Communication
505
Fig. 4. OpenStack: Infrastructure
4.1
Kinematic and Dynamic Model
The kinematic model of a robotic arm gives the derivative of its end-effector location as
a function of the derivatives of both the robotic arm configuration and the location of
the mobile platform,
h_ ðtÞ ¼ JðqÞq_ ðtÞ
ð2Þ
where JðqÞ is the Jacobian matrix that defines a linear mapping between the vector of
the robotic arm velocities q_ ðtÞ and the vector of the end-effector velocity h_ ðtÞ.
On the other hand, the mathematic model that represents the dynamics of a robotic
arm can be obtained from Lagrange’s dynamic equations, which are based on the
difference between the kinetic and potential energy of each of the joints of the robot
(energy balance) [18]. The dynamic model of the robotic arm, having as control signals
the reference velocities of the system, can be represented as follows [19],
506
C. Gallardo and V.H. Andaluz
MðqÞ€
q þ Cðq; q_ Þq_ þ gðqÞ ¼ q_ ref
ð3Þ
þ PÞ, gðqÞ¼ H1 gðqÞ. Thus, MðqÞ 2
þ DÞ, Cðq; q_ Þ¼ H1 C
where, MðqÞ ¼ H1 ðM
dn x dn
ðq; vÞv 2 <dn , G
ðqÞ 2 <dn and q_ ref 2 <dn is the
<
is a positive definite matrix, C
vector of velocity control signals, H 2 <dn x dn , D 2 <dn x dn and P 2 <dn x dn are constant
symmetrical diagonal matrices, positive definite, that contain the physical parameters of
the robotic arm, e.g., motors, velocity controllers. More details about the dynamic
model (5) can be found in [19].
4.2
Control Design
From the viewpoint of control theory, the end-effector of the robotic arm must follow the
path desired by a person and generated through brain signals, as shown in Fig. 5. As
represented in Fig. 5, the path to be followed is denoted as
, where
; the actual desired location Pd ðsD Þ ¼ ðxP ðsD Þ;
yP ðsD ÞzP ðsD ÞÞ is defined as desired point of the person, i.e., the closest point on
,
with sD being the curvilinear abscissa defining the point Pd ; ~x ¼ xP ðsD Þ x is the position
error in the
direction; ~y ¼ yP ðsD Þ y is the position error in the direction; ~z ¼
zP ðsD Þ z is the position error in the direction; q represents the distance between the
end-effector position of the robotic arm hðx; y; zÞ and the desired point for the person Pd ,
~ ¼ 0 q ¼ q, i.e., the desired distance
where the position error in the q direction is q
between the end-effector position hðx; y; zÞ and the desired point Pd must be zero.
Fig. 5. The orthogonal projection of the point of interest over the path
Hence, the path following problem is to find the control law for the robotic arm as a
function of the control errors (position and orientation of the end-effector) and the
desired velocities of the end-effector
Cloud Computing Services for Real Time Bilateral Communication
q_ ref ðsD ; hÞ ¼ f ðqðt; sÞ; tP ðsD ; hÞÞ
507
ð4Þ
such that ~x ¼ 0, ~y ¼ 0 and ~z ¼ 0. Therefore, if lim ~xðtÞ ¼ 0, lim ~yðtÞ ¼ 0 and
lim ~zðtÞ ¼ 0 then lim qðtÞ ¼ 0.
t!1
t!1
t!1
t!1
4.2.1 Kinematic Controller
The design of the kinematic controller of the robotic arm is based on the kinematic
model of the arm (4). The following control law is proposed
~ þ I J# J LB tanh L1 B K
q_ c ¼ J# td þ LK tanh L1
K Kh
B
ð5Þ
1
where J# ¼ W1 JT JW1 JT , being W a definite positive matrix that weighs the
~
control actions of the system, td is the desired velocities vector of the end-effector h, h
~ ¼ hd h, B and LB are definite positive
is the vector of control errors, defined as h
diagonal matrices that weigh the vector K. In order to include an analytical saturation
of velocities in the robotic arm the use of the tanh (.) function is proposed, which limits
~ and the magnitude of the vector K. The second term of (5) represents the
the error in h
projection on the null space of J, where K is an arbitrary vector which contains the
velocities associated to the robotic arm. Therefore, any value given to K will have
effects only on the internal structure of the arm, and will not affect the final control of
the end-effector at all. By using this term, different secondary control objectives can be
achieved effectively [20].
4.2.2 Controller with Dynamic Compensation
The proposed kinematic controllers presented in Subsect. 4.2.1 assume perfect velocity
tracking; nevertheless this is not true in real contexts, i.e., q_ ðtÞ 6¼ q_ c ðtÞ, mainly when
high-speed movements or heavy load transportation are required. Therefore, it becomes
essential to consider the robot’s dynamics, in addition to its kinematics. Then, the
objective of the dynamic compensation controller is to compensate the dynamics of the
system, thus reducing the velocity tracking error. This controller receives as inputs the
desired velocities calculated by the kinematic controllers, and generates velocity references for the mobile platform and robotic arm. Hence, relaxing the perfect velocity
~_ ðtÞ¼ q_ c ðtÞq_ ðtÞ. This
tracking assumption, there will be a velocity error defined as, q
velocity error motivates the dynamic compensation process, which will be performed
based on the inverse dynamics of the system. With this aim, the exact model of the
system without disturbances is considered, thus the following control is proposed,
q_ ref ¼ MðqÞr þ Cðq; q_ Þq_ þ gðqÞ
ð6Þ
_ . Now, Replacing (6) in (5) it results
€
~
~c þ Lv tanh L1
where r ¼ q
q
K
v
v
1
€
_
~ þ Lv tanh Lv Kv q
~ ¼ 0. For the stability analysis the following Lyapunov’s
q
508
C. Gallardo and V.H. Andaluz
T
~_ ¼ 12q
~_ ¼
~_ q
~_ , its time derivative is V_ q
candidate function is considered V q
T
~_ Lv tanh L1
~_ \0. Thus it can be immediately concluded that the error vector
q
v Kv q
~_ ðtÞ ¼ 0 asymptotically, provided that Kv and Lv are symmetrical positive definite
lim q
t!1
matrices.
5 Local Site
The local site consists of a virtual reality and augmented to allow the human operator to
have greater transparency in the remote site reality, as illustrated by the Fig. 6. The
Fig. 6 can be described in two stages, the first stage is (A) Inputs, These let read all the
variables considered in the bilateral tele-operation of both the robot and the environment in which develops the task, entries that are processed in the script are: (i) Output
states of the robot, represents the variables that describe the robot kinematics
q ¼ ½ q1 q2 qn T . In the script, the data acquired from the platform q are
Fig. 6. Block diagram of the virtual environment
Cloud Computing Services for Real Time Bilateral Communication
509
assigned to the characteristic of Rotation for each joint of the simulated arm Game
Object; (ii) Desired positions through the FALCONMT haptic device emit the desired
location hd ¼ ½ hl hm hn T for manipulation mode. The script obtains the variation
of position in world coordinates by a Game Object that simulates the movement of the
end-effector of FALCONMT haptic device in space. (iii) Video and audio transmits the
image and audio captured by the camera located at the end-effector of the robot; (iv)
Fictitious force is produced by a sensor that maps the area in which the robot can be
moved freely; y finally (v) Oculus Positional Tracking modifies the rotation of the
camera in the virtual and / or augmented environment, corresponding to the movement
performed by the human operator when using the Head-mounted Display, HMD, in
order to have a greater immersion in the experience of using the application.
Furthermore, the second stage of Fig. 6 is (B) Outputs Script that recreates the
sensations that the human operator should feel if he were at the remote site, this paper
considers three ways that help the human operator to “transmit” their ability and
experience to the robot to perform a task.
6 Experimental Results
In order to illustrate the performance of the proposed tele-operation structure, several
simulation experiments are carried out for control of a robotic arm, most representative
results are presented in this section. The experiments were carried with the kinematic
and dynamic models of a robotic arm 6 DOF which was developed at the University of
the Armed Forces ESPE (only 3 DOF of the 6 available DOFs are used in the
experiments, see Fig. 7). The links of the robotic arm are controlled by a network of
servomotors Dinamixel communicated via a RS-485 interface. Therefore to give
greater scalability for future functions of the cloud computing environment are used
three computers with the same characteristics, intel core i7-3770 Processor, 6 GB ram
memory, two Hard disk sata connection of 750 GB for each computer, CentOS Linux 7
X64 with minimal install for the base system, the network connection are using Cat6a
devices, for The IaaS infrastructure of the Cloud-Computing environment was used
Fig. 7. Rootic arm 6DOF developed at the University of the Armed Forces ESPE
510
C. Gallardo and V.H. Andaluz
OpenStack Kilo, then created a OpenShift project with php5.4 support on the cloud
infrastructure for the communication service and presentation of the data.
The local site has an Oculus Rift HMD and a haptic device FALCONTM Novint.
To transmit the comands generated by humans with was used a FALCONTM haptic
device from Novint Technologies Incorporated as indicated in Fig. 8; while the Fig. 9
shown a robotic arm 6DOF developed in SolidWorks.
Fig. 8. Local site of the tele-operation scheme
Fig. 9. Rootic Arm 6DOF developed in SolidWorks
The FALCONTM Novint communication functions were developed in C ++ language
to create dynamic link libraries to use on LabView environment to get FALCONTM signals,
for testing of FALCONTM hosts were used windows 8.1 X64 and windows 7 X86, for test
Cloud Computing Services for Real Time Bilateral Communication
511
of C ++ dll compatibility on each Operative System. On labView was created some
operations and functions, the data that will be send are set in Json data structure, to
encapsulate and send to the cloud was used websocket protocol, for keeping the connection
on the cloud with all the clients, each client must set a id and store the connection in a
structure list in memory where the data will be decoded and will show information of the
origin, the destination and the message, on the server for manage all the connections thread,
the service on the host were developed with php + javascript + html languages with
phpwebsockets, the fancywebsocket libraries and codeigniter framework. The connection
to the cloud of the arm and the functions are developed with C ++ language on GNU/Linux
Operative System.
Hence, Figs. 10–12 show the results of the experiment of bilateral tele-operation.
Figure 10 shows the stroboscopic movement on the X-Y-Z space of Unity3D. Figure 11
shows a comparison between the reference generated by the human operator and the
Fig. 10. Stroboscopic movement of the robotic arm in Unity 3D.
512
C. Gallardo and V.H. Andaluz
Eje x
[m/s]
1
0
-1
0
5
10
15
20
25
Tiempo [s]
Eje y
30
35
40
45
50
5
10
15
20
25
Tiempo [s]
Eje z
30
35
40
45
50
5
10
15
20
25
Tiempo [s]
30
35
40
45
50
[m/s]
1
0
-1
0
[m/s]
0.2
0
-0.2
0
Comandos del operador
Velocidades del Robot
Fig. 11. Comparison between the references generated by the human operator and the actual
velocities of the end effector (Color figure online)
0.2
0.1
V. Angular [rad/s]
0
-0.1
-0.2
-0.3
-0.4
-0.5
-0.6
-0.7
0
Art. 1
5
Art. 2
10
Art. 3
15
20
25
Tiempo [s]
30
35
40
45
50
Fig. 12. Evolution of the control actions of the robotic arm (Color figure online)
actual velocities of the end effector; while the Fig. 12 depicts the time evolution of the
control actions for the joints of the robotic arm.
7 Conclusions
In this paper a bilateral tele-operation system is proposed, in this system is considers
that human operator has greater transparency of the remote. This system allows a
human operator to perform complex tasks in a remote environment with a robotic arm.
The teleoperation system use a communication channel that implements a new prototype of communication protocol with WebSockets and Json data structures on a cloud
computing environment with OpenStack. Therefore, experimental results were also
presented showing the feasibility and the good performance of the proposed teleoperation structure.
Cloud Computing Services for Real Time Bilateral Communication
513
Acknowledgment. The authors would like to thanks to the Consorcio Ecuatoriano para el
Desarrollo de Internet Avanzado -CEDIA-, Universidad de las Fuerzas Armadas ESPE and the
Universidad Técnica de Ambato for financing the project Tele-operación bilateral cooperativo
de múltiples manipuladores móviles – CEPRAIX-2015-05, for the support to develop this paper.
References
1. Andaluz, V.H., Canseco, P., Varela, J., Ortiz, J.S., Pérez, M.G., Morales, V., Robertí, F.,
Carelli, R.: Modeling and control of a wheelchair considering center of mass lateral
displacements. In: Liu, H., Kubota, N., Zhu, X., Dillmann, R. (eds.) ICIRA 2015. LNCS,
vol. 9246, pp. 254–270. Springer, Heidelberg (2015)
2. Slawinski, E., Mut, V.: PD-like controllers for delayed bilateral teleoperation of
manipulators robots. Int. J. Robust Nonlinear Control 25(12), 1801–1815 (2015)
3. Voth, D.: A new generation of military robots. Intell. Syst. 19(4), 2–3 (2004)
4. Sheridan, T.B.: Telerobotics, Automation, and Human Supervisory Control. The MIT Press,
Cambrige (1992)
5. Stramigioli, S., Mahony, R., Corke, P.: A novel approach to haptic tele-operation of aerial
robot vehicles. In: Proceedings of the IEEE International Conference on Robotics and
Automation (ICRA 2010), pp. 5302–5308, May 2010
6. Niculescu, S.-I., Taoutaou, D., Lozano, R.: Bilateral teleoperation with communication
delays. Int. J. Robust Nonlinear Control 13(9), 873–883 (2003)
7. Yin, S., Ding, S.X., Xie, X., Luo, H.: A review on basic datadriven approaches for industrial
process monitoring. IEEE Trans. Ind. Electron. 61(11), 6414–6428 (2014)
8. Griffith, R., Joseph, A.D., Katz, R., Konwinski, A., Lee, G., Patterson, D., Rabkin, A.,
Stoica, I., Armbrust, M., Fox, A., Zaharia, M.: Above the clouds: A berkeley view of cloud
computing [white paper] (2009). http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS2009-28.pdf
9. Amazon ec2. amazon elastic compute cloud (2009). http://aws.amazon.com/ec2/
10. Google app engine (2009). http://code.google.com/appengine/
11. Wurm, K.M., Stachniss, C., Burgard, W.: Coordinated multi-robot exploration using a
segmentation of the environment. In: International Conference on Intelligent Robots and
Systems (2008)
12. Fox, D.: Distributed multi-robot exploration and mapping. In CRV 2005: Proceedings of the
2nd Canadian Conference on Computer and Robot Vision, pp. 15–xv. IEEE Computer
Society, Washington, DC (2005)
13. Dhiyanesh, B.: Dynamic Resource Allocation for Machine to Cloud Communications
Robotics Cloud. In: IEEE International Conference on Emerging Trends in Electrical
Engineering and Energy Management, pp. 451–454 (2012)
14. Guizzo, E.: Robots with their head in the clouds. IEEE Spectrum, Robotics, March 2011
15. Asaro, P.: Remote-control crimes: roboethics and legal jurisdictions of tele-agency, Special
issue on Roboethics, Veruggio, G., Van der Loos, M., Solis, J. (eds.) IEEE Robot. Autom.
Mag. 18(1), 68–71 (2011)
16. Shiraz, M., Sookhak, M., Gani, A., Shah, S.A.A.: A Study on the critical analysis of
computational offloading frameworks for mobile cloud computing. J. Netw. Comput. Appl.
47, 47–60 (2015)
17. Riazuelo, L., Civera, J., Montiel, J.M.M.: C2TAM: a cloud framework for cooperative
tracking and mapping. Robot. Auton. Syst. 62(4), 401–413 (2014)
514
C. Gallardo and V.H. Andaluz
18. Siciliano, B., Sciavicco, L., Villani, L., Oriolo, G.: Robotics: Modeling, Planning, and
Control. Springer, London (2009). ISBN 978-1-84628-641-4
19. Andaluz, V., Roberti, F., Carelli, R.: Robust control with redundancy resolution and
dynamic compensation for mobilemanipulators. In Proc. of the IEEE-ICIT International
Conference on Industrial Technology, pp. 1449–1454 (2010)
20. Bayle, B., Fourquet, J.-Y.: Manipulability analysis for mobile manipulators. In: Proceedings
of the IEEE International Conference on Robots & Automation, pp. 1251–1256 (2001)