Mobility Motion Patterns @ CSAIL
A review of the mobility motion patterns for gaussian process based navigation by the CSAIL lab at MIT.
Resources
- CSAIL@MIT
- Publications@Drive
- 11-mobile_agent_trajectory_prediction - motion patterns and trajectory prediction, heavily robot focused.
- 11-modelling_motion_patterns - motion patterns and trajectory prediction, more gps map tracking focused.
- 11-threat_assesment_for_safe_navigation - auode's thesis covering most of the topics here.
- 13-safe_motion_planning - improves on the initial ideas and algorithms with dynamic feasability checks.
Motion Patterns
The mean velocity field represents the mean of each probability distribution that is the output of some location (variances are not shown). Trajectories contribute training points from which the guassian process learns.
Trajectory Prediction
Given a motion pattern, a probability distribution for K sampled steps along a trajectory can be generated
- Input starting location
- Sample from the motion pattern GP to get velocity deltas at that point.
- Use the deltas to generate the next location on the trajectory.
- Repeat for K steps.
- Generate a conditional probability for the trajectory against the motion pattern (refer to the paper).
Comparison with CPSLabs
Uses locations as inputs, c.f. CPSLabs who use relative human obstacle distances as inputs. Outputs from both are a kind of control. Here also they do not use any history, just the current location of the robot.
What Trajectories are used to Train What Motion Patterns?
Could of course assign trajectories to a motion pattern by hand, but they instead use an automatic dirichlet process to handle this. I don't much about this, but it is a way of concentrating/dispersing a collection of probability distributions. i.e. it lets us scale up the number of motion patterns automatically given a set of training data. It also lets us choose them appropriately in a probabilistic formalism.
Trajectory Prediction (RR-GP)
Notes
- Uses rapidly exploring random trees inbetween guassian samples from motion patterns to guarantee practical feasability
- Each tree is grown towards regions corresponding to a learned mobility pattern.
Basic motivation is to use RR-GP when there is motion information, and regular RRT algorithms when no such information is available.
Questions
- How does it localise onto the motion patterns? These seem to use global localisation references.
- What if the obstacle avoiding training trajectories aren't following exactly the same curves? i.e. you apply a trained motion pattern on a slightly different real world situation?
Conclusions
The RR-GP here is ultimately used for predicting the trajectories of dynamic vehicles, not the host vehicle. For the host vehicle, they restrict themselves to CC-RRT - chance constrained rapidly exploring trees. So it doesn't exactly match our situation. Nonetheless, I like the idea of learning flows for certain situations which could be recognised by the robot - e.g. turning into a corridor, moving down a corridor. However, this would mean it is still a very researchy problem.
Errata
Breaking Down Complex Environments
An interesting quote from 13-safe_motion_planning which might be a hint on what they are thinking for less structured, complicated environments:
"Complex obstacle environments can typically be broken down into a sequence of interactions with a smaller number of dynamic obstacles, while most of the “decisions” associated with motion intentions can be broken down to a series of consecutive decisions involving fewer branching paths."