atefehm@andrew.cmu.edu – Human-Machine Virtuosity https://courses.ideate.cmu.edu/16-455/s2017 An exploration of skilled human gesture and design, Spring 2017. Fri, 12 May 2017 04:41:36 +0000 en-US hourly 1 https://wordpress.org/?v=4.9.25 RoboZen Project Report https://courses.ideate.cmu.edu/16-455/s2017/347/robozen-project-report/ https://courses.ideate.cmu.edu/16-455/s2017/347/robozen-project-report/#respond Wed, 10 May 2017 16:59:47 +0000 https://courses.ideate.cmu.edu/16-455/s2017/?p=347 Continue reading RoboZen Project Report ]]>

 

RoboZen

Cecilia Ferrando, Cy Kim, Atefeh Mhd, Nitesh Sridhar

5/10/2017

 

Abstract:

Our human-machine workflow involve using a sandbox as a zen drawing template. By using sand as the drawing medium, it is easy to create and reset patterns. Modeling sand is on one side a predictable action, on the other it also entails an unpredictable component due to the complex behavior of granular materials.

The workflow was initially designed as follows:

As a pattern or shape is being drawn, Motive captures the motion of the hand tool moving through the sand. Grasshopper takes in a raw CSV file as an input and it preprocesses it in the following way:

  • points are oriented in the correct way with respect to the Rhino model
  • the points that are not part of the drawn pattern (for example the ones recorded when the hand was moving in or out the area) are dropped
  • curves are interpolated and smoothed out

The preprocessed input curve (or curves, in the case of a multiple curve), is passed to a GhPython component that dispatches the input according to determined parameters that are intrinsic to the input. In particular, the code checks whether the input curves are:

  • closed, open or self-intersecting
  • long or short with respect to the dimensions of the box
  • positioned with large or small relative angle with respect to the center or the box
  • complex or simple

Depending on the nature of the input, the curves are dispatched to the final implementations in the following way:

Within the mandala/radial symmetry mode, the software reflects and rotates the source curve into the form of a mandala with rotational symmetry that has as a center the center of the box. Differently, the spiral mode rotates the figure with respect to the endpoints of the curve, with a variable scaling factor that decreases the size of the input curve as it is patterned outwards.

The user might choose to draw multiple figures on the canvas. A maximum of four figures is allowed by the system. In this case, a tweening mode interpolates between multiple curves by computing a number of intermediate instances between consecutive curves. These patterning modes will also treat closed curves as objects, aiming to avoid them rather than intersecting with them or trying to cover them. In this way the patterning is reminiscent of the rake lines that are seen in zen gardens which avoid the rocks and small areas of greenery that are located within the garden.

When the offset mode is activated by a closed curve, the implementation follows the same structure as the offset command in Grasshopper, except that a zig-zag transformation is applied as the figure is offsetted outwards. Also, the offset distance is variable.

 

Objectives:

The purpose of the Zen Robot Garden is to create an experience where the user can view the robot drawing patterns in the sand both as a meditative experience (such as creating a mandala or a zen garden pattern) and as an educational experience to learn how symmetries, scaling and other geometric operations can entail very different results based on a set of different input parameters. There is a component of surprise in seeing what the final sand pattern looks like, and this is due to two elements:

  • the hard-to-predict aspect of the completed pattern
  • the self-erasing and complex behavior of the sand as it is being modeled

As the users continues to explore the constraint space of the sandbox curves, they can implicitly infer the parametric rules and therefore learn how to bring out different patterns.

The ABB 6-axis robot uses a tool with a fork-like head to act within the same sandbox as the user, in order to create small, rake-like patterns in the sand similar to those that can be seen in a true zen garden. The collaboration between the robot and human user allows the user to create complex forms out of simple shapes and drawing movements. Watching the robot perform the task puts the user in a relaxing state similar to the meditative function of a zen garden.

 

Implementation:


We chose to use a sandbox because sand is easy to work with and draw in but also simple to reset. Additionally it creates a collaborative workspace for the robot and human user, allowing them to explore the medium together. Watching the robot slowly transition through the sand, displacing old curves in place of new ones, creates a relaxing atmosphere and echoes the impermanence and patience shown in true zen garden pattern making.

We started by having a rigid body for the sandbox as well as the drawing tool to help capture the plane of the box. We also captured it as a work object for easy use with the robot. The drawing tool was used in repeated takes to capture the movement of the user’s hand as a curve that mirrored what they had drawn in the sand.

