A method for path planning by a robot comprising: generating a robot-centric cost map associated with an environment of the robot, the cost map comprising a plurality of cost map pixels, each cost map pixel of the plurality corresponding to a respective location in the environment and each cost map pixel of the plurality having an associated cost; generating a plurality of masks, each mask of the plurality comprising a plurality of mask pixels, wherein each mask pixel of the plurality corresponds to a respective location in the environment, and wherein each mask of the plurality has a projected path portion based on a trajectory for travel of the robot within the environment; determining a mask cost associated with each mask of the plurality based at least in part on the generated cost map; selecting a first mask of the plurality of masks based at least in part on the determined mask cost of the first mask, wherein the mask cost associated with the first mask is based at least in part on the cost map; determining actuator commands for the robot to travel the projected path portions included in the first mask; and actuating an actuator of the robot based at least in part on the determined actuator commands; wherein determining the mask cost includes determining the cost of the projected plurality of path portions; the method comprises determining if a recovery condition applies based at least in part on a position of the robot relative to one or more obstacles in the environment, and, if the recovery condition applies, modifying at least one of the cost map and/or one or more of the plurality of masks, wherein a recovery condition identifies a maneuver to be performed by the robot; characterized in that: modifying at least one of the cost map and/or one of the plurality of masks includes implementing a cost penalty each time the first mask is selected while the recovery condition applies, wherein the implemented cost penalty makes it less likely that the first mask will be selected again. generating a robot-centric cost map associated with an environment of the robot, the cost map comprising a plurality of cost map pixels, each cost map pixel of the plurality corresponding to a respective location in the environment and each cost map pixel of the plurality having an associated cost; generating a plurality of masks, each mask of the plurality comprising a plurality of mask pixels, wherein each mask pixel of the plurality corresponds to a respective location in the environment, and wherein each mask of the plurality has a projected path portion based on a trajectory for travel of the robot within the environment; determining a mask cost associated with each mask of the plurality based at least in part on the generated cost map; selecting a first mask of the plurality of masks based at least in part on the determined mask cost of the first mask, wherein the mask cost associated with the first mask is based at least in part on the cost map; determining actuator commands for the robot to travel the projected path portions included in the first mask; and actuating an actuator of the robot based at least in part on the determined actuator commands; wherein determining the mask cost includes determining the cost of the projected plurality of path portions; the method comprises determining if a recovery condition applies based at least in part on a position of the robot relative to one or more obstacles in the environment, and, if the recovery condition applies, modifying at least one of the cost map and/or one or more of the plurality of masks, wherein a recovery condition identifies a maneuver to be performed by the robot; characterized in that: modifying at least one of the cost map and/or one of the plurality of masks includes implementing a cost penalty each time the first mask is selected while the recovery condition applies, wherein the implemented cost penalty makes it less likely that the first mask will be selected again.