1. A computer program product for controlling a robot, the computer program product comprising a non-transitory computer-readable medium having computer program instructions stored therein for causing at least one computer to perform operations of: controlling the robot to acquire sensor data; computing one or more saliency maps from the sensor data based on a robot control plan; fusing the one or more saliency maps into one combined saliency map; creating a list in hierarchical spatial working memory of one or more targets according to the robot control plan from the combined saliency map; prioritizing the targets in the hierarchical spatial working memory according to the robot control plan; and commanding the robot to focus on the targets in order of priority: wherein the hierarchical spatial working memory represents each target as a set of Eye Centered Coordinates, a set of Head Centered Coordinates, a set of Body Centered Coordinates, a set of current Eye Camera positions and a set of current Head positions.