Outcomes:

We were able to create a logical system that allows the user to discover different outputs based on their input drawings without having to open up settings or menus. The transformations and output parameters used to create the final curve patterns are directly based off of properties of the input curves, which creates a process that seems opaque and surprising at first, but can be uncovered through repeated use.

The most difficulty we had was in terms of taking a curve output from Motive’s motion capture and bringing it into Grasshopper, as some of the capture settings can vary between takes and it was difficult to create a parametric solution that covered all the curves while still leaving them unchanged enough to be analyzed and reinterpreted for the robot output.

Contribution:

All the group members collaborated in shaping and fine-tuning the initial concept for the workflow.

Cecilia and Atefeh designed the Grasshopper script which takes the motion capture data and extracts the user’s input curves. They also coded the script that generates the curve output based on the parametric properties of the input.

Cy created the HAL script which takes the output curves and generates the robot’s motion paths from the curves. She also CNC routed and assembled the sandbox.

Nitesh designed and 3D printed the tooltip for the robot, and helped set up the work objects and robot paths, and supplied sand.

Inspiration:

Sisyphus – Bruce Shapiro

Procedural Landscapes – Gramazio + Kohler

Photo Documentation:

Drawing a user input curve for the robot to work with

 

Test run – You can see how the variation in the tool height compared to the sand level creates deeper or lighter lines in the sand

 

The final curve pattern as a whole

 

Close-up of the tool we designed to create variation based on the depth of the tool in the sand

 

 

 

 

]]>
https://courses.ideate.cmu.edu/16-455/s2017/347/robozen-project-report/feed/ 0
Robot Zen Garden https://courses.ideate.cmu.edu/16-455/s2017/305/robot-zen-garden/ https://courses.ideate.cmu.edu/16-455/s2017/305/robot-zen-garden/#respond Mon, 03 Apr 2017 22:45:07 +0000 https://courses.ideate.cmu.edu/16-455/s2017/?p=305 Continue reading Robot Zen Garden ]]>  

 

Written Description:

The initial steps in this workflow involve using a sandbox as a zen drawing template. By using sand as the drawing medium, it makes it easy to create and reset patterns. As a pattern or shape is being drawn, Motive captures the motion of the hand tool moving through the sand. Grasshopper isolates the curve and then based on an analysis of that curve, picks a mode for the output and generates it.

Within the mandala/radial symmetry mode, grasshopper reflects and rotates the source curve into the form of a mandala with rotational symmetry. Additionally there will be a mode for a spiral repetition mode with scaling that increases outwards from the center, and a mode for sectioning and patterning areas between closed curves. These patterning modes will also treat closed curves as objects, aiming to avoid them rather than intersecting with them or trying to cover them. In this way the patterning is reminiscent of the rake patterns that are seen in zen gardens which avoid the rocks and small areas of greenery that are located within the garden.

The ABB 6-axis robot will use a tool with a fork-like head to act within the same sandbox as the user, in order to create small, rake-like patterns in the sand similar to those that can be seen in a true zen garden. The collaboration between the robot and human user will allow the user to create complex forms out of simple shapes and drawing movements, and then watching the robot perform the task in a relaxing state similar to the meditative function of a zen garden.

]]>
https://courses.ideate.cmu.edu/16-455/s2017/305/robot-zen-garden/feed/ 0
Sand Sculptures: Sketching 3D Shapes from 2D Sand Drawings https://courses.ideate.cmu.edu/16-455/s2017/282/sand-sculptures-sketching-3d-shapes-from-2d-sand-drawings/ https://courses.ideate.cmu.edu/16-455/s2017/282/sand-sculptures-sketching-3d-shapes-from-2d-sand-drawings/#respond Mon, 13 Mar 2017 05:28:54 +0000 https://courses.ideate.cmu.edu/16-455/s2017/?p=282 Continue reading Sand Sculptures: Sketching 3D Shapes from 2D Sand Drawings ]]> Hybrid Skill Workflow Diagram:

 

Input:

Transformation:

Output:

 

Written Description:

The first step in this workflow involves using a sandbox for the drawing template. By using sand as the drawing medium, it makes it easy to create and reset patterns. Once a pattern is drawn it can either be modified or saved to be used to design the final sculpture. The Kinect depth camera will analyze the drawing pattern as a curve and Grasshopper will use that to generate a sculptural volumetric form.

