0% found this document useful (0 votes)
37 views12 pages

Lect05 4up

This document provides an overview of kinematics as it relates to robotics. It discusses two aspects of motion - locomotion and kinematics. Locomotion refers to what kinds of motion are possible, while kinematics provides a mathematical model to predict motion. The document outlines forward kinematics, which determines robot motion based on motor speeds, and reverse kinematics, which determines what motor speeds are needed to achieve a desired robot position. It also discusses issues like representing robot position across different frames of reference.

Uploaded by

alialataby
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views12 pages

Lect05 4up

This document provides an overview of kinematics as it relates to robotics. It discusses two aspects of motion - locomotion and kinematics. Locomotion refers to what kinds of motion are possible, while kinematics provides a mathematical model to predict motion. The document outlines forward kinematics, which determines robot motion based on motor speeds, and reverse kinematics, which determines what motor speeds are needed to achieve a desired robot position. It also discusses issues like representing robot position across different frames of reference.

Uploaded by

alialataby
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Today

Robotics and Autonomous Systems


Lecture 5: Kinematics

Richard Williams

Department of Computer Science


University of Liverpool

• We’re still on the bottom right hand side.

1 / 46 2 / 46

Kinematics Kinematics

• So far we have looked at different kinds of motion in a qualitative way.


• Two aspects to motion: • One way to program robots to move is trial and error.
• Locomotion
• Kinematics • A somewhat better way is to establish mathematically how the robot
should move, this is kinematics.
• Locomotion: What kinds of motion are possible?
• Rather kinematics is the business of figuring how a robot will move if
• Locomotion: What physical structures are there?
its motors work in a given way.
• Kinematics: Mathematical model of motion.
• Inverse-kinematics then tells us how to move the motors to get the
• Kinematics: Models make it possible to predict motion. robot to do what we want.
• We’ll look at a few tiny bits of the kinematics world.

3 / 46 4 / 46
A formal model No kinematic model needed

• We will assume, as people usually do, that the robot’s location, or


pose is fixed in terms of three coordinates:

pxI , yI , θq

• Given that the robot needs to navigate to a location pxG , yG , θG q, it can


determine how x, y and θ need to change.
• BUT it can’t control these directly.
5 / 46 6 / 46

Kinematic model Forward kinematics

• All a robot has access to are the speeds of its wheels:

ϕ91 , . . . ϕ9n • Together these determine the motion of the robot:


» fi
The steering angle of the steerable wheels: x9I
f pϕ91 , . . . ϕ9n , β1 , . . . βm , β1 , . . . βm q “
9 9 – y9I fl
β1 , . . . βm θ9

and the speed with which those steering angles are changing. • Forward kinematics

β91 , . . . β9m

7 / 46 8 / 46
Reverse kinematics Reverse kinematics

• We can get what we want from the forward kinematic model:

• The forward kinematic model: ϕ91


» fi
— .. ffi
— . ffi
» fi
x9I
f pϕ91 , . . . ϕ9n , β1 , . . . βm , β91 , . . . β9m q “ – y9I fl — ϕ9n ffi
— ffi

θ9 — β1 ffi
— ffi
— .. ffi
— ffi
— . ffi “ f ´1 px9I , y9I , θq
9
is not what we want.
— βm ffi
— ffi
• We want to know how to set ϕ9i etc to get a given: — ffi
— β91 ffi
— .. ffi
— ffi
x9I , y9I , θ9 – . fl
β9m

• Reverse kinematics

9 / 46 10 / 46

Three problems in kinematics Representing robot position

• The robot knows how it moves relative to its center of rotation.


• This is not the same as knowing how it moves relative to the world.

• Transformation between frames.


• Reversing the kinematic model.
Two systems of coordinates:
• Deriving robot motion from robot structure.
• Initial Frame: tXI , YI u

• Robot Frame: tXR , YR u

11 / 46 12 / 46
Frame transformation Frame transformation

• In other words
• Robot position:
» fi » fi
x9 R x9 I
ξI “ rxI , yI , θI s T
– y9 R fl “ R pθq – y9 I fl
θ9 R θ9 I
• Mapping between frames: » fi » fi
cospθq sinpθq 0 x9 I
ξ9R “ R pθqξ9I “ – ´ sinpθq cospθq 0 fl – y9 I fl
“ R pθq x9I , y9I , θ9I
“ ‰T 0 0 1 θ9 I

