9/14/2015cs225b kurt konolige locomotion of wheeled robots 3 wheels are sufficient and guarantee...

27
06/16/22 CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman steering) Synchronous drive (B21) Omni-drive: Mecanum wheels, PR2 y slides come from www.probabilistic-robotics.org and Steffen Gutmann] y roll z motion x y x y x

Upload: jodie-barber

Post on 27-Dec-2015

223 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

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

Page 2: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

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

Page 3: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

04/19/23 CS225B Kurt Konolige

Differential Drive

Two driven wheels

One passive (castor) wheel

TurtleBot, Erratic, Pioneers…

Page 4: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

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

Page 5: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

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

Page 6: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

04/19/23 CS225B Kurt Konolige

Odometry

Integrating relative position information

➔Need to deal with incremental errors

Page 7: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

04/19/23 CS225B Kurt Konolige

One driven wheel

Two passive wheels

Similar to front-driven cars

Ackerman Drive

Page 8: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

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

Page 9: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

04/19/23 CS225B Kurt Konolige

Active Casters

Rollin’ Justin (DLR)

PR2 (Willow Garage)

Page 10: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

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

Page 11: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

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]

Page 12: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

04/19/23 CS225B Kurt Konolige

Robot Motion Planning

Page 13: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

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

Page 14: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

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

Page 15: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

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

Page 16: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

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

Page 17: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

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

Page 18: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

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

Page 19: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

04/19/23 CS225B Kurt Konolige

Tool: Configuration Space

Articulated object (4DoF) C-Space (2D cut)

Page 20: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

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

Page 21: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

04/19/23 CS225B Kurt Konolige

Workspace

Page 22: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

04/19/23 CS225B Kurt Konolige

Configuration Space

Page 23: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

04/19/23 CS225B Kurt Konolige

Discretization

Page 24: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

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

/

Page 25: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

04/19/23 CS225B Kurt Konolige

Dynamic Window Method [Fox et al.]

dtadta

dtavvdtav

vR

cc

vcvc

/

Admissible trajectories: braking before collision

Page 26: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

04/19/23 CS225B Kurt Konolige

Dynamic Window Method [Fox et al.]

Heading: achieve the goalDistance: avoid obstaclesVelocity: do it fast

Page 27: 9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman

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