Adroid is a system that allows users to borrow precision and accuracy
from an industrial robot during open-ended fabrication tasks.
In standard workflows for digital fabrication
tools, a user must navigate a gauntlet of software packages
to translate their design intent into a fabricated artifact.
In response to the overhead generated by these workflows, researchers
have explored many different ways of computationally augmenting handheld tools
such as carving tools, routers, pens and other drawing tools, as well as lathes.
With Adroid, we're similarly motivated by the limitations of existing workflows.
And in addition, we wanted to explore a more extensible approach
that can augment the user and fabrication environment directly.
Our approach is inspired by physical jigs which aid users
by selectively constraining the many degrees of freedom in our bodies.
For example, a miter box constrains a hand saw to move accurately within a plane
and a drill guide constrains the motions of the drill to move only along a line.
One of Adroid's motivating ideas
is that we can use a robot to create jigs computationally.
Robots are usually useful because we can tell them precisely
what to do, but here, we invert that.
It might be equally interesting to instead tell them what not to do.
In this example, the robot is configured
to constrain the drill to be perpendicular to the table.
The robot's motions are not predefined.
As the user tries to move the tool, the system measures the user's applied
forces through our force-torque sensor and generates the corresponding motions.
Here, we're also seeing another one of the capabilities, which is snap-to-grid.
Not only are we rendering these jigs through software,
we're using these interactions as a way of incorporating capabilities
normally associated with digital editing.
While we want to support hands-on fabrication in general,
as a starting point, we're interested in exploring how virtual jigs can support
intermediate and expert woodworkers in shared workshops.
The rationale for this is that using a tool amounted
to Adroid requires expertise with the manual version of that tool.
And though robots are expensive, shared workshops such as makerspaces
can democratize access to expensive machinery.
Next, I'll showcase four tools that we prototyped with Adroid.
And each of these tools will highlight a specific part of the system.
For example, with a measurement probe, we'll show how the initial correspondence
between the physical and digital models can be established.
With a track saw,
we'll show how the system can record a user's fabrication process.
With a drill, we'll demonstrate how accuracy can be borrowed
from an industrial robot doing manual workflows.
And lastly, with the camera rig, we'll show
how users can define custom constraints to tailor the system for their needs.
Starting with a drill: to use a hand drill with our system,
the user selects that option
through the graphical user interface and mounts the tool to the robot.
After the drill is loaded, the AR system
projects crosshairs onto the table to show where the drill is pointing.
When the drill nears one of the virtual grids,
it will physically snap to the grid, like a haptic controller.
When adjusting the orientation of the drill, the AR view visualizes
the current heading and elevation.
For precise drilling, the user presses the latching button to constrain the drill
along the current axis of the drill bit.
Here, the user is working with a measurement probe.
The probe tool can be used to directly measure the location of objects.
When the tip of the probe contacts an object, the robot
automatically retracts the probe to a safe position.
The probe tool can be used to locate specific types of geometries:
in this example, the edge of a workpiece.
For the track saw, the robot guides the intermediate tool, the track.
The stock material is mounted to the workbench using double sided tape.
The AR view projects where the cut will occur relative to the track.
Before cutting, the user presses the lock button on the ruler.
The cut can occur when the ruler is locked on the surface of the workpiece.
After the cut has been made, the AR view displays
the distance between the last cut and the current position.
The user can also navigate the history of previous cuts,
like a lightweight CAD model. Camera
rigs such as cranes and sliders
are also mechanisms which selectively constrain the motion of at tool.
To define a virtual slider,
the user first moves the camera to a desired start position
and sets that position using the graphical user interface.
The projected augmented reality view displays the X and Y positions
of the configured start location, as well as the current location of the camera.
After setting the end position in the same way, the rig is ready for use.
All of the user's motions are constrained along the user defined slider.
The specific interactions demonstrated
by each of these tools can certainly be mixed and matched.
For example, the ruler tool can be equipped with snap to grid,
and the drill tool can be programmed to remember all of the previous
holes that have been cut.
For the sake of breadth,
we chose to demonstrate one aspect of the system with each tool.
These interactions that we developed are coordinated by one main server,
which communicates to the KUKA robot's control box,
a microcontroller that interfaces with the sensors on the end effector,
as well as all of the user interface elements.
One important aspect of a system is the force-torque sensor,
which measures how the user is interacting with the tool.
These sensors can cost upwards of five thousand US dollars.
However, we were able to design and fabricate a force-torque sensor
for under a hundred dollars with standard makerspace tools, with resolution
comparable to commercial sensors.
In our paper, you'll find additional implementation details,
interviews with expert fabricators, as well as a discussion
of how Adroid can be further extended.
Though this research is focused heavily on direct and hands-on interactions,
it does not preclude opportunities for autonomous control.
Moving forward, we're particularly interested in exploring
how users might fluidly navigate between directly controlling a tool,
delegating that control to a robot,
as well as interactions which are situated within that spectrum.
Thank you all for your attention, and I'd be happy to take any questions.