AmirKabir University Computer Engineering Dept. Sensor Based Mapping and Navigation Robotic Course...

42
AmirKabir University AmirKabir University Computer Engineering Dept. Computer Engineering Dept. Sensor Based Mapping and Sensor Based Mapping and Navigation Navigation Robotic Course Presentation Presenter: GholamHossein Deshmeh
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    215
  • download

    1

Transcript of AmirKabir University Computer Engineering Dept. Sensor Based Mapping and Navigation Robotic Course...

AmirKabir University AmirKabir University Computer Engineering Dept.Computer Engineering Dept.

Sensor Based Mapping and Sensor Based Mapping and NavigationNavigation

Robotic Course Presentation

Presenter: GholamHossein Deshmeh

Mapping and Mapping and NavigationNavigation

IntroductionIntroduction What is Robotic Mapping ?What is Robotic Mapping ?

– Building Models of Physical Building Models of Physical Environments using RobotsEnvironments using Robots

– Sensors with limitationsSensors with limitations

– Cameras (Vision), Laser, Sonar, GPSCameras (Vision), Laser, Sonar, GPS

Mapping and Mapping and NavigationNavigation

IntroductionIntroduction NavigationNavigation

– Planning Robot’s PathPlanning Robot’s Path– Avoiding ObstaclesAvoiding Obstacles– Fast Re-PlanningFast Re-Planning

Mapping + Navigation -> Mapping + Navigation -> Autonomous Mobile Autonomous Mobile

RobotsRobots

Mapping and Mapping and NavigationNavigation

IntroductionIntroduction

Navigation

Mapping

Localization

Mapping and Mapping and NavigationNavigation

IntroductionIntroduction MappingMapping

– Defines an Environment ModelDefines an Environment Model

LocalizationLocalization– Probabilistic approach to evaluate the Probabilistic approach to evaluate the

localization on the Environment Modellocalization on the Environment Model

NavigationNavigation– Defines an Optimized Path to the Goal, Defines an Optimized Path to the Goal,

based on Environment Modelbased on Environment Model

Mapping and Mapping and NavigationNavigation

IntroductionIntroduction Main ProblemsMain Problems

– NoiseNoise

– DimensionalityDimensionality

– Planning ExplorationPlanning Exploration

– Dynamic EnvironmentsDynamic Environments

Mapping and Mapping and NavigationNavigation

IntroductionIntroduction Noise Noise

– Errors can AccumulateErrors can Accumulate

DimensionalityDimensionality– 3-D Maps can take a high amount of 3-D Maps can take a high amount of

storage spacestorage space

Planning ExplorationPlanning Exploration– How can a robot explore, using an How can a robot explore, using an

incomplete mapincomplete map

Mapping and Mapping and NavigationNavigation

IntroductionIntroduction Dynamic EnvironmentsDynamic Environments

– Moving furniture, doorsMoving furniture, doors

– Moving Cars, PeopleMoving Cars, People

– Must Distinguish between Sensor Must Distinguish between Sensor Noise and Moving ObjectsNoise and Moving Objects

Mapping and Mapping and NavigationNavigationApproachesApproaches

Two decades of researchTwo decades of research

Assume static, small scale Assume static, small scale environmentsenvironments

Difficulty with dynamic, large scale Difficulty with dynamic, large scale environmentsenvironments

Simulated vs. Real LifeSimulated vs. Real Life

Mapping and Mapping and NavigationNavigationApproachesApproaches

Considerable research in the field Considerable research in the field of Navigationof Navigation

Few complete and working Few complete and working systemssystems

Cost of Stereo SystemsCost of Stereo Systems High Computational CostHigh Computational Cost Mostly Laser / Sonar sensorsMostly Laser / Sonar sensors

Mapping and Mapping and NavigationNavigationApproachesApproaches

Kalman FilterKalman Filter Expectation Minimization (EM)Expectation Minimization (EM) HybridHybrid Occupancy GridsOccupancy Grids

Mapping and Mapping and NavigationNavigation

BasicsBasics A map is a collection of sensor A map is a collection of sensor

scans, o, and robot positions, sscans, o, and robot positions, s

For every time, t, a new data scan For every time, t, a new data scan and pose is added to the map:and pose is added to the map:

