Patent attributes
A method of controlling a robot includes running multiple applications on a processor, where each application has a robot controller and an action selection engine. Each application is in communication with at least one behavior and at least one action model of at least part of the robot. The method includes running periodic action selection cycles on each action selection engine. Each action selection cycle includes selecting a command for each action space of each action model, generating a single overall command based on the accumulated commands for each action model, and sending the overall command to the robot controller for execution on the robot.