Engproc 70 00020
Engproc 70 00020
Abstract: Descriptions of the main CARC environments for programming industrial robots are
given, describing the main used programming environments for various robot manufacturers such
as ROBOGUIDE developed by FANUC Robotics, KUKA Sim and Kuka Work Visual developed
by KUKA ROBOTICS, Robot Studio developed by ABB Robotics, K-ROSET and K-ROSET LITE
developed by Kawasaki Robotics, Visual Component, DELMIA ROBOTICS of Dassault Systems,
Tecnomatix Robotics & Automation Simulation of SIEMENS PLM Software/Simatic Robot Integrator,
Visual Components, etc. A methodology describing the main stages, when working with computer
systems, of off-line programming of industrial robots is proposed. The features characterizing
the implementation of the stages defined in the methodology have been specified. The created
methodology has been applied when working with the Fanuc ROBOGUIDE computer system. When
using the given example of the Fanuc ROBOGUIDE, the emphasis is also on expanding the working
space of the robot (Robot Envelope) by adding a 7th axis. The general software options that are added
when performing this task are described, and two sample programs are given for the implementation
of the given example—and a 3D simulation is made for moving a part (box). A control program
has been generated for an industrial robot Fanuc LR Mate 200 iD/7L that shall perform “Pick and
Place” operations and shall service a conveyor for the transportation of cartons and their arrangement
on pallets.
Keywords: industrial robots; off-line programming; computer programming systems; robotic pro-
duction systems; Fanuc ROBOGUIDE
Work Visual developed by KUKA ROBOTICS, Robot Studio developed by ABB Robotics,
K-ROSET and K-ROSET LITE developed by Kawasaki Robotics, etc. [7].
The main advantage of these systems is that they include the algorithms used by the
real controllers of the industrial robots offered by the specific company, which minimizes
the possibility of errors when the industrial robot executes the programs generated by
the system.
There are also CARC systems created by companies that specialize in the development
of software products, but these companies, such as Robot master, Robot Interface Robo
DK, etc. [8], are not directly involved in the manufacturing of industrial robots. The said
systems use a post-processor to generate a program for a specific industrial robot. The
post-processor produces a program (code), considering the specifics of the robot controller.
In this case, the chance of any errors emerging while the generated program is being
executed by the industrial robot depends on the post-processor’s settings and the extent to
which the algorithms embedded in the post-processor correspond to the ones used by the
robot’s controller, which are a company secret.
With the introduction of the engineering practice of PLM (Product Lifecycle Manage-
ment) systems, CARC systems were also integrated into their structure, which, in addition
to programming, can also be used in the design of robotic cells and robotic manufacturing
systems. Such systems include DELMIA ROBOTICS of Dassault Systems, Tecnomatix
Robotics & Automation Simulation of SIEMENS PLM Software/Simatic Robot Integrator,
SIMIT, Visual Components, etc. [9,10].
Regardless of the variety of CARC systems currently offered, the main steps in the
operation of these systems largely overlap. The present document proposes a methodology
that describes the CARC systems’ basic work stages necessary for the creation of a control
program for an industrial robot.
end-effector, the considerations made in the first stage of selecting 3D models for industrial
robots shall be valid. Some CARC systems support parameterized 3D models of the
end-effector, which allow the user to enter, in dialog mode, the real end-effector’s exact
characteristics the robot will be working with.
The proper selection of an end-effector and its connection to the industrial robot’s
3D model are extremely important because they determine the position of the gripper’s
endpoint or the central point of the tool TCP (Tool Center Point), for which the generated
program will set positions in the work area and will define trajectories with a certain speed.
At this stage, one should consider the end-effector’s compatibility with the industrial
robot’s controller to secure the program control of its functions.
Figure
Figure 1.
1. Data
Dataprocessing
processing in
in Fanuc
Fanuc ROBOGUIDE.
ROBOGUIDE.
3. Results
3. Results
Fanuc ROBOGUIDE
Fanuc ROBOGUIDEshallshallbe
be used
used to
to program
program an an industrial
industrial robot
robot performing
performing “Pick
“Pick
and Place” operations in the servicing of a conveyor for the transportation of boxes, sizing
and Place” operations in the servicing of a conveyor for the transportation of boxes, sizing
150 ××150
150 150×× 150
150 mmmm and
and weighing
weighing 5 kg,
5 kg, and
and theirarrangement
their arrangementononpallets.
pallets.
Figure2.2.Robo
Figure Roboguide—robot
guide—robotselection
selectionmenu.
menu.
Figure 2. Robo guide—robot selection menu.
File →New.
File→ New.
File → New.
Next
Next→ → Step11Create
→Step
Step Create anew
newrobot
robotwith
withthe
thedefault
defaultHandlingPro
HandlingProconfig
config
Next 1 Create aanew robot with the default HandlingPro config
Next→
Next →Step
Step22Robot
RobotSoftware
SoftwareVersion
Version→ →select
select amethod.
method.
Next → Step 2 Robot Software Version → select aamethod.
Next→
Next →Step
Step33Robot
RobotApplication/Tool
Application/Tool → → Handling Tool(H552)
Tool(H552)
Next → Step 3 Robot Application/Tool → Handling Tool(H552)
Next→
Next →Step
Step44Group
Group11Robot
RobotModel
Model→ →LR LRMate
Mate200iD/7L
200iD/7L
Next → Step 4 Group 1 Robot Model → LR Mate 200iD/7L
Next→
Next →Step
Step55Additional
AdditionalMotion
MotionGroup
Group→ →Empty
Empty
Next → Step 5 Additional Motion Group → Empty
Next
Next→ → Step
→Step 6 Robot
Step66Robot Option
RobotOption
Option- - -
Next
• Extended Axis Control(J518)
•• Extended
ExtendedAxis
AxisControl(J518)
Control (J518)
•• Multi-Group
Multi-GroupMotion
Motion(J601)
(J601)
• Multi-Group Motion (J601)
The general appearance
The general appearance of actual
the actual robot and its 3Dprovided
model provided by RO-
The appearanceofofthethe robot
actual and its
robot and3Dits
model by ROBOGUIDE
3D model provided by RO-
BOGUIDE
are shownareareFigure
on shown on Figure 3.
BOGUIDE shown 3. on Figure 3.
(a) (b)
(a) (b)
Figure 3. Fanuc LR Mate 200 iD/7L [11]: (a) actual robot; (b) 3D model provided by ROBOGUIDE.
Figure
Figure3.3.Fanuc
FanucLR
LRMate
Mate200
200iD/7L
iD/7L[11]:
[11]:(a)(a)
actual
actualrobot;
robot;(b)
(b)3D
3Dmodel
modelprovided
providedbybyROBOGUIDE.
ROBOGUIDE.
3.2.Stage
3.2. Stage2—Selection
2—SelectionofofEnd-Effector
End-Effector
3.2. Stage 2—Selection of End-Effector
InROBOGUIDE
In ROBOGUIDE[12], [12],the
thevacuum
vacuumgripper
grippershall
shallbe
be selected
selected from
from the
the following
following menu:
menu:
In ROBOGUIDE [12], the vacuum gripper shall be selected from the following menu:
Library
Library→ → gripper
→gripper
gripper→ → vacuum01.
→vacuum01.
vacuum01.
Library
Setting the vacuum gripper’s size based on the dimensions of the processed work-
Setting the vacuum gripper’s size based on the dimensions of the processed work-
piece and its generated 3D model are shown in Figure 4.
piece and its generated 3D model are shown in Figure 4.
Eng. Proc. 2024, 70, 20 6 of 13
Setting the vacuum gripper’s size based on the dimensions of the processed workpiece
and its generated 3D model are shown in Figure 4.
Eng. Proc. 2024, 70, x
Eng. Proc. 2024, 70, x 6 of 12
(a) (b)
(a) (b)
Figure 4. Vacuum gripper: (a) 3Dby
model provided by ROBOGUIDE; (b) dialogoffor the sele
Figure4.4.Vacuum
Figure Vacuumgripper:
gripper: (a)
(a)3D
3Dmodel
modelprovided
provided byROBOGUIDE;
ROBOGUIDE;(b) (b)dialog
dialogfor
forthe
theselection
selection of
gripper’s gripper’s parameters.
gripper’sparameters.
parameters.
Figure6.
Figure
Figure 6.6.Dialog
Dialogfor
Dialog forthe
for thegeneration
the generationof
generation ofaaa3D
of 3Dmodel
3D modelof
model ofthe
of themanipulated
the manipulatedworkpiece.
manipulated workpiece.
workpiece.
3.3.2. Pallet
3.3.2.Pallet
3.3.2. Pallet
A
A 3D
3D model
A 3D of
of aaaPlastic
model of
model Plastic Pallet
Plastic L1000_W1000
Pallet L1000_W1000
Pallet L1000_W1000 H130H130 in
H130 in Figure
in Figure 7a
Figure 7a has
7a has been
has been added
been added to
added to
to
arrange
arrange the
thecartons
cartonsin
in the
the 3D
3D model
model of
ofthe
therobotic
robotic
arrange the cartons in the 3D model of the robotic cell. cell.
cell.
(a)
(a) (b)
(b)
Figure7.
Figure
Figure 7.7.Three-dimensional
Three-dimensionalmodels
Three-dimensional modelsembedded
models embeddedin
embedded inthe
in therobotic
the roboticcell:
robotic cell:(a)
cell: (a)pallet;
(a) pallet;(b)
pallet; (b)conveyor.
(b) conveyor.
conveyor.
3.3.3.Conveyor
3.3.3. Conveyor
The robot
The robot will
willservice
serviceconveyor
service conveyorMakitech
conveyor MakitechMMC-DR57-P75_W500_2P4
Makitech MMC-DR57-P75_W500_2P4 [13].
MMC-DR57-P75_W500_2P4 Its
[13]. Its
Its 3D
3D
modelembedded
model embeddedin the3D
inthe 3Dmodel
modelof
ofthe
therobotic
roboticcell
cellisisshown
shownon
onFigure
Figure7b.
Figure 7b.
7b.
3.3.4. Mobile
3.3.4.Mobile
3.3.4. Platform
MobilePlatform
Platform
The robot’s
Therobot’s
The working
robot’sworking
workingareaarea will
willhave
areawill haveto
have to
tobe
beexpanded
be expandedgiven
expanded giventhe
given thereal
the realdistance
real distancebetween
distance between
between
the conveyor
theconveyor
the conveyorandand the
andthe pallet
thepallet station.
palletstation. Therefore,
station.Therefore, the
Therefore,the selected
theselected robot
selectedrobot will
robotwillbe
willbeplaced
beplaced onon
placed aonmobile
aamo-
mo-
platform
bile [14–16].
bileplatform
platform[14–16].
[14–16].
The following
Thefollowing
The function
functionwill
followingfunction willbe
will beused
be usedfor
used forthis
for thispurpose:
this purpose:
purpose:
Tools
Tools→
Tools → Rail
→Rail Unit
RailUnit Creator
Creator→
UnitCreator → Rail
→Rail Unit
RailUnit Creator
CreatorMenu
UnitCreator Menu
Menu
The
Thedialogue
The dialoguefor
dialogue forthe
for thecreation
the creationof
creation ofthe
of themobile
the mobileplatform’s
mobile platform’s3D
platform’s 3Dmodel
3D model
model isisis
shown
shown
shown ininFigure
in 8.
Figure
Figure
The result from this stage is a 3D model of the robotic cell used for the cartons’ unloading
8.8.The
Theresult
resultfrom
fromthis
thisstage
stageisisaa3D
3Dmodel
modelof ofthe
therobotic
roboticcell
cellused
usedfor
forthe
thecartons’
cartons’unload-
unload-
from the conveyor and their arrangement on pallets is shown in Figure 9.
ingfrom
ing fromthetheconveyor
conveyorand andtheir
theirarrangement
arrangementon onpallets
palletsisisshown
shownin inFigure
Figure9.9.
Thecell’s
The cell’sworking
workingcycle
cycleisisas
asfollows:
follows:
1.1. Theindustrial
The industrialrobot
robottakes
takesaabox
boxororaapackage
packagefrom
fromthe
theconveyor;
conveyor;
2.2. Theindustrial
The industrialrobot
robotmoves
movesto tothe
thepallet
palletstation
stationvia
viathe
themobile
mobileplatform
platformononwhich
whichitit
isismounted;
mounted;
3.3. Theindustrial
The industrialrobot
robotplaces
placesthe
thebox
boxon onthe
thepallet,
pallet,starting
startingfrom
fromthe
theoutermost
outermostpallet
pallet
(positionon
(position onFigure
Figure9);
9);
4.4. Theindustrial
The industrialrobot
robotmoves
movesback
backto tothe
theconveyor.
conveyor.
Eng. Proc. 2024, 70, 20 8 of 13
,x 8 of 12
,x 8 of 12
3.4.
3.4. Stage
Stage 4—Development
4—Development The of the
cell’s
of Control
theworking Program
Control cycle is as follows:
Program
When
When developing1.
developing the
The industrial
theindustrial
industrial robot’s
robot takes anecessary
robot’s control
box or a package
necessary control program,
from the
the coordinates
the conveyor;
program, coordinates
shall 2. The industrial robot moves to the pallet station via the mobile platform on which it is
shall be
be directly
directly set
set in one
one of
inmounted; of the
the robot’s
robot’s coordinate
coordinate systems
systems and and inin the
the Teach
Teach pendant
pendant
virtual console in Figure
virtual console in Figure 10.10.
3. The industrial robot places the box on the pallet, starting from the outermost pallet
(position on Figure 9);
4. The industrial robot moves back to the conveyor.
(a)
(a) (b)
(b)
Figure 10. Tools for the development of a control program: (a) setting coordinates in program sim-
Figure 9. Three-dimensional model of the robotic cell.
(a) (b)
Figure 10.
Figure 10. Tools
Toolsfor
forthe
thedevelopment
development ofof
a control program:
a control (a) setting
program: coordinates
(a) setting in program
coordinates sim-
in program
ulation editor; (b) Teach pendant virtual console—including 7th (-J7/+j7) and 8th (J8/+J8) axes in the
simulation editor; (b) Teach pendant virtual console—including 7th (−J7/+j7) and 8th (J8/+J8) axes
controller.
in the controller.
Figure 11.
Figure 11. First
First left
left box
box on
on pallet
pallet with
with example
example coordinates.
coordinates.
Figure 11. First left box on pallet with example coordinates.
Figure13.
Figure 13. Third
Third left
left box
box on
on pallet
pallet with
with example
example coordinates.
coordinates.
Eng. Proc. 2024, 70, 20 12 of 13
Figure 14.
Figure 14. Third
Third right
right box
box on
on pallet
pallet with
with example
example coordinates.
coordinates.
3.6. Stage
3.6. Stage 6—Simulation
6—Simulation of the Developed
Developed Program
Program
The ROBOGUIDE
The ROBOGUIDE toolkit hashas been
been used
used to
to simulate
simulatehow
howthe
therobotic
roboticcell
celloperates
operatesinin
accordance with
accordance with the
the generated program. No
No collisions
collisionsand
andsingularities
singularitieshave
havebeen
beenfound
found
whilesimulating
while simulating operation
operation under the generated program.
program.
4.
4. Conclusions
Conclusions
The proposed methodology,
The proposed methodology,describing
describing thethe main
main steps
steps in operation
in the the operation
of CARCof CARC
sys-
systems, which
tems, which areare needed
needed to to generate
generate a control
a control program
program for
for ananindustrial
industrialrobot,
robot,isisuniversal
universal
and
and can
can be
be used
used when
when working with various
various CARC
CARC systems.
systems.
The
The defined
defined individual stages
stages are
are interconnected,
interconnected,and andthetheresults
resultsobtained
obtainedfrom fromthe
the
simulation
simulation ofof the developed program may
developed program mayrequire
requirechanging
changingthe thedecisions
decisionstaken
takenatatprevi-
previ-
ous
ous stages.
stages.
The
The functionality
functionality of the proposed
proposed methodology
methodology isis proven
provenby bythe
thecontrol
controlprogram
program
generated for a Fanuc LR
generated for a Fanuc LR Mate Mate 200 iD/7L industrial robot performing “Pick
iD/7L industrial robot performing “Pick and Place” and Place”
operations
operations inin the
the servicing of a conveyor
conveyor for
for the
the transportation
transportationof ofboxes
boxesororpackages
packagesand and
their
their arrangement
arrangement on on pallets.
Simulating
Simulating the work of robotic systems
systems byby using
usingtheir
their3D3Dmodels
modelscreated
createdininaaCARC
CARC
system
system environment
environment allows us not only to to detect
detect possible
possiblecollisions
collisionsand
andsingularities,
singularities,butbut
also to obtain data
also to obtain data onon the systems’ technical and functional characteristics.
and functional characteristics.
Author Contributions: B.V., S.N. and S.T. were involved in the full process of producing this paper,
including conceptualization, methodology, modeling, validation, visualization, and preparing the
manuscript. All authors have read and agreed to the published version of the manuscript.
Funding: This work was supported by Scientific and research sector of Technical University of
Sofia Contract No. 241ΠД0024-06 Examination the possibilities of programming industrial robots
using API.
Institutional Review Board Statement: Not applicable.
Informed Consent Statement: Not applicable.
Data Availability Statement: Data are displayed in the article.
Acknowledgments: The authors wish to thank Scientific and research sector of Technical University
of Sofia.
Conflicts of Interest: The authors declare no conflict of interest.
Eng. Proc. 2024, 70, 20 13 of 13
References
1. Totev, D.; Dimitrova, R.; Dimitrov, S. Main Steps in the Process of Upgrade of Existing Systems for Automation and Control of
Industrial and Manufacturing Processes in Order to Fulfill the Requirements of the Concept “Industry 4.0”, EEPES 2023. AIP
Conf. Proc. 2024, 63, 060007. [CrossRef]
2. Novak, J.; Kuzmiakova, M. Computer Aided Production Engineering. In Proceedings of the International Conference on
Manufacturing Systems—ICMaS, Bucharest, Romania, 5–6 November 2009; University Politehnica of Bucharest, Machine and
Manufacturing Systems Department: Bucharest, Romania, 2009; Volume 4, pp. 311–314.
3. Computer-Aided Design of Robot Controller Handling and Real-Time Control. Available online: https://www.semanticscholar.
org/paper/Computer-Aided-Design-of-Robot-Controller-Handling-Simon-Espiau/da1567ba85474382766d01eaf4fa4285775
5f78f (accessed on 12 March 2024).
4. Computer-Aided Design of a Generic Robot Controller Handling Reactivity and Real-Time Control Issues. Available online:
https://ipn.elsevierpure.com/en/publications/computer-aided-design-of-a-generic-robot-controller-handling-reac (accessed
on 12 March 2024).
5. Design of Intelligent Robot Control System Based on Human–Computer Interaction. Available online: https://link.springer.com/
article/10.1007/s13198-021-01267-9 (accessed on 22 March 2024).
6. Application of the Virtual Reality Modelling Language to Computer Aided Robot Control System ROANS. Available on-
line: https://www.semanticscholar.org/paper/Application-of-the-Virtual-Reality-Modelling-to-Novak-Marcincin-Doli%C3
%A1k/0389d7a146df141ab0e9a60f5d442ff0f48db79b (accessed on 12 April 2024).
7. Wu, H.; Deng, H.; Yang, C.; Guan, Y.; Zhang, H.; Li, H. A Robotic Off-line Programming System Based on SolidWorks. In
Proceedings of the 2015 IEEE Conference on Robotics and Biomimetics, Zhuhai, China, 6–9 December 2015; pp. 1711–1716.
8. Novak-Marcincin, J.; Brazda, P.; Janak, M.; Kocisko, M. Application of Virtual Reality Technology in Simulation of Automated
Workplaces. Tech. Gaz. 2011, 18, 577–580.
9. Dimitrova, R.; Dimitrov, S.; Totev, D.; Bahchevanov, B. Electrical Control, Program Code and Experimental Studies of the
Gauss Curve in a Specialized Automated Mechatronic System. In Proceedings of the 2023 4th International Conference on
Communications, Information, Electronic and Energy Systems (CIEES), Plovdiv, Bulgaria, 23–25 November 2023; pp. 1–7.
[CrossRef]
10. Saaksvuori, A.; Immonen, A. Product Lifecycle Management, 2nd ed.; Springer: Berlin/Heidelberg, Germany, 2005.
11. Industrial Robot Fanuc LR Mate 200iD/7L. Available online: https://www.fanuc.eu/se/en/robots/robot-filter-page/lrmate-
series/lrmate-200id-7l (accessed on 9 April 2024).
12. Fanuc Roboguide, Operator Manual, B-83234EN/03. Available online: https://kupdf.net/download/roboguide-operator-
manual-b-83234en-02_5d32fb49e2b6f5b75a4c0937_pdf (accessed on 23 January 2024).
13. Conveyor Makitech MMC-DR57-P75. Available online: https://www.makitech.co.jp/conveyor/4/mmc-dr.html (accessed on 9
April 2024).
14. Global 7-Axis Robot Market Insights, Forecast to 2029. Available online: https://www.industryresearch.co/global-7-axis-robot-
market-25770153 (accessed on 12 April 2024).
15. World’s First Composite Concrete 7th Axis Used for the First Time in Series Production at Car Manufacturer. Available
online: https://www.roboticstomorrow.com/article/2019/07/worlds-first-composite-concrete-7th-axis-used-for-the-first-time-
in-series-production-at-car-manufacturer/13885 (accessed on 9 April 2024).
16. Collaborative Synchronization of a 7-Axis Robot. Available online: https://www.researchgate.net/publication/338091284_
Collaborative_Synchronization_of_a_7-Axis_Robot (accessed on 9 April 2024).
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual
author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to
people or property resulting from any ideas, methods, instructions or products referred to in the content.