021.kinematics inverse kinematics manipulation

107
Movement of Movement of robots and robots and introduction to introduction to kinematics of kinematics of robots robots

Upload: ganesh-mandpe

Post on 06-Dec-2015

50 views

Category:

Documents


6 download

DESCRIPTION

ppt on kinematics of robot

TRANSCRIPT

Page 1: 021.Kinematics Inverse Kinematics Manipulation

Movement of Movement of

robots and robots and introduction to introduction to

kinematics of robotskinematics of robots

Page 2: 021.Kinematics Inverse Kinematics Manipulation

• Kinematics: Kinematics: constraints on constraints on getting around the environmentgetting around the environment

The effect of a robot’s geometry on its motion.

kinematics

from sort of simple to sort of difficult

manipulator modeling

wheeled platforms

Page 3: 021.Kinematics Inverse Kinematics Manipulation

Effectors and ActuatorsEffectors 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.

Page 4: 021.Kinematics Inverse Kinematics Manipulation

Effectors and ActuatorsEffectors and Actuators• An actuator is the actual mechanism that enables the

effector to execute an action. • Actuators typically includeinclude:

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

Page 5: 021.Kinematics Inverse Kinematics Manipulation

Review: degrees of freedomReview: 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.

Page 6: 021.Kinematics Inverse Kinematics Manipulation

DOFDOF

• 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…..

Page 7: 021.Kinematics Inverse Kinematics Manipulation

DOF and controllable DOFsDOF 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).

Page 8: 021.Kinematics Inverse Kinematics Manipulation

• How many degrees of freedom does your hand have, with your forearm fixed in position?

• (Hint: It’s not 6)

One Minute TestOne Minute Test

Answer on next slide

Page 9: 021.Kinematics Inverse Kinematics Manipulation

Degrees of Freedom in HandDegrees of Freedom in Hand

Total

Thumb

Fingers

Palm

Wrist

Part

23

1. 2 @ base (attached to wrist)2. 2 @ visible joints

4

1. 2 @ base (Up-down & side-to-side)2. 1 @ each of two joints

4*4

1. Open-close a little1

1. Side-to-side2. Up-down

2

CommentDoF

Page 10: 021.Kinematics Inverse Kinematics Manipulation

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

Total and Controllable DOFsTotal and Controllable DOFs

• Kinematics: wheeled platforms vs. robot arms (or legs)

VR

VL

y

x

Page 11: 021.Kinematics Inverse Kinematics Manipulation

• 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).

Definition of a Definition of a HOLONOMIC robotHOLONOMIC robot

Holonomic <= > Controllable DOF = total DOF

Page 12: 021.Kinematics Inverse Kinematics Manipulation

• 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.redundant. (like a human hand, we did not build such robot yet)

DOF versus types of robotsDOF versus types of robotsNon-Holonomic <= > Controllable DOF < total DOF

Redundant <= > Controllable DOF > total DOF

Page 13: 021.Kinematics Inverse Kinematics Manipulation

DOF for animalsDOF 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!

Page 14: 021.Kinematics Inverse Kinematics Manipulation

JAPAN HONDA AND JAPAN HONDA AND

SONY ROBOTSSONY 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?

Page 15: 021.Kinematics Inverse Kinematics Manipulation

98 degrees (of freedom)98 degrees (of freedom)• This is in any case simplified

Page 16: 021.Kinematics Inverse Kinematics Manipulation

ManipulationManipulation• 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.

Page 17: 021.Kinematics Inverse Kinematics Manipulation

Issues in ManipulationIssues 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.

Page 18: 021.Kinematics Inverse Kinematics Manipulation

Manipulation - TeleoperationManipulation - 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

Page 19: 021.Kinematics Inverse Kinematics Manipulation

Manipulation and Teleoperation: Human Manipulation and Teleoperation: Human Interface 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”

Page 20: 021.Kinematics Inverse Kinematics Manipulation

Why is using joysticks so hard?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.

Page 21: 021.Kinematics Inverse Kinematics Manipulation

Basic Problems for ManipulationBasic 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 ?

Page 22: 021.Kinematics Inverse Kinematics Manipulation

