You are on page 1of 7

Skip to this view's content

ETHx: AMRx Autonomous Mobile Robots @


edX

ETHx: AMRx Autonomous Mobile RobotsDashboard for: Vishay MORE OPTIONS


DROPDOWN Help
Courseware , current location
Course Info
Discussion
Wiki
Textbook
Progress
Course Overview
Introduction and Lecture Overview
Locomotion and Kinematics I (Legs)
Weekly Overview
Lecture Segments , current section
Problem Set
Problem Set due Mar 12, 2014 at 00:00 UTC
Locomotion and Kinematics II (Wheels)
[Optional] The AMRx Exercises
[Optional] Introduction to MATLAB
Previous
Next
BASICS OF RIGID BODY KINEMATICS

Skip to a navigable version of this video's transcript.

0:00 / 8:02
Fill browserHD off
Turn off captions
Skip to end of transcript.
Caption will be displayed when you start playing the video.
DR. MARCO HUTTER: Hi, welcome back to Autonomous Mobile Robots.
My name is Marco Hutter, and I'm your teacher
for this segment on rigid body kinematics.
In this part, we will learn or refresh some basic tools, such as translations,
rotations, or homogeneous transformations of multi-body systems.
This will be later be needed to describe the motion
and constraints of mobile platforms, such as wheeled or legged vehicles.
Let's start with some definitions.
Kinematics is the description of motion-so positions, velocities, or accelerations of points, bodies,
or systems of bodies-- without dealing with the question of what
causes this motion.
It's mostly used for kinematic simulations and control.
When we talk about motion, we distinguish between 3 different types
of motion.
First, a body can perform a pure translation,
which means that all points the body perform parallel trajectories.
Second, a single body can perform a pure rotation, which
means that one point is always fixed and all other points rotate around it.

And, finally, a general motion is a combination


of rotation and translation.
This combined motion is always an instantaneous rotation
around a single point, however, and this is in contrast
to the rotation we saw before, the instantaneous center of rotation
moves over time.
So in this particular example of rolling,
the center always coincides with the contact point.
To describe such motion, we use vectors and coordinate transformations.
For illustration, we consider a very simple example of a single body
with point P, which has a body-fixed frame
B that is rotated with respect to inertial or world-fixed frame I.
The first thing we are discussing is translation:
We want to get the position of point P expressed in the world
coordinate system, which is written as r OP expressed in I.
As you all know, vectors can be simply added,
such that we write r OP as the sum of r OB and r BP.
What is important is that we can only add vectors
that are expressed in the same coordinate system, in this case I.
However, it's often the case that certain vectors
are easier to describe in one frame than another.
So, for example, vector BP is trivial when expressed in the body-fixed frame
B, namely only l x, l y.
However, we cannot add vectors that are expressed in different frames,
but first have to rotate them into the appropriate coordinate system.
For this, we introduce the rotation matrix R

IB which rotates a vector expressed in frame B


into target frame I. What you can see here
is that the transformation for point P from coordinate system B
to I, corresponds to a translation and rotation.
This can also be written in matrix form, the so-called homogeneous
transformation.
Let's make a little detour to show you how to get these rotation matrices.
In this case, R IB of coordinate frame B that is rotated in positive direction
from coordinate frame I. The first column of this matrix
represents the x-axis of coordinate system B expressed in I.
So cosine phi in x-direction and sine phi in y-direction.
The second column is the y-axis of B expressed in I,
and the last one determines the rotational axis.
An interesting and important fact is that inversion, so rotating from I
to B, corresponds to a multiplication with the transposed of the rotation
matrix from B to I. And consecutive rotations
are simply performed by multiplication of the corresponding rotation matrices.
Very prominent examples are, for example,
Euler or Cardan angles that are often used
to represent 3D rotations in space.
With this, we stop our small excourse and come back to the previous slide,
but switch now from position representations to velocities.
So v P represents the velocity of point P, or in other words, the time
derivative of the position vector.
And omega IB is the angular velocity of the body-fixed frame
B with respect to I. Rigid bodies have the important characteristics

that the angular velocity is equal at any point of the body.


In other words, it's invariant.
This implies that if we know the velocity and angular
velocity at a single point, we know the full motion of the entire rigid body.
It is possible to determine the velocity at any point using the rigid body
kinematics formulation, which says that point P has
the velocity of another point, in this case B,
on the same rigid body plus the cross product of the angular
velocity with the relative offset.
And again, let's go back to our examples before.
The angular velocity of coordinate system B,
with respect to coordinate system I, corresponds to phi dot in z direction.
While this is intuitively clear for this toy example,
we can also get it from the rotation matrices
by calculating the skew- symmetric matrix omega
hat, which is R dot times R transposed.
Again, keep in mind that it is always important to write in what coordinate
system you're representing this angular velocity.
And as all previous vectors, also omega can
be rotated from one to another coordinate frame using
rotation matrices.
If we have multiple and successive rotations,
angular velocities are simply added.
As the last important basic kinematic tool,
you need to know how to take time derivatives of vectors.
For example, to calculate velocities from position vectors.

For non-moving coordinate system, like the inertial frame,


this is straightforward.
You can just take the time derivative dr dt.
But you have to be careful when doing the same thing in a moving,
respectively rotating coordinate system.
In addition to differentiation with respect
to time-- which represents the change of the vector in its local frame-you have to account for the contribution of the relative rotation
of the coordinate system itself which results
in the cross product of the angular velocity with respect
to the inertial frame and its position offset.
For illustration, let's do this in a simple example
of a single pendulum, where we want to get the end-effector velocity expressed
in body-fixed frame B. In the first approach,
we determine the end-effector position as a function of the angle phi,
expressed in the inertial frame.
We then take the time derivative and finally transform it
from inertial frame to body-fixed frame B, which yields the following result.
In the second approach, we determine the position vector in body-fixed
coordinates B. For differentiation in this moving frame,
we have to account for the rotational contribution,
omega cross a relative offset, which yields the same result as before.
This brings me to the end of this segment about kinematics in which you
learned the most important basics such as translations, rotations,
homogeneous transformations, angular velocities, and vector differentiation
in moving coordinate systems.

In the upcoming working example we will apply these tools


to a three link robot arm.
Thanks for your attention.
Go back to start of transcript.
Download video Download timed transcript
Download the slides of this lecture segment

Show Discussion New Post


Previous
Next
About Jobs Press FAQ Contact
edX LogoEdX is a non-profit created by founding partners Harvard and MIT whose mission is to
bring the best of higher education to students of all ages anywhere in the world, wherever there
is Internet access. EdX's free online MOOCs are interactive and subjects include computer
science, public health, and artificial intelligence.
edX on Meetup
edX on Facebook
edX on Twitter
edX on Google+
edX on YouTube
2014 edX, some rights reserved.

Terms of Service and Honor Code

Privacy Policy

You might also like