mt { o ,s } 0,1,...,t

Mapping and Mapping and NavigationNavigation

BasicsBasics Likelihood functions are defined Likelihood functions are defined

for each available mapfor each available map

Likelihood function Maximization - Likelihood function Maximization - obtain the most likely mapobtain the most likely map

Maximization is not possible in Maximization is not possible in Real-TimeReal-Time

Mapping and Mapping and NavigationNavigation

BasicsBasics Likelihood Function Maximization Likelihood Function Maximization

Problem. Two Approaches:Problem. Two Approaches:

– Assume map is correct, add new Assume map is correct, add new data (large error growth)data (large error growth)

– Have the robot stop and calculate Have the robot stop and calculate after every scan (not real-time)after every scan (not real-time)

Mapping and Mapping and NavigationNavigation

BasicsBasics Incremental LocalizationIncremental Localization

– Assume previous map and localizations Assume previous map and localizations are accurateare accurate

– Append new sensor scans to the old Append new sensor scans to the old mapmap

– Localize based on updated mapLocalize based on updated map– Can be done in real-timeCan be done in real-time– Fail on cyclic environments as error Fail on cyclic environments as error

grows unboundedgrows unbounded

Mapping and Mapping and NavigationNavigation

BasicsBasics Incremental Localization (IL)Incremental Localization (IL)

– IL never corrects old errors based on IL never corrects old errors based on new information new information

– Errors can grow unboundedErrors can grow unbounded

– While traversing a cycle in a map, While traversing a cycle in a map, error growth leads the robot to “get error growth leads the robot to “get lost” and the map breaks downlost” and the map breaks down

Mapping and Mapping and NavigationNavigation

BasicsBasics Expectation MaximizationExpectation Maximization

– Store scans and position data Store scans and position data probabilisticallyprobabilistically

– Search through all possible previous maps Search through all possible previous maps (from times 0-t) and find the most likely map(from times 0-t) and find the most likely map

– Can handle cyclic environmentsCan handle cyclic environments

– Batch algorithms - not real-timeBatch algorithms - not real-time

Mapping and Mapping and NavigationNavigation

BasicsBasics Occupancy Grid Mapping:Occupancy Grid Mapping:

– The most widely used mapping The most widely used mapping methodmethod

– SimpleSimple– Many kinds of sensors are acceptableMany kinds of sensors are acceptable– Adapts well to dynamic EnvironmentsAdapts well to dynamic Environments

Mapping and Mapping and NavigationNavigation

BasicsBasics Occupancy Grid Mapping – Approach :Occupancy Grid Mapping – Approach :

– Divide the Environment into a discrete GridDivide the Environment into a discrete Grid

– Assigns a value to each cell, indicating the Assigns a value to each cell, indicating the Probability that the cell is occupied by an obstacle Probability that the cell is occupied by an obstacle (Certainty Value, CV)(Certainty Value, CV)

– Initialize all values to 50% ( equal probability that the Initialize all values to 50% ( equal probability that the Location is occupied or Unoccupied )Location is occupied or Unoccupied )

– Sensor Data -> Uncertainty Regions for an Obstacle -Sensor Data -> Uncertainty Regions for an Obstacle -> Increase or Decrease Values> Increase or Decrease Values

Mapping and Mapping and NavigationNavigation

Ultrasonic SensorsUltrasonic Sensors Conical field of ViewConical field of View Returns a measure of the distance Returns a measure of the distance

to the nearest object within the to the nearest object within the conecone

Does not specify objects’ Angular Does not specify objects’ Angular locationlocation

Objects located on Acoustic Axis are Objects located on Acoustic Axis are more likely to produce an echo.more likely to produce an echo.

This is considered in Certainty GridThis is considered in Certainty Grid

Mapping and Mapping and NavigationNavigation

Ultrasonic SensorsUltrasonic Sensors 24 Sensors on a horizontal ring24 Sensors on a horizontal ring Ring scanning, no need to rotateRing scanning, no need to rotate A full panorama requires 100 ms to A full panorama requires 100 ms to

500 ms500 ms All Sensors CANNOT be fired at onceAll Sensors CANNOT be fired at once Too many senses at the same Too many senses at the same

moment, causes significant CrossTalkmoment, causes significant CrossTalk

