WO2021171350A1 - 制御装置、制御方法及び記録媒体 - Google Patents

制御装置、制御方法及び記録媒体 Download PDF

Info

Publication number
WO2021171350A1
WO2021171350A1 PCT/JP2020/007420 JP2020007420W WO2021171350A1 WO 2021171350 A1 WO2021171350 A1 WO 2021171350A1 JP 2020007420 W JP2020007420 W JP 2020007420W WO 2021171350 A1 WO2021171350 A1 WO 2021171350A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
peripheral device
information
state
sequence
Prior art date
Application number
PCT/JP2020/007420
Other languages
English (en)
French (fr)
Inventor
永哉 若山
小川 雅嗣
岳大 伊藤
峰斗 佐藤
大山 博之
伸治 加美
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to PCT/JP2020/007420 priority Critical patent/WO2021171350A1/ja
Priority to US17/799,984 priority patent/US20230072244A1/en
Priority to JP2022502356A priority patent/JP7323045B2/ja
Publication of WO2021171350A1 publication Critical patent/WO2021171350A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/4182Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell manipulators and conveyor only
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4189Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the transport system
    • G05B19/41895Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the transport system using automatic guided vehicles [AGV]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39102Manipulator cooperating with conveyor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40113Task planning

Definitions

  • the present invention relates to a technical field of a control device, a control method, and a recording medium that perform processing related to a task to be performed by a robot.
  • Patent Document 1 When a task to be made to work by a robot is given, a control method for controlling the robot necessary to execute the task has been proposed.
  • Patent Document 1 when a plurality of articles are gripped by a robot having a hand and stored in a container, a combination of the order in which the hands hold the articles is determined, and the storage is based on an index calculated for each combination.
  • a robot control device for determining the order of articles to be processed is disclosed.
  • Patent Document 1 does not disclose any method for determining the operation of the robot in this case.
  • One of the objects of the present invention is to provide a control device, a control method, and a recording medium capable of suitably generating an operation sequence of a robot in view of the above-mentioned problems.
  • control device is a control device, which is a peripheral device that shows robot motion information indicating the motion characteristics of a robot that executes a task and peripheral devices that indicate the motion characteristics of a peripheral device that transfers an object related to the task to the robot. It has an operation sequence generation means for generating an operation sequence indicating an operation to be executed by each of the robot and the peripheral device based on the operation information.
  • One aspect of the control method includes robot motion information indicating the motion characteristics of a robot that executes a task by a computer, peripheral device motion information indicating the motion characteristics of a peripheral device that transfers an object related to the task to the robot, and the like. Based on the above, an operation sequence indicating an operation to be executed by each of the robot and the peripheral device is generated.
  • One aspect of the recording medium is based on robot motion information indicating the motion characteristics of a robot that executes a task, and peripheral device motion information indicating the motion characteristics of a peripheral device that transfers an object related to the task to the robot.
  • the configuration of the robot control system is shown.
  • the hardware configuration of the control device is shown.
  • An example of the data structure of application information is shown.
  • a bird's-eye view of the work space is shown.
  • a display example of the task input screen is shown.
  • FIG. 1 shows the configuration of the robot control system 100 according to the first embodiment.
  • the robot control system 100 mainly includes a control device 1, an input device 2, a display device 3, a storage device 4, a robot 5, a measuring device 7, and a peripheral device 8.
  • the control device 1 When a task to be executed by the robot 5 and the peripheral device 8 (also referred to as a “target task”) is specified, the control device 1 performs an operation to be executed by the robot 5 and the peripheral device 8 at each time step (time step). A sequence is generated, and the operation sequence is supplied to the robot 5 and the peripheral device 8. As will be described later, the operation sequence is composed of tasks or commands (also referred to as "subtasks") in which the target task is decomposed into units that can be accepted by the robot 5 and the peripheral device 8, and hereinafter also referred to as a "subtask sequence". Call.
  • subtasks tasks or commands
  • the control device 1 is electrically connected to the input device 2, the display device 3, and the storage device 4. For example, the control device 1 receives an input signal “S1” for designating a target task from the input device 2. Further, the control device 1 transmits a display signal “S2” to the display device 3 for displaying the task to be executed by the robot 5. Further, the control device 1 transmits a control signal “S4” relating to the control of the robot 5 to the robot 5, and transmits a control signal “S5” relating to the control of the peripheral device 8 to the peripheral device 8. Further, the control device 1 receives the output signal “S3” from the measuring device 7.
  • the input device 2 is an interface that accepts user input, and corresponds to, for example, a touch panel, a button, a keyboard, a voice input device, and the like.
  • the input device 2 supplies the input signal S1 generated based on the user's input to the control device 1.
  • the display device 3 is, for example, a display, a projector, or the like, and performs a predetermined display based on the display signal S2 supplied from the control device 1. As will be described later, for example, the display device 3 displays an input screen (also referred to as a “task input screen”) for designating information about the target task based on the display signal S2.
  • an input screen also referred to as a “task input screen”
  • the storage device 4 has an application information storage unit 41.
  • the application information storage unit 41 stores application information necessary for generating a sequence of subtasks from a target task. Details of the application information will be described later with reference to FIG.
  • the storage device 4 may be an external storage device such as a hard disk connected to or built in the control device 1, or may be a recording medium such as a flash memory. Further, the storage device 4 may be a server device that performs data communication with the control device 1. In this case, the storage device 4 may be composed of a plurality of server devices.
  • the robot 5 operates based on the control signal S4 transmitted from the control device 1.
  • the robot 5 shown in FIG. 1 has a robot control unit 51 and a robot arm 52 capable of gripping an object.
  • the robot arm 52 moves the object 61 conveyed by the peripheral device 8 to the destination area 63 without interfering with the obstacle 62 which is an object other than the object 61.
  • Perform and place (the process of picking up and moving).
  • the robot control unit 51 controls the operation of the robot arm 52 based on the subtask sequence indicated by the control signal S4.
  • the robot 5 may be a vertical articulated robot, or may be any kind of robot such as a horizontal articulated robot.
  • the measuring device 7 is a camera, a range sensor, a sonar, or a combination of these, one or a plurality of external world sensors that measure the inside of the work space 6 where the robot 5 and the peripheral device 8 work.
  • the measuring device 7 supplies the generated output signal S3 to the control device 1.
  • the output signal S3 may be image data captured in the work space 6 or point cloud data indicating the position of an object in the work space 6.
  • the peripheral device 8 operates based on the control signal S5 transmitted from the control device 1.
  • the peripheral device 8 shown in FIG. 1 includes a peripheral device control unit 81 and a transport device 82 capable of transporting an object.
  • the transport device 82 transports the object 61, the obstacle 62, and the like based on the control of the peripheral device control unit 81.
  • the peripheral device control unit 81 controls the operation of the transfer device 82 based on the subtask sequence indicated by the control signal S5.
  • the peripheral device 8 may be an AGV (Automated Guided Vehicle) or a slider, or may be a conveyor capable of transporting in a predetermined direction or a plurality of directions. Further, the peripheral device 8 may be a device for moving a container or a shelf for accommodating the object 61.
  • AGV Automate Guided Vehicle
  • the configuration of the robot control system 100 shown in FIG. 1 is an example, and various changes may be made to the configuration.
  • the robot 5 may include two or more robot arms 52.
  • the control device 1 generates a subtask sequence to be executed for each robot arm 52 based on the target task, and sends a control signal S4 indicating the subtask sequence to the robot having the target robot arm 52. Send to 5.
  • a plurality of peripheral devices 8 or transport devices 82 may exist.
  • the measuring device 7 may be a part of the robot 5.
  • the robot control unit 51 may be configured separately from the robot 5. In this case, the robot control unit 51 may be incorporated in the control device 1.
  • the input device 2 and the display device 3 may be configured as the same device (for example, a tablet terminal) as the control device 1 depending on the mode such as being built in the control device 1.
  • the control device 1 may be composed of a plurality of devices. In this case, the plurality of devices constituting the control device 1 exchange information necessary for executing the pre-assigned process between the plurality of devices.
  • the robot 5 or the peripheral device 8 may have at least a part of the functions of the control device.
  • FIG. 2 shows the hardware configuration of the control device 1.
  • the control device 1 includes a processor 11, a memory 12, and an interface 13 as hardware.
  • the processor 11, the memory 12, and the interface 13 are connected via the data bus 19.
  • the processor 11 executes a predetermined process by executing the program stored in the memory 12.
  • the processor 11 is a processor such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit).
  • the memory 12 is composed of various types of memory such as a RAM (Random Access Memory) and a ROM (Read Only Memory). Further, the memory 12 stores a program for the control device 1 to execute a predetermined process. Further, the memory 12 is used as a working memory and temporarily stores information and the like acquired from the storage device 4. The memory 12 may function as a storage device 4. Similarly, the storage device 4 may function as the memory 12 of the control device 1. The program executed by the control device 1 may be stored in a recording medium other than the memory 12.
  • a RAM Random Access Memory
  • ROM Read Only Memory
  • the interface 13 is an interface for electrically connecting the control device 1 and another device.
  • the interface 13 is for connecting the control device 1 and the input device 2, the interface for connecting the control device 1 and the display device 3, and the control device 1 and the storage device 4. Includes interface.
  • the interface 13 is an interface for connecting the control device 1 and the robot 5, an interface for connecting the control device 1 and the peripheral device 8, and an interface for connecting the control device 1 and the measuring device 7. including. These connections may be wired or wireless.
  • the interface for connecting the control device 1 and the storage device 4 may be a communication interface for transmitting and receiving data to and from the storage device 4 by wire or wirelessly under the control of the processor 11.
  • the control device 1 and the storage device 4 may be connected by a cable or the like.
  • the interface 13 includes an interface compliant with USB (Universal Serial Bus), SATA (Serial AT Attainment), etc. for exchanging data with the storage device 4.
  • control device 1 may include at least one of an input device 2, a display device 3, and a storage device 4. Further, the control device 1 may be connected to or built in a sound output device such as a speaker. In these cases, the control device 1 may be a tablet terminal or the like in which the input function and the output function are integrated with the main body.
  • FIG. 3 shows an example of the data structure of the application information stored in the application information storage unit 41.
  • the application information storage unit 41 provides abstract state designation information I1, constraint condition information I2, operation limit information I3, subtask information I4, abstract model information I5, and object model information I6. include.
  • Abstract state specification information I1 is information that specifies the abstract state that needs to be defined when generating a subtask sequence.
  • This abstract state is an abstract state of an object in the work space 6, and is defined as a proposition used in a target logical expression described later.
  • the abstract state specification information I1 specifies the abstract state that needs to be defined for each type of target task.
  • the target task may be various kinds of tasks such as pick and place, assembling products, and arranging ingredients in a container such as a lunch box.
  • the constraint condition information I2 is information indicating the constraint conditions regarding the robot 5 and the peripheral device 8 when executing the target task.
  • the constraint condition information I2 is, for example, a constraint condition that the robot 5 (robot arm 52) must not come into contact with an obstacle when the target task is pick and place, and the robot 5 and the peripheral device 8 must not come into contact with each other.
  • the constraint condition etc. is shown.
  • the constraint condition information I2 may be information that records suitable constraint conditions for each type of target task.
  • the operation limit information I3 indicates information regarding the operation limits of the robot 5 and the peripheral device 8 controlled by the control device 1.
  • the operation limit information I3 includes information on the maximum value of the speed and acceleration of each operation such as leaching of the robot arm 52, and information on the operation constraint such as the movable angle.
  • the operation limit information I3 includes information on operation constraints such as the maximum value of the transfer speed and acceleration of the transfer device 82 and the possible transfer direction.
  • Subtask information I4 includes information on subtasks that can be accepted by the robot 5 and information on subtasks that can be accepted by the peripheral device 8. For example, when the target task is pick-and-place, the subtask information I4 defines leaching, which is the movement of the robot arm 52, and glassing, which is the gripping by the robot arm 52, as subtasks of the robot 5. Further, in this case, the subtask information I4 defines the operation related to the transfer of the object by the transfer device 82 as the subtask of the peripheral device 8. When the type of the target task can be selected by the user, the subtask information I4 may indicate information on the subtasks that can be used for each type of the target task.
  • the abstract model information I5 is information about a model (also referred to as an "abstract model") that abstracts the dynamics of an object including the robot 5 and the peripheral device 8 in the work space 6.
  • Abstract model information I5 has information on an abstract model suitable for each type of target task when the type of target task can be selected by the user.
  • the abstract model is represented by a model that abstracts the dynamics of reality by a hybrid system.
  • the abstract model information I5 includes information indicating a condition for switching dynamics (also referred to as a “dynamic switching condition”) in the above-mentioned hybrid system.
  • the dynamics switching condition is a condition for switching the dynamics related to at least one of the robot 5 and the peripheral device 8. In the example of FIG. 1, the following dynamics switching conditions (a) and (b) are given.
  • the object model information I6 is each object to be recognized from the output signal S3 generated by the measuring device 7 (in the example of FIG. 1, the robot arm 52, the object 61, the obstacle 62, the destination area 63, the transport device 82, etc.).
  • the object model information I6 includes, for example, information necessary for the control device 1 to recognize the type, position, or / and attitude of each object described above, and CAD data for recognizing the three-dimensional shape of each object. Includes 3D shape information.
  • the former information includes parameters of an inferior obtained by learning a learning model in machine learning such as a neural network. This inference device is learned in advance so as to output, for example, the type, position, posture, and the like of an object to be a subject in the image when an image is input.
  • the application information includes the robot motion information indicating the motion characteristics of the robot 5 such as the operation limit, the subtask, and the abstract model, and the peripheral device operation indicating the motion characteristics of the peripheral device 8 such as the motion limit, the subtask, and the abstract model. It contains information and each.
  • the application information storage unit 41 may store various information related to the generation process of the subtask sequence.
  • FIG. 4 is an example of a functional block of the control device 1.
  • the processor 11 of the control device 1 includes a state measurement unit 30, an abstract state setting unit 31, a target logical expression generation unit 32, a time step logical expression generation unit 33, and an abstract model generation unit 34. It has a control input generation unit 35 and a subtask sequence generation unit 36. Note that FIG. 4 shows an example of data that is exchanged between blocks, but the present invention is not limited to this.
  • the state measuring unit 30 generates information (also referred to as “state information Im”) indicating the state of an object in the work space 6 based on the output signal S3 supplied from the measuring device 7. Specifically, when the state measurement unit 30 receives the output signal S3, the state measurement unit 30 refers to the object model information I6 and the like to recognize the environment in the work space 6 (image processing technology, image recognition technology, voice recognition).
  • the output signal S3 is analyzed by a technique, a technique using RFID (Radio Frequency Identification, etc.)).
  • the state measurement unit 30 measures the number, position, posture, and the like of each type of the object in the work space 6 related to the execution of the target task, and generates the measurement result as the state information Im. For example, in the case of FIG.
  • the state information Im includes information such as the number, position, and posture of each of the robot arm 52, the object 61, the obstacle 62, and the transport device 82.
  • the state measurement unit 30 supplies the generated state information Im to the abstract state setting unit 31 and the abstract model generation unit 34.
  • the measurement results such as the position and range with respect to the planar object (region) related to the target task such as the destination region 63 in FIG. 1 are obtained. May be included.
  • the abstract state setting unit 31 determines the abstract state in the workspace 6 that needs to be considered when executing the target task based on the above-mentioned state information Im and the abstract state designation information I1 acquired from the application information storage unit 41. Set. In this case, the abstract state setting unit 31 defines a proposition for expressing the abstract state by a logical expression for each abstract state.
  • the abstract state setting unit 31 supplies information indicating the set abstract state (also referred to as “abstract state setting information IS”) to the target logical expression generation unit 32.
  • the target logical expression generation unit 32 When the target logical formula generation unit 32 receives the input signal S1 related to the target task from the input device 2, the target logical expression generation unit 32 performs the target task indicated by the input signal S1 based on the abstract state setting information IS, and represents the final achievement state. It is converted into a logical formula (also referred to as "target logical formula Ltag"). In this case, the target logical expression generation unit 32 adds the constraint conditions to be satisfied in the execution of the target task to the target logical expression Ltag by referring to the constraint condition information I2 from the application information storage unit 41. Then, the target logical expression generation unit 32 supplies the generated target logical expression Ltag to the time step logical expression generation unit 33. Further, the target logical expression generation unit 32 generates a display signal S2 for displaying a task input screen that receives an input related to the target task, and supplies the display signal S2 to the display device 3.
  • a logical formula also referred to as "target logical formula Ltag”
  • the time step logical expression generation unit 33 converts the target logical expression Ltag supplied from the target logical expression generation unit 32 into a logical expression (also referred to as “time step logical expression Lts”) representing the state at each time step. do. Then, the time step logical expression generation unit 33 supplies the generated time step logical expression Lts to the control input generation unit 35.
  • the abstract model generation unit 34 generates an abstract model " ⁇ " that abstracts the actual dynamics in the workspace 6 based on the state information Im and the abstract model information I5 stored in the application information storage unit 41.
  • the abstract model generation unit 34 regards the target dynamics as a hybrid system in which continuous dynamics and discrete dynamics are mixed, and generates an abstract model ⁇ based on the hybrid system. The method of generating the abstract model ⁇ will be described later.
  • the abstract model generation unit 34 supplies the generated abstract model ⁇ to the control input generation unit 35.
  • the control input generation unit 35 satisfies the time step logical expression Lts supplied from the time step logical expression generation unit 33 and the abstract model ⁇ supplied from the abstract model generation unit 34, and optimizes the evaluation function for each time step.
  • the control input to the robot 5 and the peripheral device 8 is determined.
  • the control input generation unit 35 supplies the subtask sequence generation unit 36 with information indicating the control input for each time step to the robot 5 and the peripheral device 8 (also referred to as “control input information Ic”).
  • the subtask sequence generation unit 36 sets the subtask sequence to be operated by the robot 5 and the peripheral device 8 based on the control input information Ic supplied from the control input generation unit 35 and the subtask information I4 stored in the application information storage unit 41, respectively. Generate. Then, the subtask sequence generation unit 36 supplies the control signal S4 indicating the subtask sequence to be executed by the robot 5 to the robot 5 via the interface 13, and supplies the control signal S5 indicating the subtask sequence to be executed by the peripheral device 8 to the interface. It is supplied to the peripheral device 8 via 13.
  • the control signals S4 and S5 each include information indicating the execution order and execution timing of the subtasks constituting the subtask sequence.
  • the state measurement unit 30, the abstract state setting unit 31, the target logical formula generation unit 32, the time step logical formula generation unit 33, the abstract model generation unit 34, the control input generation unit 35, and the subtask sequence generation unit 36 described in FIG. 4 are described.
  • Each component of is realized, for example, by the processor 11 executing a program. More specifically, each component can be realized by the processor 11 executing a program stored in the memory 12 or the storage device 4. Further, each component may be realized by recording a necessary program on an arbitrary non-volatile recording medium and installing it as needed. It should be noted that each of these components is not limited to being realized by software by a program, and may be realized by any combination of hardware, firmware, and software.
  • each of these components may be realized by using a user-programmable integrated circuit such as an FPGA (field-programmable gate array) or a microcomputer.
  • this integrated circuit may be used to realize a program composed of each of the above components.
  • each component may be realized by hardware other than the processor. The above is the same in other embodiments described later.
  • the state measurement unit 30 indicates state information (type, position, etc.) of an object in the work space 6 based on the output signal S3 supplied from the measurement device 7. Generate Im.
  • the abstract state setting unit 31 sets the abstract state in the work space 6 based on the state information Im.
  • the abstract state setting unit 31 refers to the abstract state designation information I1 and recognizes the abstract state to be set in the workspace 6.
  • the abstract state to be set in the workspace 6 differs depending on the type of the target task. Therefore, when the abstract state to be set for each type of the target task is defined in the abstract state specification information I1, the abstract state setting unit 31 specifies the abstract state corresponding to the target task specified by the input signal S1. Refer to the information I1 and recognize the abstract state to be set.
  • FIG. 5 shows a bird's-eye view of the work space 6.
  • a robot arm 52 a transport device 82 that transports an object in the direction of arrow 59, an object 61 and an obstacle 62 placed on the transport device 82, and a destination area 63 are provided. And exists.
  • the state measuring unit 30 analyzes the output signal S3 received from the measuring device 7 using the object model information I6 and the like to position the robot arm 52, the transport device 82, the object 61, and the obstacle 62. And the state such as the posture, and the position and range of the destination area 63 which is the destination of the object 61 are recognized.
  • the state measurement unit 30 may set the hand (robot hand) of the robot arm 52 as the position of the robot arm 52.
  • the abstract state setting unit 31 determines the abstract state to be defined in the target task by referring to the abstract state designation information I1.
  • the abstract state setting unit 31 determines a proposition indicating the abstract state based on the state information Im indicating the recognition result of the state measurement unit 30 and the abstract state designation information I1.
  • the abstract state setting unit 31 attaches identification labels to the object 61, the obstacle 62, the robot arm 52, the transport device 82, and the destination area 63 specified by the state information Im, respectively.
  • the abstract state setting unit 31 has a proposition that the object 61 or the obstacle 62 is mounted on the transport device 82 based on the abstract state designation information I1, and the object 61 is finally placed at the destination point.
  • Each proposition used in the target logical expression such as the proposition that it exists in a certain region G (see the broken line frame 63) and the proposition that the robot arm 52 interferes with the obstacle 62 is defined.
  • the abstract state setting unit 31 recognizes the abstract state to be defined by referring to the abstract state designation information I1, and sets the proposition representing the abstract state as the number of objects 61 and the number of robot arms 52. , Each is defined according to the number of obstacles 62 and the like. Then, the abstract state setting unit 31 supplies the information indicating the proposition representing the abstract state to the target logical expression generation unit 32 as the abstract state setting information IS.
  • Target logical expression generation unit 32 receives the input of the input signal S1 that specifies the type of the target task and the final state of the object to be worked by the robot. Further, the target logical expression generation unit 32 transmits the display signal S2 of the task input screen that accepts these inputs to the display device 3.
  • the target logical expression generation unit 32 converts the target task specified by the input signal S1 into a logical expression using temporal logic.
  • the input signal S1 may be expressed using natural language.
  • LTL Linear Temporal Logical
  • the target logical expression generator 32 is an operator of any temporal logic other than the operator “ ⁇ ” (logical product “ ⁇ ”, OR “ ⁇ ”, negative “ ⁇ ”, logical inclusion “ ⁇ ”, always.
  • a logical expression may be expressed using " ⁇ ", next " ⁇ ", until “U”, etc.). Further, the logical expression may be expressed by using any time phase logic such as MTL (Metric Temporal Logic) or STL (Signal Temporal Logic), not limited to the linear temporal logic.
  • the target logical expression generation unit 32 acquires the constraint condition information I2 from the application information storage unit 41.
  • the target logical expression generation unit 32 has the constraint conditions corresponding to the type of the target task specified by the input signal S1.
  • Information I2 is acquired from the application information storage unit 41.
  • the target logical expression generation unit 32 generates the target logical expression Ltag by adding the constraint condition indicated by the acquired constraint condition information I2 to the logical expression indicating the target task.
  • the constraint conditions corresponding to pick and place are included in the constraint condition information I2 such as "the robot arm 52 does not always interfere with the obstacle 62" and "the robot arm 52 does not always interfere with the transfer device 82". If so, the target logical expression generation unit 32 converts these constraints into a logical expression. Then, the target logical expression Ltag is generated by adding the converted logical expressions of these constraint conditions to the logical expressions corresponding to the target task.
  • FIG. 6 shows a display example of the task input screen.
  • the target logical expression generation unit 32 generates the display signal S2 and transmits the display signal S2 to the display device 3, so that the display device 3 displays the task input screen shown in FIG.
  • the task input screen shown in FIG. 6 mainly has a task type designation field 15, an image display field 16, an object designation button 17 of the same type, and a decision button 20, and specifies a task type and an object 61. Accepts the designation of objects to be regarded as.
  • the target logical expression generation unit 32 receives an input for designating the type of the target task in the task type designation field 15.
  • the task type designation field 15 is an input field in the form of a pull-down menu.
  • the target logical expression generation unit 32 displays, for example, a list of acceptable target task type candidates in the task type designation field 15 so as to be selectable.
  • pick and place is designated as the type of the target task.
  • the target logical expression generation unit 32 displays an image captured by the measuring device 7 in the work space 6 in the image display field 16. Then, the target logical expression generation unit 32 receives an input for designating an object to be regarded as the object 61 based on a touch panel operation or a mouse operation on the image display field 16.
  • the target logical expression generation unit 32 is a region of an object that is a candidate for the object 61 in the image display field 16 based on a known image recognition process at the time of displaying the task input screen.
  • the regions 18b and 18c) are recognized.
  • the target logical expression generation unit 32 considers the object in the selected region (here, region 18b) as the object 61.
  • the target logical expression generation unit 32 sets the area of the object including the specified pixel to the object 61. It is regarded as the area of.
  • the target logical expression generation unit 32 detects an operation of enclosing the image area of the object to be the object 61, the object in the image area surrounded by the circle is regarded as the object 61.
  • the target logical expression generation unit 32 automatically recognizes that the area 18a is an area indicating the destination area 63 by the image recognition process.
  • the destination area 63 may be provided with a marker or the like for facilitating the recognition of the destination area 63 by the target logical expression generation unit 32, such as the shape and size of the destination area 63.
  • Information may be stored in the storage device 4 as application information.
  • the target logical expression generation unit 32 may recognize the destination area 63 by accepting an input for designating the destination area 63 as in the object 61. .. Further, in this case, the target logical expression generation unit 32 may recognize the destination area 63 by accepting the input of the final destination of the object 61 by the drag-and-drop operation.
  • the target logical expression generation unit 32 considers an object of the same type as the object to be the object 61 in addition to the object specified on the image display field 16. ..
  • the object regarded as the object 61 may be an object that exists outside the measurement range of the measuring device 7 at the time of displaying the task input screen.
  • the target logical expression generation unit 32 can efficiently make the user specify the object 61.
  • the control device 1 may recognize the object 61 without accepting the input for designating the object 61.
  • the object model information I6 and the like include information for identifying the object 61
  • the state measurement unit 30 refers to the object model information I6 and the like to identify and state (position) the object 61. , Posture, etc.
  • the target logical formula generation unit 32 detects that the decision button 20 is selected, the target task, the object 61 and / and the destination recognized based on the input signal S1 indicating the input contents on the task input screen. Using the information in region 63, the target formula Ltag is generated.
  • the target logical expression generation unit 32 may supply the information of the target task, the object 61 and / and the destination area 63 recognized based on the input signal S1 to the abstract state setting unit 31. In this case, the abstract state setting unit 31 sets the proposition regarding the target task, the object 61 and / and the destination area 63 based on the supplied information.
  • Time step logical expression generation unit 33 determines the number of time steps (also referred to as “target time step number”) for completing the target task, and the target logical expression is determined by the target number of time steps. Define a combination of propositions that represent the state at each time step that satisfies the Ltag. Since there are usually a plurality of these combinations, the time step logical expression generation unit 33 generates a logical expression in which these combinations are combined by a logical sum as a time step logical expression Lts.
  • the above combination is a candidate for a logical expression representing a sequence of actions instructing the robot 5, and is also referred to as "candidate ⁇ " hereafter. Therefore, the time step logical expression generation unit 33 defines the logical sum of each generated candidate ⁇ as the time step logical expression Lts. In this case, the time step logical expression Lts becomes true when at least one of the generated candidate ⁇ s is true.
  • the time step logical expression generation unit 33 determines the feasibility of the generated candidate by referring to the operation limit information I3, and excludes the candidate ⁇ determined to be unrealizable. For example, in the time step logical expression generation unit 33, based on the operation limit information I3, the distance that the hand (robot hand) of the robot arm 52 can move per time step and the transfer device 82 move the object 61 per time step. Recognize the distance that can be moved. Further, the time step logical expression generation unit 33 recognizes the distance between the object 61 to be moved and the robot hand based on the position vector of the object 61 and the robot hand indicated by the state information Im. Then, the time step logical expression generation unit 33 determines the feasibility based on these distances.
  • the time step logical expression generation unit 33 preferably reduces the processing load of the subsequent processing unit by excluding the unrealizable candidates from the time step logical expression Lts with reference to the operation limit information I3. be able to.
  • the time step logical expression generation unit 33 determines, for example, the target number of time steps based on the estimated time of the work specified by the user input. In this case, the time step logical expression generation unit 33 calculates the target number of time steps from the above-mentioned estimated time based on the information of the time width per time step stored in the memory 12 or the storage device 4. In another example, the time step logical expression generation unit 33 stores in advance information associated with the target number of time steps suitable for each type of target task in the memory 12 or the storage device 4, and refers to the information. By doing so, the target number of time steps is determined according to the type of target task to be executed.
  • the time step logical expression generation unit 33 sets the target number of time steps to a predetermined initial value. Then, the time step logical expression generation unit 33 gradually increases the target number of time steps until the time step logical expression Lts in which the control input generation unit 35 can determine the control input is generated. In this case, the time step logical expression generation unit 33 determines the target number of time steps when the optimum solution cannot be derived as a result of the control input generation unit 35 performing the optimization process according to the set target number of time steps. Add only a number (integer of 1 or more).
  • the time step logical expression generation unit 33 may set the initial value of the target number of time steps to a value smaller than the number of time steps corresponding to the working time of the target task expected by the user. As a result, the time step logical expression generation unit 33 preferably suppresses setting an unnecessarily large target number of time steps.
  • the abstract model generation unit 34 generates the abstract model ⁇ based on the state information Im and the abstract model information I5.
  • the abstract model information I5 information necessary for generating the abstract model ⁇ is recorded.
  • This abstract model may be expressed by a difference equation showing the relationship between the state of the object in the work space 6 at the time step “k” and the state of the object in the work space 6 at the time step “k + 1”. ..
  • a position vector indicating the position of the object, a position vector indicating the position of the hand of the robot arm 52, and the like are given as variables in the difference equation.
  • the abstract model generation unit 34 refers to the position and number of objects indicated by the state information Im, the position of the area where the objects are placed, and the robot 5 with respect to the abstract model of the general-purpose format recorded in the abstract model information I5.
  • An abstract model ⁇ is generated by reflecting the number of units.
  • the abstract model stored in the abstract model information I5 is a model in which this dynamics switching is abstractly expressed using logical variables. Therefore, the abstract model generation unit 34 can preferably express the dynamics switching by the abstract model by abstractly expressing the event (behavior) in which the dynamics are switched in the abstract model using logical variables.
  • the following dynamics switching conditions exist.
  • A "When the object 61 or the obstacle 62 is placed on the transport device 82, it moves in a certain direction based on the operating speed of the transport device 82.”
  • B "When the robot arm 52 grabs the object 61, the object 61 moves based on the operation of the robot arm 52 regardless of whether or not it is mounted on the transport device 82.” Therefore, in this case, the abstract model generation unit 34 abstractly expresses the operation that the object 61 or the obstacle 62 is placed on the transport device 82 in the abstract model using logical variables, and the robot arm 52 uses the object 61. The action of grabbing is abstractly expressed in an abstract model using logical variables.
  • the abstract model generation unit 34 refers to the abstract model information I5, and the dynamics switching is represented by a logical variable that is a discrete value, and the movement of the object is represented by a continuous value in the workspace 6 by a hybrid system.
  • Set the abstract model ⁇ which is a model that abstracts the dynamics of.
  • the abstract model ⁇ is represented by a difference equation showing the relationship between the states of the objects in the work space 6 at the time steps “k” and “k + 1”
  • the difference equation is the position representing the state of the object. It includes a vector and the like, variables (parameters) representing control inputs to the robot 5 and control inputs to the peripheral device 8, and logical variables indicating dynamics switching.
  • the abstract model ⁇ does not represent the detailed dynamics of the entire robot 5 and the entire peripheral device 8, but represents the abstracted dynamics.
  • the abstract model ⁇ for the robot 5, only the dynamics of the robot hand, which is the hand of the robot 5 that actually grips the object, may be represented.
  • the change in the position of the object placed on the transport device 82 according to the control input of the peripheral device 8 may be expressed as the dynamics of the peripheral device 8.
  • the abstract model generation unit 34 may generate a model of a mixed logical dynamic (MLD) system or a hybrid system combining Petri nets, automata, and the like.
  • MLD mixed logical dynamic
  • Control input generation unit 35 is based on the time step logical formula Lts supplied from the time step logical formula generation unit 33 and the abstract model ⁇ supplied from the abstract model generation unit 34. The optimum control input for each time step for the robot 5 and the peripheral device 8 for each time step is determined. In this case, the control input generation unit 35 defines an evaluation function for the target task, and solves an optimization problem that minimizes the evaluation function with the abstract model ⁇ and the time step logical expression Lts as constraints.
  • the evaluation function is predetermined for each type of target task, for example, and is stored in the memory 12 or the storage device 4.
  • the evaluation function may be designed to minimize the energy consumed by the robot 5, or may be designed to minimize the energy consumed by the robot 5 and the peripheral device 8.
  • the control input generation unit 35 has a distance “d k ” between the object 61 and the destination area 63, a control input “u kr ” for the robot 5, and a transport device 82.
  • the evaluation function is defined so that the control input " ukp" for is minimized.
  • control input generation unit 35 determines, for example, the square of the norm of the distance d k in all the time steps, the square of the norm of the control input u kr , and the square of the norm of the control input u kp .
  • the sum is defined as the evaluation function.
  • the control input generation unit 35 may multiply each of the term of the distance d k , the term of the control input u kr , and the term of the control input u kp by a predetermined weighting coefficient.
  • the control input u kr and the control input u kp may be speed or acceleration.
  • control input generation unit 35 solves a constrained mixed integer optimization problem with the abstract model ⁇ and the time step logical expression Lts (that is , the logical sum of the candidates ⁇ i) as constraints for the set evaluation function.
  • the control input generation unit 35 may reduce the amount of calculation by approximating the logical variable to a continuous value and making it a continuous relaxation problem.
  • STL linear logic formula
  • the control input generation unit 35 sets the number of time steps used for optimization to a value smaller than the target time step number (for example, the above-mentioned threshold value). You may. In this case, the control input generation unit 35 sequentially determines the control input u kr and the control input u kp by solving the above-mentioned optimization problem every time a predetermined number of time steps elapses, for example.
  • the control input generation unit 35 solves the above-mentioned optimization problem for each predetermined event corresponding to the intermediate state with respect to the achievement state of the target task, and sets the control input u kr and the control input u kp to be used. You may decide. In this case, the control input generation unit 35 sets the number of time steps until the next event occurs to the number of time steps used for optimization.
  • the above-mentioned event is, for example, an event in which the dynamics in the work space 6 are switched. For example, when pick and place is the target task, it is determined as an event that the robot 5 grabs the object, the robot 5 finishes carrying one of the plurality of objects to be carried to the destination, and the like. Be done. The event is determined in advance for each type of target task, for example, and information for identifying the event for each type of target task is stored in the storage device 4.
  • the number of time steps used for optimization can be reduced to preferably reduce the amount of calculation of the optimization problem.
  • Subtask sequence generation unit 36 generates a subtask sequence based on the control input information Ic supplied from the control input generation unit 35 and the subtask information I4 stored in the application information storage unit 41. do. In this case, the subtask sequence generation unit 36 recognizes the subtask that can be accepted by the robot 5 and the subtask that can be accepted by the peripheral device 8 by referring to the subtask information I4. Then, the subtask sequence generation unit 36 converts the control input to the robot 5 for each time step indicated by the control input information Ic into a subtask of the robot 5, and transfers the control input to the peripheral device 8 for each time step indicated by the control input information Ic. The control input is converted into a subtask of the peripheral device 8.
  • the subtask information I4 is a function indicating two subtasks, that is, the movement of the robot hand (reaching) and the grasping of the robot hand (grasping), as the subtasks that the robot 5 can accept when the target task is pick and place.
  • the function "Move” representing leaching takes, for example, the initial state of the robot 5 before the execution of the function, the final state of the robot 5 after the execution of the function, and the time required to execute the function as arguments. It is a function.
  • the function "Grasp” representing grasping takes, for example, the state of the robot 5 before the execution of the function, the state of the object to be grasped before the execution of the function, and the logical variables indicating the switching of dynamics as arguments. It is a function.
  • the function "Grasp” represents an action of grabbing an object when the logical variable is "1", and represents an action of releasing an object when the logical variable is "0".
  • the subtask sequence generation unit 36 determines the function "Move” based on the trajectory of the robot hand determined by the control input for each time step indicated by the control input information Ic, and the control input information Ic determines the function "Grasp". Determined based on the transition of logical variables for each time step shown.
  • the subtask sequence generation unit 36 generates a subtask sequence of the robot 5 composed of the function "Move” and the function "Grasp”, and supplies the control signal S4 indicating the subtask sequence to the robot 5. For example, when the target task is "finally the object 61 exists in the area G", the subtask sequence generation unit 36 has a function "Move”, a function "Gasp”, a function "Move”, and the function "Move” for the robot arm 52. Generate a subtask sequence of the function "Grasp".
  • the robot arm 52 moves to the position of the object 61 on the transport device 82 by the first function "Move”, grips the object 61 by the first function “Grasp”, and holds the object 61 by the second function “Grasp”. Move to the destination area 63 by "Move”, and place the object 61 in the destination area 63 by the second function "Grasp".
  • the subtask sequence generation unit 36 causes the peripheral device 8 to execute the subtask that can be executed by the peripheral device 8 indicated by the subtask information I4 and the time-series control input of the peripheral device 8 indicated by the control input information Ic.
  • Generate a subtask sequence In this case, the subtask of the peripheral device 8 has at least a function (also referred to as a "movement function") for moving an object on the transport device 82.
  • the movement function has at least one of the movement speed and the acceleration as a parameter, and the subtask sequence generation unit 36 moves with the above parameters specified based on the time-series control input of the peripheral device 8 indicated by the control input information Ic.
  • FIG. 7 is an example of a flowchart showing the control processing executed by the control device 1 in the first embodiment.
  • the state measurement unit 30 of the control device 1 generates state information Im indicating the measurement result of the object in the work space 6 based on the output signal S3 supplied from the measurement device 7.
  • the abstract state setting unit 31 sets the abstract state in the work space 6 based on the state information Im (step S11).
  • the target logical expression generation unit 32 determines the target logical expression Ltag from the target task designated by the input signal S1 or the like (step S12). In this case, the target logical expression generation unit 32 adds the constraint condition in the execution of the target task to the target logical expression Ltag by referring to the constraint condition information I2.
  • the process of step S12 may be executed before step S11.
  • the time step logical expression generation unit 33 converts the target logical expression Ltag into the time step logical expression Lts representing the state at each time step (step S13).
  • the time step logical expression generation unit 33 determines the target number of time steps, and ORs the logical sum of the candidates ⁇ representing the state at each time step such that the target number of time steps satisfies the target logical expression Ltag. Generated as the formula Lts.
  • the time step logical expression generation unit 33 determines the feasibility of each candidate ⁇ by referring to the operation limit information I3, and time steps the candidate ⁇ determined to be infeasible. Exclude from the logical expression Lts.
  • the abstract model generation unit 34 determines the abstract model ⁇ suitable for the target task based on the state information Im generated in step S11 and the abstract model information I5 (step S14).
  • This abstract model ⁇ is a hybrid system in which the switching of dynamics depending on the success or failure of the dynamics switching condition for the robot 5 or the peripheral device 8 is represented by discrete values.
  • the control input generation unit 35 satisfies the abstract model ⁇ and the time step logical expression Lts, and determines the control input of the robot 5 and the control input of the peripheral device 8 for optimizing the evaluation function (step S15).
  • the subtask sequence generation unit 36 determines the subtask sequence to be executed by the robot 5 and the peripheral device 8 from the control input determined by the control input generation unit 35, and outputs the subtask sequence to the robot 5 and the peripheral device 8 respectively (step S16). .. In this case, the subtask sequence generation unit 36 transmits the control signal S4 indicating the subtask sequence of the robot 5 to the robot 5 via the interface 13, and the control signal S5 indicating the subtask sequence of the peripheral device 8 is transmitted via the interface 13. Is transmitted to the peripheral device 8.
  • the configuration of the functional block of the processor 11 shown in FIG. 4 is an example, and various changes may be made.
  • the measuring device 7 instead of the processor 11 having the state measuring unit 30, the measuring device 7 has a function corresponding to the state measuring unit 30, and even if the state information Im is generated and the state information Im is supplied to the control device 1. good.
  • information on the sequence candidate ⁇ for commanding the robot 5 and the peripheral device 8 is stored in advance in the storage device 4, and the control device 1 optimizes the control input generation unit 35 based on the information. To execute. As a result, the control device 1 selects the optimum candidate ⁇ and determines the control inputs of the robot 5 and the peripheral device 8.
  • control device 1 does not have to have a function corresponding to the abstract state setting unit 31, the target logical expression generation unit 32, and the time step logical expression generation unit 33. Further, information regarding the execution result of some functional blocks of the processor 11 shown in FIG. 4 may be stored in advance in the application information storage unit 41.
  • FIG. 8 is a schematic configuration diagram of the control device 1A according to the second embodiment.
  • the control device 1A in the second embodiment monitors the state of the robot 5 and the peripheral device 8 in operation according to the subtask sequence, and makes adjustments necessary for the robot 5 and the peripheral device 8 to execute the given subtask sequence, respectively. It differs from the first embodiment in that it is performed.
  • the same components as those in the first embodiment are designated by the same reference numerals as those in the first embodiment, and the description thereof will be omitted.
  • the control device 1A has the hardware configuration shown in FIG. 2 described in the first embodiment. Then, as shown in FIG. 8, the processor 11 of the control device 1A functionally includes a state measurement unit 30, an operation sequence generation unit 37, and an integrated control unit 38.
  • the state measurement unit 30 generates the state information Im by performing the same processing as the state measurement unit 30 of the first embodiment based on the output signal S3 and the object model information I6, and the state information Im is generated by the operation sequence generation unit 37. And the integrated control unit 38, respectively.
  • the measuring device 7 may execute the process corresponding to the state measuring unit 30.
  • the operation sequence generation unit 37 has a subtask sequence (also referred to as “robot operation sequence Sr”) to be executed by the robot 5 based on various information stored in the application information storage unit 41 and the state information Im, and a peripheral device 8.
  • Each subtask sequence (also referred to as “peripheral device operation sequence Sp") to be executed is generated.
  • the operation sequence generation unit 37 is the abstract state setting unit 31, the target logical expression generation unit 32, the time step logical expression generation unit 33, the abstract model generation unit 34, and the control input generation unit shown in FIG. 4 in the first embodiment. It has a function corresponding to 35 and the subtask sequence generation unit 36.
  • the integrated control unit 38 includes a robot operation sequence Sr, a peripheral device operation sequence Sp, a state information Im, a state signal “S6” transmitted from the robot 5, and a state signal “S7” transmitted from the peripheral device 8. Controls the robot 5 and the peripheral device 8 based on the above.
  • the state signal S6 is an output signal of a sensor that detects the state of the robot 5 or a signal indicating the state of the robot 5 generated by the robot control unit 51.
  • the state signal S7 is an output signal of a sensor that detects the state of the peripheral device 8 or a signal indicating the state of the peripheral device 8 generated by the peripheral device control unit 81.
  • These status signals are information that directly or indirectly indicates the degree of progress of the subtasks of the robot 5 and the peripheral device 8.
  • the integrated control unit 38 When the integrated control unit 38 operates according to the state (also referred to as “measurement state”) of the robot 5 and the peripheral device 8 measured during the execution of the operation sequence by the robot 5 and the peripheral device 8 and the operation sequence.
  • the predicted states of the robot 5 and the peripheral device 8 (also referred to as “predicted states”) are compared.
  • the integrated control unit 38 estimates the measurement state based on at least one of the state signal S6 and the state signal S7, or the state information Im. Then, when the above-mentioned measurement state does not match the predicted state, the integrated control unit 38 controls at least one of the robot 5 and the peripheral device 8 so as to bring the above-mentioned measurement state and the predicted state closer to each other.
  • FIG. 9 is an example of a flowchart showing the control processing of the robot 5 and the peripheral device 8 executed by the control device 1A in the second embodiment.
  • the state measuring unit 30 constantly generates the state information Im based on the output signal S3 supplied from the measuring device 7.
  • the operation sequence generation unit 37 generates the robot operation sequence Sr and the peripheral device operation sequence Sp, respectively, based on the state information Im and the application information.
  • the integrated control unit 38 transmits the control signal S4 indicating the robot operation sequence Sr to the robot 5, and transmits the control signal S5 indicating the peripheral device operation sequence Sp to the peripheral device 8 (step S21).
  • the integrated control unit 38 measures each state of the robot 5 and the peripheral device 8 (step S22). In this case, the integrated control unit 38 recognizes the measurement state of the robot 5 by at least one of the state signal S6 or the state information Im, and recognizes the measurement state of the peripheral device 8 by at least one of the state signal S7 or the state information Im.
  • the integrated control unit 38 determines whether or not the measurement states of the robot 5 and the peripheral device 8 match the predicted states predicted based on the operation sequence (step S23).
  • the integrated control unit 38 measures and predicts the positions of the robot 5 and the peripheral device 8 as the above-mentioned measurement state and prediction state. Then, the integrated control unit 38 determines that the measurement state matches the prediction state when the difference (that is, the distance) between these positions is within a predetermined difference. In this case, in addition to the positions of the robot 5 and the peripheral device 8, it may be determined whether or not the measurement state matches the predicted state in consideration of the posture.
  • the integrated control unit 38 recognizes the actual progress of the operation sequence (for example, the number or ratio of completed subtasks) based on the state signals S6 and S7 as the measurement state, and operates as the predicted state. Recognize the expected progress in the time step that corresponds to the current sequence. Then, the integrated control unit 38 determines that the measurement state matches the prediction state when these progresses match.
  • step S23 when the measurement state of the robot 5 and the peripheral device 8 does not match the predicted state based on the operation sequence (step S23; No), the integrated control unit 38 generates and outputs at least one of the control signal S4 or the control signal S5. (Step S25). As a result, the integrated control unit 38 controls at least one of the robot 5 and the peripheral device 8 so that the states of the robot 5 and the peripheral device 8 match the predicted state based on the operation sequence.
  • step S25 The specific aspect of step S25 will be described later.
  • Step S24 the control device 1A determines whether or not the target task is completed by recognizing the state of the object or the like based on the output signal S3 supplied from the measuring device 7, for example. In another example, when the control device 1A receives the state signal S6 indicating the normal end of the robot operation sequence Sr from the robot 5, it determines that the target task has been completed.
  • control device 1A When the control device 1A receives both the state signal S6 indicating the normal end of the robot operation sequence Sr and the state signal S7 indicating the normal end of the peripheral device operation sequence Sp, the control device 1A determines that the target task has been completed. May be good.
  • step S25 a supplementary explanation will be given regarding the process of step S25.
  • the integrated control unit 38 when at least one of the states of the robot 5 and the peripheral device 8 is delayed from the state predicted based on the operation sequence, the integrated control unit 38 performs the entire operation sequence by the delay. At least one of the control signal S4 and the control signal S5 for shifting the completion timing of the above is generated. As a result, the integrated control unit 38 cannot execute the work that requires synchronization of the timings of the robot 5 and the peripheral device 8 due to the operation delay of either the robot 5 or the peripheral device 8. It is preferably suppressed. In this case, for example, the integrated control unit 38 includes information indicating the execution timing of each new subtask in consideration of the above-mentioned delay in the control signal S4 or the control signal S5.
  • the integrated control unit 38 instructs the robot 5 or the peripheral device 8 that is more advanced than the other to delay the operation timing by the operation delay time of the robot 5 and the peripheral device 8. You may. In yet another example, the integrated control unit 38 may notify the robot 5 and the peripheral device 8 of the operation sequence reflecting the execution timing of each new subtask by the control signal S4 or the control signal S5. When the integrated control unit 38 determines that the target task cannot be completed by adjusting the operation timings of the robot 5 and the peripheral device 8, the integrated control unit 38 instructs the operation sequence generation unit 37 to regenerate the operation sequence. May be good.
  • the integrated control unit 38 when the integrated control unit 38 measures that either the robot 5 or the peripheral device 8 has stopped, the measurement state of the robot 5 and the peripheral device 8 does not match the predicted state based on the operation sequence. Judge immediately. In this case, for example, the integrated control unit 38 transmits a control signal to the person who has not stopped, and instructs the person who has not stopped to stop the operation. In another example, the integrated control unit 38 may instruct the operation sequence generation unit 37 to regenerate the operation sequence, and outputs a warning for notifying the administrator that an abnormality has occurred. You may.
  • control device 1A monitors whether the robot 5 and the peripheral device 8 are operating according to the given subtask sequence after the generation of the subtask sequence, and operates according to the subtask sequence.
  • the robot 5 and the peripheral device 8 can be controlled so as to do so.
  • FIG. 10 is a schematic configuration diagram of the control device 1B according to the third embodiment.
  • the control device 1B in the third embodiment generates the subtask sequence in consideration of the movement of the object 61 and the obstacle 62 by the transport device 82 even during the calculation of the subtask sequence, and in consideration of the calculation time of the subtask sequence. In that respect, it differs from the first embodiment.
  • the same components as those in the first embodiment are designated by the same reference numerals as those in the first embodiment, and the description thereof will be omitted.
  • the control device 1B has the hardware configuration shown in FIG. 2 described in the first embodiment. Then, as shown in FIG. 10, the processor 11 of the control device 1B functionally includes a state measurement unit 30, an operation sequence generation unit 37, and a state prediction unit 39.
  • the state measurement unit 30 generates the state information Im by performing the same processing as the state measurement unit 30 of the first embodiment based on the output signal S3 and the object model information I6, and sends the state information Im to the state prediction unit 39. Supply.
  • the measuring device 7 may execute the process corresponding to the state measuring unit 30.
  • the state prediction unit 39 generates information (also referred to as “prediction state information Imp”) indicating the state of an object in the work space 6 after a predetermined time (also referred to as “calculation consideration time”) has elapsed based on the state information Im. do.
  • the above-mentioned calculation consideration time is a calculation time estimated to be required for the calculation of the subtask sequence by the operation sequence generation unit 37, and is stored in the memory 12 or the storage device 4 in advance.
  • the state prediction unit 39 is at least an object (object 61 and obstacle 62 in FIG. 1) among the states of each object indicated by the state information Im, and is also referred to as a “mounting object”. ) Predict the state after the lapse of a predetermined time. Then, the state prediction unit 39 generates the predicted state information Imp in which the state information Im is updated based on the predicted state of the mounted object. For example, the state prediction unit 39 predicts the transport speed of the peripheral device 8 in the calculation of the subtask sequence based on the state signal S7 regarding the transport speed supplied from the peripheral device 8, and determines the predicted transport speed and the calculation consideration time. Based on, the state after the lapse of the calculation consideration time of the mounted object is predicted.
  • the state prediction unit 39 determines the transport speed of the peripheral device 8 used for the above prediction based on the limit value of the transport speed of the peripheral device 8 stored in the application information storage unit 41, the past average value, or the like. May be good. Further, the state prediction unit 39 may estimate the transport speed of the peripheral device 8 based on the state information Im in which the peripheral device 8 is operating. Further, the state prediction unit 39 recognizes the transfer direction based on at least one of the state signal S7, the state information Im, and the application information, similarly to the transfer speed. Further, when an object other than the figurine (for example, the robot 5) is moving, the state prediction unit 39 predicts the state of the object after a predetermined time and reflects the prediction result in the prediction state information Imp. You may.
  • the state prediction unit 39 uses the time-series images acquired by the measuring device 7 within a predetermined time before the generation of the predicted state information Imp, and detects and moves the animal body based on the optical flow due to the difference between the images. The speed may be calculated.
  • the operation sequence generation unit 37 has a robot operation sequence Sr to be executed by the robot 5 and a peripheral device operation sequence Sp to be executed by the peripheral device 8 based on various information stored in the application information storage unit 41 and the predicted state information Imp. And each are generated. Then, the operation sequence generation unit 37 transmits the control signal S4 indicating the robot operation sequence Sr to the robot 5, and transmits the control signal S5 indicating the peripheral device operation sequence Sp to the peripheral device 8.
  • the operation sequence generation unit 37 includes an abstract state setting unit 31, a target logical expression generation unit 32, a time step logical expression generation unit 33, an abstract model generation unit 34, a control input generation unit 35, and a subtask shown in FIG. 4 in the first embodiment. It has a function corresponding to the sequence generation unit 36.
  • FIG. 11 is an example of a flowchart showing the control processing of the robot 5 and the peripheral device 8 executed by the control device 1B in the third embodiment.
  • the state measurement unit 30 generates state information Im indicating the measurement result of the object in the work space 6 based on the output signal S3 supplied from the measurement device 7 (step S31). Then, the state prediction unit 39 generates the prediction state information Imp indicating the state of each object in the work space 6 after the calculation consideration time elapses, based on the state information Im (step S32). Then, the motion sequence generation unit 37 generates the robot motion sequence Sr and the peripheral device motion sequence Sp based on the predicted state information Imp and the application information, and outputs these motion sequences to the robot 5 and the peripheral device 8 (step S33). ).
  • the operation sequence generation unit 37 supplies the robot 5 with a control signal S4 indicating the robot operation sequence Sr in consideration of the operation sequence calculation time, and controls indicating the peripheral device operation sequence Sp in consideration of the operation sequence calculation time.
  • the signal S5 is supplied to the peripheral device 8.
  • the third embodiment may be combined with the second embodiment.
  • the processor 11 shown in FIG. 10 further functions as an integrated control unit 38, and controls the robot 5 and the peripheral device 8 so that the states of the robot 5 and the peripheral device 8 match the predicted state based on the subtask sequence. ..
  • FIG. 12 is a schematic configuration diagram of the control device 1C according to the fourth embodiment. As shown in FIG. 12, the control device 1C has an operation sequence generation means 37C.
  • the motion sequence generation means 37C is based on the robot motion information “Ir” indicating the motion characteristics of the robot that executes the task and the peripheral device information “Ip” indicating the motion characteristics of the peripheral device that transfers an object related to the task to the robot. , Generates motion sequences "Sra” and “Spa” indicating actions to be performed by the robot and peripheral devices, respectively.
  • the "robot” is any kind of robot that uses objects to perform tasks.
  • the "peripheral device” is a device that transfers an object related to a task with a robot, and may be a transfer device such as a conveyor that conveys an object or an AGV, and transfers a tool or a part to the robot at an assembly factory or the like. It may be an industrial device to perform.
  • the “object” refers to an object that is delivered between the robot and peripheral devices, and corresponds to a tool, a part (member), or a case that accommodates these.
  • the robot motion information Ir is information related to the motion characteristics of the robot 5 among the application information in the first to third embodiments (for example, constraint condition information I2, motion limit information I3, subtask information I4, abstract model information I5).
  • the peripheral device information Ip is information related to the motion characteristics of the peripheral device 8 among the application information in the first to third embodiments (for example, constraint condition information I2, operation limit information I3, subtask information I4, abstract model information I5).
  • the operation sequence generation means 37C is, for example, an abstract state setting unit 31, a target logical expression generation unit 32, a time step logical expression generation unit 33, an abstract model generation unit 34, a control input generation unit 35, and a subtask sequence generation unit in the first embodiment. It is composed of a part 36.
  • the operation sequence generation means 37C may be the operation sequence generation unit 37 in the second embodiment or the third embodiment.
  • the operation sequences Sra and Spa are the subtask sequence generated by the subtask sequence generation unit 36 in the first embodiment, or the robot operation sequence Sr and peripheral devices generated by the operation sequence generation unit 37 in the second or third embodiment. It can be an operation sequence Sp.
  • FIG. 13 is an example of a flowchart executed by the control device 1C in the fourth embodiment.
  • the motion sequence generation means 37C generates motion sequences Sra and Spa indicating actions to be executed by the robot and the peripheral devices, respectively, based on the robot motion information Ir and the peripheral device information Ip (step S31).
  • control device 1C can suitably generate an operation sequence of the robot and peripheral devices necessary for executing the task.
  • Non-temporary computer-readable media include various types of tangible storage media.
  • Examples of non-temporary computer-readable media include magnetic recording media (eg, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg, magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, Includes CD-R / W and semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (Random Access Memory)).
  • the program may also be supplied to the computer by various types of transient computer readable medium.
  • Examples of temporary computer-readable media include electrical, optical, and electromagnetic waves.
  • the temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
  • Appendix 2 It is described in Appendix 1, further comprising an integrated control means for controlling the operation of the robot and the peripheral device based on the state of the robot and the peripheral device measured during the execution of the operation sequence and the operation sequence. Control device.
  • the integrated control means does not match the states of the robot and the peripheral devices measured during the execution of the motion sequence with the predicted states of the robot and the peripheral devices when the robot and the peripheral devices operate according to the motion sequence.
  • the control device according to Appendix 2 which adjusts the operation timing of at least one of the robot and the peripheral device.
  • Appendix 4 has a state predicting means for predicting a state after a predetermined time in the work space of the robot.
  • the operation sequence generating means generates the operation sequence based on the state predicted by the state predicting means, the robot operation information, and the peripheral device operation information. The control device described.
  • Appendix 5 The control device according to Appendix 4, wherein the predetermined time is set to a calculation time estimated to be required by the operation sequence generating means for calculating the operation sequence.
  • the robot motion information is at least one of motion limit information relating to the motion limit of the robot, subtask information indicating a subtask that can be executed by the robot, and abstract model information relating to a model that abstracts the dynamics related to the robot.
  • the peripheral device operation information includes operation limit information regarding the operation limit of the peripheral device, subtask information indicating a subtask that can be executed by the peripheral device, and abstract model information regarding a model that abstracts the dynamics related to the peripheral device.
  • the abstract model information included in the robot motion information includes information indicating conditions for switching dynamics related to the robot.
  • the peripheral device is a transport device that transports the object.
  • the control device according to any one of Appendix 1 to 7, wherein the robot is a robot that at least performs an operation of picking up the object.
  • the motion sequence generation means receives an input for designating the object or the type of the object by displaying an image of the work space of the robot on a display device, and generates the motion sequence based on the input.
  • the control device according to any one of Appendix 1 to 8.
  • the operation sequence generation means A logical expression conversion means for converting the task into a logical expression based on temporal logic, A time step logical expression generating means for generating a time step logical expression, which is a logical expression representing the state of each time step in order to execute the task, from the logical expression.
  • the subtask sequence generating means for generating the sequence of the subtasks to be executed by the robot and the peripheral device based on the time step logical expression as the operation sequence is provided. The control device described.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

