Apparatus and methods for safe navigation of robotic devices
US-2016375592-A1 · Dec 29, 2016 · US
US11072067B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11072067-B2 |
| Application number | US-201615353492-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 16, 2016 |
| Priority date | Nov 16, 2015 |
| Publication date | Jul 27, 2021 |
| Grant date | Jul 27, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Robots and robotic systems and methods can employ artificial neural networks (ANNs) to significantly improve performance. The ANNs can operate alternatingly in forward and backward directions in interleaved fashion. The ANNs can employ visible units and hidden units. Various objective functions can be optimized. Robots and robotic systems and methods can execute applications including a plurality of agents in a distributed system, for instance with a number of hosts executing respective agents, at least some of the agents in communications with one another. The hosts can execute agents in response to occurrence of defined events or trigger expressions, and can operate with a maximum latency guarantee and/or data quality guarantee.
Opening claim text (preview).
The invention claimed is: 1. A method of operation of an artificial neural network, including a plurality of variables, the plurality of variables representing a state of one or more units of the artificial neural network, a plurality of parameters, the plurality of parameters representing weights of the one or more units and edges connecting the units, and a plurality of buffers including a first buffer and a second buffer, the buffers each storing and updating a respective collection of values for the plurality of variables and the plurality of parameters, the method comprising: computing, over a first period, by at least one hardware processor and using the first buffer, a first plurality of values for the plurality of variables based, at least in part, on a first plurality of values for the plurality of parameters; transferring, to the second buffer, by the at least one hardware processor, current values for the plurality of variables at the end of the first period that have been computed by the at least one hardware processor and using the first buffer; calculating, over a second period, by the at least one hardware processor and using the first buffer, a first plurality of incremental errors for the artificial neural network that occurred over the first period; generating, by the at least one hardware processor, a second plurality of values for the plurality of parameters based, at least in part, on the first plurality of incremental errors; storing in the first buffer, by the at least one hardware processor, the second plurality of values for the plurality of parameters; interleaved with the calculating of the first plurality of incremental errors using the first buffer over the second period, computing, over a third period, by the at least one hardware processor and using the second buffer, a second plurality of values for the plurality of variables based, at least in part, on (a) the stored current values for the plurality of variables at the end of the first period and (b) the first plurality of values for the plurality of parameters, wherein the second period at least partially overlaps with the third period; transferring, to the first buffer, by the at least one hardware processor, current values for the plurality of variables at the end of the third period that have been computed by the at least one hardware processor and using the second buffer; and returning, by the at least one hardware processor, the second plurality of values for the plurality of parameters. 2. The method of claim 1 , further comprising: computing, by the at least one hardware processor, over a fourth period, a third plurality of values for the plurality of variables in the artificial neural network based, at least in part, on the second plurality of values for the plurality of parameters; calculating, by the at least one hardware processor, over a fifth period, a second plurality of incremental errors for the artificial neural network that occurred over the fourth period; generating, by the at least one hardware processor, a third plurality of values for the plurality of parameters; and interleaved with calculating the second plurality of incremental errors for the artificial neural network, computing, by the at least one hardware processor, over a sixth period, a fourth plurality of values for the plurality of variables for the artificial neural network based, at least in part, on the second plurality of values for the plurality of parameters, wherein the fifth period at least partially overlaps with the sixth period. 3. The method of claim 1 , further comprising: storing, by the at least one hardware processor, the first plurality of values for the plurality of variables for the artificial neural network. 4. The method of claim 1 wherein the artificial neural network is associated with an objective function, the method further comprising: computing, by the at least one hardware processor, a gradient for the objective function with respect to the plurality of parameters; and performing, by the at least one hardware processor, gradient descent with the gradient to create the second plurality of values for the plurality of parameters. 5. The method of claim 4 wherein computing the gradient for the objective function with respect to the parameters comprises: unfolding, by the at least one hardware processor, the artificial neural network over a duration less than or equal to the first period; and performing, by the at least one hardware processor, backpropagation through time on the unfolded artificial neural network. 6. The method of claim 1 , further comprising: receiving, by the at least one hardware processor, a plurality of input values for the artificial neural network. 7. The method of claim 1 , further comprising: producing, by the at least one hardware processor, a plurality of output values for the artificial neural network; and causing, by the at least one hardware processor, a robot to move based on the plurality of output values. 8. The method of claim 1 , further comprising: computing, by the at least one hardware processor for another artificial neural network that includes another plurality of variables and another plurality of parameters, a first plurality of values for the other plurality of variables of the other artificial neural network based on a first plurality of values for the other plurality of parameters; running, by the at least one hardware processor, the other artificial neural network backward over the first period; generating, by the at least one hardware processor, a second plurality of values for the other plurality of parameters; and interleaved with computing, for the other artificial neural the first plurality of values for the other plurality of variables of the other artificial neural network, computing, by the at least one hardware processor, a second plurality of values for the other plurality of variables for the other artificial neural network over the third period. 9. The method of claim 1 wherein behaviors of the artificial neural network are described by a system of differential equations, the method further comprising: numerically integrating, by the at least one hardware processor, the system of differential equations. 10. The method of claim 1 wherein generating the second plurality of values for the plurality of parameters comprises: identifying, by the at least one hardware processor, a system model for a robot; and returning, by the at least one hardware processor, a system model for the robot. 11. A system, comprising: at least one processor; at least one non-transitory computer-readable storage media communicatively coupled to the at least one processor, and which stores at least one of processor-executable instructions or data thereon which when executed causes the at least one processor to: initialize implementation of an artificial neural network including a plurality of parameters and a plurality of variables; compute, over a first period, a first plurality of values for the plurality of variables based, at least in part, on a first plurality of values for the plurality of parameters; store current values for the plurality of variables at the end of the first period in a second buffer; calculate, over a second period, by using a first buffer, a first plurality of incremental errors for the artificial neural network that occurred over the first period; generate a second plurality of values for the plurality of parameters based, at least in part, on the first plurality of incremental errors for the artificial neural network; store the second plurality of values for the plurality of parameters in the first buffe
Recurrent networks, e.g. Hopfield networks · CPC title
Feedforward networks · CPC title
Supervised learning · CPC title
Distributed learning, e.g. federated learning · CPC title
characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU] · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.