A method for predicting a collision between a mobile robot (18, 800) and an obstacle in an environment, comprising: generating a control trajectory for the mobile robot (18, 800) for each of a plurality of control cycles; and predicting, between each of the plurality of control cycles, a collision of the mobile robot (18, 800) and an obstacle, wherein the step of predicting includes: obtaining laser scan data for the mobile robot (18, 800) at a current location in the environment, wherein the laser scan data includes raw data output from a laser scanner and wherein the raw data output from the laser scanner includes laser scan points indicating points of reflection off of obstacles in the environment; representing the mobile robot (18, 800) at the current location as a polygon; predicting a future location of the mobile robot (18, 800) in the environment; producing predicted laser scan data corresponding to the future location of the mobile robot (18, 800) in the environment, wherein the predicted laser scan data includes predicted laser scan points indicating predicted points of reflection off of obstacles in the environment from the future location of the mobile robot (18, 800); and assessing the predicted laser scan data relative to the mobile robot (18, 800) at the current location to determine whether a collision with the obstacle is predicted, wherein assessing the predicted laser scan data includes connecting each of the laser scan points with a corresponding predicted laser scan point with an arc, thereby forming a plurality of arcs, and determining if any of the plurality of arcs penetrate the polygon representing the mobile robot (18, 800) at the current location. generating a control trajectory for the mobile robot (18, 800) for each of a plurality of control cycles; and predicting, between each of the plurality of control cycles, a collision of the mobile robot (18, 800) and an obstacle, wherein the step of predicting includes: obtaining laser scan data for the mobile robot (18, 800) at a current location in the environment, wherein the laser scan data includes raw data output from a laser scanner and wherein the raw data output from the laser scanner includes laser scan points indicating points of reflection off of obstacles in the environment; representing the mobile robot (18, 800) at the current location as a polygon; predicting a future location of the mobile robot (18, 800) in the environment; producing predicted laser scan data corresponding to the future location of the mobile robot (18, 800) in the environment, wherein the predicted laser scan data includes predicted laser scan points indicating predicted points of reflection off of obstacles in the environment from the future location of the mobile robot (18, 800); and assessing the predicted laser scan data relative to the mobile robot (18, 800) at the current location to determine whether a collision with the obstacle is predicted, wherein assessing the predicted laser scan data includes connecting each of the laser scan points with a corresponding predicted laser scan point with an arc, thereby forming a plurality of arcs, and determining if any of the plurality of arcs penetrate the polygon representing the mobile robot (18, 800) at the current location. obtaining laser scan data for the mobile robot (18, 800) at a current location in the environment, wherein the laser scan data includes raw data output from a laser scanner and wherein the raw data output from the laser scanner includes laser scan points indicating points of reflection off of obstacles in the environment; representing the mobile robot (18, 800) at the current location as a polygon; predicting a future location of the mobile robot (18, 800) in the environment; producing predicted laser scan data corresponding to the future location of the mobile robot (18, 800) in the environment, wherein the predicted laser scan data includes predicted laser scan points indicating predicted points of reflection off of obstacles in the environment from the future location of the mobile robot (18, 800); and assessing the predicted laser scan data relative to the mobile robot (18, 800) at the current location to determine whether a collision with the obstacle is predicted, wherein assessing the predicted laser scan data includes connecting each of the laser scan points with a corresponding predicted laser scan point with an arc, thereby forming a plurality of arcs, and determining if any of the plurality of arcs penetrate the polygon representing the mobile robot (18, 800) at the current location.