Vous êtes sur la page 1sur 10

Robotics and Computer-Integrated Manufacturing 30 (2014) 114123

Contents lists available at ScienceDirect

Robotics and Computer-Integrated Manufacturing

journal homepage: www.elsevier.com/locate/rcim

A STEP-compliant Industrial Robot Data Model for robot off-line

programming systems
Wenlei Xiao a,n, Ji Huan b, Shuxiang Dong a

College of Engineering, 100871 Peking University, Beijing, China

School of Mechanical Engineering and Automation, 100191 Beihang University, Beijing, China

art ic l e i nf o

a b s t r a c t

Article history:
Received 19 April 2013
Received in revised form
7 September 2013
Accepted 12 September 2013
Available online 17 October 2013

Recently, various robot off-line programming systems have promoted their own robot data models,
resulting in a plethora of robot representation methods and unchangeable data les among CAx and
robot off-line programming systems. The current paper represents a STEP-compliant Industrial Robot
Data Model (IRDM) for data exchange between CAx systems and robot off-line programming systems.
Using this novel representation method, most resources involved in a robot manufacturing system can
be represented. The geometric and mathematic aspects of industrial robots have been dened in IRDM,
so that the robot off-line programming system could have abundant information to represent robots
kinematic and dynamic behaviors. In order to validate the proposed models and approaches, a prototype
robot off-line programming system with 3D virtual environment is presented. The functionalities
of IRDM not only have signicant meaning for providing a unied data platform for robot simulation
systems, but also have the potential capability to represent robot language using the object-oriented
& 2013 Elsevier Ltd. All rights reserved.

Data modeling
Robot off-line programming system

1. Introduction
Modern industries have been more and more heavily dependent on industrial robots [1]. In the early applications of robots
(such as material transfer, precision assembly, welding and painting), the path planning tasks are usually very simple. Hence, the
online teach in and playback mode can handle with most robot
programming tasks. However, the increasing demands of 3D
path planning in traditional and new emerging applications like
machining have gradually revealed the necessity of robot off-line
programming systems [2]. Therefore, many academic and commercial activities have been conducted into this eld in the latest
several years, and many software solutions have been released,
such as V-Rep, Robotmaster and Robotworks. Besides, even some
traditional machine tool related manufacturing software developers, such as Delcam, VeriCUT and ST-Machine, have also incorporated their own off-line robot programming capabilities [3].
For the robot off-line programming systems, the representation
of robot data model is vital for exchanging data between different
CAx and robot off-line programming systems. The data model of a
robot usually consists of geometric aspect and mathematic (kinematic and dynamic) aspect, whereas most CAD systems can only
provide geometric information. There are numerous geometric

Corresponding author. Tel.: 86 62750071.

E-mail addresses: w.xiao@pku.edu.cn, xiaowenlei@me.buaa.edu.cn (W. Xiao).

0736-5845/$ - see front matter & 2013 Elsevier Ltd. All rights reserved.

resource models reported in literatures together with a range of

commercial CAD systems for representing geometric models. But
there is so far even no standardized information model available
for exchanging data of both aspects for a robot. Subsequently, most
robot off-line programming developers have to promote their
own kinematic models individually in their systems. Until recently,
almost all the robot models of current software systems are
private and unchangeable, which results in a plethora of robot
representation methods and contemporary non-interoperable
robot off-line programming systems.
In recent years, the data model of manufacturing resources has
been included in the STEP standard (ISO 10303). STEP-NC, as
an extension of STEP in the CNC eld, is being developed as the
data model for a new breed of CNC machine tools [4], and has
successfully veried the functionality and competence of the STEP
model to describe the machining process data and machine tool
data [5,6]. Therefore, the STEP standard is regarded as the most
suitable format to describe the robot data model. In recent
years, many researches have been undertaken on modeling the
manufacturing resources or CNC resources regarding to the STEP
standard [79], since the representation of CNC resources has been
considered vital for making efcient and economic manufacturing
decisions [10,11]. For example, the modeling phase (data collection
and model design) was about 60% of the total time spent on
a simulation project [12]. In this regard, machine tools have
been modeled to form a contribution to management of information and knowledge in manufacturing [13]. Industrial robot is

