Parametric Robot Control: Integrated CAD CAM FOR Architectural Design
Parametric Robot Control: Integrated CAD CAM FOR Architectural Design
Parametric Robot Control: Integrated CAD CAM FOR Architectural Design
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
AC
A C
CAAD IA 2
DIA
ACADIA 200
2011 _PROCEEDINGS INTEGRATION THROUGH COMPUTATION
1 I nt rod uct i o n
Fig. 2
In t h i s p ap er we propose the use of a gra phical a lg o r it hm ed it o r a s a new int er fa ce
f or an i n d u stria l robot. The result is user-custom ized CA A D so ft wa r e wher e ma chine
c on s tr ai n t s a re included a s a dditiona l design pa r a met er s d ir ect ly g ener a t ing r o b o t
c on t r ol d ata files, to be used for ma ss customiza t io n.
Fig. 3
In ge n e r al , there a re two distinctive stra tegies for p r o g r a mming ind ust r ia l r o b o t s: O nline/
au tom at i c (Fi gure 2) a nd offline/ma nua l progra mming ( Fi gu re 3 ) (B ig g s a nd M a cDo na ld
2 0 0 3 ) . O n l i ne progra mming is used mostly for ind ust r ia l a p p lica t io ns such a s lo a d ing
an d w e l d i n g , where points a re “ ta ught” individually v ia t he K CP (K U K A Co nt r o l P a nel)
or i n t h e v i r tua l robot environment KUKA SimPro. In t he field o f a r chit ect ur e, wher e t he
d i gi tal C AD/CA M workflow is importa nt, online pr o g r a mming is r a r ely used .
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 requir ing t he use o f Ca r t es i a n co o r d i na t e p r o g r a mmi ng . The k inema t ics o f t he
robot do not necessa r ily ha v e t o b e simula t ed in t he p a r a met r ic mo d eling env ir o nment ,
a s they a re so lv ed a cco r d ing t o t he end - effect o r p o sit io n/o r ient a t io n in r ea lt ime when
the KRL code is ex ecut ed a t t he co nt r o l unit . H o wev er, simula t ing t he r o b o t ’s k inema t ics
in a design env ir o nment ena b les t he d esig ner t o r ea ct t o r ea cha b ilit y - co nst r a int s o r
possible collis io ns, t her eb y o p t imizing t he use o f t he a v a ila b le wo r k sp a ce.
3.1 O F F LI N E P R O G R A M M I N G V I A C U S T O M I Z E D S C R I P T I N G
A recent a rch it ect ur a l ex a mp le inv o lv ing ind ust r ia l r o b o t s a nd cust o m scr ip t ing is t he
P ike L oop pro ject ( Fi gu re 4 ) b y G r a ma zio a nd K o hler (B ä r t schi et a l. 2 0 1 0 ), wher e a
specia l “ wigg led b o nd b r ick a r r a ng ement is ma p p ed o nt o a g ener ic d o ub le cur v ed
surfa ce” . This r esult s in a CA D- cr ea t ed sur fa ce b eing p r o cessed b y a scr ip t t ha t
dea ls with the v a r io us p r o b lems inv o lv ed in r o b o t ic b r ick st a ck ing , lik e t he g ener a l
a rra ngement, t he b o und a r y co nd it io ns a nd o p t imiza t io n issues ( Fi gu re 5 a ) . While t he
script is exec ut ed , t he user ca nno t int er a ct b ut ha s t o wa it unt il t he scr ip t is finished ;
the user is then p r esent ed wit h t he r esult a nd ha s t o ev a lua t e if t he a chiev ed o ut p ut
meets predefined r eq uir ement s o r if t he r esult ha s t o b e cha ng ed . This ca n b e d o ne
either by cha n g ing t he p r ed efined r eq uir ement s, b y mo d ify ing t he init ia l CA D g eo met r y,
Figure 4. Robotic fabrication for the Pike Loop or by cha ngin g t he co d e it self. B a sica lly, t he co d e a ct s a s a s o l ver fo r a seq uence o f
Project by Gramazio and Kohler clea rly (pre)defined p r o b lems.
244
T h e P i k e Loop project shows how customized sc r ip t ing a llo ws a r chit ect s t o a lt er t heir
d e s i gn s p ar a metrica lly in a linea r process a nd ho w t o ex ecut e p a r a met r ic d esig ns wit h
an i n d u s tr i a l robot set-up, in this ca se a robotic g r ip p er. While t he ex emp la r y d a t a
Fig. 5a
f l ow d e s c r i bed in Section 3.1 is suita ble for ma ny a r chit ect ur a l a p p lica t io ns, we a r g ue
th at i t i s n ot idea l for a fluent bottom-up a rchitect ur a l d es i g n t o r o b o t mi l l i ng wo r k flo w.
A w e l l -i n t e g ra ted pa ra metric design tool for robot milling a nd a r chit ect ur a l d esig n (e. g .
f or m as s c ustomiza tion) requires the user (i.e., t he d esig ner ) t o b e a b le t o inst a nt ly
an d c on s tantly intera ct with a ll pa rts of the cod e. P r ep a r ing d a t a fo r r o b o t milling is
t h e r e f or e a highly non-linea r process.
245
4.1 K U K A K R L - C O M P O N E N T: G E N E R A L A P P R O A C H
t I ts functio na lit y sho uld b e t r a nsp a r ent t o t he d esig ner a nd cust o miza b le,
wra pped in a n a ccessib le user int er fa ce.
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 ) :
t 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 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.
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:
t Se t t oo l number a nd properties (tool length/ cut t ing leng t h/d ia met er /feed r a t e)
t C ol l i s i o n control settings
t KRL f i l e settings
4.3 KU K A K R L C O M P O N E N T: A P P L I E D D E S I G N S A N D E VA L U AT I O N
T h e KU KA K RL component’s ma ss customiza tion ca p a b ilit ies wer e t est ed wit h d iffer ent
p ar am e t r i c designs. One design ta sk wa s to creat e a p a r a met r ic E P S b r ick wa ll o ut o f
i n d i v i d u al , s ta cka ble elements with va r ying openin g s. It s b a sic t o o lp a t hs co nsist o f just
t w o p ar am e tric cur ves tha t crea te a ra nge of differ ent p hy sica l, st a ck a b le 3 D mo d ules
w i th v ar y i n g geometr y a nd openings (Fi gure 8) .
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
5 Con c l u s i on a n d Ou t l ook
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).
Acknowl ed ge me n t s
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
Wal d t, N. 2005. N C-P rogra mmierung für das fünfa chs i g e Fl a nk enfr ä s en vo n
F r e if or m f läc hen . Ha nnover: Universitä t Ha nnover.
251