Mapping and Mapping and NavigationNavigation

Ultrasonic SensorsUltrasonic Sensors

Mapping Using Sonar Sensors Mapping Using Sonar Sensors

Mapping and Mapping and NavigationNavigation

Ultrasonic SensorsUltrasonic Sensors CVs are Updated using a heuristic CVs are Updated using a heuristic

probability function, which considers probability function, which considers sensor characteristics.sensor characteristics.

For sonar sensors, higher values are For sonar sensors, higher values are assigned to Cells in the acoustic axisassigned to Cells in the acoustic axis

Calculations must be made for every Calculations must be made for every cell in the sonar sensor’s conecell in the sonar sensor’s cone

Mapping and NavigationMapping and NavigationHistogramic In-Motion Histogramic In-Motion

MappingMapping Improves on Certainty/Occupancy Improves on Certainty/Occupancy

Grid methodGrid method Certainty Grid method is Certainty Grid method is

computationally intensive and computationally intensive and can affect real-time robotscan affect real-time robots

Histogramic In-Motion Mapping Histogramic In-Motion Mapping (HIMM) uses a simplification of (HIMM) uses a simplification of Certainty GridCertainty Grid

Mapping and NavigationMapping and NavigationHistogramic In-Motion Histogramic In-Motion

MappingMapping Increments only one cell in the HIMM Increments only one cell in the HIMM

Grid for each sensor readingGrid for each sensor reading For sonar sensors, this is the cell at For sonar sensors, this is the cell at

the acoustic axis of the sensorthe acoustic axis of the sensor May seem OversimplificationMay seem Oversimplification By sampling each sensor By sampling each sensor

continuously, a probability continuously, a probability distribution is obtaineddistribution is obtained

Assumes a Moving robotAssumes a Moving robot

Mapping and NavigationMapping and NavigationHistogramic In-Motion Histogramic In-Motion

MappingMapping Less Accurate when the robot is Less Accurate when the robot is

stationarystationary Points close to the actual obstacle Points close to the actual obstacle

location, receive a high valuelocation, receive a high value Only values of the points on the Only values of the points on the

acoustic axis line are acoustic axis line are decrementeddecremented

Mapping and NavigationMapping and NavigationHistogramic In-Motion Histogramic In-Motion

MappingMapping

HIMM – Only one cell is updated per readingHIMM – Only one cell is updated per reading

Mapping and NavigationMapping and NavigationHistogramic In-Motion Histogramic In-Motion

MappingMapping Determining the numerical amount for Determining the numerical amount for

updating Certainty Values (CV) is an issueupdating Certainty Values (CV) is an issue

A too large value would make the robot react to single, possibly false readings

A too small value would not build up CVs in time for an avoidance maneuver

Suggested values:Suggested values:– Increment : +3Increment : +3– Decrement : -1Decrement : -1

Mapping and NavigationMapping and NavigationHistogramic In-Motion Histogramic In-Motion

MappingMapping

HIMM - Suggested CVs, Increments and DecrementsHIMM - Suggested CVs, Increments and Decrements

Mapping and NavigationMapping and NavigationHistogramic In-Motion Histogramic In-Motion

MappingMapping Stationary vs. Mobile RobotStationary vs. Mobile Robot Stationary :Stationary :

– After reaching the maximum set for After reaching the maximum set for CV, further readings will be lostCV, further readings will be lost

– Resulting Cluster will be only ONE Resulting Cluster will be only ONE CellCell

Mapping and NavigationMapping and NavigationHistogramic In-Motion Histogramic In-Motion

MappingMapping Squared Certainty Value (SCV) Expresses Confidence Single Reading : could be noise or

CrossTalk Multiple Reading : Actual ObjectMultiple Reading : Actual Object Stronger Response of Navigation Stronger Response of Navigation

Planner (Obstacle Avoidance) when Planner (Obstacle Avoidance) when Clusters of SCVs are encounteredClusters of SCVs are encountered

Weaker Response for single, Weaker Response for single, unclustered cellsunclustered cells

Mapping and NavigationMapping and NavigationHistogramic In-Motion Histogramic In-Motion

MappingMapping Obstacle Cluster Strength (OCS):Obstacle Cluster Strength (OCS):

