A Robotic Off-Line Programming System Based On SolidWorks
A Robotic Off-Line Programming System Based On SolidWorks
Abstract— It is well known that off-line programming (OLP) and research institutions. The OLP systems from the first
is an efficient control mode for industrial robots. However, two sources are usually commercial and very expensive.
OLP is not yet commonly and widely used in applications, Therefore, many institutions developed their own systems
since commercial OLP systems are very expensive, with prices
even much higher than those of robotic systems themselves. based on CAD software or toolkits, such as AutoCAD,
Simple but effective OLP systems are desired, and such systems SolidWorks, OpenGL and VRML. Typical OLP softwares
may be made based on other commonly used CAD systems. include Tecnomatix Robcad, DELMIA D5/V5, Robotworks
We have developed a robotic OLP system, which we called and so on.
RobSim, based on SolidWorks and with Microsoft Visual Tecnomatix Robcad enables design, simulation, optimiza-
Studio 2010. RobSim is developed as an add-on tool for the
commonly used CAD software SolidWorks. With this OLP tion, analysis, off-line programming of multi-devices and
system, an object can be made, imported or modified in the manufacturing process for its production resources [4]. With
conventional mode in SolidWorks environment, and various Robcad, manufacturers are able to achieve desired manufac-
trajectories for a robot can be easily and conveniently defined turing ideas to practical automatic manufacturing process.
and modified in the same environment. Trajectory interposition, DELMIA is a widely used software system combining
kinematic computation, dynamic and graphic simulation can
be conducted. Finally executable codes can be generated for robotics and manufacturing for industrial applications [5].
the robot to perform tasks. In this paper, the development In a 3D simulation environment, DELMIA can test and
of RobSim is demonstrated. Specifically, the architecture of optimize the robot programs. The outstanding features of
RobSim, the method for extracting position and orientation DELMIA are the ”toolboxes”, which are available to pro-
from a pre-defined path on an object for the robot tool, and path gram with numerous functions. These functions are useful in
transformation, are presented. Simulation and experiments are
also conducted to verify the effectiveness of the OLP system. various special areas, such as target definition, reachability
analysis, collisions testing, path planning, etc. RobotWorks
I. I NTRODUCTION is a robotic CAD system running on SolidWorks, especially
useful for workcell design, motion simulation and path pro-
As well known, robots play important roles in modern gramming [6]. These function modules use the SolidWorks
industrial production. Motion planning and control of a robot graphics and internal engine to create a robot path quickly
is one of the basic problems to be solved for industrial appli- along faces, edges and curves of CAD objects.
cations such as welding, polishing, painting, carving and so Other OLP softwares developed by robot manufacturers
on. Compared with teaching-and-playback method, off-Line include RobotStudio (ABB), KUKA.Sim Pro (KUKA) and
Programming (OLP) is a more effective and efficient mode MELFA Works (Mitsubishi) etc. RobotStudio provides vari-
to plan and control motion of robots for many industrial ous tools to increase efficiency of manufacturing tasks such
applications, especially for those tasks on complex surfaces as welding, polishing, teaching and multi-devices coordinate
or along complicated trajectories, as aforementioned. A OLP motion planning [7]. KUKA.Sim Pro is developed for off-line
system allows engineers to simulate production first in a programming of KUKA robots, which is connected to the
visual graphic environment, and then control a real robot virtual KUKA controllers, equipped with cycle time analysis
to implement the physical motion with the control system and the generation of robot codes [8]. It can upload CAD
[1], [2], [3]. models from other CAD softwares.
OLP systems mainly come from three sources, which are MELFA-Works [9] is an add-on tool for SolidWorks
professional robotic software producers, robot manufacturers products, which can automatically generate robot codes from
existing CAD models with little installation and commission-
All authors but H. Li are with the School of Mechanical and Electri-
cal Engineering,Guangdong University of Technology, Guangzhou, China, ing time. Developed by research institutions as educational
510006. Y. Guan is the corresponding author, email: [email protected]. robotics software, OLP systems are usually open source for
H. Zhang is also with the Department of Computing Science, University academic purpose. References [10], [11] presented efficient
of Alberta, Edmonton, AB, Canada, T6G 2E8. H. Li is with Guangdong
Inspection and Quarantine Technology Center, China. robotic OLP methods based on DXF files of 3D modeling
∗ The work in this paper is supported by the National Natural Science softwares AutoCAD. They decodes DXF files that describe
Foundation of China (Grant No. 51375095), the NSFC-Guangdong Joint the 3D position information of graphic elements such as
Fund (Grant No. U1401240), the Natural Science Foundation of Guang-
dong Province (Grant No. S2013020012797, 2015A030308011), the State points, lines, arcs and curves, then transforms into cartesian
International Science and Technology Cooperation Special Items (Grant No. values. Similar approaches were also proposed with Solid-
2015DFA11700), the Frontier and Key Technology Innovation Special Fund- Works API SDK package [12], [3]. A robot simulation system
s of Guangdong Province (Grant No. 2014B090919002, 2015B010917003),
and the State General Administration for Quality Supervision, Inspection based on OpenGL with VC++6.0 was presented in [13].
and Quarantine (Grant No. 2014IK186). Although there are many robotic simulation and OLP
1712
• 3D Model Builder: This module builds the 3D CAD A. Line
models of parts, robots and their environments with A line segment can be defined by two points (the start
SolidWorks. CAD models can also be made with other point and the end point). In order to discretize the line,
3D CG tools, like Pro/E and UG. Many CAD models of we can commonly parameterize the linear equation with a
commercial industrial robots can be found in websites. −
→
point (x0 , y0 , z0 ), a direction vector d = (m, n, p) and the
The CAD models are collected in a robotic library of parameter ti . Therefore, An arbitrary point pi (xi , yi , zi ) on
RobSim. End-effectors or other accessories need to be the line can be described by the following equations
designed or imported by users, and assembled with the
robot models in the SolidWorks assembly document xi = x0 + ti m, xi = y0 + ti n, zi = z0 + ti p (1)
environment. Discrete interposition points are thus simply obtained with
• Path Generator: Path generating includes path drawing the above equations. However, orientation information for
and path extracting from entities. Line elements in dif- a regular robotic path is needed. Therefore the orientation
ferent styles, like component edges, sketches, or spline information along the line is to be extracted. According to
curves, can be created with SolidWorks UI commands. geometry, spatial edge of a body lies on two adjacent faces
As robot paths, the line elements will be planned A1 and A2 , that is, the intersection of them. The normal
into motion sequence by functions of RobSim. In this vectors −→ = (u , v , w ) and −
n 1 1 1 1
→ = (u , v , w ) of the
n 2 2 2 2
process, the graphic models always play important role two surfaces are obtained, respectively. Then, an appropriate
between SolidWorks and RobSim. coordinate system with the line direction vector and one of
the surface normal vectors can be built up, as shown in Fig.3.
With one of the surface normal vectors − →, the configura-
• Kinematic Solver: This module defines the mapping
n 1
between the joint space of a robot and the Cartesian s-
tion Ti at the i-th point pi on the line can be defined by the
pace of the end-effector. Forward kinematics and inverse
following homogeneous matrix.
kinematics of robots are established by this module.
• Configuration Visualizer: After path calculation, con- n
figurations (positions and orientations) at discrete path A1
points can be visualized with a series of short coordinate (x0, y0, z0) Ti d
arrows. Visualization is achieved using the SolidWorks
OpenGL graphical interface. A2
1713
where v1 , v2 , v3 and kt are intermediate variables. with respect to u:
( )
dp(u) ∑
n
n
n = i ui−1 (1 − u)n−i pi −
du i
i=0
s O d e ∑n ( )
r n
(n − i) ui (1 − u)n−i−1 pi
i
pi i=0
∑n ( )
n−1
=n ui (1 − u)n−i−1 pi (pi+1 − pi )
i
i=0
(4)
Fig. 4. Spatial arc expression
−→
The tangent vector tan = (tx , ty , tz ) at an arbitrary tessel-
For the orientation, the coordinate system can be obtained lation point can be obtained. To set up a coordinate system,
according to the geometrical relationship between the point another vector containing the corresponding point must be
pi and the circular center O (refer to Fig.4), which is defined found. For this end, we define a vector − →
n = (nx , ny , nz )
→
− pointing from the current tessellation point pi (xi , yi , zi ) to
as d = (m, n, p). Hence, the configuration Ti at the i- −→
th point pi on the arc can be defined by the following the next one pi+1 (xi+1 , yi+1 , zi+1 ). Since the vectors tan
−
→
and n intersect at point pi , the cross product result is
homogeneous matrix.
→
− −
→
a =− →n × t
From above discussion, a Bezier curve is specifically
[ −
→ − −
→ → ]
Ti = d →
n × d −
n pi shown in Fig.5. With the position and orientation at a
0 0 0 1 tessellation point pi of Bezier curve, we can derive the
following homogeneous matrix
a
m pv − nw u xi
n mw − pu v c4
yi c3 o
=
p nu − mv w
c2
zi pi t c7
pi+1
0 0 0 1 c1 (p1 ) n
c6
c5
C. Bezier Curve
Bezier curve is defined by the vertices of a polygon that Fig. 5. Spatial Bezier curve expression
encloses the resulting curve [16]. The effects of the ver-
tices are weighted by the corresponding blending functions
[ −
→ ]
n −
→
n ×−→
a −
→
and blended as in the Hermite curve. We can derive the
a pi
controlling vertices cj of the controllable polygon by the Ti =
0 0 0 1
SolidWorks API functions. The equation of the Bezier curve
can be obtained as nx ny az − nz ay ax xi
ny nz ax − nx az ay yi
n ( ) =
nz
∑ n nx ay − ny ax az zi
p(u) = ui (1 − u)n−i pi 0≤u≤1 (3) 0 0 0 1
i
i=0
1714
X Axis
importing, path defining and extracting, tool installation,
Y Axis
Z Axis simulation, downloading executable codes to robot controller
F F
TT and running. The performance of the OLP system is satisfied.
Tool
T
B
P T
FT
P
P
T
W
B W
BT W
1715
Fig. 10. Global view of RobSim in SolidWorks software
1716