制御装置1Cは、動作シーケンス生成手段37Cを有する。動作シーケンス生成手段37Cは、タスクを実行するロボットの動き特性を示すロボット動作情報Irと、タスクに関する物の受け渡しをロボットと行う周辺装置の動き特性を示す周辺装置情報Ipとに基づき、ロボット及び周辺装置の夫々が実行すべき動作を示す動作シーケンスSra、Spaを生成する。

Description

制御装置、制御方法及び記録媒体
 本発明は、ロボットに作業させるタスクに関する処理を行う制御装置、制御方法及び記録媒体の技術分野に関する。
 ロボットに作業させるタスクが与えられた場合に、当該タスクを実行するために必要なロボットの制御を行う制御手法が提案されている。例えば、特許文献1には、ハンドを有するロボットにより複数の物品を把持して容器に収容する場合に、ハンドが物品を把持する順序の組み合わせを決定し、組み合わせ毎に算出した指標に基づき、収容する物品の順序を決定するロボット制御装置が開示されている。
特開2018-51684号公報
 ロボットがタスクを実行する場合、与えられたタスクによっては、他の装置と物の受け渡しを行う必要があり、この場合のロボットの動作の決定方法について、特許文献1には何ら開示されていない。
 本発明の目的の1つは、上述した課題を鑑み、ロボットの動作シーケンスを好適に生成することが可能な制御装置、制御方法及び記録媒体を提供することである。
 制御装置の一の態様は、制御装置であって、タスクを実行するロボットの動き特性を示すロボット動作情報と、前記タスクに関する対象物の受け渡しを前記ロボットと行う周辺装置の動き特性を示す周辺装置動作情報と、に基づき、前記ロボット及び前記周辺装置の夫々が実行すべき動作を示す動作シーケンスを生成する動作シーケンス生成手段を有する。
 制御方法の一態様は、コンピュータにより、タスクを実行するロボットの動き特性を示すロボット動作情報と、前記タスクに関する対象物の受け渡しを前記ロボットと行う周辺装置の動き特性を示す周辺装置動作情報と、に基づき、前記ロボット及び前記周辺装置の夫々が実行すべき動作を示す動作シーケンスを生成する。
 記録媒体の一の態様は、タスクを実行するロボットの動き特性を示すロボット動作情報と、前記タスクに関する対象物の受け渡しを前記ロボットと行う周辺装置の動き特性を示す周辺装置動作情報と、に基づき、前記ロボット及び前記周辺装置の夫々が実行すべき動作を示す動作シーケンスを生成する動作シーケンス生成手段としてコンピュータを機能させるプログラムが格納された記録媒体である。
 本発明によれば、ロボット及びロボットと対象物の受け渡しを行う周辺装置の各動作シーケンスを好適に生成することができる。
