A robot platform includes perceptors, locomotors, and a system controller,
which executes instructions for autonomously navigating a robot. The
instructions repeat, on each iteration through an event timing loop, the
acts of defining an event horizon based on the robot's current velocity,
detecting a range to obstacles around the robot, testing for an event
horizon intrusion by determining if any range to the obstacles is within
the event horizon, and adjusting rotational and translational velocity of
the robot accordingly. If the event horizon intrusion occurs, rotational
velocity is modified by a proportion of the current rotational velocity
reduced by a proportion of the range to the nearest obstacle and
translational velocity is modified by a proportion of the range to the
nearest obstacle. If no event horizon intrusion occurs, translational
velocity is set as a ratio of a speed factor relative to a maximum speed.