– Sum of all SCVs in a cluster ( a group Sum of all SCVs in a cluster ( a group of neighboring cells with CV > 0 )of neighboring cells with CV > 0 )

Helps avoid obstacles soon enoughHelps avoid obstacles soon enough Specially Important for Higher Specially Important for Higher

speed Vehicles ( V > 0.5 m/s )speed Vehicles ( V > 0.5 m/s ) Lower OCS for Mobile Robots is a Lower OCS for Mobile Robots is a

ProblemProblem

Mapping and NavigationMapping and NavigationHistogramic In-Motion Histogramic In-Motion

MappingMapping CARMEL Robot, An Example: CARMEL Robot, An Example:

– Max Speed: V = 0.78 m/sMax Speed: V = 0.78 m/s– D = 100 meters. Minimum distance needed for D = 100 meters. Minimum distance needed for

an obstacle avoidance maneuver an obstacle avoidance maneuver – R = 200 meters. Initial Detection of an objectR = 200 meters. Initial Detection of an object– (R – D) / V = 1.28 s(R – D) / V = 1.28 s– Tp = 160 msec, Sensor firing timeTp = 160 msec, Sensor firing time– 1.28 s / 160 msec = 8 readings total1.28 s / 160 msec = 8 readings total

A mapping algorithm must build OCS quicklyA mapping algorithm must build OCS quickly Meanwhile must detect erroneous readingsMeanwhile must detect erroneous readings Growth Rate Operator (GRO) is IntroducedGrowth Rate Operator (GRO) is Introduced

Mapping and NavigationMapping and NavigationHistogramic In-Motion Histogramic In-Motion

MappingMapping

GRO Opr – a: Original CVs, GRO Opr – a: Original CVs, b: Mask, c: Updated CVs b: Mask, c: Updated CVs

Mapping and Mapping and NavigationNavigation

Why Vision ?Why Vision ? Sonars: slow, not for 3D Mapping

Laser-based: expensive and/or slow

Vision-based sensors: 1) Good for building 3D models and large scale models. 2) Good for recognition 3) Fast and affordable

Speed and Affordability depends on the quality of the stereo system(The more robust the stereo, the slower and/or more expensive it is)

Mapping and Mapping and NavigationNavigation

Visual SensorVisual Sensor Where uncertainty comes from ?

– From the limitations of the camera– From the complexity of the

environment

What are parameters that determine the reliability of data ?– Feature match error– Depth calculation error

Mapping and Mapping and NavigationNavigationExample IExample I

Occupancy Grid Mapping – Original PictureOccupancy Grid Mapping – Original Picture

Mapping and Mapping and NavigationNavigation Example I Example I

Occupancy Grid Mapping – Disparity Image Occupancy Grid Mapping – Disparity Image ( Black : Invalid, Brighter : Closer to Camera )( Black : Invalid, Brighter : Closer to Camera )

Mapping and Mapping and NavigationNavigation Example I Example I

Occupancy Grid Mapping Occupancy Grid Mapping Estimation of Clear, Occupied RegionsEstimation of Clear, Occupied Regions

ConclusionConclusion

Introduction to MappingIntroduction to Mapping Brief Description and Comparison of Brief Description and Comparison of

MethodsMethods Occupancy Grid MethodOccupancy Grid Method Sensors (Sonar) and Mapping using Sensors (Sonar) and Mapping using

Occupancy/Certainty/Histogram GridOccupancy/Certainty/Histogram Grid Vision and Occupancy GridVision and Occupancy Grid

ReferencesReferences

J. Borenstein, Y. Koren. “HISTOGRAMIC IN-MOTION MAPPING FOR MOBILE ROBOT OBSTACLE AVOIDANCE”, IEEE Journal of Robotics and Automation, Vol. 7, No. 4, 1991,

pp. 535-539. Chris Urmson, M. Bernardine Dias, “Stereo Vision Based

Navigation for Sun-Synchronous Exploration“, Robotics Institute, Carnegie Mellon University

Jos´e Santos-Victor, Alexandre Bernardino. “Vision-based Navigation, Environmental Representations and Imaging Geometries”

Don Murray, Jim Little. “Using real-time stereo vision for mobile robot navigation”, Computer Science Dept., University of British Columbia

ThanksThanks