Framework
Class Diagram
classDiagram
direction LR
class Robot {
+Array state
+transition()
}
class Sensor {
+sense()
}
class Task {
+Robot robot
+Sensor sensor
+Array target_map
+Array obstacle_map
+float dt
+step()
}
class Model {
+learn()
+predict()
}
class Objective {
+eval()
}
class Planner {
+plan()
}
class Controller {
+control()
}
Robot --* Task
Sensor --* Robot
Model --* Task
Model --> Objective
Objective --> Planner
Planner --> Controller
Controller --> Task
Roadmap
Models
- Gaussian Process Regression (GPR): continuous
- Occupanocy Grid Map (OGM): discrete
Objectives
- Entropy
Planners
- Myopic Planner: produces a single informative waypoint
- Monte Carlo Tree Search (MCTS): sampling-based, producesa sequence of waypoints or actions
- Rapidly-Exploring Random Trees (RRT): sampling-based, producesa a sequence of waypoints
- Bayesian Optimization (BO): trajectory optimization, producesa a parameterized trajectory
- Covariance Matrix Adaptation Evolution Strategy (CMA-ES): trajectory optimization, produces a parameterized trajectory
Controllers
- Proportional Derivative (PD) Controller
- Model Predictive Controller (MPC)
Sensors
- Single-Beam Ranger: sonar
- Multi-Beam Ranger: LiDAR, depth camera
Robots
- Omni-Directional Robot
- Differential-Drive Robot
- Ackermann-Steering Robot
Tasks
Note
Navigation is not a RIG task.
- Navigation:
- Active Mapping
- Environmental Mapping
- Occupancy Mapping
- Autonomous Inspection
- Search and Rescue
- Active Localization
- Active Simultaneous Localization and Mapping (SLAM)
| Task | Goal | Requires Target Map | Requires Obstacle Map | Considers Collision | Localization Algorithm | Mapping Algorithm |
|---|---|---|---|---|---|---|
| Navigation | Move from start position to goal position | ❌ | ✅ Known | ✅ | ❌ | ❌ |
| Environmental Mapping | Build the target map | ✅ Unknown | ❌/✅ Free/Known |
❌/✅ | ❌ | ✅ |
| Occupancy Mapping | Build the obstacle map | ❌ | ✅ Unknown | ✅ | ❌ | ✅ |
| Autonomous Inspection | Build the target map | ✅ Unknown Dense | ✅ Unknown | ✅ | ❌ | ✅ |
| Search and Rescue | Locate as many victims as possible | ✅ Unknown Sparse | ✅ Unknown | ✅ | ❌ | ✅ |
| Active Localization | Actively reduce localization uncertainty while navigation | ❌ | ✅ Known | ✅ | ✅ | ❌ |
| Active SLAM | Actively reduce localization and mapping uncertainty | ❌ | ✅ Unknown | ✅ | ✅ | ✅ |