021 Kinematics Inverse Kinematics Manipulation
021 Kinematics Inverse Kinematics Manipulation
021 Kinematics Inverse Kinematics Manipulation
robots and
introduction to
kinematics of robots
• Kinematics: constraints on
getting around the environment
kinematics
wheeled
platforms
Answer
on next
slide
Degrees of Freedom in Hand
Part DoF Comment
Wrist 2 1. Side-to-side
2. Up-down
Palm 1 1. Open-close a little
Fingers 4*4 1. 2 @ base (Up-down & side-to-side)
2. 1 @ each of two joints
Thumb 4 1. 2 @ base (attached to wrist)
2. 2 @ visible joints
Total 23
Total and Controllable DOFs
y
• Kinematics: wheeled platforms vs. robot arms (or legs)
x
VL
VR
Links
Joints:
End Effector
2 DOF’s
Robot Basis
Joints.
• Joints connect parts of manipulators.
• The most common joint types are:
– revolute link (rotation around a fixed axis)
– prismatic link (linear movement)
Prismatic Link
Joints.
Revolute Link
Homogeneous Coordinates
• Homogeneous coordinates: embed 3D
vectors into 4D by adding a “1”
• More generally, the transformation matrix T
has the form:
Rot. Matrix Trans. Vector
T
Perspect. Trans. Scaling Factor
a11 a12 a13 b1
a21 a22 a23 b2
It is presented in more
a31 a32 a33 b3 detail on the WWW!
c1 c2 c3 sf
Terms for manipulation
• Links and joints
• End effector, tool
• Accuracy vs. Repeatability
• Workspace
• Reachability
• Manipulability
• Redundancy
• Configuration Space
Direct Kinematics
Where is my hand?
Direct Kinematics:
HERE!
Direct Kinematics
• Position of tip in (x,y) coordinates
Direct Kinematics Algorithm
1) Draw sketch
2) Number links. Base=0, Last link = n
3) Identify and number robot joints
4) Draw axis Zi for joint i
5) Determine joint length ai-1 between Zi-1 and Zi
6) Draw axis Xi-1
7) Determine joint twist i-1 measured around Xi-1
8) Determine the joint offset di
9) Determine joint angle i around Zi
10+11) Write link transformation and concatenate
Kinematic Problems for
Manipulation
• Reliably position the tip - go from one position to
another position
• Don’t hit anything, avoid obstacles
• Make smooth motions
– at reasonable speeds and
– at reasonable accelerations
• Adjust to changing conditions -
– i.e. when something is picked up respond to the change
in weight
Inverse
Kinematics
How do I put my
hand here?
• Inverse Kinematics
Given x and y we can compute t1 and t2
t2 = acos[(x^2 + y^2 - L1^2 - L2^2)/(2*L1*L2)]
This gives us two values for t2, now one can compute the two
corresponding values of t1.
See next slide
Inverse Kinematics
One of many problems:
There may be multiple solutions
Building blocks of
• masses
• springs
• “muscles”
www.sodaconstructor.com
Wheeled Robots
~ 1.5 cm to a side
temperature sensor & two motors
travels 1 inch in 3 seconds
untethered !!
Other mini machines
Pocketbot
radio unit
linear vision
Khepera
gripper
“Cricket”
video
Accessorize!
Kinematics of
Differential
drive
Kinematics of Differential drive
Differential Drive is the most
common kinematic choice - difference in wheels’ speeds
All of the miniature robots… determines its turning angle
Pioneer, Rug warrior
VL
x
2d
VR
VL
x
2d
VR
= angular velocity
(assume a wheel radius of 1)
Kinematics of Differential drive
1) Specify system measurements
y - consider possible coordinate systems
2) Determine the point (the radius) around
which the robot is turning.
- to minimize wheel slippage, this point
(the ICC) must lie at the intersection of the
wheels’ axles
VL
x - each wheel must be traveling at the same
angular velocity around the ICC
2d
VR
ICC “instantaneous center of curvature”
ICC
R+d) = VL
R
robot’s turning radius R-d) = VR
Thus,
= ( VR - VL ) / 2d
R = 2d ( VR + VL ) / ( VR - VL )
(assume a wheel radius of 1)
Kinematics of Differential drive
1) Specify system measurements
y - consider possible coordinate systems
2) Determine the point (the radius) around
which the robot is turning.
- each wheel must be traveling at the same
angular velocity around the ICC
VL 3) Determine the robot’s speed around the
x
ICC and then linear velocity
2d
VR
ICC
R+d) = VL
R
robot’s turning radius R-d) = VR
Thus,
= ( VR - VL ) / 2d
R = 2d ( VR + VL ) / ( VR - VL )
So, the robot’s velocity is V = R = ( VR + VL ) / 2
Kinematics of Differential drive
4) Integrate to obtain position
y
Vx = V(t) cos((t))
(t) Vy = V(t) sin((t)) V(t)
(t)
VL Vx
x
2d
VR ICC “instantaneous center of curvature”
ICC
R(t)
robot’s turning radius
with
= ( VR - VL ) / 2d
R = 2d ( VR + VL ) / ( VR - VL )
VL
x(t) = ∫ V(t) cos((t)) dt
x y(t) = ∫ V(t) sin((t)) dt
2d (t) = ∫ (t) dt
VR
ICC
R(t)
robot’s turning radius
with
= ( VR - VL ) / 2d
R = 2d ( VR + VL ) / ( VR - VL )
V = R = ( VR + VL ) / 2
Kinematics of Differential drive
Velocity Components
y speed
Vx = V(t) cos((t))
VL (t) x
VR(t)
VL (t) x
VR(t)
VL (t) x
VR(t)
VL (t)
VL (t) t
VL (t) x
VR(t)
VL (t) x
VR(t)
Ackerman drive
Doubly-steered bicycle
VBL
VBR
Ackerman Steering
L • Similar to a tricycle-drive robot
R
g
VFL y r = +d
tan(R)
g
VFR sin(R) = VFR
determines
g
VBL d
d
VBR
r ICC
Ackerman Steering
L • Similar to a tricycle-drive robot
R
g
VFL y r = +d
tan(R)
g
VFR sin(R) = VFR
determines
g
The other wheel velocities are now fixed!
VBL d g
d sin(L) = VFL
VBR
L = tan-1(g / (r + d))
x (r - d) = VBR
(r + d) = VBL
r ICC
5 link trailer
2 controlled angles
Synchro Drive
two DOF are freely
controllable; the third is
inaccessible
Holonomic Robots
Navigation is simplified considerably if a robot can move
instantaneously in any direction, i.e., is holonomic.
Nomad XR4000
Killough’s Platform
synchro drive with offsets
from the axis of rotation
Holonomic Hype
Holonomic hype
A robot holonomic if it
can move instantaneously in any direction.
Robot Manipulators
Is this robot holonomic ?
No - it can’t move at all
Joint Useful
Kinematics
Angles Tasks
Robot Manipulators
Forward kinematics -- finding Cartesian coordinates from joint angles
• start by finding the position relationships, then velocity
Inverse Kinematics
Inverse kinematics -- finding joint angles from Cartesian coordinates
Types of Manipulators
Basic distinction: what kinds of joints extend from base to end.
Ambler tomato
harvester
Challenges
1. Modeling many degrees of freedom
2. No closed-form solution guaranteed for the inverse
kinematics.
3. Trajectory generation under nonholonomic constraints
4. Navigating with obstacles
obstacle
goal
Challenges
Multiple solutions (or no solutions) for a task.
Challenges
Multiple solutions (or no solutions) for a task.
Opportunities
• Direct kinematic/ inverse kinematic
modeling - is the basis for
control of the vast majority of industrial
robots.
• Accurate (inverse) kinematic models are
required in order to create believable
character animations
Examples:
• The Nomad robot (discounting orientation) has a planar
configuration space representing the (x,y) coordinates of the robot’s
center.
• The Nomad robot including orientation …
topological
• The 2R manipulator depicted earlier ... properties
To be discussed:
Impinging on robots’ space: the next (but not final) frontier
insect-inspired algorithms
Perspective
If your robot doesn’t do what you want ...
solution
Research Issues in Manipulators
• Manipulators are well studied
• Lots of hard problems (we’ve barely
scratched the surface)
• Modern techniques involve trying to use:
– some of the kinematics
– some of the dynamics of manipulators
– sophisticated control theory
– some learning
Navigation and Motion
Planning 1 very little
freedom
c1
c2
c1 c2
• There is a similarity of planning movement of a hand and of a mobile robot
Vertical Strip Cell Decomposition
Manipulation - Challenge for
roboticists!
• This is a challenging area of robotics.
– We will cover it briefly in several lectures next quarter
• Manipulators are effectors.
• Joints connect parts of manipulators.
• The most common joint types are:
– rotary (rotation around a fixed axis)
– prismatic (linear movement)
• These joints provide the DOF for an effector, so they are
planned carefully - kicking a ball in hexapod soccer?
More Challenges for roboticists!
• Robot manipulators can have one or more of each of
those joints.
• Now recall that any free body has 6 DOF;
– that means in order to get the robot's end effector to an
arbitrary position and orientation,
– the robot requires a minimum of 6 joints.
• As it turns out, the human arm (not counting the
hand!) has 7 DOF.
– That is sufficient for reaching any point with the hand,
– It is also redundant, meaning that there are multiple ways
in which any point can be reached.
More Challenges for roboticists!
• This is good news and bad news;
– the fact that there are multiple solutions means that there is a
larger space to search through to find the best solution.
• Now consider end effectors.
• They can be:
– simple pointers (i.e., a stick),
– simple 2D grippers,
– screwdrivers for attaching tools (like welding guns, sprayer, etc.),
– or can be as complex as the human hand,
hand with variable numbers
of fingers and joints in the fingers.
Reaching and Grasping
• Food for thought: how many DOF are there in the
human hand?
• Problems like reaching and grasping in manipulation
constitute entire subareas of robotics and AI.
• Issues include:
– finding grasp-points (centers of gravity - COG, friction, etc.);
– force/strength of grasp;
– compliance (e.g., in sliding, maintaining contact with a surface);
– dynamic tasks (e.g., juggling, catching).
Advanced Manipulation
• Other types of manipulation researched:
– carefully controlling force, as in grasping fragile objects
and maintaining contact with a surface (so-called
compliant motion).
• Dynamic manipulation tasks:
– juggling,
– throwing,
– catching, etc.,
are already being demonstrated on robot arms.
Problems to solve.
• 1. Draw kinematics models of various animals and calculate
the total DOFs.
• 2. Give examples (drawings) of holonomic, non-holonomic
and redundant mobile robots that you can build using
standard components that you can find in the lab.
• 3. Compare the kinematics of differential drive, the synchro
drive and the four wheel steering.
• 4. Give examples (drawings) of holonomic, non-holonomic
and redundant robot arms that you can build using standard
components that you can find in the lab.
Next Time(s)
Inverse kinematics: what we would really like to know ...