Elements of Robotics
The process by which any robot performs any required task can be broken down into three broad steps:
* Perception
* Decision Making
* Action
The process by which any robot performs any required task can be broken down into three broad steps:
* Perception
* Decision Making
* Action
This involved hands-on practice with the Gazebo Simulator, by designing a custom differential drive mobile robot and a world environment to house it in.
Topics covered:
* Packages and Catkin workspaces
* Command-line utilities
* Nodes, Topics and Messages
* Services
Algorithms covered:
* Extended Kalman Filter
* Particle Filter / Monte Carlo Localization
References:
* Thrun et al., 2001. Robust Monte Carlo Localization for Mobile Robots
Algorithms covered:
* Occupancy Grid Mapping
* Grid-based FastSLAM
* GraphSLAM
* RTAB-Map
References:
* Octomap: Probabilistic 3D Mapping Framework
* A Tutorial on Graph-Based SLAM, Grisetti
* The GraphSLAM Algorithm with Applications to Large-Scale Mapping of Urban Structures, Thrun
1. Discrete/Combinatorial Methods: Explicitly discretize the robot’s workspace into a connected graph, and apply a graph-search algorithm to calculate the best path.
* Discretization (Roadmap, Cell Decomposition, Gradient Field)
* Grid Search (Uniform Cost, A*)
References:
* Heuristics Guide
* Pathfinding Visualization
* MovingAI A* Variants
* Variants of A* - Stanford
2. Sample-based methods: Instead of discretizing every segment of the workspace, take a number of samples and use them to build a discrete representation of the workspace.
* Probabilistic Roadmap
* Rapidly Exploring Random Tree
* Path Smoothing
References:
* A Comparative Study of Probabilistic Roadmap Planners
* Path Planning for Non-Circular Micro Aerial Vehicles in Constrained Environments
3. Probablistic methods: Takes into account the uncertainty of robot motion.
* Markov Decision Processes
* Value Iteration Algorithm for finding the optimal policy to the MDP