MLchartDataset catalogue

Patent · US10558776B2 · B2 · US

Trigger-action-circuits: leveraging generative design to enable novices to design and build circuitry

(11) Publication number
US10558776B2
(21) Application number
16/155,116
(22) Filing date
2018-10-09
(30) Priority date
2017-10-09
(43) Publication date
2020-02-11
(45) Date of grant
2020-02-11
(51) IPC
G06F 17/50
(52) CPC
  • G06F Electric digital data processing: 17/505, 17/5054, 17/5072, 17/5077, 17/5081, 2111/12, 30/30, 30/31, 30/327, 30/34, 30/392, 30/394, 30/398
(73) Assignee
Autodesk Inc
(72) Inventors
Fraser ANDERSON; Tovi Grossman; George Fitzmaurice
(54) Title
Trigger-action-circuits: leveraging generative design to enable novices to design and build circuitry
(57) Abstract

A method, system, and apparatus provide the ability to design a circuit. A behavior of the circuit is authored by dragging nodes from side panels and connecting them in an authoring canvas. Multiple circuit designs that satisfy the behavior are generated. A data grid table is generated and displays the circuit designs with each row representing a design, and the table is sortable based on columns that represent computed metrics. Upon selection of a design in the table, a computer generated circuit diagram is rendered. Interactive assembly instructions are generated and displayed. The interactive assembly instructions provide a text-based step-by-step guide to wire the circuit. Further, upon selection of an assembly instruction step, a corresponding element in the computer generated circuit diagram is highlighted.

Full text
View on Google Patents

