next up previous contents
Next: 3.3 Moving the Robot Up: 3 A Tutorial on Previous: 3.1 Derivation of a

3.2 Finding the Jacobian

 

We have not yet addressed the issue of where the Jacobian tex2html_wrap_inline3584 describing the local linear model around tex2html_wrap_inline3462 comes from. One approach is to use geometric models, derive an analytical expression for the Jacobian, and calculate a numerical Jacobian at each sampled point tex2html_wrap_inline3462 . This approach has been used for traditional world to joint space manipulator kinematics in cases where analytic inversion is hard. An advantage is that a rough model can be used, depending on the feedback, to yield high precision positioning. Other approaches can be described as partially adaptive, being applicable only to a restricted set of visual motor models, requiring partial analytic modeling of the system (e.g. restricted to systems suitable for ARMAX modeling [Feddema and Lee, 1990, Papanikolopoulos and Khosla, 1993], or using only image location visual measurements under a weak perspective assumption [Hollinghurst and Cipolla, 1993]).

We want to solve manipulation problems that are unsuitable for analytic modeling at all, such as the manipulation of flexible foam in 12 DOF shown in section 5.9. We also want to place the fewest possible restrictions on the class of visual-motor functions we can estimate. This rules out systems depending on near linear functions in the desired operating space (e.g., [Chongstitvatana and Conkie, 1990, Hager et al., 1993]), and methods that would be inefficient for high DOF systems (e.g. [Yoshimi and Allen, 1993] where calculating a Jacobian update requires nm measurements, where nm is the product of the number of sensory and controlled signals)

We use a Jacobian model estimation and updating scheme based on the information obtained more or less for free while performing the task. By simultaneously tracking changes in visual feature values and changes in motor joint angles we can learn about the derivatives of f in the direction of joint space the robot has moved in. After making the movement tex2html_wrap_inline3542 and observing the change tex2html_wrap_inline3598 in the feature values, we have a secant approximations to the directional derivative along tex2html_wrap_inline3542 . We wish to modify the Jacobian to bring our model into agreement with the measurement by satisfying a secant equation:

(6)  displaymath3657

If tex2html_wrap_inline3542 is along a coordinate axis of joint space (e.g. tex2html_wrap_inline3604 ) then eq. 3.6 can be satisfied by replacing the k-th column of the Jacobian with tex2html_wrap_inline3608 . For an arbitrary movement tex2html_wrap_inline3610 the same operation can be performed in a coordinate system rotated so that tex2html_wrap_inline3612 . Let P be a coordinate change matrix from the original basis O for tex2html_wrap_inline3462 to an ON basis O' which has the first basis vector aligned with the movement tex2html_wrap_inline3542 we last made. Using P and tex2html_wrap_inline3626 we can freely transform the measured change in visual appearance tex2html_wrap_inline3628 and the motor-visual Jacobian J back and forth between the two coordinate bases. The formulas tex2html_wrap_inline3632 and tex2html_wrap_inline3634 , transform the objects into O' and the inverse formulas bring them back. In the basis O', the difference approximation, tex2html_wrap_inline3640 , is aligned with the first basis vector in O' since tex2html_wrap_inline3644 . In the Jacobian this derivative is represented in the first column. Thus to incorporate the new derivative information tex2html_wrap_inline3640 into the Jacobian, we simply insert it into the first column, leaving the information along the other directions (in the other columns) unchanged.

Simplifying the above procedure yields:

(7)  displaymath3675

The estimation technique we have described falls into a class called Broyden methods [Fletcher, 1987] used in nonlinear optimization. For a set of n orthogonal movements tex2html_wrap_inline3650 , the updating schema in eq. 3.7 is identical to a conventional finite difference approximation. (See Chapter 4.8) Note however that the estimation in eq. 3.7 accepts movements along arbitrary directions tex2html_wrap_inline3542 and thus needs no additional data other than what is available as part of the manipulation task we want to solve. In the more general case of a set of non-orthogonal moves tex2html_wrap_inline3654 , the Jacobian gets updated along the dimensions spanned by tex2html_wrap_inline3654 .


next up previous contents
Next: 3.3 Moving the Robot Up: 3 A Tutorial on Previous: 3.1 Derivation of a

Martin Jägersand