ロボット制御システムの構成を示す。 制御装置のハードウェア構成を示す。 アプリケーション情報のデータ構造の一例を示す。 第1実施形態における制御装置の機能ブロックの一例である。 作業空間の俯瞰図を示す。 タスク入力画面の表示例を示す。 第1実施形態におけるロボット及び周辺装置に関する制御処理を示すフローチャートの一例である。 第2実施形態における制御装置の概略構成図の一例である。 第2実施形態におけるロボット及び周辺装置に関する制御処理を示すフローチャートの一例である。 第3実施形態における制御装置の概略構成図の一例である。 第3実施形態におけるロボット及び周辺装置に関する制御処理を示すフローチャートの一例である。 第4実施形態における制御装置の概略構成図である。 第4実施形態におけるロボット及び周辺装置に関する制御処理を示すフローチャートの一例である。
 以下、図面を参照しながら、制御装置、制御方法及び記録媒体の実施形態について説明する。
 <第1実施形態>
 (1)システム構成
 図1は、第1実施形態に係るロボット制御システム100の構成を示す。ロボット制御システム100は、主に、制御装置1と、入力装置2と、表示装置3と、記憶装置4と、ロボット5と、計測装置7と、周辺装置8と、を備える。
 制御装置1は、ロボット5と周辺装置8に実行させるタスク(「目的タスク」とも呼ぶ。)が指定された場合に、タイムステップ(時間刻み)毎にロボット5及び周辺装置8が実行すべき動作シーケンスを生成し、動作シーケンスをロボット5及び周辺装置8に供給する。後述するように、動作シーケンスは、ロボット5及び周辺装置8が受付可能な単位に目的タスクを分解したタスク又はコマンド(「サブタスク」とも呼ぶ。)から構成されており、以後では「サブタスクシーケンス」とも呼ぶ。
 制御装置1は、入力装置2、表示装置3及び記憶装置4と電気的に接続している。例えば、制御装置1は、入力装置2から、目的タスクを指定するための入力信号「S1」を受信する。また、制御装置1は、表示装置3に対し、ロボット5に実行させるタスクに関する表示を行うための表示信号「S2」を送信する。また、制御装置1は、ロボット5の制御に関する制御信号「S4」をロボット5に送信し、周辺装置8の制御に関する制御信号「S5」を周辺装置8に送信する。さらに、制御装置1は、計測装置7から出力信号「S3」を受信する。
 入力装置2は、ユーザの入力を受け付けるインターフェースであり、例えば、タッチパネル、ボタン、キーボード、音声入力装置などが該当する。入力装置2は、ユーザの入力に基づき生成した入力信号S1を、制御装置1へ供給する。
 表示装置3は、例えば、ディスプレイ、プロジェクタ等であり、制御装置1から供給される表示信号S2に基づき、所定の表示を行う。後述するように、例えば、表示装置3は、表示信号S2に基づき、目的タスクに関する情報を指定する入力画面(「タスク入力画面」とも呼ぶ。)を表示する。
 記憶装置4は、アプリケーション情報記憶部41を有する。アプリケーション情報記憶部41は、目的タスクからサブタスクのシーケンスを生成するために必要なアプリケーション情報を記憶する。アプリケーション情報の詳細は、図3を参照しながら後述する。記憶装置4は、制御装置1に接続又は内蔵されたハードディスクなどの外部記憶装置であってもよく、フラッシュメモリなどの記録媒体であってもよい。また、記憶装置4は、制御装置1とデータ通信を行うサーバ装置であってもよい。この場合、記憶装置4は、複数のサーバ装置から構成されてもよい。
 ロボット5は、制御装置1から送信された制御信号S4に基づき動作を行う。図1に示すロボット5は、一例として、ロボット制御部51と、物を把持可能なロボットアーム52と、を有する。ロボットアーム52は、ロボット制御部51の制御に基づき、周辺装置8により搬送される対象物61を、対象物61以外の物体である障害物62に干渉することなく目的地領域63へ移動させるピックアンドプレイス(摘み上げて移動させる処理)を行う。ロボット制御部51は、制御信号S4が示すサブタスクシーケンスに基づき、ロボットアーム52の動作制御を行う。ロボット5は、垂直多関節型ロボットであってもよく、水平多関節型などの任意の種類のロボットであってもよい。
 計測装置7は、ロボット5及び周辺装置8が作業を行う作業空間6内を計測対象範囲として計測を行うカメラ、測域センサ、ソナーまたはこれらの組み合わせとなる1又は複数の外界センサである。計測装置7は、生成した出力信号S3を制御装置1に供給する。出力信号S3は、作業空間6内を撮影した画像データであってもよく、作業空間6内の物体の位置を示す点群データであってもよい。
 周辺装置8は、制御装置1から送信された制御信号S5に基づき動作を行う。図1に示す周辺装置8は、一例として、周辺装置制御部81と、物を搬送可能な搬送機器82と、を有する。搬送機器82は、周辺装置制御部81の制御に基づき、対象物61及び障害物62などの搬送を行う。周辺装置制御部81は、制御信号S5が示すサブタスクシーケンスに基づき、搬送機器82の動作制御を行う。周辺装置8は、AGV(Automated Guided Vehicle)又はスライダーであってもよく、所定方向又は複数方向に搬送可能なコンベアであってもよい。また、周辺装置8は、対象物61を収容する容器又は棚を移動させる機器であってもよい。
 なお、図1に示すロボット制御システム100の構成は一例であり、当該構成に種々の変更が行われてもよい。例えば、ロボット5は複数台存在してもよい。また、ロボット5は、ロボットアーム52を2つ以上備えてもよい。これらの場合であっても、制御装置1は、目的タスクに基づき、ロボットアーム52毎に実行すべきサブタスクシーケンスを生成し、当該サブタスクシーケンスを示す制御信号S4を、対象のロボットアーム52を有するロボット5に送信する。同様に、周辺装置8又は搬送機器82は複数台存在してもよい。また、計測装置7は、ロボット5の一部であってもよい。また、ロボット制御部51は、ロボット5とは別体に構成されてもよい。この場合、ロボット制御部51は、制御装置1に組み込まれてもよい。また、入力装置2及び表示装置3は、夫々、制御装置1に内蔵されるなどの態様により、制御装置1と同一の装置(例えばタブレット型端末)として構成されてもよい。また、制御装置1は、複数の装置から構成されてもよい。この場合、制御装置1を構成する複数の装置は、予め割り当てられた処理を実行するために必要な情報の授受を、これらの複数の装置間において行う。また、制御装置の少なくとも一部の機能を、ロボット5又は周辺装置8が有してもよい。
 (2)制御装置のハードウェア構成
 図2は、制御装置1のハードウェア構成を示す。制御装置1は、ハードウェアとして、プロセッサ11と、メモリ12と、インターフェース13とを含む。プロセッサ11、メモリ12及びインターフェース13は、データバス19を介して接続されている。
 プロセッサ11は、メモリ12に記憶されているプログラムを実行することにより、所定の処理を実行する。プロセッサ11は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)などのプロセッサである。
 メモリ12は、RAM(Random Access Memory)、ROM(Read Only Memory)などの各種のメモリにより構成される。また、メモリ12には、制御装置1が所定の処理を実行するためのプログラムが記憶される。また、メモリ12は、作業メモリとして使用され、記憶装置4から取得した情報等を一時的に記憶する。なお、メモリ12は、記憶装置4として機能してもよい。同様に、記憶装置4は、制御装置1のメモリ12として機能してもよい。なお、制御装置1が実行するプログラムは、メモリ12以外の記録媒体に記憶されてもよい。
 インターフェース13は、制御装置1と他の装置とを電気的に接続するためのインターフェースである。例えば、インターフェース13は、制御装置1と入力装置2とを接続するためのインターフェース、制御装置1と表示装置3とを接続するためのインターフェース、及び制御装置1と記憶装置4とを接続するためのインターフェースを含む。また、インターフェース13は、制御装置1とロボット5とを接続するためのインターフェース、制御装置1と周辺装置8とを接続するためのインターフェース、及び制御装置1と計測装置7とを接続するためのインターフェースを含む。これらの接続は、有線接続であってもよく、無線接続であってもよい。例えば、制御装置1と記憶装置4とを接続するためのインターフェースは、プロセッサ11の制御に基づき記憶装置4とデータの送受信を有線又は無線により行うための通信インターフェースであってもよい。他の例では、制御装置1と記憶装置4とは、ケーブル等により接続されてもよい。この場合、インターフェース13は、記憶装置4とデータの授受を行うためのUSB(Universal Serial Bus)、SATA(Serial AT Attachment)などに準拠したインターフェースを含む。
 なお、制御装置1のハードウェア構成は、図2に示す構成に限定されない。例えば、制御装置1は、入力装置2、表示装置3及び記憶装置4の少なくとも一方を含んでもよい。また、制御装置1は、スピーカなどの音出力装置と接続又は内蔵してもよい。これらの場合、制御装置1は、入力機能及び出力機能が本体と一体となったタブレット型端末等であってもよい。
 (3)アプリケーション情報
 次に、アプリケーション情報記憶部41が記憶するアプリケーション情報のデータ構造について説明する。
 図3は、アプリケーション情報記憶部41に記憶されるアプリケーション情報のデータ構造の一例を示す。図3に示すように、アプリケーション情報記憶部41は、抽象状態指定情報I1と、制約条件情報I2と、動作限界情報I3と、サブタスク情報I4と、抽象モデル情報I5と、物体モデル情報I6とを含む。
 抽象状態指定情報I1は、サブタスクシーケンスの生成にあたり定義する必要がある抽象状態を指定する情報である。この抽象状態は、作業空間6内における物体の抽象的な状態であって、後述する目標論理式において使用する命題として定められる。例えば、抽象状態指定情報I1は、目的タスクの種類毎に、定義する必要がある抽象状態を指定する。なお、目的タスクは、例えば、ピックアンドプレイス、製品の組み立て、弁当箱などの容器への具材の配置などの種々の種類のタスクであってもよい。
 制約条件情報I2は、目的タスクを実行する際のロボット5及び周辺装置8に関する制約条件を示す情報である。制約条件情報I2は、例えば、目的タスクがピックアンドプレイスの場合、障害物にロボット5(ロボットアーム52)が接触してはいけないという制約条件、ロボット5と周辺装置8とが接触してはいけないという制約条件などを示す。なお、制約条件情報I2は、目的タスクの種類毎に夫々適した制約条件を記録した情報であってもよい。
 動作限界情報I3は、制御装置1により制御が行われるロボット5及び周辺装置8の動作限界に関する情報を示す。動作限界情報I3は、ロボット5の場合には、ロボットアーム52のリーチング等の各動作の速度及び加速度の最大値、及び、可動角度などの動作制約の情報を含む。また、動作限界情報I3は、周辺装置8の場合には、搬送機器82の搬送の速度及び加速度の最大値、及び、可能な搬送方向などの動作制約の情報を含む。
 サブタスク情報I4は、ロボット5が受付可能なサブタスクの情報と、周辺装置8が受付可能なサブタスクの情報とを含む。例えば、目的タスクがピックアンドプレイスの場合には、サブタスク情報I4は、ロボットアーム52の移動であるリーチングと、ロボットアーム52による把持であるグラスピングとを、ロボット5のサブタスクとして規定する。また、この場合、サブタスク情報I4は、搬送機器82による物体の搬送に関する動作を、周辺装置8のサブタスクとして規定する。サブタスク情報I4は、目的タスクの種類がユーザにより選択可能な場合、目的タスクの種類毎に使用可能なサブタスクの情報を示すものであってもよい。
 抽象モデル情報I5は、作業空間6におけるロボット5及び周辺装置8を含む物体のダイナミクスを抽象化したモデル(「抽象モデル」とも呼ぶ。)に関する情報である。抽象モデル情報I5は、目的タスクの種類がユーザにより選択可能な場合、目的タスクの種類毎に適した抽象モデルに関する情報を有している。抽象モデルは、現実のダイナミクスをハイブリッドシステムにより抽象化したモデルにより表されている。抽象モデル情報I5は、上述のハイブリッドシステムにおけるダイナミクスの切り替わりの条件(「ダイナミクス切替条件」とも呼ぶ。)を示す情報を含む。ダイナミクス切替条件は、ロボット5又は周辺装置8の少なくとも一方に関わるダイナミクスの切り替わりの条件である。図1の例では、以下のようなダイナミクス切替条件(a)、(b)が与えられる。
 (a)「対象物61又は障害物62は、搬送機器82に載ると、搬送機器82の動作速度に基づき一定方向に動く」
 (b)「ロボットアーム52が対象物61を掴むと、対象物61は、搬送機器82に載っているか否かに関わらず、ロボットアーム52の動作に基づき動く」
 物体モデル情報I6は、計測装置7が生成した出力信号S3から認識すべき各物体(図1の例では、ロボットアーム52、対象物61、障害物62、目的地領域63、搬送機器82など)の物体モデルに関する情報である。物体モデル情報I6は、例えば、上述した各物体の種類、位置、又は/及び姿勢を制御装置1が認識するために必要な情報と、各物体の3次元形状を認識するためのCADデータなどの3次元形状情報とを含んでいる。前者の情報は、ニューラルネットワークなどの機械学習における学習モデルを学習することで得られた推論器のパラメータを含む。この推論器は、例えば、画像が入力された場合に、当該画像において被写体となる物体の種類、位置、姿勢等を出力するように予め学習される。
 このように、アプリケーション情報は、ロボット5の動作限界、サブタスク、及び抽象モデルなどの動き特性を示すロボット動作情報と、周辺装置8の動作限界、サブタスク及び抽象モデルなどの動き特性を示す周辺装置動作情報と、を夫々含んでいる。なお、アプリケーション情報記憶部41は、上述した情報の他、サブタスクシーケンスの生成処理に関する種々の情報を記憶してもよい。
 (4)機能ブロック
 図4は、制御装置1の機能ブロックの一例である。制御装置1のプロセッサ11は、機能的には、状態計測部30と、抽象状態設定部31と、目標論理式生成部32と、タイムステップ論理式生成部33と、抽象モデル生成部34と、制御入力生成部35と、サブタスクシーケンス生成部36とを有する。なお、図4では、各ブロック間で授受が行われるデータの一例が示されているが、これに限定されない。
 状態計測部30は、計測装置7から供給される出力信号S3に基づき、作業空間6内における物体の状態を示す情報(「状態情報Im」とも呼ぶ。)を生成する。具体的には、状態計測部30は、出力信号S3を受信した場合に、物体モデル情報I6等を参照し、作業空間6内の環境を認識する技術(画像処理技術、画像認識技術、音声認識技術、RFID(Radio Frequency Identifier)を用いる技術等)により出力信号S3を解析する。これにより、状態計測部30は、目的タスクの実行に関連する作業空間6内の各物体の種類毎の数、位置及び姿勢等を計測し、この計測結果を、状態情報Imとして生成する。例えば、状態情報Imは、図1の場合、ロボットアーム52、対象物61、障害物62、搬送機器82の各々の数、位置、及び姿勢などの情報を含む。状態計測部30は、生成した状態情報Imを、抽象状態設定部31及び抽象モデル生成部34に供給する。なお、状態情報Imには、3次元形状の物体の計測結果に加えて、図1の目的地領域63などの目的タスクに関連する平面的な物体(領域)に対する位置及び範囲などの計測結果が含まれてもよい。
 抽象状態設定部31は、上述の状態情報Im及びアプリケーション情報記憶部41から取得した抽象状態指定情報I1等に基づき、目的タスクを実行する際に考慮する必要がある作業空間6内の抽象状態を設定する。この場合、抽象状態設定部31は、各抽象状態に対し、抽象状態を論理式で表すための命題を定義する。抽象状態設定部31は、設定した抽象状態を示す情報(「抽象状態設定情報IS」とも呼ぶ。)を目標論理式生成部32に供給する。
 目標論理式生成部32は、目的タスクに関する入力信号S1を入力装置2から受信した場合に、抽象状態設定情報ISに基づき、入力信号S1が示す目的タスクを、最終的な達成状態を表す時相論理の論理式(「目標論理式Ltag」とも呼ぶ。)に変換する。この場合、目標論理式生成部32は、アプリケーション情報記憶部41から制約条件情報I2を参照することで、目的タスクの実行において満たすべき制約条件を、目標論理式Ltagに付加する。そして、目標論理式生成部32は、生成した目標論理式Ltagを、タイムステップ論理式生成部33に供給する。また、目標論理式生成部32は、目的タスクに関する入力を受け付けるタスク入力画面を表示するための表示信号S2を生成し、当該表示信号S2を表示装置3に供給する。
 タイムステップ論理式生成部33は、目標論理式生成部32から供給された目標論理式Ltagを、各タイムステップでの状態を表した論理式(「タイムステップ論理式Lts」とも呼ぶ。)に変換する。そして、タイムステップ論理式生成部33は、生成したタイムステップ論理式Ltsを、制御入力生成部35に供給する。
 抽象モデル生成部34は、状態情報Imと、アプリケーション情報記憶部41が記憶する抽象モデル情報I5とに基づき、作業空間6における現実のダイナミクスを抽象化した抽象モデル「Σ」を生成する。この場合、抽象モデル生成部34は、対象のダイナミクスを連続ダイナミクスと離散ダイナミクスとが混在したハイブリッドシステムとみなし、ハイブリッドシステムに基づく抽象モデルΣを生成する。抽象モデルΣの生成方法については後述する。抽象モデル生成部34は、生成した抽象モデルΣを、制御入力生成部35へ供給する。
 制御入力生成部35は、タイムステップ論理式生成部33から供給されるタイムステップ論理式Ltsと、抽象モデル生成部34から供給される抽象モデルΣとを満たし、評価関数を最適化するタイムステップ毎のロボット5及び周辺装置8への制御入力を決定する。そして、制御入力生成部35は、ロボット5及び周辺装置8へのタイムステップ毎の制御入力を示す情報(「制御入力情報Ic」とも呼ぶ。)を、サブタスクシーケンス生成部36へ供給する。
 サブタスクシーケンス生成部36は、制御入力生成部35から供給される制御入力情報Icと、アプリケーション情報記憶部41が記憶するサブタスク情報I4とに基づき、ロボット5及び周辺装置8に動作させるサブタスクシーケンスを夫々生成する。そして、サブタスクシーケンス生成部36は、ロボット5に実行させるサブタスクシーケンスを示す制御信号S4を、インターフェース13を介してロボット5へ供給し、周辺装置8に実行させるサブタスクシーケンスを示す制御信号S5を、インターフェース13を介して周辺装置8へ供給する。なお、制御信号S4、S5には、夫々、サブタスクシーケンスを構成するサブタスクの実行順序及び実行タイミングを示す情報が含まれている。
 なお、図4において説明した状態計測部30、抽象状態設定部31、目標論理式生成部32、タイムステップ論理式生成部33、抽象モデル生成部34、制御入力生成部35及びサブタスクシーケンス生成部36の各構成要素は、例えば、プロセッサ11がプログラムを実行することによって実現できる。より具体的には、各構成要素は、メモリ12又は記憶装置4に格納されたプログラムを、プロセッサ11が実行することによって実現され得る。また、必要なプログラムを任意の不揮発性記録媒体に記録しておき、必要に応じてインストールすることで、各構成要素を実現するようにしてもよい。なお、これらの各構成要素は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組み合わせ等により実現してもよい。また、これらの各構成要素は、例えばFPGA(field-programmable gate array)又はマイコン等の、ユーザがプログラミング可能な集積回路を用いて実現してもよい。この場合、この集積回路を用いて、上記の各構成要素から構成されるプログラムを実現してもよい。このように、各構成要素は、プロセッサ以外のハードウェアにより実現されてもよい。以上のことは、後述する他の実施の形態においても同様である。
 (5)ブロック毎の処理詳細
 次に、図4に示す機能ブロックごとの処理の詳細について、具体例を用いて説明する。
 (5-1)状態計測部及び抽象状態設定部
 状態計測部30は、計測装置7から供給される出力信号S3に基づき、作業空間6内の物体の状態(種類、位置等)を示す状態情報Imを生成する。抽象状態設定部31は、状態情報Imに基づき、作業空間6内の抽象状態を設定する。この場合、抽象状態設定部31は、抽象状態指定情報I1を参照し、作業空間6内において設定すべき抽象状態を認識する。なお、作業空間6内において設定すべき抽象状態は、目的タスクの種類によって異なる。よって、目的タスクの種類毎に設定すべき抽象状態が抽象状態指定情報I1に規定されている場合には、抽象状態設定部31は、入力信号S1により指定された目的タスクに対応する抽象状態指定情報I1を参照し、設定すべき抽象状態を認識する。
 図5は、作業空間6の俯瞰図を示す。図5に示す作業空間6には、ロボットアーム52と、矢印59の方向に物を搬送する搬送機器82と、搬送機器82上に置かれた対象物61及び障害物62と、目的地領域63と、が存在している。
 この場合、状態計測部30は、計測装置7から受信した出力信号S3を、物体モデル情報I6等を用いて解析することで、ロボットアーム52、搬送機器82、対象物61、障害物62の位置及び姿勢などの状態、及び、対象物61の目的地となる目的地領域63の位置及び範囲等を認識する。この場合、抽象化のため、状態計測部30は、ロボットアーム52の手先(ロボットハンド)をロボットアーム52の位置として設定してもよい。そして、抽象状態設定部31は、抽象状態指定情報I1を参照することで、目的タスクにおいて定義すべき抽象状態を決定する。この場合、抽象状態設定部31は、状態計測部30の認識結果を示す状態情報Imと、抽象状態指定情報I1とに基づき、抽象状態を示す命題を定める。図5の例では、抽象状態設定部31は、状態情報Imにより特定される対象物61、障害物62、ロボットアーム52、搬送機器82、目的地領域63に夫々識別ラベルを付す。また、抽象状態設定部31は、抽象状態指定情報I1に基づき、対象物61又は障害物62が搬送機器82に載っているという命題、対象物61が最終的に載置されるべき目的地点である領域G(破線枠63参照)内に存在するという命題、ロボットアーム52が障害物62に干渉しているという命題などの目標論理式に用いられる各命題を定義する。
 このように、抽象状態設定部31は、抽象状態指定情報I1を参照することで、定義すべき抽象状態を認識し、当該抽象状態を表す命題を、対象物61の数、ロボットアーム52の数、障害物62の数等に応じてそれぞれ定義する。そして、抽象状態設定部31は、抽象状態を表す命題を示す情報を、抽象状態設定情報ISとして目標論理式生成部32に供給する。
 (5-2)目標論理式生成部
 目標論理式生成部32は、目的タスクの種類と、前記ロボットの作業対象となる対象物の最終状態と、を指定する入力信号S1の入力を受け付ける。また、目標論理式生成部32は、これらの入力を受け付けるタスク入力画面の表示信号S2を、表示装置3に送信する。
 目標論理式生成部32は、入力信号S1により指定された目的タスクを、時相論理を用いた論理式に変換する。入力信号S1は、自然言語を用いて表されていてもよい。なお、自然言語で表されたタスクを論理式に変換する方法は、種々の技術が存在する。例えば、目標論理式生成部32は、図5の例において、「最終的に対象物61が領域Gに存在する」という命題「g」を示す目的タスクが与えられたとする。この場合、目標論理式生成部32は、目的タスクを線形論理式(LTL:Linear Temporal Logic)の「eventually」に相当する演算子「◇」と、抽象状態設定部31により定義された命題「g」と用いて、論理式「◇g」を生成する。なお、目標論理式生成部32は、演算子「◇」以外の任意の時相論理の演算子(論理積「∧」、論理和「∨」、否定「¬」、論理包含「⇒」、always「□」、next「○」、until「U」等)を用いて論理式を表現してもよい。また、線形時相論理に限らず、MTL(Metric Temporal Logic)やSTL(Signal Temporal Logic)などの任意の時相論理を用いて論理式を表現してもよい。
 また、目標論理式生成部32は、アプリケーション情報記憶部41から制約条件情報I2を取得する。なお、タスクの種類毎に制約条件情報I2がアプリケーション情報記憶部41に記憶されている場合には、目標論理式生成部32は、入力信号S1により指定された目的タスクの種類に対応する制約条件情報I2を、アプリケーション情報記憶部41から取得する。
 そして、目標論理式生成部32は、取得した制約条件情報I2が示す制約条件を、目的タスクを示す論理式に付加することで、目標論理式Ltagを生成する。例えば、ピックアンドプレイスに対応する制約条件として、「ロボットアーム52が障害物62に常に干渉しない」、「ロボットアーム52は、搬送機器82に常に干渉しない」などの制約条件情報I2に含まれていた場合、目標論理式生成部32は、これらの制約条件を論理式に変換する。そして、目的タスクに対応する論理式に、変換したこれらの制約条件の論理式を付加することで、目標論理式Ltagを生成する。
 次に、タスク入力画面での目的タスクに関する入力例について説明する。
 図6は、タスク入力画面の表示例を示す。目標論理式生成部32は、表示信号S2を生成し、当該表示信号S2を表示装置3に送信することで、表示装置3に図6に示すタスク入力画面を表示させている。図6に示すタスク入力画面は、主に、タスク種類指定欄15と、画像表示欄16と、同種対象物指定ボタン17と、決定ボタン20とを有し、タスクの種類の指定及び対象物61とみなす物体の指定を受け付ける。
 目標論理式生成部32は、タスク種類指定欄15において、目的タスクの種類を指定する入力を受け付ける。ここでは、一例として、タスク種類指定欄15はプルダウンメニュー形式の入力欄である。目標論理式生成部32は、たとえば、受付可能な目的タスクの種類の候補を、タスク種類指定欄15において選択可能に一覧表示する。ここでは、タスク種類指定欄15には、ピックアンドプレイスが目的タスクの種類として指定されている。
 また、目標論理式生成部32は、画像表示欄16において、計測装置7が作業空間6内を撮像した画像を表示する。そして、目標論理式生成部32は、画像表示欄16上でのタッチパネル操作又はマウス操作等に基づき、対象物61とみなす物体を指定する入力を受け付ける。
 この場合、第1の例では、目標論理式生成部32は、タスク入力画面の表示時点において、公知の画像認識処理に基づき、画像表示欄16での対象物61の候補となる物体の領域(ここでは領域18b、18c)を認識する。そして、目標論理式生成部32は、当該領域のうちいずれかがタッチ操作又はクリック操作により選択された場合に、選択された領域(ここでは領域18b)の物体を対象物61とみなす。第2の例では、目標論理式生成部32は、タッチ操作又はクリック操作により対象物61を構成する一部の画素が指定された場合、指定された画素を含む物体の領域を、対象物61の領域とみなす。第3の例では、目標論理式生成部32は、対象物61とする物体の画像領域を丸で囲む操作を検知した場合、丸で囲まれた画像領域内の物体を対象物61とみなす。
 また、目標論理式生成部32は、画像認識処理により、領域18aが目的地領域63を示す領域であると自動認識する。この場合、目的地領域63には、目的地領域63を目標論理式生成部32が認識することを容易にするためのマーカなどが付されてもよく、目的地領域63の形状及び大きさ等の情報がアプリケーション情報として記憶装置4に記憶されていてもよい。なお、目標論理式生成部32が目的地領域63を自動認識する代わりに、対象物61と同様に、目的地領域63を指定する入力を受け付けることで、目的地領域63を認識してもよい。また、この場合、目標論理式生成部32は、ドラッグアンドドロップ操作による対象物61の最終目的地の入力を受け付けることで、目的地領域63を認識してもよい。
 また、目標論理式生成部32は、同種対象物指定ボタン17が選択されている場合、画像表示欄16上で指定された物体に加えて、当該物体と同種の物体についても対象物61とみなす。この場合、対象物61とみなす物体は、タスク入力画面の表示時点において計測装置7の計測範囲外に存在する物体であってもよい。これにより、目標論理式生成部32は、効率的に対象物61をユーザに指定させることができる。なお、対象物61とする物体の種類が予め定められている場合には、制御装置1は、対象物61を指定する入力を受け付けることなく、対象物61を認識してもよい。この場合、物体モデル情報I6等に対象物61を識別するための情報が含まれており、状態計測部30は、物体モデル情報I6等を参照することで、対象物61の識別及び状態(位置、姿勢等)の認識を行う。
 そして、目標論理式生成部32は、決定ボタン20が選択されたことを検知した場合、タスク入力画面での入力内容を示す入力信号S1に基づき認識した目的タスク、対象物61又は/及び目的地領域63の情報を用いて、目標論理式Ltagを生成する。なお、目標論理式生成部32は、入力信号S1に基づき認識した目的タスク、対象物61又は/及び目的地領域63の情報を抽象状態設定部31に供給してもよい。この場合、抽象状態設定部31は、供給された情報に基づき、目的タスク、対象物61又は/及び目的地領域63に関する命題の設定を行う。
 (5-3)タイムステップ論理式生成部
 タイムステップ論理式生成部33は、目的タスクを完了するタイムステップ数(「目標タイムステップ数」とも呼ぶ。)を定め、目標タイムステップ数で目標論理式Ltagを満たすような各タイムステップでの状態を表す命題の組み合わせを定める。この組み合わせは、通常複数存在するため、タイムステップ論理式生成部33は、これらの組み合わせを論理和により結合した論理式を、タイムステップ論理式Ltsとして生成する。上述の組み合わせは、ロボット5に命令する動作のシーケンスを表す論理式の候補となり、以後では「候補φ」とも呼ぶ。よって、タイムステップ論理式生成部33は、生成した各候補φの論理和をタイムステップ論理式Ltsとして定める。この場合、タイムステップ論理式Ltsは、生成した候補φの少なくともいずれかが真となる場合に真となる。
 好適には、タイムステップ論理式生成部33は、生成された候補に対し、動作限界情報I3を参照することで、実現可能性を判定し、実現不可と判定した候補φを除外するとよい。例えば、タイムステップ論理式生成部33は、動作限界情報I3に基づき、ロボットアーム52の手先(ロボットハンド)が1タイムステップ当たりに移動可能な距離及び搬送機器82が1タイムステップ当たりに対象物61を移動させることが可能な距離を認識する。また、タイムステップ論理式生成部33は、状態情報Imが示す対象物61及びロボットハンドの位置ベクトルに基づき、移動対象となる対象物61とロボットハンドとの距離を認識する。そして、タイムステップ論理式生成部33は、これらの距離に基づき、実現可能性を判定する。
 このように、タイムステップ論理式生成部33は、動作限界情報I3を参照して実現不可能な候補をタイムステップ論理式Ltsから除外することで、後段の処理部の処理負荷を好適に低減させることができる。
 次に、目標タイムステップ数の設定方法について補足説明する。
 タイムステップ論理式生成部33は、例えば、ユーザ入力により指定された作業の見込み時間に基づき、目標タイムステップ数を決定する。この場合、タイムステップ論理式生成部33は、メモリ12又は記憶装置4に記憶された、1タイムステップ当たりの時間幅の情報に基づき、上述の見込み時間から目標タイムステップ数を算出する。他の例では、タイムステップ論理式生成部33は、目的タスクの種類毎に適した目標タイムステップ数を対応付けた情報を予めメモリ12又は記憶装置4に記憶しておき、当該情報を参照することで、実行すべき目的タスクの種類に応じた目標タイムステップ数を決定する。
 好適には、タイムステップ論理式生成部33は、目標タイムステップ数を所定の初期値に設定する。そして、タイムステップ論理式生成部33は、制御入力生成部35が制御入力を決定できるタイムステップ論理式Ltsが生成されるまで、目標タイムステップ数を徐々に増加させる。この場合、タイムステップ論理式生成部33は、設定した目標タイムステップ数により制御入力生成部35が最適化処理を行った結果、最適解を導くことができなかった場合、目標タイムステップ数を所定数(1以上の整数)だけ加算する。
 このとき、タイムステップ論理式生成部33は、目標タイムステップ数の初期値を、ユーザが見込む目的タスクの作業時間に相当するタイムステップ数よりも小さい値に設定するとよい。これにより、タイムステップ論理式生成部33は、不必要に大きな目標タイムステップ数を設定することを好適に抑制する。
 (5-4)抽象モデル生成部
 抽象モデル生成部34は、状態情報Imと、抽象モデル情報I5とに基づき、抽象モデルΣを生成する。ここで、抽象モデル情報I5には、抽象モデルΣの生成に必要な情報が記録されている。例えば、目的タスクがピックアンドプレイスの場合には、対象物の位置や数、対象物を置く目的地領域の位置、ロボットアーム52の数、搬送機器82の位置及び搬送速度(及び搬送方向)等を特定しない汎用的な形式の抽象モデルが抽象モデル情報I5に記録されている。この抽象モデルは、タイムステップ「k」での作業空間6内の物体の状態とタイムステップ「k+1」での作業空間6内の物体の状態との関係を示した差分方程式により表されてもよい。このとき、差分方程式には、例えば、対象物の位置を示す位置ベクトル、ロボットアーム52の手先の位置を示す位置ベクトルなどが変数として与えられる。
 そして、抽象モデル生成部34は、抽象モデル情報I5に記録された汎用的な形式の抽象モデルに対し、状態情報Imが示す対象物の位置や数、対象物を置く領域の位置、ロボット5の台数等を反映することで、抽象モデルΣを生成する。
 ここで、ロボット5による目的タスクの作業時においては、作業空間6内のダイナミクスが頻繁に切り替わる。よって、抽象モデル情報I5に記憶された抽象モデルは、このダイナミクスの切り替わりを、論理変数を用いて抽象表現したモデルとなっている。よって、抽象モデル生成部34は、ダイナミクスが切り替わるイベント(動作)を、論理変数を用いて抽象モデルにおいて抽象表現することで、ダイナミクスの切り替わりを好適に抽象モデルにより表現することができる。
 例えば、図1及び図5に示す作業空間6では、以下のダイナミクス切替条件が存在する。
 (a)「対象物61又は障害物62は、搬送機器82に載ると、搬送機器82の動作速度に基づき一定方向に動く」
 (b)「ロボットアーム52が対象物61を掴むと、対象物61は、搬送機器82に載っているか否かに関わらず、ロボットアーム52の動作に基づき動く」
 よって、この場合、抽象モデル生成部34は、対象物61又は障害物62が搬送機器82に載るという動作を、論理変数を用いて抽象モデル内で抽象表現すると共に、ロボットアーム52が対象物61を掴むという動作を、論理変数を用いて抽象モデル内で抽象表現する。
 このように、抽象モデル生成部34は、抽象モデル情報I5を参照し、ダイナミクスの切り替わりが離散値である論理変数により表され、物体の移動が連続値により表されたハイブリッドシステムにより作業空間6内のダイナミクスを抽象化したモデルである抽象モデルΣを設定する。ここで、抽象モデルΣがタイムステップ「k」及び「k+1」での作業空間6内の物体の状態の関係を示した差分方程式により表される場合、当該差分方程式は、物体の状態を表す位置ベクトル等と、ロボット5への制御入力及び周辺装置8への制御入力を表す変数(パラメータ)と、ダイナミクスの切り替わりを示す論理変数とを含んでいる。
 また、抽象モデルΣは、ロボット5全体及び周辺装置8全体の詳細なダイナミクスではなく、抽象化されたダイナミクスを表す。例えば、抽象モデルΣでは、ロボット5について、対象物を実際に把持するロボット5の手先であるロボットハンドのダイナミクスのみが表されてもよい。他の例では、抽象モデルΣでは、周辺装置8の制御入力に応じて搬送機器82に載置された物の位置が変動することが周辺装置8のダイナミクスとして表されてもよい。これにより、制御入力生成部35による最適化処理の計算量を好適に削減することができる。
 なお、抽象モデル生成部34は、混合論理動的(MLD:Mixed Logical Dynamical)システムまたはペトリネットやオートマトンなどを組み合わせたハイブリッドシステムのモデルを生成してもよい。
 (5-5)制御入力生成部
 制御入力生成部35は、タイムステップ論理式生成部33から供給されるタイムステップ論理式Ltsと、抽象モデル生成部34から供給される抽象モデルΣとに基づき、最適となるタイムステップ毎のロボット5及び周辺装置8に対するタイムステップ毎の制御入力を決定する。この場合、制御入力生成部35は、目的タスクに対する評価関数を定義し、抽象モデルΣ及びタイムステップ論理式Ltsを制約条件として評価関数を最小化する最適化問題を解く。
 評価関数は、例えば、目的タスクの種類毎に予め定められ、メモリ12又は記憶装置4に記憶されている。評価関数は、ロボット5が費やすエネルギーを最小化するように設計されてもよく、ロボット5及び周辺装置8が費やすエネルギーを最小化するように設計されてもよい。図1及び図5に示す例において、例えば、制御入力生成部35は、対象物61と目的地領域63との距離「d」と、ロボット5に対する制御入力「ukr」と、搬送機器82に対する制御入力「ukp」とが最小となるように評価関数を定める。具体的には、制御入力生成部35は、たとえば、全タイムステップにおける距離dのノルムの2乗と、制御入力ukrのノルムの2乗と、制御入力ukpのノルムの2乗との和を評価関数として定める。この場合、制御入力生成部35は、距離dの項と、制御入力ukrの項と、制御入力ukpの項との夫々に対し、所定の重み付け係数を乗じてもよい。なお、制御入力ukr及び制御入力ukpは、速度であってもよく加速度であってもよい。
 そして、制御入力生成部35は、設定した評価関数に対し、抽象モデルΣ及びタイムステップ論理式Lts(即ち候補φの論理和)を制約条件とする制約付き混合整数最適化問題を解く。ここで、制御入力生成部35は、論理変数を連続値に近似して連続緩和問題とすることで、計算量を削減してもよい。なお、線形論理式(LTL)に代えてSTLを採用した場合には、非線形最適化問題として記述することが可能である。これにより、制御入力生成部35は、ロボット5に対する制御入力ukrと、搬送機器82に対する制御入力ukpとを夫々算出する。
 また、制御入力生成部35は、目標タイムステップ数が長い場合(例えば所定の閾値より大きい場合)、最適化に用いるタイムステップ数を、目標タイムステップ数より小さい値(例えば上述の閾値)に設定してもよい。この場合、制御入力生成部35は、例えば、所定のタイムステップ数が経過する毎に、上述の最適化問題を解くことで、逐次的に制御入力ukrと制御入力ukpとを決定する。
 好適には、制御入力生成部35は、目的タスクの達成状態に対する中間状態に相当する所定のイベント毎に、上述の最適化問題を解き、使用すべき制御入力ukrと制御入力ukpとを決定してもよい。この場合、制御入力生成部35は、次のイベント発生までのタイムステップ数を、最適化に用いるタイムステップ数に設定する。上述のイベントは、例えば、作業空間6におけるダイナミクスが切り替わる事象である。例えば、ピックアンドプレイスを目的タスクとした場合には、ロボット5が対象物を掴む、ロボット5が運ぶべき複数の対象物のうちの1つの対象物を目的地点へ運び終える、などがイベントとして定められる。イベントは、例えば、目的タスクの種類毎に予め定められており、目的タスクの種類毎にイベントを特定する情報が記憶装置4に記憶されている。
 この態様によっても、最適化に用いるタイムステップ数を小さくして最適化問題の計算量等を好適に低減することができる。
 (5-6)サブタスクシーケンス生成部
 サブタスクシーケンス生成部36は、制御入力生成部35から供給される制御入力情報Icと、アプリケーション情報記憶部41が記憶するサブタスク情報I4とに基づき、サブタスクシーケンスを生成する。この場合、サブタスクシーケンス生成部36は、サブタスク情報I4を参照することで、ロボット5が受け付け可能なサブタスク及び周辺装置8が受付可能なサブタスクを夫々認識する。そして、サブタスクシーケンス生成部36は、制御入力情報Icが示すタイムステップ毎のロボット5への制御入力を、ロボット5のサブタスクに変換し、制御入力情報Icが示すタイムステップ毎の周辺装置8への制御入力を、周辺装置8のサブタスクに変換する。
 例えば、サブタスク情報I4には、ピックアンドプレイスを目的タスクとする場合にロボット5が受け付け可能なサブタスクとして、ロボットハンドの移動(リーチング)とロボットハンドの把持(グラスピング)の2つのサブタスクを示す関数が定義されている。この場合、リーチングを表す関数「Move」は、例えば、当該関数実行前のロボット5の初期状態、当該関数実行後のロボット5の最終状態、及び当該関数の実行に要する所要時間をそれぞれ引数とする関数である。また、グラスピングを表す関数「Grasp」は、例えば、当該関数実行前のロボット5の状態、当該関数実行前の把持対象の対象物の状態、及びダイナミクスの切り替わりを示す論理変数をそれぞれ引数とする関数である。ここで、関数「Grasp」は、論理変数が「1」のときに物を掴む動作を行うこと表し、論理変数が「0」のときに物を放す動作を行うこと表す。この場合、サブタスクシーケンス生成部36は、関数「Move」を、制御入力情報Icが示すタイムステップ毎の制御入力により定まるロボットハンドの軌道に基づき決定し、関数「Grasp」を、制御入力情報Icが示すタイムステップ毎の論理変数の遷移に基づき決定する。
 そして、サブタスクシーケンス生成部36は、関数「Move」と関数「Grasp」とにより構成されるロボット5のサブタスクシーケンスを生成し、当該サブタスクシーケンスを示す制御信号S4をロボット5に供給する。例えば、目的タスクが「最終的に対象物61が領域Gに存在する」の場合、サブタスクシーケンス生成部36は、ロボットアーム52に対し、関数「Move」、関数「Grasp」、関数「Move」、関数「Grasp」のサブタスクシーケンスを生成する。この場合、ロボットアーム52は、1回目の関数「Move」により搬送機器82上の対象物61の位置まで移動し、1回目の関数「Grasp」により対象物61を把持し、2回目の関数「Move」により目的地領域63まで移動し、2回目の関数「Grasp」により対象物61を目的地領域63に載置する。
 同様に、サブタスクシーケンス生成部36は、サブタスク情報I4が示す周辺装置8が実行可能なサブタスクと、制御入力情報Icが示す周辺装置8の時系列の制御入力とに基づき、周辺装置8に実行させるサブタスクシーケンスを生成する。この場合、周辺装置8のサブタスクは、搬送機器82上の物体を移動させる関数(「移動関数」とも呼ぶ。)を少なくとも有する。移動関数は、移動速度又は加速度の少なくとも一方をパラメータとして有し、サブタスクシーケンス生成部36は、制御入力情報Icが示す周辺装置8の時系列の制御入力に基づき、上述のパラメータが指定された移動関数を含むサブタスクシーケンスを生成する。なお、周辺装置8のサブタスクとして、移動関数のみに限らず、移動方向の変換を指示する関数、一時停止を指示する関数などの種々の関数がサブタスク情報I4に登録されていてもよい。
 (6)処理フロー
 図7は、第1実施形態において制御装置1が実行する制御処理を示すフローチャートの一例である。
 まず、制御装置1の状態計測部30は、計測装置7から供給される出力信号S3に基づき、作業空間6内の物体の計測結果を示す状態情報Imを生成する。抽象状態設定部31は、当該状態情報Imに基づき、作業空間6における抽象状態の設定を行う(ステップS11)。次に、目標論理式生成部32は、入力信号S1等により指定された目的タスクから、目標論理式Ltagを決定する(ステップS12)。この場合、目標論理式生成部32は、制約条件情報I2を参照することで、目的タスクの実行における制約条件を、目標論理式Ltagに付加する。なお、ステップS12の処理は、ステップS11よりも前に実行されてもよい。
 そして、タイムステップ論理式生成部33は、目標論理式Ltagを、各タイムステップでの状態を表すタイムステップ論理式Ltsに変換する(ステップS13)。この場合、タイムステップ論理式生成部33は、目標タイムステップ数を定め、目標タイムステップ数で目標論理式Ltagを満たすような各タイムステップでの状態を表す候補φの論理和を、タイムステップ論理式Ltsとして生成する。この場合、好適には、タイムステップ論理式生成部33は、動作限界情報I3を参照することで、各候補φの実行可能性を判定し、実行不可能と判定される候補φを、タイムステップ論理式Ltsから除外する。
 次に、抽象モデル生成部34は、ステップS11で生成した状態情報Imと、抽象モデル情報I5とに基づき、目的タスクに適した抽象モデルΣを決定する(ステップS14)。この抽象モデルΣは、ロボット5又は周辺装置8に関するダイナミクス切替条件の成否によるダイナミクスの切り替えを離散値により表したハイブリッドシステムとなる。そして、制御入力生成部35は、抽象モデルΣ及びタイムステップ論理式Ltsを満たし、評価関数を最適化するロボット5の制御入力及び周辺装置8の制御入力を決定する(ステップS15)。そして、サブタスクシーケンス生成部36は、制御入力生成部35が決定した制御入力からロボット5及び周辺装置8に夫々実行させるサブタスクシーケンスを決定し、ロボット5及び周辺装置8に夫々出力する(ステップS16)。この場合、サブタスクシーケンス生成部36は、ロボット5のサブタスクシーケンスを示す制御信号S4を、インターフェース13を介してロボット5へ送信し、周辺装置8のサブタスクシーケンスを示す制御信号S5を、インターフェース13を介して周辺装置8へ送信する。
 (7)変形例
 図4に示すプロセッサ11の機能ブロックの構成は一例であり、種々の変更がなされてもよい。例えば、プロセッサ11が状態計測部30を有する代わりに、計測装置7が状態計測部30に相当する機能を有し、状態情報Imの生成及び状態情報Imの制御装置1への供給を行ってもよい。他の例では、ロボット5及び周辺装置8に命令する動作のシーケンスの候補φの情報が記憶装置4に予め記憶され、制御装置1は、当該情報に基づき、制御入力生成部35の最適化処理を実行する。これにより、制御装置1は、最適な候補φの選定とロボット5及び周辺装置8の制御入力の決定を行う。この場合、制御装置1は、抽象状態設定部31、目標論理式生成部32及びタイムステップ論理式生成部33に相当する機能を有しなくともよい。また、図4に示すプロセッサ11の一部の機能ブロックの実行結果に関する情報が予めアプリケーション情報記憶部41に記憶されていてもよい。
 <第2実施形態>
 図8は、第2実施形態における制御装置1Aの概略構成図である。第2実施形態における制御装置1Aは、サブタスクシーケンスに従い動作中のロボット5及び周辺装置8の状態を監視し、ロボット5及び周辺装置8が夫々与えられたサブタスクシーケンスを実行するために必要な調整を行う点で、第1実施形態と異なる。以後では、第1実施形態と同一の構成要素については第1実施形態と同一の符号を付し、その説明を省略する。
 制御装置1Aは、第1実施形態において説明した図2に示すハードウェア構成を有する。そして、図8に示すように、制御装置1Aのプロセッサ11は、機能的には、状態計測部30と、動作シーケンス生成部37と、統合制御部38とを有する。
 状態計測部30は、出力信号S3と物体モデル情報I6とに基づき、第1実施形態の状態計測部30と同一処理を行うことで状態情報Imを生成し、状態情報Imを動作シーケンス生成部37と統合制御部38とに夫々供給する。なお、状態計測部30に相当する処理を、計測装置7が実行してもよい。
 動作シーケンス生成部37は、アプリケーション情報記憶部41に記憶された各種情報と、状態情報Imとに基づき、ロボット5に実行させるサブタスクシーケンス(「ロボット動作シーケンスSr」とも呼ぶ。)と、周辺装置8に実行させるサブタスクシーケンス(「周辺装置動作シーケンスSp」とも呼ぶ。)とを夫々生成する。ここで、動作シーケンス生成部37は、第1実施形態における図4に示す抽象状態設定部31、目標論理式生成部32、タイムステップ論理式生成部33、抽象モデル生成部34、制御入力生成部35及びサブタスクシーケンス生成部36に相当する機能を有する。
 統合制御部38は、ロボット動作シーケンスSrと、周辺装置動作シーケンスSpと、状態情報Imと、ロボット5から送信される状態信号「S6」と、周辺装置8から送信される状態信号「S7」とに基づき、ロボット5及び周辺装置8の制御を行う。ここで、状態信号S6は、ロボット5の状態を検出するセンサの出力信号又はロボット制御部51が生成したロボット5の状態を示す信号である。状態信号S7は、周辺装置8の状態を検出するセンサの出力信号又は周辺装置制御部81が生成した周辺装置8の状態を示す信号である。これらの状態信号は、ロボット5及び周辺装置8のサブタスクの進捗度合を直接的又は間接的に示す情報である。
 統合制御部38は、ロボット5及び周辺装置8による動作シーケンスの実行中に計測されたロボット5及び周辺装置8の状態(「計測状態」とも呼ぶ。)と、動作シーケンスの通りに動作した場合に予測されるロボット5及び周辺装置8の状態(「予測状態」とも呼ぶ。)とを比較する。なお、統合制御部38は、計測状態を、状態信号S6及び状態信号S7、又は、状態情報Imの少なくともいずれかに基づいて推定する。そして、統合制御部38は、上述の計測状態が予測状態と整合しない場合には、上述の計測状態と予測状態とを近付けるようにロボット5及び周辺装置8の少なくとも一方の制御を行う。
 図9は、第2実施形態において制御装置1Aが実行するロボット5及び周辺装置8の制御処理を示すフローチャートの一例である。なお、図9のフローチャートでは、状態計測部30は、計測装置7から供給される出力信号S3に基づき、状態情報Imを常時生成しているものとする。
 まず、動作シーケンス生成部37は、状態情報Imと、アプリケーション情報とに基づき、ロボット動作シーケンスSr及び周辺装置動作シーケンスSpを夫々生成する。統合制御部38は、ロボット動作シーケンスSrを示す制御信号S4をロボット5に送信し、周辺装置動作シーケンスSpを示す制御信号S5を周辺装置8に送信する(ステップS21)。
 その後、統合制御部38は、ロボット5及び周辺装置8の各状態を計測する(ステップS22)。この場合、統合制御部38は、状態信号S6又は状態情報Imの少なくとも一方によりロボット5の計測状態を認識し、状態信号S7又は状態情報Imの少なくとも一方により周辺装置8の計測状態を認識する。
 次に、統合制御部38は、ロボット5及び周辺装置8の計測状態が動作シーケンスに基づき予測される予測状態と整合するか否か判定する(ステップS23)。この場合、第1の例では、統合制御部38は、上述の計測状態及び予測状態として、ロボット5及び周辺装置8の位置の計測及び予測を行う。そして、統合制御部38は、これらの位置の差(即ち距離)が所定差以内の場合に、計測状態が予測状態と整合すると判定する。この場合、ロボット5及び周辺装置8の位置に加えて、姿勢を勘案して計測状態が予測状態と整合するか否か判定してもよい。第2の例では、統合制御部38は、計測状態として、状態信号S6、S7に基づき、動作シーケンスの実際の進捗度合(例えばサブタスクが完了した数又は割合)を認識し、予測状態として、動作シーケンスの現在に相当するタイムステップでの予想される進捗度合を認識する。そして、統合制御部38は、これらの進捗度合が一致する場合に、計測状態が予測状態と整合すると判定する。
 そして、統合制御部38は、ロボット5及び周辺装置8の計測状態が動作シーケンスに基づく予測状態と整合しない場合(ステップS23;No)、制御信号S4又は制御信号S5の少なくともいずれかの生成及び出力を行う(ステップS25)。これにより、統合制御部38は、ロボット5及び周辺装置8の状態が動作シーケンスに基づく予測状態と整合するように、ロボット5又は周辺装置8の少なくともいずれかを制御する。ステップS25の具体的な態様については後述する。
 一方、ロボット5及び周辺装置8の計測状態が動作シーケンスに基づく予測状態と整合する場合(ステップS23;Yes)、又はステップS25の実行後、制御装置1Aは、目的タスクが完了したか否か判定する(ステップS24)。制御装置1Aは、例えば、計測装置7から供給される出力信号S3に基づき対象物等の状態を認識することで、目的タスクの完了の有無を判定する。他の例では、制御装置1Aは、ロボット5からロボット動作シーケンスSrの正常終了を示す状態信号S6を受信した場合に、目的タスクが完了したと判定する。なお、制御装置1Aは、ロボット動作シーケンスSrの正常終了を示す状態信号S6及び周辺装置動作シーケンスSpの正常終了を示す状態信号S7の両方を受信した場合に、目的タスクが完了したと判定してもよい。
 ここで、ステップS25の処理について補足説明する。
 第1の例では、統合制御部38は、ロボット5及び周辺装置8の少なくともいずれかの状態が動作シーケンスに基づき予測される状態よりも遅延している場合に、当該遅延分だけ全体の動作シーケンスの完了タイミングをずらすための制御信号S4又は制御信号S5の少なくともいずれかを生成する。これにより、統合制御部38は、ロボット5又は周辺装置8のいずれかの動作遅延が生じていることに起因してロボット5と周辺装置8のタイミングの同期が必要な作業が実行できなくなるのを好適に抑制する。この場合、例えば、統合制御部38は、上述の遅延分を考慮した新たな各サブタスクの実行タイミングを示す情報を制御信号S4又は制御信号S5に含める。この場合、統合制御部38は、ロボット5又は周辺装置8のうち他方よりも動作が進んでいる方に対し、ロボット5及び周辺装置8の動作遅延時間分だけ動作タイミングを遅延させることを指示してもよい。さらに別の例では、統合制御部38は、新たな各サブタスクの実行タイミングを反映した動作シーケンスを、制御信号S4又は制御信号S5によりロボット5及び周辺装置8に通知してもよい。なお、統合制御部38は、ロボット5と周辺装置8の動作タイミングの調整では目的タスクが完了できないと判定した場合には、動作シーケンス生成部37に対して動作シーケンスの再生成の指示を行ってもよい。
 第2の例では、統合制御部38は、ロボット5又は周辺装置8のいずれかが停止したことを計測した場合、ロボット5及び周辺装置8の計測状態が動作シーケンスに基づく予測状態と整合しないと直ちに判定する。この場合、例えば、統合制御部38は、停止していない方に対して制御信号を送信し、動作の停止を指示する。他の例では、統合制御部38は、動作シーケンス生成部37に対して動作シーケンスの再生成の指示を行ってもよく、異常が発生した旨を管理者に対して通知するための警告を出力してもよい。
 以上のように、第2実施形態によれば、制御装置1Aは、サブタスクシーケンスの生成後にロボット5及び周辺装置8が夫々与えられたサブタスクシーケンスに従い動作しているか否か監視し、サブタスクシーケンスに従い動作するようにロボット5及び周辺装置8を制御することができる。
 <第3実施形態>
 図10は、第3実施形態における制御装置1Bの概略構成図である。第3実施形態における制御装置1Bは、サブタスクシーケンスの計算中も搬送機器82により対象物61及び障害物62が移動することを勘案し、サブタスクシーケンスの計算時間を考慮してサブタスクシーケンスの生成を行う点において、第1実施形態と異なる。以後では、第1実施形態と同一の構成要素については第1実施形態と同一の符号を付し、その説明を省略する。
 制御装置1Bは、第1実施形態において説明した図2に示すハードウェア構成を有する。そして、図10に示すように、制御装置1Bのプロセッサ11は、機能的には、状態計測部30と、動作シーケンス生成部37と、状態予測部39とを有する。
 状態計測部30は、出力信号S3と物体モデル情報I6とに基づき、第1実施形態の状態計測部30と同一処理を行うことで状態情報Imを生成し、状態情報Imを状態予測部39に供給する。なお、状態計測部30に相当する処理を、計測装置7が実行してもよい。
 状態予測部39は、状態情報Imに基づき、所定時間(「計算考慮時間」とも呼ぶ。)経過後の作業空間6の物体の状態を示す情報(「予測状態情報Imp」とも呼ぶ。)を生成する。上述の計算考慮時間は、動作シーケンス生成部37によるサブタスクシーケンスの算出に要すると予測される計算時間であり、予めメモリ12又は記憶装置4に記憶されている。
 この場合、状態予測部39は、状態情報Imが示す各物体の状態のうち、少なくとも搬送機器82に載っている物体(図1では対象物61及び障害物62であり、「載置物」とも呼ぶ。)の所定時間経過後の状態を予測する。そして、状態予測部39は、予測した載置物の状態に基づき状態情報Imを更新した予測状態情報Impを生成する。例えば、状態予測部39は、周辺装置8から供給される搬送速度に関する状態信号S7に基づき、サブタスクシーケンスの算出中での周辺装置8の搬送速度を予測し、予測した搬送速度と計算考慮時間とに基づき、載置物の計算考慮時間経過後の状態を予測する。
 なお、状態予測部39は、上述の予測に用いる周辺装置8の搬送速度を、アプリケーション情報記憶部41に記憶された周辺装置8の搬送速度の限界値若しくは過去の平均値等に基づき決定してもよい。また、状態予測部39は、周辺装置8が動作中の状態情報Imに基づき周辺装置8の搬送速度を推定してもよい。また、状態予測部39は、搬送速度と同様に、搬送方向を、状態信号S7、状態情報Im、又はアプリケーション情報の少なくともいずれかに基づき認識する。また、状態予測部39は、載置物以外の物体(例えばロボット5)が移動中である場合には、当該物体についても所定時間後の状態を予測し、その予測結果を予測状態情報Impに反映してもよい。この場合、状態予測部39は、予測状態情報Impの生成前の所定時間内に計測装置7が取得した時系列の画像を用いて、画像の差分によるオプティカルフローなどに基づく動物体の検出及び移動速度の算出を行ってもよい。
 動作シーケンス生成部37は、アプリケーション情報記憶部41に記憶された各種情報と、予測状態情報Impとに基づき、ロボット5に実行させるロボット動作シーケンスSrと、周辺装置8に実行させる周辺装置動作シーケンスSpとを夫々生成する。そして、動作シーケンス生成部37は、ロボット動作シーケンスSrを示す制御信号S4をロボット5に送信し、周辺装置動作シーケンスSpを示す制御信号S5を周辺装置8に送信する。動作シーケンス生成部37は、第1実施形態における図4に示す抽象状態設定部31、目標論理式生成部32、タイムステップ論理式生成部33、抽象モデル生成部34、制御入力生成部35及びサブタスクシーケンス生成部36に相当する機能を有する。
 図11は、第3実施形態において制御装置1Bが実行するロボット5及び周辺装置8の制御処理を示すフローチャートの一例である。
 まず、状態計測部30は、計測装置7から供給される出力信号S3に基づき、作業空間6内の物体の計測結果を示す状態情報Imを生成する(ステップS31)。そして、状態予測部39は、状態情報Imに基づき、計算考慮時間経過後の作業空間6の各物体の状態を示す予測状態情報Impを生成する(ステップS32)。そして、動作シーケンス生成部37は、予測状態情報Imp及びアプリケーション情報に基づき、ロボット動作シーケンスSr及び周辺装置動作シーケンスSpを生成し、これらの動作シーケンスをロボット5及び周辺装置8に出力する(ステップS33)。この場合、動作シーケンス生成部37は、動作シーケンスの算出時間を考慮したロボット動作シーケンスSrを示す制御信号S4をロボット5に供給し、動作シーケンスの算出時間を考慮した周辺装置動作シーケンスSpを示す制御信号S5を周辺装置8に供給する。
 なお、第3実施形態は第2実施形態と組み合わせてもよい。この場合、図10に示すプロセッサ11は、統合制御部38としてさらに機能し、ロボット5及び周辺装置8の状態がサブタスクシーケンスに基づく予測状態と整合するためのロボット5及び周辺装置8の制御を行う。
 <第4実施形態>
 図12は、第4実施形態における制御装置1Cの概略構成図である。図12に示すように、制御装置1Cは、動作シーケンス生成手段37Cを有する。
 動作シーケンス生成手段37Cは、タスクを実行するロボットの動き特性を示すロボット動作情報「Ir」と、タスクに関する物の受け渡しをロボットと行う周辺装置の動き特性を示す周辺装置情報「Ip」とに基づき、ロボット及び周辺装置の夫々が実行すべき動作を示す動作シーケンス「Sra」、「Spa」を生成する。
 この場合、「ロボット」は、物を用いてタスクを実行する任意の種類のロボットである。また、「周辺装置」は、タスクに関する物の受け渡しをロボットと行う装置であり、物を搬送するコンベアなどの搬送装置又はAGVであってもよく、組立工場等においてロボットと工具又は部品の受け渡しを行う産業用装置であってもよい。「対象物」は、ロボットと周辺装置とで受け渡しが行われる物を指し、工具、部品(部材)、又はこれらを収容するケースなどが該当する。
 ロボット動作情報Irは、第1~第3実施形態におけるアプリケーション情報のうちロボット5の動き特性に関する情報(例えば、制約条件情報I2、動作限界情報I3、サブタスク情報I4、抽象モデル情報I5)である。また、周辺装置情報Ipは、第1~第3実施形態におけるアプリケーション情報のうち周辺装置8の動き特性に関する情報(例えば、制約条件情報I2、動作限界情報I3、サブタスク情報I4、抽象モデル情報I5)である。動作シーケンス生成手段37Cは、例えば、第1実施形態における抽象状態設定部31、目標論理式生成部32、タイムステップ論理式生成部33、抽象モデル生成部34、制御入力生成部35及びサブタスクシーケンス生成部36により構成される。また、動作シーケンス生成手段37Cは、第2実施形態または第3実施形態における動作シーケンス生成部37であってもよい。動作シーケンスSra、Spaは、第1実施形態においてサブタスクシーケンス生成部36が生成するサブタスクシーケンス、又は、第2実施形態又は第3実施形態において動作シーケンス生成部37が生成するロボット動作シーケンスSr、周辺装置動作シーケンスSpとすることができる。
 図13は、第4実施形態において制御装置1Cが実行するフローチャートの一例である。動作シーケンス生成手段37Cは、ロボット動作情報Irと、周辺装置情報Ipとに基づき、ロボット及び周辺装置の夫々が実行すべき動作を示す動作シーケンスSra、Spaを生成する(ステップS31)。
 第4実施形態の構成によれば、制御装置1Cは、タスクを実行するために必要なロボット及び周辺装置の動作シーケンスを好適に生成することができる。
 なお、上述した各実施形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータであるプロセッサ等に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
 その他、上記の各実施形態の一部又は全部は、以下の付記のようにも記載され得るが以下には限られない。
