A method for operating a robot, comprising: causing the robot to perform a task in an environment, the task comprising one or more of: cleaning; moving an object; transporting an object; exploring; mapping; constructing; imaging; and diagnosing; generating data about the environment with one or more sensors of the robot as the robot performs the task; determining from the data that the robot is at least partially obstructed from performing the task; displaying , via at least one processor, a first alert on a user interface of the robot indicating at least in part that the robot cannot continue the task after a predetermined first delay after the determination that the robot is at least partially obstructed; attempting to cause the robot to perform the task after a predetermined second delay after displaying the first alert, the second delay being subsequent to the first delay, wherein the second delay is of a duration sufficient to allow time for an obstacle that is obstructing the robot from performing the task to be cleared or for the robot to be otherwise assisted; displaying , via the at least one processor, a second alert on the user interface of the robot indicating at least in part that the robot is at least partially obstructed from performing the task after a predetermined third delay, the third delay being subsequent to the second delay, characterised in that the method further comprises: receiving operating instructions from an operator and continuing the performance of the task based at least in part on the operating instructions, wherein the receiving of the operating instructions comprises receiving one or more paths of travel and displaying the one or more paths of travel, and receiving a selection, by the operator, of one path of the displayed paths. causing the robot to perform a task in an environment, the task comprising one or more of: cleaning; moving an object; transporting an object; exploring; mapping; constructing; imaging; and diagnosing; generating data about the environment with one or more sensors of the robot as the robot performs the task; determining from the data that the robot is at least partially obstructed from performing the task; displaying , via at least one processor, a first alert on a user interface of the robot indicating at least in part that the robot cannot continue the task after a predetermined first delay after the determination that the robot is at least partially obstructed; attempting to cause the robot to perform the task after a predetermined second delay after displaying the first alert, the second delay being subsequent to the first delay, wherein the second delay is of a duration sufficient to allow time for an obstacle that is obstructing the robot from performing the task to be cleared or for the robot to be otherwise assisted; displaying , via the at least one processor, a second alert on the user interface of the robot indicating at least in part that the robot is at least partially obstructed from performing the task after a predetermined third delay, the third delay being subsequent to the second delay, characterised in that the method further comprises: receiving operating instructions from an operator and continuing the performance of the task based at least in part on the operating instructions, wherein the receiving of the operating instructions comprises receiving one or more paths of travel and displaying the one or more paths of travel, and receiving a selection, by the operator, of one path of the displayed paths. <EOS>