# CPSC 452 - Hints for Exercises in J.J. Craig

The hints given below are for the exercises given in J.J. Craig, "Intro. to Robotics," ed. 2.

## Chapter 2

Exercise 2.1 - Think of the rotation matrix as operating on the vector, P, to create first P', then P''. Write the equations relating P to P' and P' to P''. Then substitute.

Exercise 2.3 - Draw three frames linked by arcs representing the rotation t-forms. To get to the intermediate {B} (after the first rotation), you use Rz(theta). Then do same for final {B}. The product of the R's moving from the original frame, {A}, to {B} is AB(R) (R super A sub B). Now you need to t-form B(P) to A(P). You either need AB(R) or its transpose - you decide. Incidentally, this problem should look a lot like the derivation of the rotation matrix for ZYX Euler angles.

Exercise 2.6 - There are many ways to do this problem. I will go over the basic ideas of some of them.

• Create a frame which aligns it's x-axis on k, i.e. write the x-, y-, and z-axes in terms of the elements of k. These axes form a rotation matrix AK(R) taking you from {A} to {K}. Rotate from {K} using Rx(theta) to a new frame {K'}. The last step is to realize that the frame you are trying to get to ({A} rotated about k by theta) must have the same relative t-form to {K'} that the original {A} had to {K}. Thus using t-forms relating a moving frame starting with {A}, we get Rk(theta) = AK(R) Rx(theta) KA(R). Grind it out and simplify with trigonometry to get the deisred result.
• Similar idea to the first approach, but AK(R) is constructed by two rotations, namely: rotation about z until k lies in x-z plane; rotation about y until k coincides with z; then Rz(theta); inverse of second rotation; and finally inverse of first rotation. The sines and cosines of the two angles of rotation needed for the first two rotations can be found as functions of the elements of k. Expand and simplify to get the desired result.
• Use geometry to determine the direction cosines of each of the axes of {A} after rotation about {K} by theta. Rodrigue's Formula makes this problem trivial.

Exercise 2.16 - The obvious isn't necessarily best. You can do better than 2700m + 1800a per second! In fact, you can do better than 2520 multiplies and 1680 adds.

Exercise 2.21 - You rotation matrix should be a function of theta. If you end up with the identity matrix, you should reread the question.

Exercise 2.22 - Make sure you use 2 different axes of rotation.

Exercise 2.27-2.34 - You should be able to do these by inspection with maybe a cross product to find the direction cosines of one axis.

## Chapter 3

Exercise 3.13 - Don't ever orient an x-axis in the direction of the next z-axis. Make d_4 = d_5 = 0.

Exercise 3.15 - The origins of the frames should not be inside the cylinders shown in the kinematic schematic.

Exercise 3.22 - You can make more DH parameters zero than you might think at first.

## Chapter 4

Exercise 4.4 - Look at the geometry and notice that p_z of ^0_3(T) is fixed, so arbitrary positioning is impossible. Similarly, arbitrary orienting of {3} is impossible. Thus, your inv. kinematic solution is subject to your discretion. You can, for example, determine joint displacements to arbitrarily position the origin of {3} in its plane of motion. Do at least this.

Exercise 4.12 - The geometric argument is easier than an analytical approach. Keep in mind that arbitrary orientation means that one could choose the direction of axis z_3 arbitrarily and there would be corresponding joint displacements to achieve that direction. See if you can express your answer as an inequality (dot product) relating z_0 and z_3.

Exercise 4.17 - Keep in mind that you are interested in theta_3 only. Geometrically it should be clear that the x and y components of ^0(P)_{4org} are attainable. Then notice that the mechanism constrains the z component. A good place to start then is to find the bounds on z imposed by the kinematics.

## Chapter 5

Example 5.1 - The answer given in the third part of this example is wrong. Craig gives:

^C(^T{V_{Corg}}) = - ^U_C{R}^{-1} ^U_T{R} 70 {\hat X}.

The second rotation matrix on the r.h.s. is not needed. The velocity on the l.h.s. inside the parentheses is the velocity of the car's origin as seen from the train's frame, expressed in the train's frame (this is interpretted in accordance with the last paragraph on page 153 and equation 5.3). The velocity -70 {\hat X} is the velocity of the car w.r.t. the train, expressed in frame {U}, the frame to which {\hat X} refers.

The correct answer is: ^C(^T{V_{Corg}}) = - ^U_C{R}^{-1} 70 {\hat X}.