W. Xiao et al. / Robotics and Computer-Integrated Manufacturing 30 (2014) 114123

considered as one of the elements of the CNC manufacturing

system, thus is also conducted in the modeling work. However,
most mathematic data models of previous researches are not
able to exactly meet the demand of robot off-line programming
systems, except for a few exploratory researches [14].
This paper proposes a generic information model for representing the data mode of an industrial robot, namely Industrial Robot
Data Model (IRDM). In order to make it STEP-compliant, IRDM is
accordingly dened in an EXPRESS le (as requested in the STEP
standard ISO 10303-11) and expressed as EXPRESS-G diagrams.
In the data models of IRDM, the data contents for a robot are
categorized into product models, process models, resource models
and mathematic models, and depicted in Section 2. The concept of
model categorization is rstly proposed by Vichare et al. [15],
whereas IRDM reveals that the mathematic model can also be
covered and can be together with other models integrated into a
neutral data le. Based on this concept, the related models in a
robot off-line programming system are proposed in Sections 3,
4 and 5, which include robot resource data, kinematic and dynamic
data and manufacturing process data, respectively. In Section 6,
a prototype system STEP-VM is developed to validate the feasibility of integrating IRDM into the robot off-line programming
process. The paper concludes and discusses that IRDM not only is
benecial to the robot off-line programming system but also has
potential meaning to dene the future robot language in robot

2. The industrial robot data model (IRDM)

In this paper, the proposed IRDM provides representations of
available industrial robots for robot off-line programming systems.
In an industrial robot off-line programming system, a 3D simulation interface is a necessity, since many complex conditions
have to be inspected, such as collision, joint over limit, workspace
detection, path review, etc. [16] In order to realize above 3D
detections, the simulation system must have a CAD core, and the
IRDM should provide normal exchangeable geometric denitions
of a robot. In the STEP standard, there have two sub-parts (called
Application Protocol in the STEP standard) providing the geometric denitions, AP203 and AP214. Nevertheless, due to the
absence of robot's resource and mathematic models (generally
include kinematic and dynamic models), the current STEP models
with only geometric denitions cannot completely describe all
the properties of an industrial robot. Thus, the proposed IRDM
Product model
- Workpiece
- Manufacturing feature
- Planar face
- Surface
Process model
- Toolpath
- Workingstep
- Operation
- Technology
Resource model
- Machine tool
- Robot
- End-effector
- Auxiliary device
Mathematic model
- Coordinate frame
- Kinematic notation
- Dynamic notation
- Algorithm


provides robot denitions, so that it can represent the remaining

manufacturing resources such as kinematic congurations of robots,
end effectors, auxiliary devices, and kinematic and dynamic notations. In addition, using the object-oriented concept of STEP-NC,
the conventional robot manufacturing tasks are redened as
projects, work plans and working steps. The various types of models
are categorized into product models, process models, resource
models and mathematic models, as illustrated in Fig. 1.
In order to save the amount of modeling work, the IRDM
integrates entities from several previous established STEP schemata, including ISO 10303-105, Unied Manufacturing Resource
Model (UMRM, proposed by Vichare et al.), and ISO 14649 (Fig. 2).
Firstly, the development of a human-comprehensive and mathematically complete kinematic model needs a lot of knowledge and
work. Fortunately, such kinematic model is provided by the ISO
10303-105 standard (usually known as IR 105, where IR stands
for Integrated Resource). IR 105 species an information model
for the kinematic aspects of a mechanical product as required for
the communication between CAD systems and kinematic analysis
systems, and among dissimilar kinematic analysis systems [17].
It describes a variety of entities such as kinematic joints, kinematic
links and kinematic pairs, so that the kinematic structure of a
mechanism can be determined. The models dened in IR 105
support tree kinematic structures and close loop kinematic structures, so it is compatible with most current industrial robots.
However, IR 105 does not provide enough robotics denitions, e.g.
the denition of the DH notation (DenavitHartenberg notation)
[18], which is the most essential data for describing the kinematics
of a robot.
Secondly, the process modeling work is introduced from ISO
14649, since the machining task has been successfully described
using STEP-NC in the last decade. ISO 14649 is a new model of data
transfer between CAD/CAM systems and CNC machines, which
replaces ISO 6983 (G and M code). It remedies the shortcomings of
ISO 6983 by specifying machining processes rather than machine
tool motion, using the object-oriented concept [6]. The objectoriented concept that can be extended to other manufacturing
tasks for an industrial robot is dened as a multipurpose manipulator [19]. Therefore, the corresponding workingstep and technology entities have to be redened for different operations and
Thirdly, a robot manufacturing system generally consists of various
manufacturing resources such as robots, end-effectors, xtures and
other auxiliary devices. The representation of manufacturing resources
is essential for creating an integrated, exchangeable and interactive

