Nonholonomic Mobile Robot Motion Planning in State Lattices Mihail Pivtoraiko Robotics Institute Carnegie Mellon University Pittsburgh, PA 15213 mihail@cs.cmu.edu Ross A. Knepper Robotics Institute Carnegie Mellon University Pittsburgh, PA 15213 rak@ri.cmu.edu Alonzo Kelly Robotics Institute Carnegie Mellon University Pittsburgh, PA 15213 alonzo@ri.cmu.edu Abstract We present an approach to the problem of differentially-constrained mobile robot motion planning in arbitrary cost fields. Given a model of vehicle ma- neuverability, a boundary value problem solver determines a feasible motion between two points in state space. We use this capacity to compute a control set which connects any state to its reachable neighbors in a limited neigh- borhood. The control set induces a connectivity in a search graph, which encodes only feasible motions by construction and, by appropriate choice of state space dimension, can permit full configuration space collision detection while imposing heading and curvature continuity constraints at nodes. Ap- plications to planetary rovers and terrestrial unmanned ground vehicles are illustrated. Experimental results with research prototype rovers demonstrate that the planner allows exploiting vehicle maneuverability in rough planetary terrain, while featuring real-time performance. 1 Introduction Discrete representation of states is a well-established method of reducing the computa- tional complexity of planning at the expense of reducing completeness. However, in motion planning, such discrete representations complicate the satisfaction of differential constraints which reflect the limited maneuverability of many real vehicles. We propose a mechanism to achieve the computational advantages of discretization while satisfying motion constraints. To this end we introduce a search space, referred to as the state lattice. The lattice is used to formulate a nonholonomic motion planning query as a graph search. The state lattice encodes a graph whose nodes are a discretized set of all reachable configurations of the system and whose edges are feasible motions which connect these states exactly. The process of forming edges does not make the standard assumption that adjacent nodes are necessarily connected. Rather, every node is connected by an edge to only those nodes in a small neighborhood for which a feasible connecting motion exists.