Loading...

PPT – Jizhong Xiao PowerPoint presentation | free to view - id: 92726-ZTUxY

The Adobe Flash plugin is needed to view this content

Syllabus/Introduction/Review

Advanced Mobile Robotics

- Jizhong Xiao
- Department of Electrical Engineering
- CUNY City College
- jxiao_at_ccny.cuny.edu

Outline

- Syllabus
- Course Description
- Prerequisite, Expected Outcomes
- Primary Topics
- Textbook and references
- Grading, Office hours and contact
- How to
- How to read a research paper
- How to write a reading report
- G5501 Review
- What is a Robot?
- Why use Robots?
- Mobile Robotics

Syllabus

- Course Description
- This course is an in depth study of

state-of-the-art technologies and methods of

mobile robotics. - The course consists of two components lectures

on theory, and course projects. - Lectures will draw from textbooks and current

research literature with several reading

discussion classes. - In project component of this class, students are

required to conduct simulation study to

implement, evaluate SLAM algorithms.

Syllabus

- Primary Topics
- Mobile Robotics Review
- Locomotion/Motion Planning/Mapping
- Odometry errors
- Probabilistic Robotics
- Mathematic Background, Bayes Filters
- Kalman Filters (KF, EKF, UKF)
- Particle Filters
- SLAM (simultaneous localization and mapping)
- Data Association Problems

Syllabus

- Textbooks
- Probabilistic ROBOTICS, Sebastian Thrun, Wolfram

Burgard, Dieter Fox, The MIT Press, 2005, ISBN

0-262-20162-3. - Available at CCNY Book Store
- Reference Material
- Introduction to AI Robotics, Robin R. Murphy, The

MIT Press, 2000, ISBN 0-262-13383-0. - Introduction to Autonomous Mobile Robots, Roland

Siegwart, Illah R. Nourbakhsh, The MIT Press,

2004, ISBN 0-262-19502-X - Computational Principles of Mobile Robotics,

Gregory Dudek, Michael Jenkin, Cambridge

University Press, 2000, ISBN 0-521-56876-5 - Papers from research literature

Syllabus

- Contact Information
- Office T-534, Tel 212-650-7268
- E-mail jxiao_at_ccny.cuny.edu
- Website http//robotics.ccny.cuny.edu
- Office Hours
- Mon 300600pm, or by appointment
- Expected outcomes
- Knowledge
- Abilities
- Be able to read technical papers
- Be able to write technical papers
- Be able to conduct independent research

- How to
- How to read a research paper
- Conference papers (ICRA, IROS)
- Journal papers
- IEEE Transactions on Robotics
- Autonomous Robots
- International Journal of Robotics Research
- CCNY resource
- http//www.ccny.cuny.edu/library/Menu.html
- IEEE Xplorer
- How to write a reading report

- G5501 Course Review

Mobile Robotics Locomotion/Motion

Planning/Mapping

- Jizhong Xiao
- Department of Electrical Engineering
- CUNY City College
- jxiao_at_ccny.cuny.edu

Contents

- Review
- Classification of wheels
- Fixed wheel, Centered orientable wheel,

Off-centered orientable wheel, Swedish wheel - Mobile Robot Locomotion
- Differential Drive, Tricycle, Synchronous Drive,

Omni-directional, Ackerman Steering - Motion Planning Methods
- Roadmap Approaches (Visibility graphs, Voronoi

diagram) - Cell Decomposition (Trapezoidal Decomposition,

Quadtree Decomposition) - Potential Fields
- Mapping and Localization

Review

- What are Robots?
- Machines with sensing, intelligence and mobility

(NSF) - To qualify as a robot, a machine must be able to

- 1) Sensing and perception get information from

its surroundings - 2) Carry out different tasks Locomotion or

manipulation, do something physicalsuch as move

or manipulate objects - 3) Re-programmable can do different things
- 4) Function autonomously and/or interact with

human beings - Why use Robots?
- Perform 4A tasks in 4D environments

4A Automation, Augmentation, Assistance,

Autonomous

4D Dangerous, Dirty, Dull, Difficult

