You are on page 1of 107

Movement of

robots and
introduction to
kinematics of robots

Kinematics: constraints on
getting around the environment
kinematics
The effect of a robots
geometry on its motion.
wheeled
platform
s

from sort of simple


to sort of difficult

manipulator
modeling

Effectors and Actuators


An effector is any device that affects the environment.
A robot's effector is under the control of the robot.
Effectors:
legs,
wheels,
arms,
fingers.

The role of the controller is to get the effectors to produce


the desired effect on the environment,
this is based on the robot's task.

Effectors and Actuators


An actuator is the actual mechanism that enables the
effector to execute an action.
Actuators typically include:
include

electric motors,
hydraulic cylinders,
pneumatic cylinders,
etc.

The terms effector and actuator are often used


interchangeably to mean "whatever makes the robot take an
action."
This is not really proper use:
Actuators and effectors are not the same thing.
And we'll try to be more precise.

Review: degrees of freedom


Most simple actuators control a single degree of freedom,
i.e., a single motion (e.g., up-down, left-right, in-out, etc.).

A motor shaft controls one rotational degree of freedom, for example.


A sliding part on a plotter controls one translational degree of freedom.

How many degrees of freedom (DOF) a robot has is very important in


determining how it can affect its world,
and therefore how well, if at all, it can accomplish its task.

We said many times before that sensors must be matched to the robot's
task.
Similarly, effectors must be well matched to the robot's task also.

When you design a robot your first task is decide the


number of DOF and the geometry.

DOF
In general, a free body in space as 6 DOF:
three for translation (x,y,z),
three for orientation/rotation (roll, pitch, and yaw).

You need to know, for a given effector (and actuator/s):


how many DOF are available to the robot,
how many total DOF any given robot has.

If there is an actuator for every DOF, then all of the DOF


are controllable.
Usually not all DOF are controllable, which makes robot
control harder.
To demonstrate, use a pen
in your hand..

DOF and controllable DOFs


A car has 3 DOF:
position (x,y) and
orientation (theta).

But only 2 DOF are controllable:


driving: through the gas pedal and the forward-reverse gear;
steering: through the steering wheel.

Since there are more DOF than are controllable, there


are motions that cannot be done.
Example of such motions is moving sideways (that's
why parallel parking is hard).

One Minute Test


How many
degrees of
freedom does
your hand have,
with your
forearm fixed in
position?
(Hint: Its not 6)

Answer
on next
slide

Degrees of Freedom in Hand


Part
Wrist
Palm
Fingers
Thumb
Total

DoF Comment
2 1. Side-to-side
2. Up-down
1 1. Open-close a little
4*4 1.
2.
4 1.
2.
23

2 @ base (Up-down & side-to-side)


1 @ each of two joints
2 @ base (attached to wrist)
2 @ visible joints

Total and Controllable DOFs


Kinematics:

wheeled platforms vs. robot arms (or legs)

VL
VR

We need to make a distinction between what an actuator does


(e.g., pushing the gas pedal) and what the robot does as a result
(moving forward).
A car can get to any 2D position but it may have to follow a very
complicated trajectory.
Parallel parking requires a discontinuous trajectory with respect
to the velocity.
It means that the car has to stop and go.

Definition of a
HOLONOMIC robot
When the number of controllable DOF is equal
to the total number of DOF on a robot, the robot
is called holonomic. (i.e. the hand built by
Uland Wong).

Holonomic

<= >

Controllable DOF = total DOF

DOF versus types of robots


Non-Holonomic

<= >

Controllable DOF < total DOF

If the number of controllable DOF is smaller


than total DOF, the robot is non-holonomic.
If the number of controllable DOF is larger
than the total DOF, the robot is redundant.
(like a human hand, we did not build such
robot yet)
Redundant

<= >

Controllable DOF > total DOF

DOF for animals


A human arm has 7 DOF:
3 in the shoulder,
1 in the elbow,
3 in the wrist

All of which can be controlled.


A free object in 3D space (e.g., the hand, the finger tip) can
have at most 6 DOF!
So there are redundant ways of putting the hand at a
particular position in 3D space.
This is the core of why robot manipulation is very hard!
One minute test!

JAPAN HONDA AND


SONY ROBOTS