A robot off-line programming example: machining an impeller

Coordinate frames and D-H parameters

(Mathematic model)
(Product model) (Resource model) (Resource model) (Process model)

Fig. 1. Model categorizations of the IRDM and a instance of robot off-line programming.


W. Xiao et al. / Robotics and Computer-Integrated Manufacturing 30 (2014) 114123

Fig. 2. EXPRESS-G representation of primary entities referenced from UMRM, STEP-NC and IR105.

environment in the robot off-line programming system. In UMRM

proposed by Vichare et al., various manufacturing elements of CNC
machining systems have been dened to represent those manufacturing resources. These denitions can be also referenced for representing
the robot manufacturing elements. However, the industrial robot is
only considered as an automated material handling system, which is
far from meeting the requirement of representing the robot manufacturing system. Thus, the authors in this paper supplement the
resource model with extensions that are not covered in the scope
of UMRM.

3. Representation of resource models

This section is concerned with the representation of industrial
robots and provides indispensable information during the robot
simulating and post-processing process.

this paper, the authors introduce the same approach in IRDM to

represent the abstraction layers of the robot systems. As shown in
Fig. 3, IRDM's abstract entities industrial_robot and device_element are the abstract supertype representations of the resource
models in a robot manufacturing system. Combining them
together with the resource abstraction layers of UMRM, the
manufacturing resource information related in a robot manufacturing system can be effectively organized.
As described in Fig. 3, all individual robots inherit the attributes
of their parent entity industrial_robot, and industrial_robot is
dened as a child of mechanical_resource. Thus, all the industrial
robots can be contained by any logical_manufacturing_unit, namely
a factory, a shop, a cell or a work_station. The entity device_element
refers to various end-effectors and auxiliary devices that can be
attached to an industrial robot. Those resources include all manner
of end effectors, auxiliary actuators and auxiliary sensors, while the
inner links between industrial_robot and device_element will be
given in the following sections.

3.1. Resource abstraction layers

3.2. Industrial robot
In order to provide manufacturing resource information to a
diversity of users, it is important to be able to represent the factory
from different viewpoints [11]. Therefore, the resource abstraction
layers have to be established. According to the usability in the
manufacturing organization, the manufacturing resource information is usually abstracted as station, cell, shop and factory [20].
Vichare et al. has dened the entity logical_manufacturing_unit to
represent these abstraction layers [15], as shown in Fig. 2(1). In

IRDM use the entity industrial_robot to describe an abstracted

representation of diverse industrial robots. According to the
kinematic congurations, those diverse industrial robots discussed
in this paper are classied as the serial robot, the parallel robot
and the hybrid robot. Fig. 4 shows some examples of those three
kinematic congurations. The schematically illustrated structures are also provided for each conguration, where an arrow

W. Xiao et al. / Robotics and Computer-Integrated Manufacturing 30 (2014) 114123