Review

- Robot Manipulator
- Kinematics
- Dynamics
- Control
- Mobile Robot
- Kinematics/Control
- Sensing and Sensors
- Motion planning
- Mapping/Localization

Mobile Robot Examples

Sojourner Rover

ActivMedia Pioneer II

NASA and JPL, Mars exploration

Wheeled Mobile Robots

- Locomotion the process of causing an robot to

move. - In order to produce motion, forces must be

applied to the robot - Motor output, payload
- Kinematics study of the mathematics of motion

without considering the forces that affect the

motion. - Deals with the geometric relationships that

govern the system - Deals with the relationship between control

parameters and the behavior of a system. - Dynamics study of motion in which these forces

are modeled - Deals with the relationship between force and

motions.

Notation

Posture position(x, y) and orientation ?

Wheels

Rolling motion

Lateral slip

Wheel Types

Centered orientable wheel

Fixed wheel

Off-centered orientable wheel (Castor wheel)

Swedish wheelomnidirectional property

Mobile Robot Locomotion

Locomotion the process of causing a robot to move

- Tricycle

- Differential Drive

Swedish Wheel

- Synchronous Drive

- Omni-directional

- Ackerman Steering

Differential Drive

?

- Posture of the robot

- Control input

v Linear velocity of the robot w Angular

velocity of the robot (notice not for each wheel)

(x,y) Position of the robot

Orientation of the robot

Differential Drive

linear velocity of right wheel

linear velocity of left wheel r nominal

radius of each wheel R instantaneous curvature

radius (ICR) of the robot trajectory (distance

from ICC to the midpoint between the two wheels).

Property At each time instant, the left and

right wheels must follow a trajectory that moves

around the ICC at the same angular rate ?, i.e.,

Differential Drive

Property At each time instant, the left and

right wheels must follow a trajectory that moves

around the ICR at the same angular rate ?, i.e.,

- Kinematic equation

- Nonholonomic Constraint

Physical Meaning?

Non-holonomic constraint

A non-holonomic constraint is a constraint on the

feasible velocities of a body

So what does that mean? Your robot can move in

some directions (forward and backward), but not

others (sideward).

Differential Drive

- Basic Motion Control

R Radius of rotation

- Straight motion
- R Infinity VR VL

Instantaneous center of curvature (ICC)

- Rotational motion
- R 0 VR -VL

Differential Drive

- Velocity Profile

0

3

1

2

0

3

1

2

Radius of rotation Length of path

Angle of rotation

Tricycle

- Steering and power are provided through the front

wheel - control variables
- angular velocity of steering wheel ws(t)
- steering direction a(t)

d distance from the front wheel to the rear axle

Tricycle

Kinematics model in the world frame ---Posture

kinematics model

Synchronous Drive

- All the wheels turn in unison
- All wheels point in the same direction and turn

at the same rate - Two independent motors, one rolls all wheels

forward, one rotate them for turning - Control variables (independent)
- v(t), ?(t)

Omidirectional

Swedish Wheel

Ackerman Steering (Car Drive)

- The Ackerman Steering equation

Ackerman Steering

Equivalent

Car-like Robot

Driving type Rear wheel drive, front wheel

steering

Rear wheel drive car model

forward velocity of the rear wheels

angular velocity of the steering wheels

non-holonomic constraint

l length between the front and rear wheels

Robot Sensing

- Collect information about the world
- Sensor - an electrical/mechanical/chemical device

that maps an environmental attribute to a

quantitative measurement - Each sensor is based on a transduction principle

- conversion of energy from one form to another - Extend ranges and modalities of Human Sensing

Electromagnetic Spectrum

Visible Spectrum

700 nm

400 nm

Sensors Used in Robot

- Resistive sensors
- bend sensors, potentiometer, resistive

photocells, ... - Tactile sensors contact switch, bumpers
- Infrared sensors
- Reflective, proximity, distance sensors
- Ultrasonic Distance Sensor
- Motor Encoder
- Inertial Sensors (measure the second derivatives

of position) - Accelerometer, Gyroscopes,
- Orientation Sensors Compass, Inclinometer
- Laser range sensors
- Vision, GPS,

