Adaptive Industrial Robot Control For Designers: September 2017
Adaptive Industrial Robot Control For Designers: September 2017
Adaptive Industrial Robot Control For Designers: September 2017
net/publication/319944935
CITATIONS READS
2 948
3 authors:
Larry Sweet
Georgia Institute of Technology
24 PUBLICATIONS 774 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Shani Sharif on 20 September 2017.
Figure 2
Failed attempts in
fabrication of the
module before the
final successful
results. Problem
with wrong
ative endeavors relies on a reciprocal investigation As the conventional methods of robot control and material placing,
between conceptual, digital and materials forms in motion programming were not developed based on singularities and
order to find the best possible solution for the design the needs and skills of designers, researchers in these unanticipated robot
and fabrication problem in hand. Consequently, for field have focused on the development of more flex- path optimization
the processes that use digital design and fabrication ible and intuitive robot control and programming
tools, it is essential that tools of these processes facil- tools. These new software tools have acquired graph-
itate the reciprocal design and fabrication develop- ical programming editors such as Grasshopper. Dif-
ment process. ferent plug-ins such as Kuka|prc (Braumann and Brell-
However, using the existing industrial robot con- Cokcan 2011), HAL (Schwartz 2013), and Scorpion
trol system for architectural fabrication processes re- (Elashry and Glynn 2014) for programming and kine-
quires that the designer have a comprehensive view matic simulation of industrial robots such as KUKA,
of the fabrication and machining process, and embed ABB, and Universal Robots have been developed for
all the required considerations in the digital model, Grasshopper and Dynamo. The plug-ins for graphi-
before the start of the fabrication phase (Sharif and cal robot programming provide the option for archi-
Gentry 2015). This is a one-directional workflow (Fig- tectural designers to program and simulate industrial
ure 1), in which the designer has to predict mate- robots directly out of the parametric modelling envi-
rial state, tool selection, fixture positioning and robot ronment based on the geometric parameters of their
motion planning based on prior experience (Figure designs. These tools provide interactive design and
2). This established workflow of robotic technology robot programming/simulation in the initial stages of
that performs adequately and effectively in produc- the process. However, most of these tools result in
tion manufacturing does not provide much room for a static robot control data file that has to be trans-
any interactive creative design/fabrication activity. ferred from the personal PC equipped with the robot
There is a high cost and time penalty for re-work in programming tool to the robot computer. After the
this process. robot path generation and export of the file, the con-
Our overall architecture consists of three high level cate between each other. The Robot server is the
modules - a RSI-Grasshopper module, a Kinect- server that connects to the KUKA robot over UDP and
Grasshopper module and the KUKA Robot Sensor In- always responds to the robot in the 12-millisecond
terface (RSI) server (Figure 4). We outline the design time limit in order to maintain the hard real-time con-
of each module below. straint and keep the connection active. This also al-
lows the Read and Write servers to perform long run-
KUKA RSI Server ning operations independently and not violate the
KUKA robots allow their real-time control via the response time constraint. The Robot server checks
KUKA.RobotSensorInterface or RSI from an external for any new input at each cycle before transferring
PC over an Ethernet connection. To enable this, the the input or a standard response without corrections
user needs to write a UDP (User Datagram Protocol) to the robot while always updating the new robot
based network server on an external PC, in a pro- configuration in its internal data structures. The Read
gramming language of their choice, and provide the Server reads the RSI data from the Robot Server’s in-
Internet Protocol address of the server to the robot ternal structures and provides it to the user in JSON
via the RSI configuration XML. This allows for bidi- format for display or logging. The Write Server ac-
rectional communication between the robot and the cepts input from the user in the form of a JSON of per-
server, allowing for the robot motion to be corrected axis corrections and transforms this input to a JSON
via XML-based instructions. We developed the RSI format which is then sent to the Robot Server to en-
Server in the Python programming language due code into valid XML and then send to the robot. We
to its ease of experimentation and abundance of li- use JSON to communicate between the three sub-
braries for network operations. Our implementation servers due to its ease of use with Python and many
supports both the KUKA KRC2 and KRC4 robots. other high-level languages (such as Matlab or C#) and
Our RSI Server spawns three sub-servers - a relatively lower memory requirements compared to
Robot Server, a Read Server, and a Write Server. XML. All communication between the 3 sub-servers
These are essentially sub-processes that communi- is done using inter-process messaging queues.
Kinect-Grasshopper Module
To allow for visual feedback of the object we are fab-
ricating, we integrated a Kinect sensor feedback into
Rhino 3D by developing a Kinect-Grasshopper plu-
gin module (Figure 6). The Kinect acts as a 3D scan-
ACKNOWLEDGMENT
This project is a joint collaboration between the Dig-
ital Fabrication Lab, as part of School of Architecture,