meaning that:
where
x9 R “ x9 I cospθq ` y9 I sinpθq ` θ9 I .0
» fi
cospθq sinpθq 0
R pθq “ – ´ sinpθq cospθq 0 fl y9 R “ ´x9 I sinpθq ` y9 I cospθq ` θ9 I .0
0 0 1 θ9 R “ x9 I .0 ` y9 I .0 ` θ9 I .1

13 / 46 14 / 46

Frame transformation Frame transformation

• In other words
» fi » fi
x9 R x9 I
– y9 R fl “ R pθq – y9 I fl • On other words, given how the robot moves in the world, we can
θ9 R θ9 I compute how the robot moves relative to its centre of rotation.
» fi » fi
cospθq sinpθq 0 x9 I • This is (part of) the forward kinematic model, but this isn’t what we
“ – ´ sinpθq cospθq 0 fl – y9 I fl want.
0 0 1 θ9 I • We want to be able to calculate how the robot moves in the world,
given how it moves relative to its centre of rotation.
meaning that:
• That is we want the reverse of this model.
x9 R “ x9 I cospθq ` y9 I sinpθq
y9 R “ ´x9 I sinpθq ` y9 I cospθq
θ9 R “ θ9 I

15 / 46 16 / 46
Reverse kinematics Reverse kinematics

• To do this we compute:
• We want the reverse kinematic model:
» fi » fi
»
x9 I
fi
x9 R
» fi x9 I x9 R
– y9 I fl “ R pθq´1 – y9 R fl – y9 I fl “ R pθq´1 – y9 R fl
θ9 I θ9 R θ9 I θ9 R
» fi » fi
cospθq ´ sinpθq 0 x9 R
where R pθq´1 is the inverse of R pθq. “ – sinpθq cospθq 0 fl – y9 R fl
• Often R pθq´1 is hard to compute, but luckily for us in this case it isn’t. 0 0 1 θ9 R
• We have: »
cospθq ´ sinpθq 0
fi meaning that:
´1
R pθq “ – sinpθq cospθq 0 fl
x9 I “ x9 R cospθq ´ y9 R sinpθq ` θ9 R .0
0 0 1
y9 I “ x9 R sinpθq ` y9 R cospθq ` θ9 R .0
which we can use to establish x9I , y9I , θ9I θ9 I “ x9 R .0 ` y9 R .0 ` θ9 R .1

17 / 46 18 / 46

Reverse kinematics Down to the structure of the robot

• To do this we compute:
» fi » fi
x9 I x9 R
– y9 I fl “ R pθq´1 – y9 R fl
θ9 I θ9 R
» fi » fi
cospθq ´ sinpθq 0 x9 R
“ – sinpθq cospθq 0 fl – y9 R fl
0 0 1 θ9 R

meaning that:

x9 I “ x9 R cospθq ´ y9 R sinpθq
• We can now identify the motion of the robot, in the global frame, if we
y9 I “ x9 R sinpθq ` y9 R cospθq know:
θ9 I “ θ9 R . x9 R , y9 R , θ9
but how do we tell what these are?
19 / 46 20 / 46
Down to the structure of the robot Down to the structure of the robot

• We compute them from what we can measure, like the speed of the
wheels: • Some assumptions — constraints on the motion of the robot:
• Movement on a horizontal plane
• Point contact of the wheels; wheels not deformable
• Pure rolling, so v “ 0 at contact point; no slipping, skidding or sliding
• No friction for rotation around contact point
• Steering axes orthogonal to the surface
• Wheels connected by rigid frame (chassis)
• These won’t always be true, why?

21 / 46 22 / 46

Differential drive Differential drive

• Consider differential drive.


• Wheels rotate at ϕ9 • Now, motion in the θ direction.
radians per second • Rotation due to right wheel is
• Each wheel contributes:
r ϕ9
r ϕ9 ωr “
2l
2
counterclockwise about the left
to motion of center of rotation. wheel.
• Motion in the x direction. • l is the distance between
• Total speed is the sum of two wheels.
contributions.