Kinematics versus Inverse KinematicsKinematics 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

Page 23: 021.Kinematics Inverse Kinematics Manipulation

Links and JointsLinks and Joints

Joints:

Links

End Effector

Robot Basis

2 DOF’s

Page 24: 021.Kinematics Inverse Kinematics Manipulation

Joints.Joints.• Joints connect parts of manipulators.

• The most common joint types are:

– revolute link (rotation around a fixed axis)

– prismatic link (linear movement)

• These joints provide the DOF for an effector.

Prismatic Link

Page 25: 021.Kinematics Inverse Kinematics Manipulation

Joints.Joints.

Revolute Link

Page 26: 021.Kinematics Inverse Kinematics Manipulation

Homogeneous CoordinatesHomogeneous Coordinates• Homogeneous coordinates: embed 3D

vectors into 4D by adding a “1”

• More generally, the transformation matrix T has the form:

FactorScalingTrans. Perspect.

Vector Trans. MatrixRot.T

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!

Page 27: 021.Kinematics Inverse Kinematics Manipulation

Terms for manipulationTerms for manipulation• Links and joints

• End effector, tool

• Accuracy vs. Repeatability

• Workspace

• Reachability

• Manipulability

• Redundancy

• Configuration Space

Page 28: 021.Kinematics Inverse Kinematics Manipulation

Direct KinematicsDirect Kinematics

Where is my hand?

Direct Kinematics:HERE!

Page 29: 021.Kinematics Inverse Kinematics Manipulation

Direct KinematicsDirect Kinematics• Position of tip in (x,y) coordinates

Page 30: 021.Kinematics Inverse Kinematics Manipulation

Direct Kinematics AlgorithmDirect Kinematics Algorithm

1) Draw sketch2) Number links. Base=0, Last link = n3) 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

Page 31: 021.Kinematics Inverse Kinematics Manipulation

Kinematic Problems for Kinematic Problems for ManipulationManipulation

• 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

Page 32: 021.Kinematics Inverse Kinematics Manipulation

Inverse Inverse KinematicsKinematics

How do I put my hand here?

IK: Choose these angles!

Page 33: 021.Kinematics Inverse Kinematics Manipulation

Why is using inverse kinematics so hard?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

Page 34: 021.Kinematics Inverse Kinematics Manipulation

Direct versus Inverse Direct versus Inverse KinematicsKinematics

• 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

Page 35: 021.Kinematics Inverse Kinematics Manipulation

Inverse KinematicsInverse Kinematics

Page 36: 021.Kinematics Inverse Kinematics Manipulation

One of many problems:

There may be multiple solutions

 Elbow down - Elbow up

Page 37: 021.Kinematics Inverse Kinematics Manipulation

A Dynamic SimulatorA Dynamic Simulator

www.sodaconstructor.com

Building blocks of• masses• springs• “muscles”

= kinematics + force modeling

Page 38: 021.Kinematics Inverse Kinematics Manipulation

Wheeled RobotsWheeled Robots

~ 1.5 cm to a side

temperature sensor & two motors

travels 1 inch in 3 seconds

untethered !!

Page 39: 021.Kinematics Inverse Kinematics Manipulation

Other mini machinesOther mini machinesPocketbot

Khepera

“Cricket”

radio unit

linear vision

gripper

videoAccessorize!

55mm dia. base

Page 40: 021.Kinematics Inverse Kinematics Manipulation

Kinematics of Kinematics of Differential Differential

drivedrive

Page 41: 021.Kinematics Inverse Kinematics Manipulation

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.

4) Integrate to find position.

Kinematics of Differential driveKinematics of Differential driveDifferential Drive is the most common kinematic choice

All of the miniature robots…

Pioneer, Rug warrior

- difference in wheels’ speeds determines its turning angle

VR

VL

Questions (forward kinematics)

Given the wheel’s velocities or positions, what is the robot’s velocity/position ?

Are there any inherent system constraints?

Page 42: 021.Kinematics Inverse Kinematics Manipulation

1) Specify system measurements

VR

VL

(assume a wheel radius of 1)

x

y

2d

- consider possible coordinate systems

Kinematics of Differential driveKinematics of Differential drive