Pino, a 70-centimeter (2-foot)-tall and 4.5-kilogram (9-pound)


humanoid robot designed by Japan Science and Technology Corporation in
Tokyo which can walk on its legs and respond to stimulation through a sensor,
shakes hand with Malaysia's Prime Minister Mahathir Mohamad during the
opening of the Expo Science & Technology 2001 in Kuala Lumpur, Malaysia,
Monday, July 2, 2001. (AP Photo/Andy Wong)

Question: how many DOF?

98 degrees (of freedom)


This is in any case simplified

Manipulation
In locomotion (mobile robot), the body of the robot
is moved to get to a particular position and
orientation.
In contrast - a manipulator moves itself
typically to get the end effector (e.g., the hand, the
finger, the fingertip)
to the desired 3D position and orientation.

So imagine having to touch a specific point in 3D


space with the tip of your index finger;
that's what a typical manipulator has to do.

Issues in Manipulation
In addition: manipulators need to:
grasp objects,
move objects.
But those tasks are extensions of the basic reaching discussed
above.

The challenge is to get there efficiently and safely.


Because the end effector is attached to the whole arm, we
have to worry about the whole arm:
the arm must move so that it does not try to violate its own joint
limits,
it must not hit itself or the rest of the robot, or any other obstacles
in the environment.

Manipulation - Teleoperation
Thus, doing autonomous manipulation is very
challenging.
Manipulation was first used in tele-operation,
where human operators would move artificial arms
to handle hazardous materials.
Complicated duplicates of human arms, with 7 DOF
were built.
It turned out that it was quite difficult for human
operators to learn how to tele-operate such arms

Manipulation and Teleoperation: Human


Interface
One alternative today is to put the human arm
into an exo-skeleton, in order to make the
control more direct.
Using joy-sticks, for example, is much harder
for high DOF.
Exo-skeletons used in Hollywood Robotics

Why is using joysticks so hard?


Because even as we saw with locomotion, there is typically
no direct and obvious link between:
what the effector needs to do in physical space
and what the actuator does to move it.

In general, the correspondence between actuator motion


and the resulting effector motion is called kinematics.
In order to control a manipulator, we have to know its
kinematics:
1. what is attached to what,
2. how many joints there are,
3. how many DOF for each joint,
etc.

Basic Problems for Manipulation


Kinematics
Given all the joint angles - where is the tip ?

Inverse Kinematics
Given a tip position - what are the possible joint angles ?

Dynamics
To accelerate the tip by a given amount how
much torque should a particular joint motor put
out ?

Kinematics versus Inverse Kinematics


We can formalize all of this mathematically.
To get an equation which will tell us how to convert
from, say, angles in each of the joints, to the
Cartesian positions of the end effector/point is
called:
computing the manipulator kinematics

The process of converting the Cartesian (x,y,z)


position into a set of joint angles for the arm (thetas)
is called:
inverse kinematics.

Something for lovers of math and


programming! Publishable! LISP

Links and Joints


Links

Joints:
End Effector
2 DOFs
Robot Basis

Joints.

Joints connect parts of manipulators.

The most common joint types are:

Prismatic Link

revolute link (rotation around a fixed axis)

prismatic link (linear movement)

These joints provide the DOF for an effector.

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
a31 a32 a33 b3
c1 c2 c3

sf

It is presented in more
detail on the WWW!

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
Dont 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?

IK: Choose these angles!

Why is using inverse kinematics so hard?


Inverse kinematics is computationally intense.
functions are nonlinear and complex , especially for higher dimensions than 2

Difficult to visualize

Large number of inverse kinematics solutions due to redundancy

Large computational burden

And the problem is even harder if the manipulator (the arm)


is redundant.
Manipulation involves:
trajectory planning (over time)
inverse kinematics
inverse dynamics
dealing with redundancy

Direct versus Inverse


Kinematics
Direct Kinematics
x = L1*cos(t1) + L2*cos(t1+t2)
y = L1* sin(t1) + L2*sin(t1+t2)
Given the joint angles t1 and t2 we can compute the position of the tip
(x,y)

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
Elbow down - Elbow up

A Dynamic Simulator
= kinematics + force modeling

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

55mm dia. base


radio unit

Khepera

linear vision
gripper

Cricket
Accessorize!

video

