AmirKabir University Computer Engineering Dept. Sensor Based Mapping and Navigation Robotic Course...
-
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