Velocity Kinematics and Statics
Velocity Kinematics and Statics
This video introduces the Jacobian of a robot, and how it is used to relate joint velocities to end-effector velocities and endpoint forces to joint forces and torques. The notions of singularities, manipulability, the manipulability ellipsoid, and the force ellipsoid are also introduced.
In the last chapter, we studied the forward kinematics, relating the joint positions to the end-effector configuration, T of theta. In this chapter, we study the relationship between joint velocities and the end-effector velocity.
Usually we represent the configuration of the end-effector as a transformation matrix and the velocity as a twist. To get to the main ideas quickly, though, lets represent the configuration of the end-effector using a minimum set of coordinates and the velocity as the time derivative of those coordinates. Then the forward kinematics can be written x equals f of theta, where x is a vector of m coordinates representing the end-effector configuration and theta is an n-vector of joint coordinates. To find the relationship between the joint velocities and the end-effector velocity, we take the time derivative of the forward kinematics. Applying the chain rule for differentiation and dropping the dependence on time, we get x-dot = d-f d-theta times theta-dot. Because x has m coordinates and the joint vector theta has n coordinates, the matrix of partial derivatives d-f d-theta is m-by-n. This matrix is called the Jacobian J of the robot arm. The Jacobian is important not only for relating joint velocities to end-effector velocities, but also for relating end-effector wrenches to joint forces and torques, as we will see soon.
Let's look at a 2R arm as an example, where x_1 and x_2 are the end-effector coordinates. The forward kinematics are given by these equations. We take the time derivative of the forward kinematics, and we name the endpoint velocity v_tip. Notice that the vector equation can be written as a vector times the velocity of the first joint theta_1-dot plus another vector times the velocity of a second joint theta_2-dot. Let's call the first vector J_1. Clearly it is a function of the joint variables theta. J_1 is just the end-effector velocity when joint 1 rotates at unit speed while joint 2 is kept constant. We can visualize it as a vector orthogonal to the line connecting joint 1 to the end-effector.
Similarly, J_2 is the velocity of the end-effector when joint 2 rotates at unit speed while joint 1 is kept constant. Plotting them both, we see that J_1 and J_2 form a basis for the space of linear velocities of the end-effector. We can put the J_1 and J_2 vectors side-by-side to form the Jacobian matrix J. The end-effector velocity is just a linear combination of J_1 and J_2, with coefficients equal to the joint velocities.
If the second joint angle is zero degrees, as shown here, or 180 degrees, J_1 and J_2 are aligned, and it is impossible to generate any end-effector velocity except along this line. I can use my arm as an example. When it is fully extended, rotation about my shoulder, and about my elbow, both cause the hand to move vertically. The arm loses the ability to move in some directions when the dimension of the column space of the Jacobian drops from its maximum value, and such a configuration is called a singularity.
We can use the Jacobian to find limits on the end-effector velocity due to limits on the joint velocity. In this figure, the set of allowable joint velocities is depicted as a square in the joint velocity space, with the corners A, B, C, and D. The point A, for example, corresponds to simultaneous maximum positive velocity at both joints 1 and 2. We can map this square set of joint velocities through the Jacobian to get a parallelogram of possible velocities at the tip, including the tip velocity A corresponding to the joint velocity A. The Jacobian, and therefore this parallelogram, depends on the joint angles theta.
Instead of a square of possible joint velocities, it is common to consider a circle, or more generally a sphere, of possible joint velocities. This maps through the Jacobian to produce an ellipse, or more generally an ellipsoid, of possible tip velocities. This ellipsoid shows that the robot can move fast up and to the left, but only slowly up and to the right. If the robot is at a different configuration, however, the ellipsoid can look very different. We call these ellipsoids manipulability ellipsoids. If the 2R robot is at a singularity, the ellipse collapses to a line segment.
The Jacobian also relates forces at the end-effector to forces and torques at the joints. To find this relationship, let tau be the vector of joint torques and forces generated by motors at revolute and prismatic joints, respectively. From physics we know that velocity times force is power, and the equivalent for a robot arm is theta-dot transpose times tau is equal to the power produced or consumed by the robot's motors. The robot's velocity and joint torques could instead be expressed in terms of a velocity and force at the tip, so the power can be written equivalently as v_tip transpose times f_tip, where f_tip is the force applied by the end-effector. If no power is used to move the robot, then theta-dot transpose times tau is equal to v_tip transpose times f_tip.
Using our previously derived identity v_tip equals J-theta-dot, we get this equation. We can rewrite this as this equation using the fact that the transpose of J-theta-dot is equal to theta-dot transpose times J transpose. Since this equation holds for all theta-dot, the equation reduces to tau equals J transpose times f_tip, the relationship we were looking for. For our force analyses, we assume the robot is at equilibrium and that all joint torques and forces create forces at the end effector; no joint effort is needed to cancel gravity, for example.
This equation is useful for force control: if we want the robot to generate the force f_tip at its end-effector, the motors must generate joint torques and forces equal to J transpose times f_tip. In the case that J transpose is invertible, we also have the relationship f_tip equals J transpose inverse times tau.
Assuming J transpose is invertible, we can map joint torque limits to tip force limits using the inverse of the Jacobian transpose, similar to how we mapped joint velocity limits to tip velocity limits. In this configuration, the arm can apply large forces up and to the right, at point D, but much smaller forces up and to the left. The reason is clear: a line of force up and to the right passes close to the joints, therefore requiring little torque about the joints, while a line of force up and to the left passes far from the joints, requiring larger torque. In the extreme case, if my arm is extended straight out, at a singularity, I could theoretically resist infinite forces applied along the arm, because the forces pass through the joints, creating zero torque. On the other hand, it is hard to hold this book up in gravity, because the force requires large joint torques. This example also demonstrates that the tip force limits are in a sense reciprocal to the tip velocity limits: it is easy to apply force in a direction that it is hard to move, and hard to apply force in a direction that it is easy to move.
It is common to consider joint torque limits that are circular, or more generally spherical. In this case, the torque limits map to an end-effector force ellipse or ellipsoid. As with the manipulability ellipsoid, the force ellipsoid depends on the configuration of the robot.
So, this video summarizes the important concepts of Chapter 5. In the rest of this chapter, we translate these concepts to twists and wrenches. In particular, in this video we represented velocities as v_tip, the time derivative of coordinates. In the remainder of the chapter, we represent end-effector velocities as twists, either in the {s}-frame or the {b}-frame. In this video, we represented end-effector forces as f_tip, forces dual to v_tip. In the remainder of the chapter, end-effector forces will be represented as wrenches, either in the {s}-frame or the {b}-frame.
In the next video we derive the Jacobian when the end-effector velocity is expressed as a twist in the space frame {s}.