Kinematics of
Differential
drive

Kinematics of Differential drive


Differential Drive is the most
common kinematic choice
All of the miniature robots
Pioneer, Rug warrior

- difference in wheels speeds


determines its turning angle

Questions (forward kinematics)


Given the wheels velocities or positions,
what is the robots velocity/position ?

VL
VR

Are there any inherent system constraints?


1) Specify system measurements
2) Determine the point (the radius)
around
which the robot is
turning.
3) Determine the speed at which the
robot is
turning to obtain the
robot velocity.

Kinematics of Differential drive


1) Specify system measurements
- consider possible coordinate
systems

VL
2d

VR

(assume a wheel radius of 1)

Kinematics of Differential drive


1) Specify system measurements
- consider possible coordinate
systems
2) Determine the point (the radius)
around which the robot is turning.

VL
2d

VR

(assume a wheel radius of 1)

Kinematics of Differential drive


y

VL
2d

1) Specify system measurements


- 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
- each wheel must be traveling at
the same angular velocity

VR
ICC instantaneous center of
curvature

(assume a wheel radius of 1)

= angular velocity

Kinematics of Differential drive


y

VL
2d

VR

1) Specify system measurements


- 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
- each wheel must be traveling at
the same angular velocity around
the ICC

ICC instantaneous center of


curvature

(assume a wheel radius of 1)

Kinematics of Differential drive


y

VL

x
2d

1) Specify system measurements


- 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
3) Determine the robots speed
around the ICC and its linear velocity

VR
ICC

robots turning radius

(assume a wheel radius of 1)

R+d) = VL
R-d) = VR

Kinematics of Differential drive


y

VL

x
2d

VR

ICC

1) Specify system measurements


- 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
3) Determine the robots speed
around the ICC and then linear
velocity

instantaneous center of curvature

ICC

R+d) = VL

R-d) = VR

robots turning radius

Thus,

= ( VR - VL ) / 2d
R = 2d ( VR + VL ) / ( VR - VL )

(assume a wheel radius of 1)

Kinematics of Differential drive


y

VL

x
2d

VR

1) Specify system measurements


- 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
3) Determine the robots speed
around the ICC and then linear
velocity

ICC

R+d) = VL

R-d) = VR

robots turning radius

Thus,

= ( VR - VL ) / 2d
R = 2d ( VR + VL ) / ( VR - VL )

So, the robots velocity is

V = R = ( VR + VL ) / 2

Kinematics of Differential drive


4) Integrate to obtain position

Vx = V(t) cos((t))

(t)

V(t)

Vy = V(t) sin((t))

(t)

VL

x
2d

VR

ICC

Vx

instantaneous center of curvature

ICC

R(t)

robots turning radius

with
= ( VR - VL ) / 2d
R = 2d ( VR + VL ) / ( VR - VL )

What has to happen to change the


ICC ?

V = R = ( VR + VL ) / 2

Kinematics of Differential drive


4) Integrate to obtain position

Vx = V(t) cos((t))

(t)

Vy = V(t) sin((t))
Thus,

VL

x(t) =

x
2d

y(t) =
(t) =

VR

V(t) cos((t)) dt
V(t) sin((t)) dt
(t) dt

ICC

R(t)

robots turning radius

with
= ( VR - VL ) / 2d
R = 2d ( VR + VL ) / ( VR - VL )
V = R = ( VR + VL ) / 2

Kinematics of Differential drive


Velocity Components

Vx = V(t) cos((t))

speed

Vy = V(t) sin((t))

(t)
Thus,
VL

x(t) = V(t) cos((t)) dt

x
2d

y(t) = V(t) sin((t)) dt


(t) =

VR

(t) dt

ICC

Kinematics

R(t)

robots turning radius

with
= ( VR - VL ) / 2d
R = 2d ( VR + VL ) / ( VR - VL )

What has to happen to change the


ICC ?

V = R = ( VR + VL ) / 2

Kinematics of
Synchro
drive

Kinematics of Synchro drive


Nomad 200

wheels rotate in tandem and remain parallel

all of the wheels are driven at the same speed

Where is the ICC ?

Kinematics of Synchro drive


Nomad 200
ICC at

wheels rotate in tandem and remain parallel


all of the wheels are driven at the same speed

