# US 11,029,664 B2 · Computer-assisted design and fabrication of kinetic wire mechanisms

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,029,664 B2
- Document ID: US11029664B2
- Status: Granted
- Kind: B2
- Application number: 15/958,109
- Filed: 2018-04-20
- Published: 2019-10-24
- Granted: 2021-06-08
- Earliest claimed: 2018-04-20
- Assignees: Disney Enterprises, Inc.
- Applicants: Disney Enterprises, Inc.
- Inventors: Moritz Bächer; Stelian Coros; Lars Espen Knoop; Hongyi Xu
- Web page: https://patentgrep.com/patent/US11029664B2

## CPC

- G05B 19/4097: characterised by using design data to control NC machines, e.g. CAD/CAM (G05B19/4093 takes precedence)
- G06F 30/00: Computer-aided design [CAD]
- G06F 30/10: Geometric CAD
- G06F 30/20: Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30)
- G05B 2219/35134: 3-D cad-cam
- G05B 2219/36203: Bending of workpiece, also for long slender workpiece
- G06F 2113/16: Cables, cable trees or wire harnesses
- G06F 2119/18: Manufacturability analysis or optimisation for manufacturability
- Y02P 90/02: Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02P: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS

## Abstract

Methods and corresponding systems that are useful in design and fabrication of kinetic wire mechanisms or characters. The method includes a computational technique for the design of kinetic wire mechanisms tailored for fabrication on consumer-grade hardware such as a desktop CNC bending device. The method takes as input a skeletal animation of the mechanism to be fabricated and estimates, from the skeletal animation, a cable-driven and compliant wire structure, which matches user-selected keyframes. To enable localized deformations, the technique involves shaping the mechanism's body (i.e., the wire) into functional spring-like entities at a set of locations along the length of the mechanism's body. The method involves determining where on the wire body to place these spring-like entities, determining which types or configurations of spring-like entities should be placed at each of these locations, and optimizing parameters of each user-selected spring-like entity for use at the locations on the wire mechanism.

## Claims

### Claim 1

A system for design and fabrication of kinetic wire mechanisms, comprising:
a data storage storing a skeletal animation of an object;
a system controller running a design module processing the skeletal animation to generate a model of the object; and
a wire bending machine,
wherein the design module receives user input identifying a set of keyframes in the skeletal animation defining poses for the object,
wherein the design module processes the set of keyframes to determine locations for entities on the model of the object that can be actuated to be elastically deformed into two or more positions,
wherein the data storage further stores a database of templates of the entities that can be formed of a length of wire, by bending with a machine to have the spring functionality of the entities,
wherein the design module identifies a set of the templates for each of the determined locations,
wherein the wire bending machine operates to bend the length of wire based on the model of the object to fabricate a kinetic wire mechanism including a plurality of the entities with locations and configurations matching those of the templates inserted into the model of the object.

### Claim 2 (depends on 1)

The system of claim 1, wherein the design module receives user input selecting one of the templates from each of the sets of the templates and wherein the design module inserts the selected one of the templates at a corresponding one of the determined locations.

### Claim 3 (depends on 1)

The system of claim 1, wherein the design module determines the locations for the spring-like entities by optimizing stiffness properties for the model during bending movement through the poses defined in the set of keyframes.

### Claim 4 (depends on 3)

The system of claim 3, wherein a generic template is provided in the model at each of the determined locations and wherein the design module optimizes deformation behavior of the generic templates to allow the model to move through the poses matching a set of target points on the object.

### Claim 5 (depends on 4)

The system of claim 4, wherein the design module identifies the sets of templates by comparing deformation behavior of each of the templates in the database with the optimized deformation behavior of the generic templates in the model.

### Claim 6 (depends on 5)

The system of claim 5, wherein the design module inserts one of the templates of each of the sets of the templates at corresponding ones of the identified locations in the model and optimizes one or more of the deformation behaviors for each of the templates in the model.

### Claim 7 (depends on 1)