Fig. 3. Abstract supertype representation of IRDM.

A serial robot

A parallel robot

Kinematic link
Kinematic joint (active)
Kinematic joint (passive)
A hybrid robot
Fig. 4. Three main kinematic congurations of industrial robots.

represents a kinematic joint and a circle represents a kinematic

link. If an arrow is attach with a spot, it stands for an active joint,
otherwise a passive joint. An active joint means a kinematic joint
driven by a servo axis. By connecting kinematic links and joints
together, it forms several kinematic chains. The serial robot is
dened as a manipulator with only one main serial chain mechanisms consisting of all active joints, while the parallel robot is
dened as a robot that uses several serial chains to support a
single platform, each of which may have both active and passive
joints. The hybrid robot is a combination of the both.
In general, the entity industrial_robot has some common properties, as shown in Fig. 5. The kinematic aspects of an industrial
robot are presented using the attribute its_mechanism, which is a
type of mechanism described in ISO 10303-105 [17] (IR105 for
short). According to the denition of IR105, a mechanism possesses a kinematic_structure, which contains a set of kinematic
joints representing the topological relationships among a group of
kinematic links. Therein, each joint connect two adjacent links.
The attribute its_controller refers to a robot controller that controls the robot. In practice, a robot will need several auxiliary
devices to make its functionalities complete. An auxiliary device
is described in the entity device_element, and the attribute

Fig. 5. EXPRESS-G representation of industrial_robot.

its_devices contains all the auxiliary devices that are attached to

a robot. its_degree_of_freedom gives the degree of freedom.
Normally, it can be determined by the kinematic structure of the
mechanism, thus is a derived attribute. The coordinate frames
are also vital attributes of a robot. Usually, when a robot task is
implemented, its base frame, tool frame and workpiece frame have


W. Xiao et al. / Robotics and Computer-Integrated Manufacturing 30 (2014) 114123


Fig. 7. EXPRESS-G representation of robot_controller.



Fig. 6. EXPRESS-G representation of device_element.

to be previously set up. Those frames are all given as spatial_position dened in Section 4. The geometric aspect of the robot is hold
through the attribute geometry_representation, so that the entity
industrial_robot can represent both geometric and mathematic
aspects of a robot.

3.3. Device element

The entity device_element is a abstracted representation of all
peripheral resources used by a robot. In IRDM, we classify those
resources as end_effector, auxiliary_actuator and auxiliary_actuator (Fig. 6). As they share a same abstracted entity device_element,
they can be hold in the attribute its_devices of industrial_robot as
a data set (Fig. 5). The device_element has a mechanism attribute,
since in some cases the device may possess some kinematic joints,
e.g. an external axis. Likewise, the attribute geometry_representation is included for representing the geometric aspect of a device.
An end effector is a device which a robot uses as its tool to
fulll a task. It is further divided into concrete types in terms of
their application purposes, such as laser, welding, machining, etc.
In a certain end effector, the related technology and control
interface can be assigned, so that the end effector reveals distinguish functions. For an end effector, the tool center point (TCP) is a
vital property, and some end effectors may have more than one
TCP. Therefore, the entity end_effector has an attribute its_tool_center_points dened as a set of spatial_position to hold the TCPs
used by an end effector.
An auxiliary actuator is a device with active actuation functionalities, e.g. auxiliary machinery (auxiliary axes), wire feeding
machine, power source, air pump, vacuum cleaner, automatic
end effector exchanger, etc. According to this assumption, the
abstracted entity auxiliary_actuator has a control_interface attribute to receive the control signals for actuation.
An auxiliary sensor is a device with the capabilities to measure
different physical quantities, such as distance, temperature, force,
torque, etc. In some cases, the perception of ambient environment
is essential for sensor-based motion control and instantaneous
reactions to unforeseen events. In order to transmit the signal to
the control system, an attribute signal_interface is assigned to the
entity auxiliary_sensor.

Fig. 8. EXPRESS-G representation of robotic_parameter.

