021.kinematics inverse kinematics manipulation
DESCRIPTION
ppt on kinematics of robotTRANSCRIPT
Movement of Movement of
robots and robots and introduction to introduction to
kinematics of robotskinematics of robots
• 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
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.
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.
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.
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…..
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).
• 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
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
• 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
• 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
• 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
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!
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?
98 degrees (of freedom)98 degrees (of freedom)• This is in any case simplified
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.
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.
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
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”
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.
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 ?
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
Links and JointsLinks and Joints
Joints:
Links
End Effector
Robot Basis
2 DOF’s
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
Joints.Joints.
Revolute Link
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!
Terms for manipulationTerms for manipulation• Links and joints
• End effector, tool
• Accuracy vs. Repeatability
• Workspace
• Reachability
• Manipulability
• Redundancy
• Configuration Space
Direct KinematicsDirect Kinematics
Where is my hand?
Direct Kinematics:HERE!
Direct KinematicsDirect Kinematics• Position of tip in (x,y) coordinates
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
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
Inverse Inverse KinematicsKinematics
How do I put my hand here?
IK: Choose these angles!
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
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
Inverse KinematicsInverse Kinematics
One of many problems:
There may be multiple solutions
Elbow down - Elbow up
A Dynamic SimulatorA Dynamic Simulator
www.sodaconstructor.com
Building blocks of• masses• springs• “muscles”
= kinematics + force modeling
Wheeled RobotsWheeled Robots
~ 1.5 cm to a side
temperature sensor & two motors
travels 1 inch in 3 seconds
untethered !!
Other mini machinesOther mini machinesPocketbot
Khepera
“Cricket”
radio unit
linear vision
gripper
videoAccessorize!
55mm dia. base
Kinematics of Kinematics of Differential Differential
drivedrive
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?
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
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
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
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
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
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”
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
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)
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
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
Kinematics of Kinematics of SynchroSynchro
drivedrive
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
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
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
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?
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
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
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
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
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
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
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
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
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
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
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
• front wheel is powered and steerable• back wheels tag along...
Mecos tricycle-drive robot
Kinematics of Tricycle driveKinematics of Tricycle drive
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:
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
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
The Big RigsThe Big Rigs
5 link trailer2 controlled angles
Applications
Parking two trailers
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
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
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 ...
Killough’s Platform
Nomad XR4000
synchro drive with offsets from the axis of rotation
Holonomic RobotsHolonomic Robots
Holonomic hype
“The PeopleBot is a highly holonomic platform, able to navigate in the
tightest of spaces…”
Holonomic HypeHolonomic Hype
Sage -- a museum tour guide
Discover ‘97 -- Top 10 Innovation
Holonomic HypeHolonomic Hype
Robot ManipulatorsRobot ManipulatorsIs this robot holonomic ?
A robot holonomic if it
can move instantaneously in any direction.
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
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
Forward kinematics -- finding Cartesian coordinates from joint angles
• start by finding the position relationships, then velocity
Robot ManipulatorsRobot Manipulators
Inverse KinematicsInverse Kinematics
Inverse kinematics -- finding joint angles from Cartesian coordinates
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.
Prismatic JointsPrismatic Joints
Ambler
Ninja
tomato harvester
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
Multiple solutions (or no solutions) for a task.
ChallengesChallenges
Multiple solutions (or no solutions) for a task.
ChallengesChallenges
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?
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
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
PerspectivePerspective
If your robot doesn’t do what you want ...
… you can always change what you’re looking for.
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.
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
PD Control of a One-Link ArmPD Control of a One-Link Arm
PD Control of a One-Link PD Control of a One-Link ArmArm
solution
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
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
Vertical Vertical Strip CellStrip Cell Decomposition Decomposition
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?
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.
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.
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).
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.
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.
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 ...
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