[付記1]
 タスクを実行するロボットの動き特性を示すロボット動作情報と、前記タスクに関する対象物の受け渡しを前記ロボットと行う周辺装置の動き特性を示す周辺装置動作情報と、に基づき、前記ロボット及び前記周辺装置の夫々が実行すべき動作を示す動作シーケンスを生成する動作シーケンス生成手段
を有する制御装置。
[付記2]
 前記動作シーケンスの実行中に計測される前記ロボット及び前記周辺装置の状態と、前記動作シーケンスとに基づき、前記ロボットと前記周辺装置との動作を制御する統合制御手段をさらに有する、付記1に記載の制御装置。
[付記3]
 前記統合制御手段は、前記動作シーケンスの実行中に計測される前記ロボット及び前記周辺装置の状態が、前記動作シーケンスの通りに動作した場合の前記ロボット及び前記周辺装置の予測される状態と整合しない場合、前記ロボット及び前記周辺装置の少なくとも一方の動作タイミングを調整する、付記2に記載の制御装置。
[付記4]
 前記ロボットの作業空間における所定時間後の状態を予測する状態予測手段をさらに有し、
 前記動作シーケンス生成手段は、前記状態予測手段が予測した前記状態と、前記ロボット動作情報と、前記周辺装置動作情報とに基づき、前記動作シーケンスを生成する、付記1~3のいずれか一項に記載の制御装置。