3.4. Robot controller

The entity robot_controller provides the logical control unit for
an industrial robot. In the real world, a robot controller solves the
forward and inverse kinematics and dynamics problem for a robot,
and provides other PLC control functionalities. Correspondingly, IRDM
denes the entity robot_controller to play the homologous role in the
virtual environment of a robot off-line programming system. Fig. 7
depicts the EXPRESS-G representation of robot_controller.

4. Representation of mathematic models

Kinematics and dynamics are vitally important characteristics
of an industrial robot. The motion of a robot is basically determined by the kinematic and dynamic parameters. However, very
few resource modeling researches have included the consideration
of kinematic and dynamic parameters. In order to provide robot
off-line programming systems those key parameters and make it
possible to simulate the robot motion using a universal robot
data model, the entities of kinematic and dynamic parameters are
dened in IRDM and presented in Fig. 8. Since the conventional
robotics studies have all considered the kinematic link as the
carrier of all the data and functionality required to characterize its
kinematics and dynamics, the abstracted entity robotic_parameter
has an attribute ref_link referring to the kinematic link. The
attributes its_kinematic_parameter and its_dynamic_parameter
are used to identify its kinematic and dynamic parameters.
4.1. Forward kinematics and kinematic notations
The forward kinematic model denes the relation:

Tn Mq

where Tn is the homogeneous transform representing the position and orientation of the manipulator tool (frame n) in the base
frame 0.

W. Xiao et al. / Robotics and Computer-Integrated Manufacturing 30 (2014) 114123






homogeneous matrix













Serial robots

Fig. 9. EXPRESS-G representation of kinematic_notation.

Source: REIS

Source: KUKA

Parallel robots




Hybrid robots

Source: REIS


Source: ALIO



Source: KUKA

Source: Unimate


Source: ALIO


Source: IWF, TU Braunschweig


Source: PKMtricept SL

Fig. 10. Kinematic types dened in IRDM.




W. Xiao et al. / Robotics and Computer-Integrated Manufacturing 30 (2014) 114123

In order to solve the forward kinematics problem of a robot, its

kinematic notations should be given to establish the coordinate
frames for a robot. Currently, the DH notation is most commonly
in use. It usually has two versions, the standard notation (introduced by Denavit and Hartenberg in 1955 [18]) and the modied
notation (introduced by Craig in 1989 [21]). Since no denitions of
DH notations have been dened in ISO 10303-105, we propose
the entities dh-parameter and mdh-parameter in IRDM to support
the standard and modied DH notations respectively. However,
only the denitions of DH parameters are absolutely not enough.
Although the DH parameters have been widely used to
describe serial kinematics of robots during the past decades, they
are not well accepted by the parallel and hybrid robots. In parallel
manipulators, spherical and cardan joints are frequently used.
Describing these joint types by DH parameters leads to a nonunique representation [22]. Furthermore, the DH representation
sometimes fails for calibration as the parameters are discontinuous with respect to perturbations of nearly parallel joint axes
[23]. Therefore, many extended and modied notations have been
proposed to establish the robot kinematics for different purpose.
Among them, the SU notation [24] developed by Sheth and
Uicker in 1971 is the most generalized model for all others. Hence,
IRDM supports the SU notation as a unied notation for all serial,
parallel and hybrid kinematic structures.
Moreover, the screw theory is usually used for parallel robots to
describe their robotic problems and solutions. In the screw theory,
the Plker coordinates are the fundamental notations of a spatial
coordinate [25]. In this regard, IRDM includes the denition of
Plker coordinates.
The above mentioned kinematic notations are all dened in
traditional robotics studies. To a normal user outside the specialty,
those denitions are somewhat too unintelligible. In fact, there exist
some other much more comprehensive methods describing the
spatial placement. For example, homogeneous matrix and axis2_
placement_3d are common in a CAD system to describe the relative
position and orientation between two coordinate systems.
In summary, the kinematic notations supported in IRDM include:
dh-parameter, mdh-parameter, su-parameter, screw_representation, homogeneous_matrix and axis2_ placement_3d (as shown in
Fig. 9), where su-parameter and axis2_placement_3d are referenced
from ISO 10303-105. The selection type kinematic_notation is an
abstraction of all notations.