Page 43: 021.Kinematics Inverse Kinematics Manipulation

1) Specify system measurements

VR

VL

(assume a wheel radius of 1)

x

y

2d

- consider possible coordinate systems2) Determine the point (the radius) around which the robot is turning.

Kinematics of Differential driveKinematics of Differential drive

Page 44: 021.Kinematics Inverse Kinematics Manipulation

1) Specify system measurements

VR

VL

(assume a wheel radius of 1)

x

y

2d

- consider possible coordinate systems2) Determine the point (the radius) around which the robot is turning.

ICC “instantaneous center of curvature”

- 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

Kinematics of Differential driveKinematics of Differential drive

= angular velocity

Page 45: 021.Kinematics Inverse Kinematics Manipulation

1) Specify system measurements

VR

VL

(assume a wheel radius of 1)

x

y

2d

- consider possible coordinate systems2) Determine the point (the radius) around which the robot is turning.

ICC “instantaneous center of curvature”

- 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

Kinematics of Differential driveKinematics of Differential drive

Page 46: 021.Kinematics Inverse Kinematics Manipulation

1) Specify system measurements

VR

VL

(assume a wheel radius of 1)

2d

- consider possible coordinate systems2) Determine the point (the radius) around which the robot is turning.

ICC

- each wheel must be traveling at the same angular velocity around the ICC

Rrobot’s turning radius

3) Determine the robot’s speed around the ICC and its linear velocity

R+d) = VL

R-d) = VR

x

y

Kinematics of Differential driveKinematics of Differential drive

Page 47: 021.Kinematics Inverse Kinematics Manipulation

1) Specify system measurements

VR

VL

(assume a wheel radius of 1)

2d

- consider possible coordinate systems2) Determine the point (the radius) around which the robot is turning.

ICC

- each wheel must be traveling at the same angular velocity around the ICC

Rrobot’s turning radius

3) Determine the robot’s speed around the ICC and then linear velocity

R+d) = VL

R-d) = VR

Thus, = ( VR - VL ) / 2d

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

x

y

Kinematics of Differential driveKinematics of Differential drive

ICC “instantaneous center of curvature”

Page 48: 021.Kinematics Inverse Kinematics Manipulation

1) Specify system measurements

VR

VL

2d

- consider possible coordinate systems2) Determine the point (the radius) around which the robot is turning.

ICC

- each wheel must be traveling at the same angular velocity around the ICC

Rrobot’s turning radius

3) Determine the robot’s speed around the ICC and then linear velocity

R+d) = VL

R-d) = VR

Thus, = ( VR - VL ) / 2d

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

x

y

So, the robot’s velocityrobot’s velocity is V = R = ( VR + VL ) / 2

Kinematics of Differential driveKinematics of Differential drive

Page 49: 021.Kinematics Inverse Kinematics Manipulation

4) Integrate to obtain position

VR

VL

2d

ICC

R(t)robot’s turning radius

(t)

= ( VR - VL ) / 2d

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

V = R = ( VR + VL ) / 2What has to happen to change the ICC ?

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

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

with

x

y

Kinematics of Differential driveKinematics of Differential drive

ICC “instantaneous center of curvature”

V(t)

Vx(t)

Page 50: 021.Kinematics Inverse Kinematics Manipulation

4) Integrate to obtain position

VR

VL

2d

ICC

R(t)robot’s turning radius

(t)

= ( VR - VL ) / 2d

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

V = R = ( VR + VL ) / 2

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

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

with

x

y

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

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

(t) = ∫ (t) dt

Thus,

Kinematics of Differential driveKinematics of Differential drive

Page 51: 021.Kinematics Inverse Kinematics Manipulation

Velocity Components

VR

VL

2d

ICC

R(t)robot’s turning radius

(t)

Thus,

= ( VR - VL ) / 2d

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

V = R = ( VR + VL ) / 2What has to happen to change the ICC ?

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

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

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

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

(t) = (t) dt

with

x

y

Kinematics

Kinematics of Differential driveKinematics of Differential drive

speed

Page 52: 021.Kinematics Inverse Kinematics Manipulation

Kinematics of Kinematics of SynchroSynchro