Vrobot = Vwheels
robot = wheels

velocity

x
Vwheels

(t) = (t) dt

x(t) = Vwheels(t) cos((t)) dt

position

y(t) = Vwheels(t) sin((t)) dt

simpler to control, but ...

Kinematics of Synchro drive


Nomad 200

wheels rotate in tandem and remain parallel


all of the wheels are driven at the same speed

Question (forward kinematics)


Given the wheels velocities or positions,
what is the robots velocity/position ?
Are there any inherent system constraints?
1) Choose a robot coordinate system
2) Determine the point (the radius)
around
which the robot is
turning.
3) Determine the speed at which the
robot is
turning to obtain the
robot velocity.
4) Integrate to find position.

Lego Synchro

this light sensor follows the direction of


the wheels, but the RCX is stationary
also, four bump sensors and two motor
encoders are included

But how do we get

more difficult to build.

Inverse Kinematics
Key question:
y

Given a desired position or


velocity, what can we do to
achieve it?

VL (t)
VR(t)
starting position

final position

Inverse Kinematics
Key question:
y

Given a desired position or


velocity, what can we do to
achieve it?

VL (t)
VR(t)
starting position

final position

Inverse Kinematics
Key question:
y

Given a desired position or


velocity, what can we do to
achieve it?

VL (t)
VR(t)
starting position

final position

Inverse Kinematics
Key question:
y

Given a desired position or


velocity, what can we do to
achieve it?

Need to solve these equations:


x = V(t) cos((t)) dt
y = V(t) sin((t)) dt

VL (t)

= (t) dt
= ( VR - VL ) / 2d
V = R = ( VR + VL ) / 2

VR(t)
starting position

final position

for VL (t) and VR(t) .

There are lots of solutions...

Inverse Kinematics
Key question:

Given a desired position or


velocity, what can we do to
achieve it?

Finding some solution is not


hard, but finding the best
solution is very difficult...
x

VL (t)
VR(t)
starting position

final position

quickest time
most energy
efficient
smoothest velocity
profiles
VL (t)
VL (t)

It all depends on who gets to define best...

Inverse Kinematics
Usual approach: decompose the problem and control
only a few DOF at a time
Differential Drive

VL (t)
VR(t)
starting position

final position

Inverse Kinematics
Usual approach: decompose the problem and control
only a few DOF at a time
Differential Drive
(1) turn so that the wheels are
parallel to the line between the
original and final position of the
robot-Vorigin.
(t) = V (t) = V

VL (t)
VR(t)
starting position

final position

max

Inverse Kinematics
Usual approach: decompose the problem and control
only a few DOF at a time
Differential Drive
(1) turn so that the wheels are
parallel to the line between the
original and final position of the
robot-Vorigin.
(t) = V (t) = V

VL (t) = VR (t) = Vmax

VR(t)
starting position

max

(2) drive straight until the robots


origin coincides with the
destination

VL (t)

final position

Inverse Kinematics
Usual approach: decompose the problem and control
only a few DOF at a time
Differential Drive
(1) turn so that the wheels are
parallel to the line between the
original and final position of the
robot-Vorigin.
(t) = V (t) = V

VL (t) = VR (t) = Vmax

VR(t)
starting position

max

(2) drive straight until the robots


origin coincides with the
destination

VL (t)

final position

(3) rotate again in order to


achieve the desired final
orientation

-VL (t) = VR (t) = Vmax

VL (t)
VR (t)

Inverse Kinematics of Synchro Drive


Usual approach: decompose the problem and control
only a few DOF at a time
Synchro Drive

(1) turn so that the wheels are


parallel to the line between the
original and final position of the
robot origin.
(t) =

V(t)

max

(2) drive straight until the robots


origin coincides with the
destination

V(t) = Vmax

(t)
final position
starting position

(3) rotate again in order to


achieve the desired final
orientation

(t) = max

sometimes its not so easy to isolate one or two DOF...

Other wheeled robots


tricycle drive
Ackerman drive
Doubly-steered bicycle

one more -- that roaming desk


one more -- that roaming tatami mat
(holonomic) & the XR4000

Kinematics of Tricycle drive


back wheels tag along...

Mecos tricycle-drive

front wheel is powered and steerable

Four-wheel
Steering
The kinematic challenges of parallel parking:
wheels have limited turning angles

