Summary of Velocity Kinematics in 2D


Let's summarize some of the important concepts that we've learned in this particular lecture. In previous lectures we've covered the concept of forward kinematics and inverse kinematics. This is the relationship between joint angles and the end effector pose. In this lecture what we talked about talked about the velocity transform. That's the relationship between the velocity of the joints and the velocity of the end effector pose. We've talked about the derivative of the pose and we discussed intangible terms what that might mean. It might be the end effector translational velocity xdot and ydot. If the robot's got three degrees of freedom, then the end effector pose velocity is xdot ydot and theta dot.

In this lecture, we introduced this symbol, the Greek letter nu to represent what we call the spatial velocity of the end effector. That is the rate of change of pose with respect to time.

We've introduced this relationship between the robot joint velocity and the spatial velocity of the robot's end effector or tooltip. These two quantities are related by the Jacobian matrix. The Jacobian matrix is a function of the joint configuration represented by the vector Q. For the case of the two-linked robot, the spatial velocity is simply xdot and ydot and the joint velocity is the vector Q1dot and Q2dot. For the three-linked plain manipulator, the joint velocities Q1dot Q2dot Q3dot and the spatial velocity now has a translational component xdot and ydot and a rotational velocity component Q dot. So if we think of the robot end effector as a pose of a coordinate frame, this is a speed at which the origin of the coordinate frame moves and the speed in which the coordinate frame rotates. 

The Jacobian matrix can sometimes be singular or close to singular. That is its determine very close to 0 or its condition number is very large. And this is something about how easy or awkward certain Cartesian motions will be. We will quantify this a bit by talking about the velocity ellipse of the manipulator. What we did was to map a set of velocities that lie on a circle in the joint velocity space to an ellipse on the space of the Cartesian velocity of the robot tool; xdot and ydot in this particular case. And what we can see is we have an ellipse which indicates that the robot is capable of moving in this case quite quickly in the y direction but more slowly in the x direction. The shape of this ellipse is a function of the joint angles Q. The inverse Jacobian is very useful to us. It allows us to specify the spatial velocity of a tool tip in terms of Cartesian coordinates and determine the joint velocities that we need in order to achieve that. This is very useful in real world applications where we might want the robot end effector to move in a straight line at a determined velocity. 

So for a two link manipulator, we define the end effector velocity in terms of its Cartesian velocity components xdot and ydot and compute the appropriate joint angle velocities. And again for the three degree freedom robot, we can specify not only the translational velocity xdot and ydot we can also specify the rotational velocity of a coordinate frame attached to the end of the robot. This is really useful for Cartesian motion. And this technique is referred to as resolved rate motion control.

Finally we talked about how we can translate a velocity defined with respect to one coordinate frame to a velocity with respect to a different coordinate frame. The two velocities are related by another Jacobian matrix. And that Jacobian matrix is a function of the rotational part of the relative pose between the two coordinate frames.


There is no code in this lesson.

We summarise the important points from this masterclass.

Professor Peter Corke

Professor of Robotic Vision at QUT and Director of the Australian Centre for Robotic Vision (ACRV). Peter is also a Fellow of the IEEE, a senior Fellow of the Higher Education Academy, and on the editorial board of several robotics research journals.

Skill level

This content assumes high school level mathematics and requires an understanding of undergraduate-level mathematics; for example, linear algebra - matrices, vectors, complex numbers, vector calculus and MATLAB programming.

More information...

Rate this lesson



  1. Onofrio Gallina says:

    Excellent Masterclass. Thank you Professor Peter Corke.

  2. SirClems says:

    Thanks a lot professor.


  3. Jonathan says:

    Dear Professor Corke
    Thank you very much for your lessons.
    I am ok with all the concepts and explanations you are providing, however I am struggling with the Matlab implementations of the concepts. For example, something like trying to use Resolved Rate motion to calculate the movement of a Puma560 Robot in Matlab.
    Are there any resolved exercises/examples using this toolbox I can try to attempt myself so I can get the grips on the Matlab functions, please?
    Thank you very much.
    Kind regards

    1. Peter Corke says:

      My book has more detail and lots more examples. You can download MATLAB LiveScripts of all the code from the book from my website. The best way to learn is to build the examples and play with them. The MATLAB functions also have documentation, try >> help FUNCTIONNAME or look at the documentation included with the Toolbox in robot.pdf.

Leave a comment