17.01.2013 Views

Chapter 2. Prehension

Chapter 2. Prehension

Chapter 2. Prehension

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<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!