Proposition setting device, proposition setting method and program

The proposition setting device and method address inaccuracies in robot motion planning by using abstract state setting and relative area information to define proposition areas, enhancing robot navigation precision and efficiency.

JP7609170B2Active Publication Date: 2025-01-07NEC CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2022555231
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2020-10-09
Publication Date
2025-01-07
Estimated Expiration
2040-10-09

AI Technical Summary

Technical Problem

Existing technologies face challenges in defining propositions for robot motion planning, particularly in determining prohibited areas and measuring objects with sensors, which can lead to inaccuracies in setting appropriate boundaries for robot operations.

Method used

A proposition setting device and method that utilizes abstract state setting and relative area information to define proposition areas, dividing movable regions, and setting prohibited and operable areas based on measurement results, enabling precise robot motion planning.

Benefits of technology

Enables suitable execution of settings necessary for robot motion planning, allowing robots to navigate workspaces effectively by accurately defining prohibited and operable areas, thereby improving operational precision and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007609170000007
    Figure 0007609170000007
  • Figure 0007609170000008
    Figure 0007609170000008
  • Figure 0007609170000009
    Figure 0007609170000009
Patent Text Reader

Abstract

This proposition setting device 1X mainly has an abstract state setting means 31X and a proposition setting means 32X. The abstract state setting means 31X sets the abstract state, which is an abstract state of an object in a work space, based on the measurement results in the work space in which a robot performs work. On the basis of the abstract state and relative area information, which is information relating to the relative area of the object, the proposition setting means 32X sets a proposition area that expresses the proposition relating to the object by the area.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a proposition setting device, a proposition setting method, and a storage medium that perform processing related to setting propositions used in robot motion planning. [Background technology]

[0002] A control method has been proposed for controlling a robot in a manner necessary to execute a task given to the robot. For example, Patent Document 1 discloses an autonomous operation control device that generates an operation control logic and a control logic that satisfy a list of constraint formats obtained by converting information on the external environment, and verifies the feasibility of the generated operation control logic and the control logic. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] International Publication WO2014 / 141351 Summary of the Invention [Problem to be solved by the invention]

[0004] When determining propositions for a given task and planning actions based on temporal logic, the question arises as to how to define the propositions. For example, when expressing a prohibited area for a robot to move, it is necessary to set a proposition that takes into account the extent (size) of the area. On the other hand, there are areas that cannot be measured by sensors due to the measurement position, etc., and it can be difficult to appropriately define such areas.

[0005] In consideration of the above-mentioned problems, one of the objectives of the present disclosure is to provide a proposition setting device, a proposition setting method, and a storage medium that are capable of preferably executing settings related to propositions required for robot operation planning. [Means for solving the problem]

[0006] Proposition setting One aspect of the device comprises: an abstract state setting means for setting an abstract state, which is an abstract state of an object in a workspace in which the robot performs work, based on a measurement result in the workspace; a proposition setting means for setting a proposition area in which a proposition regarding the object is expressed by an area based on the abstract state and relative area information which is information regarding a relative area of ​​the object; having The proposition setting means includes: an operational area dividing means for dividing an operational area of ​​the robot specified based on the proposition area; a divided region proposition setting means for setting a proposition region for each of the divided operable regions; It is a proposition setting device having the above.

[0007] Proposition setting One aspect of the method comprises: The computer Based on the measurement results in a workspace in which the robot performs the work, an abstract state is set, which is an abstract state of an object in the workspace; A proposition domain is set, in which a proposition regarding the object is expressed by a domain, based on the abstract state and relative domain information, which is information regarding a relative domain of the object. Dividing the operable area of ​​the robot based on the proposition area, and setting a proposition area for each of the divided operable areas. do, This is a method of setting propositions.

[0008] One aspect of the program is Based on the measurement results in a workspace in which the robot performs the work, an abstract state is set, which is an abstract state of an object in the workspace; A proposition domain is set, in which a proposition regarding the object is expressed by a domain, based on the abstract state and relative domain information, which is information regarding a relative domain of the object. Dividing the operable area of ​​the robot based on the proposition area, and setting a proposition area for each of the divided operable areas. The computer is caused to execute the process. Effect of the Invention

[0009] It is possible to suitably execute settings related to propositions required for robot operation planning. [Brief description of the drawings]

[0010] [Figure 1] 1 shows a configuration of a robot control system in a first embodiment. [Diagram 2] The hardware configuration of the robot controller is shown below. [Diagram 3] 13 shows an example of a data structure of application information. [Figure 4] 2 is an example of a functional block of a robot controller. [Diagram 5] 1 shows an overhead view of a workspace when a target task is pick-and-place. [Figure 6] 1 shows an overhead view of a workspace of a robot when the robot is a moving body. [Figure 7] FIG. 2 is a functional block diagram illustrating an example of a functional configuration of a proposition setting unit. [Figure 8] (A) shows a first setting example of the integration forbidden propositional region, (B) shows a second setting example of the integration forbidden propositional region, and (C) shows a third setting example of the integration forbidden propositional region. [Figure 9] 1 shows an overhead view of a workspace with divided operable areas clearly indicated. [Figure 10] (A) shows an overhead view of the robot's workspace, which clearly shows the forbidden area, which is the forbidden proposition area when the space is discretized. (B) shows an overhead view of the robot's workspace when a forbidden area larger than that in (A) is set. [Figure 11] 4 is an example of a flowchart showing an overview of a robot control process executed by a robot controller in the first embodiment. [Figure 12] 12 is an example of a flowchart illustrating details of a proposition setting process in step S12 of FIG. 11. [Figure 13] FIG. 13 shows a schematic configuration diagram of a proposition setting device according to a second embodiment. [Figure 14] 13 is an example of a flowchart executed by the proposition setting device in the second embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Hereinafter, embodiments of a proposition setting device, a proposition setting method, and a storage medium will be described with reference to the drawings.

[0012] First Embodiment (1) System Configuration 1 shows the configuration of a robot control system 100 according to the first embodiment. The robot control system 100 mainly includes a robot controller 1, an instruction device 2, a storage device 4, a robot 5, and a measuring device 7.

[0013] When a task (also called a "target task") to be executed by the robot 5 is specified, the robot controller 1 converts the target task into a sequence of time steps (time increments) of simple tasks that the robot 5 can accept, and controls the robot 5 based on the generated sequence.

[0014] The robot controller 1 also performs data communication with the instruction device 2, the storage device 4, the robot 5, and the measurement device 7 via a communication network or by direct wireless or wired communication. For example, the robot controller 1 receives input signals from the instruction device 2 regarding the specification of a target task, the generation or update of application information, etc. The robot controller 1 also transmits a predetermined output control signal to the instruction device 2, causing the instruction device 2 to execute a predetermined display or sound output. The robot controller 1 also transmits a control signal "S1" regarding the control of the robot 5 to the robot 5. The robot controller 1 also receives a measurement signal "S2" from the measurement device 7.

[0015] The instruction device 2 is a device that receives instructions from a worker to the robot 5. The instruction device 2 performs a predetermined display or sound output based on an output control signal supplied from the robot controller 1, and supplies an input signal generated based on an input by the worker to the robot controller 1. The instruction device 2 may be a tablet terminal equipped with an input unit and a display unit, or may be a stationary personal computer.

[0016] The storage device 4 has an application information storage unit 41. The application information storage unit 41 stores application information required to generate an operation sequence, which is a sequence to be executed by the robot 5, from a target task. Details of the application information will be described later with reference to FIG. 3. The storage device 4 may be an external storage device such as a hard disk connected to or built into the robot controller 1, or may be a storage medium such as a flash memory. The storage device 4 may also 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 multiple server devices.

[0017] The robot 5 performs work related to the target task based on the control signal S1 supplied from the robot controller 1. The robot 5 is a robot that operates in, for example, various factories such as an assembly factory or a food factory, or at a logistics 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 status signal indicating the status of the robot 5 to the robot controller 1. This status signal may be an output signal of a sensor (internal sensor) that detects the status (position, angle, etc.) of the entire robot 5 or a specific part such as a joint, or may be a signal indicating the progress status of the operation sequence of the robot 5 represented by the control signal S1.

[0018] The measurement device 7 is one or more sensors (external sensors) such as a camera, a range sensor, a sonar, or a combination of these that detect the state in the workspace in which the target task is executed. The measurement device 7 may include a sensor provided on the robot 5, or may include a sensor provided in the workspace. In the former case, the measurement device 7 may include an external sensor such as a camera provided on the robot 5, and the measurement range may change according to the operation of the robot 5. In another example, the measurement device 7 may include a self-propelled or flying sensor (including a drone) that moves in the workspace of the robot 5. The measurement device 7 may also include a sensor that detects sounds or the tactile sensation of an object in the workspace. In this way, the measurement device 7 may include various sensors that detect the state in the workspace and are provided at any location.

[0019] The configuration of the robot control system 100 shown in FIG. 1 is an example, and various modifications may be made to the configuration. For example, there may be a plurality of robots 5, and there may be a plurality of control objects, such as robot arms, each of which operates independently. Even in these cases, the robot controller 1 transmits a control signal S1 representing a sequence that specifies the operation of each robot 5 or each control object to the target robot 5 based on the target task. The robot 5 may also perform a collaborative work with other robots, workers, or machine tools operating in the workspace. The measuring device 7 may also be a part of the robot 5. The instruction device 2 may also be configured as the same device as the robot controller 1. The robot controller 1 may also be configured from a plurality of devices. In this case, the plurality of devices that configure the robot controller 1 transmit and receive information required to execute a process assigned in advance between these plurality of devices. The robot controller 1 and the robot 5 may also be configured as one unit.