Claims (22)

  1. A computer-implemented method for designing a circuit, comprising: (a) authoring a behavior of the circuit by dragging two or more nodes from one or more side panels into an authoring canvas, and connecting the two or more nodes in the authoring canvas, wherein the connected two or more nodes represent the behavior of the circuit; (b) generating two or more circuit designs, wherein each of the two or more circuit designs provides a solution that satisfies the behavior; (c) generating and displaying a data grid table, for the two or more circuit designs, wherein: (1) each row of the data grid table represents one of the two or more circuit designs; (2) the data grid table is sortable based on one or more columns of the data grid table; (3) each column of the data grid table represents a computed metric for the two or more circuit designs; (d) upon selecting one of the two or more circuit designs in the data grid table, rendering a computer generated circuit diagram of the selected circuit design in an interactive circuit diagram area; and (e) generating and displaying interactive assembly instructions for the circuit, wherein: (1) the interactive assembly instructions provide a step-by-step guide to wire the circuit; (2) the interactive assembly instructions are text-based; and (3) upon selecting one of the interactive assembly instructions, a corresponding element in the computer generated circuit diagram is highlighted.
  2. The computer-implemented method of claim 1, wherein: the two or more nodes comprise: one or more trigger nodes representing one or more trigger events; and one or more action nodes representing one or more actions the connected two or more nodes provide a trigger-action mapping that specifies the one or more actions to be completed when the one or more trigger events occur.
  3. The computer-implemented method of claim 1, wherein: the two or more nodes comprise: one or more input nodes representing one or more input parameters; and one or more output nodes representing one or more output parameters; the connected two or more nodes provide a from-to mapping that specifies a linear relationship between the one or more input parameters and the one or more output parameters.
  4. The computer-implemented method of claim 1, further comprising: filtering the two or more circuit designs that are displayed in the data grid table based on one or more of the computed metrics.
  5. The computer-implemented method of claim 4, wherein the filtering is based on whether a component is available.
  6. The computer-implemented method of claim 1, wherein the rendering the computer generated circuit diagram comprises: rendering a microcontroller in a fixed, central location of the interactive circuit diagram area; rendering a breadboard adjacent to the microcontroller, wherein rows of breadboard holes run parallel to pin rows of pins on the microcontroller; rendering individual electronic components on the breadboard, with electric pins of the individual electronic components aligned with corresponding breadboard holes; and drawing a curved line between each pair of electrical terminals to be connected, wherein each pair comprises a breadboard terminal and a microcontroller terminal.
  7. The computer-implemented method of claim 6, further comprising: as each electronic component is rendered, maintaining a database of the rows of corresponding breadboard holes that each of the individual electronic components uses; and based on the database, preventing future components from being inserted into the rows of corresponding breadboard holes that are being used.
  8. The computer-implemented method of claim 6, further comprising: optimizing an order for rendering each individual electronic component on the breadboard.
  9. The computer-implemented method of claim 1, wherein the corresponding element comprises a connection and an electrical component of the circuit.
  10. The computer-implemented method of claim 1, wherein the generating and displaying the interactive assembly instructions further comprises: upon hovering over the corresponding element, rendering an assembly tooltip relevant to an assembly of the hovered over corresponding element.
  11. The computer-implemented method of claim 1, further comprising physically building an assembled functioning circuit corresponding to the selected circuit design by following the interactive assembly instructions.
  12. A system for designing a circuit comprising: (a) a computer having a memory; (b) a processor executing on the computer; (c) the memory storing a set of instructions, wherein the set of instructions, when executed by the processor cause the processor to perform operations comprising: (1) authoring a behavior of the circuit by dragging two or more nodes from one or more side panels into an authoring canvas, and connecting the two or more nodes in the authoring canvas, wherein the connected two or more nodes represent the behavior of the circuit; (2) generating two or more circuit designs, wherein each of the two or more circuit designs provides a solution that satisfies the behavior; (3) generating and displaying a data grid table, for the two or more circuit designs, wherein: (i) each row of the data grid table represents one of the two or more circuit designs; (ii) the data grid table is sortable based on one or more columns of the data grid table; (iii) each column of the data grid table represents a computed metric for the two or more circuit designs; (4) upon selecting one of the two or more circuit designs in the data grid table, rendering a computer generated circuit diagram of the selected circuit design in an interactive circuit diagram area; and (5) generating and displaying interactive assembly instructions for the circuit, wherein: (i) the interactive assembly instructions provide a step-by-step guide to wire the circuit; (ii) the interactive assembly instructions are text-based; and (iii) upon selecting one of the interactive assembly instructions, a corresponding element in the computer generated circuit diagram is highlighted.
  13. The system of claim 12, wherein: the two or more nodes comprise: one or more trigger nodes representing one or more trigger events; and one or more action nodes representing one or more actions the connected two or more nodes provide a trigger-action mapping that specifies the one or more actions to be completed when the one or more trigger events occur.
  14. The system of claim 12, wherein: the two or more nodes comprise: one or more input nodes representing one or more input parameters; and one or more output nodes representing one or more output parameters; the connected two or more nodes provide a from-to mapping that specifies a linear relationship between the one or more input parameters and the one or more output parameters.
  15. The system of claim 12, wherein the operations further comprise: filtering the two or more circuit designs that are displayed in the data grid table based on one or more of the computed metrics.
  16. The system of claim 15, wherein the filtering is based on whether a component is available.
  17. The system of claim 12, wherein the rendering the computer generated circuit diagram comprises: rendering a microcontroller in a fixed, central location of the interactive circuit diagram area; rendering a breadboard adjacent to the microcontroller, wherein rows of breadboard holes run parallel to pin rows of pins on the microcontroller; rendering individual electronic components on the breadboard, with electric pins of the individual electronic components aligned with corresponding breadboard holes; and drawing a curved line between each pair of electrical terminals to be connected, wherein each pair comprises a breadboard terminal and a microcontroller terminal.
  18. The system of claim 17, wherein the operations further comprise: as each electronic component is rendered, maintaining a database of the rows of corresponding breadboard holes that each of the individual electronic components uses; and based on the database, preventing future components from being inserted into the rows of corresponding breadboard holes that are being used.
  19. The system of claim 17, wherein the operations further comprise: optimizing an order for rendering each individual electronic component on the breadboard.
  20. The system of claim 12, wherein the corresponding element comprises a connection and an electrical component of the circuit.
  21. The system of claim 12, wherein the generating and displaying the interactive assembly instructions further comprises: upon hovering over the corresponding element, rendering an assembly tooltip relevant to an assembly of the hovered over corresponding element.
  22. The system of claim 12, wherein the operations further comprise physically building an assembled functioning circuit corresponding to the selected circuit design by following the interactive assembly instructions.