drivedrive

Page 53: 021.Kinematics Inverse Kinematics Manipulation

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 driveKinematics of Synchro drive

Page 54: 021.Kinematics Inverse Kinematics Manipulation

Nomad 200 wheels rotate in tandem and remain parallel all of the wheels are driven at the same speed

x

y

Vwheels

Vrobot = Vwheels

robot = wheels

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

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

(t) = (t) dtposition

velocity

simpler to control, but ...

ICC at

Kinematics of Synchro driveKinematics of Synchro drive

Page 55: 021.Kinematics Inverse Kinematics Manipulation

Nomad 200 wheels rotate in tandem and remain parallel all of the wheels are driven at the same speed

Question (forward kinematics)

Given the wheel’s velocities or positions, what is the robot’s 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.

Kinematics of Synchro driveKinematics of Synchro drive

Page 56: 021.Kinematics Inverse Kinematics Manipulation

Lego SynchroLego Synchro

more difficult to build.

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

Page 57: 021.Kinematics Inverse Kinematics Manipulation

Inverse KinematicsInverse Kinematics

Key question: Given a desired position or velocity, what can we do to achieve it?

VR(t)

VL (t)

starting position final position

x

y

Page 58: 021.Kinematics Inverse Kinematics Manipulation

Key question: Given a desired position or velocity, what can we do to achieve it?

VR(t)

VL (t)

starting position final position

x

y

Inverse KinematicsInverse Kinematics

Page 59: 021.Kinematics Inverse Kinematics Manipulation

Key question: Given a desired position or velocity, what can we do to achieve it?

VR(t)

VL (t)

starting position final position

x

y

Inverse KinematicsInverse Kinematics

Page 60: 021.Kinematics Inverse Kinematics Manipulation

Key question: Given a desired position or velocity, what can we do to achieve it?

VR(t)

VL (t)

starting position final position

x

y Need to solve these equations:

for VL (t) and VR(t) .

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

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

= (t) dt = ( VR - VL ) / 2d

V = R = ( VR + VL ) / 2

There are lots of solutions...

Inverse KinematicsInverse Kinematics

Page 61: 021.Kinematics Inverse Kinematics Manipulation

VR(t)

VL (t)

starting position final position

x

y Finding some solution is not hard, but finding the “best” solution is very difficult...

• quickest time• most energy efficient• smoothest velocity profiles

VL (t)

tVL (t)

Key question: Given a desired position or velocity, what can we do to achieve it?

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

Inverse KinematicsInverse Kinematics

Page 62: 021.Kinematics Inverse Kinematics Manipulation

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

VR(t)

VL (t)

starting position final position

x

y

Differential Drive

Inverse KinematicsInverse Kinematics

Page 63: 021.Kinematics Inverse Kinematics Manipulation

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

VR(t)

VL (t)

starting position final position

x

y

Differential Drive

(1) turn so that the wheels are parallel to the line between the original and final position of the robot origin.-VL (t) = VR (t) = Vmax

Inverse KinematicsInverse Kinematics

Page 64: 021.Kinematics Inverse Kinematics Manipulation

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

VR(t)

VL (t)

starting position final position

x

y

Differential Drive

(1) turn so that the wheels are parallel to the line between the original and final position of the robot origin.

(2) drive straight until the robot’s origin coincides with the destination

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

VL (t) = VR (t) = Vmax

Inverse KinematicsInverse Kinematics

Page 65: 021.Kinematics Inverse Kinematics Manipulation

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

VR(t)

VL (t)

starting position final position

x

y

Differential Drive

(1) turn so that the wheels are parallel to the line between the original and final position of the robot origin.

(2) drive straight until the robot’s origin coincides with the destination

(3) rotate again in order to achieve the desired final orientation

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

VL (t) = VR (t) = Vmax

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

VL (t)

tVR (t)

Inverse KinematicsInverse Kinematics

Page 66: 021.Kinematics Inverse Kinematics Manipulation

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

V(t)

(t)

starting position

final position

x

y

Synchro Drive

(1) turn so that the wheels are parallel to the line between the original and final position of the robot origin.

(2) drive straight until the robot’s origin coincides with the destination