[0020] (2) Hardware Configuration 2(A) shows the hardware configuration of the robot controller 1. The robot controller 1 includes, as hardware, a processor 11, a memory 12, and an interface 13. The processor 11, the memory 12, and the interface 13 are connected via a data bus 10.

[0021] The processor 11 executes a program stored in the memory 12 to function as a controller (arithmetic device) that performs overall control of the robot controller 1. The processor 11 is, for example, a processor such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or a TPU (Tensor Processing Unit). The processor 11 may be composed of multiple processors. The processor 11 is an example of a computer.

[0022] The memory 12 is composed of various types of volatile and non-volatile memories such as a RAM (Random Access Memory), a ROM (Read Only Memory), and a flash memory. The memory 12 also stores programs for executing the processes executed by the robot controller 1. Note that part of the information stored in the memory 12 may be stored in one or more external storage devices (e.g., the storage device 4) capable of communicating with the robot controller 1, or may be stored in a storage medium that is detachable from the robot controller 1.

[0023] The interface 13 is an interface for electrically connecting the robot controller 1 to other devices. These interfaces may be wireless interfaces such as a network adapter for wirelessly transmitting and receiving data to and from other devices, or may be hardware interfaces for connecting to other devices via cables or the like.

[0024] The hardware configuration of the robot controller 1 is not limited to the configuration shown in Fig. 2(A). For example, 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. The robot controller 1 may also be configured to include at least one of an instruction device 2 and a storage device 4.

[0025] 2(B) shows a hardware configuration of the instruction device 2. The instruction device 2 includes, as hardware, a processor 21, a memory 22, an interface 23, an input unit 24a, a display unit 24b, and a sound output unit 24c. The processor 21, the memory 22, and the interface 23 are connected via a data bus 20. The interface 23 is also connected to the input unit 24a, the display unit 24b, and the sound output unit 24c.

[0026] The processor 21 executes a predetermined process by executing a program stored in the memory 22. The processor 21 is a processor such as a CPU or a GPU. The processor 21 generates an input signal by receiving a signal generated by the input unit 24a via the interface 23, and transmits the input signal to the robot controller 1 via the interface 23. The processor 21 also controls at least one of the display unit 24b and the sound output unit 24c via the interface 23 based on an output control signal received from the robot controller 1 via the interface 23.

[0027] The memory 22 is configured with various types of volatile and non-volatile memories such as RAM, ROM, flash memory, etc. The memory 22 also stores programs for executing the processes executed by the instruction device 2.

[0028] The interface 23 is an interface for electrically connecting the instruction device 2 to other devices. These interfaces may be wireless interfaces such as network adapters for wirelessly transmitting and receiving data to and from other devices, or may be hardware interfaces for connecting to other devices via cables or the like. The interface 23 also performs interface operations for the input unit 24a, the display unit 24b, and the sound output unit 24c. The input unit 24a is an interface for accepting user input, and corresponds to, for example, a touch panel, a button, a keyboard, a voice input device, or the like. The display unit 24b is, for example, a display, a projector, or the like, and performs display under the control of the processor 21. The sound output unit 24c is, for example, a speaker, and performs sound output under the control of the processor 21.

[0029] 2B. For example, 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 electrically connected to the instruction device 2. The instruction device 2 may be connected to various devices such as a camera, or may have these built-in.

[0030] (3) Application Information Next, the data structure of the application information stored in the application information storage unit 41 will be described.

[0031] 3 shows an example of the data structure of the application information. As shown in FIG. 3, the application information includes abstract state designation information I1, constraint condition information I2, operation limit information I3, subtask information I4, abstract model information I5, object model information I6, and a relative region database I7.

[0032] The abstract state designation information I1 is information that designates an abstract state that needs to be defined when generating an action sequence. This abstract state is an abstract state of an object in the working space, and is defined as a proposition to be used in a goal logical formula, which will be described later. For example, the abstract state designation information I1 designates an abstract state that needs to be defined for each type of target task.

[0033] The constraint information I2 is information indicating constraint conditions when executing a target task. For example, when the target task is pick-and-place, the constraint information I2 indicates a constraint condition that the robot 5 (robot arm) must not come into contact with an obstacle, a constraint condition that the robots 5 (robot arms) must not come into contact with each other, etc. Note that the constraint information I2 may be information recording constraint conditions appropriate for each type of target task.

[0034] The motion limit information I3 indicates information related to the motion limit of the robot 5 controlled by the robot controller 1. The motion limit information I3 is, for example, information that specifies the upper limit of the speed, acceleration, or angular velocity of the robot 5. Note that the motion limit information I3 may be information that specifies the motion limit for each movable part or joint of the robot 5.

[0035] The subtask information I4 indicates information on subtasks that are components of an operation sequence. A "subtask" is a task obtained by breaking down a target task into units that the robot 5 can accept, and indicates a subdivided operation of the robot 5. For example, if the target task is pick-and-place, the subtask information I4 specifies reaching, which is the movement of the robot arm of the robot 5, and grasping, 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.

[0036] The abstract model information I5 is information on a model that abstracts dynamics in the working space. The model represented by the abstract model information I5 may be, for example, a model in which real-world dynamics are abstracted by a hybrid system. In this case, the abstract model information I5 includes information indicating the conditions for switching dynamics in the above-mentioned hybrid system. For example, in the case of pick-and-place, in which the robot 5 grasps an object (also called an "object") to be worked on and moves it to a predetermined position, the switching condition corresponds to a condition that the object cannot be moved unless it is grasped by the robot 5. The abstract model information I5 has, for example, information on a model abstracted for each type of target task.

[0037] The object model information I6 is information on the object model of each object in the working space to be recognized from the measurement signal S2 generated by the measuring device 7. The above-mentioned objects include, for example, the robot 5, an obstacle, a tool handled by the robot 5 or other object, and a work body other than the robot 5. The object model information I6 includes, for example, information required for the robot controller 1 to recognize the type, position, posture, and currently executed operation of each of the above-mentioned objects, and three-dimensional shape information such as CAD (Computer Aided Design) data for recognizing the three-dimensional shape of each object. The former information includes parameters of an inference device obtained by learning a learning model in machine learning such as a neural network. For example, when an image is input, this inference device is trained in advance to output the type, position, posture, and the like of an object that is a subject in the image. In addition, when an AR marker for image recognition is attached to a main object such as a target object, information required for recognizing the object by the AR marker may be stored as the object model information I6.

[0038] The relative area database I7 is a database of information (also called "relative area information") representing the relative area of ​​an object (including a two-dimensional area such as a goal point) that may exist in the working space. The relative area information is an area that approximates the target object, and may be information representing a two-dimensional area such as a polygon or a circle, or may be information representing a three-dimensional area such as a convex polyhedron or a sphere (ellipsoid). The relative area represented by the relative area information is an area in a relative coordinate system defined so as not to depend on the position and orientation of the target object, and is set in advance taking into account the actual size and shape of the target object. The above relative coordinate system may be, for example, a coordinate system in which the center position of the object is the origin and the front direction of the object is aligned with the positive direction of a certain coordinate axis. The relative area information may be CAD data or mesh data.

[0039] Relative area information is provided for each type of object, and is registered in the relative area database I7 in association with the corresponding type of object. In this case, the relative area information is generated in advance for each variation of the combination of shapes and sizes of objects that may exist in the working space. That is, for objects that differ in either shape or size, they are considered to be different object types, and the relative area information for each is registered in the relative area database I7. In a preferred example, the relative area information is registered in the relative area database I7 in association with the identification information of the object recognized by the robot controller 1 based on the measurement signal S2. The relative area information is used to determine the area of ​​a proposition (also called the "proposition area") in which the concept of an area exists.

[0040] In addition to the above-mentioned information, the application information storage unit 41 may store various information necessary for the robot controller 1 to generate the control signal S1. For example, the application information storage unit 41 may store information specifying the working space of the robot 5. In another example, the application information storage unit 41 may store information on various parameters used in integrating or dividing the proposition domain.

[0041] (4) Processing Overview Next, an overview of the processing of the robot controller 1 will be described. In summary, when the robot controller 1 sets a proposition related to an object existing in the working space, the robot controller 1 sets a proposition area based on relative area information associated with the object in the relative area database I7. The robot controller 1 also integrates or divides the set proposition area. As a result, the robot controller 1 performs a motion plan for the robot 5 based on temporal logic, taking into consideration the size (i.e., spatial extent) of the object, and appropriately controls the robot 5 to complete the target task.

[0042] Fig. 4 is an example of a functional block showing an overview of the processing of the robot controller 1. The processor 11 of the robot controller 1 functionally includes an abstract state setting unit 31, a proposition setting unit 32, a target logical formula generating unit 33, a time step logical formula generating unit 34, an abstract model generating unit 35, a control input generating unit 36, and a robot control unit 37. Note that Fig. 4 shows an example of data exchanged between each block, but is not limited to this. The same applies to other functional block diagrams described later.

[0043] The abstract state setting unit 31 sets an abstract state in the working space based on the measurement signal S2, the abstract state designation information I1, and the object model information I6 supplied from the measurement device 7. In this case, when the abstract state setting unit 31 receives the measurement signal S2, it refers to the object model information I6 and the like to recognize the attributes such as the type of each object in the working space and the state such as the position and posture that need to be considered when executing the target task. The state recognition result is expressed as, for example, a state vector. Then, based on the recognition result for each object, the abstract state setting unit 31 defines a proposition for expressing each abstract state that needs to be considered when executing the target task as a logical formula. The abstract state setting unit 31 supplies information representing the set abstract state (also called "abstract state setting information IS") to the proposition setting unit 32.

