-
Notifications
You must be signed in to change notification settings - Fork 5
Factory
firepick1 (localhost) edited this page Mar 5, 2017
·
10 revisions
There are many ways to create a Kinann [network]. The easiest way is to use the Kinann Factory class.
- Factory(vars,options={})
- Create a Kinann network factory with the given input variables.
Most variables will correspond to robot drive axis or real world planning coordinates.
However, variables can also be used for other critical state inputs that
affect posiioning. For example, you can represent drive backlash
as [-1,+1] binary input variables.
var axes = [ { minPos: 0, maxPos: 300 }, // x-axis { minPos: 0, maxPos: 200 }, // y-axis { minPos: 0, maxPos: 100 }, // z-axis { minPos: 0, maxPos: 360 }, // a-axis { minPos: -1, maxPos: 1 }, // x-axis movement direction { minPos: -1, maxPos: 1 }, // y-axis movement direction { minPos: -1, maxPos: 1 }, // z-axis movement direction ] var factory = new Factory(axes); - Factory.prototype.createNetwork = function(options={})
-
Create a linear neural network pre-trained for the identity transform (i.e., output = input).
Identity networks are ideal for calibration since they are quickly re-trained to
correct measured error. You can also customize
createNetwork()method to create quadratic networks, networks with custom transforms, etc. - Factory.prototype.inverseNetwork = function(network, options={})
- Create a neural network trained to be the inverse function of the given network. The inverse network implements kinematic error correction.
- Factory.prototype.createExamples = function(options={})
-
Create KNN training examples. By default,
createExamples()will create training examples for a linear network that models the identity transform. You can also create examples for custom transforms and polynomial neural networks. Note that higher order polynomials do require more examples, which complicates calibration. Use linear neural networks when possible.