WO2022049756A1 - 判定装置、判定方法及び記憶媒体 - Google Patents
判定装置、判定方法及び記憶媒体 Download PDFInfo
- Publication number
- WO2022049756A1 WO2022049756A1 PCT/JP2020/033735 JP2020033735W WO2022049756A1 WO 2022049756 A1 WO2022049756 A1 WO 2022049756A1 JP 2020033735 W JP2020033735 W JP 2020033735W WO 2022049756 A1 WO2022049756 A1 WO 2022049756A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- task
- proposition
- robot
- information
- determination
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 34
- 230000014509 gene expression Effects 0.000 claims description 67
- 230000008569 process Effects 0.000 claims description 19
- 230000002123 temporal effect Effects 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 33
- 230000015654 memory Effects 0.000 description 24
- 238000012545 processing Methods 0.000 description 22
- 238000005259 measurement Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 14
- 238000012986 modification Methods 0.000 description 11
- 230000004048 modification Effects 0.000 description 11
- 238000005457 optimization Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000036544 posture Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 240000004050 Pentaglottis sempervirens Species 0.000 description 2
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000002386 leaching Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34372—Inability to process, execute assigned task within allocated time interval
Definitions
- the present disclosure relates to a technical field of a determination device, a determination method, and a storage 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 for executing 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 grip the articles is determined, and the storage is based on an index calculated for each combination.
- a robot determination device for determining the order of articles to be used is disclosed.
- Patent Document 2 discloses a robot system that notifies a user of the end of processing when an object (work) is moved by a robot hand.
- One of the objects of the present disclosure is to provide a determination device, a determination method, and a storage medium capable of suitably executing a determination of completion of a task to be executed by a robot in view of the above-mentioned problems.
- One aspect of the determination device is When the robot operation sequence related to the task is completed, or when a predetermined time has elapsed from the start of the task. It is a determination device having a proposition determination means for determining the completion of the task based on the first proposition indicating the current state of the task and the second proposition indicating the completion state of the task detected by the sensor.
- One aspect of the determination method is By computer When the robot operation sequence related to the task is completed, or when a predetermined time has elapsed from the start of the task. This is a determination method for determining the completion of the task based on the first proposition indicating the current state of the task and the second proposition indicating the completion state of the task detected by the sensor.
- One aspect of the storage medium is When the robot operation sequence related to the task is completed, or when a predetermined time has elapsed from the start of the task.
- a program for causing a computer to execute a process for determining the completion of the task based on the first proposition indicating the current state of the task and the second proposition indicating the completion state of the task detected by the sensor is stored. It is a storage medium.
- the configuration of the robot control system in the first embodiment is shown.
- the hardware configuration of the robot controller is shown.
- An example of the data structure of application information is shown.
- the bird's-eye view of the work space when the target task is pick and place is shown.
- An example of displaying a task screen for specifying a target task is shown.
- An example of displaying the task screen when the target task ends normally is shown below.
- An example of displaying the task screen when the target task does not end normally is shown.
- the schematic block diagram of the robot control system in 3rd Embodiment is shown.
- the schematic block diagram of the determination apparatus in 4th Embodiment 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 robot controller 1, a task instruction device 2, a storage device 4, a robot 5, and a measurement device 7.
- the robot controller 1 assigns the target task to a sequence for each time step (time step) of a simple task that the robot 5 can accept.
- the robot 5 is controlled based on the converted and generated sequence.
- a task (command) obtained by decomposing a target task into units that can be accepted by the robot 5 is also referred to as a "subtask”
- a sequence of subtasks that the robot 5 should execute in order to achieve the target task is also referred to as a "subtask sequence”. Call.
- the subtask sequence corresponds to an operation sequence that defines a series of operations of the robot 5.
- the robot controller 1 performs data communication with the task instruction device 2, the storage device 4, the robot 5, and the measurement device 7 via a communication network or by direct communication by wireless or wired.
- the robot controller 1 receives an input signal "S1" for designating a target task from the task instruction device 2.
- the robot controller 1 transmits an output control signal "S2" to the task instruction device 2 to output information about the task to be executed by the robot 5.
- the robot controller 1 transmits a control signal “S3” relating to the control of the robot 5 to the robot 5.
- the robot controller 1 receives the measurement signal "S4" from the measuring device 7.
- the task instruction device 2 is a device that receives input related to the target task by a worker who specifies the target task.
- the task instruction device 2 performs a predetermined display based on the output control signal S2 supplied from the robot controller 1, and supplies the input signal S1 generated based on the input of the operator to the robot controller 1.
- the task instruction device 2 may be a tablet terminal including an input unit and a display unit, or may be a stationary personal computer.
- the storage device 4 has an application information storage unit 41.
- the application information storage unit 41 stores application information necessary for generating a subtask sequence 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 robot controller 1, or may be a storage medium such as a flash memory. Further, the storage device 4 may be a server device that performs data communication with the robot controller 1 via a communication network. In this case, the storage device 4 may be composed of a plurality of server devices.
- the robot 5 performs work related to the target task based on the control signal S3 supplied from the robot controller 1.
- the robot 5 is, for example, a robot that operates at various factories such as an assembly factory and a food factory, or at a distribution site.
- the robot 5 may be a vertical articulated robot, a horizontal articulated robot, or any other type of robot.
- the robot 5 may supply a state signal indicating the state of the robot 5 to the robot controller 1.
- This state signal may be an output signal of a sensor that detects the state (position, angle, etc.) of the entire robot 5 or a specific part such as a joint, and the progress state of the subtask of the robot 5 generated by the control unit of the robot 5. It may be a signal indicating.
- the measuring device 7 is a camera, a range sensor, a sonar, or one or a plurality of sensors that detect a state in a work space in which a target task is executed.
- the measuring device 7 includes at least one camera that captures an image of the work space.
- the measuring device 7 supplies the generated measurement signal S4 to the robot controller 1.
- the measurement signal S4 includes at least an image captured in the work space.
- the measuring device 7 may be a self-propelled or flying sensor (including a drone) that moves in the work space. Further, the measuring device 7 may include a sensor provided in the robot 5, a sensor provided in another object in the work space, and the like. Further, the measuring device 7 may include a sensor that detects a sound in the work space. As described above, the measuring device 7 may include various sensors for detecting the state in the work space and may include sensors provided at any place.
- the configuration of the robot control system 100 shown in FIG. 1 is an example, and various changes may be made to the configuration.
- a plurality of robots 5 may exist, or may have a plurality of controlled objects such as robot arms, each of which operates independently.
- the robot controller 1 generates a subtask sequence to be executed for each robot 5 or each controlled object based on the target task, and outputs the control signal S3 based on the subtask sequence to the target robot 5.
- the robot 5 may perform collaborative work with other robots, workers or machine tools operating in the work space.
- the measuring device 7 may be a part of the robot 5.
- the task instruction device 2 may be configured as the same device as the robot controller 1.
- the robot controller 1 may be composed of a plurality of devices.
- the plurality of devices constituting the robot controller 1 exchange information necessary for executing the pre-assigned process among the plurality of devices.
- the robot controller 1 and the robot 5 may be integrally configured.
- FIG. 2A shows the hardware configuration of the robot controller 1.
- the robot controller 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 10.
- the processor 11 functions as a controller (arithmetic unit) that controls the entire robot controller 1 by executing a program stored in the memory 12.
- the processor 11 is, for example, a processor such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), and a TPU (Tensor Processing Unit).
- the processor 11 may be composed of a plurality of processors.
- the processor 11 is an example of a computer.
- the memory 12 is composed of various volatile memories such as RAM (Random Access Memory), ROM (Read Only Memory), and flash memory, and non-volatile memory. Further, the memory 12 stores a program for executing the process executed by the robot controller 1. A part of the information stored in the memory 12 may be stored by one or a plurality of external storage devices that can communicate with the robot controller 1, or may be stored by a storage medium that can be attached to and detached from the robot controller 1. good.
- the interface 13 is an interface for electrically connecting the robot controller 1 and other devices. These interfaces may be wireless interfaces such as network adapters for wirelessly transmitting and receiving data to and from other devices, and may be hardware interfaces for connecting to other devices by cables or the like.
- the hardware configuration of the robot controller 1 is not limited to the configuration shown in FIG. 2A.
- the robot controller 1 may be connected to or built in at least one of a display device, an input device, and a sound output device. Further, the robot controller 1 may be configured to include at least one of the task instruction device 2 and the storage device 4.
- FIG. 2B shows the hardware configuration of the task instruction device 2.
- the task instruction device 2 includes a processor 21, a memory 22, an interface 23, an input unit 24a, a display unit 24b, and a sound output unit 24c as hardware.
- the processor 21, the memory 22, and the interface 23 are connected via the data bus 20. Further, the input unit 24a, the display unit 24b, and the sound output unit 24c are connected to the interface 23.
- the processor 21 executes a predetermined process by executing the program stored in the memory 22.
- the processor 21 is a processor such as a CPU and a GPU.
- the processor 21 generates an input signal S1 by receiving the signal generated by the input unit 24a via the interface 23, and transmits the input signal S1 to the robot controller 1 via the interface 23. Further, the processor 21 controls at least one of the display unit 24b and the sound output unit 24c via the interface 23 based on the output control signal S2 received from the robot controller 1 via the interface 23.
- the memory 22 is composed of various volatile memories such as RAM, ROM, and flash memory, and non-volatile memory. Further, the memory 22 stores a program for executing the process executed by the task instruction device 2.
- the interface 23 is an interface for electrically connecting the task instruction device 2 and another device. These interfaces may be wireless interfaces such as network adapters for wirelessly transmitting and receiving data to and from other devices, and may be hardware interfaces for connecting to other devices by cables or the like. Further, the interface 23 performs an interface operation of the input unit 24a, the display unit 24b, and the sound output unit 24c.
- the input unit 24a is an interface for receiving user input, and corresponds to, for example, a touch panel, a button, a keyboard, a voice input device, and the like.
- the display unit 24b is, for example, a display, a projector, or the like, and displays based on the control of the processor 21.
- the sound output unit 24c is, for example, a speaker, and outputs sound based on the control of the processor 21.
- the hardware configuration of the task instruction device 2 is not limited to the configuration shown in FIG. 2 (B).
- at least one of the input unit 24a, the display unit 24b, and the sound output unit 24c may be configured as a separate device that is electrically connected to the task instruction device 2.
- the task instruction device 2 may be connected to various devices such as a camera, or may be built-in.
- FIG. 3 shows an example of the data structure of the application information stored in the application information storage unit 41.
- the application information includes 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.
- Abstract state specification information I1 is information that specifies an abstract state that needs to be defined when generating a subtask sequence. This abstract state is an abstract state of an object in a work space, and is defined as a proposition used in a target logical formula described later. For example, the abstract state specification information I1 specifies an abstract state that needs to be defined for each type of target task.
- Constraint information I2 is information indicating the constraint conditions when executing the target task.
- the constraint condition information I2 states that, for example, when the target task is pick and place, the constraint condition that the robot 5 (robot arm) must not touch the obstacle and that the robot 5 (robot arm) must not touch each other. Indicates constraints and the like.
- the constraint condition information I2 may be information in which constraint conditions suitable for each type of target task are recorded.
- the operation limit information I3 indicates information regarding the operation limit of the robot 5 controlled by the robot controller 1.
- the operation limit information I3 is information that defines, for example, an upper limit of the speed, acceleration, or angular velocity of the robot 5.
- the motion limit information I3 may be information that defines the motion limit for each movable part or joint of the robot 5.
- Subtask information I4 indicates information on subtasks that can be accepted by the robot 5. For example, when the target task is pick and place, the subtask information I4 defines leaching, which is the movement of the robot arm of the robot 5, and glassing, which is the gripping by the robot arm, as subtasks. The subtask information I4 may indicate information on subtasks that can be used for each type of target task.
- Abstract model information I5 is information about an abstract model that abstracts the dynamics in the workspace.
- the abstract model is represented by a model that abstracts the dynamics of reality by a hybrid system, as will be described later.
- the abstract model information I5 includes information indicating the conditions for switching the dynamics in the above-mentioned hybrid system.
- the switching condition is, for example, in the case of a pick-and-place where the robot 5 grabs an object to be worked on (also referred to as an "object") and moves it to a predetermined position, the object must be grasped by the robot 5.
- the condition that it cannot be moved is applicable.
- Abstract model information I5 has information about an abstract model suitable for each type of target task.
- the object model information I6 is information about the object model of each object in the work space to be recognized from the measurement signal S4 generated by the measuring device 7.
- Each of the above-mentioned objects corresponds to, for example, a robot 5, an obstacle, a tool or other object handled by the robot 5, a working body other than the robot 5, and the like.
- the object model information I6 is, for example, information necessary for the robot controller 1 to recognize the type, position, posture, currently executed motion, etc. of each object described above, and for recognizing the three-dimensional shape of each object. It includes 3D shape information such as CAD (Computer Aided Design) data.
- the former information includes the parameters of the inferior obtained by learning a learning model in machine learning such as a neural network. This inference device is learned in advance to output, for example, the type, position, posture, and the like of an object that is a subject in the image when an image is input.
- the application information storage unit 41 may store various information related to the subtask sequence generation process and the output control signal S2 generation process.
- FIG. 4 is an example of a functional block showing an outline of the processing of the robot controller 1.
- the processor 11 of the robot controller 1 functionally has an output control unit 15, an operation sequence generation unit 16, a robot control unit 17, and a proposition determination unit 18.
- FIG. 4 shows an example of data exchanged between blocks, but the present invention is not limited to this. The same applies to the figures of other functional blocks described later.
- the output control unit 15 generates an output control signal S2 for displaying an input screen (also referred to as a “task screen”) in which information about the target task is designated by the operator, and the output control signal S2 is used as the task instruction device 2. It is transmitted via the interface 13. For example, the output control unit 15 displays an image (also referred to as a “work space image”) captured in the work space included in the measurement signal S4 on the task screen, and accepts inputs based on various operations. Then, the output control unit 15 receives the input signal S1 generated by the task instruction device 2 by the input operation on the task screen from the task instruction device 2 via the interface 13. In this case, the input signal S1 includes information (also referred to as “task designation information Ia”) that roughly designates the target task.
- the input signal S1 includes information (also referred to as “task designation information Ia”) that roughly designates the target task.
- the task designation information Ia is, for example, information corresponding to a schematic command to the robot 5, and does not include information defining a specific operation of the robot 5 (for example, control input information or subtask information described later). Then, the output control unit 15 supplies the task designation information Ia based on the input signal S1 supplied from the task instruction device 2 to the operation sequence generation unit 16.
- the output control unit 15 receives information regarding the completion determination result of the target task (also referred to as “determination result information Ie”) from the proposition determination unit 18.
- the output control unit 15 corresponds to information notifying the completion of the target task or information (alert information) notifying that the target task has not been completed due to some abnormality based on the determination result information IE.
- the output control signal S2 is generated.
- the output control unit 15 supplies the output control signal S2 to the task instruction device 2 via the interface 13.
- the task instruction device 2 performs a display or sound output notifying the normal completion of the target task, or a display or sound output notifying that the target task has not been completed normally.
- the operation sequence generation unit 16 generates a subtask sequence “Sr” to be executed by the robot 5 based on the task designation information Ia supplied from the output control unit 15, the measurement signal S4, and the application information stored in the storage device 4. do.
- the operation sequence generation unit 16 collectively generates the subtask sequence Sr required from the start to the completion of the target task. Then, the operation sequence generation unit 16 supplies the generated subtask sequence Sr to the robot control unit 17.
- the subtask sequence Sr includes information indicating the execution order and execution timing of each subtask.
- the operation sequence generation unit 16 receives information requesting the generation of a proposition regarding the target task (also referred to as “proposition request information Ic”) from the proposition determination unit 18.
- the operation sequence generation unit 16 has a proposition representing the current state of the target task (also referred to as a “first proposition”) and a proposition representing the completion state of the target task designated by the task designation information Ia (“first proposition”). Also called “2 propositions”) and.
- the operation sequence generation unit 16 supplies the generated information indicating the first proposition and the second proposition (also referred to as “proposition information Id”) to the proposition determination unit 18.
- the method of generating the first proposition and the second proposition will be described in detail in the section "(5-8) Proposition generation unit ".
- the robot control unit 17 controls the robot 5 to execute each subtask constituting the subtask sequence Sr at a predetermined execution timing (time step) based on the subtask sequence Sr supplied from the operation sequence generation unit 16. conduct. Specifically, the robot control unit 17 transmits the control signal S3 to the robot 5 to execute position control or torque control of the joints of the robot 5 for realizing the subtask sequence Sr. Then, when the output of the control signal S3 to the robot 5 based on the subtask sequence Sr is completed (the output is lost), the robot control unit 17 notifies the execution completion of the subtask sequence Sr (“completion notification information Ib””. Also called) is supplied to the proposition determination unit 18.
- the robot 5 may have a function corresponding to the robot control unit 17 instead of the robot controller 1.
- the robot 5 receives the subtask sequence Sr from the motion sequence generation unit 16 to execute joint position control or torque control for realizing the subtask sequence Sr. Further, when the execution of the subtask sequence Sr is completed, the robot 5 supplies the completion notification information Ib to the proposition determination unit 18 of the robot controller 1.
- the proposition determination unit 18 executes a determination as to whether or not the target task is normally completed (also referred to as “target task completion determination”) based on a comparison between the propositions. Specifically, when the proposition determination unit 18 receives the completion notification information Ib from the robot control unit 17, the proposition request information Ic is supplied to the operation sequence generation unit 16, and the proposition information Id is used as a response to the operation sequence generation unit. Receive from 16. Then, the proposition determination unit 18 compares the first proposition and the second proposition indicated by the proposition information Id, and if they are different, the determination result information indicating that the target task was not completed normally. Generate Ie.
- the proposition determination unit 18 compares the first proposition and the second proposition indicated by the proposition information Id, and if they match, determines determination result information Ie indicating that the target task has been completed normally. Generate. Then, the proposition determination unit 18 supplies the generated determination result information Ie to the output control unit 15.
- each component of the output control unit 15, the operation sequence generation unit 16, the robot control unit 17, and the proposition determination unit 18 can be realized, for example, by the processor 11 executing a program. Further, each component may be realized by recording a necessary program in an arbitrary non-volatile storage medium and installing it as needed. It should be noted that at least a part of each of these components is not limited to being realized by software by a program, but may be realized by any combination of hardware, firmware, and software. Further, at least a part of each of these components may be realized by using a user-programmable integrated circuit such as an FPGA (Field-Programmable Gate Array) or a microcontroller. In this case, this integrated circuit may be used to realize a program composed of each of the above components.
- FPGA Field-Programmable Gate Array
- each component may be composed of an ASIC (Application Specific Standard Produce), an ASIC (Application Specific Integrated Circuit), or a quantum computer control chip.
- ASIC Application Specific Standard Produce
- ASIC Application Specific Integrated Circuit
- quantum computer control chip As described above, each component may be realized by various hardware. The above is the same in other embodiments described later. Further, each of these components may be realized by the collaboration of a plurality of computers by using, for example, cloud computing technology.
- FIG. 5 is an example of a functional block showing the functional configuration of the operation sequence generation unit 16.
- the operation sequence generation unit 16 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, and a control input generation unit 35. It has a subtask sequence generation unit 36 and a proposition generation unit 37.
- the abstract state setting unit 31 works based on the measurement signal S4 supplied from the measuring device 7, the task designation information Ia supplied from the output control unit 15, the abstract state designation information I1, and the object model information I6. Set the abstract state in space. In this case, the abstract state setting unit 31 recognizes an object in the workspace that needs to be considered when executing the target task, and generates a recognition result Im regarding the object. Then, the abstract state setting unit 31 defines a proposition to be expressed by a logical expression for each abstract state that needs to be considered when executing the target task based on the recognition result Im.
- 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. Further, the abstract state setting unit 31 supplies the abstract state setting information IS indicating the state at the time of the request to the proposition generation unit 37 based on the request from the proposition generation unit 37.
- the target logical expression generation unit 32 uses the target task indicated by the task designation information Ia as a logical expression of time phase logic representing the final achievement state (also referred to as “target logical expression Ltag”). Convert to. 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 and the proposition generation unit 37.
- the time step logical formula generation unit 33 converts the target logical formula Ltag supplied from the target logical formula generation unit 32 into a logical formula (also referred to as “time step logical formula Lts”) representing the state at each time step. do. Then, the time step logical formula generation unit 33 supplies the generated time step logical formula Lts to the control input generation unit 35.
- the abstract model generation unit 34 abstracts the actual dynamics in the work space based on the abstract model information I5 stored in the application information storage unit 41 and the recognition result Im supplied from the abstract state setting unit 31. ⁇ ”is generated.
- 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 is consumed by an evaluation function (for example, a robot).
- the control input to the robot 5 is determined for each time step that optimizes the energy amount). Then, the control input generation unit 35 supplies information indicating the control input to the robot 5 for each time step (also referred to as “control input information Icn”) to the subtask sequence generation unit 36.
- the subtask sequence generation unit 36 generates the subtask sequence Sr based on the control input information Icn supplied from the control input generation unit 35 and the subtask information I4 stored in the application information storage unit 41, and controls the subtask sequence Sr by the robot. Supply to unit 17.
- the proposition generation unit 37 has an abstract state setting information IS supplied from the abstract state setting unit 31 and a target logic supplied from the target logical expression generation unit 32 when the proposition request information Ic is supplied from the proposition determination unit 18. Based on the formula Ltag, proposition information Id indicating the first proposition and the second proposition, respectively, is generated. Then, the proposition generation unit 37 supplies the generated proposition information Id to the proposition determination unit 18.
- the abstract state setting unit 31 refers to the object model information I6 and recognizes the environment of the work space (image processing technology, image recognition technology, voice recognition technology, RFID (Radio).
- the recognition result Im is generated by analyzing the measurement signal S4 by a technique using (Freequency Abstraction) or the like).
- the recognition result Im includes information such as the type, position, and posture of the object in the work space.
- the object in the work space is, for example, a robot 5, an object such as a tool or a part handled by the robot 5, an obstacle, and another work body (a person or other object who works other than the robot 5).
- the abstract state setting unit 31 sets the abstract state in the workspace based on the recognition result Im and the abstract state designation information I1 acquired from the application information storage unit 41.
- 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.
- the abstract state to be set in the workspace differs depending on the type of target task. Therefore, when the abstract state to be set for each type of the target task is defined in the abstract state designation information I1, the abstract state setting unit 31 is the abstract state designation information corresponding to the target task indicated by the task designation information Ia. Refer to I1 and recognize the abstract state to be set.
- FIG. 6 shows a bird's-eye view of the work space when the target task is pick and place.
- the work space shown in FIG. 6 there are two robot arms 52a and 52b, four objects 61 (61a to 61d), an obstacle 62, and a region G which is the destination of the object 61. There is.
- the abstract state setting unit 31 recognizes the state of the object 61, the existence range of the obstacle 62, the state of the robot 5, the existence range of the area G, and the like.
- the abstract state setting unit 31 recognizes the position vectors "x 1 " to "x 4 " at the centers of the objects 61a to 61d as the positions of the objects 61a to 61d. Further, the abstract state setting unit 31 recognizes the position vector “x r1 ” of the robot hand 53a that grips the object and the position vector “x r2 ” of the robot hand 53b as the positions of the robot arm 52a and the robot arm 52b. do.
- the abstract state setting unit 31 recognizes the postures of the objects 61a to 61d (unnecessary because the object is spherical in the example of FIG. 6), the existence range of the obstacle 62, the existence range of the region G, and the like.
- the abstract state setting unit 31 recognizes the position vectors of the obstacle 62 and the vertices of the area G.
- 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. In this case, the abstract state setting unit 31 determines a proposition indicating an abstract state based on the recognition result Im (for example, the number of each type of object) regarding the object existing in the work space and the abstract state designation information I1.
- the recognition result Im for example, the number of each type of object
- the proposition " wi " that the object exists in the outer region may be further defined.
- the non-working area is, for example, an area (floor surface or the like) where the object exists when the object falls from the work table.
- the abstract state setting unit 31 recognizes the abstract state to be defined by referring to the abstract state designation information I1, and propositions representing the abstract state (gi, o i , h, etc. in the above example ) . ) Is defined according to the number of objects 61, the number of robot arms 52, the number of obstacles 62, the number of robots 5, 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.
- the target logical expression generation unit 32 converts the target task indicated by the task designation information Ia into a logical expression using temporal logic.
- the target logical expression generation unit 32 sets the target task with the operator “ ⁇ ” corresponding to the “eventually” of the linear logical expression (LTL: Linear Temporal Logical) and the proposition “g” defined by the abstract state setting unit 31. Using “ i ", the logical formula " ⁇ g 2 " is generated.
- the target logical expression generation unit 32 is an operator of any time phase logic other than the operator “ ⁇ ” (logical product “ ⁇ ”, logical sum “ ⁇ ”, negative “ ⁇ ”, logical inclusion “ ⁇ ”, always.
- a logical expression may be expressed using " ⁇ ", next " ⁇ ", until “U”, etc.).
- the logical expression may be expressed by using any time phase logic such as MTL (Metric Temporal Logic) and STL (Signal Temporal Logic), not limited to the linear temporal logic.
- the task designation information Ia may be information for designating the target task in natural language. There are various techniques for converting a task expressed in natural language into a logical expression.
- the target logical expression generation unit 32 generates the target logical expression Ltag by adding the constraint condition indicated by the constraint condition information I2 to the logical expression indicating the target task.
- the constraint condition information I2 includes two constraint conditions corresponding to the pick and place shown in FIG. 6, "the robot arms 52 do not always interfere with each other" and "the object i does not always interfere with the obstacle O". If so, the target logical expression generation unit 32 converts these constraints into logical expressions. Specifically, the target logical formula generation unit 32 uses the proposition " oi " and the proposition "h" defined by the abstract state setting unit 31 in the explanation of FIG. 6 to satisfy the above two constraints, respectively. Convert to the following formula. ⁇ ⁇ h ⁇ i ⁇ ⁇ o i
- the following target formula Ltag is generated.
- the constraint conditions corresponding to the pick and place are not limited to the above two, and "the robot arm 52 does not interfere with the obstacle O" and “the plurality of robot arms 52 do not grab the same object”. , "Objects do not touch each other” and other constraints exist. Similarly, such a constraint condition is also stored in the constraint condition information I2 and reflected in the target formula Ltag.
- 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. Determine 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 obtained by combining these combinations 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 instructed by the robot 5, and is also referred to as "candidate ⁇ " hereafter.
- the following target logical formula Ltag is supplied from the target logical formula generation unit 32 to the time step logical formula generation unit 33.
- the time step logical formula generation unit 33 uses the proposition "gi , k " which is an extension of the proposition "gi” so as to include the concept of the time step.
- the proposition "gi , k " is a proposition that "the object i exists in the region G in the time step k".
- the target logical formula Ltag is rewritten as follows.
- ⁇ g2 and 3 can be rewritten as shown in the following equation.
- the above-mentioned target logical formula Ltag is represented by the logical sum ( ⁇ 1 ⁇ ⁇ 2 ⁇ ⁇ 3 ⁇ ⁇ 4 ) of the four candidates “ ⁇ 1 ” to “ ⁇ 4 ” shown below.
- the time step logical formula generation unit 33 defines the logical sum of the four candidates ⁇ 1 to ⁇ 4 as the time step logical formula Lts.
- the time step formula Lts is true when at least one of the four candidates ⁇ 1 to ⁇ 4 is true.
- the time step logical formula generation unit 33 determines, for example, the target number of time steps based on the estimated work time specified by the input signal S1 supplied from the task instruction device 2. In this case, the time step logical formula 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 formula generation unit 33 sets the target number of time steps to a predetermined initial value. Then, the time step logical formula generation unit 33 gradually increases the number of target time steps until the time step logical formula Lts in which the control input generation unit 35 can determine the control input is generated. In this case, the time step logical formula generation unit 33 determines the target time step number 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 time step number. Add only a number (integer of 1 or more).
- the time step logical formula generation unit 33 may set the initial value of the target time step number to a value smaller than the time step number corresponding to the work time of the target task expected by the user. As a result, the time step logical formula generation unit 33 preferably suppresses setting an unnecessarily large target number of time steps.
- the abstract model generation unit 34 generates an abstract model ⁇ based on the abstract model information I5 and the recognition result Im.
- the abstract model information I5 information necessary for generating the abstract model ⁇ is recorded for each type of target task. For example, when the target task is pick and place, a general-purpose abstraction that does not specify the position and number of objects, the position of the area where the objects are placed, the number of robots 5 (or the number of robot arms 52), etc.
- the model is recorded in the abstract model information I5.
- the abstract model generation unit 34 generates the abstract model ⁇ by reflecting the recognition result Im for the abstract model of the general-purpose form including the dynamics of the robot 5 recorded in the abstract model information I5.
- the abstract model ⁇ becomes a model in which the state of the object in the work space and the dynamics of the robot 5 are abstractly represented.
- the state of the object in the work space indicates the position and number of the object, the position of the area where the object is placed, the number of robots 5, and the like.
- the abstract model information I5 may include information about the abstracted dynamics of the other work body.
- the abstract model ⁇ is a model that abstractly represents the state of the object in the work space, the dynamics of the robot 5, and the dynamics of another work body.
- the dynamics in the work space are frequently switched. For example, in pick-and-place, when the robot arm 52 is grasping the object i, the object i can be moved, but when the robot arm 52 is not grasping the object i, the object i is not grasped. I can't move i.
- the abstract model generation unit 34 can determine the abstract model ⁇ to be set for the workspace shown in FIG. 6 by the following equation (1).
- u j indicates a control input for controlling the robot hand j
- "I" is an identity matrix. Indicated, "0” indicates an example of zero line. Although speed is assumed here as an example, the control input may be acceleration.
- " ⁇ j, i " is a logical variable that is “1” when the robot hand j is grasping the object i and "0” in other cases.
- the equation (1) is a difference equation showing the relationship between the state of the object at the time step k and the state of the object at the time step k + 1.
- the gripping state is represented by a logical variable that is a discrete value
- the movement of the object is represented by a continuous value, so that the equation (1) represents a hybrid system. ..
- equation (1) only the dynamics of the robot hand, which is the hand of the robot 5 that actually grips the object, is considered, not the detailed dynamics of the entire robot 5. As a result, the amount of calculation for the optimization process by the control input generation unit 35 can be suitably reduced.
- the abstract model generation unit 34 can obtain the abstract model information I5 and the recognition result even when the position and number of the objects, the area where the objects are placed (area G in FIG. 6), the number of robots 5, and the like fluctuate. Based on Im, it is possible to determine the abstract model ⁇ suitable for the environment of the target workspace.
- the abstract model generation unit 34 generates a model of a mixed logical dynamic (MLD: Mixed Logical Dynamic) system or a hybrid system combining Petri net, an automaton, etc., instead of the model shown in the equation (1). May be good.
- MLD Mixed Logical Dynamic
- Control input generation unit 35 is based on 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.
- the control input for the robot 5 for each time step that becomes the optimum is determined.
- 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, for example, predetermined for each type of target task and stored in the memory 12 or the storage device 4.
- the control input generation unit 35 has a minimum distance "d k " and a control input " uk " between the object to be carried and the target point to carry the object. (That is, the evaluation function is defined so as to minimize the energy consumed by the robot 5).
- control input generation unit 35 determines the sum of the square of the norm of the distance d k and the square of the norm of the control input uk in all the time steps as the evaluation function. Then, the control input generation unit 35 solves the constrained mixed integer optimization problem shown in the following equation (2) with the abstract model ⁇ and the time step logical equation Lts (that is, the logical sum of the candidates ⁇ i ) as constraints.
- T is the number of time steps to be optimized, and may be the target number of time steps, or may be a predetermined number smaller than the target number of time steps, as will be described later.
- the control input generation unit 35 approximates the logical variable to the continuous value (it is regarded as a continuous relaxation problem). As a result, the control input generation unit 35 can suitably reduce the amount of calculation.
- 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 uk by solving the above-mentioned optimization problem every time a predetermined number of time steps elapses, for example.
- the control input generation unit 35 may solve the above-mentioned optimization problem and determine the control input uk to be used for each predetermined event corresponding to the intermediate state with respect to the achievement state of the target task. 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 workspace are switched. For example, when the target task is pick and place, 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 specifying the event for each type of target task is stored in the storage device 4.
- Subtask sequence generation unit 36 generates a subtask sequence Sr based on the control input information Icn supplied from the control input generation unit 35 and the subtask information I4 stored in the application information storage unit 41. Generate. In this case, the subtask sequence generation unit 36 recognizes the subtask that can be accepted by the robot 5 by referring to the subtask information I4, and converts the control input for each time step indicated by the control input information Icn into the subtask.
- the subtask information I4 contains a function indicating two subtasks, that is, the movement of the robot hand (reaching) and the gripping 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 has, 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 is, for example, a function in which 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 variable ⁇ are used as arguments.
- the function "Grasp” indicates that the operation of grasping is performed when the logical variable ⁇ is "1", and the operation of releasing when the logical variable ⁇ is "0" is performed.
- 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 Icn, and the control input information Icn determines the function "Grasp". Determined based on the transition of the logical variable ⁇ for each time step shown.
- the proposition generation unit 37 generates an abstract state setting information IS supplied from the abstract state setting unit 31 and a target logical formula generation when the proposition request information Ic is supplied from the proposition determination unit 18. Based on the target logical formula Ltag supplied from the unit 32, the propositional information Id indicating the first proposition and the second proposition is generated. Here, the generation of the first proposition and the second proposition will be described respectively.
- the proposition generation unit 37 relates to the target task based on the abstract state setting information IS generated by the abstract state setting unit 31 at the time when the proposition request information Ic is supplied from the proposition determination unit 18 (that is, when the execution of the subtask sequence Sr is completed). Generate a first proposition that abstractly represents the current state. In this case, the proposition generation unit 37 generates the first proposition obtained by extracting the part representing the state of the object necessary for the completion determination of the target task from the propositions indicated by the abstract state setting information IS.
- the "object necessary for determining the completion of the target task” is, for example, a work object (work), and in the example of FIG. 6, it corresponds to the objects 61a to 61d.
- the "object necessary for determining the completion of the target task” may be determined for each type of target task.
- the storage device 4 or the memory 12 or the like stores information that defines "an object necessary for determining the completion of the target task" for each type of the target task, and the proposition generation unit 37 stores the information.
- “the object necessary for determining the completion of the target task” is determined.
- the proposition generation unit 37 further uses the proposition " wi " that the object exists in the work table and the non-working area other than the area G, and uses the first proposition shown in the following equation (4). Generate. g 1 ⁇ w 2 ⁇ g 3 ⁇ g 4 (4)
- the proposition generation unit 37 refers to the abstract state setting information IS generated based on the measurement signal S4 at the time when the execution of the subtask sequence Sr by the robot 5 is completed, and abstractly represents the current state of the target task.
- the first proposition is preferably generated.
- the proposition generation unit 37 may receive the recognition result Im generated based on the measurement signal S4 instead of receiving the abstract state setting information IS from the abstract state setting unit 31.
- the proposition generation unit 37 generates a first proposition that abstractly represents the current state (the state of the object in FIG. 6) with respect to the target task based on the recognition result Im.
- the proposition generation unit 37 generates a second proposition that abstractly represents the completion state of the target task based on the target logical expression Ltag supplied from the target logical expression generation unit 32.
- the proposition generation unit 37 excludes the logical expression of the constraint condition included in the target logical expression Ltag, and generates the second proposition using only the logical expression corresponding to the target task.
- the proposition generation unit 37 generates the second proposition shown in the following equation (5) excluding various constraints such as not interfering with obstacles from the target logical equation Ltag. ⁇ g 1 ⁇ ⁇ g 2 ⁇ ⁇ g 3 ⁇ ⁇ g 4 (5)
- the proposition generation unit 37 further deletes a predetermined operator such as the operator " ⁇ " corresponding to "eventually" from the target logical expression Ltag, which does not affect the completion determination of the target task. Generate a proposition.
- the information of the operator to be deleted is stored in advance in, for example, the storage device 4 or the memory 12.
- the proposition generation unit 37 generates the second proposition represented by the following equation (6).
- the proposition generation unit 37 abstractly represents the completion state of the target task by using the target logical formula Ltag generated based on the target task designated by the task designation information Ia or the like. Properly produced.
- the proposition generation unit 37 may receive a logical expression excluding the constraint condition from the target logical expression Ltag from the target logical expression generation unit 32 instead of the target logical expression Ltag.
- the proposition determination unit 18 determines that the target task has been completed normally when the first proposition and the second proposition indicated by the proposition information Id received from the operation sequence generation unit 16 match. For example, when the proposition determination unit 18 receives the proposition information Id indicating the first proposition shown in the equation (3) and the second proposition shown in the equation (6), the equation (3) and the equation (6) Since they are the same, the first proposition and the second proposition match, and it is determined that the target task has been completed normally.
- the proposition determination unit 18 determines whether the second proposition has a predetermined operator such as the operator " ⁇ " corresponding to "eventually" that does not affect the completion determination of the target task. If the second proposition has a predetermined operator such as the operator " ⁇ " corresponding to “eventually” that does not affect the completion determination of the target task, the proposition determination unit 18 is concerned. The presence or absence of the operator is not regarded as a difference, and the presence or absence of a match between the first and second propositions described above is determined. Therefore, when the proposition determination unit 18 receives the proposition information Id indicating the first proposition shown in the equation (3) and the second proposition shown in the equation (5), the equation (3) and the equation (5) Is the same except for the operator " ⁇ ", so that the first proposition and the second proposition match, and it is determined that the target task has been completed normally.
- the proposition information Id indicating the first proposition shown in the equation (3) and the second proposition shown in the equation (5)
- the equation (3) and the equation (5) Is the same except for the operator " ⁇
- the proposition determination unit 18 can accurately determine the completion of the target task based on the first proposition and the second proposition generated by the proposition generation unit 37.
- FIG. 7 shows a display example of a task screen for designating a target task.
- the output control unit 15 generates an output control signal S2 and transmits the output control signal S2 to the task instruction device 2 to control the task instruction device 2 to display the task screen shown in FIG. 7.
- the task screen shown in FIG. 7 mainly has a task type designation field 25, a work space image display field 26, and various buttons 28 (28a, 28b).
- the output control unit 15 receives an input for designating the type of the target task in the task type designation field 25.
- the task type designation field 25 is an input field in the form of a pull-down menu, and the output control unit 15 displays a list of acceptable target task type candidates in the task type designation field 25 so as to be selectable. ..
- pick and place is designated as the type of the target task in the task type designation field 25.
- the output control unit 15 displays a work space image captured in the work space by the measuring device 7 in the work space image display field 26, and is designated necessary for executing the target task designated in the task type designation field 25. Accept.
- the output control unit 15 refers to the abstract state designation information I1 corresponding to the pick and place selected in the task type designation field 25, and the target object to be worked by the robot 5 and the target object. Recognize that it is necessary to determine the destination. Therefore, the output control unit 15 receives an input for designating an object and a destination on the work space image display field 26, respectively.
- the output control unit 15 displays the marks 27a to 27d on which the object is designated by a solid line, and the marks 27e on which the destination is designated by a broken line. Then, when the output control unit 15 detects that the object determination button 28a is selected, the output control unit 15 recognizes the position information of the marks 27a to 27d drawn by the user as information for specifying the position of the object. Further, when the output control unit 15 further detects that the destination determination button 28b is selected, the output control unit 15 uses the position information of the mark 27e drawn by the user after the selection of the object determination button 28a as information for specifying the destination. recognize. Then, the output control unit 15 supplies information for identifying these objects and destinations (here, position information of each mark on the work space image) to the operation sequence generation unit 16 as task designation information Ia.
- the output control unit 15 supplies information for identifying these objects and destinations (here, position information of each mark on the work space image) to the operation sequence generation unit 16 as task designation information Ia.
- the output control unit 15 preferably accepts user input regarding the designation of the type of the target task and the designation of the object related to the target task, and the task designation information Ia is suitable. Can be obtained in.
- the output control unit 15 accepts the input of designating some pixels constituting the object and the destination by touch operation or click operation. May be good. In this case, the output control unit 15 regards the position information of each designated pixel as information for specifying the object and the destination, and supplies the task designation information Ia to the operation sequence generation unit 16. In another example, the output control unit 15 may generate the task designation information Ia based on the recognition result Im regarding the object and the destination without the user input on the work space image display field 26.
- FIG. 8 shows a display example of the task screen when the target task specified in FIG. 7 is completed normally.
- the output control unit 15 generates an output control signal S2 based on the determination result information Ie received from the proposition determination unit 18, and transmits the output control signal S2 to the task instruction device 2, thereby transmitting the output control signal S2 to the task instruction device 2 in FIG. It is controlled to display the task screen shown in.
- the task screen shown in FIG. 8 mainly has a notification area 29 and a work space image display field 26A.
- the output control unit 15 displays a text message to the effect that the target task has been completed in the notification area 29. ing. Further, the output control unit 15 displays a work space image based on the latest measurement signal S4 in the work space image display column 26A.
- the output control unit 15 can suitably notify the user on the task screen that the designated target task has been completed.
- FIG. 9 shows a display example of the task screen when the target task specified in FIG. 7 does not end normally.
- the output control unit 15 generates an output control signal S2 based on the determination result information Ie received from the proposition determination unit 18, and transmits the output control signal S2 to the task instruction device 2, whereby FIG. 9 is shown in the task instruction device 2. It is controlled to display the task screen shown in.
- the task screen shown in FIG. 9 has a notification area 29 and a work space image display field 26A, similarly to the task screen of FIG.
- the output control unit 15 displays a text message in the notification area 29 to the effect that the target task has not been completed normally, based on the determination result information IE received from the proposition determination unit 18. Further, the output control unit 15 displays a work space image based on the latest measurement signal S4 in the work space image display column 26A.
- the output control unit 15 can appropriately notify the user of an alert for not completing the specified target task normally on the task screen.
- FIG. 10 is an example of a flowchart showing an outline of robot control processing executed by the robot controller 1 in the first embodiment.
- the output control unit 15 of the robot controller 1 acquires the task designation information Ia (step S11).
- the output control unit 15 transmits an output control signal S2 for displaying the task screen to the task instruction device 2 via the interface 13, and the task instruction device 2 displays the task screen based on the output control signal S2. indicate.
- the output control unit 15 receives the input signal S1 related to the designation of the target task from the task instruction device 2 displaying the task screen, the output control unit 15 acquires the input signal S1 as the task designation information Ia.
- the operation sequence generation unit 16 generates a subtask sequence Sr, which is an operation sequence of the robot 5, based on the task designation information Ia acquired in step S11 and the measurement signal S4 (step S12). In this case, the operation sequence generation unit 16 recognizes an object in the workspace necessary for generating the subtask sequence Sr, and generates the subtask sequence Sr necessary for completing the target task indicated by the task designation information Ia.
- the robot control unit 17 sequentially supplies the control signal S3 based on the generated subtask sequence Sr to the robot 5, and controls the robot 5 to operate according to the generated subtask sequence Sr (step S13).
- the robot control unit 17 determines whether or not the subtask sequence Sr has been completed (step S14). In this case, the robot control unit 17 determines that the subtask sequence Sr has been completed, for example, when there are no more control signals to be output to the robot 5 based on the subtask sequence Sr (that is, the output of the control signal is completed). It should be noted that the robot control unit 17 has completed the subtask sequence Sr when the time length corresponding to the number of time steps possessed by the subtask sequence Sr has elapsed after the start of supplying the control signal based on the subtask sequence Sr to the robot 5. You may judge.
- step S14 determines that the subtask sequence Sr has been completed (step S14; Yes)
- the robot control unit 17 proceeds to the process to step S15.
- step S14; No the control of the robot 5 is continued in step S13.
- the operation sequence generation unit 16 After the completion of the subtask sequence Sr, the operation sequence generation unit 16 generates a first proposition representing the current state of the target task and a second proposition representing the completed state of the target task, respectively (step S15).
- the proposition determination unit 18 supplies the proposition request information Ic to the operation sequence generation unit 16 at the timing when the completion notification information Ib is received from the robot control unit 17, and the operation sequence generation unit 16 propositions the proposition request information Ic.
- the first proposition and the second proposition are generated.
- the proposition determination unit 18 determines whether or not the first proposition generated by the operation sequence generation unit 16 and the second proposition match (step S16). In this case, the proposition determination unit 18 receives the proposition information Id indicating the first proposition and the second proposition from the operation sequence generation unit 16, and compares the first proposition and the second proposition indicated by the received proposition information Id. Based on this, the determination result information Ie is generated.
- step S16 determines that the first proposition and the second proposition match (step S16; Yes)
- the output control unit 15 notifies the completion of the task (step S17).
- the output control unit 15 supplies, for example, the output control signal S2 generated based on the determination result information IE to the task instruction device 2 to display a task screen (see FIG. 8) that clearly indicates the normal completion of the target task. Controls the display on the task instruction device 2.
- the robot controller 1 can suitably notify the user of the completion of the target task.
- step S16 when the proposition determination unit 18 determines that the first proposition and the second proposition do not match (step S16; No), it determines that the target task has not been completed normally.
- the output control unit 15 outputs alert information indicating that the task has not been completed normally (step S18).
- the output control unit 15 supplies, for example, the output control signal S2 generated based on the determination result information IE to the task instruction device 2, so that the task screen (task screen) indicating an alert for the failure to complete the target task normally ( (See FIG. 9) is controlled to be displayed on the task instruction device 2.
- the robot controller 1 can appropriately notify the user of an alert that the target task has not been completed normally.
- the robot controller 1 may cause the robot 5 to execute a predetermined target task instead of causing the robot 5 to execute the target task specified based on the user input on the task screen.
- the robot controller 1 may control to display the result of the target task completion determination on the task screen, or in addition to this, control to output the result of the target task completion determination by sound. ..
- the output control unit 15 of the robot controller 1 notifies the task instruction device 2 of the result of the target task completion determination by supplying the output control signal S2 including the sound output signal generated based on the determination result information Ie to the task instruction device 2.
- the output control unit 15 may cause the task instruction device 2 to execute the above-mentioned sound output only when the determination result information Ie indicating that the target task has not been completed normally is acquired.
- the sound output may be a voice guidance notifying that the target task has not been completed normally, or may be an alert sound.
- the robot controller 1 can suitably notify the user of the task instruction device 2 of the result of the target task completion determination.
- the robot controller 1 determines the target task completion to the management terminal that collectively manages the robots or other machines in the factory. The result of may be output.
- the output control unit 15 of the robot controller 1 receives the judgment result information Ie from the proposition determination unit 18, and then transmits the judgment result information Ie or the information based on the judgment result information Ie to the management terminal via the interface 13. .. Then, the management terminal may store the information received from the robot controller 1 as task history information, or may execute display or sound output based on the received information. Note that the robot controller 1 may transmit alert information based on the determination to the management terminal only when it is determined that the target task has not been completed normally.
- the block configuration of the operation sequence generation unit 16 shown in FIG. 5 is an example, and various changes may be made.
- the information of the motion sequence candidate ⁇ instructed to the robot 5 is stored in advance in the storage device 4, and the motion sequence generation unit 16 executes the optimization process of the control input generation unit 35 based on the information.
- the operation sequence generation unit 16 selects the optimum candidate ⁇ and determines the control input of the robot 5.
- the operation sequence generation unit 16 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 in the generation of the subtask sequence Sr.
- information regarding the execution result of a part of the functional blocks of the operation sequence generation unit 16 shown in FIG. 5 may be stored in the application information storage unit 41 in advance.
- the application information includes design information such as a flowchart for designing the subtask sequence Sr corresponding to the target task in advance, and the operation sequence generation unit 16 refers to the design information.
- the subtask sequence Sr may be generated.
- a specific example of executing a task based on a pre-designed task sequence is disclosed in, for example, Japanese Patent Application Laid-Open No. 2017-39170.
- the robot controller 1 of the second embodiment is different from the robot controller 1 of the first embodiment in that it determines the completion of the target task when a predetermined time length has elapsed from the start of the target task.
- the same components as those in the first embodiment will be appropriately designated with the same reference numerals, and the description thereof will be omitted.
- FIG. 11 is a functional block diagram of the robot controller 1A in the second embodiment.
- the robot controller 1A has, for example, the hardware configuration shown in FIG. 2A, and the processor 11 of the robot controller 1A functionally has an output control unit 15, an operation sequence generation unit 16A, and a robot control unit. It has 17A and a proposition determination unit 18A.
- the operation sequence generation unit 16A generates a subtask sequence Sr to be executed by the robot 5 based on the task designation information Ia supplied from the output control unit 15, the measurement signal S4, and the application information stored in the storage device 4.
- the operation sequence generation unit 16A sets one or a plurality of intermediate states (also referred to as “sub-goals”) up to the completion state (goal) of the target task. Then, the operation sequence generation unit 16A sequentially generates a plurality of subtask sequences Sr necessary from the start to the completion of the target task based on the subgoal.
- the operation sequence generation unit 16A sequentially generates a subtask sequence Sr for shifting from the initial state to the subgoal, from the subgoal to the next subgoal, and from the last subgoal to the completed state (goal). Further, when the operation sequence generation unit 16A receives the proposition request information Ic from the proposition determination unit 18A, the operation sequence generation unit 16A generates the proposition information Id indicating the first proposition and the second proposition as in the operation sequence generation unit 16 of the first embodiment. It is generated and the proposition information Id is supplied to the proposition determination unit 18A.
- information necessary for setting a subgoal for each target task is stored in the storage device 4 in advance, and the operation sequence generation unit 16A sets the subgoal by referring to this information.
- the above information is, for example, in the case of pick and place, the maximum number of pieces of information for moving an object in one subtask sequence Sr.
- the robot control unit 17A controls the robot 5 based on the subtask sequence Sr supplied from the operation sequence generation unit 16A. Then, when the supplied subtask sequence Sr is completed, the robot control unit 17A supplies the completion notification of the subtask sequence Sr to the operation sequence generation unit 16A.
- the proposition determination unit 18A determines the completion of the target task as the first proposition and the first proposition when a predetermined time length has elapsed from the start of the target task (that is, when the first subtask sequence Sr is supplied to the robot control unit 17A). 2 Perform by comparing with the proposition. Then, the proposition determination unit 18A generates the determination result information Ie based on the comparison result of the proposition, and supplies the determination result information Ie to the output control unit 15, as in the first embodiment.
- the above-mentioned predetermined time length is, for example, a time length equal to or longer than the expected time length of the target task before the start of the target task (for example, a time length obtained by adding the upper limit time length of a possible time lag to the required time length).
- the information necessary for calculating the predetermined time length or the predetermined time length is stored in the storage device 4 or the like for each target task that can be set, and the proposition determination unit 18A is based on the information.
- the "information required to calculate the predetermined time length" is, for example, the time length per unit of the dependent object when the required time length of the task depends on the number of objects, etc., and in the example of FIG. 6, the target This is the length of time required for the work per body of the object 61.
- the proposition determination unit 18A determines the completion of the target task when a predetermined time length has elapsed from the start of the target task, and when the first proposition and the second proposition are different, the target task is normally completed. I think I didn't. As a result, the proposition determination unit 18A can accurately determine whether or not the target task has been completed normally.
- the operation sequence generation unit 16A first sets the pick and place of the first two objects 61a and 61b to the region G as a subgoal. Then, the operation sequence generation unit 16A first calculates the subtask sequence Sr up to the subgoal, and supplies the calculated subtask sequence Sr to the robot control unit 17.
- the operation sequence generation unit 16A sets the current abstract state based on the measurement signal S4 after receiving the completion notification of the subtask sequence Sr from the robot control unit 17, and the remaining objects 61c and 61d are placed on the work table. Recognize that it exists. Then, the operation sequence generation unit 16A generates a subtask sequence Sr for picking and placing the remaining objects 61c and 61d, and supplies the subtask sequence Sr to the robot control unit 17.
- the operation sequence generation unit 16A repeatedly generates the subtask sequence Sr so that the target task is completed.
- the robot control unit 17A continues to output the control signal S3 to the robot 5 even if the expected time required for the target task elapses before the start of execution of the target task.
- the object of the proposition determination unit 18 is The task completion judgment does not start.
- the robot controller 1A determines the completion of the target task when a predetermined time has elapsed from the start of the target task. As a result, the robot controller 1A can accurately determine whether or not the target task has been completed normally.
- FIG. 12 is an example of a flowchart showing an outline of the robot control process executed by the robot controller 1A in the second embodiment.
- the proposition determination unit 18A determines whether or not a predetermined time length has elapsed from the start of the target task (step S24). Then, when the predetermined time length has not elapsed from the start of the target task (step S24; No), the proposition determination unit 18A continues to perform the process related to step S23 by the operation sequence generation unit 16A and the robot control unit 17A.
- the operation sequence generation unit 16A has the first proposition representing the current state of the target task and the first proposition.
- a second proposition representing the completion status of the target task is generated (step S25).
- the proposition determination unit 18 supplies the proposition request information Ic to the operation sequence generation unit 16, and the operation sequence generation unit 16A receives the proposition request information Ic from the proposition determination unit 18, and the first proposition and the first proposition. Generate 2 propositions.
- the proposition determination unit 18A determines whether or not the first proposition generated by the operation sequence generation unit 16A and the second proposition match (step S26). Then, when the proposition determination unit 18A determines that the first proposition and the second proposition match (step S26; Yes), it determines that the target task has been completed normally. In this case, the output control unit 15 notifies the completion of the task (step S27). On the other hand, when the proposition determination unit 18A determines that the first proposition and the second proposition do not match (step S26; No), it determines that the target task has not been completed normally. In this case, the output control unit 15 outputs alert information indicating that the task has not been completed normally (step S28).
- the third embodiment is different from the first embodiment and the second embodiment in that the determination result information Ie is transmitted to the external device that manages the state of the robot 5.
- the same components as those of the first embodiment and the second embodiment will be appropriately designated by the same reference numerals, and the description thereof will be omitted.
- FIG. 13 shows a schematic configuration diagram of the robot control system 100B according to the third embodiment.
- the robot control system 100B mainly includes a robot controller 1B, a task instruction device 2, a storage device 4, a robot 5, a management device 6, a measuring device 7, and a terminal 8.
- the robot controller 1B performs data communication with the management device 6 which is a cloud server via the communication network 3.
- the robot controller 1B has, for example, the hardware configuration shown in FIG. 2 and the functional block configuration shown in FIG. 4 or FIG. Then, the robot controller 1B performs the same processing as the robot controller 1 of the first embodiment or the robot controller 1A of the second embodiment, and indicates that the target task is not normally completed via the communication network 3.
- the alert information "Ig" is supplied to the management device 6.
- the alert information Ig is information generated by the output control unit 15 that has received the determination result information Ie, and includes information indicating that the target task has not been completed normally, identification information of the robot 5, and the target task. It contains date and time information that indicates the date and time when it was executed.
- the management device 6 functions as an alert collection center for collecting alert information Ig.
- the management device 6 is composed of a plurality of servers, and stores the alert information Ig supplied from the robot controller 1B via the communication network 3. Further, the management device 6 can perform data communication with a terminal 8 used by an administrator (for example, a call center employee) who manages the state of the robot 5 by wire or wirelessly or via a communication network.
- the terminal 8 acquires the alert information Ig stored in the management device 6, and notifies the administrator (call center employee) that the target task has not been completed normally based on the alert information Ig. In this case, the terminal 8 performs at least one of sound output and display for notifying the administrator that the target task has not been completed normally.
- the manager contacts, for example, a person concerned at the site where the robot 5 is present, and gives an instruction to remove the cause of the unsuccessful completion of the target task.
- the robot control system 100B can suitably notify an external call center or the like that the target task has not been completed normally.
- FIG. 14 shows a schematic configuration diagram of the determination device 1X according to the fourth embodiment.
- the determination device 1X mainly has a proposition determination means 18X.
- the determination device 1X can be the robot controller 1 in the first embodiment, the robot controller 1A in the second embodiment, or the robot controller 1B in the third embodiment. Further, the determination device 1X may be a device that performs processing corresponding to the proposition determination unit 18 when the robot controller 1 in the first embodiment is realized by a plurality of devices. Similarly, the determination device 1X performs a process corresponding to the proposition determination unit 18 or the proposition determination unit 18A when the robot controller 1A in the second embodiment or the robot controller 1B in the third embodiment is realized by a plurality of devices. It may be a device to perform. Further, the determination device 1X may be composed of a plurality of devices.
- the proposition determination means 18X has a first proposition representing the current state of the task, which is detected by a sensor when the robot's motion sequence related to the task is completed, or when a predetermined time has elapsed from the start of the task, and the task. The completion of the task is determined based on the second proposition indicating the completion state of.
- the “current state” refers to the state of the task detected by the sensor at the time of processing (determination processing) by the determination device 1X.
- the proposition determination means 18X determines the completion of the task in "when the operation sequence of the robot related to the task is completed"
- the proposition determination means 18X is in the first embodiment (including a modification, the same applies hereinafter) or the third embodiment. It can be the proposition determination unit 18.
- the proposition determination unit 18A in the second embodiment or the third embodiment can be used.
- FIG. 15 is an example of a flowchart showing a processing procedure executed by the determination device 1X in the fourth embodiment.
- the proposition determination means 18X determines whether or not it corresponds to either the case where the robot operation sequence related to the task is completed or the case where a predetermined time length has elapsed from the start of the task (step S31). Then, when the robot operation sequence related to the task is completed, or when a predetermined time length has elapsed from the start of the task (step S31; Yes), the proposition determination means 18X detects the current state of the task by the sensor. Based on the first proposition representing the task and the second proposition representing the completion state of the task, the completion determination of the task is performed (step S32). On the other hand, when the robot operation sequence related to the task is not completed and the predetermined time length has not elapsed from the start of the task (step S31; No), the proposition determination means 18X does not execute the process of step S32. ..
- the determination device 1X can accurately execute the completion determination of whether or not the task has been completed by comparing the propositions representing the state of the task.
- Non-transitory Computer Readable Medium Non-Transitory Computer Readable Medium
- Non-temporary computer-readable media include various types of tangible storage media (Tangible Storage Medium).
- non-temporary computer-readable media examples include magnetic storage media (eg, flexible disks, magnetic tapes, hard disk drives), magneto-optical storage media (eg, magneto-optical disks), CD-ROMs (ReadOnlyMemory), CD-Rs, Includes CD-R / W, semiconductor memory (eg, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (RandomAccessMemory)).
- the program may also be supplied to the computer by various types of temporary computer-readable media (Transitory ComputerReadable 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 1] When the robot operation sequence related to the task is completed, or when a predetermined time has elapsed from the start of the task.
- a determination device having a proposition determination means for determining the completion of the task based on the first proposition indicating the current state of the task and the second proposition indicating the completion state of the task detected by the sensor.
- [Appendix 2] The determination device according to Appendix 1, wherein the proposition determination means determines that the task has not been completed when the first proposition and the second proposition are different.
- [Appendix 3] The determination device according to Appendix 1 or 2, further comprising an output control means for outputting alert information indicating that the task has not been completed when it is determined in the completion determination that the task has not been completed.
- [Appendix 4] The determination device according to Appendix 3, wherein the output control means transmits the alert information to a management device that manages the robot.
- [Appendix 5] The determination device according to Appendix 3, wherein the output control means outputs a display or a sound indicating that the task has not been completed as an output of the alert information.
- the term "display or sound output” is not limited to the case where the output control means performs display or sound output by itself, but also includes the case where the display or sound output is executed by transmitting a signal to another device.
- [Appendix 6] The determination device according to any one of Supplementary note 3 to 5, wherein the output control means outputs information indicating the normal completion of the task when it is determined in the completion determination that the task has been completed.
- the operation sequence generation means sequentially generates a plurality of operation sequences required from the start of the task to the completion of the task, based on one or a plurality of intermediate states until the task is completed.
- the determination device according to Appendix 7, wherein the proposition determination means determines the completion of the task based on the first proposition and the second proposition when a predetermined time length has elapsed from the start of the task.
- the operation sequence generation means is A logical expression conversion means for converting the task into a logical expression based on temporal logic, A time step logical expression generation 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.
- a subtask sequence generation means that generates a sequence of subtasks to be executed by the robot as the operation sequence based on the time step logical formula.
- the determination device according to any one of Supplementary note 7 to 10.
- the operation sequence generation means is The determination device according to Appendix 11, further comprising an abstract state setting means for defining an abstract state, which is an abstract state of an object related to the task, as a proposition used in the logical formula.
- the determination device according to any one of Supplementary note 1 to 12, wherein the predetermined time length is set to a time length equal to or longer than the required time length of the task.
- [Appendix 14] By computer When the robot operation sequence related to the task is completed, or when a predetermined time has elapsed from the start of the task. A determination method for determining the completion of the task based on the first proposition indicating the current state of the task and the second proposition indicating the completion state of the task detected by the sensor. [Appendix 15] When the robot operation sequence related to the task is completed, or when a predetermined time has elapsed from the start of the task. A program for causing a computer to execute a process for determining the completion of the task based on the first proposition indicating the current state of the task and the second proposition indicating the completion state of the task detected by the sensor is stored. Storage medium.
- Robot controller 1X Judgment device 2 Task instruction device 3 Communication network 4 Storage device 5 Robot 6 Management device 7 Measuring device 41 Application information storage unit 100, 100B Robot control system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
判定装置1Xは、主に、命題判定手段18Xを有する。命題判定手段18Xは、タスクに関するロボットの動作シーケンスが完了した場合、又は、タスクの開始から所定時間長が経過した場合、センサにより検出される、タスクの現在の状態を表す第1命題と、タスクの完了状態を表す第2命題とに基づき、タスクの完了判定を行う。
Description
本開示は、ロボットに作業させるタスクに関する処理を行う判定装置、判定方法及び記憶媒体の技術分野に関する。
ロボットに作業させるタスクが与えられた場合に、当該タスクを実行するために必要なロボットの制御を行う制御手法が提案されている。例えば、特許文献1には、ハンドを有するロボットにより複数の物品を把持して容器に収容する場合に、ハンドが物品を把持する順序の組み合わせを決定し、組み合わせ毎に算出した指標に基づき、収容する物品の順序を決定するロボット判定装置が開示されている。また、特許文献2には、ロボットハンドにより対象物(ワーク)を移動させる場合に、処理の終了をユーザに通知するロボットシステムが開示されている。
ロボットがタスクを正常に完了したか否かの完了判定を行う場合、完了判定を正確に行うためには、完了判定用のセンサの出力に基づいて複雑な処理を行う必要があり、かつ、完了判定用のスキームをタスク毎に用意する必要があった。
本開示の目的の1つは、上述した課題を鑑み、ロボットに実行させるタスクの完了判定を好適に実行することが可能な判定装置、判定方法及び記憶媒体を提供することである。
判定装置の一の態様は、
タスクに関するロボットの動作シーケンスが完了した場合、又は、前記タスクの開始から所定時間長が経過した場合、
センサにより検出される、前記タスクの現在の状態を表す第1命題と、前記タスクの完了状態を表す第2命題とに基づき、前記タスクの完了判定を行う命題判定手段
を有する判定装置である。
タスクに関するロボットの動作シーケンスが完了した場合、又は、前記タスクの開始から所定時間長が経過した場合、
センサにより検出される、前記タスクの現在の状態を表す第1命題と、前記タスクの完了状態を表す第2命題とに基づき、前記タスクの完了判定を行う命題判定手段
を有する判定装置である。
判定方法の一の態様は、
コンピュータにより、
タスクに関するロボットの動作シーケンスが完了した場合、又は、前記タスクの開始から所定時間長が経過した場合、
センサにより検出される、前記タスクの現在の状態を表す第1命題と、前記タスクの完了状態を表す第2命題とに基づき、前記タスクの完了判定を行う
判定方法である。
コンピュータにより、
タスクに関するロボットの動作シーケンスが完了した場合、又は、前記タスクの開始から所定時間長が経過した場合、
センサにより検出される、前記タスクの現在の状態を表す第1命題と、前記タスクの完了状態を表す第2命題とに基づき、前記タスクの完了判定を行う
判定方法である。
記憶媒体の一の態様は、
タスクに関するロボットの動作シーケンスが完了した場合、又は、前記タスクの開始から所定時間長が経過した場合、
センサにより検出される、前記タスクの現在の状態を表す第1命題と、前記タスクの完了状態を表す第2命題とに基づき、前記タスクの完了判定を行う処理をコンピュータに実行させるプログラムが格納された記憶媒体である。
タスクに関するロボットの動作シーケンスが完了した場合、又は、前記タスクの開始から所定時間長が経過した場合、
センサにより検出される、前記タスクの現在の状態を表す第1命題と、前記タスクの完了状態を表す第2命題とに基づき、前記タスクの完了判定を行う処理をコンピュータに実行させるプログラムが格納された記憶媒体である。
ロボットに実行させるタスクの完了判定を好適に実行することができる。
以下、図面を参照しながら、判定装置、判定方法及び記憶媒体の実施形態について説明する。
<第1実施形態>
(1)システム構成
図1は、第1実施形態に係るロボット制御システム100の構成を示す。ロボット制御システム100は、主に、ロボットコントローラ1と、タスク指示装置2と、記憶装置4と、ロボット5と、計測装置7と、を備える。
(1)システム構成
図1は、第1実施形態に係るロボット制御システム100の構成を示す。ロボット制御システム100は、主に、ロボットコントローラ1と、タスク指示装置2と、記憶装置4と、ロボット5と、計測装置7と、を備える。
ロボットコントローラ1は、ロボット5に実行させるタスク(「目的タスク」とも呼ぶ。)が指定された場合に、ロボット5が受付可能な単純なタスクのタイムステップ(時間刻み)毎のシーケンスに目的タスクを変換し、生成したシーケンスに基づきロボット5を制御する。以後では、ロボット5が受付可能な単位により目的タスクを分解したタスク(コマンド)を、「サブタスク」とも呼び、目的タスクを達成するためにロボット5が実行すべきサブタスクのシーケンスを「サブタスクシーケンス」とも呼ぶ。サブタスクシーケンスは、ロボット5の一連の動作を規定する動作シーケンスに相当する。
また、ロボットコントローラ1は、タスク指示装置2、記憶装置4、ロボット5、及び計測装置7と、通信網を介し、又は、無線若しくは有線による直接通信により、データ通信を行う。例えば、ロボットコントローラ1は、タスク指示装置2から、目的タスクを指定する入力信号「S1」を受信する。また、ロボットコントローラ1は、タスク指示装置2に対し、ロボット5に実行させるタスクに関する情報を出力させるための出力制御信号「S2」を送信する。さらに、ロボットコントローラ1は、ロボット5の制御に関する制御信号「S3」をロボット5に送信する。また、ロボットコントローラ1は、計測装置7から計測信号「S4」を受信する。
タスク指示装置2は、目的タスクを指定する作業者による目的タスクに関する入力を受け付ける装置である。タスク指示装置2は、ロボットコントローラ1から供給される出力制御信号S2に基づき所定の表示を行ったり、作業者の入力に基づき生成した入力信号S1をロボットコントローラ1へ供給したりする。タスク指示装置2は、入力部と表示部とを備えるタブレット端末であってもよく、据置型のパーソナルコンピュータであってもよい。
記憶装置4は、アプリケーション情報記憶部41を有する。アプリケーション情報記憶部41は、目的タスクからサブタスクシーケンスを生成するために必要なアプリケーション情報を記憶する。アプリケーション情報の詳細は、図3を参照しながら後述する。記憶装置4は、ロボットコントローラ1に接続又は内蔵されたハードディスクなどの外部記憶装置であってもよく、フラッシュメモリなどの記憶媒体であってもよい。また、記憶装置4は、ロボットコントローラ1と通信網を介してデータ通信を行うサーバ装置であってもよい。この場合、記憶装置4は、複数のサーバ装置から構成されてもよい。
ロボット5は、ロボットコントローラ1から供給される制御信号S3に基づき目的タスクに関する作業を行う。ロボット5は、例えば、組み立て工場、食品工場などの各種工場、又は、物流の現場などで動作を行うロボットである。ロボット5は、垂直多関節型ロボット、水平多関節型ロボット、又はその他の任意の種類のロボットであってもよい。ロボット5は、ロボット5の状態を示す状態信号をロボットコントローラ1に供給してもよい。この状態信号は、ロボット5全体又は関節などの特定部位の状態(位置、角度等)を検出するセンサの出力信号であってもよく、ロボット5の制御部が生成したロボット5のサブタスクの進捗状態を示す信号であってもよい。
計測装置7は、目的タスクが実行される作業空間内の状態を検出するカメラ、測域センサ、ソナーまたはこれらの組み合わせとなる1又は複数のセンサである。本実施形態では、計測装置7は、作業空間を撮像する少なくとも1台のカメラを含むものとする。計測装置7は、生成した計測信号S4をロボットコントローラ1に供給する。計測信号S4には、作業空間内を撮像した画像が少なくとも含まれる。計測装置7は、作業空間内で移動する自走式又は飛行式のセンサ(ドローンを含む)であってもよい。また、計測装置7は、ロボット5に設けられたセンサ、及び作業空間内の他の物体に設けられたセンサなどを含んでもよい。また、計測装置7は、作業空間内の音を検出するセンサを含んでもよい。このように、計測装置7は、作業空間内の状態を検出する種々のセンサであって、任意の場所に設けられたセンサを含んでもよい。
なお、図1に示すロボット制御システム100の構成は一例であり、当該構成に種々の変更が行われてもよい。例えば、ロボット5は、複数台存在してもよく、ロボットアームなどの夫々が独立して動作する制御対象物を複数有してもよい。これらの場合であっても、ロボットコントローラ1は、目的タスクに基づき、ロボット5毎又は制御対象物毎に実行すべきサブタスクシーケンスを生成し、当該サブタスクシーケンスに基づく制御信号S3を、対象のロボット5に送信する。また、ロボット5は、作業空間内で動作する他のロボット、作業者又は工作機械と協働作業を行うものであってもよい。また、計測装置7は、ロボット5の一部であってもよい。また、タスク指示装置2は、ロボットコントローラ1と同一の装置として構成されてもよい。また、ロボットコントローラ1は、複数の装置から構成されてもよい。この場合、ロボットコントローラ1を構成する複数の装置は、予め割り当てられた処理を実行するために必要な情報の授受を、これらの複数の装置間において行う。また、ロボットコントローラ1とロボット5とは、一体に構成されてもよい。
(2)ハードウェア構成
図2(A)は、ロボットコントローラ1のハードウェア構成を示す。ロボットコントローラ1は、ハードウェアとして、プロセッサ11と、メモリ12と、インターフェース13とを含む。プロセッサ11、メモリ12及びインターフェース13は、データバス10を介して接続されている。
図2(A)は、ロボットコントローラ1のハードウェア構成を示す。ロボットコントローラ1は、ハードウェアとして、プロセッサ11と、メモリ12と、インターフェース13とを含む。プロセッサ11、メモリ12及びインターフェース13は、データバス10を介して接続されている。
プロセッサ11は、メモリ12に記憶されているプログラムを実行することにより、ロボットコントローラ1の全体の制御を行うコントローラ(演算装置)として機能する。プロセッサ11は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、TPU(Tensor Processing Unit)などのプロセッサである。プロセッサ11は、複数のプロセッサから構成されてもよい。プロセッサ11は、コンピュータの一例である。
メモリ12は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリなどの各種の揮発性メモリ及び不揮発性メモリにより構成される。また、メモリ12には、ロボットコントローラ1が実行する処理を実行するためのプログラムが記憶される。なお、メモリ12が記憶する情報の一部は、ロボットコントローラ1と通信可能な1又は複数の外部記憶装置により記憶されてもよく、ロボットコントローラ1に対して着脱自在な記憶媒体により記憶されてもよい。
インターフェース13は、ロボットコントローラ1と他の装置とを電気的に接続するためのインターフェースである。これらのインターフェースは、他の装置とデータの送受信を無線により行うためのネットワークアダプタなどのワイアレスインタフェースであってもよく、他の装置とケーブル等により接続するためのハードウェアインターフェースであってもよい。
なお、ロボットコントローラ1のハードウェア構成は、図2(A)に示す構成に限定されない。例えば、ロボットコントローラ1は、表示装置、入力装置又は音出力装置の少なくともいずれかと接続又は内蔵してもよい。また、ロボットコントローラ1は、タスク指示装置2又は記憶装置4の少なくとも一方を含んで構成されてもよい。
図2(B)は、タスク指示装置2のハードウェア構成を示す。タスク指示装置2は、ハードウェアとして、プロセッサ21と、メモリ22と、インターフェース23と、入力部24aと、表示部24bと、音出力部24cとを含む。プロセッサ21、メモリ22及びインターフェース23は、データバス20を介して接続されている。また、インターフェース23には、入力部24aと表示部24bと音出力部24cとが接続されている。
プロセッサ21は、メモリ22に記憶されているプログラムを実行することにより、所定の処理を実行する。プロセッサ21は、CPU、GPUなどのプロセッサである。プロセッサ21は、インターフェース23を介して入力部24aが生成した信号を受信することで、入力信号S1を生成し、インターフェース23を介してロボットコントローラ1に当該入力信号S1を送信する。また、プロセッサ21は、インターフェース23を介してロボットコントローラ1から受信した出力制御信号S2に基づき、表示部24b又は音出力部24cの少なくとも一方を、インターフェース23を介して制御する。
メモリ22は、RAM、ROM、フラッシュメモリなどの各種の揮発性メモリ及び不揮発性メモリにより構成される。また、メモリ22には、タスク指示装置2が実行する処理を実行するためのプログラムが記憶される。
インターフェース23は、タスク指示装置2と他の装置とを電気的に接続するためのインターフェースである。これらのインターフェースは、他の装置とデータの送受信を無線により行うためのネットワークアダプタなどのワイアレスインタフェースであってもよく、他の装置とケーブル等により接続するためのハードウェアインターフェースであってもよい。また、インターフェース23は、入力部24a、表示部24b及び音出力部24cのインターフェース動作を行う。入力部24aは、ユーザの入力を受け付けるインターフェースであり、例えば、タッチパネル、ボタン、キーボード、音声入力装置などが該当する。表示部24bは、例えば、ディスプレイ、プロジェクタ等であり、プロセッサ21の制御に基づき表示を行う。また、音出力部24cは、例えば、スピーカであり、プロセッサ21の制御に基づき音出力を行う。
なお、タスク指示装置2のハードウェア構成は、図2(B)に示す構成に限定されない。例えば、入力部24a、表示部24b又は音出力部24cの少なくともいずれかは、タスク指示装置2と電気的に接続する別体の装置として構成されてもよい。また、タスク指示装置2は、カメラなどの種々の装置と接続してもよく、これらを内蔵してもよい。
(3)アプリケーション情報
次に、アプリケーション情報記憶部41が記憶するアプリケーション情報のデータ構造について説明する。
次に、アプリケーション情報記憶部41が記憶するアプリケーション情報のデータ構造について説明する。
図3は、アプリケーション情報記憶部41に記憶されるアプリケーション情報のデータ構造の一例を示す。図3に示すように、アプリケーション情報は、抽象状態指定情報I1と、制約条件情報I2と、動作限界情報I3と、サブタスク情報I4と、抽象モデル情報I5と、物体モデル情報I6とを含む。
抽象状態指定情報I1は、サブタスクシーケンスの生成にあたり定義する必要がある抽象状態を指定する情報である。この抽象状態は、作業空間内における物体の抽象的な状態であって、後述する目標論理式において使用する命題として定められる。例えば、抽象状態指定情報I1は、目的タスクの種類毎に、定義する必要がある抽象状態を指定する。
制約条件情報I2は、目的タスクを実行する際の制約条件を示す情報である。制約条件情報I2は、例えば、目的タスクがピックアンドプレイスの場合、障害物にロボット5(ロボットアーム)が接触してはいけないという制約条件、ロボット5(ロボットアーム)同士が接触してはいけないという制約条件などを示す。なお、制約条件情報I2は、目的タスクの種類毎に夫々適した制約条件を記録した情報であってもよい。
動作限界情報I3は、ロボットコントローラ1により制御が行われるロボット5の動作限界に関する情報を示す。動作限界情報I3は、例えば、ロボット5の速度、加速度、又は角速度の上限を規定する情報である。なお、動作限界情報I3は、ロボット5の可動部位又は関節ごとに動作限界を規定する情報であってもよい。
サブタスク情報I4は、ロボット5が受付可能なサブタスクの情報を示す。例えば、目的タスクがピックアンドプレイスの場合には、サブタスク情報I4は、ロボット5のロボットアームの移動であるリーチングと、ロボットアームによる把持であるグラスピングとをサブタスクとして規定する。サブタスク情報I4は、目的タスクの種類毎に使用可能なサブタスクの情報を示すものであってもよい。
抽象モデル情報I5は、作業空間におけるダイナミクスを抽象化した抽象モデルに関する情報である。例えば、抽象モデルは、後述するように、現実のダイナミクスをハイブリッドシステムにより抽象化したモデルにより表されている。抽象モデル情報I5は、上述のハイブリッドシステムにおけるダイナミクスの切り替わりの条件を示す情報を含む。切り替わりの条件は、例えば、ロボット5により作業対象となる物(「対象物」とも呼ぶ。)をロボット5が掴んで所定位置に移動させるピックアンドプレイスの場合、対象物はロボット5により把持されなければ移動できないという条件などが該当する。抽象モデル情報I5は、目的タスクの種類毎に適した抽象モデルに関する情報を有している。
物体モデル情報I6は、計測装置7が生成した計測信号S4から認識すべき作業空間内の各物体の物体モデルに関する情報である。上述の各物体は、例えば、ロボット5、障害物、ロボット5が扱う工具その他の対象物、ロボット5以外の作業体などが該当する。物体モデル情報I6は、例えば、上述した各物体の種類、位置、姿勢、現在実行中の動作などをロボットコントローラ1が認識するために必要な情報と、各物体の3次元形状を認識するためのCAD(Computer Aided Design)データなどの3次元形状情報とを含んでいる。前者の情報は、ニューラルネットワークなどの機械学習における学習モデルを学習することで得られた推論器のパラメータを含む。この推論器は、例えば、画像が入力された場合に、当該画像において被写体となる物体の種類、位置、姿勢等を出力するように予め学習される。
なお、アプリケーション情報記憶部41は、上述した情報の他、サブタスクシーケンスの生成処理及び出力制御信号S2の生成処理に関する種々の情報を記憶してもよい。
(4)処理概要
次に、ロボットコントローラ1の処理概要について説明する。概略的には、ロボットコントローラ1は、ロボット5によるサブタスクシーケンスの実行が完了した場合、計測した目的タスクの現在の状態を抽象的に表した命題と、指定された目的タスクの完了状態(ゴール)を抽象的に表した命題との比較に基づき、目的タスクの完了判定を行う。そして、ロボットコントローラ1は、サブタスクシーケンスの実行完了後も目的タスクが完了状態に至っていない場合にアラート(警告)を出力する。
次に、ロボットコントローラ1の処理概要について説明する。概略的には、ロボットコントローラ1は、ロボット5によるサブタスクシーケンスの実行が完了した場合、計測した目的タスクの現在の状態を抽象的に表した命題と、指定された目的タスクの完了状態(ゴール)を抽象的に表した命題との比較に基づき、目的タスクの完了判定を行う。そして、ロボットコントローラ1は、サブタスクシーケンスの実行完了後も目的タスクが完了状態に至っていない場合にアラート(警告)を出力する。
図4は、ロボットコントローラ1の処理の概要を示す機能ブロックの一例である。ロボットコントローラ1のプロセッサ11は、機能的には、出力制御部15と、動作シーケンス生成部16と、ロボット制御部17と、命題判定部18とを有する。なお、図4では、各ブロック間で授受が行われるデータの一例が示されているが、これに限定されない。後述する他の機能ブロックの図においても同様である。
出力制御部15は、目的タスクに関する情報を作業者が指定する入力画面(「タスク画面」とも呼ぶ。)を表示するための出力制御信号S2を生成し、当該出力制御信号S2をタスク指示装置2へインターフェース13を介して送信する。例えば、出力制御部15は、計測信号S4に含まれる作業空間内を撮像した画像(「作業空間画像」とも呼ぶ。)をタスク画面上に表示し、種々の操作に基づく入力を受け付ける。そして、出力制御部15は、タスク画面での入力操作によりタスク指示装置2が生成した入力信号S1を、タスク指示装置2からインターフェース13を介して受信する。この場合、入力信号S1は、目的タスクを概略的に指定する情報(「タスク指定情報Ia」とも呼ぶ。)を含んでいる。タスク指定情報Iaは、例えば、ロボット5への概略命令に相当する情報であり、ロボット5の具体的な動作を規定する情報(例えば後述する制御入力の情報やサブタスクの情報)を含まない。そして、出力制御部15は、タスク指示装置2から供給される入力信号S1に基づくタスク指定情報Iaを、動作シーケンス生成部16へ供給する。
また、出力制御部15は、目的タスクの完了判定結果に関する情報(「判定結果情報Ie」とも呼ぶ。)を、命題判定部18から受信する。この場合、出力制御部15は、判定結果情報Ieに基づき、目的タスクの完了を通知する情報、又は、目的タスクが何らかの異常発生により完了しなかったことを通知する情報(アラート情報)に相当する出力制御信号S2を生成する。そして、出力制御部15は、インターフェース13を介し、出力制御信号S2をタスク指示装置2に供給する。これにより、タスク指示装置2は、目的タスクの正常完了を通知する表示若しくは音出力、又は、目的タスクが正常に完了しなかったことを通知する表示若しくは音出力を行う。
動作シーケンス生成部16は、出力制御部15から供給されるタスク指定情報Iaと、計測信号S4と、記憶装置4が記憶するアプリケーション情報とに基づき、ロボット5に実行させるサブタスクシーケンス「Sr」を生成する。なお、第1実施形態では、動作シーケンス生成部16は、目的タスクの開始から完了までに必要なサブタスクシーケンスSrを一括して生成するものとする。そして、動作シーケンス生成部16は、生成したサブタスクシーケンスSrをロボット制御部17に供給する。ここで、サブタスクシーケンスSrには、各サブタスクの実行順序及び実行タイミングを示す情報が含まれている。
また、動作シーケンス生成部16は、目的タスクに関する命題の生成を要求する情報(「命題要求情報Ic」とも呼ぶ。)を、命題判定部18から受信する。この場合、動作シーケンス生成部16は、現在の目的タスクの状態を表す命題(「第1命題」とも呼ぶ。)と、タスク指定情報Iaにより指定された目的タスクの完了状態を表す命題(「第2命題」とも呼ぶ。)とを生成する。そして、動作シーケンス生成部16は、生成した第1命題と第2命題とを示す情報(「命題情報Id」とも呼ぶ。)を命題判定部18へ供給する。第1命題及び第2命題の生成方法については、「(5-8)命題生成部」のセクションにおいて詳しく説明する。
ロボット制御部17は、動作シーケンス生成部16から供給されたサブタスクシーケンスSrに基づき、サブタスクシーケンスSrを構成する各サブタスクを夫々定められた実行タイミング(タイムステップ)でロボット5が実行するための制御を行う。具体的には、ロボット制御部17は、制御信号S3をロボット5に送信することで、サブタスクシーケンスSrを実現するためのロボット5の関節の位置制御又はトルク制御などを実行する。そして、ロボット制御部17は、サブタスクシーケンスSrに基づくロボット5への制御信号S3の出力が完了した(出力が無くなった)場合、サブタスクシーケンスSrの実行完了を通知する情報(「完了通知情報Ib」とも呼ぶ。)を命題判定部18に供給する。
なお、ロボット制御部17に相当する機能を、ロボットコントローラ1に代えてロボット5が有してもよい。この場合、ロボット5は、動作シーケンス生成部16からサブタスクシーケンスSrを受信することで、サブタスクシーケンスSrを実現するための関節の位置制御又はトルク制御などを実行する。また、ロボット5は、サブタスクシーケンスSrの実行が完了した場合、完了通知情報Ibをロボットコントローラ1の命題判定部18に供給する。
命題判定部18は、サブタスクシーケンスSrが完了した場合に、目的タスクが正常に完了したか否かの判定(「目的タスク完了判定」とも呼ぶ。)を、命題同士の比較に基づき実行する。具体的には、命題判定部18は、ロボット制御部17から完了通知情報Ibを受信した場合、命題要求情報Icを動作シーケンス生成部16へ供給し、その応答として命題情報Idを動作シーケンス生成部16から受信する。そして、命題判定部18は、命題情報Idが示す第1命題と第2命題とを比較し、これらが相違している場合には、目的タスクが正常に完了しなかったことを示す判定結果情報Ieを生成する。一方、命題判定部18は、命題情報Idが示す第1命題と第2命題とを比較し、これらが一致している場合には、目的タスクが正常に完了したことを示す判定結果情報Ieを生成する。そして、命題判定部18は、生成した判定結果情報Ieを、出力制御部15へ供給する。
ここで、出力制御部15、動作シーケンス生成部16、ロボット制御部17及び命題判定部18の各構成要素は、例えば、プロセッサ11がプログラムを実行することによって実現できる。また、必要なプログラムを任意の不揮発性記憶媒体に記録しておき、必要に応じてインストールすることで、各構成要素を実現するようにしてもよい。なお、これらの各構成要素の少なくとも一部は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組合せ等により実現してもよい。また、これらの各構成要素の少なくとも一部は、例えばFPGA(Field-Programmable Gate Array)又はマイクロコントローラ等の、ユーザがプログラミング可能な集積回路を用いて実現してもよい。この場合、この集積回路を用いて、上記の各構成要素から構成されるプログラムを実現してもよい。また、各構成要素の少なくとも一部は、ASSP(Application Specific Standard Produce)、ASIC(Application Specific Integrated Circuit)又は量子コンピュータ制御チップにより構成されてもよい。このように、各構成要素は、種々のハードウェアにより実現されてもよい。以上のことは、後述する他の実施の形態においても同様である。さらに、これらの各構成要素は,例えば,クラウドコンピューティング技術などを用いて、複数のコンピュータの協働によって実現されてもよい。
(5)動作シーケンス生成部の詳細
次に、動作シーケンス生成部16の詳細な処理について説明する。
次に、動作シーケンス生成部16の詳細な処理について説明する。
(5-1)機能ブロック
図5は、動作シーケンス生成部16の機能的な構成を示す機能ブロックの一例である。動作シーケンス生成部16は、機能的には、抽象状態設定部31と、目標論理式生成部32と、タイムステップ論理式生成部33と、抽象モデル生成部34と、制御入力生成部35と、サブタスクシーケンス生成部36と、命題生成部37と、を有する。
図5は、動作シーケンス生成部16の機能的な構成を示す機能ブロックの一例である。動作シーケンス生成部16は、機能的には、抽象状態設定部31と、目標論理式生成部32と、タイムステップ論理式生成部33と、抽象モデル生成部34と、制御入力生成部35と、サブタスクシーケンス生成部36と、命題生成部37と、を有する。
抽象状態設定部31は、計測装置7から供給される計測信号S4と、出力制御部15から供給されるタスク指定情報Iaと、抽象状態指定情報I1と、物体モデル情報I6と、に基づき、作業空間内の抽象状態を設定する。この場合、抽象状態設定部31は、目的タスクを実行する際に考慮する必要がある作業空間内の物体を認識し、当該物体に関する認識結果Imを生成する。そして、抽象状態設定部31は、認識結果Imに基づいて、目的タスクを実行する際に考慮する必要がある各抽象状態に対し、論理式で表すための命題を定義する。抽象状態設定部31は、タスク指定情報Iaが供給された場合、設定した抽象状態を示す情報(「抽象状態設定情報IS」とも呼ぶ。)を、目標論理式生成部32に供給する。また、抽象状態設定部31は、命題生成部37からの要求に基づき、当該要求があった時点での状態を示す抽象状態設定情報ISを命題生成部37に供給する。
目標論理式生成部32は、抽象状態設定情報ISに基づき、タスク指定情報Iaが示す目的タスクを、最終的な達成状態を表す時相論理の論理式(「目標論理式Ltag」とも呼ぶ。)に変換する。この場合、目標論理式生成部32は、アプリケーション情報記憶部41から制約条件情報I2を参照することで、目的タスクの実行において満たすべき制約条件を、目標論理式Ltagに付加する。そして、目標論理式生成部32は、生成した目標論理式Ltagを、タイムステップ論理式生成部33及び命題生成部37に供給する。
タイムステップ論理式生成部33は、目標論理式生成部32から供給された目標論理式Ltagを、各タイムステップでの状態を表した論理式(「タイムステップ論理式Lts」とも呼ぶ。)に変換する。そして、タイムステップ論理式生成部33は、生成したタイムステップ論理式Ltsを、制御入力生成部35に供給する。
抽象モデル生成部34は、アプリケーション情報記憶部41が記憶する抽象モデル情報I5と、抽象状態設定部31から供給される認識結果Imとに基づき、作業空間における現実のダイナミクスを抽象化した抽象モデル「Σ」を生成する。この場合、抽象モデル生成部34は、対象のダイナミクスを連続ダイナミクスと離散ダイナミクスとが混在したハイブリッドシステムとみなし、ハイブリッドシステムに基づく抽象モデルΣを生成する。抽象モデルΣの生成方法については後述する。抽象モデル生成部34は、生成した抽象モデルΣを、制御入力生成部35へ供給する。
制御入力生成部35は、タイムステップ論理式生成部33から供給されるタイムステップ論理式Ltsと、抽象モデル生成部34から供給される抽象モデルΣとを満たし、評価関数(たとえば、ロボットによって消費されるエネルギー量を表す関数)を最適化するタイムステップ毎のロボット5への制御入力を決定する。そして、制御入力生成部35は、ロボット5へのタイムステップ毎の制御入力を示す情報(「制御入力情報Icn」とも呼ぶ。)を、サブタスクシーケンス生成部36へ供給する。
サブタスクシーケンス生成部36は、制御入力生成部35から供給される制御入力情報Icnと、アプリケーション情報記憶部41が記憶するサブタスク情報I4とに基づき、サブタスクシーケンスSrを生成し、サブタスクシーケンスSrをロボット制御部17へ供給する。
命題生成部37は、命題判定部18から命題要求情報Icが供給された場合に、抽象状態設定部31から供給される抽象状態設定情報ISと、目標論理式生成部32から供給される目標論理式Ltagとに基づき、第1命題及び第2命題を夫々示す命題情報Idを生成する。そして、命題生成部37は、生成した命題情報Idを、命題判定部18に供給する。
(5-2)抽象状態設定部
まず、抽象状態設定部31は、物体モデル情報I6を参照し、作業空間の環境を認識する技術(画像処理技術、画像認識技術、音声認識技術、RFID(Radio Frequency Identifier)を用いる技術等)により計測信号S4を解析することで、認識結果Imを生成する。認識結果Imには、作業空間内の物体の種類、位置、及び姿勢などの情報が含まれている。また、作業空間内の物体は、例えば、ロボット5、ロボット5が取り扱う工具又は部品などの対象物、障害物及び他作業体(ロボット5以外に作業を行う人又はその他の物体)などである。
まず、抽象状態設定部31は、物体モデル情報I6を参照し、作業空間の環境を認識する技術(画像処理技術、画像認識技術、音声認識技術、RFID(Radio Frequency Identifier)を用いる技術等)により計測信号S4を解析することで、認識結果Imを生成する。認識結果Imには、作業空間内の物体の種類、位置、及び姿勢などの情報が含まれている。また、作業空間内の物体は、例えば、ロボット5、ロボット5が取り扱う工具又は部品などの対象物、障害物及び他作業体(ロボット5以外に作業を行う人又はその他の物体)などである。
次に、抽象状態設定部31は、認識結果Imと、アプリケーション情報記憶部41から取得した抽象状態指定情報I1とに基づき、作業空間内の抽象状態を設定する。この場合、まず、抽象状態設定部31は、抽象状態指定情報I1を参照し、作業空間内において設定すべき抽象状態を認識する。なお、作業空間内において設定すべき抽象状態は、目的タスクの種類によって異なる。よって、目的タスクの種類毎に設定すべき抽象状態が抽象状態指定情報I1に規定されている場合には、抽象状態設定部31は、タスク指定情報Iaが示す目的タスクに対応する抽象状態指定情報I1を参照し、設定すべき抽象状態を認識する。
図6は、ピックアンドプレイスを目的タスクとした場合の作業空間の俯瞰図を示す。図6に示す作業空間には、2つのロボットアーム52a、52bと、4つの対象物61(61a~61d)と、障害物62と、対象物61の目的地である領域Gとが存在している。
この場合、まず、抽象状態設定部31は、対象物61の状態、障害物62の存在範囲、ロボット5の状態、領域Gの存在範囲等を認識する。
ここでは、抽象状態設定部31は、対象物61a~61dの各々の中心の位置ベクトル「x1」~「x4」を、対象物61a~61dの位置として認識する。また、抽象状態設定部31は、対象物を把持するロボットハンド53aの位置ベクトル「xr1」と、ロボットハンド53bの位置ベクトル「xr2」とを、ロボットアーム52aとロボットアーム52bの位置として認識する。
同様に、抽象状態設定部31は、対象物61a~61dの姿勢(図6の例では対象物が球状のため不要)、障害物62の存在範囲、領域Gの存在範囲等を認識する。なお、抽象状態設定部31は、例えば、障害物62を直方体とみなし、領域Gを矩形とみなす場合には、障害物62及び領域Gの各頂点の位置ベクトルを認識する。
また、抽象状態設定部31は、抽象状態指定情報I1を参照することで、目的タスクにおいて定義すべき抽象状態を決定する。この場合、抽象状態設定部31は、作業空間内に存在する物体に関する認識結果Im(例えば物体の種類毎の個数)と、抽象状態指定情報I1とに基づき、抽象状態を示す命題を定める。
図6の例では、抽象状態設定部31は、認識結果Imにより特定される対象物61a~61dに対し、夫々識別ラベル「1」~「4」を付す。また、抽象状態設定部31は、対象物「i」(i=1~4)が最終的に載置されるべき目標地点である領域G内に存在するという命題「gi」を定義する。また、抽象状態設定部31は、障害物62に対して識別ラベル「O」を付し、対象物iが障害物Oに干渉しているという命題「oi」を定義する。さらに、抽象状態設定部31は、ロボットアーム52同士が干渉するという命題「h」を定義する。なお、抽象状態設定部31は、対象物「i」が作業テーブル(初期状態で対象物及び障害物が存在するテーブル)内に存在するという命題「vi」、作業テーブル及び領域G以外の作業外領域に対象物が存在するという命題「wi」などをさらに定めてもよい。作業外領域は、例えば、対象物が作業テーブルから落下した場合に対象物が存在する領域(床面等)である。
このように、抽象状態設定部31は、抽象状態指定情報I1を参照することで、定義すべき抽象状態を認識し、当該抽象状態を表す命題(上述の例ではgi、oi、h等)を、対象物61の数、ロボットアーム52の数、障害物62の数、ロボット5の数等に応じてそれぞれ定義する。そして、抽象状態設定部31は、抽象状態を表す命題を示す情報を、抽象状態設定情報ISとして目標論理式生成部32に供給する。
(5-3)目標論理式生成部
まず、目標論理式生成部32は、タスク指定情報Iaが示す目的タスクを、時相論理を用いた論理式に変換する。
まず、目標論理式生成部32は、タスク指定情報Iaが示す目的タスクを、時相論理を用いた論理式に変換する。
例えば、図6の例において、「最終的に対象物(i=2)が領域Gに存在する」という目的タスクが与えられたとする。この場合、目標論理式生成部32は、目的タスクを線形論理式(LTL:Linear Temporal Logic)の「eventually」に相当する演算子「◇」と、抽象状態設定部31により定義された命題「gi」と用いて、論理式「◇g2」を生成する。また、目標論理式生成部32は、演算子「◇」以外の任意の時相論理の演算子(論理積「∧」、論理和「∨」、否定「¬」、論理包含「⇒」、always「□」、next「○」、until「U」等)を用いて論理式を表現してもよい。また、線形時相論理に限らず、MTL(Metric Temporal Logic)やSTL(Signal Temporal Logic)などの任意の時相論理を用いて論理式を表現してもよい。
なお、タスク指定情報Iaは、自然言語により目的タスクを指定する情報であってもよい。自然言語で表されたタスクを論理式に変換する方法は、種々の技術が存在する。
次に、目標論理式生成部32は、制約条件情報I2が示す制約条件を、目的タスクを示す論理式に付加することで、目標論理式Ltagを生成する。
例えば、図6に示すピックアンドプレイスに対応する制約条件として、「ロボットアーム52同士が常に干渉しない」、「対象物iは障害物Oに常に干渉しない」の2つが制約条件情報I2に含まれていた場合、目標論理式生成部32は、これらの制約条件を論理式に変換する。具体的には、目標論理式生成部32は、図6の説明において抽象状態設定部31により定義された命題「oi」及び命題「h」を用いて、上述の2つの制約条件を、夫々以下の論理式に変換する。
□¬h
∧i□¬oi
□¬h
∧i□¬oi
よって、この場合、目標論理式生成部32は、「最終的に対象物(i=2)が領域Gに存在する」という目的タスクに対応する論理式「◇g2」に、これらの制約条件の論理式を付加することで、以下の目標論理式Ltagを生成する。
(◇g2)∧(□¬h)∧(∧i□¬oi)
(◇g2)∧(□¬h)∧(∧i□¬oi)
なお、実際には、ピックアンドプレイスに対応する制約条件は、上述した2つに限られず、「ロボットアーム52が障害物Oに干渉しない」、「複数のロボットアーム52が同じ対象物を掴まない」、「対象物同士が接触しない」などの制約条件が存在する。このような制約条件についても同様に、制約条件情報I2に記憶され、目標論理式Ltagに反映される。
(5-4)タイムステップ論理式生成部
タイムステップ論理式生成部33は、目的タスクを完了するタイムステップ数(「目標タイムステップ数」とも呼ぶ。)を定め、目標タイムステップ数で目標論理式Ltagを満たすような各タイムステップでの状態を表す命題の組み合わせを定める。この組み合わせは、通常複数存在するため、タイムステップ論理式生成部33は、これらの組み合わせを論理和により結合した論理式を、タイムステップ論理式Ltsとして生成する。上述の組み合わせは、ロボット5に命令する動作のシーケンスを表す論理式の候補となり、以後では「候補φ」とも呼ぶ。
タイムステップ論理式生成部33は、目的タスクを完了するタイムステップ数(「目標タイムステップ数」とも呼ぶ。)を定め、目標タイムステップ数で目標論理式Ltagを満たすような各タイムステップでの状態を表す命題の組み合わせを定める。この組み合わせは、通常複数存在するため、タイムステップ論理式生成部33は、これらの組み合わせを論理和により結合した論理式を、タイムステップ論理式Ltsとして生成する。上述の組み合わせは、ロボット5に命令する動作のシーケンスを表す論理式の候補となり、以後では「候補φ」とも呼ぶ。
ここで、図6の説明において例示した「最終的に対象物(i=2)が領域Gに存在する」という目的タスクが設定された場合のタイムステップ論理式生成部33の処理の具体例について説明する。
この場合、以下の目標論理式Ltagが目標論理式生成部32からタイムステップ論理式生成部33へ供給される。
(◇g2)∧(□¬h)∧(∧i□¬oi)
この場合、タイムステップ論理式生成部33は、命題「gi」をタイムステップの概念を含むように拡張した命題「gi,k」を用いる。ここで、命題「gi,k」は、「タイムステップkで対象物iが領域Gに存在する」という命題である。ここで、目標タイムステップ数を「3」とした場合、目標論理式Ltagは、以下のように書き換えられる。
(◇g2,3)∧(∧k=1,2,3□¬hk)∧(∧i,k=1,2,3□¬oi)
(◇g2)∧(□¬h)∧(∧i□¬oi)
この場合、タイムステップ論理式生成部33は、命題「gi」をタイムステップの概念を含むように拡張した命題「gi,k」を用いる。ここで、命題「gi,k」は、「タイムステップkで対象物iが領域Gに存在する」という命題である。ここで、目標タイムステップ数を「3」とした場合、目標論理式Ltagは、以下のように書き換えられる。
(◇g2,3)∧(∧k=1,2,3□¬hk)∧(∧i,k=1,2,3□¬oi)
また、◇g2,3は、以下の式に示すように書き換えることが可能である。
このとき、上述した目標論理式Ltagは、以下に示す4つの候補「φ1」~「φ4」の論理和(φ1∨φ2∨φ3∨φ4)により表される。
よって、タイムステップ論理式生成部33は、4つの候補φ1~φ4の論理和をタイムステップ論理式Ltsとして定める。この場合、タイムステップ論理式Ltsは、4つの候補φ1~φ4の少なくともいずれかが真となる場合に真となる。
次に、目標タイムステップ数の設定方法について補足説明する。
タイムステップ論理式生成部33は、例えば、タスク指示装置2から供給される入力信号S1により指定された作業の見込み時間に基づき、目標タイムステップ数を決定する。この場合、タイムステップ論理式生成部33は、メモリ12又は記憶装置4に記憶された、1タイムステップ当たりの時間幅の情報に基づき、上述の見込み時間から目標タイムステップ数を算出する。他の例では、タイムステップ論理式生成部33は、目的タスクの種類毎に適した目標タイムステップ数を対応付けた情報を予めメモリ12又は記憶装置4に記憶しておき、当該情報を参照することで、実行すべき目的タスクの種類に応じた目標タイムステップ数を決定する。
好適には、タイムステップ論理式生成部33は、目標タイムステップ数を所定の初期値に設定する。そして、タイムステップ論理式生成部33は、制御入力生成部35が制御入力を決定できるタイムステップ論理式Ltsが生成されるまで、目標タイムステップ数を徐々に増加させる。この場合、タイムステップ論理式生成部33は、設定した目標タイムステップ数により制御入力生成部35が最適化処理を行った結果、最適解を導くことができなかった場合、目標タイムステップ数を所定数(1以上の整数)だけ加算する。
このとき、タイムステップ論理式生成部33は、目標タイムステップ数の初期値を、ユーザが見込む目的タスクの作業時間に相当するタイムステップ数よりも小さい値に設定するとよい。これにより、タイムステップ論理式生成部33は、不必要に大きな目標タイムステップ数を設定することを好適に抑制する。
(5-5)抽象モデル生成部
抽象モデル生成部34は、抽象モデル情報I5と、認識結果Imとに基づき、抽象モデルΣを生成する。ここで、抽象モデル情報I5には、目的タスクの種類毎に、抽象モデルΣの生成に必要な情報が記録されている。例えば、目的タスクがピックアンドプレイスの場合には、対象物の位置や数、対象物を置く領域の位置、ロボット5の台数(又はロボットアーム52の数)等を特定しない汎用的な形式の抽象モデルが抽象モデル情報I5に記録されている。そして、抽象モデル生成部34は、抽象モデル情報I5に記録された、ロボット5のダイナミクスを含む汎用的な形式の抽象モデルに対し、認識結果Imを反映することで、抽象モデルΣを生成する。これにより、抽象モデルΣは、作業空間内の物体の状態と、ロボット5のダイナミクスとが抽象的に表されたモデルとなる。作業空間内の物体の状態は、ピックアンドプレイスの場合には、対象物の位置及び数、対象物を置く領域の位置、ロボット5の台数等を示す。
抽象モデル生成部34は、抽象モデル情報I5と、認識結果Imとに基づき、抽象モデルΣを生成する。ここで、抽象モデル情報I5には、目的タスクの種類毎に、抽象モデルΣの生成に必要な情報が記録されている。例えば、目的タスクがピックアンドプレイスの場合には、対象物の位置や数、対象物を置く領域の位置、ロボット5の台数(又はロボットアーム52の数)等を特定しない汎用的な形式の抽象モデルが抽象モデル情報I5に記録されている。そして、抽象モデル生成部34は、抽象モデル情報I5に記録された、ロボット5のダイナミクスを含む汎用的な形式の抽象モデルに対し、認識結果Imを反映することで、抽象モデルΣを生成する。これにより、抽象モデルΣは、作業空間内の物体の状態と、ロボット5のダイナミクスとが抽象的に表されたモデルとなる。作業空間内の物体の状態は、ピックアンドプレイスの場合には、対象物の位置及び数、対象物を置く領域の位置、ロボット5の台数等を示す。
なお、他作業体が存在する場合、他作業体の抽象化されたダイナミクスに関する情報が抽象モデル情報I5に含まれてもよい。この場合、抽象モデルΣは、作業空間内の物体の状態と、ロボット5のダイナミクスと、他作業体のダイナミクスとが抽象的に表されたモデルとなる。
ここで、ロボット5による目的タスクの作業時においては、作業空間内のダイナミクスが頻繁に切り替わる。例えば、ピックアンドプレイスでは、ロボットアーム52が対象物iを掴んでいる場合には、当該対象物iを動かすことができるが、ロボットアーム52が対象物iを掴んでない場合には、当該対象物iを動かすことができない。
以上を勘案し、本実施形態においては、ピックアンドプレイスの場合、対象物iを掴むという動作を論理変数「δi」により抽象表現する。この場合、例えば、抽象モデル生成部34は、図6に示す作業空間に対して設定すべき抽象モデルΣを、以下の式(1)により定めることができる。
ここで、「uj」は、ロボットハンドj(「j=1」はロボットハンド53a、「j=2」はロボットハンド53b)を制御するための制御入力を示し、「I」は単位行列を示し、「0」は零行例を示す。なお、制御入力は、ここでは、一例として速度を想定しているが、加速度であってもよい。また、「δj,i」は、ロボットハンドjが対象物iを掴んでいる場合に「1」であり、その他の場合に「0」である論理変数である。また、「xr1」、「xr2」は、ロボットハンドj(j=1、2)の位置ベクトル、「x1」~「x4」は、対象物i(i=1~4)の位置ベクトルを示す。また、「h(x)」は、対象物を掴める程度に対象物の近傍にロボットハンドが存在する場合に「h(x)≧0」となる変数であり、論理変数δとの間で以下の関係を満たす。
δ=1 ⇔ h(x)≧0
この式では、対象物を掴める程度に対象物の近傍にロボットハンドが存在する場合には、ロボットハンドが対象物を掴んでいるとみなし、論理変数δを1に設定している。
δ=1 ⇔ h(x)≧0
この式では、対象物を掴める程度に対象物の近傍にロボットハンドが存在する場合には、ロボットハンドが対象物を掴んでいるとみなし、論理変数δを1に設定している。
ここで、式(1)は、タイムステップkでの物体の状態とタイムステップk+1での物体の状態との関係を示した差分方程式である。そして、上記の式(1)では、把持の状態が離散値である論理変数により表わされ、物体の移動は連続値により表わされているため、式(1)はハイブリッドシステムを示している。
式(1)では、ロボット5全体の詳細なダイナミクスではなく、対象物を実際に把持するロボット5の手先であるロボットハンドのダイナミクスのみを考慮している。これにより、制御入力生成部35による最適化処理の計算量を好適に削減することができる。
また、抽象モデル情報I5には、ダイナミクスが切り替わる動作(ピックアンドプレイスの場合には対象物iを掴むという動作)に対応する論理変数、及び、認識結果Imから式(1)の差分方程式を導出するための情報が記録されている。よって、抽象モデル生成部34は、対象物の位置や数、対象物を置く領域(図6では領域G)、ロボット5の台数等が変動する場合であっても、抽象モデル情報I5と認識結果Imとに基づき、対象の作業空間の環境に即した抽象モデルΣを決定することができる。
なお、抽象モデル生成部34は、式(1)に示されるモデルに代えて、混合論理動的(MLD:Mixed Logical Dynamical)システムまたはペトリネットやオートマトンなどを組み合わせたハイブリッドシステムのモデルを生成してもよい。
(5-6)制御入力生成部
制御入力生成部35は、タイムステップ論理式生成部33から供給されるタイムステップ論理式Ltsと、抽象モデル生成部34から供給される抽象モデルΣとに基づき、最適となるタイムステップ毎のロボット5に対する制御入力を決定する。この場合、制御入力生成部35は、目的タスクに対する評価関数を定義し、抽象モデルΣ及びタイムステップ論理式Ltsを制約条件として評価関数を最小化する最適化問題を解く。評価関数は、例えば、目的タスクの種類毎に予め定められ、メモリ12又は記憶装置4に記憶されている。
制御入力生成部35は、タイムステップ論理式生成部33から供給されるタイムステップ論理式Ltsと、抽象モデル生成部34から供給される抽象モデルΣとに基づき、最適となるタイムステップ毎のロボット5に対する制御入力を決定する。この場合、制御入力生成部35は、目的タスクに対する評価関数を定義し、抽象モデルΣ及びタイムステップ論理式Ltsを制約条件として評価関数を最小化する最適化問題を解く。評価関数は、例えば、目的タスクの種類毎に予め定められ、メモリ12又は記憶装置4に記憶されている。
例えば、ピックアンドプレイスを目的タスクとした場合、制御入力生成部35は、運ぶ対象となる対象物と当該対象物を運ぶ目標地点との距離「dk」と制御入力「uk」とが最小となる(即ちロボット5が費やすエネルギーを最小化する)ように評価関数を定める。上述の距離dkは、「最終的に対象物(i=2)が領域Gに存在する」という目的タスクの場合には、対象物(i=2)と領域Gとのタイムステップkでの距離に相当する。
この場合、制御入力生成部35は、全タイムステップにおける距離dkのノルムの2乗と制御入力ukのノルムの2乗との和を評価関数として定める。そして、制御入力生成部35は、抽象モデルΣ及びタイムステップ論理式Lts(即ち候補φiの論理和)を制約条件とする以下の式(2)に示す制約付き混合整数最適化問題を解く。
ここで、「T」は、最適化の対象となるタイムステップ数であり、目標タイムステップ数であってもよく、後述するように、目標タイムステップ数よりも小さい所定数であってもよい。この場合、好適には、制御入力生成部35は、論理変数を連続値に近似する(連続緩和問題とする)。これにより、制御入力生成部35は、計算量を好適に低減することができる。なお、線形論理式(LTL)に代えてSTLを採用した場合には、非線形最適化問題として記述することが可能である。
また、制御入力生成部35は、目標タイムステップ数が長い場合(例えば所定の閾値より大きい場合)、最適化に用いるタイムステップ数を、目標タイムステップ数より小さい値(例えば上述の閾値)に設定してもよい。この場合、制御入力生成部35は、例えば、所定のタイムステップ数が経過する毎に、上述の最適化問題を解くことで、逐次的に制御入力ukを決定する。
好適には、制御入力生成部35は、目的タスクの達成状態に対する中間状態に相当する所定のイベント毎に、上述の最適化問題を解き、使用すべき制御入力ukを決定してもよい。この場合、制御入力生成部35は、次のイベント発生までのタイムステップ数を、最適化に用いるタイムステップ数に設定する。上述のイベントは、例えば、作業空間におけるダイナミクスが切り替わる事象である。例えば、ピックアンドプレイスを目的タスクとした場合には、ロボット5が対象物を掴む、ロボット5が運ぶべき複数の対象物のうちの1つの対象物を目的地点へ運び終える、などがイベントとして定められる。イベントは、例えば、目的タスクの種類毎に予め定められており、目的タスクの種類毎にイベントを特定する情報が記憶装置4に記憶されている。
(5-7)サブタスクシーケンス生成部
サブタスクシーケンス生成部36は、制御入力生成部35から供給される制御入力情報Icnと、アプリケーション情報記憶部41が記憶するサブタスク情報I4とに基づき、サブタスクシーケンスSrを生成する。この場合、サブタスクシーケンス生成部36は、サブタスク情報I4を参照することで、ロボット5が受け付け可能なサブタスクを認識し、制御入力情報Icnが示すタイムステップ毎の制御入力をサブタスクに変換する。
サブタスクシーケンス生成部36は、制御入力生成部35から供給される制御入力情報Icnと、アプリケーション情報記憶部41が記憶するサブタスク情報I4とに基づき、サブタスクシーケンスSrを生成する。この場合、サブタスクシーケンス生成部36は、サブタスク情報I4を参照することで、ロボット5が受け付け可能なサブタスクを認識し、制御入力情報Icnが示すタイムステップ毎の制御入力をサブタスクに変換する。
例えば、サブタスク情報I4には、ピックアンドプレイスを目的タスクとする場合にロボット5が受け付け可能なサブタスクとして、ロボットハンドの移動(リーチング)とロボットハンドの把持(グラスピング)の2つのサブタスクを示す関数が定義されている。この場合、リーチングを表す関数「Move」は、例えば、当該関数実行前のロボット5の初期状態、当該関数実行後のロボット5の最終状態、及び当該関数の実行に要する所要時間をそれぞれ引数とする関数である。また、グラスピングを表す関数「Grasp」は、例えば、当該関数実行前のロボット5の状態、及び当該関数実行前の把持対象の対象物の状態、論理変数δをそれぞれ引数とする関数である。ここで、関数「Grasp」は、論理変数δが「1」のときに掴む動作を行うこと表し、論理変数δが「0」のときに放す動作を行うこと表す。この場合、サブタスクシーケンス生成部36は、関数「Move」を、制御入力情報Icnが示すタイムステップ毎の制御入力により定まるロボットハンドの軌道に基づき決定し、関数「Grasp」を、制御入力情報Icnが示すタイムステップ毎の論理変数δの遷移に基づき決定する。
そして、サブタスクシーケンス生成部36は、関数「Move」と関数「Grasp」とにより構成されるサブタスクシーケンスSrを生成し、当該サブタスクシーケンスSrをロボット制御部17に供給する。例えば、目的タスクが「最終的に対象物(i=2)が領域Gに存在する」の場合、サブタスクシーケンス生成部36は、対象物(i=2)に最も近いロボットハンドに対し、関数「Move」、関数「Grasp」、関数「Move」、関数「Grasp」のサブタスクシーケンスSrを生成する。この場合、対象物(i=2)に最も近いロボットハンドは、1回目の関数「Move」により対象物(i=2)の位置まで移動し、1回目の関数「Grasp」により対象物(i=2)を把持し、2回目の関数「Move」により領域Gまで移動し、2回目の関数「Grasp」により対象物(i=2)を領域Gに載置する。
(5-8)命題生成部
命題生成部37は、命題判定部18から命題要求情報Icが供給された場合に、抽象状態設定部31から供給される抽象状態設定情報ISと、目標論理式生成部32から供給される目標論理式Ltagとに基づき、第1命題及び第2命題を夫々示す命題情報Idを生成する。ここで、第1命題及び第2命題の生成について夫々説明する。
命題生成部37は、命題判定部18から命題要求情報Icが供給された場合に、抽象状態設定部31から供給される抽象状態設定情報ISと、目標論理式生成部32から供給される目標論理式Ltagとに基づき、第1命題及び第2命題を夫々示す命題情報Idを生成する。ここで、第1命題及び第2命題の生成について夫々説明する。
まず、第1命題の生成について説明する。命題生成部37は、命題判定部18から命題要求情報Icが供給された時点(即ちサブタスクシーケンスSrの実行完了時点)において抽象状態設定部31が生成した抽象状態設定情報ISに基づき、目的タスクに関する現在の状態を抽象的に表した第1命題を生成する。この場合、命題生成部37は、抽象状態設定情報ISが示す命題のうち、目的タスクの完了判定に必要な物体の状態を表す部分を抽出した第1命題を生成する。ここで、「目的タスクの完了判定に必要な物体」は、例えば作業対象物(ワーク)であり、図6の例では、対象物61a~61dに相当する。
なお、「目的タスクの完了判定に必要な物体」は、目的タスクの種類毎に定められてもよい。この場合、例えば、記憶装置4又はメモリ12等には、「目的タスクの完了判定に必要な物体」を目的タスクの種類ごとに規定した情報が記憶されており、命題生成部37は、当該情報を参照することで、「目的タスクの完了判定に必要な物体」を決定する。例えば、図6に示される目的タスクの場合、命題生成部37は、対象物「i」(i=1~4)の状態を表す第1命題を生成する。
ここで、図6の例において、ロボット5がサブタスクシーケンスSrを実行することにより目的タスクが正常に完了した場合について考察する。この場合、全ての対象物は、領域Gに存在する。よって、この場合、命題生成部37は、対象物「i」(i=1~4)が領域G内に存在するという命題「gi」を用い、例えば以下の式(3)に示される第1命題を生成する。
g1∧g2∧g3∧g4 (3)
g1∧g2∧g3∧g4 (3)
次に、ロボット5がサブタスクシーケンスSrの実行途中で対象物(i=2)を落下してしまい、作業外領域に当該対象物が移動することにより、目的タスクが正常完了しなかった場合について考察する。この場合、例えば、命題生成部37は、対象物が作業テーブル及び領域G以外の作業外領域に存在するという命題「wi」をさらに用い、以下の式(4)に示される第1命題を生成する。
g1∧w2∧g3∧g4 (4)
g1∧w2∧g3∧g4 (4)
このように、命題生成部37は、ロボット5によるサブタスクシーケンスSrの実行完了時点での計測信号S4に基づき生成された抽象状態設定情報ISを参照し、目的タスクに関する現在の状態を抽象的に表した第1命題を好適に生成する。なお、命題生成部37は、抽象状態設定部31から抽象状態設定情報ISを受信する代わりに、計測信号S4に基づき生成された認識結果Imを受信してもよい。この場合、命題生成部37は、認識結果Imに基づき、目的タスクに関する現在の状態(図6では対象物の状態)を抽象的に表した第1命題を生成する。
次に、第2命題の生成について説明する。命題生成部37は、目標論理式生成部32から供給される目標論理式Ltagに基づき、目的タスクの完了状態を抽象的に表した第2命題を生成する。この場合、命題生成部37は、目標論理式Ltagに含まれる制約条件の論理式を除外し、目的タスクに対応する論理式のみを用いて第2命題を生成する。例えば、図6の例では、命題生成部37は、目標論理式Ltagから、障害物に干渉しない等の種々の制約条件を除外した以下の式(5)に示される第2命題を生成する。
◇g1∧◇g2∧◇g3∧◇g4 (5)
◇g1∧◇g2∧◇g3∧◇g4 (5)
好適には、命題生成部37は、目標論理式Ltagから、「eventually」に相当する演算子「◇」などの、目的タスクの完了判定に影響が生じない所定の演算子をさらに削除した第2命題を生成するとよい。この場合、削除すべき演算子の情報は、例えば、記憶装置4又はメモリ12等に予め記憶される。この場合、命題生成部37は、以下の式(6)に示される第2命題を生成する。
g1∧g2∧g3∧g4 (6)
g1∧g2∧g3∧g4 (6)
このように、命題生成部37は、タスク指定情報Ia等により指定された目的タスクに基づき生成された目標論理式Ltagを用いることで、目的タスクの完了状態を抽象的に表した第2命題を好適に生成する。なお、命題生成部37は、目標論理式Ltagの代わりに、目標論理式Ltagから制約条件等が除外された論理式を目標論理式生成部32から受信してもよい。
(6)命題判定部の詳細
次に、動作シーケンス生成部16の命題生成部37が生成した第1命題と第2命題とを用いて命題判定部18が実行する処理の具体例について説明する。
次に、動作シーケンス生成部16の命題生成部37が生成した第1命題と第2命題とを用いて命題判定部18が実行する処理の具体例について説明する。
命題判定部18は、動作シーケンス生成部16から受信した命題情報Idが示す第1命題と第2命題とが一致した場合に、目的タスクが正常に完了したと判定する。例えば、命題判定部18は、式(3)に示される第1命題と、式(6)に示される第2命題とを示す命題情報Idを受信した場合、式(3)と式(6)は同一であることから、第1命題と第2命題とは一致し、目的タスクが正常に完了したと判定する。
一方、命題判定部18は、動作シーケンス生成部16から受信した命題情報Idが示す第1命題と第2命題とが一致しない場合に、目的タスクが正常に完了しなかったと判定する。例えば、命題判定部18は、式(4)に示される第1命題と、式(6)に示される第2命題とを示す命題情報Idを受信した場合、対象物(i=2)の状態を表す論理式が第1命題では「w2」、第2命題では「g2」となり、式(4)と式(6)とは相違すると判定する。よって、この場合、命題判定部18は、第1命題と第2命題とが一致しないことから、目的タスクが正常に完了しなかったと判定する。
なお、命題判定部18は、「eventually」に相当する演算子「◇」などの、目的タスクの完了判定に影響が生じない所定の演算子が第2命題に付されていた場合には、当該演算子の有無については相違点とはみなさず、上記の第1命題と第2命題との一致の有無を判定する。よって、命題判定部18は、式(3)に示される第1命題と、式(5)に示される第2命題とを示す命題情報Idを受信した場合、式(3)と式(5)は演算子「◇」を除き同一であることから、第1命題と第2命題とは一致し、目的タスクが正常に完了したと判定する。
以上のように、命題判定部18は、命題生成部37が生成した第1命題と第2命題とに基づき、目的タスク完了判定を的確に行うことができる。
(7)出力制御部の詳細
出力制御部15の処理の詳細について説明する。以後では、出力制御部15の制御に基づきタスク指示装置2が表示するタスク画面の表示例について、図7~図9を参照して説明する。
出力制御部15の処理の詳細について説明する。以後では、出力制御部15の制御に基づきタスク指示装置2が表示するタスク画面の表示例について、図7~図9を参照して説明する。
図7は、目的タスクを指定するタスク画面の表示例を示す。出力制御部15は、出力制御信号S2を生成し、当該出力制御信号S2をタスク指示装置2に送信することで、タスク指示装置2に図7に示すタスク画面を表示するよう制御している。図7に示すタスク画面は、主に、タスク種類指定欄25と、作業空間画像表示欄26と、各種ボタン28(28a、28b)とを有する。
出力制御部15は、タスク種類指定欄25において、目的タスクの種類を指定する入力を受け付ける。ここでは、一例として、タスク種類指定欄25はプルダウンメニュー形式の入力欄であり、出力制御部15は、受付可能な目的タスクの種類の候補を、タスク種類指定欄25において選択可能に一覧表示する。ここでは、タスク種類指定欄25には、ピックアンドプレイスが目的タスクの種類として指定されている。
また、出力制御部15は、作業空間画像表示欄26において、計測装置7が作業空間内を撮像した作業空間画像を表示し、タスク種類指定欄25において指定された目的タスクの実行に必要な指定を受け付ける。図7の例では、出力制御部15は、タスク種類指定欄25で選択されたピックアンドプレイスに対応する抽象状態指定情報I1を参照し、ロボット5により作業対象となる対象物と、対象物の目的地とを定める必要があると認識する。よって、出力制御部15は、作業空間画像表示欄26上で対象物と目的地とを夫々指定する入力を受け付ける。ここでは、一例として、出力制御部15は、対象物を指定したマーク27a~27dを実線により表示し、目的地を指定したマーク27eを破線により表示している。そして、出力制御部15は、対象物決定ボタン28aが選択されたことを検知した場合、ユーザが描いたマーク27a~27dの位置情報を、対象物の位置を特定する情報として認識する。また、出力制御部15は、さらに目的地決定ボタン28bが選択されたことを検知した場合、対象物決定ボタン28aの選択後にユーザが描いたマーク27eの位置情報を、目的地を特定する情報として認識する。そして、出力制御部15は、これらの対象物及び目的地を特定する情報(ここでは作業空間画像上での各マークの位置情報)を、タスク指定情報Iaとして動作シーケンス生成部16に供給する。
このように、図7に示されるタスク画面によれば、出力制御部15は、目的タスクの種類の指定及び目的タスクに関連する物体の指定に関するユーザ入力を好適に受け付け、タスク指定情報Iaを好適に取得することができる。
なお、出力制御部15は、対象物及び目的地を丸印で囲む入力を受け付ける代わりに、タッチ操作又はクリック操作により対象物及び目的地を構成する一部の画素を夫々指定する入力を受け付けてもよい。この場合、出力制御部15は、指定された各画素の位置情報を、対象物及び目的地を夫々特定する情報とみなし、タスク指定情報Iaとして動作シーケンス生成部16に供給する。他の例では、出力制御部15は、対象物及び目的地に関する認識結果Imに基づき、作業空間画像表示欄26上でのユーザ入力によらずにタスク指定情報Iaを生成してもよい。
図8は、図7において指定された目的タスクが正常終了した場合のタスク画面の表示例を示す。出力制御部15は、命題判定部18から受信した判定結果情報Ieに基づき出力制御信号S2を生成し、当該出力制御信号S2をタスク指示装置2に送信することで、タスク指示装置2に図8に示すタスク画面を表示するよう制御している。図8に示すタスク画面は、主に、通知領域29と、作業空間画像表示欄26Aとを有する。
ここで、図8の例では、図7において目的地として指定された矩形領域上に、図7において対象物として指定された4つの球状物体が全て載置されている。この場合、現在の目的タスクの状態を表す第1命題と、目的タスクの完了状態を表す第2命題とは一致し、目的タスクが正常終了したことを示す判定結果情報Ieが命題判定部18により生成される。
この場合、出力制御部15は、命題判定部18から受信した判定結果情報Ieが目的タスクの正常終了を示していることから、通知領域29において、目的タスクが完了した旨のテキストメッセージを表示している。また、出力制御部15は、最新の計測信号S4に基づく作業空間画像を、作業空間画像表示欄26Aに表示している。
図8に示されるタスク画面の表示例によれば、出力制御部15は、指定した目的タスクが完了したことを、タスク画面によりユーザに好適に通知することができる。
図9は、図7において指定された目的タスクが正常終了しなかった場合のタスク画面の表示例を示す。出力制御部15は、命題判定部18から受信した判定結果情報Ieに基づき出力制御信号S2を生成し、当該出力制御信号S2をタスク指示装置2に送信することで、タスク指示装置2に図9に示すタスク画面を表示するよう制御している。図9に示すタスク画面は、図8のタスク画面と同様に、通知領域29と、作業空間画像表示欄26Aとを有する。
図9の例では、図7において目的地として指定された台上に、対象物として指定された4つの球状物体のうち3個が載置されている。一方、対象物として指定された残りの1個の球状物体が何らかのアクシデントにより作業外領域に落下している。この場合、現在の目的タスクの状態を表す第1命題と、目的タスクの完了状態を表す第2命題とは異なることから、目的タスクが正常に終了しなかったことを示す判定結果情報Ieが命題判定部18により生成される。
この場合、出力制御部15は、命題判定部18から受信した判定結果情報Ieに基づき、通知領域29において、目的タスクが正常に終了なかった旨のテキストメッセージを表示している。また、出力制御部15は、最新の計測信号S4に基づく作業空間画像を、作業空間画像表示欄26Aに表示している。
図9に示されるタスク画面の表示例によれば、出力制御部15は、指定した目的タスクが正常に完了しなかったことに対するアラートを、タスク画面によりユーザに好適に通知することができる。
(8)処理フロー
図10は、第1実施形態においてロボットコントローラ1が実行するロボット制御処理の概要を示すフローチャートの一例である。
図10は、第1実施形態においてロボットコントローラ1が実行するロボット制御処理の概要を示すフローチャートの一例である。
まず、ロボットコントローラ1の出力制御部15は、タスク指定情報Iaを取得する(ステップS11)。この場合、例えば、出力制御部15は、インターフェース13を介してタスク指示装置2にタスク画面を表示するための出力制御信号S2を送信し、タスク指示装置2は出力制御信号S2に基づきタスク画面を表示する。そして、出力制御部15は、タスク画面を表示中のタスク指示装置2から、目的タスクの指定に関する入力信号S1を受信した場合、当該入力信号S1をタスク指定情報Iaとして取得する。
動作シーケンス生成部16は、ステップS11で取得したタスク指定情報Iaと、計測信号S4とに基づき、ロボット5の動作シーケンスであるサブタスクシーケンスSrを生成する(ステップS12)。この場合、動作シーケンス生成部16は、サブタスクシーケンスSrの生成に必要な、作業空間における物体の認識を行い、タスク指定情報Iaが示す目的タスクの完了に必要なサブタスクシーケンスSrを生成する。
次に、ロボット制御部17は、生成されたサブタスクシーケンスSrに基づく制御信号S3をロボット5へ順次供給し、生成されたサブタスクシーケンスSrに従いロボット5が動作するように制御する(ステップS13)。
次に、ロボット制御部17は、サブタスクシーケンスSrが完了したか否か判定する(ステップS14)。この場合、ロボット制御部17は、例えば、サブタスクシーケンスSrに基づきロボット5に出力すべき制御信号が無くなった(即ち制御信号の出力が完了した)場合に、サブタスクシーケンスSrが完了したと判定する。なお、ロボット制御部17は、サブタスクシーケンスSrに基づく制御信号のロボット5への供給開始後、サブタスクシーケンスSrが有するタイムステップ数に応じた時間長が経過した場合に、サブタスクシーケンスSrが完了したと判定してもよい。
そして、ロボット制御部17は、サブタスクシーケンスSrが完了したと判定した場合(ステップS14;Yes)、ステップS15へ処理を進める。一方、サブタスクシーケンスSrが完了していないと判定した場合(ステップS14;No)、引き続きステップS13においてロボット5の制御を継続する。
サブタスクシーケンスSrの完了後、動作シーケンス生成部16は、目的タスクの現在の状態を表す第1命題と、目的タスクの完了状態を表す第2命題とを夫々生成する(ステップS15)。この場合、命題判定部18は、ロボット制御部17から完了通知情報Ibを受信したタイミングにおいて命題要求情報Icを動作シーケンス生成部16に供給し、動作シーケンス生成部16は、命題要求情報Icを命題判定部18から受信した場合に、第1命題と第2命題とを生成する。
そして、命題判定部18は、動作シーケンス生成部16が生成した第1命題と第2命題とが一致するか否か判定する(ステップS16)。この場合、命題判定部18は、第1命題と第2命題とを示す命題情報Idを動作シーケンス生成部16から受信し、受信した命題情報Idが示す第1命題と第2命題との比較に基づき、判定結果情報Ieを生成する。
そして、命題判定部18は、第1命題と第2命題とが一致すると判定した場合(ステップS16;Yes)、目的タスクが正常に完了したと判定する。この場合、出力制御部15は、タスク完了の通知を行う(ステップS17)。この場合、出力制御部15は、例えば、判定結果情報Ieに基づき生成した出力制御信号S2をタスク指示装置2に供給することで、目的タスクの正常完了を明示したタスク画面(図8参照)をタスク指示装置2に表示させる制御を行う。これにより、ロボットコントローラ1は、目的タスクの完了をユーザに好適に知らせることができる。
一方、命題判定部18は、第1命題と第2命題とが一致しないと判定した場合(ステップS16;No)、目的タスクが正常に完了しなかったと判定する。この場合、出力制御部15は、タスクが正常に完了しなかった旨のアラート情報を出力する(ステップS18)。この場合、出力制御部15は、例えば、判定結果情報Ieに基づき生成した出力制御信号S2をタスク指示装置2に供給することで、目的タスクが正常完了しなかったことに対するアラートを示すタスク画面(図9参照)を、タスク指示装置2に表示させる制御を行う。これにより、ロボットコントローラ1は、目的タスクが正常に完了しなかったことに対するアラートを、ユーザに好適に通知することができる。
(9)変形例
次に、第1実施形態の変形例について説明する。以下の変形例は任意に組み合わせて適用してもよい。なお、これらの変形例は、後述する第2実施形態及び第3実施形態においても好適に適用される。
次に、第1実施形態の変形例について説明する。以下の変形例は任意に組み合わせて適用してもよい。なお、これらの変形例は、後述する第2実施形態及び第3実施形態においても好適に適用される。
(第1変形例)
ロボットコントローラ1は、タスク画面においてユーザ入力に基づき指定された目的タスクをロボット5に実行させる代わりに、予め指定された目的タスクをロボット5に実行させてもよい。
ロボットコントローラ1は、タスク画面においてユーザ入力に基づき指定された目的タスクをロボット5に実行させる代わりに、予め指定された目的タスクをロボット5に実行させてもよい。
この場合、例えば、記憶装置4には、目的タスクを指定したタスク指定情報Iaが予め記憶されており、動作シーケンス生成部16は、出力制御部15からタスク指定情報Iaを取得する代わりに、記憶装置4を参照することで、タスク指定情報Iaを取得する。このように、ロボットコントローラ1は、予め定められた目的タスクを実行する場合であっても、目的タスクに応じたサブタスクシーケンスSrの実行完了後に、第1命題と第2命題とを比較することで、目的タスク完了判定を好適に実行することができる。
(第2変形例)
ロボットコントローラ1は、目的タスク完了判定の結果を、タスク画面上に表示する制御を行う代わりに、又は、これに加えて、目的タスク完了判定の結果を、音により出力する制御を行ってもよい。
ロボットコントローラ1は、目的タスク完了判定の結果を、タスク画面上に表示する制御を行う代わりに、又は、これに加えて、目的タスク完了判定の結果を、音により出力する制御を行ってもよい。
この場合、ロボットコントローラ1の出力制御部15は、判定結果情報Ieに基づき生成した音出力信号を含む出力制御信号S2をタスク指示装置2に供給することで、目的タスク完了判定の結果を通知する音出力をタスク指示装置2に実行させる。なお、この場合、出力制御部15は、目的タスクが正常完了しなかったことを示す判定結果情報Ieを取得した場合に限り、タスク指示装置2に上述の音出力を実行させてもよい。この場合、音出力は、目的タスクが正常完了しなかったことを通知する音声案内であってもよく、アラート音であってもよい。
このように、第2変形例によっても、ロボットコントローラ1は、目的タスク完了判定の結果をタスク指示装置2のユーザに好適に通知することができる。
(第3変形例)
ロボットコントローラ1は、目的タスク完了判定の結果をタスク指示装置2に出力する代わりに、又は、これに加えて、工場内のロボット又はその他の機械を統括して管理する管理端末に目的タスク完了判定の結果を出力してもよい。
ロボットコントローラ1は、目的タスク完了判定の結果をタスク指示装置2に出力する代わりに、又は、これに加えて、工場内のロボット又はその他の機械を統括して管理する管理端末に目的タスク完了判定の結果を出力してもよい。
この場合、ロボットコントローラ1の出力制御部15は、命題判定部18から判定結果情報Ieを受信後、判定結果情報Ie又は判定結果情報Ieに基づく情報を、インターフェース13を介して管理端末に送信する。そして、管理端末は、ロボットコントローラ1から受信した情報を、タスクの履歴情報として記憶してもよく、受信した情報に基づく表示又は音出力を実行してもよい。なお、ロボットコントローラ1は、目的タスクが正常完了しなかったと判定した場合に限り、当該判定に基づくアラート情報を管理端末に送信してもよい。
(第4変形例)
図5に示す動作シーケンス生成部16のブロック構成は一例であり、種々の変更がなされてもよい。
図5に示す動作シーケンス生成部16のブロック構成は一例であり、種々の変更がなされてもよい。
例えば、ロボット5に命令する動作のシーケンスの候補φの情報が記憶装置4に予め記憶され、動作シーケンス生成部16は、当該情報に基づき、制御入力生成部35の最適化処理を実行する。これにより、動作シーケンス生成部16は、最適な候補φの選定とロボット5の制御入力の決定を行う。この場合、動作シーケンス生成部16は、サブタスクシーケンスSrの生成において、抽象状態設定部31、目標論理式生成部32及びタイムステップ論理式生成部33に相当する機能を有しなくともよい。このように、図5に示す動作シーケンス生成部16の一部の機能ブロックの実行結果に関する情報が予めアプリケーション情報記憶部41に記憶されていてもよい。
他の例では、アプリケーション情報には、目的タスクに対応するサブタスクシーケンスSrを設計するためのフローチャートなどの設計情報が予め含まれており、動作シーケンス生成部16は、当該設計情報を参照することで、サブタスクシーケンスSrを生成してもよい。なお、予め設計されたタスクシーケンスに基づきタスクを実行する具体例については、例えば特開2017-39170号に開示されている。
<第2実施形態>
第2実施形態のロボットコントローラ1は、目的タスクの開始から所定時間長が経過した場合に、目的タスク完了判定を行う点において、第1実施形態のロボットコントローラ1と異なる。以後では、第1実施形態と同一構成要素については、適宜同一符号を付し、その説明を省略する。
第2実施形態のロボットコントローラ1は、目的タスクの開始から所定時間長が経過した場合に、目的タスク完了判定を行う点において、第1実施形態のロボットコントローラ1と異なる。以後では、第1実施形態と同一構成要素については、適宜同一符号を付し、その説明を省略する。
図11は、第2実施形態におけるロボットコントローラ1Aの機能ブロック図である。ロボットコントローラ1Aは、例えば図2(A)に示されるハードウェア構成を有し、ロボットコントローラ1Aのプロセッサ11は、機能的には、出力制御部15と、動作シーケンス生成部16Aと、ロボット制御部17Aと、命題判定部18Aとを有する。
動作シーケンス生成部16Aは、出力制御部15から供給されるタスク指定情報Iaと、計測信号S4と、記憶装置4が記憶するアプリケーション情報とに基づき、ロボット5に実行させるサブタスクシーケンスSrを生成する。この場合、動作シーケンス生成部16Aは、目的タスクの完了状態(ゴール)に至るまでの1又は複数の中間状態(「サブゴール」とも呼ぶ。)を設定する。そして、動作シーケンス生成部16Aは、サブゴールに基づき、目的タスクの開始から完了までに必要な複数のサブタスクシーケンスSrを逐次的に生成する。具体的には、動作シーケンス生成部16Aは、初期状態からサブゴール、サブゴールから次のサブゴール、最後のサブゴールから完了状態(ゴール)へ夫々移行するためのサブタスクシーケンスSrを、逐次的に生成する。また、動作シーケンス生成部16Aは、命題判定部18Aから命題要求情報Icを受信した場合に、第1実施形態の動作シーケンス生成部16と同様に第1命題及び第2命題を示す命題情報Idを生成し、当該命題情報Idを命題判定部18Aに供給する。
ここで、サブゴールの設定方法について補足説明する。例えば、目的タスクごとにサブゴールの設定に必要な情報が予め記憶装置4に記憶されており、動作シーケンス生成部16Aは、この情報を参照することで、サブゴールの設定を行う。上述の情報は、例えば、ピックアンドプレイスの場合には、1つのサブタスクシーケンスSrにおいて対象物を移動させる最大個数の情報である。
ロボット制御部17Aは、動作シーケンス生成部16Aから供給されたサブタスクシーケンスSrに基づき、ロボット5の制御を行う。そして、ロボット制御部17Aは、供給されたサブタスクシーケンスSrが完了した場合、サブタスクシーケンスSrの完了通知を動作シーケンス生成部16Aに供給する。
命題判定部18Aは、目的タスクの開始(即ち、最初のサブタスクシーケンスSrがロボット制御部17Aに供給された時点)から所定時間長が経過した場合に、目的タスク完了判定を、第1命題と第2命題との比較により行う。そして、命題判定部18Aは、第1実施形態と同様に、命題の比較結果に基づき判定結果情報Ieを生成し、当該判定結果情報Ieを出力制御部15へ供給する。
上述の所定時間長は、例えば、目的タスクの開始前において予想される目的タスクの所要時間長以上の時間長(例えば、発生し得るタイムラグの上限時間長を所要時間長に加算した時間長)に設定される。この場合、例えば、設定され得る目的タスク毎に上記の所定時間長又は所定時間長を算出するために必要な情報が記憶装置4等に記憶されており、命題判定部18Aは、当該情報に基づき、上述の所定時間長を決定する。「所定時間長を算出するために必要な情報」は、例えば、タスクの所要時間長が対象物の数などに依存する場合の依存する物体の単位当たりの時間長であり、図6の例では、対象物61の1体当たりの作業に要する所要時間長である。
このように、命題判定部18Aは、目的タスクの開始から所定時間長が経過した場合に、目的タスク完了判定を行い、第1命題と第2命題とが異なる場合に、目的タスクが正常に完了しなかったとみなす。これにより、命題判定部18Aは、目的タスクが正常に完了したか否かを的確に判定することができる。
ここで、目的タスクの開始から所定時間長が経過した場合に、目的タスク完了判定を行うことの効果について具体例を用いて補足説明する。
例えば、4つの対象物61(61a~61d)を領域Gへピックアンドプレイスする図6の例において、1つのサブタスクシーケンスSrにおいて最大2つの対象物を移動させるものとする。この場合、動作シーケンス生成部16Aは、まず、最初の2つの対象物61a、61bを領域Gへピックアンドプレイスすることをサブゴールとして設定する。そして、動作シーケンス生成部16Aは、まず、サブゴールまでのサブタスクシーケンスSrを計算し、計算したサブタスクシーケンスSrをロボット制御部17に供給する。そして、動作シーケンス生成部16Aは、ロボット制御部17からサブタスクシーケンスSrの完了通知を受信した後、計測信号S4に基づき現在の抽象状態を設定し、残りの対象物61c、61dが作業テーブル上に存在することを認識する。そして、動作シーケンス生成部16Aは、残りの対象物61c、61dをピックアンドプレイスするためのサブタスクシーケンスSrを生成し、当該サブタスクシーケンスSrをロボット制御部17に供給する。
ここで、上記の例において、何らかのアクシデントによって、1つの対象物61が障害物62に近接する、又は、作業外領域に落下するなどにより、ロボットアーム52a、52bがいずれも把持できなくなったものとする。この場合、動作シーケンス生成部16Aは、目的タスクが完了するように、サブタスクシーケンスSrを繰り返し生成することになる。この場合、目的タスクの実行開始前において予想される目的タスクの所要時間長が経過しても、ロボット5にロボット制御部17Aが制御信号S3を出力し続けることになる。従って、この場合、ロボット5への制御信号S3の出力がなくなったタイミングでロボット制御部17Aが完了通知情報Ibを命題判定部18に供給する第1実施形態の枠組みでは、命題判定部18による目的タスク完了判定が開始されない。
以上を勘案し、第2実施形態では、ロボットコントローラ1Aは、目的タスクの開始から所定時間長経過したことを契機として目的タスク完了判定を行う。これにより、ロボットコントローラ1Aは、目的タスクが正常に完了したか否かを的確に判定することができる。
図12は、第2実施形態においてロボットコントローラ1Aが実行するロボット制御処理の概要を示すフローチャートの一例である。
まず、ロボットコントローラ1の出力制御部15は、タスク指定情報Iaを取得する(ステップS21)。次に、動作シーケンス生成部16Aは、ステップS21で取得したタスク指定情報Iaと、計測信号S4とに基づき、ロボット5の動作シーケンスであるサブタスクシーケンスSrを生成する(ステップS22)。この場合、動作シーケンス生成部16は、1又は複数のサブゴールを設定し、初期状態からサブゴール、サブゴールから次のサブゴール、最後のサブゴールから完了状態(ゴール)へ夫々移行するためのサブタスクシーケンスSrを、逐次的に生成する。また、ロボット制御部17Aは、動作シーケンス生成部16Aが生成するサブタスクシーケンスSrに基づき、ロボット5の制御を行う。
次に、命題判定部18Aは、目的タスクの開始から所定時間長が経過したか否か判定する(ステップS24)。そして、命題判定部18Aは、目的タスクの開始から所定時間長が経過していない場合(ステップS24;No)、動作シーケンス生成部16A及びロボット制御部17Aは、引き続きステップS23に関する処理を行う。
一方、命題判定部18Aは、目的タスクの開始から所定時間長が経過したと判定した場合(ステップS24;Yes)、動作シーケンス生成部16Aは、目的タスクの現在の状態を表す第1命題と、目的タスクの完了状態を表す第2命題とを夫々生成する(ステップS25)。この場合、命題判定部18は、命題要求情報Icを動作シーケンス生成部16に供給し、動作シーケンス生成部16Aは、命題要求情報Icを命題判定部18から受信した場合に、第1命題と第2命題とを生成する。
そして、命題判定部18Aは、動作シーケンス生成部16Aが生成した第1命題と第2命題とが一致するか否か判定する(ステップS26)。そして、命題判定部18Aは、第1命題と第2命題とが一致すると判定した場合(ステップS26;Yes)、目的タスクが正常に完了したと判定する。この場合、出力制御部15は、タスク完了の通知を行う(ステップS27)。一方、命題判定部18Aは、第1命題と第2命題とが一致しないと判定した場合(ステップS26;No)、目的タスクが正常に完了しなかったと判定する。この場合、出力制御部15は、タスクが正常に完了しなかった旨のアラート情報を出力する(ステップS28)。
<第3実施形態>
第3実施形態は、判定結果情報Ieを、ロボット5の状態を管理する外部装置に送信する点において、第1実施形態及び第2実施形態と異なる。以後では、第1実施形態及び第2実施形態と同一構成要素については、適宜同一符号を付し、その説明を省略する。
第3実施形態は、判定結果情報Ieを、ロボット5の状態を管理する外部装置に送信する点において、第1実施形態及び第2実施形態と異なる。以後では、第1実施形態及び第2実施形態と同一構成要素については、適宜同一符号を付し、その説明を省略する。
図13は、第3実施形態におけるロボット制御システム100Bの概略構成図を示す。ロボット制御システム100Bは、主に、ロボットコントローラ1Bと、タスク指示装置2と、記憶装置4と、ロボット5と、管理装置6と、計測装置7と、端末8とを有する。
ロボットコントローラ1Bは、通信網3を介してクラウドサーバである管理装置6とデータ通信を行う。ロボットコントローラ1Bは、例えば、図2に示すハードウェア構成、及び、図4又は図11に示される機能ブロック構成を有する。そして、ロボットコントローラ1Bは、第1実施形態のロボットコントローラ1又は第2実施形態のロボットコントローラ1Aと同一処理を行い、かつ、通信網3を介し、目的タスクが正常に完了しなかったことを示すアラート情報「Ig」を管理装置6に供給する。アラート情報Igは、判定結果情報Ieを受信した出力制御部15により生成される情報であり、目的タスクが正常に完了しなかったことを示す情報の他、ロボット5の識別情報、及び目的タスクが実行された日時を示す日時情報などを含んでいる。
管理装置6は、アラート情報Igを収集するアラート収集センターとして機能する。管理装置6は、複数のサーバから構成されており、通信網3を介してロボットコントローラ1Bから供給されるアラート情報Igを記憶する。また、管理装置6は、ロボット5の状態を管理する管理者(例えば、コールセンターの従業員)が使用する端末8と有線若しくは無線により又は通信網を介してデータ通信が可能となっている。端末8は、管理装置6に記憶されたアラート情報Igを取得し、アラート情報Igに基づき、目的タスクが正常に完了しなかったことを管理者(コールセンターの従業員)に通知する。この場合、端末8は、目的タスクが正常に完了しなかったことを管理者に知らせるための音出力又は表示の少なくとも一方を行う。その後、管理者は、例えば、ロボット5が存在する現場の関係者に連絡を取り、目的タスクが正常に完了しなかった原因を取り除くように指示などを行う。
第3実施形態によれば、ロボット制御システム100Bは、目的タスクが正常に完了しなかったことを、外部のコールセンターなどに好適に通知することができる。
<第4実施形態>
図14は、第4実施形態における判定装置1Xの概略構成図を示す。判定装置1Xは、主に、命題判定手段18Xを有する。
図14は、第4実施形態における判定装置1Xの概略構成図を示す。判定装置1Xは、主に、命題判定手段18Xを有する。
判定装置1Xは、第1実施形態におけるロボットコントローラ1、第2実施形態におけるロボットコントローラ1A、又は第3実施形態におけるロボットコントローラ1Bとすることができる。また、判定装置1Xは、第1実施形態におけるロボットコントローラ1を複数の装置により実現した場合の、命題判定部18に相当する処理を行う装置であってもよい。同様に、判定装置1Xは、第2実施形態におけるロボットコントローラ1A、又は第3実施形態におけるロボットコントローラ1Bを複数の装置により実現した場合の、命題判定部18又は命題判定部18Aに相当する処理を行う装置であってもよい。また、判定装置1Xは、複数の装置から構成されてもよい。
命題判定手段18Xは、タスクに関するロボットの動作シーケンスが完了した場合、又は、タスクの開始から所定時間長が経過した場合、センサにより検出される、タスクの現在の状態を表す第1命題と、タスクの完了状態を表す第2命題とに基づき、タスクの完了判定を行う。
ここで、「現在の状態」とは、判定装置1Xによる処理(判定処理)の時点での、センサにより検出されるタスクの状態を指す。ここで、命題判定手段18Xは、「タスクに関するロボットの動作シーケンスが完了した場合」においてタスクの完了判定を行う場合、第1実施形態(変形例を含む、以下同じ。)又は第3実施形態における命題判定部18とすることができる。また、「タスクの開始から所定時間長が経過した場合」においてタスクの完了判定を行う場合、第2実施形態又は第3実施形態における命題判定部18Aとすることができる。
図15は、第4実施形態において、判定装置1Xが実行する処理手順を示すフローチャートの一例である。命題判定手段18Xは、タスクに関するロボットの動作シーケンスが完了した場合、又は、タスクの開始から所定時間長が経過した場合のいずれかに該当するか否か判定する(ステップS31)。そして、タスクに関するロボットの動作シーケンスが完了した場合、又は、タスクの開始から所定時間長が経過した場合(ステップS31;Yes)、命題判定手段18Xは、センサにより検出される、タスクの現在の状態を表す第1命題と、タスクの完了状態を表す第2命題とに基づき、タスクの完了判定を行う(ステップS32)。一方、タスクに関するロボットの動作シーケンスが完了していない場合、かつ、タスクの開始から所定時間長が経過していない場合(ステップS31;No)、命題判定手段18Xは、ステップS32の処理を実行しない。
第4実施形態によれば、判定装置1Xは、タスクの状態を表す命題の比較により、タスクが完了したか否かの完了判定を的確に実行することができる。
なお、上述した各実施形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(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]
タスクに関するロボットの動作シーケンスが完了した場合、又は、前記タスクの開始から所定時間長が経過した場合、
センサにより検出される、前記タスクの現在の状態を表す第1命題と、前記タスクの完了状態を表す第2命題とに基づき、前記タスクの完了判定を行う命題判定手段
を有する判定装置。
[付記2]
前記命題判定手段は、前記第1命題と、前記第2命題とが異なる場合、前記タスクが完了していないと判定する、付記1に記載の判定装置。
[付記3]
前記完了判定において、前記タスクが完了していないと判定された場合、前記タスクが完了していないことを示すアラート情報を出力する出力制御手段をさらに有する、付記1または2に記載の判定装置。
[付記4]
前記出力制御手段は、前記アラート情報を、前記ロボットの管理を行う管理装置へ送信する、付記3に記載の判定装置。
[付記5]
前記出力制御手段は、前記アラート情報の出力として、前記タスクが完了していないことを示す表示又は音出力を行う、付記3に記載の判定装置。
なお、「表示又は音出力を行う」とは、出力制御手段が自ら表示又は音出力を行う場合に限られず、他の装置に信号を送信することで表示又は音出力を実行させる場合も含む。
[付記6]
前記出力制御手段は、前記タスクが完了したと前記完了判定において判定された場合、前記タスクの正常終了を示す情報を出力する、付記3~5のいずれか一項に記載の判定装置。
[付記7]
前記タスクに基づき、前記動作シーケンスを生成する動作シーケンス生成手段をさらに有する、付記1~6のいずれか一項に記載の判定装置。
[付記8]
前記動作シーケンス生成手段は、前記タスクの開始から前記タスクの完了までに必要な前記動作シーケンスを一括して生成し、
前記命題判定手段は、当該動作シーケンスが完了した場合、前記第1命題と、前記第2命題とに基づき、前記タスクの完了判定を行う、付記7に記載の判定装置。
[付記9]
前記動作シーケンスに基づき、前記ロボットを制御するロボット制御手段をさらに有し、
前記命題判定手段は、前記ロボット制御手段から前記ロボットへの制御信号の出力がなくなった場合に、前記動作シーケンスが完了したと判定する、付記8に記載の判定装置。
[付記10]
前記動作シーケンス生成手段は、前記タスクが完了に至るまでの1または複数の中間状態に基づき、前記タスクの開始から前記タスクの完了までに必要な複数の動作シーケンスを逐次的に生成し、
前記命題判定手段は、前記タスクの開始から所定時間長が経過した場合、前記第1命題と、前記第2命題とに基づき、前記タスクの完了判定を行う、付記7に記載の判定装置。
[付記11]
前記動作シーケンス生成手段は、
前記タスクを時相論理に基づく論理式に変換する論理式変換手段と、
前記論理式から、前記タスクを実行するためタイムステップ毎の状態を表す論理式であるタイムステップ論理式を生成するタイムステップ論理式生成手段と、
前記タイムステップ論理式に基づき、前記ロボットに実行させるサブタスクのシーケンスを、前記動作シーケンスとして生成するサブタスクシーケンス生成手段と、
を有する、付記7~10のいずれか一項に記載の判定装置。
[付記12]
前記動作シーケンス生成手段は、
前記タスクに関する物体の抽象的な状態である抽象状態を、前記論理式において使用する命題として定める抽象状態設定手段をさらに有する、付記11に記載の判定装置。
[付記13]
前記所定時間長は、前記タスクの所要時間長以上の時間長に設定される、付記1~12のいずれか一項に記載の判定装置。
[付記14]
コンピュータにより、
タスクに関するロボットの動作シーケンスが完了した場合、又は、前記タスクの開始から所定時間長が経過した場合、
センサにより検出される、前記タスクの現在の状態を表す第1命題と、前記タスクの完了状態を表す第2命題とに基づき、前記タスクの完了判定を行う
判定方法。
[付記15]
タスクに関するロボットの動作シーケンスが完了した場合、又は、前記タスクの開始から所定時間長が経過した場合、
センサにより検出される、前記タスクの現在の状態を表す第1命題と、前記タスクの完了状態を表す第2命題とに基づき、前記タスクの完了判定を行う処理をコンピュータに実行させるプログラムが格納された記憶媒体。
タスクに関するロボットの動作シーケンスが完了した場合、又は、前記タスクの開始から所定時間長が経過した場合、
センサにより検出される、前記タスクの現在の状態を表す第1命題と、前記タスクの完了状態を表す第2命題とに基づき、前記タスクの完了判定を行う命題判定手段
を有する判定装置。
[付記2]
前記命題判定手段は、前記第1命題と、前記第2命題とが異なる場合、前記タスクが完了していないと判定する、付記1に記載の判定装置。
[付記3]
前記完了判定において、前記タスクが完了していないと判定された場合、前記タスクが完了していないことを示すアラート情報を出力する出力制御手段をさらに有する、付記1または2に記載の判定装置。
[付記4]
前記出力制御手段は、前記アラート情報を、前記ロボットの管理を行う管理装置へ送信する、付記3に記載の判定装置。
[付記5]
前記出力制御手段は、前記アラート情報の出力として、前記タスクが完了していないことを示す表示又は音出力を行う、付記3に記載の判定装置。
なお、「表示又は音出力を行う」とは、出力制御手段が自ら表示又は音出力を行う場合に限られず、他の装置に信号を送信することで表示又は音出力を実行させる場合も含む。
[付記6]
前記出力制御手段は、前記タスクが完了したと前記完了判定において判定された場合、前記タスクの正常終了を示す情報を出力する、付記3~5のいずれか一項に記載の判定装置。
[付記7]
前記タスクに基づき、前記動作シーケンスを生成する動作シーケンス生成手段をさらに有する、付記1~6のいずれか一項に記載の判定装置。
[付記8]
前記動作シーケンス生成手段は、前記タスクの開始から前記タスクの完了までに必要な前記動作シーケンスを一括して生成し、
前記命題判定手段は、当該動作シーケンスが完了した場合、前記第1命題と、前記第2命題とに基づき、前記タスクの完了判定を行う、付記7に記載の判定装置。
[付記9]
前記動作シーケンスに基づき、前記ロボットを制御するロボット制御手段をさらに有し、
前記命題判定手段は、前記ロボット制御手段から前記ロボットへの制御信号の出力がなくなった場合に、前記動作シーケンスが完了したと判定する、付記8に記載の判定装置。
[付記10]
前記動作シーケンス生成手段は、前記タスクが完了に至るまでの1または複数の中間状態に基づき、前記タスクの開始から前記タスクの完了までに必要な複数の動作シーケンスを逐次的に生成し、
前記命題判定手段は、前記タスクの開始から所定時間長が経過した場合、前記第1命題と、前記第2命題とに基づき、前記タスクの完了判定を行う、付記7に記載の判定装置。
[付記11]
前記動作シーケンス生成手段は、
前記タスクを時相論理に基づく論理式に変換する論理式変換手段と、
前記論理式から、前記タスクを実行するためタイムステップ毎の状態を表す論理式であるタイムステップ論理式を生成するタイムステップ論理式生成手段と、
前記タイムステップ論理式に基づき、前記ロボットに実行させるサブタスクのシーケンスを、前記動作シーケンスとして生成するサブタスクシーケンス生成手段と、
を有する、付記7~10のいずれか一項に記載の判定装置。
[付記12]
前記動作シーケンス生成手段は、
前記タスクに関する物体の抽象的な状態である抽象状態を、前記論理式において使用する命題として定める抽象状態設定手段をさらに有する、付記11に記載の判定装置。
[付記13]
前記所定時間長は、前記タスクの所要時間長以上の時間長に設定される、付記1~12のいずれか一項に記載の判定装置。
[付記14]
コンピュータにより、
タスクに関するロボットの動作シーケンスが完了した場合、又は、前記タスクの開始から所定時間長が経過した場合、
センサにより検出される、前記タスクの現在の状態を表す第1命題と、前記タスクの完了状態を表す第2命題とに基づき、前記タスクの完了判定を行う
判定方法。
[付記15]
タスクに関するロボットの動作シーケンスが完了した場合、又は、前記タスクの開始から所定時間長が経過した場合、
センサにより検出される、前記タスクの現在の状態を表す第1命題と、前記タスクの完了状態を表す第2命題とに基づき、前記タスクの完了判定を行う処理をコンピュータに実行させるプログラムが格納された記憶媒体。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。
1、1A、1B ロボットコントローラ
1X 判定装置
2 タスク指示装置
3 通信網
4 記憶装置
5 ロボット
6 管理装置
7 計測装置
41 アプリケーション情報記憶部
100、100B ロボット制御システム
1X 判定装置
2 タスク指示装置
3 通信網
4 記憶装置
5 ロボット
6 管理装置
7 計測装置
41 アプリケーション情報記憶部
100、100B ロボット制御システム
Claims (15)
- タスクに関するロボットの動作シーケンスが完了した場合、又は、前記タスクの開始から所定時間長が経過した場合、
センサにより検出される、前記タスクの現在の状態を表す第1命題と、前記タスクの完了状態を表す第2命題とに基づき、前記タスクの完了判定を行う命題判定手段
を有する判定装置。 - 前記命題判定手段は、前記第1命題と、前記第2命題とが異なる場合、前記タスクが完了していないと判定する、請求項1に記載の判定装置。
- 前記完了判定において、前記タスクが完了していないと判定された場合、前記タスクが完了していないことを示すアラート情報を出力する出力制御手段をさらに有する、請求項1または2に記載の判定装置。
- 前記出力制御手段は、前記アラート情報を、前記ロボットの管理を行う管理装置へ送信する、請求項3に記載の判定装置。
- 前記出力制御手段は、前記アラート情報の出力として、前記タスクが完了していないことを示す表示又は音出力を行う、請求項3に記載の判定装置。
- 前記出力制御手段は、前記タスクが完了したと前記完了判定において判定された場合、前記タスクの正常終了を示す情報を出力する、請求項3~5のいずれか一項に記載の判定装置。
- 前記タスクに基づき、前記動作シーケンスを生成する動作シーケンス生成手段をさらに有する、請求項1~6のいずれか一項に記載の判定装置。
- 前記動作シーケンス生成手段は、前記タスクの開始から前記タスクの完了までに必要な前記動作シーケンスを一括して生成し、
前記命題判定手段は、当該動作シーケンスが完了した場合、前記第1命題と、前記第2命題とに基づき、前記タスクの完了判定を行う、請求項7に記載の判定装置。 - 前記動作シーケンスに基づき、前記ロボットを制御するロボット制御手段をさらに有し、
前記命題判定手段は、前記ロボット制御手段から前記ロボットへの制御信号の出力が完了した場合に、前記動作シーケンスが完了したと判定する、請求項8に記載の判定装置。 - 前記動作シーケンス生成手段は、前記タスクの完了までの1または複数の中間状態に基づき、前記タスクの開始から前記タスクの完了までに必要な複数の動作シーケンスを逐次的に生成し、
前記命題判定手段は、前記タスクの開始から所定時間長が経過した場合、前記第1命題と、前記第2命題とに基づき、前記タスクの完了判定を行う、請求項7に記載の判定装置。 - 前記動作シーケンス生成手段は、
前記タスクを時相論理に基づく論理式に変換する論理式変換手段と、
前記論理式から、前記タスクを実行するためタイムステップ毎の状態を表す論理式であるタイムステップ論理式を生成するタイムステップ論理式生成手段と、
前記タイムステップ論理式に基づき、前記ロボットに実行させるサブタスクのシーケンスを、前記動作シーケンスとして生成するサブタスクシーケンス生成手段と、
を有する、請求項7~10のいずれか一項に記載の判定装置。 - 前記動作シーケンス生成手段は、
前記タスクに関する物体の抽象的な状態である抽象状態を、前記論理式において使用する命題として定める抽象状態設定手段をさらに有する、請求項11に記載の判定装置。 - 前記所定時間長は、前記タスクの所要時間長以上の時間長に設定される、請求項1~12のいずれか一項に記載の判定装置。
- コンピュータにより、
タスクに関するロボットの動作シーケンスが完了した場合、又は、前記タスクの開始から所定時間長が経過した場合、
センサにより検出される、前記タスクの現在の状態を表す第1命題と、前記タスクの完了状態を表す第2命題とに基づき、前記タスクの完了判定を行う
判定方法。 - タスクに関するロボットの動作シーケンスが完了した場合、又は、前記タスクの開始から所定時間長が経過した場合、
センサにより検出される、前記タスクの現在の状態を表す第1命題と、前記タスクの完了状態を表す第2命題とに基づき、前記タスクの完了判定を行う処理をコンピュータに実行させるプログラムが格納された記憶媒体。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/033735 WO2022049756A1 (ja) | 2020-09-07 | 2020-09-07 | 判定装置、判定方法及び記憶媒体 |
JP2022546844A JP7485058B2 (ja) | 2020-09-07 | 2020-09-07 | 判定装置、判定方法及びプログラム |
EP20952490.9A EP4212290A4 (en) | 2020-09-07 | 2020-09-07 | DETERMINATION DEVICE, DETERMINATION METHOD AND STORAGE MEDIUM |
US18/023,812 US20230321827A1 (en) | 2020-09-07 | 2020-09-07 | Determination device, determination method, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/033735 WO2022049756A1 (ja) | 2020-09-07 | 2020-09-07 | 判定装置、判定方法及び記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022049756A1 true WO2022049756A1 (ja) | 2022-03-10 |
Family
ID=80490821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/033735 WO2022049756A1 (ja) | 2020-09-07 | 2020-09-07 | 判定装置、判定方法及び記憶媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230321827A1 (ja) |
EP (1) | EP4212290A4 (ja) |
JP (1) | JP7485058B2 (ja) |
WO (1) | WO2022049756A1 (ja) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016198861A (ja) | 2015-04-10 | 2016-12-01 | キヤノン株式会社 | ロボットハンド装置の制御方法及びロボットハンド装置 |
JP2017039170A (ja) | 2015-08-17 | 2017-02-23 | ライフロボティクス株式会社 | ロボット装置 |
JP2018051684A (ja) | 2016-09-28 | 2018-04-05 | ファナック株式会社 | 複数個の物品をひとつずつ最適な経路で取り出す搬送装置 |
JP2018167361A (ja) * | 2017-03-30 | 2018-11-01 | 株式会社安川電機 | ロボット動作指令生成方法、ロボット動作指令生成装置及びコンピュータプログラム |
JP2019084664A (ja) * | 2017-11-10 | 2019-06-06 | 株式会社安川電機 | プログラミング支援装置、ロボットシステム及びプログラム生成方法 |
JP2019126895A (ja) * | 2018-01-26 | 2019-08-01 | セイコーエプソン株式会社 | ロボット制御装置及びロボットシステム |
JP2019200792A (ja) * | 2018-05-15 | 2019-11-21 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh | マルチエージェントシステムにおけるロボットの動作方法、ロボット及びマルチエージェントシステム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9815203B1 (en) * | 2015-08-24 | 2017-11-14 | X Development Llc | Methods and systems for adjusting operation of a robotic device based on detected sounds |
JP6487489B2 (ja) * | 2017-05-11 | 2019-03-20 | ファナック株式会社 | ロボット制御装置及びロボット制御プログラム |
US11014231B2 (en) * | 2018-05-03 | 2021-05-25 | Fujitsu Limited | Robotic device task learning |
EP3591521B1 (en) * | 2018-07-05 | 2023-07-26 | Honda Research Institute Europe GmbH | Assistance system, method, and program for assisting a user in fulfilling a task |
-
2020
- 2020-09-07 US US18/023,812 patent/US20230321827A1/en active Pending
- 2020-09-07 EP EP20952490.9A patent/EP4212290A4/en active Pending
- 2020-09-07 WO PCT/JP2020/033735 patent/WO2022049756A1/ja unknown
- 2020-09-07 JP JP2022546844A patent/JP7485058B2/ja active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016198861A (ja) | 2015-04-10 | 2016-12-01 | キヤノン株式会社 | ロボットハンド装置の制御方法及びロボットハンド装置 |
JP2017039170A (ja) | 2015-08-17 | 2017-02-23 | ライフロボティクス株式会社 | ロボット装置 |
JP2018051684A (ja) | 2016-09-28 | 2018-04-05 | ファナック株式会社 | 複数個の物品をひとつずつ最適な経路で取り出す搬送装置 |
JP2018167361A (ja) * | 2017-03-30 | 2018-11-01 | 株式会社安川電機 | ロボット動作指令生成方法、ロボット動作指令生成装置及びコンピュータプログラム |
JP2019084664A (ja) * | 2017-11-10 | 2019-06-06 | 株式会社安川電機 | プログラミング支援装置、ロボットシステム及びプログラム生成方法 |
JP2019126895A (ja) * | 2018-01-26 | 2019-08-01 | セイコーエプソン株式会社 | ロボット制御装置及びロボットシステム |
JP2019200792A (ja) * | 2018-05-15 | 2019-11-21 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh | マルチエージェントシステムにおけるロボットの動作方法、ロボット及びマルチエージェントシステム |
Non-Patent Citations (1)
Title |
---|
See also references of EP4212290A4 |
Also Published As
Publication number | Publication date |
---|---|
EP4212290A4 (en) | 2023-11-01 |
US20230321827A1 (en) | 2023-10-12 |
JPWO2022049756A1 (ja) | 2022-03-10 |
EP4212290A1 (en) | 2023-07-19 |
JP7485058B2 (ja) | 2024-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022074823A1 (ja) | 制御装置、制御方法及び記憶媒体 | |
JP7264253B2 (ja) | 情報処理装置、制御方法及びプログラム | |
JP7452619B2 (ja) | 制御装置、制御方法及びプログラム | |
WO2022064653A1 (ja) | 制御装置、制御方法及び記憶媒体 | |
WO2022049756A1 (ja) | 判定装置、判定方法及び記憶媒体 | |
JP7416197B2 (ja) | 制御装置、制御方法及びプログラム | |
WO2022107207A1 (ja) | 情報収集装置、情報収集方法及び記憶媒体 | |
JP7276466B2 (ja) | 情報処理装置、制御方法及びプログラム | |
WO2022224447A1 (ja) | 制御装置、制御方法及び記憶媒体 | |
JP7323045B2 (ja) | 制御装置、制御方法及びプログラム | |
WO2022224449A1 (ja) | 制御装置、制御方法及び記憶媒体 | |
WO2022074827A1 (ja) | 命題設定装置、命題設定方法及び記憶媒体 | |
WO2021171358A1 (ja) | 制御装置、制御方法及び記録媒体 | |
WO2022244060A1 (ja) | 動作計画装置、動作計画方法及び記憶媒体 | |
JP7456552B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
US20240165817A1 (en) | Robot management device, control method, and recording medium | |
WO2021171558A1 (ja) | 制御装置、制御方法及び記録媒体 | |
WO2021171352A1 (ja) | 制御装置、制御方法及び記録媒体 | |
US20230415339A1 (en) | Assistance control device, assistance device, robot control system, assistance control method, and storage medium |
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: 20952490 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022546844 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2020952490 Country of ref document: EP Effective date: 20230411 |