(3) rotate again in order to achieve the desired final orientation

(t) = max

V(t) = Vmax

(t) = max

sometimes it’s not so easy to isolate one or two DOF...

Inverse Kinematics of Synchro DriveInverse Kinematics of Synchro Drive

Page 67: 021.Kinematics Inverse Kinematics Manipulation

Other wheeled robotsOther wheeled robotstricycle drive

Doubly-steered bicycle

one more -- that roaming desk

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

Ackerman drive

Page 68: 021.Kinematics Inverse Kinematics Manipulation

• front wheel is powered and steerable• back wheels tag along...

Mecos tricycle-drive robot

Kinematics of Tricycle driveKinematics of Tricycle drive

Page 69: 021.Kinematics Inverse Kinematics Manipulation

Four-wheel Four-wheel SteeringSteering

VBL

VBR

VFR

VFL

• wheels have limited turning angles

• no in-place rotation

• small space for parking and maneuvers

The kinematic challenges of parallel parking:

Page 70: 021.Kinematics Inverse Kinematics Manipulation

Ackerman SteeringAckerman Steering

VBL

VBR

VFR

VFL

x

y

ICC

R

L• Similar to a tricycle-drive robot

g

r

g

dd

VFR=sin(R)

r = gtan(R)

+ d

determines

Page 71: 021.Kinematics Inverse Kinematics Manipulation

VBL

VBR

VFR

VFL

x

y

ICC

R

L

But this is just the cab...

g

r

g

dd

VFR=sin(R)

r = gtan(R)

+ d

determines

The other wheel velocities are now fixed!

gVFL=sin(L)

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

(r - d) = VBR

(r + d) = VBL

• Similar to a tricycle-drive robot

Ackerman SteeringAckerman Steering

Page 72: 021.Kinematics Inverse Kinematics Manipulation

The Big RigsThe Big Rigs

5 link trailer2 controlled angles

Applications

Parking two trailers

Page 73: 021.Kinematics Inverse Kinematics Manipulation

nonholonomicitynonholonomicityAll 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

Page 74: 021.Kinematics Inverse Kinematics Manipulation

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

By definition, a robot is nonholonomic if it can not move to change its pose instantaneously in all available directions.

- makes it difficult to navigate between two arbitrary points

- need to resort to techniques like parallel parking

i.e., the robot’s differential motion is constrained.

two DOF are freely controllable; the third is inaccessible

Synchro Drive

nonholonomicitynonholonomicity

Page 75: 021.Kinematics Inverse Kinematics Manipulation

Holonomic RobotsHolonomic RobotsNavigation is simplified considerably if a robot can move

instantaneously in any direction, i.e., is holonomic.

tradeoffs in locomotion/wheel design

Mecanum wheelsOmniwheels

if it can be done at all ...

Page 76: 021.Kinematics Inverse Kinematics Manipulation

Killough’s Platform

Nomad XR4000

synchro drive with offsets from the axis of rotation

Holonomic RobotsHolonomic Robots

Page 77: 021.Kinematics Inverse Kinematics Manipulation

Holonomic hype

“The PeopleBot is a highly holonomic platform, able to navigate in the

tightest of spaces…”

Holonomic HypeHolonomic Hype

Page 78: 021.Kinematics Inverse Kinematics Manipulation

Sage -- a museum tour guide

Discover ‘97 -- Top 10 Innovation

Holonomic HypeHolonomic Hype

Page 79: 021.Kinematics Inverse Kinematics Manipulation

Robot ManipulatorsRobot ManipulatorsIs this robot holonomic ?

A robot holonomic if it

can move instantaneously in any direction.

Page 80: 021.Kinematics Inverse Kinematics Manipulation

Is this robot holonomic ?

No - it can’t 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 ManipulatorsRobot Manipulators

Page 81: 021.Kinematics Inverse Kinematics Manipulation

Robot Manipulators

Is this robot holonomic ?

Yes - its end effector (a point) can translate instantaneously in the x or y directions

No - it can’t move at all

Maybe - actually, in some cases the end effector is constrained...

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

JointAngles

UsefulTasks

Kinematics

Robot ManipulatorsRobot Manipulators