4.3. Dynamics
The dynamic model of a robot is given by
Dqq Cq; q

where q is the generalized joint coordinates, is the generalized

is the Centrifugal and
forces, Dq is the mass matrix, Cq; q
Coriolis forces and Gq is the gravity forces [26].
In order to solve the forward and inverse dynamics problem,
the entity dynamic_notation in IRDM consists of following critical
parameters: the mass, the center of mass (denoted by a vector [cx,
cy, cz]) and the inertia tensor (denoted by a 3  3 tensor matrix), as
shown in Fig. 11. In addition, the parameters of the motors that
drive the robot should also be given, which consist of motor rotor
inertia, motor gear ratio, motor viscous friction coefcient and
motor Coulomb friction coefcient. Hence, the dynamic model of
the motor is also dened in IRDM, and presented in Fig. 11.
4.4. Spatial position
The spatial position given for a robot to achieve consists of
translation and rotation components. The translation is usually
given as a translational vector [x, y, z], while the rotation has
different representations. Since no standard has been implemented to industrial robot languages, different robot vendors use
their own spatial position denitions in the post-processing robot
languages. For example, ABB uses the quaternion to dene an
orientation, while KUKA uses the rotation angles about X, Y and Z
axes. IRDM provides various spatial orientation manners, as shown
in Fig. 12.




4.2. Inverse kinematics and kinematic types


The inverse kinematic model is dened by

q M  1 0 T n

In general, this equation allows multiple solutions and can be

solved either analytically or numerically. Normally, the iterative
numerical solutions lead to a large number of calculations, though
it has greater generality [2]. In view of this, many robots have been
designed to be analytically solvable so that numerical iterations
can be avoided. For example, the most commonly used jointed
robot has its last three axes intersect at a same point. Unlike the
generality of the numerical solution, different kinematic types may
have different analytical equations. IRDM denes various robot
types for the robot off-line programming systems to determine
which kinematics solution to be used.
Currently, ve serial kinematic types are common, namely the
Cartesian, Cylindrical, Spherical, Jointed and SCARA robots. Parallel
and hybrid robots have not so widely in industrial use as serial
robots, whereas they have also some application cases. The parallel
kinematic types include the Delta, Stewart and Hexa robots, and
the hybrid kinematic types include Tripod and Tricept robots. Fig. 10
illustrates various kinematic types supported in IRDM.

Fig. 11. EXPRESS-G representation of dynamic models.

Fig. 12. EXPRESS-G representation of spatial_position.

W. Xiao et al. / Robotics and Computer-Integrated Manufacturing 30 (2014) 114123


Fig. 13. EXPRESS-G representation of product and process models for the welding task.

5. Representation of product and process models

The object-oriented concept of STEP-NC has started a new era
for CNC machining. However, other manufacturing technologies
like welding, laser and painting remain rarely affected by this
advanced concept. Since these tasks are most common for an
industrial robot, IRDM attempts to cover these robot tasks using
the STEP framework.
Similar with ISO 14649, the product and process data models of
IRDM share the same top-level entities provided in ISO 14649-10.
It uses the entity project to indicate the workplan to be executed
upon interpretation of this model, and it may also provide the
workpiece(s) upon which actions are to be performed [6]. Individual technology oriented schemata have been dened for different
robot tasks. In this paper, the welding process is exemplied as
a case study of representing a robot manufacturing task using the
object-oriented concept, as shown in Fig. 13. Other task models are
similar, whereas due to the limit of space, they are not described in
this paper.

6. Implementation prototype
In order to validate the IRDM model, a prototype robot off-line
programming system STEP-VM has been developed, which can
recently partially support the novel STEP model. As shown in
Fig. 14, a machining robot is simulated to perform a typical STEPNC project (the rst example provided in ISO 14649-11). In this

