Homework #5 Due
10/11

1.
Consider our 3DOF robot shown below,
together with the model used for the camera-space kinematics of point P:
xc = fx
= (C12+C22-C32-C42)
{[cosq2+cos(q2-q3)]cosq1} +
2(C2C3+C1C4)
{[cosq2+cos (q2-q3)]sinq1 - 1} + 2(C2C4-C1C3)
{sinq2+sin(q2-q3) - 1} + C5
yc = fy
= 2(C2C3-C1C4) {[cosq2+cos(q2-q3)]cosq1} +
(C12-C22+C32-C42)
{[cosq2+cos (q2-q3)]sinq1 - 1} + 2(C3C4+C1C2)
{sinq2+sin(q2-q3) - 1}
+ C6

The batch of samples is as
given above. Let k denote the row
number. So the camera-space sample of
P of the kth row where k=3 is (73 , 14).
(a) Letting q1k q2k q3k be the joint rotations in radians for the kth
row of batch data, write out the general expressions, in terms of the current guess
C1o C2o … C6o together with q1k q2k q3k, for the odd rows, i.e. hi,
i=2k-1, as defined in class.
hi(q1k q2k q3k C1o C2o
… C6o) = h2k-1(q1k q2k q3k C1o C2o
… C6o) = …
(b) Again, letting q1k q2k q3k be the joint rotations in radians for
the kth row of batch data, write out the
general expressions, in terms of the current guess C1o C2o
… C6o together with q1k q2k q3k, for the even rows, i.e. hi,
i=2k. hi(q1k q2k q3k C1o C2o
… C6o) =
= h2k(q1k q2k q3k C1o C2o
… C6o) = …
2. We wish to improve upon our initial
guess of [C1 C2 … C6]T
= [C1o C2o … C6o]T by using:
![]()
(a) Letting q1k q2k q3k be the joint rotations in radians for
the kth row of batch data, as before, write out the general
expressions, in terms of the current guess C1o C2o … C6o
together with q1k q2k q3k, for the odd rows of the matrix A,
i.e. i=2k-1. Ai,1(q1k q2k q3k C1o C2o
… C6o) = A2k-1,1(q1k q2k q3k C1o C2o
… C6o) ; Ai,2(q1k q2k q3k C1o C2o
… C6o) = A2k-1,2(q1k q2k q3k C1o C2o
… C6o) ; Ai,3(q1k q2k q3k C1o C2o
… C6o) = A2k-1,3(q1k q2k q3k C1o C2o
… C6o) = …
(b) Again, letting q1k q2k q3k be the joint rotations in radians for
the kth row of batch data, write out the
general expressions, in terms of the current guess C1o C2o
… C6o together with q1k q2k q3k, for the even rows, i.e. hi,
i=2k. Ai,1(q1i q2i q3i C1o C2o
… C6o) = A2k,1(q1k q2k q3k C1o C2o … C6o) ; Ai,2(q1k q2k q3k C1o C2o
… C6o) = A2k,2(q1i q2i q3i C1o C2o
… C6o) ; Ai,3(q1k q2k q3k C1o C2o
… C6o) = A2k,3(q1k q2k q3k C1o C2o
… C6o) …
3. Letting q1k q2k q3k be the joint rotations in radians for
the kth row of batch data, as before
(a)
write out the general
expressions, in terms of the kth
camera-space sample (xck yck), the current guess C1o
C2o … C6o together with q1k q2k q3k, for the odd elements of the
vector of residuals, i.e. i=2k-1. ri(q1k q2k q3k C1o C2o
… C6o) = r2k-1(q1k q2k q3k C1o C2o
… C6o)
(b) Again, in terms of xck
yck C1o C2o … C6o
q1k q2k q3k, write out the general expressions
for the even elements of the vector of residuals, i.e. i=2k. ri(q1k q2k q3k C1o C2o
… C6o) = r2k(q1k q2k q3k C1o C2o
… C6o)
4. Write code to implement
Euler-Gauss iteration and converge onto the best equal-weighting solution of C for these data.
Begin with an initial guess of your choice; note that if the elements of r do not become very small you
may need to retry your initial guess.
List both your converged C
elements as well as the corresponding final (converged) values of the 18
elements of the residuals r.