Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Virtual user interface for industrial robots off-line programming &
simulation and video cam on-line remote operation
POPA STELIAN, NICOLESCU ADRIAN, IVAN MARIO, PASCU NICOLETA
Machines and Manufacturing Systems
University POLITEHNICA of Bucharest
313 Splaiul Independentei, Sector 6, Bucharest, CP 060042
ROMANIA
[email protected], [email protected], [email protected],
[email protected], www.upb.ro
Abstract: - This paper presents the main development steps of a virtual user interface dedicated for industrial
robot’s off-line programming and simulation as well as remote on-line operation of a video cam, both of them
integrated in the same software platform, as backgrounds of a virtual robotics laboratory developed inside
Microsoft Robotics Developer Studio (MRDS). There are successively presented overall hardware – software
concept, as well as stages of development for: the virtual prototype of existing robot developed in CATIA V5
solid modeler, the decomposition of IR’s virtual prototype in cinematic modules and their transformation in
Blender software for achieving appropriate file types to be imported in MRDS, the redefinition of cinematic
modules in MRDS environment as well as final results obtained by implementation of the direct and inverse
cinematic algorithms for off-line IR’s programming and simulation. Complementary to previously mentioned
facilities, the software module for remote on-line operation of the video cam monitoring the activity of the
virtual laboratory is illustrated too.
Key-Words: - industrial robotics, remote operation, simulation, virtual laboratory, MRDS
1 Introduction
Virtual laboratories represent today the most
efficient and modern modality for sharing hardware
resources existing in a single laboratory, training
office or research facility. For getting access as well
as operation of existing hardware facilities the most
important issue is to have on disposal a dedicated
user interface able to allow maneuvering but in the
meantime preserving the security of the whole set of
hardware facilities that are to be operated. From
these points of view robotics laboratories have
specificity in operation and involve configuration of
the specific user interface, a possible approach to
solve these problems being the results of the works
presented in this paper.
2 Minimum required hardware /
software structure of virtual lab
Different ways of developing such software &
hardware platform were analysed [1], [2], [3], [4]
and finally the following conclusions were revealed
[5], [6]:
Hardware needed (Fig.1) to implement virtual
laboratory structure must contain at least:
- a PC application server that performs functions
associated with laboratory;
- industrial robot(s) and their controller equipped
with facilities for interconnection to a PC /
server;
- a PC / server for the industrial robot’s controller
operation;
- a video camera, preferably IP-camera;
- a video server system;
- a PC on which the client user accesses the
structure above.
In terms of necessaries components the software
platform should include:
- a web server specific applications;
- an application server for industrial robot(s);
- a database server;
- a video server specific applications;
- a virtual user interface for offline programming
and simulation of the industrial robot and IP
camera on-line remote operation.
Recent Advances in Robotics, Aeronautical and Mechanical Engineering
ISBN: 978-1-61804-185-2 100
Figure 1. Hardware / software platform of virtual lab [7]
3 Virtual laboratory operation
principles
From local machine (which can be in any location:
classroom, office, home) the student calls via a web
browser the URL of virtual laboratory. The
homepage contains general information about the
virtual laboratory. The website includes 3 main
sections: administration, reserved area for logged in
members and the public section. Public section can
be accessed without any restrictions while the
member and administration areas are protected with
usernames and passwords.
Access in member’s area is granted based on
username and password. Those credentials used by
clients to login are previously generated by the
system administrator format physical and the virtual
lab. If the client/student does not have this data, he
can apply by filling in a registration form which will
be validated by the system administrator.
After successful authentication, the student will be
able to access the member area that provides access
to laboratory resources: course materials, program
sequences, images and movies of practical
applications of robots in the lab, tutorials, software
Recent Advances in Robotics, Aeronautical and Mechanical Engineering
ISBN: 978-1-61804-185-2 101
application to operate the virtual laboratory. On the
same section users can download the software
application in which the student can edit and
simulate off-line programs for virtual models of
robots / complementary equipment existing in the
laboratory as well as access and direct on-line
control of a remote operation video camera.
To be able to work within virtual laboratory, the
user needs to download and install the off-line
operation application. Then he starts the basic
operating tasks of programming and off-line
simulation in parallel with manual interaction /
tutorials specific to it, until reaching the level of
skill / competency required to develop a full
application for industrial robot(s) Kawasaki FS10
[10] and ABB IRB 140.
After editing and offline programming & simulation
of a specific program (for the moment available
only for Kawasaki FS10 industrial robot), the user
can save his work on the application server.
Saved programs in users account are reviewed and
validated by the system administrator. If developed
correctly, a program is loaded into real robot
controller, allocating him a certain amount of time
to run on the real system while the user can watch a
live steam. Otherwise is informed that he needs to
review and correct found errors.
Verified and good programs are added to an
execution queue on application server and each
process has a time slot. Within this time slot, the
author can login and view the execution of his
program. After logging-in he can see how an
execution is performed by the real system. At this
stage the program is run without the intervention of
the student in developing robot software (robot
operation is done only on program previously
validated by the system administrator). To view
program execution user must connect their PC
image acquisition system type camera connected to
real lab equipment through dedicated user interface
module (module connection / remote camcorder).
During program execution student can directly
control the camera angles modifying the direction
and camera orientation or type commands that
zoom-in/zoom-out.
The visualisation is made thru 2 windows: one with
images captured from the video camera and the
other one with virtual simulation of Kawasaki robot
functioning.
Using simulation, users are able to study off-line
direct and inverse kinematics of the robot
(Kawasaki FS10) and track program execution step
by step.
4 Virtual user interface design Fully operable virtual laboratory has implemented
following components [7]:
Web server :
- Linux operating system (CentOS 6.0);
- Apache HTTP server;
- MySQL database server;
- PHP application for platform management
(website and administration tasks)
4.1. Offline programming and video cam
remote operation applications development
Analyzing the complexity of application, decision to
use one of many available frameworks was made
and after comparison of advantages and
disadvantages of different solutions, Microsoft
Robotics Developer Studio (MRDS) [8], [9] was
chosen. MRDS is a Windows-based environment
for robot control and simulation. It is aimed at
academic, hobbyist, and commercial developers and
handles a wide variety of robot hardware. MRDS is
based on CCR (Concurrency and Coordination
Runtime): NET-based concurrent library
implementation for managing asynchronous parallel
tasks. This technique involves using message-
passing and a lightweight services-oriented runtime,
DSS (Decentralized Software Services), which
allows the orchestration of multiple services to
achieve complex behaviour.
Features include: a visual programming tool,
Microsoft Visual Programming Language for
creating and debugging robot applications, web-
based and windows-based interfaces, 3D simulation
(including hardware acceleration), easy access to a
robot's sensors and actuators. The primary
programming language is C#.
MRDS have four main components:
• CCR (Concurrency and Coordination Runtime)
• DSS (Decentralized Software Services)
• VPL (Visual Programming Language)
• VSE (Visual Simulation Environment)
Only CCR and DSS were actively used. The CCR is
a programming model for handling multi - threading
and inter - task synchronization and DSS is used for
building applications based on a loosely coupled
service model. Services can run anywhere on the
network, so DSS provides a communications
infrastructure that enables services to transparently
run on different nodes using all of the same CCR
constructs that they would use if they were running
locally.
Recent Advances in Robotics, Aeronautical and Mechanical Engineering
ISBN: 978-1-61804-185-2 102
In order to allow graphical representation of
industrial robots in MRDS, the virtual prototy
to be developed as an *.obj file type.
However, it is usually more convenient to use a
dedicated 3D solid modeller for developing IR’s
virtual prototype. For benefiting about the
advantages of using such kind of 3D solid modeller
is necessary to have the possibility to export the
virtual prototype and as well importing
file type. Because a direct export from
not possible, was need to be used an
software for converting prototype files.
To define the virtual prototype of a Kawasaki
FS10E industrial robot have been used all technical
information included in IR’s data sheet
as well as some specific dimensional measurements
made directly on the IR.
Figure 2. Kawasaki FS 10E robot characteristics
Using CATIA V5 we created first the prototype for
the robot (Fig 3a), than decompose it taking account
of partially IR’s assemblies as well as specific IR’s
major cinematic joint’s. Each partially assembly
defined as above has been processed for exporting it
from Catia, as *.wrl files extension (Virtual Reality
Modeling Language) (Fig 3b). Afterwards
files were imported in Blender (a free and open
source 3D computer graphics software product
for 3D modeling) and it were transformed in *.obj
files, in order to be compatible with MRDS software
platform (fig. 4a). After importing them into MRDS
each IR’s joint / IR’s degree of freedom
defined in MRDS accordingly a specific algorithm,
(fig. 4b).
a
Figure 3. Robot's overall virtual prototype: a) in Catia
V5, b) in Blender [7]
graphical representation of
in MRDS, the virtual prototype had
However, it is usually more convenient to use a
dedicated 3D solid modeller for developing IR’s
virtual prototype. For benefiting about the
such kind of 3D solid modeller
ve the possibility to export the
ing it as an *.obj
. Because a direct export from CATIA it is
an intermediate
files.
o define the virtual prototype of a Kawasaki
robot have been used all technical
information included in IR’s data sheet (Fig. 2) [10],
as well as some specific dimensional measurements
robot characteristics [10]
the prototype for
decompose it taking account
of partially IR’s assemblies as well as specific IR’s
major cinematic joint’s. Each partially assembly
processed for exporting it
extension (Virtual Reality
Afterwards *.wrl
free and open-
3D computer graphics software product used
transformed in *.obj
, in order to be compatible with MRDS software
After importing them into MRDS
IR’s joint / IR’s degree of freedom, has been
defined in MRDS accordingly a specific algorithm,
b
virtual prototype: a) in Catia
a Figure 4. Robot's partally assemblies virtual prototype: a)
*.obj files in Blender corresponding to each partially
assembly, b) IR’s joint definition
Figure 5. Robot's off-line programing and simulation.
User interface presenting specific
obtained by direct cinematic operation in
b
Figure 4. Robot's partally assemblies virtual prototype: a)
corresponding to each partially
joint definition in MRDS [7]
line programing and simulation.
User interface presenting specific robot’s configuration
obtained by direct cinematic operation in MRDS [7]
Recent Advances in Robotics, Aeronautical and Mechanical Engineering
ISBN: 978-1-61804-185-2 103
Figure 6. Robot's off-line programing and simulation.
User interface presenting specific robot’s configuration
obtained by reverse cinematic operation in
Figure 7. Video cam on-line remote operation. User
interface presenting facilities for left / right, up / down
and zoom-in / zoom-out direct cam control in
line programing and simulation.
User interface presenting specific robot’s configuration
obtained by reverse cinematic operation in MRDS [7]
line remote operation. User
interface presenting facilities for left / right, up / down
out direct cam control in MRDS [7]
4.2. Industrial robot’s
and video cam remote operation
System orientation used in MRDS
To define an articulated entity
together) we used a “Joint
degrees of freedom: three angular and three linear
and can be represented as a joint frame
the right - handed convention
joint frame are called the local axis, the normal axis,
and the binormal axis as shown above.
Figure 8. MRDS Joint Frame
Properties definition of a Joint Object
The joint properties define how the joint behaves
and how it attaches to the entities it joins. A joint
may contain a reference to a
“JointAngularPropertiesclass
more angular degrees of freedom. It may also
contain a reference to a
“JointLinearPropertiesclass
linear degrees of freedom. It must always contain a
two - element array of
references to specify how it attaches to each entity.
Functions and classes used for writing services that
interact with simulation engine extended base
classes defined in “RoboticsCommon.dll
“SimulationCommon.dll”.
below:
• “Vector2”, “Vector3”,
that contains number of floating
used to represent 2D and 3D o
• Quaternion - 3D rotations are represented by the
physics engine as quaternions;
• “Pose”: A Pose defines the position and
orientation of an entity within the simulation
environment. It consists of a
and a “Quaternionorientation
offline programming
and video cam remote operation in MRDS
orientation used in MRDS
To define an articulated entity (two entities joined
Joint” object. It has up to 6
of freedom: three angular and three linear
and can be represented as a joint frame that follows
vention. The three axes in a
joint frame are called the local axis, the normal axis,
and the binormal axis as shown above.
Figure 8. MRDS Joint Frame
Properties definition of a Joint Object
The joint properties define how the joint behaves
and how it attaches to the entities it joins. A joint
may contain a reference to a
JointAngularPropertiesclass” to unlock one or
more angular degrees of freedom. It may also
contain a reference to a
JointLinearPropertiesclass” to unlock one or more
linear degrees of freedom. It must always contain a
element array of “EntityJointConnector”
references to specify how it attaches to each entity.
Functions and classes used for writing services that
nteract with simulation engine extended base
RoboticsCommon.dll” and
The most used are listed
, “Vector4: are structures
that contains number of floating - point values
represent 2D and 3D objects;
3D rotations are represented by the
physics engine as quaternions;
defines the position and
orientation of an entity within the simulation
environment. It consists of a “Vector3position”
Quaternionorientation”.
Recent Advances in Robotics, Aeronautical and Mechanical Engineering
ISBN: 978-1-61804-185-2 104
• “Entity” is the base type for all entities in the
simulation environment and contains all of the
information common to both the simulation
engine and the physics engine;
• “EntityState”: This type contains information
about the entity such as its “Pose”, “Velocity”,
“Angular Velocity”, and “Name”
• “SimulationState” contains information about
the “Main Camera” and a list of all the entities
in the simulation environment.
• “Box Shape Properties” “Capsule Shape
Properties” hold state information about each
of the shape objects supported by the physics
engine.
• “BoxShape”, “CapsuleShape” are shapes
created from their associated shape properties.
They contain a reference to the actual physical
shape representation in the AGEIA physics
engine.
Simulation service
Building the simulation service implies
definition of certain global entities like: a floor,
a work scene, a model for the industrial robot.
The simulation engine communicates with a
view camera.
Conclusions:
This paper presents a synthesis of results obtained
in PHD thesis “Research on the development of
virtual user interfaces for applications in robotics
remote operation” showing the contribution made in
hardware-software platform of virtual laboratory for
industrial robots as well as the development process
for an advanced user interface elaborated in MRDS
for offline programming and simulation of industrial
robots by using direct/reverse cinematic and online
remote operation in association with a IP cam.
All developments has been achieved for a Kawasaki
FS 10 E industrial robot and are under development
for a second industrial robot (ABB IR 140 model)
5. Acknowledgements
The work has been funded by the Sectorial
Operational Program Human Resources
Development 2007-2013 of the Romanian Ministry
of Labor, Family and Social Protection through the
Financial Agreement POSDRU ID 5159.
References:
[1] Ravindra T, Luke H. H., Dr. Shi-Jer L. C. Ray
D, Controlling Robot Through Internet Using
Java, Journal of Industrial Technology Volume
20, Number 3 - June 2004
[2] Xiaoli Y., Qing C., Virtual Reality Tools for
Internet-Based Robotic Teleoperation, IEEE
International Symposium on Distributed
Simulation and Real-Time Applications DS-
RT’04, 2004
[3] F. A. Candelas Herías, C. A. Jara Bravo, F.
Torres Medina, Flexible virtual and remote
laboratory for teaching Robotics, Current
Developments in Technology-Assisted
Education 2006
[4] C.A. Jara, F.A. Candelas and F. Torres,
RobUaLab.ejs: a new tool for robotics e-
learning, REV2008 - www.rev-conference.org,
2008
[5] Dorin A. Nicolescu A. Popa S. - Software
architecture of the internet-based robotic
systems for teleoperation, Proceedings of the
International Conference on Manufacturing
Systems – ICMaS Vol. 4, November 5-6, 2009,
Bucharest, Romania, ISSN 1842-3183,
Romanian Academy Publishing House, 2009,
pag 91 – 98
[6] Popa S., Briceag C., Nicolescu A., Dorin A., -
“Software platform for virtual laboratory
operation by remote control of industrial
robots”, “The 21st DAAAM International
Symposium Intelligent Manufacturing &
Automation”, University of Zadar, Zadar,
Croatia, 20-23 October 2010, ISSN 1726-9687,
ISBN 978-3—901509-73-5, pag 1061-1062
[7] Popa S. “Cercetări privind dezvoltarea de
interfeţe utilizator virtuale pentru aplicaţii de
teleoperare în robotică”, PhD Thesis Scientific
Report 2, September 2011, Politehnica
University of Bucharest, Romania
[8] Professional Microsoft Robotics Developer
Studio. Trevor Taylor, Kyle Johns, ISBN-10:
0470141077, 2008
[9] Microsoft Robotics Developer Studio – MSDN
http://msdn.microsoft.com/en-
us/library/bb648760.aspx
[10] Kawasaki FS10E user manual, 2010
Recent Advances in Robotics, Aeronautical and Mechanical Engineering
ISBN: 978-1-61804-185-2 105