Robot platforms, methods, and computer media are disclosed. The robot
platform includes perceptors, locomotors, and a system controller, which
executes instructions for a robot to follow a target in its environment.
The method includes receiving a target bearing and sensing whether the
robot is blocked front. If the robot is blocked in front, then the
robot's motion is adjusted to avoid the nearest obstacle in front. If the
robot is not blocked in front, then the method senses whether the robot
is blocked toward the target bearing and if so, sets the rotational
direction opposite from the target bearing, and adjusts the rotational
velocity and translational velocity. If the robot is not blocked toward
the target bearing, then the rotational velocity is adjusted proportional
to an angle of the target bearing and the translational velocity is
adjusted proportional to a distance to the nearest obstacle in front.