Upload
jodie-barber
View
221
Download
4
Tags:
Embed Size (px)
Citation preview
04/19/23 CS225B Kurt Konolige
Locomotion of Wheeled Robots
3 wheels are sufficient and guarantee stabilityDifferential drive (TurtleBot)Car drive (Ackerman steering) Synchronous drive (B21)Omni-drive: Mecanum wheels, PR2
[Many slides come from www.probabilistic-robotics.org and Steffen Gutmann]
y
roll
z motion
x
yxy
x
04/19/23 CS225B Kurt Konolige
Instantaneous Center of Curvature
ICC
• For rolling motion to occur, each wheel has to move along its y-axis
04/19/23 CS225B Kurt Konolige
Differential Drive
Two driven wheels
One passive (castor) wheel
TurtleBot, Erratic, Pioneers…
04/19/23 CS225B Kurt Konolige
Differential Drive Kinematics
R
ICC
(x,y)y
l/2
x
vl
vr2
)(
)(
2
)2/(
)2/(
lr
lr
lr
rl
l
r
vvv
l
vv
vv
vvlR
vlR
vlR
]cos,sin[ICC RyRx
04/19/23 CS225B Kurt Konolige
Differential Drive: Forward Kinematics
ICC
R
P(t)
P(t+t)
t
y
x
tt
tt
y
x
y
x
y
x
ICC
ICC
ICC
ICC
100
0)cos()sin(
0)sin()cos(
'
'
'
For changing velocities, integrateover small dt.
Compare to PR (5.9), p 127
04/19/23 CS225B Kurt Konolige
Odometry
Integrating relative position information
➔Need to deal with incremental errors
04/19/23 CS225B Kurt Konolige
One driven wheel
Two passive wheels
Similar to front-driven cars
Ackerman Drive
04/19/23 CS225B Kurt Konolige
Synchronous Drive
• All wheels are actuated synchronously by one motor
➔Defines robot speed
• All wheels are steered synchronously by 2nd motor
➔Sets robot's heading
• Orientation of robot frame is always the same
➔Not possible to control orientation of robot frame
04/19/23 CS225B Kurt Konolige
Active Casters
Rollin’ Justin (DLR)
PR2 (Willow Garage)
04/19/23 CS225B Kurt Konolige
Mecanum Wheels
4/)(
4/)(
4/)(
4/)(
3210
3210
3210
3210
vvvvv
vvvvv
vvvvv
vvvvv
error
y
x
forward
y
x
v1
v2
v0
v3
left
v1
v2
v0
v3
v2
turn
v1
v0
v3
Kuka Omni-Drive
04/19/23 CS225B Kurt Konolige
Motion planning is the ability for an agent to compute its own motions in order to achieve certain goals. All autonomous robots and digital actors should eventually have
this ability
[Latombe]
04/19/23 CS225B Kurt Konolige
Robot Motion Planning
04/19/23 CS225B Kurt Konolige
Compute motion strategies, e.g.: Geometric paths Time-parameterized trajectories Sequence of sensor-based motion commands
To achieve high-level goals, e.g.: Go into a room without colliding with obstacles Assemble/disassemble a car Explore and build map of our department Find an object (a person, the soccer ball, etc.)
Goal of Motion Planning
04/19/23 CS225B Kurt Konolige
Mobile Robot Navigation
Path planning and obstacle avoidance No clear distinction, but usually:
Path-planning low-frequency, time-intensive search method for global finding of a path to a goal Examples: road maps, cell decomposition
Obstacle avoidance fast, reactive method with local time and space horizon Examples: Vector field histogram, dynamic window approach
“Gray area” Fast methods for finding path to goal which can fail if environment contains “local minima” Example: potential field method
04/19/23 CS225B Kurt Konolige
Path Planning
Global vs. Local Path Planning
Configuration Space Each configuration is a point in the
space Obstacles are regions of the space A freespace path represents valid
motion Hard – PSPACE hard
Local Methods Potential field Fuzzy rules Motor schemas Vector Field Histogram
Local Methods => Global Method?
Borenstein VFH
04/19/23 CS225B Kurt Konolige
Vector Field Histogram [Borenstein and Koren]
Potential field method
• Workspace obstacles• Obstacle probabilities from Cartesian histogram• Polar histogram of good directions
04/19/23 CS225B Kurt Konolige
Vector Field Histogram [Borenstein and Koren]
Potential field method
• Workspace obstacles• Obstacle probabilities from Cartesian histogram• Polar histogram of good directions
04/19/23 CS225B Kurt Konolige
Vector Field Histogram [Borenstein and Koren]
Issues
• Width of robot, safety margin• Cost function for handling tradeoffs: safety, progress, etc. • Trajectory and dynamics• Oscillation
04/19/23 CS225B Kurt Konolige
Tool: Configuration Space
Articulated object (4DoF) C-Space (2D cut)
04/19/23 CS225B Kurt Konolige
Workspace W Configuration space C
x
y
Configuration = coordinates (x,y) of robot’s centerConfiguration space C = {(x,y)}Free space F = subset of collision-free configurations
path
Configuration Space of a Disc
04/19/23 CS225B Kurt Konolige
Workspace
04/19/23 CS225B Kurt Konolige
Configuration Space
04/19/23 CS225B Kurt Konolige
Discretization
04/19/23 CS225B Kurt Konolige
Dynamic Window Method [Fox et al.]
Evaluating constant curvature path in configuration space
Window of values based on one-step acceleration
When will the robot crash?
dtadta
dtavvdtav
vR
cc
vcvc
/
04/19/23 CS225B Kurt Konolige
Dynamic Window Method [Fox et al.]
dtadta
dtavvdtav
vR
cc
vcvc
/
Admissible trajectories: braking before collision
04/19/23 CS225B Kurt Konolige
Dynamic Window Method [Fox et al.]
Heading: achieve the goalDistance: avoid obstaclesVelocity: do it fast
04/19/23 CS225B Kurt Konolige
Dynamic Window Method [Fox et al.]
DWA Issues
• Computation• Evaluation function tuning: small openings• Longer paths / lower acceleration
• Oscillation