View
92
Download
1
Category
Tags:
Preview:
DESCRIPTION
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”. video. Forward Kinematics of Differential drive. - PowerPoint PPT Presentation
Citation preview
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
video
55mm dia. base
Forward Forward 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 drive – Kinematics of Differential drive – radius of turningradius of turning
ICC “instantaneous center of curvature”
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 drive – Kinematics of Differential drive – angular velocityangular velocity
= 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 drive – robot’s Kinematics of Differential drive – robot’s velocityvelocity
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 drive – Kinematics of Differential drive – integrate to obtain positionintegrate to obtain position
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 drive – Kinematics of Differential drive – velocity componentsvelocity components
speed
ForwardForward
Kinematics Kinematics
of Synchroof Synchro
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 drive – Kinematics of Synchro drive – wheels wheels synchronizedsynchronized
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 drive – Kinematics of Synchro drive – velocity and velocity and positionposition
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 drive – Kinematics of Synchro drive – forward kinematicsforward kinematics
Synchro Drive Synchro Drive using Legousing Lego
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 Inverse Kinematics of Kinematics of Differential Differential
DriveDrive
Inverse Kinematics – Inverse Kinematics – the problemthe problem
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 Kinematics – Inverse Kinematics – one solutionone solution
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 Kinematics – Inverse Kinematics – another solutionanother solution
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 Kinematics – Inverse Kinematics – many numerical many numerical solutions to equationssolutions to equations
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 Kinematics – Inverse Kinematics – finding the best finding the best solutionsolution
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 Kinematics - Inverse Kinematics - decompositiondecomposition
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 Kinematics – Inverse Kinematics – decomposition for decomposition for Differential DriveDifferential Drive
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
Inverse Inverse Kinematics of Kinematics of Synchro DriveSynchro Drive
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
Kinematics of Kinematics of Four-wheel Four-wheel
SteeringSteering
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
Holonomic Holonomic RobotsRobots
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
• Not true• GUIDEBOT IS NOT HOLONOMIC• NEWTON IS HOLONOMIC – Omni
wheels• MCECSBOT IS HOLONOMIC –
MECCANO WHEELS
Sage -- a museum tour guide
Discover ‘97 -- Top 10 Innovation
Holonomic HypeHolonomic Hype
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
Recommended