Professional Documents
Culture Documents
Parametric Robot Control - J Braumann (2011)
Parametric Robot Control - J Braumann (2011)
Parametric Robot Control - J Braumann (2011)
ABSTRACT
Johannes Braumann Robots are gaining popularity in architecture. Snøhetta has recently purchased
V i e n n a U n i v e r s i t y o f Te c h n o l o g y their own industrial robot, becoming one of the first architectural offices to adopt
r o b o t t e c h n o l o g y. A s m o r e a n d m o r e a r c h i t e c t s a r e e x p o s e d t o r o b o t i c f a b r i c a t i o n ,
Sigrid Brell-Cokcan t h e n e e d f o r e a s y i n t e r o p e r a b i l i t y, i n t e g r a t i o n i n t o a r c h i t e c t u r a l d e s i g n t o o l s a n d
V i e n n a U n i v e r s i t y o f Te c h n o l o g y general accessibility will increase. Architects are discovering that industrial
robots are much more than kinematic machines for stacking bricks, welding or
milling - they are highly multifunctional and can be used for a huge variety of
t a s k s . H o w e v e r, i n d u s t r y s t a n d a r d s o f t w a r e d o e s n o t p r o v i d e e a s y s o l u t i o n s
for allowing direct robot control right from CAAD (Computer Aided Architectural
Design) systems. In this paper we will discuss existing methods of programming
industrial robots, published architectural results (Gramazio and Kohler 2008) and
the design of a new user interface that allows intuitive control of parametric
designs and customized robotic mass production, by integrating CAM (Computer
Aided Manufacturing) functions into CAAD.
242
T h e r a p i d d evel o p ment o f CAAD s o ft ware i n t h e last fe w de c ade s allows arc h ite c tu ral
f o r m s t o b e p aramet ri cal l y co nt ro l l ed ( Figu re 1) , re su ltin g in au tomatic ge n e ration
o f d e si g n vari ant s o r o veral l d es i g n manag eme n t (Eastman e t al. 2008). Re alizin g
p a r a m e t r i c d es i g ns req ui res fl exi b l e p ro ces s e s th at c an fabric ate h igh volu me s at
r e a s o n a b l y l o w co s t s , referred t o as mass customi zati on (Pille r 2004; Raman i e t al.
2004).
Fig. 2
I n t h i s p a p er we p ro p o s e t he us e o f a g rap hi c al algorith m e ditor as a n e w in te rfac e
f o r a n i n d u s t ri al ro b o t . The res ul t i s us er-cus t omize d CAAD software wh e re mac h in e
c o n s t r a i n t s are i ncl ud ed as ad d i t i o nal d es i g n parame te rs dire c tly ge n e ratin g robot
c o n t r o l d a t a fi l es , t o b e us ed fo r mas s cus t o mization .
Fig. 3
I n g e n e r a l , t here are t wo d i s t i nct i ve s t rat eg i es for programmin g in du strial robots: On lin e /
a u t o m a t i c (Figu re 2 ) and o ffl i ne/ manual p ro g ram min g (F i g ure 3) (Biggs an d Mac D on ald
2 0 0 3 ) . O n li ne p ro g rammi ng i s us ed mo s t l y fo r in du strial applic ation s su c h as loadin g
a n d w e l d i ng , where p o i nt s are “t aug ht ” i nd i vi d u ally via th e KCP (KUKA Con trol Pan e l)
o r i n t h e v i rt ual ro b o t envi ro nment KUKA Si mPro. In th e fie ld of arc h ite c tu re , wh e re th e
d i g i t a l C A D/ CAM wo rkfl o w i s i mp o rt ant , o nl i ne programmin g is rare ly u se d.
2.2 KUKA ROBOT LANGUAGE CODE Figure 1. Spencer Dock Bridge: Parametric
freeform design, CNC-milled formwork - Image
The KUKA Robot Language (KRL) is a proprietary programming language with similarities to courtesy of Nedcam
Pascal and is used to control KUKA robots. Unlike G-Code, it does not contain just tool and Figure 2. Online programming via KUKA Sim Pro
machine movement commands, but can also declare variables and work with conditional (left) or via the KUKA Control Panel (right)
clauses. While the KRL documentation (KUKA Robotics 2003) explains a set of commands, it Figure 3. Existing offline data workflow from CAD to
does not provide detailed information on the required structure of a proper control data file in an industrial robot
243
KRL (Mühe et al. 2010). We therefore had to reverse-engineer the structure of KRL files created
by the kinematics postprocessor KUKA SimPro/CAMRob. Basically, a Numeric Control file for
KUKA consists of two separate files: A *.dat file where variables such as the home position
are stored and a *.src file which contains the various commands, like movement commands,
loops, sensor queries et cetera. There are various ways of giving movement commands to a
robot, the most common ones are the following (Takase et al. 1981):
Joint coordinate programming consists of absolute axis rotation commands, instructing the
robot to move each of its six axes to a defined rotation value.
Cartesian coordinate programming defines the location and orientation of the end-effector
in a previously defined Cartesian coordinate system. This can either be point-to-point (PTP)
commands where the end-effector moves from one position to the next with the least amount
of axis rotation or linear (LIN) commands where the end-effector moves from one position to
the next along a straight line.
For most architectural purposes, the location of the tool has to be precisely controlled,
therefore requ irin g th e u se of Carte si an c oordi n ate programmi n g. T h e kin e matic s of the
ro b o t d o not n e c e ssarily h ave to be simu late d in th e parame tric mode lin g e n viron me nt ,
as t hey are solve d ac c ordin g to th e e n d-e ffe c tor position /orie n tation in re altime when
t he K R L co de is e xe c u te d at th e c on trol u n it. Howe ve r, simu latin g th e robot’s kin e matics
i n a d es i g n e n viron me n t e n able s th e de sign e r to re ac t to re ac h ability-c on strain ts or
p o s s i b l e collision s, th e re by optimizin g th e u se of th e available workspac e .
A recent ar c h ite c tu ral e xample in volvin g in du strial robots an d c u stom sc riptin g is the
Pike Lo o p proje c t (F i g ure 4) by Gramazio an d Koh le r (Bärtsc h i e t al. 2010), wh e re a
s p eci al “wi ggle d bon d bric k arran ge me n t is mappe d on to a ge n e ric dou ble c u r v ed
s urface”. T h is re su lts in a CAD-c re ate d su rfac e be in g proc e sse d by a sc ript tha t
d eal s wi t h th e variou s proble ms in volve d in robotic bric k stac kin g, like th e ge n e ra l
arrang ement, th e bou n dar y c on dition s an d optimization issu e s (F i g ure 5a) . Wh ile t he
s cri p t i s exec u te d, th e u se r c an n ot in te rac t bu t h as to wait u n til th e sc ript is fin ish ed;
t he us er i s th e n pre se n te d with th e re su lt an d h as to e valu ate if th e ac h ie ve d ou tput
meet s p rede fin e d re qu ire me n ts or if th e re su lt h as to be c h an ge d. T h is c an be done
ei t her b y chan gin g th e pre de fin e d re qu ire me n ts, by modifyin g th e in itial CAD ge ome t r y,
Figure 4. Robotic fabrication for the Pike Loop o r b y changin g th e c ode itse lf. Basic ally, th e c ode ac ts as a sol ve r for a se qu e n c e of
Project by Gramazio and Kohler cl earl y (p re)de fin e d proble ms.
244
I n o u r p r e vi o us res earch we have s ho wn t hat a fu lly parame tric de sign for robot millin g
Fig. 5b
g r e a t l y s t r e aml i nes t he manufact uri ng p ro ces s as c h an ge s impose d by tool ge ome tr y,
m a t e r i a l p ro p ert i es o r machi ne co ns t rai nt s are e asy to imple me n t. We h ave propose d
s e v e r a l s t r a t eg i es t o i mp ro ve t he wo rkfl o w fro m digital de sign to produ c tion , su c h as
i n c l u d i n g m achi ne co ns t rai nt s i n t he p aramet ric mode l or ge n e ratin g G-c ode with a
G r a s s h o p per d efi ni t i o n. H o wever, s o me wo rkflow proble ms re main e d as th e G-c ode
s t i l l h a d t o b e p o s t -p ro ces s ed b efo re s end i ng it to th e robot’s c on trol u n it. Re c e n tly,
w e d e m o n s t rat ed t he us e o f a Gras s ho p p er de fin ition , c apable of ge n e ratin g ac tu al
K R L c o d e . H o wever, mai nt enance o f t hi s co mp le x c lu ste r of Grassh oppe r c ompon e n ts
p r o v e d t o b e cumb ers o me, as t here was no possibility of imple me n tin g a c e n tral
g r a p h i c a l i nt erface o r i nt ui t i ve d es i g n fo r mass c u stomization . Solvin g th e se issu e s
r e q u i r e s t h e d evel o p ment o f an act ual ro b o t m illin g plu g-in , as de mon strate d by th e
K U K A | p r c co mp o nent i n Sect i o n 4 .1 .
4 De sign in g a Pa r a me tr ic Compon e nt fo r Ro bo t M i l l i ng
245
Whi l e d es i gn in g th e KUKA Robot Lan gu age c ompon e n t for Grassh oppe r we aime d t o
ful fi l l t he fo llowin g five re qu ire me n ts:
• It s ho uld foc u s on fle xible , dyn amic robot c on trol with ou t th e fe atu re -
o verl o a d of c omme rc ial CAM software .
Fig. 6
The resulting KUKA Robot Language Component for Grasshopper is written using
the .NET framework (RhinoCommon SDK & Grasshopper SDK) in Visual Studio and
seamlessly integrates with the default Grasshopper components. A project in Visual
Studio can contain several classes (i.e., Grasshopper components) which compile
into a single class library that can be easily distributed among users.
4.2 K U K A K R L C O M P O N E N T: F U N C T I O N A L I T Y
We d e f i n e t h e e n d - e f f e c t o r o r i e n t a t i o n a n d p o s i t i o n a l o n g a t o o l p a t h i n t h e K R L
c o m p o n e n t w i t h t h e h e l p o f t h r e e i n p u t s ( F i g u re 6 ) :
• The tooltipcurve defines the position of the tool center point (TCP) on the
t o o l p a t h d u r i n g a m i l l i n g j o b a t a p o i n t p n.
• T h e g u i d e c u r v e a t p n’ d e f i n e s t h e t o o l a x i s a s t h e v e c t o r f r o m p n’ t o p n.
• T h e o r i e n t a t i o n p o i n t q d e f i n e s t h e r o t a t i o n o f t h e e n d - e f f e c t o r a r o u n d t h e
toolaxis and can be either a static point or a dynamic point along a curve.
I n F i g u re 6 , q i s p l a c e d a l o n g t h e r o b o t ’s a x i s A 1 .
Synchronizing point p n ’ and p n is done via the curves’ parameterization or by dividing the
curves into an equal number of points. The resulting information consists of a point (XYZ)
and Euler angles (ABC) which can be formatted and exported as KRL code.
Figure 6. Necessary geometric input for KRL code
generation: tool and guidecurve (left), orientation of Besides the parametric numeric (simulation slider) and geometrical input (toolpath
the end-effector (right) points, collision geometry), the KRL component also provides a graphical user
246
interface, accessible within Grasshopper (Figure 7). Simulated objects such as the
r o b o t ’s e n d - e f f e c t o r a r e g e n e r a t e d p a r a m e t r i c a l l y w i t h i n t h e c o m p o n e n t a c c o r d i n g
to the tool parameters and do not require separate Grasshopper geometry input.
One of the main problems when using existing CAM software is that CAM software
is a closed system that contains many functions from mechanical engineering,
which are not necessarily required for architectural designs. The options available
within the KRL component focus on the most essential features of CAM software:
• D e f i n e t he l ead i n and l ead o ut (no ne/ o ffse t/tan ge n tial/alon g tool axis)
• C o l l i si o n co nt ro l s et t i ng s
• K R L f i l e s et t i ng s
W h e n e v e r the p aramet ri c mo d el i s chang ed , t he KRL file s are simu ltan e ou sly u pdate d
w i t h t h e n e wes t vers i o n i n t he d i rect o r y d efi n e d by th e ou tpu t se ttin gs. For mass
c u s t o m i z a ti o n i t i s p o s s i b l e t o o verri d e t hi s se ttin g an d attac h a se qu e n c e n u mbe r
t o t h e f i l e n ame s o t hat s ep arat e fi l es are aut o m atic ally ge n e rate d for e ac h variation .
T h e G r a s s h o p p e r d e f i n i t i o n i n F i g u re 8 a l l o w s v a r i o u s r e a l t i m e p r e v i e w s w h i c h
enable the designer to simultaneously follow the design and production process. The
geometric generation of the parametric tooltip- and guidecurves (1), the individual
modules to be produced (2), the stacked results (3), the automated toolpath
generation (4) and a simulated end-effector are all shown at the same time in a single
viewport. The end-effector simulation and KRL output (5) are handled by the new
custom KRL component. This demonstrates our initial idea of using the parametric Figure 7. KUKA|prc - graphical interface for
design environment as a custom design tool where changes to single geometric parametric robot control
247
Fig. 9
modules, or to the overall design, have immediate consequences for the toolpath
generation and vice versa.
In contrast to traditional CAM software, this modular approach allows an open and flexible
parametric CAM environment, where the user does not necessarily have to rely on pre-
set toolpath-strategies, but can substitute these components with his own parametric
Grasshopper definitions.
To compare the Grasshopper integrated KUKA plugin with traditional CAD/CAM, two prototypes
of the same parametric wall design were milled. The physical models of both results were
indistinguishable, while the preparation with the commercial CAM software took only slightly
longer compared to the KRL component. However, any successive variation would widen the
time-gap as the CAD/CAM software has to be set up each time, while the KRL component
can continue generating KRL code instantly. For the design variant in Figure 8, the toolpath
consists of 1500 points. The KRL file is generated within 45ms on a 2GHz laptop, which would
theoretically allow the automated output of 20 design variants per second. This rapid response
allows designers to quickly output and fabricate design variants, without having to manually
process each file in the CAM software and postprocess for the robot´s kinematics. A further
advantage is that the calculations happen parallel to the design process: while the designer can
“play” with the geometric entities such as curves and stackable 3D modules, the KUKA plugin
Figure 8. Production immanent parametric model provides feedback on fabrication feasibility and possible collisions.
simultaneously showing realtime preview of
geometry input (1), individual modules (2), final In order to evaluate the Grasshopper-integrated KUKA plugin with a full scale architectural
design (3), milling simulation with feasibility analysis
prototype, we revisited “Plug & Play,” a robotically fabricated project from 2009/2010 that
(4) and KRL code (5)
required the fabrication of 18 unique freeform panels for a 12m² freeform interior surface as part
Figure 9. 12m² freeform surface segmented in 18
panels (left), comparing flank milling and point milling of a children´s playground design (Figure 9). Different milling strategies such as roughening,
according to material efficiency (middle, right) finishing and flank milling were evaluated and successfully used with the KUKA plugin.
248
Fig. 11
Roughening and finishing are common point milling strategies that use the tooltip of the endmill
to coarsely remove stock material layer by layer (roughening), and then to create the final
surface finish (finishing). In contrast, flank milling (Schindler 2009) utilizes the whole cutting
length of the endmill to tangentially cut finished surfaces out of the stockmodel.
Both from the computational and physical point of view, flank milling proved to be the
best solution for this particular project. Compared to the point milling strategies, flank
milling required approximately 80% less toolpath length, which equals machine time, and
achieved more than 40% in material savings (Figure 9). Similar results for flank milling
applications were reported by Waldt (2005).
Figure 10 shows the comparison of the proposed milling strategies of an exemplary panel in
commercial CAM software and the impact of flank milling on toolpath lengths and machine time.
The increased toolpath length of point milling also has consequences for the parametric design
environment, as the robot code generation is noticeably slowed down by the excessive amount
of data. In the freeform playground design only flank milling allows the designer to work in
a fluent, near realtime design environment. The right choice of milling strategies is therefore
crucial for the parametric design environment and efficiency of mass customization. Therefore
the designer has to evaluate milling strategies before creating a parametric model. Any design-
to-fabrication automation requires milling experience to allow such decisions.
The two realized examples, the parametric wall and the children´s playground design presented
in this paper show that parametric design software with integrated CAD/CAM features is
capable of accommodating customized and optimized fabrication strategies that would not be
possible using traditional CAM software tools only. Significant savings in machining time and
material costs, along with the ecological aspect of producing less waste, can be achieved by Figure 10. Freeform playground: comparing point-
optimizing designs for fabrication instead of just sending the final 3D CAD file to the fabrication and flank milling strategies
workshop. The KUKA component for Grasshopper enables a fluid workflow from optimized Figure 11. Modular, parametric robot control using
design to robotic fabrication. KUKA|prc
249
Fig. 13
Industrial robots have been applied in full-scale construction – as a replacement for manual labor – in
Japan since the 1980s with little success due to automation difficulties and economic reasons. As
Bechthold (2010) states, the development of automated programming strategies is fundamental for
using robots in “customized construction”.
Our intent in research is to enable a wide range of architects in the use of robots with a similar ease of
use compared to conventional CNC-machines and an intuitive approach towards mass customization.
The presented parametric interface in this paper is a first step for industrial robots to be used as full scale
construction technology by a broad range of designers and CAD users.
From the architectural design point of view we would like to “play” with robotically manufactured designs,
where all necessary constraints are integrated in a parametric model. Our approach of designing the
KUKA|prc component for milling, is - compared to Gramazio and Kohler´s robotically bricklaid walls - of
course a geometrically less complex problem to solve, but demonstrates a certain playfulness in design
and ease in the creation of an interface for the use of a technically sophisticated CNC machine such
as a KUKA robot. The multifunctionality of Grasshopper can be compared to the multifunctionality of
an industrial robot where the designer can plug and unplug different tools like milling-cutters for robot
milling or gripping tools for bricklaying (Figure 11). It allows the expectation that the presented KUKA|prc
component in this paper is modifiable to achieve a wide variety of robot applications by simple plugging
and unplugging different geometric solutions or tool constraints, enabling us to integrate industrial robots
in CAAD and move beyond CAD/CAM as we know it (Figures 12, 13).
Ac kn owle d g ements
The projects in Figure 12 (Parametric Punching by Michael Vasku) and Figure 13 (Lightpainting by Vera
Kumer) resulted from testing the KUKA|prc plugin in the lecture “Digital Design to Production” at Vienna
Figure 12. Robotic fabrication beyond CAD/CAM:
parametric punching – toolpath generation via UT. We would like to thank all of our students for their enthusiasm, and the Association for Robots in
image sampling Architecture, Vienna University of Technology, the Innovative Project “Geometric Model Building with
Figure 13. Robotic fabrication beyond CAD/CAM: CNC-Technologies”, the “7-Axis CNC Milling with an Industrial Robot in Architecture” project, and KUKA
lightpainting CEE for their kind support of our research.
250
B r e l l - C o k c an, S., M. Rei s , H . Schmi ed ho fer, an d J. Brau man n . 2009. D igital D e sign
t o D i g i t a l Pro d uct i o n: Fl ank Mi l l i ng wi t h a 7-Axis Robot an d Parame tric De sign .
C o m p u t a t i o n: The N ew R ealm o f A rchit ect ural De si gn . 27th e CAADe Con fe re n c e
P r o c e e d i n g s: 3 2 3 -3 3 0 . Is t anb ul .
E a st m a n , C., P. Tei cho l z, R. Sacks , and K . Liston . 2008. BIM Han dbook. Hoboke n ,
N e w J e r se y: W i l ey and S o ns .
251