Mobot System Overview

What is Motion Planning?

without hit obstacles

- Determining where to go

References

- G. Dudek, M. Jenkin, Computational Principles of

Mobile Robots, MIT Press, 2000 (Chapter 5) - J.C. Latombe, Robot Motion Planning, Kluwer

Academic Publishers, 1991. - Additional references
- Path Planning with A algorithm
- S. Kambhampati, L. Davis, Multiresolution

Path Planning for Mobile Robots, IEEE Journal

of Robotrics and Automation,Vol. RA-2, No.3,

1986, pp.135-145. - Potential Field
- O. Khatib, Real-Time Obstacle Avoidance

for Manipulators and Mobile Robots, Int.

Journal of Robotics Research, 5(1), pp.90-98,

1986. - P. Khosla, R. Volpe, Superquadratic

Artificial Potentials for Obstacle Avoidance and

Approach Proc. Of ICRA, 1988, pp.1178- 1784. - B. Krogh, A Generalized Potential Field

Approach to Obstacle Avoidance Control SME

Paper MS84-484.

Motion Planning

Motion Planning Find a path connecting an

initial configuration to goal configuration

without collision with obstacles

- Configuration Space
- Motion Planning Methods
- Roadmap Approaches
- Cell Decomposition
- Potential Fields

Assuming the environment is known!

The World consists of...

- Obstacles
- Already occupied spaces of the world
- In other words, robots cant go there
- Free Space
- Unoccupied space within the world
- Robots might be able to go here
- To determine where a robot can go, we need to

discuss what a Configuration Space is

Configuration Space

Notation A single rigid object (the robot) W

Euclidean space where A moves B1,Bm fixed

rigid obstacles distributed in W

FW world frame (fixed frame) FA robot

frame (moving frame rigidly associated with the

robot) Configuration q of A is a specification

of the physical state (position and orientation)

of A w.r.t. a fixed environmental frame FW.

Configuration Space is the space of all possible

robot configurations.

Configuration Space

Configuration Space of A is the space (C )of all

possible configurations of A.

Point robot (free-flying, no constraints)

C

Cfree

qslug

Cobs

qrobot

For a point robot moving in 2-D plane, C-space is

Configuration Space

C

y

Cfree

qgoal

Z

Cobs

qstart

x

For a point robot moving in 3-D, the C-space is

What is the difference between Euclidean space

and C-space?

Configuration Space

Y

A robot which can translate in the plane

C-space

2-D (x, y)

X

Euclidean space

Y

A robot which can translate and rotate in the

plane

C-space

3-D (x, y, )

Y

X

x

Configuration Space

b

b

a

a

2R manipulator

Configuration space

topology

Configuration Space

360

qrobot

270

b

180

b

90

a

qslug

a

0

45

135

90

180

Two points in the robots workspace

Torus

(wraps horizontally and vertically)

Configuration Space

If the robot configuration is within the blue

area, it will hit the obstacle

360

qrobot

270

b

180

b

90

a

qslug

a

0

45

135

90

180

An obstacle in the robots workspace

a C-space representation

What is dimension of the C-space of puma robot

(6R)?

Visualization of high dimension C-space is

difficult

Motion Planning Revisit

Find a collision free path from an initial

configuration to goal configuration while taking

into account the constrains (geometric, physical,

temporal)

C-space concept provide a generalized framework

to study the motion planning problem

A separate problem for each robot?

What if the robot is not a point?

The Pioneer-II robot should probably not be

modeled as a point...

What if the robot is not a point?

Expand obstacle(s)

Reduce robot

not quite right ...

Obstacles Configuration Space

C-obstacle

Point robot

C-obstacle in 3-D

What would the configuration space of a 3DOF

rectangular robot (red) in this world look

like? (The obstacle is blue.)

3-D

180º

y

0º

x

can we stay in 2d ?

Motion Planning Methods

- Roadmap approaches
- Visibility Graph
- Voronoi Diagram
- Cell decomposition
- Trapezoidal decomposition
- Quadtree decomposition
- Potential Fields