[0044] The proposition setting unit 32 refers to the relative area database I7 and sets a proposition area, which is an area to be set for the proposition. Furthermore, the proposition setting unit 32 integrates adjacent proposition areas corresponding to the movement prohibited areas of the robot 5 and divides the proposition area corresponding to the movement possible area of ​​the robot 5, and redefines the related propositions. Then, the proposition setting unit 32 supplies abstract state setting information (also called "abstract state resetting information ISa") including information on the redefined proposition and the set proposition area, etc., to the abstract model generation unit 35. The abstract state resetting information ISa corresponds to information obtained by updating the abstract state setting information IS based on the processing result of the proposition setting unit 32.

[0045] The target logical formula generation unit 33 converts the specified goal task into a logical formula of temporal logic (also called "goal logical formula Ltag") representing a final achievement state based on the abstract state reconfiguration information ISa. In this case, the target logical formula generation unit 33 adds a constraint condition to be satisfied in the execution of the goal task to the target logical formula Ltag by referring to the constraint condition information I2 from the application information storage unit 41. Then, the target logical formula generation unit 33 supplies the generated target logical formula Ltag to the time-step logical formula generation unit 34.

[0046] The time-step logical formula generation unit 34 converts the target logical formula Ltag supplied from the target logical formula generation unit 33 into a logical formula (also called a "time-step logical formula Lts") that represents a state at each time step. Then, the time-step logical formula generation unit 34 supplies the generated time-step logical formula Lts to the control input generation unit 36.

[0047] The abstract model generation unit 35 generates an abstract model “Σ” that is a model that abstracts the real dynamics in the working space based on the abstract model information I5 and the abstract state reconfiguration information ISa. A method for generating the abstract model Σ will be described later. The abstract model generation unit 35 supplies the generated abstract model Σ to the control input generation unit 36.

[0048] The control input generation unit 36 ​​determines a control input to the robot 5 for each time step that satisfies the time step logical formula Lts supplied from the time step logical formula generation unit 34 and the abstract model Σ supplied from the abstract model generation unit 35 and optimizes the evaluation function. Then, the control input generation unit 36 ​​supplies information on the control input to the robot 5 for each time step (also referred to as "control input information Icn") to the robot control unit 37.

[0049] The robot control unit 37 generates a control signal S1 representing a sequence of subtasks that can be interpreted by the robot 5, based on the control input information Icn supplied from the control input generation unit 36 ​​and the subtask information I4 stored in the application information storage unit 41. Then, the robot control unit 37 supplies the control signal S1 to the robot 5 via the interface 13. Note that the robot 5 may have a function equivalent to the robot control unit 37, instead of the robot controller 1. In this case, the robot 5 executes a planned operation for each time step, based on the control input information Icn supplied from the robot controller 1.

[0050] As described above, the target logical formula generation unit 33, the time step logical formula generation unit 34, the abstract model generation unit 35, the control input generation unit 36, and the robot control unit 37 generate a movement sequence of the robot 5 using temporal logic based on the abstract state (including the state vector, the proposition, and the proposition domain) set by the abstract state setting unit 31 and the proposition setting unit 32. The target logical formula generation unit 33, the time step logical formula generation unit 34, the abstract model generation unit 35, the control input generation unit 36, and the robot control unit 37 are an example of a movement sequence generation means.

[0051] Here, each of the components of the abstract state setting unit 31, the proposition setting unit 32, the target logical formula generating unit 33, the time step logical formula generating unit 34, the abstract model generating unit 35, the control input generating unit 36, and the robot control unit 37 can be realized, for example, by the processor 11 executing a program. Also, each component may be realized by recording a necessary program in an arbitrary non-volatile storage medium and installing it as necessary. Note that at least a part of each of these components may not be realized by software by a program, but may be realized by any combination of hardware, firmware, and software. Also, at least a part of each of these components may be realized by using an integrated circuit that is programmable by a user, such as an FPGA (Field-Programmable Gate Array) or a microcontroller. In this case, the integrated circuit may be used to realize a program composed of each of the above components. Also, at least a part of each of the components may be configured by an ASSP (Application Specific Standard Produce), an ASIC (Application Specific Integrated Circuit), or a quantum computer control chip. In this way, each of the components may be realized by various hardware. The above is the same in other embodiments described later. Furthermore, each of these components may be realized through the cooperation of multiple computers, for example, using cloud computing technology.

[0052] (5) Details of each processing section Next, the details of the processes executed by each processing unit described with reference to FIG. 4 will be described in order.

[0053] (5-1) Abstract State Setting Part First, the abstract state setting unit 31 refers to the object model information I6 and analyzes the measurement signal S2 using a technology for recognizing the environment of the work space (image processing technology, image recognition technology, voice recognition technology, technology using RFID (Radio Frequency Identifier), etc.), thereby recognizing the state and attributes (type, etc.) of the object present in the work space. The image recognition technology described above includes semantic segmentation based on deep learning, model matching, or recognition using an AR marker, etc. The above recognition result includes information such as the type, position, and posture of the object in the work space. In addition, the object in the work space is, for example, the robot 5, objects such as tools or parts handled by the robot 5, obstacles, and other work bodies (people or other objects performing work other than the robot 5), etc.

[0054] Next, the abstract state setting unit 31 sets an abstract state in the workspace based on the object recognition result based on the measurement signal S2 etc. and the abstract state designation information I1 acquired from the application information storage unit 41. In this case, the abstract state setting unit 31 first 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 goal task. Therefore, when the abstract state to be set for each type of goal task is specified in the abstract state designation information I1, the abstract state setting unit 31 refers to the abstract state designation information I1 corresponding to the specified goal task and recognizes the abstract state to be set.

[0055] Fig. 5 shows an overhead view of a workspace when a pick-and-place is set as a target task. In the workspace shown in Fig. 5, there are two robot arms 52a and 52b, four objects 61 (61a to 61d), obstacles 62a and 62b, and an area G which is the destination of the objects 61.

[0056] In this case, first, the abstract state setting unit 31 recognizes the state of each object in the working space. Specifically, the abstract state setting unit 31 recognizes the state of the target object 61, the states of the obstacles 62a and 62b (here, the existence range, etc.), the state of the robot 5, the state of the area G (here, the existence range, etc.), etc.

[0057] Here, the abstract state setting unit 31 recognizes the position vectors "x1" to "x4" of the centers of the objects 61a to 61d as the positions of the objects 61a to 61d. In addition, the abstract state setting unit 31 recognizes the position vector "x r1 " and the position vector of the robot hand 53b "x r2 " are recognized as the positions of the robot arms 52a and 52b. Note that these position vectors x1 to x4, x r1 ,x r2 may be defined as a state vector including various elements related to the state, such as an element related to the attitude (angle) of the corresponding object and an element related to the velocity.

[0058] Similarly, the abstract state setting unit 31 recognizes the existence range of the obstacles 62a, 62b, the existence range of the area G, etc. For example, the abstract state setting unit 31 recognizes a position vector representing the center positions of the obstacles 62a, 62b and the area G or a reference position equivalent thereto. This position vector is used, for example, to set the proposition area using the relative area database I7.

[0059] The abstract state setting unit 31 also 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 results regarding objects present in the workspace (e.g., the number of each type of object) and the abstract state designation information I1.

[0060] In the example of FIG. 5, the abstract state setting unit 31 assigns identification labels "1" to "4" to the objects 61a to 61d recognized based on the measurement signal S2, etc. Also, the abstract state setting unit 31 assigns the proposition "g i The abstract state setting unit 31 also assigns identification labels "O1" and "O2" to the obstacles 62a and 62b, respectively, and defines the proposition "o 1i" and the proposition "o 2i Furthermore, the abstract state setting unit 31 defines a proposition "h" that the robot arms 52 interfere with each other. As will be described later, the obstacle O1 and the obstacle O2 are redefined by the proposition setting unit 32 as a prohibited area "O" that is an integrated proposition area.

[0061] In this way, the abstract state setting unit 31 recognizes the abstract state to be defined, and determines the proposition that represents the abstract state (in the above example, g i ,o 1i ,o 2i , h, etc.) are defined according to the number of objects 61, the number of robot arms 52, the number of obstacles 62, the number of robots 5, etc. Then, the abstract state setting unit 31 supplies information representing the set abstract state (including the proposition and state vector representing the abstract state) to the proposition setting unit 32 as abstract state setting information IS.

[0062] Fig. 6 shows an overhead view of the working space (operating range) of the robot 5 when the robot 5 is a moving body. In the working space shown in Fig. 6, there are two robots 5A and 5B, an obstacle 72, and an area G which is the destination of the robots 5A and 5B.

[0063] In this case, first, the abstract state setting unit 31 recognizes the state of each object in the working space. Specifically, the abstract state setting unit 31 recognizes the positions, postures, and moving speeds of the robots 5A and 5B, the range of the obstacle 72, and the area G. Then, the abstract state setting unit 31 sets a state vector "x1" representing the position, posture (and moving speed) of the robot 5A, and a state vector "x2" representing the position, posture (and moving speed) of the robot 5B. In addition, the abstract state setting unit 31 represents the robots 5A and 5B by robot "i" (i=1 to 2), and sets the proposition "g" that the robot i is present in the area G, which is the target location where the robot i is to be placed. i In addition, the abstract state setting unit 31 assigns the identification labels "O1" and "O2" to the obstacles 72a and 72b, and defines the proposition "o 1i” and the proposition “o 2i Furthermore, the abstract state setting unit 31 defines a proposition "h" that the robots i interfere with each other. As will be described later, the obstacles O1 and O2 are defined by the proposition setting unit 32 as a prohibited area "O" that is an integrated proposition area.

