Device and method for controlling robot
First Claim
1. A device for controlling a robot;
- the device making the robot execute tasks including a plurality of work units in a parallel manner for several workpieces, in accordance with a plurality of operation programs for individually commanding the plurality of work units;
each of the plurality of operation programs including a description of a task starting condition as a precondition for starting a corresponding work unit by the robot;
the device comprising;
an information collecting section collecting state information showing, in real time, an operating state of an environment allowing the robot to execute said tasks;
a program selecting section selecting a first executable program satisfying said task starting condition described in said first executable program, from operation programs ready to be executed for workpieces among said plurality of operation programs, by judging whether said operating state satisfies said task starting condition based on said state information collected by said information collecting section;
a processing section processing, for execution, said first executable program selected by said program selecting section; and
a program-completion judging section judging whether said processing section has completed or not a processing of said first executable program;
wherein said program selecting section selects a second executable program satisfying said task starting condition described in said second executable program, from said operation programs ready to be executed, by judging whether said operating state satisfies said task starting condition based on said state information, as an operation program to be subsequently processed for execution by said processing section, depending on a judgment performed by said program-completion judging section;
wherein said program-completion judging section is provided with internal information showing a state of an internal model provided by modeling said environment allowing the robot to execute said tasks, said internal information adapted to show an operating state of said environment based on whether or not a command in an operation program is output, and judges whether said internal information coincides with said state information collected by said information collecting section, thereby judging whether said processing section has completed said processing;
wherein said program-completion judging section judges whether a predetermined time has elapsed during judging whether said processing section has completed or not said processing, said predetermined time being defined from an instant when said command in said operation program is output to an instant when said operating state of said environment is actually changed;
wherein said plurality of operation programs include an exception operation program for commanding an exception-processing work unit provided for an escape motion, said exception operation program being different from said operation programs ready to be executed, wherein a certain operation program in said plurality of operation programs is provided with a branch command for branching to said exception operation program when an abnormality occurs in a work unit commanded by said certain operation program;
wherein, when said program-completion judging section judges that said internal information coincides with said state information and said processing section has completed said processing, and when said program-completion judging section judges that said time has not elapsed during judging whether said processing section has completed or not said processing, said processing section processes said second executable program selected by said program selecting section; and
wherein, when said program-completion judging section judges that said internal information does not coincide with said state information and said processing section has not completed said processing, or alternatively, when said program-completion judging section judges that said time has elapsed during judging whether said processing section has completed or not said processing, and if said branch command is described in said first executable program, said processing section processes said exception operation program in place of said second executable program in accordance with said branch command.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
-
Citations
11 Claims
-
1. A device for controlling a robot;
-
the device making the robot execute tasks including a plurality of work units in a parallel manner for several workpieces, in accordance with a plurality of operation programs for individually commanding the plurality of work units; each of the plurality of operation programs including a description of a task starting condition as a precondition for starting a corresponding work unit by the robot; the device comprising; an information collecting section collecting state information showing, in real time, an operating state of an environment allowing the robot to execute said tasks; a program selecting section selecting a first executable program satisfying said task starting condition described in said first executable program, from operation programs ready to be executed for workpieces among said plurality of operation programs, by judging whether said operating state satisfies said task starting condition based on said state information collected by said information collecting section; a processing section processing, for execution, said first executable program selected by said program selecting section; and a program-completion judging section judging whether said processing section has completed or not a processing of said first executable program; wherein said program selecting section selects a second executable program satisfying said task starting condition described in said second executable program, from said operation programs ready to be executed, by judging whether said operating state satisfies said task starting condition based on said state information, as an operation program to be subsequently processed for execution by said processing section, depending on a judgment performed by said program-completion judging section; wherein said program-completion judging section is provided with internal information showing a state of an internal model provided by modeling said environment allowing the robot to execute said tasks, said internal information adapted to show an operating state of said environment based on whether or not a command in an operation program is output, and judges whether said internal information coincides with said state information collected by said information collecting section, thereby judging whether said processing section has completed said processing; wherein said program-completion judging section judges whether a predetermined time has elapsed during judging whether said processing section has completed or not said processing, said predetermined time being defined from an instant when said command in said operation program is output to an instant when said operating state of said environment is actually changed; wherein said plurality of operation programs include an exception operation program for commanding an exception-processing work unit provided for an escape motion, said exception operation program being different from said operation programs ready to be executed, wherein a certain operation program in said plurality of operation programs is provided with a branch command for branching to said exception operation program when an abnormality occurs in a work unit commanded by said certain operation program; wherein, when said program-completion judging section judges that said internal information coincides with said state information and said processing section has completed said processing, and when said program-completion judging section judges that said time has not elapsed during judging whether said processing section has completed or not said processing, said processing section processes said second executable program selected by said program selecting section; and wherein, when said program-completion judging section judges that said internal information does not coincide with said state information and said processing section has not completed said processing, or alternatively, when said program-completion judging section judges that said time has elapsed during judging whether said processing section has completed or not said processing, and if said branch command is described in said first executable program, said processing section processes said exception operation program in place of said second executable program in accordance with said branch command.
-
-
2. A device as set forth in claim 1, wherein said program selecting section specifies a certain number of operation programs ready to be executed for workpieces among said plurality of operation programs, by judging whether said operating state satisfies said task starting condition based on said state information, and selects one first executable program from among said operation programs as specified, in accordance with a predetermined rule.
-
3. A device as set forth in claim 1, wherein said program selecting section specifies said operation programs ready to be executed, by referring to a plurality of operation scripts defining an execution order of said plurality of operation programs in connection respectively with said workpieces.
-
4. A device as set forth in claim 3, further comprising a storage section storing said plurality of operation programs and said plurality of operation scripts.
-
5. A device as set forth in claim 1, wherein, before said program-completion judging section judges that said processing section has completed said processing, said program selecting section selects said second executable program and said processing section processes, for execution, said second executable program.
-
6. A device as set forth in claim 1, further comprising a stop controlling section making the robot stop as an emergency during execution of said tasks;
- a state judging section provided with said internal information and judging whether said internal information coincides with said state information collected by said information collecting section; and
a restart controlling section canceling an emergency stop and restarting said tasks, when said state judging section judges that said internal information coincides with said state information.
- a state judging section provided with said internal information and judging whether said internal information coincides with said state information collected by said information collecting section; and
-
7. A device as set forth in claim 6, wherein, when said state judging section judges that said internal information does not coincide with said state information, said restart controlling section outputs a message signal for notifying at least one of a detail of, and a countermeasure for, non-coincidence between said internal information and said state information, before restarting said tasks.
-
8. A device as set forth in claim 6, wherein, when said state judging section judges that said internal information does not coincide with said state information, said restart controlling section outputs a message signal for requiring a restart permission instruction, before restarting said tasks.
-
9. A device as set forth in claim 8, wherein, when said restart permission instruction is entered, said restart controlling section rewrites a content of said internal information so as to coincide with said state information, and thereafter restarts said tasks.
-
10. A method for controlling a robot;
-
the method making the robot execute tasks including a plurality of work units in a parallel manner for several workpieces, in accordance with a plurality of operation programs for individually commanding the plurality of work units; each of the plurality of operation programs including a description of a task starting condition as a precondition for starting a corresponding work unit by the robot; the method comprising; collecting state information showing, in real time, an operating state of an environment allowing the robot to execute said tasks; selecting a first executable program satisfying said task starting condition described in said first executable program, from operation programs ready to be executed for workpieces among said plurality of operation programs, by judging whether said operating state satisfies said task starting condition based on said state information as collected; processing, for execution, said first executable program as selected; selecting a second executable program satisfying said task starting condition described in said second executable program, from said operation programs ready to be executed, by judging whether said operating state satisfies said task starting condition based on said state information as collected, depending on a state of processing of said first executable program; and processing, for execution, said second executable program as selected, wherein the method further comprises, before selecting said second executable program, judging whether internal information showing a state of an internal model, provided by modeling said environment allowing the robot to execute said tasks, coincides with said state information as collected, said internal information adapted to show an operating state of said environment based on whether or not a command in an operation program is output, thereby judging whether said processing of said first executable program has been completed, and judging whether a predetermined time has elapsed during judging whether said processing of said first executable program has been completed or not said predetermined time being defined from an instant when said command in said operation program is output to an instant when said operating state of said environment is actually changed; wherein said plurality of operation programs include an exception operation program for commanding an exception-processing work unit provided for an escape motion, said exception operation program being different from said operation programs ready to be executed, wherein a certain operation program in said plurality of operation programs is provided with a branch command for branching to said exception operation program when an abnormality occurs in a work unit commanded by said certain operation program; wherein, when judging that said internal information coincides with said state information and said processing of said first executable program has been completed, and when judging that said time has not elapsed during judging whether said processing of said first executable program has been completed or not, said second executable program is processed; and wherein, when judging that said internal information does not coincide with said state information and said processing of said first executable program has not been completed, or alternatively, when judging that said time has elapsed during judging whether said processing of said first executable program has been completed or not, and if said branch command is described in said first executable program, said exception operation program is processed in place of said second executable program in accordance with said branch command.
-
-
11. A method as set forth in claim 10, further comprising judging whether said internal information coincides with said state information as collected, when the robot stops due to an emergency during execution of said tasks;
- and canceling an emergency stop and restarting said tasks, when said internal information is judged as to coincide with said state information.
Specification