23 / 46 24 / 46
Differential drive Differential drive

• Combining these components


we have:
• Rotation due to the left wheel is:
r ϕ9r r ϕ9l
» fi » fi
x9 R `
´r ϕ9 2 2
ωl “ – y9 R fl “ — 0
ffi
– fl
2l r ϕ9r r ϕ9l
θ9 R 2l ´ 2l
counterclockwise about the right
wheel. • And we can combine these with
R pθq´1 to find motion in the
global frame.

25 / 46 26 / 46

Kinematic assumptions Kinematic assumptions

• Making sure the assumptions hold • Knowing what the assumptions are:
imposes constraints on robot imposes constraints on the applicability of the model.
• For example, ensuring a rigid chassis. • For example, ensuring wheels don’t slip.

27 / 46 28 / 46
Why you keep track of assumptions More complex scenarios

Steered standard wheel Caster

• More parameters.
• Only fixed and steerable standard wheels impose constraints.

29 / 46 30 / 46

Robot mobility Robot mobility

• The sliding constraint means that a standard wheel has no lateral


motion.
• A differential drive robot has just one line of zero motion.
• Zero motion line through the axis.

Instantaneous
center of rotation
• Thus its rotation is not constrained
• It can move in any circle it wants.
• Makes it very easy to move around.

• Has to move along a circle whose center is on the zero motion line.

31 / 46 32 / 46
Robot mobility Robot mobility

• Formally we have the notion of a degree of mobility


• In general, the maneuverability of a robot depends on the number of
independent kinematic constraints. δm “ 3 ´ number of independent kinematic constraints
• Q: How can we formalise this idea?
• This number is also the number of independent fixed or steerable
• A: Degrees of mobility and maneuverability. standard wheels.
• The independence is important.

33 / 46 34 / 46

Robot mobility Robot mobility

• Differential drive has two standard wheels, but they are on the same
axis. • A bicycle has two independent wheels, so two constraints.
• So not both independent.
• δm “ 1
• Number of constraints is 1.
• Can only alter x9 using wheel velocity.
• So δm “ 2 for a differential drive robot
• Can alter x9 and θ9 just through wheel velocity.

35 / 46 36 / 46
Steerability and maneuverability Robot maneuverability

• Steering has an impact on how the robot moves.


• The degree of steerability δs is then the number of independent
steerable wheels.
• Differential drive has no steering wheels
• Note that a steerable standard wheel will both reduce the degree of • δs “ 0
mobility and increase the degree of steerability.
• δm “ 2, as before.
• The degree of maneuverability is:
• Thus, δM “ 2.
δM “ δm ` δs

• δM tells us how many degrees of freedom a robot can manipulate.


• Two robots with the same δM aren’t necessarily equivalent (see on).

37 / 46 38 / 46

Robot maneuverability Common configurations

• A bicycle has one steering wheel


• δs “ 1
• δm “ 1, as before
• Thus, δM “ 2.

39 / 46 40 / 46
Robot maneuverability Holonomy

• A bicycle, has a δM “ 2 yet can position itself anywhere in the plane.


• δM “ 2 is an indication of how easy it is for a robot to move around. • But a bicycle only has one DOF that it can control directly (x).
• Compare with the number of DOF in the environment. • Differential DOF
• DDOF is always equal to δm
• 3 for the environments we care about.
• A general inequality:
• Differential drive and bicycle both have δM “ 2, but you drive them
very differently. DDOF ď δM ď DOF

• A robot with DDOF “ DOF is called holonomic

41 / 46 42 / 46

Holonomy

• We could compute forward and reverse kinematics for robot arms,


and use these to decide how to rotate motors to move the hand.

43 / 46 44 / 46
Summary

• This lecture looked a bit at kinematics


• The business of relating what robots do in the world to what their
motors need to be told to do.
• We did a little maths, but most of the discussion was qualitative.
• The Autonomous Robotics book goes more into the mathematical
detail of establishing kinematic constraints.
• Next time we’ll look at what support LeJOS gives for handling motion.

• Of course, this is how we get robot legs to do what we want also.

45 / 46 46 / 46

You might also like