[0064] In this way, even when the robot 5 is a moving body, the abstract state setting unit 31 can recognize the abstract state to be defined and appropriately set a proposition that represents the abstract state. Then, the abstract state setting unit 31 supplies information indicating the proposition that represents the abstract state to the proposition setting unit 32 as abstract state setting information IS.

[0065] The set task may be one in which the robot 5 moves and also performs pick-and-place (i.e., one that corresponds to a combination of the examples in Fig. 5 and Fig. 6). Even in this case, the abstract state setting unit 31 generates abstract state setting information IS that represents an abstract state that includes both the examples in Fig. 5 and Fig. 6.

[0066] (5-2) Proposition Setting Section 7 is an example of a functional block diagram showing the functional configuration of the proposition setting unit 32. Functionally, the proposition setting unit 32 has a prohibited proposition area setting unit 321, an integration judgment unit 322, a proposition integration unit 323, an operable area division unit 324, and a divided area proposition setting unit 325. Hereinafter, the process executed by the proposition setting unit 32 will be described in order, including setting of a proposition area (also called a "prohibited proposition area") representing an area where the robot 5 is prohibited from moving, integration of the prohibited proposition area, and division of the operable area of ​​the robot 5.

[0067] (5-2-1) Setting the Prohibited Proposition Area The prohibited proposition area setting unit 321 sets a prohibited proposition area representing an area in which the operation of the robot 5 is prohibited, based on the abstract state setting information IS, the relative area database I7, etc. In this case, for example, for each of the objects recognized as an obstacle by the abstract state setting unit 31, the prohibited proposition area setting unit 321 extracts relative area information corresponding to these objects from the relative area database I7, and sets these prohibited proposition areas.

[0068] As a specific example, the proposition o defined in the examples of Figs. 1i ,o 2i The process of setting the forbidden proposition area for the obstacle O1 and the obstacle O2 will be described. In this case, the forbidden proposition area setting unit 321 first extracts the relative area information associated with the object types corresponding to the obstacle O1 and the obstacle O2 in the relative area database I7. Then, the forbidden proposition area setting unit 321 determines, in the working space, the relative areas indicated by the relative area information extracted from the relative area database I7, based on the positions and orientations of the obstacles O1 and O2. Then, the forbidden proposition area setting unit 321 sets, as the forbidden proposition area, the relative areas of the obstacles O1 and O2 set based on the positions and orientations of the obstacles O1 and O2.

[0069] Here, each relative area indicated by the relative area information is a virtual area in which the obstacles O1 and O2 are modeled in advance. Therefore, the prohibited proposition area setting unit 321 can set the prohibited proposition area that appropriately abstracts the actually existing obstacles O1 and O2 by setting each relative area in the working space based on the positions and postures of the obstacles O1 and O2.

[0070] (5-2-2) Integration of Prohibited Propositional Domains Next, the process of integrating the prohibited proposition regions executed by the integration determination unit 322 and the proposition integration unit 323 will be described.

[0071] The integration determination unit 322 determines whether or not the forbidden proposition areas set by the forbidden proposition area setting unit 321 need to be integrated. In this case, for example, the integration determination unit 322 calculates an increase rate (also called "integrated increase rate Pu") of the area (when the forbidden proposition areas are two-dimensional areas) or volume (when the forbidden proposition areas are three-dimensional areas) when the forbidden proposition areas are integrated for any combination of two or more forbidden proposition areas set by the forbidden proposition area setting unit 321. Then, when there is a pair of forbidden proposition areas whose integrated increase rate Pu is equal to or less than a predetermined threshold (also called "threshold Puth"), the integration determination unit 322 determines that the pair of forbidden proposition areas should be integrated. Here, the integrated increase rate Pu specifically refers to the ratio of "the area or volume of the area obtained by integrating the pair of target forbidden proposition areas" to "the sum of the areas or volumes occupied by the target forbidden proposition areas". In addition, the threshold Puth is stored in advance in, for example, the storage device 4 or the memory 12. The integrated increase rate Pu is not limited to a rate calculated based on a comparison of the area or volume of the forbidden proposition area before and after the integration. For example, the integrated increase rate Pu may be calculated based on a comparison of the total perimeter length of the forbidden proposition area before and after the integration.

[0072] For example, in the example of FIG. 5 or FIG. 6, the integration determination unit 322 determines that these prohibited proposition regions should be integrated because the integrated increase rate Pu for the pair of prohibited proposition regions for obstacles O1 and O2 is equal to or smaller than the threshold value Puth.

[0073] The proposition integration unit 323 sets a new forbidden proposition area (also called an "integrated forbidden proposition area") by integrating pairs of forbidden proposition areas that the integration judgment unit 322 judges should be integrated, and redefines propositions corresponding to the set integrated forbidden proposition area. For example, in the example of FIG. 5 or FIG. 6, the proposition integration unit 323 sets a "forbidden area O" which is an integrated forbidden proposition area indicated by a dashed frame, based on the forbidden proposition areas of obstacles O1 and O2 that the integration judgment unit 322 judges should be integrated. Furthermore, the proposition integration unit 323 adds a proposition o, in the case of FIG. 5, that "object i is interfering with forbidden area O" to the forbidden area O. i In the case of Figure 6, the proposition o that "robot i is interfering with the prohibited area O" is set.i Set.

[0074] Here, a specific embodiment regarding the integration of forbidden propositional regions will be described. Fig. 8(A) shows a first setting example of an integrated forbidden propositional region R3 for forbidden propositional regions R1 and R2. Fig. 8(B) shows a second setting example of an integrated forbidden propositional region R3 for forbidden propositional regions R1 and R2, and Fig. 8(C) shows a third setting example of an integrated forbidden propositional region R3 for forbidden propositional regions R1 and R2. For convenience of explanation, as an example, the forbidden propositional regions R1 and R2 are two-dimensional regions, and Figs. 8(A) to (C) show an example in which an integrated forbidden propositional region R3 of a two-dimensional region is set.

[0075] In the first setting example shown in Fig. 8(A), the proposition integration unit 323 sets a polygon (here, a hexagon) with the smallest area that encloses the prohibited proposition areas R1 and R2 as the integrated prohibited proposition area R3. In the second setting example shown in Fig. 8(B), the proposition integration unit 323 sets a smallest rectangle that encloses the prohibited proposition areas R1 and R2 as the integrated prohibited proposition area R3. In the third setting example shown in Fig. 8(C), the proposition integration unit 323 sets a smallest circle or ellipse that encloses the prohibited proposition areas R1 and R2 as the integrated prohibited proposition area R3. In any of these cases, the proposition integration unit 323 can suitably set the integrated prohibited proposition area R3 that includes the prohibited proposition areas R1 and R2.

[0076] Similarly, when the forbidden proposition domain is a three-dimensional domain, the proposition integration unit 323 may set the smallest convex polyhedron, sphere, or ellipsoid that encompasses the target forbidden proposition domain as the integrated forbidden proposition domain.

[0077] The integration-prohibited proposition region assumed by the integration determination unit 322 to calculate the integration increase ratio Pu may be different from the integration-prohibited proposition region set by the proposition integration unit 323. For example, the integration determination unit 322 may calculate the integration increase ratio Pu for the integration-prohibited proposition region based on the first setting example in Fig. 8(A) and determine whether integration is necessary, and the proposition integration unit 323 may set the integration-prohibited proposition region based on the second setting example in Fig. 8(B) when the integration determination unit 322 determines that the integration is necessary.

[0078] (5-2-3) Dividing the operable area Referring again to FIG. 7, the process of dividing the movable area of ​​the robot 5, which is executed by the movable area dividing unit 324 and the divided area proposition setting unit 325, will be described.

[0079] The operable area division unit 324 divides the operable area of ​​the robot 5. In this case, the operable area division unit 324 regards the working space excluding the prohibited proposition area set by the prohibited proposition area setting unit 321 and the integrated prohibited proposition area set by the proposition integration unit 323 as the operable area, and divides the operable area based on a predetermined geometric method. The geometric method in this case corresponds to, for example, binary space division, quadtree, octree, Voronoi diagram, or Delaunay diagram. In this case, the operable area division unit 324 may regard the operable area as a two-dimensional area and generate two-dimensional divided areas, or may regard the operable area as a three-dimensional area and generate three-dimensional divided areas. In another example, the operable area division unit 324 may divide the operable area of ​​the robot 5 by a topological geometric method using a representation by a manifold. In this case, for example, the operable area division unit 324 divides the operable area of ​​the robot 5 for each local coordinate system.

[0080] The divided area proposition setting unit 325 defines each of the operational areas of the robot 5 divided by the operational area dividing unit 324 (also called "divided operational areas") as a proposition area.

[0081] Fig. 9 shows an overhead view of the divided movable areas in the example of Fig. 5 or 6. Here, as an example, the movable area dividing unit 324 generates four divided movable areas by dividing the working space other than the prohibited area O based on lines or planes that are tangent to the prohibited area O. Each of the divided movable areas is a rectangle or a rectangular parallelepiped. Then, the divided area proposition setting unit 325 sets proposition areas "θ1" to "θ4" for each of the divided movable areas generated by the movable area dividing unit 324.

