Rigid Body Dynamics



Next, we are going to look at the inertia term. That’s the torque required to accelerate the joints of the arm. That’s this term here. So, we’ll cross the other two out.

Now, I’m going to compute the inertia matrix of our robot, and that’s yet another method on the two-link robot object, and the method is called "inertia" and the arguments to that are the joint angles of the robot Q1 and Q2. And, here we have the 2x2 inertia matrix of our robot. Once again, we can see that it is a function of kinematic and dynamic parameters of a robot, and it’s also a function of the configuration of the robot, and we can see sine and cosine of Q2 appearing in this expression.

Here is the inertia matrix for our two link robot manipulator. It’s a 2x2 matrix and it’s a symmetric matrix; and that means that this term here is equal to this term here. And, we can see that the inertia matrix is quite complex and it is not constant.

We can see that the elements in this matrix are functions of the joint angles Q2, as well as the masses of the robot link, the kinematic parameters A1 and A2, and the position of the centre of mass, C2. We can write it in simplified form where we have just three unique elements, I11, I22 on the principal diagonal, and I12 and I21 on the opposite diagonal. And, as I just mentioned, the matrix is symmetric so I12 equals I21.

The vector of torques acting on the robot’s joints are given by the inertia matrix multiplied by the vector of joint accelerations. Now, we can expand that out, and we can highlight now the two terms on the diagonal.

In the previous lecture when we considered robot joint control, life was simple. We had a relationship between the torque that the motor applies to a joint, the acceleration of a joint and the inertia of that joint. Now, we can see that things are not quite so straightforward. We can see that there is a relationship between torque 1 and the acceleration of joint 1 just like we had in the simpler case. But we now also have these disturbance torques. That means that the torque acting on joint 1 is due not just to the acceleration of joint 1, but also to the acceleration of joint 2.

Imagine for a moment that joint 1 is stationary. It’s non-accelerating. The joint control is trying to keep it stationary. If joint number 2 starts to accelerate, it’s going to exert a torque on joint number 1, which the joint 1 motor controller is going to have to deal with. It’s going to have to come up with some extra torque, apply it to the motor to stop joint 1 moving, due to the influence of joint 2. We’re going to compute the inertia of this robot numerically. We’re going to use the inertia method and going to compute it for joint angle zero, zero, and this is the inertia matrix and we can see that it is symmetric. This element here equals this element here.

And, just to remind ourselves of the configuration of this robot, we are going to plot it. There it is. So, this is the robot with its arm fully outstretched. Now, what we can do is to change the configuration. So, I’m going to put the robot in to a configuration where the second joint angle is 90 degrees. So, now the robot looks like this. And, I can compute the inertia for this new configuration, 0 pi/2. And, we can see that some elements of the inertia matrix have changed.

In fact, they have been reduced. And, this element here, which is the inertia seen by joint 1 is reduced. And that is because the centre of mass of joint 2 is now closer to the rotational axis of joint 1. Now, I can bring that in even further. Let’s see what it looks like if I put the robot in to a configuration where the first angle is 0, and the second joint angle is equal to pi or 180 degrees and the arm is folded back on itself, which may not actually be physically possible, but let’s work with that.

Now, I can look at the inertia in this configuration and see that it is even further reduced. That’s because all the mass of the robot is as close as it possibly can get to the rotational axis of joint 1. So, if I collapse that figure, then what we can see is progressively the magnitude of the elements in the inertia matrix become less and less as we increase joint angle 2.

And, this is a topic that we will revisit shortly. The problem for a joint control system, when the inertia that it has to deal with varies with the configuration of the robot.


There is no code in this lesson.

We describe inertia of the robot as a matrix which represents how inertia of a joint depends on the position of all the joints, and how the torque on one joint depends on the acceleration of other joints.

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

Undergraduate-level engineering

This content requires an understanding of undergraduate-level engineering; for example, dynamics, classical control theory - PID, poles, zeros, probability theory - random variables and Bayes’ rule.

Undergraduate-level mathematics

This content 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


Check your understanding

Leave a comment

Previous lesson Next lesson