Page 82: 021.Kinematics Inverse Kinematics Manipulation

Forward kinematics -- finding Cartesian coordinates from joint angles

• start by finding the position relationships, then velocity

Robot ManipulatorsRobot Manipulators

Page 83: 021.Kinematics Inverse Kinematics Manipulation

Inverse KinematicsInverse Kinematics

Inverse kinematics -- finding joint angles from Cartesian coordinates

Page 84: 021.Kinematics Inverse Kinematics Manipulation

Types of ManipulatorsTypes of ManipulatorsBasic 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.

Page 85: 021.Kinematics Inverse Kinematics Manipulation

Prismatic JointsPrismatic Joints

Ambler

Ninja

tomato harvester

Page 86: 021.Kinematics Inverse Kinematics Manipulation

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

goal

obstacle

Page 87: 021.Kinematics Inverse Kinematics Manipulation

Multiple solutions (or no solutions) for a task.

ChallengesChallenges

Page 88: 021.Kinematics Inverse Kinematics Manipulation

Multiple solutions (or no solutions) for a task.

ChallengesChallenges

Page 89: 021.Kinematics Inverse Kinematics Manipulation

OpportunitiesOpportunities• 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?

Page 90: 021.Kinematics Inverse Kinematics Manipulation

Configuration SpaceConfiguration SpaceTo get from place A to place B, we need a standardized notion of “place” :

• 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 …

• The 2R manipulator depicted earlier ...

Configuration Space is a space representing robot pose.

Examples:

The dimensionality of C.S. is equal to the robot’s degrees of freedom.

topological properties

Page 91: 021.Kinematics Inverse Kinematics Manipulation

To be discussed: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

Page 92: 021.Kinematics Inverse Kinematics Manipulation

PerspectivePerspective

If your robot doesn’t do what you want ...

… you can always change what you’re looking for.

Page 93: 021.Kinematics Inverse Kinematics Manipulation

DynamicsDynamics of a one link armof a one link arm

• This differential equation can be solved to figure out what acceleration results from a particular given torque.

Page 94: 021.Kinematics Inverse Kinematics Manipulation

Control TechniquesControl Techniques• P, PD, PID

simple, easy to implement

• Impedance control force and position

• Advanced control techniques robust,

sliding mode,

nonlinear etc.,

neural network based,

fuzzy logic based

etc.

We will illustrate

Page 95: 021.Kinematics Inverse Kinematics Manipulation

PD Control of a One-Link ArmPD Control of a One-Link Arm

Page 96: 021.Kinematics Inverse Kinematics Manipulation

PD Control of a One-Link PD Control of a One-Link ArmArm

solution

Page 97: 021.Kinematics Inverse Kinematics Manipulation

Research Issues in ManipulatorsResearch 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

Page 98: 021.Kinematics Inverse Kinematics Manipulation

Navigation and Motion Navigation and Motion PlanningPlanning

• There is a similarity of planning movement of a hand and of a mobile robot

c2

c1

c1 c2

1 very little freedom

Page 99: 021.Kinematics Inverse Kinematics Manipulation

Vertical Vertical Strip CellStrip Cell Decomposition Decomposition

Page 100: 021.Kinematics Inverse Kinematics Manipulation

Manipulation - Challenge for Manipulation - Challenge for roboticists!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?

Page 101: 021.Kinematics Inverse Kinematics Manipulation

More Challenges for roboticists!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.

Page 102: 021.Kinematics Inverse Kinematics Manipulation

More Challenges for roboticists!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 handas complex as the human hand, with variable numbers of fingers and joints in the fingers.

Page 103: 021.Kinematics Inverse Kinematics Manipulation

Reaching and GraspingReaching 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).

Page 104: 021.Kinematics Inverse Kinematics Manipulation

Advanced ManipulationAdvanced 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.

Page 105: 021.Kinematics Inverse Kinematics Manipulation

Problems to solve.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.

Page 106: 021.Kinematics Inverse Kinematics Manipulation

Next Time(s)Next Time(s)

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

Inverse kinematics: what we would really like to know ...

Page 107: 021.Kinematics Inverse Kinematics Manipulation

SourcesSources

• 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