1. Define a semi-algebraic model that removes a triangular ``nose'' from the region shown in Figure 3.4.

  2. For distinct values of yaw, pitch, and roll, it is possible to generate the same rotation. In other words, $ R(\alpha,\beta,\gamma) =
R(\alpha',\beta',\gamma')$ for some cases in which at least $ \alpha
\not = \alpha$, $ \beta \not = \beta'$, or $ \gamma \not = \gamma'$. Characterize the sets of angles for which this occurs.

  3. Using rotation matrices, prove that 2D rotation is commutative but 3D rotation is not.

  4. An alternative to the yaw-pitch-roll formulation from Section 3.2.3 is considered here. Consider the following Euler angle representation of rotation (there are many other variants). The first rotation is $ R_z(\gamma)$, which is just % latex2html id marker 124165
$ (\ref{eqn:yawmat})$ with $ \alpha$ replaced by $ \gamma$. The next two rotations are identical to the yaw-pitch-roll formulation: $ R_y(\beta)$ is applied, followed by $ R_z(\alpha)$. This yields $ R_{euler}(\alpha,\beta,\gamma) = R_z(\alpha) R_y(\beta) R_z(\gamma)$.
    1. Determine the matrix $ R_{euler}$.
    2. Show that $ R_{euler}(\alpha,\beta,\gamma) =
R_{euler}(\alpha - \pi,-\beta,\gamma-\pi)$.
    3. Suppose that a rotation matrix is given as shown in (3.43). Show that the Euler angles are

      $\displaystyle \alpha = \atan2(r_{23},r_{13}) ,$ (3.85)

      $\displaystyle \beta = \atan2(\sqrt{1-r^2_{33}},r_{33}) ,$ (3.86)


      $\displaystyle \gamma = \atan2(r_{32},-r_{31}) .$ (3.87)

  5. There are 12 different variants of yaw-pitch-roll (or Euler angles), depending on which axes are used and the order of these axes. Determine all of the possibilities, using only notation such as $ R_z(\alpha) R_y(\beta) R_z(\gamma)$ for each one. Give brief arguments that support why or why not specific combinations of rotations are included in your list of 12.
  6. Let $ {\cal A}$ be a unit disc, centered at the origin, and $ {\cal W}= {\mathbb{R}}^2$. Assume that $ {\cal A}$ is represented by a single, algebraic primitive, $ H = \{ (x,y) \;\vert\; x^2 + y^2 \leq 1 \}$. Show that the transformed primitive is unchanged after any rotation is applied.

    Figure 3.29: A chain of three bodies.

  7. Consider the articulated chain of bodies shown in Figure 3.29. There are three identical rectangular bars in the plane, called $ {\cal A}_1,{\cal A}_2,{\cal A}_3$. Each bar has width 2 and length 12. The distance between the two points of attachment is 10. The first bar, $ {\cal A}_1$, is attached to the origin. The second bar, $ {\cal A}_2$, is attached to $ {\cal A}_1$, and $ {\cal A}_3$ is attached to $ {\cal A}_2$. Each bar is allowed to rotate about its point of attachment. The configuration of the chain can be expressed with three angles, $ (\theta_1,\theta_2,\theta_3)$. The first angle, $ \theta_1$, represents the angle between the segment drawn between the two points of attachment of $ {\cal A}_1$ and the $ x$-axis. The second angle, $ \theta_2$, represents the angle between $ {\cal A}_2$ and $ {\cal A}_1$ ( $ \theta_2
= 0$ when they are parallel). The third angle, $ \theta_3$, represents the angle between $ {\cal A}_3$ and $ {\cal A}_2$. Suppose the configuration is $ (\pi/4,\pi/2,-\pi/4)$.
    1. Use the homogeneous transformation matrices to determine the locations of points $ a$, $ b$, and $ c$.
    2. Characterize the set of all configurations for which the final point of attachment (near the end of $ {\cal A}_3$) is at $ (0,0)$ (you should be able to figure this out without using the matrices).

    Figure 3.30: Another exercise involving a chain of bodies.

  8. A three-link chain of bodies that moves in a 2D world is shown Figure 3.30. The first link, $ {\cal A}_1$, is attached at $ (0,0)$ but can rotate. Each remaining link is attached to another link with a revolute joint. The second link, $ {\cal A}_2$, is a rigid ring, and the other two links are rectangular bars.

    Assume that the structure is shown in the zero configuration. Suppose that the linkage is moved to the configuration $ (\theta_1,\theta_2,\theta_3) =
(\frac{\pi}{4},\frac{\pi}{2},\frac{\pi}{4})$, in which $ \theta_1$ is the angle of $ {\cal A}_1$, $ \theta_2$ is the angle of $ {\cal A}_2$ with respect to $ {\cal A}_1$, and $ \theta_3$ is the angle of $ {\cal A}_3$ with respect to $ {\cal A}_2$. Using homogeneous transformation matrices, compute the position of the point at $ (4,0)$ in Figure 3.30, when the linkage is at configuration $ (\frac{\pi}{4},\frac{\pi}{2},\frac{\pi}{4})$ (the point is attached to $ {\cal A}_3$).

  9. Approximate a spherical joint as a chain of three short, perpendicular links that are attached by revolute joints and give the sequence of transformation matrices. Show that as the link lengths approach zero, the resulting sequence of transformation matrices converges to exactly representing the freedom of a spherical joint. Compare this approach to directly using a full rotation matrix, (3.42), to represent the joint in the homogeneous transformation matrix.

  10. Figure 3.12 showed six different ways in which 2D surfaces can slide with respect to each other to produce a joint.
    1. Suppose that two bodies contact each other along a one-dimensional curve. Characterize as many different kinds of ``joints'' as possible, and indicate the degrees of freedom of each.
    2. Suppose that the two bodies contact each other at a point. Indicate the types of rolling and sliding that are possible, and their corresponding degrees of freedom.

  11. Suppose that two bodies form a screw joint in which the axis of the central axis of the screw aligns with the $ x$-axis of the first body. Determine an appropriate homogeneous transformation matrix to use in place of the DH matrix. Define the matrix with the screw radius, $ r$, and displacement-per-revolution, $ d$, as parameters.

  12. Recall Example 3.6. How should the transformations be modified so that the links are in the positions shown in Figure 3.25 at the zero configuration ( $ \theta_i = 0$ for every revolute joint whose angle can be independently chosen)?

  13. Generalize the shearing transformation of (3.84) to enable shearing of 3D models.


  14. Develop and implement a kinematic model for 2D linkages. Enable the user to display the arrangement of links in the plane.
  15. Implement the kinematics of molecules that do not have loops and show them graphically as a ``ball and stick'' model. The user should be able to input the atomic radii, bond connections, bond lengths, and rotation ranges for each bond.
  16. Design and implement a software system in which the user can interactively attach various links to make linkages that resemble those possible from using Tinkertoys (or another popular construction set that allows pieces to move). There are several rods of various lengths, which fit into holes in the center and around the edge of several coin-shaped pieces. Assume that all joints are revolute. The user should be allowed to change parameters and see the resulting positions of all of the links.
  17. Construct a model of the human body as a tree of links in a 3D world. For simplicity, the geometric model may be limited to spheres and cylinders. Design and implement a system that displays the virtual human and allows the user to click on joints of the body to enable them to rotate.
  18. Develop a simulator with 3D graphics for the Puma 560 model shown in Figure 3.4.

Steven M LaValle 2012-04-20