Rigid Body Dynamics



In the last lecture we talked about robot joint control and that’s the problem of how do we control the motor which is actuating the joint angle in a robot arm.

Now in a real robot, this control problem is a little bit more complicated than we talked about in the last lecture and a pretty simple example can make that clear.

If you consider in the problem of controlling my shoulder joint, then the weight of my arm, gravity acting on this arm is going to exert a torque on my shoulder and so the arm is going to want to fall down, so it’s the muscles in my arm, have to apply an opposite torque in order to keep my arm horizontal. So, a really important factor in robot arm control is the influence of gravity, the weight force that acts on the various links of a robot’s arm.

Now, another problem is to do with the change in inertia. The motor, which is driving, for instance my shoulder joint sees the inertia of the motor itself, but it also sees the inertia of this link, so in order to accelerate this, going to have to accelerate all this part of my arm and that requires additional torque in the motor in order to achieve a particular acceleration; it’s a function of the inertia of my arm.

Now, the inertia depends on the configuration of my arm. My arm here is got maximum inertia about the shoulder axis, but if the arm was in a configuration like this, it’s got less inertia. If it was in a configuration like this, it’s got less inertia still.

So, the configuration of the links outwards from a particular joint are going to affect the inertia that that joint sees. So all of these sorts of effects, the gravity problem and the inertia problem are lumped together in what we call rigid body dynamic effects and that’s what we’re going to talk about in this particular lecture.

Now, in the last lecture, we put up this block diagram and we worked our way through all the different blocks in the diagram. In this lecture, what we’re going to do is put the spotlight on the robot joint itself; this is where one joint interacts with the other joints in the robot arm.

This is where the effects like changing gravity and changing inertia, these are mechanic effects, come from the robot joint, back through the gearbox and they influence the motor within the robot joint.

So, that’s the purpose of this lecture, is to try and unpack some of these issues, see how these gravity problems and the inertia effects, impact on the individual motors that are driving the individual joints.

We can’t ignore these effects if we want to do high quality control of robot joint motion.


There is no code in this lesson.

We will learn about the forces that are exerted on a robot’s joint by gravity acting on links, friction, and the coupling forces where the motion of one joint imparts a force on 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



  1. Shema Mireille says:

    Thank you so much for the classes. They were very helpful. The toolbox is also a great asset.

Leave a comment

Previous lesson Next lesson