[付記5]
 前記所定時間は、前記動作シーケンス生成手段が前記動作シーケンスの算出に要すると予測される計算時間に設定される、付記4に記載の制御装置。
[付記6]
 前記ロボット動作情報は、前記ロボットの動作限界に関する動作限界情報と、前記ロボットが実行可能なサブタスクを示すサブタスク情報と、前記ロボットに関わるダイナミクスを抽象化したモデルに関する抽象モデル情報と、の少なくともいずれかを含み、
 前記周辺装置動作情報は、前記周辺装置の動作限界に関する動作限界情報と、前記周辺装置が実行可能なサブタスクを示すサブタスク情報と、前記周辺装置に関わるダイナミクスを抽象化したモデルに関する抽象モデル情報と、の少なくともいずれかを含む、請求項1~5のいずれか一項に記載の制御装置。
[付記7]
 前記ロボット動作情報に含まれる前記抽象モデル情報は、前記ロボットに関わるダイナミクスの切り替わりの条件を示す情報を含み、
 前記周辺装置動作情報に含まれる前記抽象モデル情報は、前記周辺装置に関わるダイナミクスの切り替わりの条件を示す情報を含む、付記6に記載の制御装置。
[付記8]
 前記周辺装置は、前記対象物を搬送する搬送装置であり、
 前記ロボットは、前記対象物をピックアップする動作を少なくとも行うロボットである、付記1~7のいずれか一項に記載の制御装置。
