Week 9: Mapping & Understanding Environments
Introduction to Environmental Mapping
Mapping is a fundamental capability for humanoid robots, enabling them to navigate, interact with objects, and understand their spatial relationship to the world around them. Unlike static maps used by humans, robot maps must be dynamically constructed, updated, and maintained as the robot moves and the environment changes. This week explores the principles and techniques used by robots to create and utilize environmental maps.
Environmental mapping serves multiple purposes for humanoid robots:
- Navigation: Planning paths to goals while avoiding obstacles
- Localization: Determining the robot's position within the environment
- Interaction: Understanding where objects are located for manipulation
- Safety: Identifying safe areas and potential hazards
- Memory: Building persistent representations of the environment
Simultaneous Localization and Mapping (SLAM)
SLAM Fundamentals
SLAM represents one of the most challenging problems in robotics, requiring robots to simultaneously build a map of their environment while determining their location within that map. This chicken-and-egg problem is particularly complex because:
- Accurate localization requires a good map
- Building a good map requires accurate localization
- Both processes must occur in real-time with limited computational resources
The SLAM problem can be mathematically expressed as estimating the robot's trajectory and the map of landmarks simultaneously:
P(x₀:t, m | z₁:t, u₁:t)
Where x₀:t represents the robot's trajectory, m represents the map, z₁:t represents sensor observations, and u₁:t represents control inputs.
SLAM Approaches
Filter-based SLAM:
- Extended Kalman Filter (EKF): Linearizes nonlinear motion and observation models
- Particle Filter: Represents probability distributions with sample sets
- Unscented Kalman Filter: Uses deterministic sampling for better approximation
Graph-based SLAM:
- Represents the problem as an optimization over poses and landmarks
- Uses graph optimization techniques to minimize errors
- More scalable for large environments
Keyframe-based SLAM:
- Selects representative frames to reduce computational load
- Creates compact map representations
- Balances accuracy with computational efficiency
Types of Maps
Metric Maps
Metric maps represent the environment with precise geometric information:
Occupancy Grids:
- Divide space into discrete cells representing occupancy probability
- Each cell contains probability of being occupied, free, or unknown
- Efficient for path planning and obstacle avoidance
- Scale with resolution requirements (higher resolution = more memory)
Point Clouds:
- Collections of 3D points representing surfaces and objects
- Generated from depth sensors like LIDAR or stereo cameras
- Provide detailed geometric information
- Require significant storage and processing
Volumetric Maps:
- Represent 3D space as discrete volume elements (voxels)
- Enable complex spatial reasoning
- Memory-intensive but provide rich environmental information
Topological Maps
Topological maps focus on connectivity rather than precise geometry:
Node-Link Representations:
- Nodes represent places of interest
- Links represent navigable connections
- Compact representation suitable for high-level planning
- Robust to minor environmental changes
Visibility Graphs:
- Connect nodes based on line-of-sight relationships
- Optimal path planning in polygonal environments
- Computationally efficient for certain scenarios
Semantic Maps
Semantic maps add meaning to geometric structures:
Object-based Maps:
- Associate objects with locations and properties
- Enable interaction planning based on object semantics
- Support high-level reasoning about the environment
Activity Maps:
- Include information about typical activities in areas
- Guide behavior based on location context
- Support social navigation and interaction
Sensor Integration for Mapping
LIDAR-based Mapping
LIDAR sensors provide precise distance measurements:
Advantages:
- High accuracy distance measurements
- Works in various lighting conditions
- Reliable for creating detailed geometric maps
- Low noise compared to other sensors
Challenges:
- Expensive hardware
- Limited ability to distinguish materials
- Difficult to detect transparent or highly reflective surfaces
- Sparse data in some configurations
Processing Techniques:
- Scan matching to align consecutive measurements
- Feature extraction for landmark identification
- Registration algorithms for global consistency
Visual Mapping
Camera-based mapping leverages rich visual information:
Structure from Motion (SfM):
- Reconstructs 3D structure from multiple images
- Identifies and tracks visual features
- Creates sparse point cloud representations
Visual Odometry:
- Estimates motion from visual information
- Tracks features across image sequences
- Provides relative pose estimates
Direct Methods:
- Use intensity values directly without feature extraction
- Dense reconstruction from image sequences
- More robust in textureless environments
Multi-Sensor Fusion
Combining different sensor types improves mapping quality:
Complementary Information:
- LIDAR provides geometric accuracy
- Cameras provide appearance information
- IMUs provide motion continuity
- GPS provides absolute positioning
Fusion Strategies:
- Early fusion: Combine raw sensor data
- Late fusion: Combine processed information
- Deep fusion: Learn optimal combination strategies
Environment Understanding
Spatial Reasoning
Robots must understand spatial relationships:
Qualitative Spatial Relations:
- Above, below, left, right, near, far
- Topological relationships like connected, adjacent, contained
- Directional relationships for navigation
Quantitative Spatial Relations:
- Precise distances and angles
- Coordinate transformations between reference frames
- Geometric calculations for planning
Object Recognition and Placement
Understanding what objects exist and where:
Instance Recognition:
- Identifying specific known objects
- Tracking object poses over time
- Associating objects with affordances
Category Recognition:
- Classifying objects into general categories
- Understanding typical properties of object classes
- Predicting likely locations for object types
Scene Understanding:
- Recognizing room types and functional areas
- Understanding typical object arrangements
- Predicting likely object locations based on context
Map Maintenance and Updates
Dynamic Environment Handling
Environments constantly change, requiring adaptive maps:
Change Detection:
- Comparing current observations with stored maps
- Identifying moved, added, or removed objects
- Updating map confidence based on changes
Temporal Consistency:
- Maintaining consistent representations over time
- Handling temporary vs. permanent changes
- Managing map evolution
Map Optimization
Improving map quality over time:
Loop Closure:
- Detecting when returning to previously visited areas
- Correcting accumulated drift errors
- Maintaining global consistency
Map Refinement:
- Improving accuracy with additional observations
- Reducing uncertainty in map estimates
- Merging redundant information
Applications in Humanoid Robotics
Navigation and Path Planning
Maps enable intelligent navigation:
Global Path Planning:
- Finding optimal routes between locations
- Considering multiple objectives (distance, safety, efficiency)
- Handling dynamic obstacles
Local Path Planning:
- Real-time obstacle avoidance
- Smooth trajectory generation
- Human-aware navigation
Human-Robot Interaction
Maps support spatial aspects of interaction:
Spatial Referencing:
- Understanding spatial language ("over there", "near the door")
- Coordinating attention with humans
- Supporting collaborative tasks
Social Navigation:
- Respecting human spatial preferences
- Following social norms for movement
- Avoiding uncomfortable proximity
Challenges and Limitations
Scalability Issues
Large environments present significant challenges:
Memory Requirements:
- High-resolution maps consume substantial memory
- Long-term operation requires efficient storage
- Multiple map representations may be needed
Computational Complexity:
- Processing large amounts of sensor data
- Real-time requirements constrain algorithm choices
- Balancing accuracy with speed
Environmental Challenges
Different environments present unique difficulties:
Dynamic Environments:
- Moving objects and changing layouts
- Distinguishing temporary from permanent changes
- Maintaining useful maps despite constant changes
Ambiguous Situations:
- Symmetric environments that are difficult to distinguish
- Similar-looking areas that cause confusion
- Places where geometric information is insufficient
Sensor Limitations
Physical sensor constraints affect mapping:
Limited Field of View:
- Occlusions hide parts of the environment
- Requires strategic viewpoint planning
- Necessitates revisiting areas for completeness
Noise and Uncertainty:
- Sensor readings contain errors
- Accumulated errors affect map quality
- Probabilistic representations required
Advanced Mapping Techniques
Hierarchical Mapping
Organizing maps at multiple levels of detail:
Multi-resolution Maps:
- Fine detail where needed, coarse elsewhere
- Adaptive resolution based on importance
- Efficient representation of large areas
Multi-layer Maps:
- Separate layers for different information types
- Floor plans, object locations, activity patterns
- Flexible querying and updating
Collaborative Mapping
Multiple robots sharing mapping information:
Distributed SLAM:
- Sharing information between robots
- Consistent global maps across teams
- Efficient exploration strategies
Cloud Mapping:
- Centralized map storage and processing
- Shared maps across robot deployments
- Continuous map improvement over time
Integration with Other Systems
Perception Integration
Mapping connects with other perception systems:
Object Detection:
- Feeding object locations into semantic maps
- Using map context to improve object recognition
- Maintaining object histories over time
Localization:
- Using maps for position determination
- Providing prior information for localization
- Handling localization failures gracefully