virtual environment, the major components of IRDM are included.

The simulation project includes not only the traditional STEP-NC
tasks, but also the manufacturing resources involved in the manufacturing process using a robot. The nal target of this software
system is to use the STEP models to represent the abundant
information related to a robot manufacturing task, which includes
the geometric and mathematic aspects of a robot, end effectors
installed on the robot, auxiliary devices surrounding the robot,
manufacturing tasks and its related workpieces, toolpaths, processing strategies and technologies. With those data, many complex
and generalized functionalities can be integrated into the STEPcompliant robot off-line programming system, such as kinematics
solution, path optimization, collision detection, postprocessing,

7. Discussion and conclusion

The STEP standard is used to represent the data models
of industrial robot systems. The authors aim to found a unied
data model to exchange information between different CAx and
robot off-line programming systems. Those information content
is categorized into product model, process model, resource model
and mathematic model. In IRDM, the industrial robot resources
and the kinematic and dynamic aspects of a robot have been
successfully represented using the STEP EXPRESS schema. In addition, the object-oriented concept in STEP-NC is extended to other
manufacturing tasks besides machining. The new data models


W. Xiao et al. / Robotics and Computer-Integrated Manufacturing 30 (2014) 114123

Fig. 14. A robot performing a STEP-NC task (the rst example of ISO 14649-11).

were effectively implemented in an independently developed

prototype of robot off-line programming system, and its feasibility
was successfully veried.
The authors indicate that the unied models under the STEP
standard will not only benet the robot simulation systems, but
also for the improvement of traditional industrial robot controllers. In the developing progress of STEP-CNC, the STEP-NC technology is rstly implemented in a virtual environment (like the
function of ST-Machine). Once the corresponding CAD/CAM and
CNC technologies are mature, the STEP-CNC controller will
denitely emerge. For reference, Siemens has demonstrated the
rst prototype of an industrial model of a STEP compliant CNC
controller in 2000 for milling their own vendor proprietary
architecture [27], and in 2009 a hybrid STEP-NC controller made
by Fanuc was tested for a gantry router [28]. The robot controller
will go through similar periods as the CNC controller. Recently, the
KUKA.CNC controller has already supported G-code input [29],
which is a great progress of the robot language. It clears the

prevailing misconception, which has existed in the industrial robot

eld for a long time, that the G-code denition is not suitable for
a robot. Although there are still many customized extensions in
the KUKA.CNC G-code, supporting G-code (ISO 6983) in a robot
controller reveals the possibility of using a uniform standard to
describe a robot motion. Since that, we can postulate that if the
robot controller can parse the STEP-NC code like a STEP-CNC
controller, it will then understand what it is doing on a task level
and generate the robot paths online.
[1] International Federation of Robotics. www.ifr.org; February 2012.
[2] Xiao W, Strauss H, Loohss T, Hoffmeister HW, Hesselbach J. Closed-form
inverse kinematics of 6r milling robot with singularity avoidance. Production
Engineering 2011;5:10310.
[3] Chen Y, Dong F. Robot machining: recent development and future research
issues. The International Journal of Advanced Manufacturing Technology

W. Xiao et al. / Robotics and Computer-Integrated Manufacturing 30 (2014) 114123