Grasshopper will calculate and display the form, updating it as you draw, clear, and redraw curves in the sand. This will be based off of revolving or sweeping through the curves to create a vase-like form. After adding enough curves and adjusting the spacing and look of the curves, you can finalize the form for fabrication.

The final form could be fabricated in a multitude of ways from the 3D model grasshopper generates. We have decided to use the ABB 6-axis robot to fabricate the finalized form out of sand.

]]>
https://courses.ideate.cmu.edu/16-455/s2017/282/sand-sculptures-sketching-3d-shapes-from-2d-sand-drawings/feed/ 0
Creating 3D Textile Joinery from Gesture https://courses.ideate.cmu.edu/16-455/s2017/238/creating-3d-textile-joinery-from-gesture/ https://courses.ideate.cmu.edu/16-455/s2017/238/creating-3d-textile-joinery-from-gesture/#respond Wed, 01 Mar 2017 01:43:52 +0000 https://courses.ideate.cmu.edu/16-455/s2017/?p=238 Hybrid Skill Workflow

Physical Workcell Diagram

 

]]>
https://courses.ideate.cmu.edu/16-455/s2017/238/creating-3d-textile-joinery-from-gesture/feed/ 0
SculptMotion: Analyzing the Skill of Clay Sculpting https://courses.ideate.cmu.edu/16-455/s2017/124/sculptmotion-analyzing-the-skill-of-clay-sculpting/ https://courses.ideate.cmu.edu/16-455/s2017/124/sculptmotion-analyzing-the-skill-of-clay-sculpting/#respond Sat, 18 Feb 2017 19:14:23 +0000 https://courses.ideate.cmu.edu/16-455/s2017/?p=124 Continue reading SculptMotion: Analyzing the Skill of Clay Sculpting ]]> Clay sculpture is typically a skill learned through practice.  Our group took interest in the movements a clay sculptor makes as they sculpt.  Is there a trend with the shape, position, or velocity of the tools?

We began this exploration by interviewing Miranda Miller, a CMU freshman art student who specializes in clay sculpting work.  From the information we gathered, we chose 3 tools that we thought were essential to creating a clay sculpture from start to finish.

A large tool, used for scraping off large amounts of clay from a block
A medium sized tool, used to scrap off smaller elements.
A small tool, used for detail work and smoothing surfaces.

 

 

 

 

 

 

Afterwards we invited Miranda into the dFAB lab and used the MOCAP software to capture her working.  To do this, we designed and lasercut structures to hold 3 small, reflective spheres which the software uses to track rigid bodies.  For the software to work, the bodies must be unique, asymmetric, and not inhibit tool motion. We also modeled each tool in Rhino.

Structure for Large Tool
Structure for Medium Tool
Structure for Small Tool

 

 

 

 

 

 

 

 

We placed Miranda and her block of clay on one side of the table.  After looking at the data in MOCAP, we realized that we would drop fewer frames if she was facing the other side.  We recorded her sculpting with all three tools, and making Once we got the MOCAP data, we then analyzed the data using Grasshopper.  First, we combined the MOCAP CSV data and the Rhino tool models to create graphics of the tool moving throughout the space in Rhino.  We then decided to focus on the small tool and it’s movements, because the data was clearest and most interesting.

Path of the small tool

From that we have isolated several gestures that we found interesting and observed the velocity of the tip of the tool visually.  Within Grasshopper, we created a color gradient for the points that represents the velocity at each point.  We also exported the velocity matrix as a CSV and graphed it in MATLAB.

Movement of the tip of tool with color gradient
Key for Velocity
Diagram of Cut Segment
Velocity Diagram of Tip of the Tool

This data shows a trend in how an artist uses the small tool to smooth surfaces.  The tool is oriented more horizontally and moves much slower than normal back and forth motion.  This data can be used to help a new clay sculptor gain the skills of an expert much quicker.

Miranda’s Final Sculpture

We then made a digital model of the sculpting motion.

Render of sculpting motion

 

SculptMotion is a project by Lissa Biltz, Cecilia Ferrando, Atefeh Mhd, and Dyani Robarge.

Special Thanks to Miranda Miller, ’20   for all of her help.

]]>
https://courses.ideate.cmu.edu/16-455/s2017/124/sculptmotion-analyzing-the-skill-of-clay-sculpting/feed/ 0