[付記9]
 前記動作シーケンス生成手段は、前記ロボットの作業空間を撮像した画像を表示装置に表示させることで、前記対象物又は当該対象物の種類を指定する入力を受け付け、当該入力に基づき前記動作シーケンスを生成する、付記1~8のいずれか一項に記載の制御装置。
[付記10]
  前記動作シーケンス生成手段は、
 前記タスクを時相論理に基づく論理式に変換する論理式変換手段と、
 前記論理式から、前記タスクを実行するためタイムステップ毎の状態を表す論理式であるタイムステップ論理式を生成するタイムステップ論理式生成手段と、
 前記タイムステップ論理式に基づき、前記ロボット及び前記周辺装置の夫々が実行すべきサブタスクのシーケンスを、前記動作シーケンスとして生成するサブタスクシーケンス生成手段と、を有する、付記1~9のいずれか一項に記載の制御装置。
[付記11]
 コンピュータにより、
 タスクを実行するロボットの動き特性を示すロボット動作情報と、前記タスクに関する対象物の受け渡しを前記ロボットと行う周辺装置の動き特性を示す周辺装置動作情報と、に基づき、前記ロボット及び前記周辺装置の夫々が実行すべき動作を示す動作シーケンスを生成する、制御方法。
[付記12]
 タスクを実行するロボットの動き特性を示すロボット動作情報と、前記タスクに関する対象物の受け渡しを前記ロボットと行う周辺装置の動き特性を示す周辺装置動作情報と、に基づき、前記ロボット及び前記周辺装置の夫々が実行すべき動作を示す動作シーケンスを生成する動作シーケンス生成手段