[4] Xu XW, Newman ST. Making CNC machine tools more open, interoperable and
intelligenta review of the technologies. Computers in Industry 2006;57(2):
[5] ISO 14649-1. Industrial automation systems and integration physical device
control data model for computerized numerical controllers part 1:
overview and fundamental principles. International Organization for Standardization; 2003.
[6] ISO 14649-10. Industrial automation systems and integration physical device
control data model for computerized numerical controllers part 10:
general process data. International Organization for Standardization; 2004.
[7] Hedlind M, Lundgren M, Archenti A, Kjellberg T, Nicolescu CM. Manufacturing
resource modelling for model driven operation planning. In: Process machine
interactions (PMI), Vancouver, Canada, June 1011; 2010.
[8] Yang W, Xu X. Modelling machine tool data in support of STEP-NC based
manufacturing. International Journal of Computer Integrated Manufacturing
[9] Nassehi Aydin, Vichare Parag. A step-nc compliant methodology for modelling
manufacturing resources. In: Xu Xun, Nee Andrew YC, editors. Advanced
design and manufacturing based on STEP, Springer series in advanced manufacturing. London: Springer; 2009. p. 26181.
[10] ISO Tc184/Sc4. Machine tool data model for general manufacturing processes:
new work item proposal. Step Tools, Inc, Funchal, Portugal; 2007.
[11] Vichare P, Nassehi A, Kumar S, Newman ST. A unied manufacturing resource
model for representing CNC machining systems. Robotics and ComputerIntegrated Manufacturing 2009;25(6):9991007.
[12] Jones A, Umeda S. Simulation in Japan: state-of-the-art update. Technical
Report NISTIR 6040; 1997.
[13] Kjellberg T, von Euler-Chelpin A, Hedlind M, Lundgren M, Sivard G, Chen D.
The machine tool model: a core part of the digital factory. CIRP Annals
Manufacturing Technology 2009;58(1):4258.
[14] Li Y, Hedlind M, Kjellberg T. Kinematic error modeling based on STEP AP242.
In: 1st International Conference on Virtual Machining Process Technology,
Canada; 2012.


[15] Vichare P. A novel methodology for modelling CNC machining system

resources. PhD thesis, University of Bath, 9; 2009.
[16] Xiao W, Huan J. Redundancy and optimization of a 6r robot for ve-axis
milling applications: singularity, joint limits and collision. Production Engineering 2012;6(3):28796.
[17] ISO 10303-105. Industrial automation systems and integration product data
representation and exchange part 105: integrated application resource:
kinematics. International Organization for Standardization; 1996.
[18] Denavit J, Hartenberg RS. A kinematic notation for lower pair mechanisms
based on matrices. Journal of Applied Mechanics 1955;77(6):21521.
[19] ISO 8373. Manipulating industrial robots C vocabulary. International Organization for Standardization; 1994.
[20] Molina A, Bell R. A manufacturing model representation of a exible
manufacturing facility. Proceedings of the Institution of Mechanical Engineers,
Part B: Journal of Engineering Manufacture 1999;213(3):22546.
[21] Craig JJ. Introduction to robotics: mechanics and control. 2nd ed. AddisonWesley Publishing Company; 1989.
[22] Thomas U, Maciuszek I, Wahl FM. A unied notation for serial, parallel, and
hybrid kinematic structures. In: IEEE international conference on robotics and
automation, 2002. Proceedings, ICRA '02, vol. 3, 2002. p. 286873.
[23] Newman WS, Birkhimer CE, Horning RJ, Wilkey AT. Calibration of a motoman
p8 robot based on laser tracking. In: ICRA'00; 2000. p. 3597602.
[24] Sheth PN, Uicker JJ. A generalized symbolic notation for mechanisms. Journal
of Engineering for Industry 1971;93(70):10212.
[25] Huang Z, Zhao WS, Zhao TS. Advanced spatial mechanism. 2nd ed. Higher
Education Press; 2008.
[26] Harib K, Srinivasan K. Kinematic and dynamic analysis of stewart platformbased machine tool structures. Robotica 2003;21(9):54154.
[27] Rosso Jr Roberto SU, Allen RD, Newman Stephen T. Future issues for CAD/CAM
and intelligent CNC manufacture. In: The 19th international manufacturing
conference; 2002.
[28] STEP Tools, Inc. http://www.steptools.com/library/stepnc/2009_renton; 2009.
[29] KUKA Robotics Corp. http://www.kukaconnect.com/wp-content/uploads/2012/
07/kuka_cnc.pdf; 07, 2012.