Full-knowledge motion planning

Full-knowledge motion planning

Cell decompositions

Roadmaps

visibility graph

exact free space represented via convex polygons

voronoi diagram

approximate free space represented via a quadtree

Roadmap Visibility Graphs

Visibility graphs In a polygonal (or polyhedral)

configuration space, construct all of the line

segments that connect vertices to one another

(and that do not intersect the obstacles

themselves).

Formed by connecting all visible vertices, the

start point and the end point, to each other. For

two points to be visible no obstacle can exist

between them Paths exist on the perimeter of

obstacles

From Cfree, a graph is defined Converts the

problem into graph search.

Visibility graph drawbacks

Visibility graphs do not preserve their

optimality in higher dimensions

shortest path

shortest path within the visibility graph

In addition, the paths they find are semi-free,

i.e. in contact with obstacles.

No clearance

Roadmap Voronoi diagrams

official Voronoi diagram

(line segments make up the Voronoi diagram

isolates a set of points)

Generalized Voronoi Graph (GVG) locus of points

equidistant from the closest two or more obstacle

boundaries, including the workspace boundary.

Property maximizing the clearance between the

points and obstacles.

Roadmap Voronoi diagrams

- GVG is formed by paths equidistant from the two

closest objects - maximizing the clearance between the obstacles.

- This generates a very safe roadmap which avoids

obstacles as much as possible

Voronoi Diagram Metrics

- Many ways to measure distance two are
- L1 metric
- (x,y) x y const
- L2 metric
- (x,y) x2 y2 const

Voronoi Diagram (L1)

Note the lack of curved edges

Voronoi Diagram (L2)

Note the curved edges

Motion Planning Methods

- Roadmap approaches
- Visibility Graph
- Voronoi Diagram
- Cell decomposition
- Exact Cell Decomposition (Trapezoidal)
- Approximate Cell Decomposition (Quadtree)
- Potential Fields
- Hybrid local/global

Exact Cell Decomposition

Trapezoidal Decomposition

Decomposition of the free space into trapezoidal

triangular cells

Connectivity graph representing the adjacency

relation between the cells

(Sweepline algorithm)

Exact Cell Decomposition

Trapezoidal Decomposition

Search the graph for a path (sequence of

consecutive cells)

Exact Cell Decomposition

Trapezoidal Decomposition

Transform the sequence of cells into a free path

(e.g., connecting the mid-points of the

intersection of two consecutive cells)

Optimality

Trapezoidal Decomposition

15 cells

9 cells

Obtaining the minimum number of convex cells is

NP-complete.

Trapezoidal decomposition is exact and complete,

but not optimal

there may be more details in the world than the

task needs to worry about...

Approximate Cell Decomposition

Quadtree Decomposition

recursively subdivides each mixed obstacle/free

(sub)region into four quarters...

Quadtree

further decomposing...

Quadtree Decomposition

recursively subdivides each mixed obstacle/free

(sub)region into four quarters...

Quadtree

further decomposing...

Quadtree Decomposition

The rectangle cell is recursively decomposed

into smaller rectangles At a certain level of

resolution, only the cells whose interiors lie

entirely in the free space are used A search in

this graph yields a collision free path

Again, use a graph-search algorithm to find a

path from the start to goal

is this a complete path-planning algorithm? i.e.,

does it find a path when one exists ?

Quadtree

Motion Planning Methods

- Roadmap approaches
- Cell decomposition
- Exact Cell Decomposition (Trapezoidal)
- Approximate Cell Decomposition (Quadtree)
- Potential Fields
- Hybrid local/global

Potential Field Method

Potential Field (Working Principle)

The goal location generates an attractive

potential pulling the robot towards the goal

The obstacles generate a repulsive potential

pushing the robot far away from the obstacles

The negative gradient of the total potential is

treated as an artificial force applied to the

robot -- Let the sum of the forces control the

robot

C-obstacles

Potential Field Method

- Compute an attractive force toward the goal

C-obstacles

Attractive potential

Potential Field Method

- Compute a repulsive force away from obstacles