としてコンピュータを機能させるプログラムが格納された記録媒体。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。
 1、1A~1C 制御装置
 2 入力装置
 3 表示装置
 4 記憶装置
 5 ロボット
 6 作業空間
 7 計測装置
 8 周辺装置
 41 アプリケーション情報記憶部
 100 ロボット制御システム

Claims (12)

  1.  タスクを実行するロボットの動き特性を示すロボット動作情報と、前記タスクに関する対象物の受け渡しを前記ロボットと行う周辺装置の動き特性を示す周辺装置動作情報と、に基づき、前記ロボット及び前記周辺装置の夫々が実行すべき動作を示す動作シーケンスを生成する動作シーケンス生成手段
    を有する制御装置。
  2.  前記動作シーケンスの実行中に計測される前記ロボット及び前記周辺装置の状態と、前記動作シーケンスとに基づき、前記ロボットと前記周辺装置との動作を制御する統合制御手段をさらに有する、請求項1に記載の制御装置。
  3.  前記統合制御手段は、前記動作シーケンスの実行中に計測される前記ロボット及び前記周辺装置の状態が、前記動作シーケンスの通りに動作した場合の前記ロボット及び前記周辺装置の予測される状態と整合しない場合、前記ロボット及び前記周辺装置の少なくとも一方の動作タイミングを調整する、請求項2に記載の制御装置。
  4.  前記ロボットの作業空間における所定時間後の状態を予測する状態予測手段をさらに有し、
     前記動作シーケンス生成手段は、前記状態予測手段が予測した前記状態と、前記ロボット動作情報と、前記周辺装置動作情報とに基づき、前記動作シーケンスを生成する、請求項1~3のいずれか一項に記載の制御装置。
  5.  前記所定時間は、前記動作シーケンス生成手段が前記動作シーケンスの算出に要すると予測される計算時間に設定される、請求項4に記載の制御装置。
  6.  前記ロボット動作情報は、前記ロボットの動作限界に関する動作限界情報と、前記ロボットが実行可能なサブタスクを示すサブタスク情報と、前記ロボットに関わるダイナミクスを抽象化したモデルに関する抽象モデル情報と、の少なくともいずれかを含み、
     前記周辺装置動作情報は、前記周辺装置の動作限界に関する動作限界情報と、前記周辺装置が実行可能なサブタスクを示すサブタスク情報と、前記周辺装置に関わるダイナミクスを抽象化したモデルに関する抽象モデル情報と、の少なくともいずれかを含む、請求項1~5のいずれか一項に記載の制御装置。
  7.  前記ロボット動作情報に含まれる前記抽象モデル情報は、前記ロボットに関わるダイナミクスの切り替わりの条件を示す情報を含み、
     前記周辺装置動作情報に含まれる前記抽象モデル情報は、前記周辺装置に関わるダイナミクスの切り替わりの条件を示す情報を含む、請求項6に記載の制御装置。
  8.  前記周辺装置は、前記対象物を搬送する搬送装置であり、
     前記ロボットは、前記対象物をピックアップする動作を少なくとも行うロボットである、請求項1~7のいずれか一項に記載の制御装置。
  9.  前記動作シーケンス生成手段は、前記ロボットの作業空間を撮像した画像を表示装置に表示させることで、前記対象物又は当該対象物の種類を指定する入力を受け付け、当該入力に基づき前記動作シーケンスを生成する、請求項1~8のいずれか一項に記載の制御装置。
  10.   前記動作シーケンス生成手段は、
     前記タスクを時相論理に基づく論理式に変換する論理式変換手段と、
     前記論理式から、前記タスクを実行するためタイムステップ毎の状態を表す論理式であるタイムステップ論理式を生成するタイムステップ論理式生成手段と、
     前記タイムステップ論理式に基づき、前記ロボット及び前記周辺装置の夫々が実行すべきサブタスクのシーケンスを、前記動作シーケンスとして生成するサブタスクシーケンス生成手段と、を有する、請求項1~9のいずれか一項に記載の制御装置。
  11.  コンピュータにより、
     タスクを実行するロボットの動き特性を示すロボット動作情報と、前記タスクに関する対象物の受け渡しを前記ロボットと行う周辺装置の動き特性を示す周辺装置動作情報と、に基づき、前記ロボット及び前記周辺装置の夫々が実行すべき動作を示す動作シーケンスを生成する、制御方法。
  12.  タスクを実行するロボットの動き特性を示すロボット動作情報と、前記タスクに関する対象物の受け渡しを前記ロボットと行う周辺装置の動き特性を示す周辺装置動作情報と、に基づき、前記ロボット及び前記周辺装置の夫々が実行すべき動作を示す動作シーケンスを生成する動作シーケンス生成手段
    としてコンピュータを機能させるプログラムが格納された記録媒体。
