robot kinematics and linkage configurations 2 cmput 412 m. jagersand with slides from a. shademan...
TRANSCRIPT
![Page 1: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/1.jpg)
Robot Kinematics andlinkage configurations 2
cmput 412cmput 412
M. JagersandM. JagersandWith slides from A. Shademan With slides from A. Shademan
and A Casalsand A Casals
![Page 2: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/2.jpg)
Forward Kinematics (angles to position)What you are given: The length of each link
The angle of each joint
What you can find: The position of any point (i.e. it’s (x, y, z) coordinates
Inverse Kinematics (position to angles)What you are given: The length of each link
The position of some point on the robot
What you can find: The angles of each joint needed to obtain that position
Review Kinematics
![Page 3: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/3.jpg)
Numerical Inverse Kinematics
•Cartesian Location Cartesian Location
•Motor joint angles:Motor joint angles:
•Local linear model: Local linear model:
•Visual servoing steps: 1 Solve:Visual servoing steps: 1 Solve:
2 Update:2 Update:
y = x;y;z[ ]T = f (x)
x = x1; x2; . . . xn[ ]T
É y = J (x)É x
yãà yk = J É x
xk+1= xk+É x
y0
yã
![Page 4: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/4.jpg)
Cartesian Trajectory Motion
yã =xyz
" #Desired goal:
Current Cartesian positiony0
![Page 5: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/5.jpg)
Cartesian Trajectory Motion
yã
Goal
Line with sub goals
y0
yk
y1
y2
![Page 6: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/6.jpg)
Cartesian Trajectory Motion
Move the robot to each subgoal in sequence
![Page 7: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/7.jpg)
Cartesian Trajectory Motion
Move the robot to each subgoal in sequence
![Page 8: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/8.jpg)
Cartesian Trajectory Motion
Move the robot to each subgoal in sequence
![Page 9: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/9.jpg)
Cartesian Trajectory Motion
Iterate until convergence at final goal
![Page 10: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/10.jpg)
Numerical Inverse Kinematics
•Cartesian Location Cartesian Location
•Motor joint angles:Motor joint angles:
•Local linear model: Local linear model:
•Visual servoing steps: 1 Solve:Visual servoing steps: 1 Solve:
2 Update:2 Update:
y = x;y;z[ ]T = f (x)
x = x1; x2; . . . xn[ ]T
É y = J (x)É x
yãà yk = J É x
xk+1= xk+É x
y0
yã
How do we find the Jacobian J(x)?J(x)?
![Page 11: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/11.jpg)
Find J Method 1: Test movements along basis
•Remember: Remember: J J is unknown is unknown m m by by n n matrixmatrix– For position only: 3x3, position and orientation 6x6 or mx6For position only: 3x3, position and orientation 6x6 or mx6
•Do test movements Do test movements
•Finite difference:Finite difference:
J =@x1@f1 ááá @xn
@f1
.... . .
@x1@fm
@xn@fm
0
B@
1
CA
É x1= [1;0;. . .;0]T
É x2= [0;1;. . .;0]T...É xn = [0;0;. . .;1]T
J t
...É y1...
2
4
3
5
...É y2...
2
4
3
5 ááá
...É yn...
2
4
3
5
0
@
1
A
![Page 12: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/12.jpg)
Find J Method 2:Secant Constraints
•Constraint along a line:Constraint along a line:
•Defines Defines m m equations equations
•Collect Collect n n arbitrary, but different measuresarbitrary, but different measures y y
•Solve for Solve for JJ
É y = J É x
ááá É yT1 áááâ ã
ááá É yT2 áááâ ã
...ááá É yTn áááâ ã
0
BB@
1
CCA =
ááá É xT1 áááâ ã
ááá É xT2 áááâ ã
...ááá É xTn áááâ ã
0
BB@
1
CCA J T
![Page 13: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/13.jpg)
Find J Method 3:Recursive Secant Constraints
Broydens method• Based on initial Based on initial J J and one measure pairand one measure pair
• Adjust Adjust J J s.t. s.t.
• Rank 1 update:Rank 1 update:
• Consider rotated coordinates: Consider rotated coordinates: – Update same as finite difference for Update same as finite difference for nn orthogonal moves orthogonal moves
É y;É x
É y = J k+1É x
Jêk+1= Jêk+É xTÉ x
(É y à JêkÉ x)É xT
É x
![Page 14: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/14.jpg)
Numerical Inverse Kinematics
1.1. Solve for motion:Solve for motion:
2.2. Move robot joints:Move robot joints:
3.3. Read actual Cartesian move Read actual Cartesian move
4.4. Update Jacobian:Update Jacobian:
[yãà yk] = J É x
xk+1= xk+É x
Jêk+1= Jêk+É xTÉ x
(É y à JêkÉ x)É xT
É yMove the robot to each subgoal in sequence
yãGoal
y0yky1
y2
É y
Iterate until convergence at final goal
![Page 15: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/15.jpg)
Singularities
• J singular J singular cannot solve eqs cannot solve eqs• Definition: we say that any configuration in which the Definition: we say that any configuration in which the
rank of rank of JJ is less than its maximum is a singular is less than its maximum is a singular configurationconfiguration– i.e. any configuration that causes i.e. any configuration that causes JJ to lose rank is a singular configuration to lose rank is a singular configuration
• Characteristics of singularities:Characteristics of singularities:– At a singularity, motion in some directions will not be possibleAt a singularity, motion in some directions will not be possible– At and near singularities, bounded end effector velocities would require At and near singularities, bounded end effector velocities would require
unbounded joint velocitiesunbounded joint velocities– At and near singularities, bounded joint torques may produce unbounded At and near singularities, bounded joint torques may produce unbounded
end effector forces and torquesend effector forces and torques– Singularities often occur along the workspace boundary (i.e. when the arm Singularities often occur along the workspace boundary (i.e. when the arm
is fully extended)is fully extended)
[yãà yk] = J É x
![Page 16: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/16.jpg)
Singularities
• How do we determine singularities?How do we determine singularities?– Simple: construct the Jacobian and observe when it will lose rankSimple: construct the Jacobian and observe when it will lose rank
• EX: two link manipulatorEX: two link manipulator– Analytic Jacobian Analytic Jacobian JJ is: is:
– This loses rank if we can find some This loses rank if we can find some such that such thatcolumns are linearly dependentcolumns are linearly dependent
11
00
00
0012212211
12212211
cacaca
sasasa
qJ
R for 21 JJ
![Page 17: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/17.jpg)
Singularities
• This is equivalent to the following:This is equivalent to the following:
• Thus if Thus if ss1212 = = ss11, we can always find an , we can always find an
that will reduce the rank of that will reduce the rank of JJ
• Thus Thus 22 = 0, = 0, are two singularities are two singularities
12212211
12212211
cacaca
sasasa
2
21
a
aa
2
12
a
aa
![Page 18: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/18.jpg)
Determining Singular Configurations
• In general, all we need to do is observe how the In general, all we need to do is observe how the rank of the Jacobian changes as the configuration rank of the Jacobian changes as the configuration changeschanges
•Can study analyticallyCan study analytically
•Or numerically: Singular if eigenvalues of square Or numerically: Singular if eigenvalues of square matrix 0, or singular values of rectangular matrix matrix 0, or singular values of rectangular matrix zero. (Compute with SVD), or condition number zero. (Compute with SVD), or condition number tends to infinity.tends to infinity.
![Page 19: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/19.jpg)
How accurate is the movement?
•Does the robot always reach the goal?Does the robot always reach the goal?
Final position error dy
![Page 20: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/20.jpg)
Accuracy, Repeatability and Resolution
Accuracy:Accuracy:
•Start far awayStart far away
•Move a long distanceMove a long distance
•Measure error Measure error dacc
dacc
![Page 21: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/21.jpg)
Accuracy, Repeatability and Resolution
Repeatability:Repeatability:
•Start at goalStart at goal
•Move away a long distanceMove away a long distance
•Move backMove back
•Measure error Measure error drp
drp
![Page 22: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/22.jpg)
Accuracy, Repeatability and Resolution
Resolution:Resolution:
• The smallest incremental The smallest incremental distance a robot can move.distance a robot can move.
•Typically limited by joint Typically limited by joint encoder resolution. encoder resolution.
dres
![Page 23: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/23.jpg)
Points potentially weak in mechanical designPoints potentially weak in mechanical design
Weak points Mechanical correction
Permanent deformation of the whole structure and the components
Increase rigidness
Weight reduction
Counterweight
Dynamic deformation
Reduction of the mass to move
Weight distribution
BacklashReduce gear clearances
Use more rigid transmission elements
Increase rigidness
![Page 24: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/24.jpg)
Axes clearance
Use pre stressed axes
Friction Improve clearance in axes
Increase lubrication
Thermal effects Isolate heat source
Bad transducers connection
Improve mechanical connection Search for a better location Protect the environment
Points potentially weak in the mechanical designPoints potentially weak in the mechanical design
Weak points Mechanical correction
![Page 25: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/25.jpg)
Robot Morphology:
An classic arm - The PUMA 560
• AccuracyAccuracy– Factory about 10mmFactory about 10mm– Calibrated 1-5mmCalibrated 1-5mm
• Repeatability 1mmRepeatability 1mm• Resolution 0.1mmResolution 0.1mm
![Page 26: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/26.jpg)
An modern arm - The Barrett WAM
• Resolution and Resolution and repeatability similar or repeatability similar or better than PUMAbetter than PUMA
• Accuracy worse due to Accuracy worse due to lighter, more flexible lighter, more flexible linkagelinkage
• But can move fasterBut can move faster• Needs external feedback Needs external feedback
(e.g. camera vision) for (e.g. camera vision) for accurate motionsaccurate motions
![Page 27: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/27.jpg)
Can build this with LEGO!
5 – Bar linkage
![Page 28: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/28.jpg)
Workspace of a typical serial arm
![Page 29: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/29.jpg)
Cartesian robot
Typical performanceTypical performance• Accuracy 0.1-1mmAccuracy 0.1-1mm• Repeatability: 0.01mmRepeatability: 0.01mm• Resolution: 0.01mmResolution: 0.01mm• DrawbacksDrawbacks
– Large, heavyLarge, heavy– Workspace “inside” the robotWorkspace “inside” the robot
![Page 30: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/30.jpg)
x
y
Coordinates of the target
R
offset
AccuracyAccuracy
• Capacity to place the end effector into a given position and orientation (pose) within the robot working volume, from a random initial position.
increases with the motiondistance
Measuring Accuracy
Measure:Measure:• Sample many start and end Sample many start and end
positionspositions• Characterize errors:Characterize errors:
– systematic systematic (offset)
– randomrandom
![Page 31: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/31.jpg)
Example of Map of
admitted loads, in function
of the distance to the main
axis
Dynamic CharacteristicsDynamic Characteristics
Payload:Payload:• The load (in Kg) the robot is able to transport in a
continuous and precise way (stable) to the most distance point
• The values usually used are the maximum load and nominal at acceleration = 0
• The load of the End-Effector is not included.
![Page 32: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/32.jpg)
VelocityVelocity
• Maximum speed (mm/sec.) to which the robot can move the End-Effector.
• It has to be considered that more than a joint is involved.
• If a joint is slow, all the movements in which it takes part will be slowed down.
• For shorts movements acceleration matters more.
Vmax
time
speed
Short movements
Long movement
Dynamic CharacteristicsDynamic Characteristics
![Page 33: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/33.jpg)
Path/trajectory planning
•Split the workspace into areas of fast and slow Split the workspace into areas of fast and slow guarded motion:guarded motion:
• In practice robot has to smoothly accelerate.In practice robot has to smoothly accelerate.
•Can create position/velocity profiles with linear Can create position/velocity profiles with linear or higher order polynomials/splines.or higher order polynomials/splines.
y0y1
y2
![Page 34: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/34.jpg)
Path/trajectory planning
• With many obstacles may need motion planning With many obstacles may need motion planning algorithms (Potential fields, RRT etc -- later)algorithms (Potential fields, RRT etc -- later)
![Page 35: Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56649ec55503460f94bcffb5/html5/thumbnails/35.jpg)
Conclusions:
•Different architectures have different kinematics Different architectures have different kinematics and different accuracy.and different accuracy.– Serial arms: Slender, agile but somewhat inaccurateSerial arms: Slender, agile but somewhat inaccurate– Cartesian (x,y,z- table): Very accurate, but bulkyCartesian (x,y,z- table): Very accurate, but bulky
•Accuracy can be improved by:Accuracy can be improved by:– Cartesian calibrationCartesian calibration– Visual or other sensory feedback (next in course)Visual or other sensory feedback (next in course)