VFL

no in-place rotation
VFR

VBL
VBR

small space for parking and maneuvers

Ackerman Steering
L

Similar to a tricycle-drive robot

VFL

VFR

g
VBL

d
VBR

x
r

IC
C

g
+d
tan(R)

g
sin(R)

VFR

determines

Ackerman Steering
L

Similar to a tricycle-drive robot

VFL

VFR

g
VBL

g
+d
tan(R)

g
sin(R)

VFR

determines

The other wheel velocities are now


fixed!

g
sin(L)

d
VBR

VFL

L = tan-1(g / (r + d))

x
r

(r - d) =

VBR

(r + d) =

VBL

IC
C

But this is just the cab...

The Big Rigs


Applications

5 link trailer
2 controlled angles

Parking two trailers

nonholonomicity
All of the robots mentioned share an important
(if frustrating) property: they are

nonholonomic .
- makes it difficult to navigate between two arbitrary points
- need to resort to techniques like parallel parking

nonholonomicity

All of the robots mentioned share an important


(if frustrating) property: they are nonholonomic.
- makes it difficult to navigate between two arbitrary points
- need to resort to techniques like parallel parking

By definition, a robot is nonholonomic if it can not move to


change its pose instantaneously in all available directions.
i.e., the robots differential motion is constrained.
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.

Omniwheels

Mecanum wheels

tradeoffs in locomotion/wheel design

if it can be done at all ...

Holonomic Robots

Nomad XR4000
Killoughs Platform
synchro drive with offsets
from the axis of rotation

Holonomic hype
Holonomic
Hype

The PeopleBot is a highly holonomic


platform, able to navigate in the
tightest of spaces

Holonomic Hype

Discover 97 -- Top 10 Innovation

Sage -- a museum tour guide

Robot Manipulators
Is this robot holonomic ?

A robot holonomic if it
can move instantaneously in any direction.

Robot Manipulators
Is this robot holonomic ?
No - it cant move at all
Yes - its end effector (a point) can translate
instantaneously in the x or y directions
Maybe - actually, in some cases the
end effector is constrained...

Robot
Manipulators
Robot
Manipulators
Is this robot holonomic ?
No - it cant move at all
Yes - its end effector (a point) can translate
instantaneously in the x or y directions
Maybe - actually, in some cases the
end effector is constrained...

Holonomic or not, the kinematics are vital to using a robot limb...

Joint
Angles

Kinematics

Useful
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.

RR or 2R

PR arm

All manipulators can be represented as


chains of P (prismatic) and R (rotational)
joints.

Prismatic Joints
Ninja

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
go
al

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

how would these


things bike?

Configuration Space
To get from place A to place B, we need a
standardized notion of place :
Configuration Space is a space representing robot pose.
The dimensionality of C.S. is equal to the robots degrees of freedom.

Examples:
The Nomad robot (discounting orientation) has a planar
configuration space representing the (x,y) coordinates of the robots
center.
The Nomad robot including orientation
The 2R manipulator depicted earlier ...

topological
properties

To be discussed:
Impinging on robots space:

the next (but not final) frontier

Getting from point A to point B


robot navigation via path planning
full-knowledge techniques
insect-inspired algorithms

Perspective
If your robot doesnt do what you want ...

you can always change what youre looking for.

Dynamics
of a one link arm

This differential equation can be solved to figure out


what acceleration results from a particular given torque.

Control Techniques
P, PD, PID

We will illustrate

simple, easy to implement

Impedance control
force and position

Advanced control techniques


robust,
sliding mode,
nonlinear etc.,
neural network based,
fuzzy logic based
etc.

PD Control of a One-Link Arm

PD Control of a One-Link
Arm

solution

Research Issues in Manipulators


Manipulators are well studied
Lots of hard problems (weve 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 ...

Examining robots space:

the next (but not final) frontier

Getting from point A to point B


robot navigation via path planning
full-knowledge techniques and insect-inspired algorithms

Sources

Prof. Maja Mataric


Dr. Fred Martin
Bryce Tucker and former PSU students
A. Ferworn,
Prof. Gaurav Sukhatme, USC Robotics Research Laboratory
Paul Hannah

Reuven Granot, Technion


Dodds, Harvey Mudd College