Description

The present invention relates generally to circuit design, and in particular, to a method, apparatus, system and article of manufacture for designing circuits based on high-level behavioral descriptions.

(Note: This application references a number of different publications as indicated throughout the specification by reference numbers enclosed in brackets, e.g., [x]. A list of these different publications ordered according to these reference numbers can be found below in the section entitled “References.” Each of these publications is incorporated by reference herein.)

Overview of Related Art

The ability to rapidly evaluate designs via prototyping is a powerful and widely used approach amongst designers, makers and researchers in many fields. In recent years, several techniques and products have been developed to allow novices to prototype circuitry and electronic devices without extensive technical knowledge. Hardware platforms such as ARDUINO or PHIDGETS allow users with minimal electronics knowledge to construct functioning circuits, and visual programming languages such as WYLIODRIN enable the authoring of higher-level software that interfaces with such hardware. While these tools have reduced the barrier to entry, they still require some technical background.

Despite advances in hardware development platforms, novices are still intimidated by circuitry. The development of circuits still requires extensive knowledge of electrical theory as well as knowledge of, and about, a large library of components.

Citations (4)

  • US20120023471A1
  • US8782577B2
  • US20160171136A1
  • US20180101634A1
Record as JSON
{
  "publication_number": "US10558776B2",
  "country": "US",
  "kind": "B2",
  "title": "Trigger-action-circuits: leveraging generative design to enable novices to design and build circuitry",
  "abstract": "A method, system, and apparatus provide the ability to design a circuit. A behavior of the circuit is authored by dragging nodes from side panels and connecting them in an authoring canvas. Multiple circuit designs that satisfy the behavior are generated. A data grid table is generated and displays the circuit designs with each row representing a design, and the table is sortable based on columns that represent computed metrics. Upon selection of a design in the table, a computer generated circuit diagram is rendered. Interactive assembly instructions are generated and displayed. The interactive assembly instructions provide a text-based step-by-step guide to wire the circuit. Further, upon selection of an assembly instruction step, a corresponding element in the computer generated circuit diagram is highlighted.",
  "claims": [
    "1. A computer-implemented method for designing a circuit, comprising: (a) authoring a behavior of the circuit by dragging two or more nodes from one or more side panels into an authoring canvas, and connecting the two or more nodes in the authoring canvas, wherein the connected two or more nodes represent the behavior of the circuit; (b) generating two or more circuit designs, wherein each of the two or more circuit designs provides a solution that satisfies the behavior; (c) generating and displaying a data grid table, for the two or more circuit designs, wherein: (1) each row of the data grid table represents one of the two or more circuit designs; (2) the data grid table is sortable based on one or more columns of the data grid table; (3) each column of the data grid table represents a computed metric for the two or more circuit designs; (d) upon selecting one of the two or more circuit designs in the data grid table, rendering a computer generated circuit diagram of the selected circuit design in an interactive circuit diagram area; and (e) generating and displaying interactive assembly instructions for the circuit, wherein: (1) the interactive assembly instructions provide a step-by-step guide to wire the circuit; (2) the interactive assembly instructions are text-based; and (3) upon selecting one of the interactive assembly instructions, a corresponding element in the computer generated circuit diagram is highlighted.",
    "2. The computer-implemented method of claim 1, wherein: the two or more nodes comprise: one or more trigger nodes representing one or more trigger events; and one or more action nodes representing one or more actions the connected two or more nodes provide a trigger-action mapping that specifies the one or more actions to be completed when the one or more trigger events occur.",
    "3. The computer-implemented method of claim 1, wherein: the two or more nodes comprise: one or more input nodes representing one or more input parameters; and one or more output nodes representing one or more output parameters; the connected two or more nodes provide a from-to mapping that specifies a linear relationship between the one or more input parameters and the one or more output parameters.",
    "4. The computer-implemented method of claim 1, further comprising: filtering the two or more circuit designs that are displayed in the data grid table based on one or more of the computed metrics.",
    "5. The computer-implemented method of claim 4, wherein the filtering is based on whether a component is available.",
    "6. The computer-implemented method of claim 1, wherein the rendering the computer generated circuit diagram comprises: rendering a microcontroller in a fixed, central location of the interactive circuit diagram area; rendering a breadboard adjacent to the microcontroller, wherein rows of breadboard holes run parallel to pin rows of pins on the microcontroller; rendering individual electronic components on the breadboard, with electric pins of the individual electronic components aligned with corresponding breadboard holes; and drawing a curved line between each pair of electrical terminals to be connected, wherein each pair comprises a breadboard terminal and a microcontroller terminal.",
    "7. The computer-implemented method of claim 6, further comprising: as each electronic component is rendered, maintaining a database of the rows of corresponding breadboard holes that each of the individual electronic components uses; and based on the database, preventing future components from being inserted into the rows of corresponding breadboard holes that are being used.",
    "8. The computer-implemented method of claim 6, further comprising: optimizing an order for rendering each individual electronic component on the breadboard.",
    "9. The computer-implemented method of claim 1, wherein the corresponding element comprises a connection and an electrical component of the circuit.",
    "10. The computer-implemented method of claim 1, wherein the generating and displaying the interactive assembly instructions further comprises: upon hovering over the corresponding element, rendering an assembly tooltip relevant to an assembly of the hovered over corresponding element.",
    "11. The computer-implemented method of claim 1, further comprising physically building an assembled functioning circuit corresponding to the selected circuit design by following the interactive assembly instructions.",
    "12. A system for designing a circuit comprising: (a) a computer having a memory; (b) a processor executing on the computer; (c) the memory storing a set of instructions, wherein the set of instructions, when executed by the processor cause the processor to perform operations comprising: (1) authoring a behavior of the circuit by dragging two or more nodes from one or more side panels into an authoring canvas, and connecting the two or more nodes in the authoring canvas, wherein the connected two or more nodes represent the behavior of the circuit; (2) generating two or more circuit designs, wherein each of the two or more circuit designs provides a solution that satisfies the behavior; (3) generating and displaying a data grid table, for the two or more circuit designs, wherein: (i) each row of the data grid table represents one of the two or more circuit designs; (ii) the data grid table is sortable based on one or more columns of the data grid table; (iii) each column of the data grid table represents a computed metric for the two or more circuit designs; (4) upon selecting one of the two or more circuit designs in the data grid table, rendering a computer generated circuit diagram of the selected circuit design in an interactive circuit diagram area; and (5) generating and displaying interactive assembly instructions for the circuit, wherein: (i) the interactive assembly instructions provide a step-by-step guide to wire the circuit; (ii) the interactive assembly instructions are text-based; and (iii) upon selecting one of the interactive assembly instructions, a corresponding element in the computer generated circuit diagram is highlighted.",
    "13. The system of claim 12, wherein: the two or more nodes comprise: one or more trigger nodes representing one or more trigger events; and one or more action nodes representing one or more actions the connected two or more nodes provide a trigger-action mapping that specifies the one or more actions to be completed when the one or more trigger events occur.",
    "14. The system of claim 12, wherein: the two or more nodes comprise: one or more input nodes representing one or more input parameters; and one or more output nodes representing one or more output parameters; the connected two or more nodes provide a from-to mapping that specifies a linear relationship between the one or more input parameters and the one or more output parameters.",
    "15. The system of claim 12, wherein the operations further comprise: filtering the two or more circuit designs that are displayed in the data grid table based on one or more of the computed metrics.",
    "16. The system of claim 15, wherein the filtering is based on whether a component is available.",
    "17. The system of claim 12, wherein the rendering the computer generated circuit diagram comprises: rendering a microcontroller in a fixed, central location of the interactive circuit diagram area; rendering a breadboard adjacent to the microcontroller, wherein rows of breadboard holes run parallel to pin rows of pins on the microcontroller; rendering individual electronic components on the breadboard, with electric pins of the individual electronic components aligned with corresponding breadboard holes; and drawing a curved line between each pair of electrical terminals to be connected, wherein each pair comprises a breadboard terminal and a microcontroller terminal.",
    "18. The system of claim 17, wherein the operations further comprise: as each electronic component is rendered, maintaining a database of the rows of corresponding breadboard holes that each of the individual electronic components uses; and based on the database, preventing future components from being inserted into the rows of corresponding breadboard holes that are being used.",
    "19. The system of claim 17, wherein the operations further comprise: optimizing an order for rendering each individual electronic component on the breadboard.",
    "20. The system of claim 12, wherein the corresponding element comprises a connection and an electrical component of the circuit.",
    "21. The system of claim 12, wherein the generating and displaying the interactive assembly instructions further comprises: upon hovering over the corresponding element, rendering an assembly tooltip relevant to an assembly of the hovered over corresponding element.",
    "22. The system of claim 12, wherein the operations further comprise physically building an assembled functioning circuit corresponding to the selected circuit design by following the interactive assembly instructions."
  ],
  "description_excerpt": "The present invention relates generally to circuit design, and in particular, to a method, apparatus, system and article of manufacture for designing circuits based on high-level behavioral descriptions.\n\n(Note: This application references a number of different publications as indicated throughout the specification by reference numbers enclosed in brackets, e.g., [x]. A list of these different publications ordered according to these reference numbers can be found below in the section entitled “References.” Each of these publications is incorporated by reference herein.)\n\nOverview of Related Art\n\nThe ability to rapidly evaluate designs via prototyping is a powerful and widely used approach amongst designers, makers and researchers in many fields. In recent years, several techniques and products have been developed to allow novices to prototype circuitry and electronic devices without extensive technical knowledge. Hardware platforms such as ARDUINO or PHIDGETS allow users with minimal electronics knowledge to construct functioning circuits, and visual programming languages such as WYLIODRIN enable the authoring of higher-level software that interfaces with such hardware. While these tools have reduced the barrier to entry, they still require some technical background.\n\nDespite advances in hardware development platforms, novices are still intimidated by circuitry. The development of circuits still requires extensive knowledge of electrical theory as well as knowledge of, and about, a large library of components.",
  "cpc": [
    "G06F 17/505",
    "G06F 17/5054",
    "G06F 17/5072",
    "G06F 17/5077",
    "G06F 17/5081",
    "G06F 2111/12",
    "G06F 30/30",
    "G06F 30/31",
    "G06F 30/327",
    "G06F 30/34",
    "G06F 30/392",
    "G06F 30/394",
    "G06F 30/398"
  ],
  "ipc": [
    "G06F 17/50"
  ],
  "assignees": [
    "Autodesk Inc"
  ],
  "inventors": [
    "Fraser ANDERSON",
    "Tovi Grossman",
    "George Fitzmaurice"
  ],
  "filing_date": "2018-10-09",
  "publication_date": "2020-02-11",
  "grant_date": "2020-02-11",
  "priority_date": "2017-10-09",
  "application_number": "US-201816155116-A",
  "family_id": "65993941",
  "cited_by_count": 3,
  "citations": [
    "US20120023471A1",
    "US8782577B2",
    "US20160171136A1",
    "US20180101634A1"
  ]
}

Record 2,330 of 8,000 in Patents full text (MLC-0201). Request the full dataset.