1. A method performed by one or more processors for generating a command for a robot controller, the method comprising: calling at least one action model having at least one action space to generate one or more feasible commands for each action space; calling each action model to generate an outcome for each command; sending each outcome to at least one behavior for evaluation, each behavior providing an outcome evaluation for each outcome; selecting a winning outcome for each action space based on the at least one outcome evaluation; selecting the command corresponding to the winning outcome for each action space; generating a single overall command based on one or more accumulated commands for each action space; and sending the overall command to the robot controller.