wheeled robots

46
Wheeled Robots Wheeled Robots ~ 1.5 cm to a side temperature sensor & two motors travels 1 inch in 3 seconds untethered !!

Upload: bien

Post on 19-Jan-2016

88 views

Category:

Documents


1 download

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

TRANSCRIPT

Page 1: Wheeled Robots

Wheeled RobotsWheeled Robots

~ 1.5 cm to a side

temperature sensor & two motors

travels 1 inch in 3 seconds

untethered !!

Page 2: Wheeled Robots

Other mini machinesOther mini machinesPocketbot

Khepera

“Cricket”

radio unit

linear vision

gripper

video

55mm dia. base

Page 3: Wheeled Robots

Forward Forward Kinematics of Kinematics of Differential Differential

drivedrive

Page 4: Wheeled Robots

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?

Page 5: Wheeled Robots

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

Page 6: Wheeled Robots

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”

Page 7: Wheeled Robots

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

Page 8: Wheeled Robots

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

Page 9: Wheeled Robots

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

Page 10: Wheeled Robots

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”

Page 11: Wheeled Robots

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

Page 12: Wheeled Robots

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)

Page 13: Wheeled Robots

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

Page 14: Wheeled Robots

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

Page 15: Wheeled Robots

ForwardForward

Kinematics Kinematics

of Synchroof Synchro

DriveDrive

Page 16: Wheeled Robots

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

Page 17: Wheeled Robots

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

Page 18: Wheeled Robots

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

Page 19: Wheeled Robots

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?

Page 20: Wheeled Robots

Inverse Inverse Kinematics of Kinematics of Differential Differential

DriveDrive

Page 21: Wheeled Robots

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

Page 22: Wheeled Robots

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

Page 23: Wheeled Robots

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

Page 24: Wheeled Robots

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

Page 25: Wheeled Robots

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

Page 26: Wheeled Robots

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

Page 27: Wheeled Robots

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

Page 28: Wheeled Robots

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

Page 29: Wheeled Robots

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

Page 30: Wheeled Robots

Inverse Inverse Kinematics of Kinematics of Synchro DriveSynchro Drive

Page 31: Wheeled Robots

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

Page 32: Wheeled Robots

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

Page 33: Wheeled Robots

• front wheel is powered and steerable• back wheels tag along...

Mecos tricycle-drive robot

Kinematics of Tricycle driveKinematics of Tricycle drive

Page 34: Wheeled Robots

Kinematics of Kinematics of Four-wheel Four-wheel

SteeringSteering

Page 35: Wheeled Robots

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:

Page 36: Wheeled Robots

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

Page 37: Wheeled Robots

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

Page 38: Wheeled Robots

The Big RigsThe Big Rigs

5 link trailer2 controlled angles

Applications

Parking two trailers

Page 39: Wheeled Robots

Holonomic Holonomic RobotsRobots

Page 40: Wheeled Robots

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

Page 41: Wheeled Robots

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

Page 42: Wheeled Robots

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 ...

Page 43: Wheeled Robots

Killough’s Platform

Nomad XR4000

synchro drive with offsets from the axis of rotation

Holonomic RobotsHolonomic Robots

Page 44: Wheeled 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

Page 45: Wheeled Robots

Sage -- a museum tour guide

Discover ‘97 -- Top 10 Innovation

Holonomic HypeHolonomic Hype

Page 46: Wheeled Robots

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