A
robot controller making a
robot execute tasks including several work units in a parallel manner for several workpieces, in accordance with several operation programs for individually commanding the work units. The
robot controller includes an information collecting section collecting state information showing, in real time, a state of an environment of the robot; a program selecting section selecting a first
executable program satisfying a task starting condition, from operation programs ready to be executed for workpieces, based on the state information; a
processing section
processing, for execution, the first
executable program; and a program-completion judging section judging whether the
processing section has completed a processing of the first
executable program. The program selecting section selects, based on the state information, a second executable program satisfying the task starting condition, from the operation programs ready to be executed, so as to satisfy a judgment of the program-completion judging section.