PCT/JP2020/007420 2020-02-25 2020-02-25 制御装置、制御方法及び記録媒体 WO2021171350A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2020/007420 WO2021171350A1 (ja) 2020-02-25 2020-02-25 制御装置、制御方法及び記録媒体
US17/799,984 US20230072244A1 (en) 2020-02-25 2020-02-25 Control device, control method and storage medium
JP2022502356A JP7323045B2 (ja) 2020-02-25 2020-02-25 制御装置、制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/007420 WO2021171350A1 (ja) 2020-02-25 2020-02-25 制御装置、制御方法及び記録媒体

Publications (1)

Publication Number Publication Date
WO2021171350A1 true WO2021171350A1 (ja) 2021-09-02

Family

ID=77492090

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/007420 WO2021171350A1 (ja) 2020-02-25 2020-02-25 制御装置、制御方法及び記録媒体

Country Status (3)

Country Link
US (1) US20230072244A1 (ja)
JP (1) JP7323045B2 (ja)
WO (1) WO2021171350A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005340848A (ja) * 2004-05-25 2005-12-08 Asml Netherlands Bv 機械におけるタスクを計画する方法、機械を制御する方法、管理機械用制御システム、リソグラフィ機器、リソグラフィ処理セル、及びコンピュータ・プログラム
JP2017039170A (ja) * 2015-08-17 2017-02-23 ライフロボティクス株式会社 ロボット装置
WO2018194094A1 (ja) * 2017-04-19 2018-10-25 株式会社安川電機 プログラミング支援装置、ロボットシステム、プログラミング支援方法及びプログラム生成方法
JP2018167361A (ja) * 2017-03-30 2018-11-01 株式会社安川電機 ロボット動作指令生成方法、ロボット動作指令生成装置及びコンピュータプログラム
JP2019177429A (ja) * 2018-03-30 2019-10-17 セイコーエプソン株式会社 制御装置、ロボット、およびロボットシステム
JP2019177434A (ja) * 2018-03-30 2019-10-17 セイコーエプソン株式会社 制御装置、ロボット、およびロボットシステム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5458764B2 (ja) * 2008-09-29 2014-04-02 日産自動車株式会社 情報提示装置
US10022867B2 (en) * 2014-11-11 2018-07-17 X Development Llc Dynamically maintaining a map of a fleet of robotic devices in an environment to facilitate robotic action
JP6411964B2 (ja) * 2015-07-27 2018-10-24 ファナック株式会社 工作機械とロボットのリアルタイム干渉確認システム
WO2018146687A1 (en) * 2017-02-12 2018-08-16 Commonsense Robotics Ltd. Human-assisted robotic picking apparatus ‎
WO2019187779A1 (ja) * 2018-03-27 2019-10-03 株式会社日立製作所 倉庫システム
JP7056613B2 (ja) * 2019-03-08 2022-04-19 オムロン株式会社 カウンタユニット、カウンタユニットの制御方法、制御装置、および制御システム
US20230195083A1 (en) * 2019-09-30 2023-06-22 Paper Converting Machine Company Processing Line with Feed Forward Data Backlog Control and Method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005340848A (ja) * 2004-05-25 2005-12-08 Asml Netherlands Bv 機械におけるタスクを計画する方法、機械を制御する方法、管理機械用制御システム、リソグラフィ機器、リソグラフィ処理セル、及びコンピュータ・プログラム
JP2017039170A (ja) * 2015-08-17 2017-02-23 ライフロボティクス株式会社 ロボット装置
JP2018167361A (ja) * 2017-03-30 2018-11-01 株式会社安川電機 ロボット動作指令生成方法、ロボット動作指令生成装置及びコンピュータプログラム
WO2018194094A1 (ja) * 2017-04-19 2018-10-25 株式会社安川電機 プログラミング支援装置、ロボットシステム、プログラミング支援方法及びプログラム生成方法
JP2019177429A (ja) * 2018-03-30 2019-10-17 セイコーエプソン株式会社 制御装置、ロボット、およびロボットシステム
JP2019177434A (ja) * 2018-03-30 2019-10-17 セイコーエプソン株式会社 制御装置、ロボット、およびロボットシステム

Also Published As

Publication number Publication date
US20230072244A1 (en) 2023-03-09
JPWO2021171350A1 (ja) 2021-09-02
JP7323045B2 (ja) 2023-08-08

Similar Documents

Publication Publication Date Title
JP7264253B2 (ja) 情報処理装置、制御方法及びプログラム
WO2022074823A1 (ja) 制御装置、制御方法及び記憶媒体
JP7452619B2 (ja) 制御装置、制御方法及びプログラム
WO2022064653A1 (ja) 制御装置、制御方法及び記憶媒体
WO2021171350A1 (ja) 制御装置、制御方法及び記録媒体
WO2022049756A1 (ja) 判定装置、判定方法及び記憶媒体
WO2021171358A1 (ja) 制御装置、制御方法及び記録媒体
WO2021171357A1 (ja) 制御装置、制御方法及び記録媒体
WO2022244060A1 (ja) 動作計画装置、動作計画方法及び記憶媒体
WO2022224449A1 (ja) 制御装置、制御方法及び記憶媒体
WO2022224447A1 (ja) 制御装置、制御方法及び記憶媒体
JP7435815B2 (ja) 動作指令生成装置、動作指令生成方法及びプログラム
WO2021171352A1 (ja) 制御装置、制御方法及び記録媒体
JP7276466B2 (ja) 情報処理装置、制御方法及びプログラム
JP7456552B2 (ja) 情報処理装置、情報処理方法及びプログラム
WO2022074827A1 (ja) 命題設定装置、命題設定方法及び記憶媒体
WO2021171558A1 (ja) 制御装置、制御方法及び記録媒体
US20240165817A1 (en) Robot management device, control method, and recording medium
WO2022107207A1 (ja) 情報収集装置、情報収集方法及び記憶媒体
JP7435814B2 (ja) 時相論理式生成装置、時相論理式生成方法及びプログラム
WO2022107324A1 (ja) 支援制御装置、支援装置、ロボット制御システム、支援制御方法及び記憶媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20921892

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022502356

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20921892

Country of ref document: EP

Kind code of ref document: A1