HW3 - Body Kinematics
HW3 - Body Kinematics
91/100
[-3] Q3.a) Only joint 7, 8 are involved so the dim for theta should be 61 and dim for J should be 36.
[-0.5] 3.b.i) Should mention the effect include magnitudes of the endpoint velocity vectors. Refer to the solution file for more details.
[-2] 3.b.ii) You should compute the Jacobian submatrix for joint in the IK chain to get the J_rWrist.
[-0.5] Q4(a) Inversed velocity vectors.
[-2] Q4(b). Correct procedure, but need to compute actual values.
[-1] Q4(c). Correct procedure, but need to compute actual direction vector.
1. Tree Data Structure for Joint Hierarchy
a) Draw the tree data structure representing the skeleton joint hierarchy.
The skeleton starts with the pelvis (root), and it branches out into two arms, a head, and other joints.
- Pelvis
- lShoulder
- lElbow
- lWrist
- lElbow
- rShoulder
- rElbow
- rWrist
- rElbow
- Neck
- Head
- lShoulder
b) List the AJoint information for each joint.
For each joint, we will specify the parent-child relationships, and the names and numbers associated.
- Pelvis
- Parent: World (None)
- Children:
- 3
- lShoulder, rShoulder, Neck
- 4, 7, 2
- lShoulder
- Parent:
- Pelvis
- 1
- Children:
- 1
- lElbow
- 8
- Parent:
- lElbow
- Parent:
- lShoulder
- 4
- Children:
- 1
- lWrist
- 6
- Parent:
- lWrist
- Parent: lElbow
- Children: None
- rShoulder
- Parent:
- Pelvis
- 1
- Children:
- 1
- rElbow
- 8
- Parent:
- rElbow
- Parent:
- rShoulder
- 7
- Children:
- 1
- rWrist
- 9
- Parent:
- rWrist
- Parent: rElbow
- Children: None
- Neck
- Parent:
- Pelvis
- 1
- Children:
- 1
- Head
- 3
- Parent:
- Head
- Parent:
- Neck
- 2
- Children: None
- Parent:
2. Frame of Reference and Kinematic Equations (25 points)
**a) **
i) General form of the rotation matrix for joint j:
The rotation matrix for joint j, with the given rotation order (z -> y -> x), is:
$R^i_j(\theta_j) = R_z(\theta_{jz})\cdot R_y(\theta_{jy})\cdot R_x(\theta_{jx}) $
Where:
Thus,
ii) Joint displacement vectors :
Given the bone lengths of 1 unit, we have:
For the clavicle bone connecting the right shoulder:
iii) Euler Angle rate to rotational velocity matrix :
The matrix that relates Euler angle rates to rotational velocity can be written as:
This gives the relationship between Euler angles and the angular velocity of the joint.
b)
i) Pelvis as the root (j = 1):
When the pelvis (joint 1) is the root of the hierarchy, the position and orientation of joint 9 can be expressed as a product of the transformation matrices along the chain from the pelvis to the wrist.
where the transformation matrix from joint to is given by:
where is the 3x3 rotation matrix, and is the displacement vector from joint to joint .
The position and orientation of the rWrist in world coordinates (starting from the pelvis) is the product of these transformation matrices along the kinematic chain:
ii) lWrist as the root (j = 6):
The transformation from joint 6 to joint 9 is given by:
3. Forward Kinematic Equations (25 points)
a) Joints used and dimensionality of , , and :
-3 错误的,
如果root是1,则只有7和8;如果root是6,则这样是对的
To control the position of the right wrist (joint 9) with respect to the left wrist (joint 6), the joints involved would be 1 (pelvis), 4 (lShoulder), 5 (lElbow), 6 (lWrist), 7 (rShoulder), 8 (rElbow), and 9 (rWrist). However, 1 (pelvis), 6 (lWrist) and 9 (rWrist) do not influence the position of joint 9 with respect to joint 6. So, 4 (lShoulder), 5 (lElbow), 7 (rShoulder), 8 (rElbow) are used.
- Dimensionality of
- Dimensionality of $\dot \Theta= 3\times4=12 $ (for the involved joints)
- Dimensionality of
**b) **
i) What do the vectors represent for joint j?
-0.5
The vectors represent the contribution of joint 's rotation to the end-effector's velocity along the x, y, and z axes, respectively. These are derived from the cross product of the unit vectors along the local axes of joint and the radius vector from joint to the end-effector . More precisely:
Where are the unit vectors of the local axes of joint , and is the vector from joint to the end-effector (right wrist, joint 9).
These vectors represent the instantaneous linear velocity directions at the end effector caused by rotation about the x, y, and z axes of joint j respectively.
ii) Minimal set of equations to compute the Jacobian matrix for the rWrist (joint 9):
-2
Steps:
- Extract column vectors from
- Compute
- Assemble
- Compute L (Euler angle rates to angular velocity )
- Compute
The Jacobian matrix relates the end-effector's velocity to the joint velocities. To compute the Jacobian, we need to consider how each joint in the chain contributes to the velocity of the rWrist (joint 9). For each joint , the contribution is given by:
Thus, the total velocity of the rWrist is the sum of the contributions from the joints in the chain. Each joint contributes based on its rotation and its distance from the end-effector.
The minimal set of equations needed to compute the Jacobian is:
- Compute the rotation matrices for each joint in the chain (joints 1 to 9).
- Compute the radius vectors for each joint (from joint j to joint 9).
- Compute the cross products for each joint to form the submatrices of the Jacobian.
The final Jacobian is a 3x9 matrix that relates the joint velocities to the velocity of the rWrist in world coordinates.
4. Right Arm Moving in the X1-Y1 Plane (25 points)
a) Draw a picture of the right arm configuration when , , .
-0.5
b) Vectors :
-2
- is the vector from the right elbow (joint 8) to the right wrist.
The exact components depend on the angles of rotation.
c) Magnitude and direction of velocity vectors :
-1
Each velocity vector can be computed using the angular velocities and the displacement vectors. For example, the velocity of the wrist due to the rotation of joint 1 is:
The direction of each vector is perpendicular to both the axis of rotation and the displacement vector.
The v and direction is shown in pic.
d) Relationship between velocity vectors and the matrices:
5. Inverse Kinematics (15 points)
Step 1: Compute Joint Angle (Elbow Joint)
We start by determining the angle at the elbow (joint 8) using the law of cosines. This will give us the angle needed to achieve the desired distance between the shoulder and the wrist.
Let:
- be the desired position of the right wrist (joint 9),
- be the position of the right shoulder (joint 7),
- and be the lengths of the upper arm (from the shoulder to the elbow) and the forearm (from the elbow to the wrist), respectively.
Desired Direction:
Now, we can apply the law of cosines to calculate the elbow angle :
From this, we compute as:
This gives us the angle needed at the elbow to reach the wrist.
**Step 2: Compute quaternion at joint 7 to rotate so it points at **
Desired Direction:
Angle:
Axis:
Local Axis:
Joint 7 update:
**Step 3: Joint 3 Orientation **
Given can find joint angle