Many robotics applications involve constrained or nonholonomic motion. One particular example, invented by Lester Dubins, involves a car (called a "Dubins car") that travels forward at a constant velocity subject to a minimum turning radius. In 1957, Dubins proved that the fastest route between any two poses in the (empty) Euclidean plane consists of at most three sections, each of which is either a straight section or a right or left turn with the smallest possible turning radius.
Dubins cars have proven to be a popular subject of study. Optimal routes have been established for Dubins cars that can also travel backwards (Reeds and Shepp) and for Dubins cars that seek to obtain an orientation within some tolerance (Váňa and Faigl). Work has been done to establish reachable sets for Dubins cars (and their 3D analogues: Fedotov, Patsko and Turova) and determine efficient algorithms to determine fastest routes in environments with obstacles (Agarwal et al).
In a similar vein, I tackled the problem of finding the fastest route around a corner in a hallway-like environment. Unlike existing methods that converge to the optimal solution through dynamic programming, I hoped to characterize the solution outright. Below is an interactive demo illustrating the problem and its solution.
Path planning within a known environment can be achieved by connecting the leaves of a Rapidly Expanding Random Tree (RRT) to form a connected graph, then finding paths through the graph using Dijkstra's algorithm (or variant).
I created a small python library to manage path planning with RRTs in 2D environments (private link: https://github.umn.edu/RSN-Navigation/path-planning).
A connected graph is created, extending throughout the entire map
A path is generated and post-processed from a given start and end point
A critical component of autonomous robotics is localization – determining the pose of a robot as a function of sensory inputs and previous pose estimates. One popular method of robot localization is Bayesian inference. New data from sensors is incorporated into previous estimates by use of Bayes' Theorem to create an updated estimate complete with full pose probability distribution. When this distribution is modeled as a multidimensional normal distribution, this strategy is embodied in the use of the Kalman Filter and its variations (EKFs, UKFs, etc).
I created a ROS (Robot Operating System) node to manage the estimation of x, y and orientation information in a robot given purely GPS data with an Extended Kalman Filter (EKF).