[0082] Here, the effect of defining the divided operable area as a proposition will be supplementarily explained. The divided operable area defined as the proposition area is preferably used in the processing of the subsequent motion plan. For example, when it is necessary to move the robot 5 or the robot hand across a plurality of divided operable areas, the robot controller 1 can simply express the motion of the robot 5 or the robot hand by the transition of the operable area. In addition, in this case, the robot controller 1 can perform the motion plan of the robot 5 for each of the target divided operable areas. For example, the robot controller 1 sets one or a plurality of intermediate states (subgoals) until the completion state (goal) of the target task based on the divided operable area, and sequentially generates a plurality of motion sequences of the robot 5 required from the start to the completion of the target task. In this way, by dividing the target task into a plurality of motion plans based on the divided operable area and executing them, it is possible to preferably realize the speed-up of the optimization process in the control input generation unit 36, and to preferably cause the robot 5 to execute the target task.

[0083] Then, the proposition setting unit 32 outputs information representing the prohibited proposition area set by the prohibited proposition area setting unit 321, the integrated prohibited proposition area and corresponding proposition set by the proposition integration unit 323, and the proposition area corresponding to the divided operable area set by the divided area proposition setting unit 325. Specifically, the proposition setting unit 32 outputs abstract state resetting information ISa in which this information is reflected in the abstract state setting information IS.

[0084] (5-3) Target formula generator Next, the process executed by the target logical expression generating unit 33 will be specifically described.

[0085] For example, in the pick-and-place example shown in FIG. 5, suppose that a goal task of "eventually all objects are in area G" is given. In this case, the goal logical formula generation unit 33 generates a linear logical formula (LTL: Linear Temporal Logic) operator "◇" corresponding to "eventually", an operator "□" corresponding to "always", and a proposition "gi " is used to generate the following logical formula that represents the goal state of the target task. ∧ i ◇□g i

[0086] The target logical expression generating unit 33 may express a logical expression using any temporal logic operator other than the operators "◇" and "□" (logical product "∧", logical sum "∨", negation "¬", logical inclusion "⇒", next "○", until "U", etc.). Furthermore, the logical expression corresponding to the target task may be expressed using any temporal logic such as MTL (Metric Temporal Logic) or STL (Signal Temporal Logic), not limited to linear temporal logic.

[0087] Next, the target logical expression generating unit 33 generates a target logical expression Ltag by adding the constraint condition indicated by the constraint condition information I2 to the logical expression representing the objective task.

[0088] For example, when the constraint condition information I2 includes two constraint conditions corresponding to the pick-and-place shown in FIG. 5, namely, "the robot arms 52 do not interfere with each other" and "the object i does not interfere with the prohibited area O", the target logical formula generating unit 33 converts these constraint conditions into logical formulas. Specifically, the target logical formula generating unit 33 converts the proposition "o i Using the proposition "h" defined by the abstract state setting unit 31, the above two constraint conditions are converted into the following logical expressions. □¬h ∧ i □¬o i

[0089] Therefore, in this case, the goal logical formula generating unit 33 generates the logical formula "∧ i ◇□g i By adding the logical expressions of these constraint conditions to ", the following target logical expression Ltag is generated. (∧ i ◇□g i )∧(□¬h)∧(∧i □¬o i )

[0090] In reality, the constraint conditions corresponding to pick-and-place are not limited to the above two, and there are other constraint conditions such as "the robot arm 52 does not interfere with the prohibited area O," "the multiple robot arms 52 do not grab the same object," and "the objects do not come into contact with each other." These constraint conditions are also stored in the constraint condition information I2 and reflected in the target logical formula Ltag.

[0091] 6, in which the robot 5 is a moving object, will be described. In this case, the goal logical formula generation unit 33 sets the following logical proposition, which expresses "all the robots will eventually exist in the area G," as a logical formula expressing the target task. ∧ i ◇□g i

[0092] In addition, when the constraint information I2 includes two constraints, "robots do not interfere with each other" and "robot i does not interfere with the prohibited area O at any time," the target logical formula generating unit 33 converts these constraints into logical formulas. i Using the proposition "h" defined by the abstract state setting unit 31, the above two constraint conditions are converted into the following logical expressions. □¬h ∧ i □¬o i

[0093] Therefore, in this case, the goal logical formula generating unit 33 generates the logical formula "∧ i ◇□g i By adding the logical expressions of these constraint conditions to ", the following target logical expression Ltag is generated. (∧ i ◇□g i )∧(□¬h)∧(∧ i □¬o i )

[0094] In this way, the target logical formula generating unit 33 can suitably generate the target logical formula Ltag based on the processing result of the abstract state setting unit 31 even when the robot 5 is a moving body.

[0095] (5-4) Time step formula generator The time-step logical formula generation unit 34 determines the number of time steps (also called the "target number of time steps") to complete the target task, and determines a combination of propositions that express the state at each time step that satisfies the target logical formula Ltag in the target number of time steps. Since there are usually multiple combinations, the time-step logical formula generation unit 34 generates a logical formula that combines these combinations with a logical sum as the time-step logical formula Lts. The above combinations become candidates for a logical formula that expresses a sequence of operations to be commanded to the robot 5, and are hereinafter also called "candidates φ."

[0096] Here, a specific example of the process of the time-step logical expression generating unit 34 in the explanation of pick-and-place shown in FIG. 5 will be described.

[0097] Here, for the sake of simplicity, it is assumed that a target task is set such that “the target object (i=2) is ultimately present in area G,” and the following target logical formula Ltag corresponding to this target task is supplied from the target logical formula generation unit 33 to the time-step logical formula generation unit 34. (◇□g2)∧(□¬h)∧(∧ i □¬o i ) In this case, the time step formula generator 34 generates the proposition "g i " is extended to include the concept of time steps, i,k " is used. Proposition "g i,k " is the proposition that "object i exists in domain G at time step k."

[0098] Here, if the target time step number is set to "3", the target logical formula Ltag can be rewritten as follows: (◇□g 2,3 )∧(∧k=1,2,3 □¬h k )∧(∧ i,k=1,2,3 □¬o i,k ) Also, ◇□g 2,3 can be rewritten as shown in the following equation (1).

[0099]

number

[0100] At this time, the above-mentioned target logical formula Ltag is expressed by the logical sum (φ1∨φ2∨φ3∨φ4) of the four candidates “φ1” to “φ4” shown in the following formulas (2) to (5).

[0101]

number