The system of claim 1, wherein the templates in the database include a plurality of polygonal templates of entities with spring functionalities with increasing number of sides and a plurality of twin templates of entities with spring functionalities each including two isosceles trapezoids.

### Claim 8 (depends on 1)

The system of claim 1, wherein each of the templates is planar.

### Claim 9

A system for design and fabrication of kinetic wire mechanisms, comprising:
a data storage storing an animation including a set of keyframes defining differing poses for an object;
a system controller running a computational tool that processes the animation to generate a wire structure model of the object matching the keyframes, wherein the computational tool determines locations for entities in the wire structure model to be bent with elastic deformation into two or more positions to provide movements of the object in the animation, wherein the data storage further stores a database of templates of the entities to be formed by bending a length of wire, and wherein the computational tool inserts one of the templates at each of the determined locations; and
a wire bending machine operating to bend an input length of wire based on the wire structure model of the object to fabricate a kinetic wire mechanism including a plurality of the entities with locations and configurations matching the templates inserted into the wire structure model.

### Claim 10 (depends on 9)

The system of claim 9, wherein the computational tool identifies a set of the templates for each of the determined locations, wherein the computational tool processes user input to select one of the templates from each of the sets of the templates for each of the determined locations, and wherein the design module inserts the selected one of the templates at a corresponding one of the determined locations.

### Claim 11 (depends on 9)

The system of claim 9, wherein the design module determines the locations for the entities by optimizing stiffness properties for the wire structure model during movement through the poses defined in the set of keyframes.

### Claim 12 (depends on 9)

The system of claim 9, wherein a generic template of one of the entities is provided in the wire structure model at each of the determined locations, wherein the computational tool optimizes parameters of the generic templates to allow the wire structure model to move through the poses matching a set of target points on the object, and wherein the design module identifies the sets of fabricable templates by comparing parameters of each of the templates in the database with the optimized parameters of the generic templates in the model.

### Claim 13 (depends on 12)

The system of claim 12, wherein the computational tool inserts one of the templates of each of the sets of the templates at corresponding ones of the identified locations in the wire structure model and optimizes one or more of the parameters for each of the templates in the wire structure model.

### Claim 14 (depends on 9)

The system of claim 9, wherein the templates in the database include a plurality of polygonal templates of entities with spring functionalities with increasing number of sides and a plurality of twin templates of entities with spring functionalities each including two isosceles trapezoids and wherein each of the templates is planar.

### Claim 15

A method of designing a kinetic wire mechanism tailored for fabrication on a desktop bending machine, comprising:
providing a generic template of a first entity with spring functionalities that cannot be formed via operation of a wire bending machine operating on an input length of wire and a plurality of templates of second entities that can be actuated to be elastically deformed into two or more positions and are suited for fabrication via wire bending;
receiving as input a rig of an object and a set of target poses for the object;
with the input, generating a wire structure model based on the rig and the set of target poses;
identifying one or more locations for positioning the second entities in the wire structure model based on the set of target poses;
positioning one or more of the second entities configured based on the generic template in the one or more locations;
optimizing the positioned second entities configured based on the generic template by calibrating stiffness;
for each of the optimized and positioned second entities, determining a matching set of the templates; and
in the wire structure model, replacing each of the optimized and positioned second entities based on the generic template with a fabricable entity defined by one of the templates from a corresponding one of the matching sets of the templates.

### Claim 16 (depends on 15)

The method of claim 15, further comprising adjusting size of the one or more of the fabricable entities.

### Claim 17 (depends on 15)

The method of claim 15, wherein the templates include a plurality of polygonal templates of entities having spring functionalities with increasing number of sides and one or more templates of entities having spring functionalities each including two isosceles trapezoids and wherein each of the templates is planar and suited for fabrication with a wire bending machine.

### Claim 18 (depends on 15)

The method of claim 15, wherein the optimizing of the positioned second entities configured based on the generic template includes optimizing stiffness properties of the spring-like entities, whereby the optimizing is safeguarded against inelastic deformations.