- Repulsive Potential
- Create a potential barrier around the C-obstacle

region that cannot be traversed by the robots

configuration - It is usually desirable that the repulsive

potential does not affect the motion of the robot

when it is sufficiently far away from C-obstacles

Potential Field Method

- Compute a repulsive force away from obstacles

- Repulsive Potential

Potential Field Method

- Sum of Potential

Attractive potential

Repulsive potential

C-obstacle

Sum of potentials

Potential Field Method

- After get total potential, generate force field

(negative gradient) - Let the sum of the forces control the robot

Negative gradient

Equipotential contours

Total potential

To a large extent, this is computable from

sensor readings

Potential Field Method

Pros

- Spatial paths are not preplanned and can be

generated in real time - Planning and control are merged into one

function - Smooth paths are generated
- Planning can be coupled directly to a control

algorithm

Cons

- Trapped in local minima in the potential field
- Because of this limitation, commonly used for

local path planning - Use random walk, backtracking, etc to escape the

local minima

random walks are not perfect...

Motion Planning Summary

- Motion Planning Methodololgies
- Roadmap
- Cell Decomposition
- Potential Field
- Roadmap
- From Cfree a graph is defined (Roadmap)
- Ways to obtain the Roadmap
- Visibility graph
- Voronoi diagram
- Cell Decomposition
- The robot free space (Cfree) is decomposed

into simple regions (cells) - The path in between two poses of a cell can

be easily generated - Potential Field
- The robot is treated as a particle acting

under the influence of a potential field U, - where
- the attraction to the goal is modeled by

an additive field - obstacles are avoided by acting with a

repulsive force that yields a negative field

Global methods

Local methods

Mapping/Localization

- Answering robotics big questions
- How to get a map of an environment with imperfect

sensors (Mapping) - How a robot can tell where it is on a map

(localization) - SLAM (Simultaneous Localization and Mapping)
- It is an on-going research
- It is the most difficult task for robot
- Even human will get lost in a building!

Using sonar to create maps

What should we conclude if this sonar reads 10

feet?

there isnt something here

there is something somewhere around here

10 feet

Local Map

unoccupied

no information

occupied

Using sonar to create maps

What should we conclude if this sonar reads 10

feet...

10 feet

10 feet

and how do we add the information that the next

sonar reading (as the robot moves) reads 10 feet,

too?

Combining sensor readings

- The key to making accurate maps is combining

lots of data.

- But combining these numbers means we have to

know what they are !

What should our map contain ?

- small cells
- each represents a bit of the robots environment
- larger values gt obstacle
- smaller values gt free

what is in each cell of this sonar model / map ?

What is it a map of?

Several answers to this question have been tried

cell (x,y) is unoccupied

cell (x,y) is occupied

oxy

oxy

Its a map of occupied cells.

pre 83

What information should this map contain, given

that it is created with sonar ?

Each cell is either occupied or unoccupied --

this was the approach taken by the Stanford Cart.

What is it a map of ?

Several answers to this question have been tried

cell (x,y) is unoccupied

cell (x,y) is occupied

oxy

oxy

Its a map of occupied cells. Its a map of

probabilities p( o S1..i ) p( o

S1..i )

pre 83

The certainty that a cell is occupied, given the

sensor readings S1, S2, , Si

83 - 88

The certainty that a cell is unoccupied, given

the sensor readings S1, S2, , Si

The odds of an event are expressed relative to

the complement of that event.

Its a map of odds.

evidence log2(odds)

probabilities

p( o S1..i )

odds( o S1..i )

The odds that a cell is occupied, given the

sensor readings S1, S2, , Si

p( o S1..i )

An example map

units feet

Evidence grid of a tree-lined outdoor path

lighter areas lower odds of obstacles being

present

darker areas higher odds of obstacles being

present

how to combine them?

Combining probabilities

How to combine two sets of probabilities into a

single map ?

Conditional probability

Some intuition...

The probability of event o, given event S .

p( o S )

The probability that a certain cell o is

occupied, given that the robot sees the sensor

reading S .

The probability of event S, given event o .

p( S o )

