a scripted printable quadrotor rapid design and ...•input: structural specification •output:...
TRANSCRIPT
On-demand printable robots
Ankur Mehta [email protected]
Computer Science and Artificial Intelligence Laboratory
Massachusetts Institute of Technology
Computational problem?
3 Ankur Mehta [email protected]
Robot compiler
Vision:
Autonomously generate designs for personal robots
Big picture goal: $ vim myrobot.rbt
“I want a robot to make me breakfast” $ make myrobot
Parsing specification …done.
Determining behaviors …done.
Generating mechanisms …done.
Assembling components …done.
Printing …done.
Success!
5 Ankur Mehta [email protected]
Related work
Ankur Mehta [email protected] 8
• Rapid fabrication – 3D printing: Mavroidis et al., J. Mech. Des. ’01; Lipson et al., J. Mech. Des. ’05;
Rossiter et al., SPIE Smart Struct. and Mat. ’09; and others
– 2D printing: Shimoyama et al., Control Systems ’93, Hoover et al., ICRA ’08;
Onal et al., Trans. Mechatronics ’13; and others
– Requires domain specific expertise and CAD tools
Related work
Ankur Mehta [email protected] 9
• Modular design of robots – Farritor et al., ICRA ’96; Hornby et al., IEEE Trans. Robotics and Automation ’03;
Davey et al., IROS ’12; Romanishin et al., IROS ’13; and others.
– Employs expensive custom components with limited
configurations
Goal
• Enable the on-demand creation of custom
printable electromechanical systems
– Design intuitively
– Fabricate cheaply
– Iterate rapidly
Ankur Mehta [email protected] 10
An Expedition in Computing
… for compiling printable programmable
machines
Robot compiler: design flow
• Input: high level task
specification
“I want a robot to play chess”
• Output: functional
specification
– Mobility across a 50cm x
50cm square with obstacles
– Ability to move pieces
– Knowledge of chess rules
Task definition +
decomposition
Functional
decomposition
12 Ankur Mehta [email protected]
Robot compiler: design flow
• Input: functional
specification
• Output: modular definition
– Chassis
– Motorized legs
– Gripper
– Power, processing,
communication
– Chess logic
Modular
composition
Task definition +
decomposition
Functional
decomposition
Unified
mechanism
13 Ankur Mehta [email protected]
Robot compiler: design flow
• Input: modular definition
• Output: parameterized
robot design
– Mechanical template
– Electromechanical
transducers
– Electrical connectivity
– Algorithms
Modular
composition
Task definition +
decomposition
Co-design
implementation
Functional
decomposition
Unified
mechanism
Parameterized
model
14 Ankur Mehta [email protected]
Robot compiler: design flow
• Input: parameterized robot
design
• Output: fabrication plan
– Fold pattern
– Circuit layout and specific
components
– Executable drivers, software,
and user interface
Modular
composition
Task definition +
decomposition
Co-design
implementation
Realization
Functional
decomposition
Unified
mechanism
Parameterized
model
Fully specified
design
Structural
constraints
15 Ankur Mehta [email protected]
Robot compiler: design flow
• Input: fabrication plan
• Output: physical device
– Folded robot with circuit,
firmware, and software
Modular
composition
Task definition +
decomposition
Co-design
implementation
Realization
Fabrication
Functional
decomposition
Unified
mechanism
Parameterized
model
Fully specified
design
Robot
Structural
constraints
16 Ankur Mehta [email protected]
Robot compiler: design flow
• Input: physical device
• Output: mission
accomplished!
Modular
composition
Task definition +
decomposition
Co-design
implementation
Realization
Fabrication Operation
Functional
decomposition
Unified
mechanism
Parameterized
model
Fully specified
design
Robot
Structural
constraints
Behavioral
constraints
17 Ankur Mehta [email protected]
Current system
• Input: structural specification
• Output: robot designs
– Directly fabricable mechanical
drawings
– Wiring diagram
– Arduino firmware
– Android UI
Modular
composition
Task definition +
decomposition
Co-design
implementation
Realization
Fabrication Operation
Functional
decomposition
Unified
mechanism
Parameterized
model
Fully specified
design
Robot
Structural
constraints
Behavioral
constraints
18 Ankur Mehta [email protected]
A real world example
19
~1 hour later…
• Request: “We need a robot …
In ascii art form it is: X---------|---------|--------t
where | is a rotational axis,
and t is the tool.”
• “rotating joint” ActuatedHinge
• “the tool” ActuatedGripper
• Arm = ActuatedHinge +
ActuatedHinge +
ActuatedGripper
Ankur Mehta [email protected]
INTEGRATED CO-DESIGN
Ankur Mehta [email protected] 20
+ +
On-demand printed robots
Ankur Mehta [email protected] 21
Conceive new
electromechanical
mechanism
Determine
functional
decomposition
Assemble
components from
library
Compile, print and
run!
Software defined hardware
• Parameterized,
process independent
representation
• Object oriented code
abstraction of design
modules
• Algorithms to generate
fabricable drawings
Ankur Mehta [email protected] 22
Library of components
• Mechanical building blocks
• Software building blocks
• Electrical building blocks
• UI elements
24 Ankur Mehta [email protected]
Composition algorithms
Computation for combining functionality of modules
Hierarchical composition across subsystems
Ankur Mehta [email protected] 25
Hierarchical design composition
• { Subcomponents }
• { Parameters }
• { Interfaces }
– Inherited by default
– Can be specified by
imposing constraints
26 Ankur Mehta [email protected]
Hierarchical design composition
Ankur Mehta [email protected] 28
Full system
30 Ankur Mehta [email protected]
Lets make robots!
31 Ankur Mehta [email protected]
ROBOT COMPILER USERS
Ankur Mehta [email protected] 32
Design paradigm
• User selects desired geometries with degrees of freedom and their ranges.
– Standard user: assembles building blocks (GUI)
– Expert user: can generate building blocks (Python)
33 Ankur Mehta [email protected]
ROSLab design environment
Ankur Mehta [email protected] 34
• Graphical programming language
• Automatic modular code generation
Robot design
Ankur Mehta [email protected] 35
Designed robots
36 Ankur Mehta [email protected]
Designed robots
37 Ankur Mehta [email protected]
Robot fabrication: 3D print
39 Ankur Mehta [email protected]
Robot fabrication: 3D print
40 Ankur Mehta [email protected]
Robot fabrication: 3D print
41
Pros: Minimal user assembly / post fabrication processing
Strong rigid bodies
Cons: Long fabrication time
Minimal compliance
Ankur Mehta [email protected]
Robot fabrication: cut-and-fold
42 Ankur Mehta [email protected]
Robot fabrication: cut-and-fold
43 Ankur Mehta [email protected]
Robot fabrication: cut-and-fold
44 Ankur Mehta [email protected]
Robot fabrication: cut-and-fold
45
Pros: Cheap and universally fabricable
Controlled compliance
Cons: Requires post-process assembly
Weak structures
Ankur Mehta [email protected]
Robot fabrication: self-folding
46 Ankur Mehta [email protected]
Robot fabrication: self-folding
47 Ankur Mehta [email protected]
Robot fabrication: self-folding
48
Pros: Fast fabrication time with low user-driven assembly
Both rigid and flexible elements
Cons: Large tolerances
Design compromises
Ankur Mehta [email protected]
One design, four robots
49 Ankur Mehta [email protected]
New hybrid processes
Ankur Mehta [email protected] 50
APPLICATION PROGRAMMING
Ankur Mehta [email protected] 52
Robot programming
• Autonomous behaviors
– Feedback controllers
– Task driven programs
Modular
composition
Task definition +
decomposition
Co-design
implementation
Realization
Fabrication Operation
Functional
decomposition
Unified
mechanism
Parameterized
model
Fully specified
design
Robot
Structural
constraints
Behavioral
constraints
53 Ankur Mehta [email protected]
Autogenerated user interface
54
Left wheel Right wheel
Motor mount
Motor
PWM driver
UI Joystick
Drive unit
Ankur Mehta [email protected]
Programmed autonomy
55
Left wheel Right wheel
Left speed Right speed
Light sensor
Ankur Mehta [email protected]
Current work
• Verification & validation
– Kinematic simulations
– REACT programming
– Derive behavior from
designs
– Ensure that the output
matches the desired input
Modular
composition
Task definition +
decomposition
Co-design
implementation
Realization
Fabrication Operation
Functional
decomposition
Robot
Structural
constraints
Behavioral
constraints
56 Ankur Mehta [email protected]
Algorithmic questions
• Provably correct composition for integrated
designs
• Optimality bounds for composed designs
– Functional decomposition
– Fabrication specifications
• Efficiency metrics
– Computation
– Task completion
57 Ankur Mehta [email protected]
Future work
• How do we identify which
mechanisms will accomplish
desired functions?
Modular
composition
Task definition +
decomposition
Co-design
implementation
Realization
Fabrication Operation
Functional
decomposition
Unified
mechanism
Parameterized
model
Fully specified
design
Robot
Structural
constraints
Behavioral
constraints
58 Ankur Mehta [email protected]
Future work
• How do we identify which
mechanisms will accomplish
desired functions?
• How do we identify what
functions are required for a
given task?
• Robot programming language
Modular
composition
Task definition +
decomposition
Co-design
implementation
Realization
Fabrication Operation
Functional
decomposition
Unified
mechanism
Parameterized
model
Fully specified
design
Robot
Structural
constraints
Behavioral
constraints
59 Ankur Mehta [email protected]
Robots!
61 Ankur Mehta [email protected]