Coordination of car-like robots
The goal is to design a program to compute coordinated paths for
several car-like robots in a polygonal environment. The inputs are:
i) a description of the environment in terms of convex polygons; ii)
convex polygonal descriptions of three robots; iii) initial and goal
configurations for the robots. The outputs are three paths and
trajectories that coordinate the motions of the robots such that the
robots reach their goals, avoid collisions, and obey the car-like
motion constraints.
The project is organized into 5 steps:
- Compute local-minima-free potential in a 2D
workspace:
Write a program computes the NF1 or NF2 potential field, given a
rectangular workspace with convex polygonal obstacles (that may
overlap) and a point goal position in the 2D workspace.
- Implement a collision checker: Write a program that
generates the convex C-obstacle, given a convex polygonal translating
robot and a convex polygonal obstacle. Extend this program to compute
a 3D bitmap representation of the C-obstacle for a polygonal robot
that translates and rotates. Implement a binary-valued function that
test whether the configuration $(x,y,\theta)$ produces a collision.
- Plan holonomic paths: Write a potential-field path
planner that uses best-first search for plan a path for a single
robot that can translate (in any direction) or rotate in a workspace
that has polygonal obstacles.
- Plan nonholonomic paths: Transform a path
generated by the holonomic planner into a path that satisfies
the nonholonomic constraints, using Reeds and Shepp curves.
- Coordinate nonholonomic paths: Use coordination
space techniques to compute trajectories that coordinate three
robots such that collisions between the robots are avoided and the
robots use paths produced by the nonholonomic planner.
Related paper:
"A Fast Path Planner for a Car-Like Indoor Mobile Robot", by
J.-C. Latombe. In Proc. Ninth National Conference
on Artificial Intelligence (AAAI), pages 659-665, 1991.