Patent ID: 7211980

Claim:
A method for a robot to follow a target in its environment, comprising: receiving a target bearing from a target tracking behavior; and sensing whether the robot is blocked in a front direction and if so, then: adjusting the robot's motion to avoid a nearest obstacle in the front direction by adjusting at least one of a rotational direction, a rotational velocity, a translational direction, and a translational velocity; and if the robot is not blocked in front, then: sensing whether the robot is blocked toward the target bearing and if so, then: setting the rotational direction opposite from that of the target bearing; adjusting the rotational velocity to a first fractional amount of a maximum rotational velocity; and adjusting the translational velocity to a second fractional amount of a maximum translational velocity; and if the robot is not blocked toward the target bearing, then: adjusting the rotational velocity proportional to an angle of the target bearing; and adjusting the translational velocity proportional to a distance to the nearest obstacle in the front direction.