[0102] Therefore, the time-step logical formula generating unit 34 determines the logical sum of the four candidates φ1 to φ4 as the time-step logical formula Lts. In this case, the time-step logical formula Lts is true when at least one of the four candidates φ1 to φ4 is true. Note that the part "(∧" corresponding to the constraint condition of each candidate φ1 to φ4 is k=1,2,3 □¬h k )∧(∧ i,k=1,2,3 □¬o i,k Regarding "φ1" and "φ2" in the optimization process by the control input generating unit 36, instead of incorporating them into the candidates φ1 to φ4, they may be combined with the candidates φ1 to φ4 by logical AND.

[0103] Next, an example in which the robot 5 shown in Fig. 6 is a moving body will be described. For the sake of simplicity, it is assumed that a goal task of "finally the robot (i=2) exists in the area G" is set, and the following goal logical formula Ltag corresponding to this goal task is supplied from the target logical formula generation unit 33 to the time-step logical formula generation unit 34. In this case, the following goal logical formula Ltag is supplied from the target logical formula generation unit 33 to the time-step logical formula generation unit 34. ( ◇□g2)∧(□¬h)∧(∧ i □¬o i )

[0104] In this case, the time step formula generator 34 generates the proposition "g i " is extended to include the concept of time steps, i,k " is used. Here, the proposition "g i,k " is a proposition that "robot i exists in area G at time step k." If the target number of time steps is set to "3," the target logical formula Ltag can be rewritten as follows: (◇□g 2,3 )∧(∧ k=1,2,3 □¬h k )∧(∧ i,k=1,2,3 □¬o i,k )

[0105] Also, ◇□g 2,3 can be rewritten as equation (1) in the same way as in the pick-and-place example. The target logical formula Ltag is expressed by the logical sum (φ1 ∨ φ2 ∨ φ3 ∨ φ4) of the four candidates "φ1" to "φ4" shown in equations (2) to (5) in the same way as in the pick-and-place example. Therefore, the time-step logical formula generation unit 34 determines the logical sum of the four candidates φ1 to φ4 as the time-step logical formula Lts. In this case, the time-step logical formula Lts is true when at least one of the four candidates φ1 to φ4 is true.

[0106] Next, a method for setting the target number of time steps will be explained in more detail.

[0107] The time step logical formula generating unit 34 determines the target number of time steps based on, for example, the expected time of the task specified by the input signal supplied from the instruction device 2. In this case, the time step logical formula generating unit 34 calculates the target number of time steps from the expected time based on information on the time width per time step stored in the memory 12 or the storage device 4. In another example, the time step logical formula generating unit 34 stores in advance in the memory 12 or the storage device 4 information that associates a target number of time steps appropriate for each type of target task, and determines the target number of time steps according to the type of target task to be executed by referring to the information.

[0108] Preferably, the time-step logical formula generating unit 34 sets the target number of time steps to a predetermined initial value. Then, the time-step logical formula generating unit 34 gradually increases the target number of time steps until a time-step logical formula Lts that allows the control input generating unit 36 ​​to determine the control input is generated. In this case, if the control input generating unit 36 ​​performs optimization processing using the set target number of time steps and is unable to derive an optimal solution, the time-step logical formula generating unit 34 adds a predetermined number (an integer equal to or greater than 1) to the target number of time steps.

[0109] At this time, the time-step logical formula generating unit 34 may set the initial value of the target number of time steps to a value smaller than the number of time steps corresponding to the working time of the target task expected by the user. This allows the time-step logical formula generating unit 34 to preferably prevent setting an unnecessarily large target number of time steps.

[0110] (5-5) Abstract Model Generation The abstract model generation unit 35 generates an abstract model Σ based on the abstract model information I5 and the abstract state resetting information ISa.

[0111] For example, the abstract model Σ in the case where the target task is pick-and-place will be described. In this case, a generic abstract model that does not specify the position or 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. is recorded in the abstract model information I5. Then, the abstract model generation unit 35 generates the abstract model Σ by reflecting the abstract state and proposition area represented by the abstract state reconfiguration information ISa to the generic model including the dynamics of the robot 5 recorded in the abstract model information I5. As a result, the abstract model Σ becomes a model in which the state of the object in the working space and the dynamics of the robot 5 are abstractly represented. In the case of pick-and-place, the state of the object in the working space indicates the position and number of objects, the position of the area where the objects are placed, the number of robots 5, and the position and size of obstacles, etc.

[0112] Here, during the task of picking and placing, the dynamics in the workspace frequently changes. For example, in the picking and placing example shown in Fig. 5, when the robot arm 52 holds the object i, the object i can be moved, but when the robot arm 52 does not hold the object i, the object i cannot be moved.

[0113] Considering the above, in the present embodiment, in the case of pick-and-place, the action of grabbing the target object i is expressed as a logical variable “δ i In this case, for example, the abstract model generation unit 35 can determine the dynamics model of the abstract model Σ to be set for the working space in the pick-and-place example of FIG. 5 by the following formula (6).

[0114]

number

[0115] Here, "u j" indicates the control input for controlling the robot hand j ("j=1" is the robot hand 53a, and "j=2" is the robot hand 53b), "I" indicates the unit matrix, and "0" indicates the zero matrix. Note that the control input is assumed to be velocity here as an example, but it may be acceleration. Also, "δ j,i " is a logical variable that is "1" when the robot hand j is holding the object i, and is "0" otherwise. Also, "x r1 ", "x r2 " indicates the position vector of robot hand j (j = 1, 2), "x1" to "x4" indicate the position vector of object i (i = 1 to 4). "h(x)" is a variable that satisfies "h(x) ≧ 0" when a robot hand is close enough to an object to grasp it, and satisfies the following relationship with logical variable δ. δ=1 ⇔ h(x)≧0 In this equation, if the robot hand is close enough to an object to grasp it, it is assumed that the robot hand is grasping the object, and the logical variable δ is set to 1.

[0116] Here, equation (6) is a differential equation that shows the relationship between the state of the object at time step k and the state of the object at time step k + 1. In the above equation (6), the grip state is represented by a logical variable that is a discrete value, and the movement of the object is represented by a continuous value, so equation (6) shows a hybrid system.

[0117] Moreover, in equation (6), only the dynamics of the robot hand, which is the end effector of the robot 5 that actually grasps an object, is taken into consideration, rather than the detailed dynamics of the entire robot 5. This makes it possible to suitably reduce the amount of calculation in the optimization process performed by the control input generation unit 36.

[0118] Furthermore, the abstract model information I5 records logical variables corresponding to the action of switching dynamics (the action of gripping the object i in the case of pick-and-place) and information for deriving the differential equation of formula (6) from the object recognition result based on the measurement signal S2, etc. Therefore, even if the positions and number of objects, the area where the objects are placed (area G in FIG. 5), the number of robots 5, etc. vary, the abstract model generation unit 35 can determine an abstract model Σ that matches the environment of the target workspace based on the abstract model information I5 and the object recognition result.

[0119] When other work objects exist, information on the abstracted dynamics of the other work objects may be included in the abstract model information I5. In this case, the dynamics model of the abstract model Σ is a model in which the state of the object in the work space, the dynamics of the robot 5, and the dynamics of the other work objects are abstractly represented. Moreover, the abstract model generation unit 35 may generate a model of a mixed logical dynamical (MLD) system or a hybrid system that combines a Petri net, an automaton, and the like, instead of the model shown in equation (6).

[0120] Next, a dynamics model of the abstract model Σ when the robot 5 shown in Fig. 6 is a moving body will be described. In this case, the abstract model generation unit 35 determines the abstract model Σ to be set for the working space shown in Fig. 6, for example, by the following formula (7) using a state vector x1 for the robot (i=1) and a state vector x2 for the robot (i=2).

[0121]

number

[0122] Here, "u1" represents an input vector for the robot (i=1), and "u2" represents an input vector for the robot (i=2). Additionally, "A1", "A2", "B1", and "B2" are matrices and are determined based on the abstract model information I5.

[0123] In another example, when there are multiple operation modes of the robot i, the abstract model generation unit 35 may represent the abstract model Σ to be set for the work space shown in Fig. 6 by a hybrid system whose dynamics change according to the operation mode of the robot i. In this case, when the operation mode of the robot i is "mi", the abstract model generation unit 35 determines the abstract model Σ to be set for the work space shown in Fig. 6 by the following formula (8).

[0124]

number

[0125] In this way, the abstract model generation unit 35 can suitably determine the dynamics model of the abstract model Σ even when the robot 5 is a moving body. Note that the abstract model generation unit 35 may generate a model of an MLD system or a hybrid system that combines a Petri net, an automaton, etc., instead of the model shown in equation (7) or equation (8).

[0126] In addition, the vector x representing the state of the object or robot 5 in the abstract model Σ shown in equations (6) to (8) is i and input u i can be discrete. Vector x i and input u i Even when is expressed discretely, the abstract model generation unit 35 can set an abstract model Σ that appropriately abstracts the real dynamics. In addition, when the robot 5 moves and a target task of pick-and-place is set, the abstract model generation unit 35 sets a dynamics model that assumes switching of the operation mode as shown in, for example, equation (8).

[0127] In addition, the vector x representing the state of the object and the robot 5 used in the formulas (6) to (8) is i and input u iIn particular, when considered in terms of discrete values, is defined in a form suitable for the forbidden proposition region and the divided operable region set by the proposition setting unit 32. Therefore, in this case, an abstract model Σ is generated that takes into account the forbidden proposition region set by the proposition setting unit 32.

[0128] Here, we consider the case where space is discretized and expressed as a state (most simply, as a grid representation). In this case, for example, the larger the forbidden proposition region, the longer the length of one side of the grid (i.e., the discretized unit space), and the smaller the forbidden proposition region, the shorter the length of one side of the grid.

[0129] FIG. 10(A) shows an overhead view of the workspace of the robots 5A and 5B, clearly indicating the prohibited area O, which is a prohibited proposition area when the space is discretized in the example shown in FIG. 6. FIG. 10(B) shows an overhead view of the workspace of the robots 5A and 5B when a prohibited area O larger than that in FIG. 10(A) is set. For convenience of explanation, FIG. 10(A) and (B) do not show the area G, which is the destination of the robots 5A and 5B. In FIG. 10(A) and (B), as an example, the length of each side of the grid is determined according to the size of the prohibited area O. Specifically, in both examples, the length of each side of the grid is determined to be approximately 1 / 3 of the length of the prohibited area O.

[0130] Here, since the discretization manner is different between the cases of Fig. 10(A) and Fig. 10(B), the expression of the state vectors of the robots 5A and 5B is different in each case. In other words, the state vectors "x1" and "x2" of the robots 5A and 5B in Fig. 10(A) and the state vector "x ~ 1", "x ~ 10(A) and (B) are different. In this way, the abstract model Σ changes according to the prohibited proposition region and the divided actionable region set by the proposition setting unit 32.

[0131] Note that the length of one side of the grid is actually determined by the input u i For example, the greater the amount of movement (movement) of the robot in one time step, the longer the length of one side is made, and the smaller the amount of movement, the shorter the length of one side is made.

[0132] (5-6) Control Input Generation Unit The control input generation unit 36 ​​determines an optimal control input for the robot 5 for each time step based on the time step logical formula Lts supplied from the time step logical formula generation unit 34 and the abstract model Σ supplied from the abstract model generation unit 35. In this case, the control input generation unit 36 ​​defines an evaluation function for the target task, and solves an optimization problem of minimizing the evaluation function with the abstract model Σ and the time step logical formula 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.

[0133] For example, the control input generating unit 36 ​​receives the control input “u k In this case, the control input generating unit 36 ​​sets the evaluation function based on the control input u k Specifically, the control input generating unit 36 ​​minimizes the evaluation function such that the smaller the smaller the energy consumed by the robot 5 is, the smaller the abstract model Σ and the time step logical formula Lts (i.e., the candidate φ i The constrained mixed integer optimization problem shown in the following equation (9) is solved, where the constraints are a logical expression based on the logical sum of

[0134]

number

[0135] Furthermore, when the target number of time steps is long (for example, larger than a predetermined threshold), the control input generation unit 36 ​​may set the number of time steps used for optimization to a value smaller than the target number of time steps (for example, the above-mentioned threshold). In this case, the control input generation unit 36 ​​sequentially calculates the control input u by solving the above-mentioned optimization problem, for example, every time a predetermined number of time steps elapses. k In this case, the control input generation unit 36 ​​solves the above optimization problem for each predetermined event corresponding to an intermediate state with respect to the achievement state of the target task, and determines the control input u k may be determined. In this case, the control input generating unit 36 ​​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 dynamics in the workspace is switched. For example, when pick-and-place is set as the target task, the robot 5 grasps an object, the robot 5 finishes carrying one of a plurality of objects to be carried to a destination point, and the like are defined as events. The events are, for example, defined in advance for each type of target task, and information for identifying the event for each type of target task is stored in the storage device 4.

[0136] (5-7) Robot Control Unit The robot control unit 37 generates a sequence of subtasks (subtask sequence) based on the control input information Icn supplied from the control input generation unit 36 ​​and the subtask information I4 stored in the application information storage unit 41. In this case, the robot control unit 37 recognizes subtasks that the robot 5 can accept by referring to the subtask information I4, and converts the control input for each time step indicated by the control input information Icn into a subtask.

[0137] For example, in the subtask information I4, functions indicating two subtasks, namely, moving (reaching) of the robot hand and grasping (grasping) of the robot hand, are defined as subtasks that the robot 5 can accept when the target task is pick-and-place. In this case, the function "Move" representing reaching is a function that takes as arguments, 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. Also, the function "Grasp" representing grasping is a function that takes as arguments, for example, the state of the robot 5 before the execution of the function, the state of the object to be grasped before the execution of the function, and the logical variable δ. Here, the function "Grasp" represents a grasping action when the logical variable δ is "1", and represents a releasing action when the logical variable δ is "0". In this case, the robot control unit 37 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 determines the function "Grasp" based on the transition of the logical variable δ for each time step indicated by the control input information Icn.

[0138] Then, the robot control unit 37 generates a sequence consisting of the function "Move" and the function "Grasp", and supplies a control signal S1 representing the sequence to the robot 5. For example, when the target task is "finally the object (i=2) is present in the area G", the robot control unit 37 generates a sequence of the function "Move", the function "Grasp", the function "Move", and the function "Grasp" for the robot hand closest to the object (i=2). In this case, the robot hand closest to the object (i=2) moves to the position of the object (i=2) by the first function "Move", grasps the object (i=2) by the first function "Grasp", moves to the area G by the second function "Move", and places the object (i=2) in the area G by the second function "Grasp".

[0139] (6) Processing flow FIG. 11 is an example of a flowchart showing an outline of the robot control process executed by the robot controller 1 in the first embodiment.

[0140] First, the abstract state setting unit 31 of the robot controller 1 sets the abstract state of an object existing in the working space (step S11). Here, the abstract state setting unit 31 executes step S11, for example, when it receives an external input from the instruction device 2 or the like instructing the execution of a predetermined target task. In step S11, the abstract state setting unit 31 sets a proposition and a state vector such as a position / posture for an object related to the target task, for example, based on the abstract state designation information I1, the object model information I6, and the measurement signal S2.

[0141] Next, the proposition setting unit 32 executes a proposition setting process which is a process of generating abstract state resetting information ISa from the abstract state setting information IS by referring to the relative region database I7 (step S12). As a result, the proposition setting unit 32 sets a prohibited proposition region, a combined prohibited proposition region, and a divided operable region.

[0142] Next, the target logical formula generation unit 33 determines the target logical formula Ltag based on the abstract state reconfiguration information ISa generated by the proposition setting process in step S12 (step S13). In this case, the target logical formula generation unit 33 adds a constraint condition for the execution of the objective task to the target logical formula Ltag by referring to the constraint condition information I2.

[0143] Then, the time-step logical formula generating unit 34 converts the target logical formula Ltag into a time-step logical formula Lts that represents a state at each time step (step S14). In this case, the time-step logical formula generating unit 34 determines a target number of time steps, and generates, as the time-step logical formula Lts, a logical sum of candidates φ that represent a state at each time step that satisfies the target logical formula Ltag in the target number of time steps. In this case, preferably, the time-step logical formula generating unit 34 judges the feasibility of each candidate φ by referring to the operational limit information I3, and excludes candidates φ that are judged to be infeasible from the time-step logical formula Lts.

[0144] Next, the abstract model generation unit 35 generates the abstract model Σ (step S15). In this case, the abstract model generation unit 35 generates the abstract model Σ based on the abstract state resetting information ISa and the abstract model information I5 and the like.

[0145] Then, the control input generating unit 36 ​​constructs an optimization problem based on the processing results of steps S11 to S15, and determines the control input by solving the constructed optimization problem (step S16). In this case, for example, the control input generating unit 36 ​​constructs an optimization problem as shown in equation (9), and determines the control input that minimizes the evaluation function set based on the control input.

[0146] Then, the robot control unit 37 controls the robot 5 based on the control input determined in step S16 (step S17). In this case, for example, the robot control unit 37 converts the control input determined in step S16 into a sequence of subtasks that can be interpreted by the robot 5 with reference to the subtask information I4, and supplies a control signal S1 representing the sequence to the robot 5. This enables the robot controller 1 to suitably cause the robot 5 to perform the operation required to execute the target task.

[0147] FIG. 12 is an example of a flowchart showing the procedure of the proposition setting process executed by the proposition setting unit 32 in step S12 of FIG.

[0148] First, the proposition setting unit 32 sets a prohibited proposition region based on the relative region information included in the relative region database I7 (step S21). In this case, the prohibited proposition region setting unit 321 of the proposition setting unit 32 extracts, from the relative region database I7, relative region information corresponding to a predetermined object such as an obstacle corresponding to the proposition for which a prohibited proposition region should be set. Then, the prohibited proposition region setting unit 321 sets, as the prohibited proposition region, the relative region indicated by the extracted relative region information, which is defined in the working space based on the position and posture of the corresponding object.

[0149] Next, the integration determination unit 322 determines whether or not there is a pair of forbidden proposition areas whose integrated increase rate Pu is equal to or less than the threshold Puth (step S22). If the integration determination unit 322 determines that there is a pair of forbidden proposition areas whose integrated increase rate Pu is equal to or less than the threshold Puth (step S22; Yes), the proposition integration unit 323 sets an integrated forbidden proposition area by integrating the pair of forbidden proposition areas whose integrated increase rate Pu is equal to or less than the threshold Puth (step S23). In addition, the proposition integration unit 323 redefines related propositions. On the other hand, if the integration determination unit 322 determines that there is no pair of forbidden proposition areas whose integrated increase rate Pu is equal to or less than the threshold Puth (step S22; No), the proposition setting unit 32 advances the process to step S24.

[0150] Next, the movable area dividing unit 324 divides the movable area of ​​the robot 5 (step S24). In this case, the movable area dividing unit 324 regards the working space excluding the prohibited proposition area set by the prohibited proposition area setting unit 321 and the integrated prohibited proposition area set by the proposition integration unit 323 as the movable area, and generates divided movable areas by dividing the movable area. Then, the divided area proposition setting unit 325 sets each of the divided movable areas generated in step S24 as a proposition area (step S25).

[0151] (7) Variations Next, modifications of the above-described embodiment will be described. The following modifications may be applied to the above-described embodiment in any combination. (First Modification) 7, the proposition setting unit 32 may execute only one of the process related to the integration of prohibited proposition areas by the integration judgment unit 322 and the proposition integration unit 323 and the process related to setting of divided movable areas by the operable area division unit 324 and the divided area proposition setting unit 325. When the process related to the integration of prohibited proposition areas by the integration judgment unit 322 and the proposition integration unit 323 is not executed, the movable area division unit 324 regards the working space other than the prohibited proposition areas set by the prohibited proposition area setting unit 321 as the movable area of ​​the robot 5, and generates a divided movable area.

[0152] In this modified example, the robot controller 1, in the configuration of the proposition setting unit 32 that executes the process related to the integration of the prohibited proposition areas, can set an integrated prohibited proposition area corresponding to a plurality of obstacles, etc., and can preferably express an abstract state so as to enable efficient operation planning. On the other hand, in the configuration of the proposition setting unit 32 that executes the process related to the setting of the divided operable areas, the robot controller 1 can set divided operable areas and preferably utilize them in the subsequent operation planning.

[0153] In yet another example, the proposition setting unit 32 may have only a function corresponding to the prohibited proposition area setting unit 321. Even in this case, the robot controller 1 can appropriately formulate an operation plan taking into account the size of an object such as an obstacle.

[0154] (Second Modification) The prohibited proposition area setting unit 321 may set a proposition area for an object other than an object (obstacle) that restricts the operable area of ​​the robot 5. For example, the prohibited proposition area setting unit 321 may set a proposition area for a goal point, an object, a robot hand, or the like that corresponds to the area G in the examples of Fig. 5 and Fig. 6 by extracting and referring to the corresponding relative area information from the relative area database I7. In this case, the proposition integration unit 323 may integrate proposition areas of the same type other than the prohibited proposition area.

[0155] Furthermore, the proposition integration unit 323 may vary the manner of integration of proposition regions depending on the corresponding proposition. For example, in a proposition regarding the goal point of an object or the robot 5, when the goal point is defined as an overlapping portion of multiple regions, the proposition integration unit 323 defines the overlapping portion of the proposition regions respectively set for the multiple regions as the proposition region representing the goal point.

[0156] (Third Modification) The functional block configuration of the processor 11 shown in FIG. 4 is an example, and various modifications may be made.

[0157] For example, the application information may include design information such as a flow chart for designing a control input or a subtask sequence corresponding to a target task in advance, and the robot controller 1 may generate the control input or the subtask sequence by referring to the design information. A specific example of executing a task based on a task sequence designed in advance is disclosed in, for example, JP 2017-39170 A.

[0158] <Second embodiment> 13 shows a schematic configuration diagram of a proposition setting device 1X in the second embodiment. The proposition setting device 1X mainly has an abstract state setting means 31X and a proposition setting means 32X. The proposition setting device 1X may be composed of a plurality of devices. The proposition setting device 1X may be, for example, the robot controller 1 in the first embodiment.

[0159] The abstract state setting means 31X sets an abstract state, which is an abstract state of an object in the work space, based on the measurement result in the work space where the robot performs the work. The abstract state setting means 31X can be, for example, the abstract state setting unit 31 in the first embodiment.

[0160] The proposition setting means 32X sets a proposition area in which a proposition related to an object is expressed by an area, based on an abstract state and relative area information which is information on a relative area of ​​the object. The proposition setting means 32X can be, for example, the proposition setting unit 32 in the first embodiment. The proposition setting device 1X may perform a process of generating a movement sequence of a robot based on the processing results of the abstract state setting means 31X and the proposition setting means 32X, and may supply the processing results of the abstract state setting means 31X and the proposition setting means 32X to another device which performs a process of generating a movement sequence of a robot.

[0161] 14 is an example of a flowchart executed by the proposition setting device 1X in the second embodiment. First, the abstract state setting means 31X sets an abstract state, which is an abstract state of an object in the workspace, based on a measurement result in the workspace where the robot performs work (step S31). The proposition setting means 32X sets a proposition area, which expresses a proposition related to the object by an area, based on the abstract state and relative area information, which is information related to a relative area of ​​the object (step S32).

[0162] According to the second embodiment, the proposition setting device 1X can suitably set a proposition domain used in the motion plan of a robot using temporal logic.

[0163] In each of the above-described embodiments, the program can be stored using various types of non-transitory computer readable media and can be supplied to a computer, such as a processor. The non-transitory computer readable medium includes various types of tangible storage media. Examples of the non-transitory computer readable medium include magnetic storage media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical storage media (e.g., magneto-optical disks), CD-ROM (Read Only Memory), CD-R, CD-R / W, and semiconductor memory (e.g., mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, and RAM (Random Access Memory)). The program may also be supplied to a computer by various types of transitory computer readable media. Examples of the transitory computer readable medium include electric signals, optical signals, and electromagnetic waves. The transitory computer readable medium can supply the program to a computer via a wired communication path such as an electric wire and an optical fiber, or via a wireless communication path.

[0164] In addition, some or all of the above embodiments may be described as, but are not limited to, the following supplementary notes.

[0165] [Appendix 1] an abstract state setting means for setting an abstract state, which is an abstract state of an object in a workspace in which a robot performs work, based on a measurement result in the workspace; a proposition setting means for setting a proposition area in which a proposition regarding the object is expressed by an area based on the abstract state and relative area information which is information regarding a relative area of ​​the object; A proposition setting device having the above structure. [Appendix 2] The proposition setting means includes: a proposition domain setting means for setting the proposition domain based on the abstract state and the relative domain information; an integration determination means for determining whether or not a plurality of the proposition domains need to be integrated; a proposition integration means for setting an integrated proposition domain based on the plurality of proposition domains determined to require integration; 2. The proposition setting device according to claim 1, [Appendix 3] The proposition setting device according to claim 2, wherein the proposition region setting means sets a prohibited proposition region, which is the proposition region when the object is an obstacle, based on the abstract state and the relative region information. [Appendix 4] The proposition setting device according to claim 3, wherein the integration determination means determines whether or not the multiple prohibited proposition regions need to be integrated based on an increase in area or volume of the proposition region when the multiple prohibited proposition regions are integrated. [Appendix 5] The proposition setting means includes: an operational area dividing means for dividing an operational area of ​​the robot specified based on the proposition area; a divided region proposition setting means for setting a proposition region for each of the divided operable regions; 5. The proposition setting device according to claim 1, further comprising: [Appendix 6] The proposition setting device according to any one of appendix 1 to 5, wherein the proposition setting means sets, as the proposition area, an area in the working space that defines a relative area represented by the relative area information based on the position and posture of the object set as the abstract state. [Appendix 7] The proposition setting device according to any one of appendices 1 to 6, wherein the proposition setting means extracts relative area information corresponding to the object identified in the measurement result from a database in which relative area information representing a relative area according to the type of object is associated with each type of object, and sets the proposition area based on the extracted relative area information. [Appendix 8] 8. The proposition setting device according to any one of claims 1 to 7, further comprising an action sequence generating means for generating an action sequence of the robot based on the abstract state and the proposition domain. [Appendix 9] The operation sequence generating means a logical expression conversion means for converting a task to be executed by the robot into a logical expression based on temporal logic; a time step logical expression generating means for generating a time step logical expression, which is a logical expression representing a state for each time step for executing the task, from the logical expression; an abstract model generating means for generating an abstract model that abstracts dynamics in the working space based on the abstract state and the proposition domain; a control input generating means for generating a time-series control input of the robot by optimization using the abstract model and the time step logical formula as constraint conditions; 9. The proposition setting device according to claim 8, comprising: [Appendix 10] The computer Based on the measurement results in a workspace in which the robot performs the work, an abstract state is set, which is an abstract state of an object in the workspace; setting a proposition domain in which a proposition regarding the object is expressed by a domain based on the abstract state and relative domain information which is information regarding a relative domain of the object; How to set a proposition. [Appendix 11] Based on the measurement results in a workspace in which the robot performs the work, an abstract state is set, which is an abstract state of an object in the workspace; A storage medium storing a program that causes a computer to execute a process of setting a proposition area that expresses a proposition regarding the object by an area based on the abstract state and relative area information, which is information regarding the relative area of ​​the object.

[0166] Although the present invention has been described above with reference to the embodiments, the present invention is not limited to the above-mentioned embodiments. Various modifications that can be understood by a person skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. In other words, the present invention naturally includes various modifications and corrections that a person skilled in the art could make in accordance with the entire disclosure, including the claims, and the technical ideas. In addition, the disclosures of the above cited patent documents and the like are incorporated herein by reference. [Explanation of symbols]

[0167] 1 Robot Controller 1X proposition setting device 2 Indicating device 4 Storage device 5. Robot 7. Measurement Equipment 41 Application information storage unit 100 Robot Control System

Claims

1. an abstract state setting means for setting an abstract state, which is an abstract state of an object in a workspace in which a robot performs work, based on a measurement result in the workspace; a proposition setting means for setting a proposition area in which a proposition regarding the object is expressed by an area based on the abstract state and relative area information which is information regarding a relative area of ​​the object, The proposition setting means includes: an operational area dividing means for dividing an operational area of ​​the robot specified based on the proposition area; a divided region proposition setting means for setting a proposition region for each of the divided operable regions; A proposition setting device having the above structure.

2. The proposition setting means includes: a proposition domain setting means for setting the proposition domain based on the abstract state and the relative domain information; an integration determination means for determining whether or not a plurality of the propositional domains need to be integrated; a proposition integration means for setting an integrated proposition domain based on the plurality of proposition domains determined to require integration; 2. The proposition setting device according to claim 1, further comprising:

3. 3. The proposition setting device according to claim 2, wherein said proposition setting means sets a prohibited proposition area, which is said proposition area when said object is an obstacle, based on said abstract state and said relative area information.

4. 4. The proposition setting device according to claim 3, wherein said integration determination means determines whether or not a plurality of said forbidden proposition regions need to be integrated based on an increase rate of an area or volume of the proposition region when the plurality of forbidden proposition regions are integrated.

5. The proposition setting device according to any one of claims 1 to 4, wherein the proposition setting means sets, as the proposition area, an area in the working space that defines a relative area represented by the relative area information based on the position and posture of the object set as the abstract state.

6. The proposition setting device according to any one of claims 1 to 5, wherein the proposition setting means extracts relative area information corresponding to the object identified in the measurement result from a database in which relative area information representing a relative area according to the type of object is associated with each type of object, and sets the proposition area based on the extracted relative area information.

7. 7. The proposition setting device according to claim 1, further comprising an action sequence generating means for generating an action sequence of the robot based on the abstract state and the proposition domain.

8. The operation sequence generating means: a logical expression conversion means for converting a task to be executed by the robot into a logical expression based on temporal logic; a time step logical expression generating means for generating a time step logical expression, which is a logical expression representing a state for each time step for executing the task, from the logical expression; an abstract model generating means for generating an abstract model that abstracts dynamics in the working space based on the abstract state and the proposition domain; a control input generating means for generating a time-series control input of the robot by optimization using the abstract model and the time step logical formula as constraint conditions; The proposition setting device according to claim 7 , further comprising:

9. The computer Based on the measurement results in a workspace in which the robot performs the work, an abstract state is set, which is an abstract state of an object in the workspace; based on the abstract state and relative area information which is information on a relative area of ​​the object, set a proposition area in which a proposition regarding the object is expressed by an area, divide an operable area of ​​the robot specified based on the proposition area, and set a proposition area for each of the divided operable areas; How to set a proposition.

10. Based on the measurement results in a workspace in which the robot performs the work, an abstract state is set, which is an abstract state of an object in the workspace; A program that causes a computer to execute a process of setting a proposition area that expresses a proposition regarding the object by an area based on the abstract state and relative area information that is information regarding the relative area of ​​the object, dividing the operational area of ​​the robot specified based on the proposition area, and setting a proposition area for each of the divided operational areas.

Citation Information

Patent Citations

  • Robot operation schedule generating method

    JP1994337709A

  • System for planning path for moving robot

    JP2005032196A

  • Autonomous control device

    WO2014141351A1

  • Motion model calculation device, control device, joint mechanism, motion model calculation method, and recording medium storing program

    WO2020161880A1