The probability that the robot sees the sensor

reading S , given that a certain cell o is

occupied.

- What is really meant by conditional probability ?

p( o S ) p(S o) ??

- How are these two probabilities related?

Bayes Rule

- Joint probabilities/Conditional probabilities

p( o ? S ) p( o S ) p( S )

Bayes Rule

- Joint probabilities/Conditional probabilities

p( o ? S ) p( o S ) p( S )

- Bayes rule relates conditional probabilities

p( S o ) p( o )

p( o S )

Bayes rule

p( S )

Bayes Rule

- Joint probabilities/Conditional probabilities

p( o ? S ) p( o S ) p( S )

- Bayes rule relates conditional probabilities

p( S o ) p( o )

p( o S )

Bayes rule

p( S )

- So, what does this say about

odds( o S2 ? S1 ) ?

Can we update easily ?

Combining evidence

So, how do we combine evidence to create a map?

What we want --

the new value of a cell in the map after the

sonar reading S2

odds( o S2 ? S1)

What we know --

the old value of a cell in the map (before sonar

reading S2)

odds( o S1)

the probabilities that a certain obstacle causes

the sonar reading Si

p( Si o ) p( Si o )

Combining evidence

p( o S2 ? S1 )

odds( o S2 ? S1)

p( o S2 ? S1 )

Combining evidence

p( o S2 ? S1 )

defn of odds

odds( o S2 ? S1)

p( o S2 ? S1 )

p( S2 ? S1 o ) p(o)

.

p( S2 ? S1 o ) p(o)

Combining evidence

p( o S2 ? S1 )

defn of odds

odds( o S2 ? S1)

p( o S2 ? S1 )

p( S2 ? S1 o ) p(o)

.

Bayes rule ()

p( S2 ? S1 o ) p(o)

p( S2 o ) p( S1 o ) p(o)

.

p( S2 o ) p( S1 o ) p(o)

Combining evidence

p( o S2 ? S1 )

defn of odds

odds( o S2 ? S1)

p( o S2 ? S1 )

p( S2 ? S1 o ) p(o)

.

Bayes rule ()

p( S2 ? S1 o ) p(o)

p( S2 o ) p( S1 o ) p(o)

conditional independence of S1 and S2

.

p( S2 o ) p( S1 o ) p(o)

p( S2 o ) p( o S1 )

.

Bayes rule ()

p( S2 o ) p( o S1 )

Combining evidence

p( o S2 ? S1 )

defn of odds

odds( o S2 ? S1)

p( o S2 ? S1 )

p( S2 ? S1 o ) p(o)

.

Bayes rule ()

p( S2 ? S1 o ) p(o)

p( S2 o ) p( S1 o ) p(o)

conditional independence of S1 and S2

.

p( S2 o ) p( S1 o ) p(o)

p( S2 o ) p( o S1 )

.

Bayes rule ()

p( S2 o ) p( o S1 )

previous odds

precomputed values

the sensor model

Update step multiplying the previous odds by a

precomputed weight.

Mapping Using Evidence Grids

Evidence Grids...

represent space as a collection of cells, each

with the odds (or probability) that it contains

an obstacle

evidence log2(odds)

Lab environment

likely free space

likely obstacle

lighter areas lower evidence of obstacles

being present

not sure

darker areas higher evidence of obstacles being

present

Localization Methods

- Markov Localization
- Represent the robots belief by a probability

distribution over possible positions and uses

Bayes rule and convolution to update the belief

whenever the robot senses or moves - Monte-Carlo methods
- Kalman Filtering
- SLAM (simultaneous localization and mapping)
- .

Class Schedule

Homework 1 posted on the web. Due date Feb. 21,

2012

Thank you!

Example

- For a differential drive robot as shown in fig,

the diameters of the Left and Right wheels are

10cm, the robot width is 30cm (L30cm). After the

Left wheel has made 8 full rotations and Right

wheel has made 6 full rotations in one second,

where is the robot? That is, what are the

coordinates of robot center O, if O initially

coincide with the origin of world coordinate

frame X-O-Y?

Robot make right turn

ICR right side