17.01.2013 Views

Chapter 2. Prehension

Chapter 2. Prehension

Chapter 2. Prehension

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Chapter</strong> 5 - Movement Before Contact 133<br />

above. A training set is presented and joint angles computed for the<br />

current weights. Using the Model Network, a manipulator end point is<br />

computed for this joint configuration (the weights in the Model<br />

Network stay fixed during this second phase). The computed end<br />

point location is compared to the desired goal location, and if there is a<br />

difference, the weights in the Sequence Network are modified, again<br />

using the generalized delta rule. This sequence learning phase took 77<br />

cycles to find a solution for a sequence that involved touching four<br />

goal locations in a counterclockwise order. By shifting the second<br />

goal and asking the manipulator to perform the task again, only 5 trials<br />

were needed.<br />

Learning using the generalized delta rule involves updating the<br />

weights by subtracting the actual output from the desired output and<br />

adjusting the weights so that the error between the two will be<br />

reduced. Jordan added intelligence, so that weights are adjusted<br />

according to various rules and constraints. If the result of the<br />

computation satisfies the constraint, the normal error propagation is<br />

performed; if the constraints are not met, the weight is not changed.<br />

Jordan used two types of constraints. Configurational constraints<br />

defined regions in which an output vector must lie. These included<br />

don’t care conditions, inequalities and ranges, linear constraints,<br />

nonlinear constraints, and other optimality criteria. If it doesn’t matter<br />

that an error exists, the weight is not changed. With inequality<br />

constraints, the weight was changed only when a specific inequality<br />

existed between the computed value and the desired value, for<br />

example, the computed value is larger than the desired value. Range<br />

constraints were used when the error could lie within a defined range<br />

of two values. Linear constraints added two or more units in a linear<br />

fashion, apportioning the error between them. Temporal constraints<br />

defined relationships between outputs produced at different times.<br />

Whereas configurational constraints arise from structural relations in<br />

the manipulator and/or the environment, temporal constraints arise<br />

from dynamical properties of the system. An important one is a<br />

smoothness constraint which allowed configuration choices to be<br />

made in the context of the arm’s location. For this, units in the<br />

Sequential Network stored their activation value at the previous time<br />

step so that inverse kinematic solutions for points nearby in time<br />

differed minimally.<br />

As mentioned, a problem with inverse computations is that there<br />

are non-unique solutions. Jordan turns this problem into a feature by<br />

using these constraints to maintain multiple inverse kinematic<br />

solutions. In Figure 5.9a, the network has learned a sequence of four

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!