Control plan creation device and control plan creation method

The control plan creation device and method address the challenge of planning operations for autonomous work machines with irregular or deformed objects by generating models that enable effective task execution through abstracted object and machine responses.

WO2025181913A1PCT designated stage Publication Date: 2025-09-04NEC CORP
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/007111
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-27
Publication Date
2025-09-04

AI Technical Summary

Technical Problem

Existing technologies face difficulties in generating operation plans for autonomous work machines when dealing with irregular or deformed objects or complex tasks, as they struggle to consider the order of operations and often require inappropriate decompositions, leading to incomplete task goals.

Method used

A control plan creation device and method that generates models of the work object, the work machine's response to the object, and the machine's operations, allowing for the selection of time-series operations and control inputs to achieve a given goal, even with indeterminate or deformed objects.

Benefits of technology

Enables the generation of operation plans that effectively execute tasks with irregular or deformed objects by abstracting and modeling the work object and machine responses, ensuring the completion of complex tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024007111_04092025_PF_FP_ABST
    Figure JP2024007111_04092025_PF_FP_ABST
Patent Text Reader

Abstract

A control plan creation device 10 for creating a plan for a work machine to execute a target task on a work object includes: a generation means 11 for generating an abstracted model of the work object, an abstracted model of a response of the work object to an operation of the work machine, and an abstracted model of the operation of the work machine on the basis of object information that is information of the work object; and a planning means 12 which creates plan information including selection of time-series operations of the work machine and control input on the basis of the models generated by the generation means 11, and outputs the plan information.
Need to check novelty before this filing date? Find Prior Art

Description

Control plan creation device and control plan creation method

[0001] The present disclosure relates to a control plan creation device and a control plan creation method.

[0002] There are known techniques for generating or controlling an operation plan for an autonomous work machine (hereinafter simply referred to as a work machine) to execute a task to achieve a given goal. However, when the object to be tasked is an irregular or deformed object, or when the task is complex, it is difficult for a work machine that performs prescribed operations in a factory or the like to complete the task.

[0003] Patent Literature 1 discloses a system that allows a robot device to perform tasks typically performed by humans, specifically food preparation tasks. The system described in Patent Literature 1 is said to enable cooking at the same level as a human (chef) by using an engine that abstracts (models) real-world input data and an engine that physically or geometrically infers the robot's movements and the movement of objects.

[0004] Patent Document 2 describes a control device that determines a robot's operation plan based on a predicted start state that predicts the state of the workspace at the time the robot starts work and a target state that represents the state in which items have been placed in the sorting containers as a result of the work. Patent Document 2 also discloses the use of a model that abstracts dynamics.

[0005] Patent Publication No. 2017-536247 International Publication No. 2022 / 162784

[0006] Patent Document 1 describes a case where there are no ordering constraints on the order of operations that make up a task in a system, or where the system follows predefined partial ordering conditions. However, in reality, there are cases where the goal of a task cannot be achieved depending on the order of operations, that is, where it is necessary to plan the order of operations so that the goal can be achieved.

[0007] Furthermore, the technology described in Patent Document 1 decomposes the overall motion into individual motions (stages) in advance to achieve the final task goal, and then performs motion planning for the robot. Long-term planning that includes multiple motions and takes into account the order of the motions relies on the decomposition in advance. Therefore, a separate process for the decomposition in advance is required. Furthermore, if the decomposition is inappropriate, the task goal may not be achieved.

[0008] The technology described in Patent Document 1 has difficulty in considering the order of actions when planning actions to achieve a given goal and in formulating a long-term plan that includes multiple actions. Furthermore, generally, considering the order of actions means considering branching of the plan, i.e., increasing the number of combinations of action content and order. Therefore, it may be difficult to generate a feasible action plan with given computational resources.

[0009] An object of the present invention is to provide a control plan creation device and a control plan creation method that can create an operation plan for executing a task to achieve a given goal, even if the work target is an irregular or deformed object.

[0010] A control plan creation device according to the present disclosure includes a generation means that generates, based on target information that is information about the work target, a model that abstracts the work target, a model that abstracts the response of the work target to the operation of the work machine, and a model that abstracts the operation of the work machine, and a planning means that creates plan information that includes selection of time-series operations by the work machine and control inputs, based on the models generated by the generation means, and outputs the plan information.

[0011] In a control plan creation method based on the present disclosure, a computer generates, based on target information that is information about the work object, a model that abstracts the work object, a model that abstracts the response of the work object to the operation of the work machine, and a model that abstracts the operation of the work machine, and creates plan information based on the generated models that includes selection of time-series operations by the work machine and control inputs, and outputs the plan information.

[0012] A control plan creation program based on the present disclosure causes a computer to generate, based on target information that is information about the work object, a model that abstracts the work object, a model that abstracts the response of the work object to the operation of the work machine, and a model that abstracts the operation of the work machine, and creates plan information that includes selection of time-series operations by the work machine and control inputs based on the generated models, and outputs the plan information.

[0013] According to the present invention, even if the work target is an object with an indeterminate shape or a deformed object, it is possible to generate an operation plan for executing a task to achieve a given goal.

[0014] FIG. 1 is a block diagram showing an example of the configuration of an embodiment of a control system. FIG. 2 is an explanatory diagram showing an example of the data structure of information stored in a model information storage unit and a task information storage unit. FIG. 3 is a functional block diagram of a planning unit in a planning device. FIG. 4 is a flowchart showing an example of the operation of the control system. FIG. 5 is a block diagram showing an example of the configuration of another embodiment of the control system. FIG. 6 is a flowchart showing another example of the operation of the control system. FIG. 7 is a block diagram showing an example of the configuration of yet another embodiment of the control system. FIG. 8 is a flowchart showing yet another example of the operation of the control system. FIG. 9 is an explanatory diagram showing an example of the configuration of a control system in a first application example. FIG. 10 is an explanatory diagram showing an example of a UI screen of an input device. FIG. 11 is a block diagram showing an example of the configuration of a computer that can realize the control system. FIG. 12 is a block diagram showing main parts of the

[0015] Hereinafter, an embodiment will be described with reference to the drawings.

[0016] Embodiment 1. (Configuration Description) Fig. 1 is a block diagram showing an example of the configuration of one embodiment of a control system (control device). The unidirectional arrows in Fig. 1 simply indicate the direction of signal (data) flow, but do not exclude bidirectionality. This also applies to other block diagrams. The components shown in Fig. 1 can exchange necessary information via wired or wireless transmission means. This also applies to other block diagrams.

[0017] 1 includes an input device 1, an observation device 2, a work machine 3, a planning device 4, and a storage device 5. The planning device 4 includes a generation unit 41 and a planning unit 42. The storage device 5 includes a model information storage unit 51 and a task information storage unit 52.

[0018] The control system 100 causes the work machine 3 to execute a target task input to the input device 1 for a work target acquired by the observation device 2. The control system 100 causes the work machine 3 to execute the target task based on information stored in the storage device 5 and plan information planned by the planning device 4. The observation device 2 may be mounted on the work machine 3. Furthermore, the planning device 4 and storage device 5 may be mounted on the work machine 3 or provided in an independent location.

[0019] It should be noted that a control unit (not shown) included in the control system 100 causes the work machine 3 to execute the target task, and the configuration shown in FIG. 1 constitutes a control plan creation device that creates plan information for the work machine 3 to execute the target task.

[0020] The input device 1 has a function of accepting user input or information input from another system. The function of accepting user input can be realized, for example, by a tablet terminal, a smartphone, a mobile terminal, a touch panel, a button, a keyboard, a voice input device, or the like. However, it is not limited to these. The function of accepting information from another system can be realized by an interface that is electrically connected to the other system and can exchange necessary information. Details of the interface will be described later.

[0021] The input device 1 accepts information related to a target task (target task information). The target task information is information that causes the work machine 3 to execute a given goal for a certain work (task). For example, the target task information includes at least information about the content of the task and information about the goal to be achieved (hereinafter simply referred to as the goal).

[0022] The observation device 2 acquires information (hereinafter referred to as object information) about the work object that is the target of the target task, i.e., the work object handled by the work machine 3. In this embodiment and embodiments described later, the work object is, for example, an amorphous object or a deformed object. In other words, the work object is a work object that has not been abstracted or modeled. In this embodiment and embodiments described later, abstraction means extracting properties that determine the behavior and characteristics of the work object. Specifically, this refers to properties such as the position, posture, shape, size, contour, and color of the work object. Therefore, "not abstracted" corresponds to a state in which these properties have not been extracted from the work object.

[0023] Hereinafter, "not abstracted" means that, of these properties, properties necessary for the work machine 3 to execute the target task have not been extracted. Details such as the properties to be extracted, the number of required properties, the granularity and accuracy of the information, etc. may vary depending on the type of work machine 3 and the target task. Furthermore, in this embodiment and embodiments described below, modeling means expressing the behavior and characteristics of a work object as information or a mathematical formula through simplification, abbreviation, or simulation. Therefore, "not modeled" means that these properties of the work object are not expressed as information or a mathematical formula. Modeling may also vary depending on the type of work machine 3 and the target task. Details and specific examples of work objects will be described later.

[0024] The observation device 2 may be, for example, an imaging device such as a camera (RGB-D camera) or a ToF (Time of Flight) camera capable of acquiring three-dimensional information about the work target. Such an imaging device may be realized by combining, for example, a monocular, compound eye, monochrome, or RGB camera with a depth sensor. The observation device 2 may be a device that optically measures distance information to the work target in two or three dimensions, horizontally or vertically to the distance direction. For example, the observation device 2 may be a light detection and ranging (LiDAR) or a radio detection and ranging (Radar). The observation device 2 may also be a single device as described above, or a combination of multiple devices.

[0025] Conditions such as the installation position, installation direction (angle), and number of observation devices 2 are determined appropriately according to the unique specifications and performance of the observation devices 2 (e.g., field of view, measurable distance, etc.), the type of work machine 3, and the target task. The observation devices 2 may be mounted on the work machine 3. The observation devices 2 may be installed in the environment. Both observation devices 2 may be combined.

[0026] The format of the target information acquired by the observation device 2 is, for example, at least three-dimensional information about the work target, such as RGB pixel data and depth values. The format may also be a combination of distance information. The format may also be a set of three-dimensional position information. The set of three-dimensional position information may be, for example, point cloud data.

[0027] Examples of the work machine 3 include construction machinery and heavy machinery (hereinafter referred to as construction machinery), robots, and transport vehicles (AGV: automatic guide vehicle, AMR: autonomous mobile robot). However, the work machine 3 is not limited to these. Examples of construction machinery include power shovels, backhoes, cranes, and forklifts. Examples of robots include articulated robot arms, robots with multiple arms, and arms mounted on transport vehicles. The work machine 3 also has moving parts for executing target tasks for work objects. These moving parts are controlled by external control signals. Therefore, hereinafter, the moving parts will also be referred to as controlled parts.

[0028] An example of a target task associated with work machine 3 will now be described.

[0029] For example, if the work machine 3 is a construction machine, particularly a power shovel or backhoe, there is a task of excavating earth, gravel, crushed stone, wood, waste materials, natural ground, etc. and moving them to another location or loading them onto a dump truck. The target in this case is, for example, a processing volume or processing area per unit time. Furthermore, if the work machine 3 is a robot, particularly a configuration including a robot arm, there is a task known as pick and place, which involves grasping (picking) an object and moving (placing) it to another location. The target in this case is, for example, a processing volume per unit time.

[0030] Next, the planning device 4 will be described.

[0031] The planning device 4 has a generation unit 41 and a planning unit 42. The planning device 4 outputs information for controlling the work machine 3. Controlling the work machine 3 means controlling the controlled units of the work machine 3 to cause the work object to execute a target task. Hereinafter, information for causing the work machine 3 to execute a target task will also be referred to as plan information. Typically, the controlled units of the work machine 3 control their position and attitude to realize operations specific to the work machine 3. A target task can be executed by combining these operations. Therefore, the controlled units of the work machine 3 have the function of moving movable parts (actuators) using control signals. The planning device 4 generates these control signals and outputs them to the work machine 3. Note that if the actuators are controlled by electrical control signals, the control signals are electrical signals. The planning device 4 may also output electrical signals directly to the actuators. Furthermore, if the actuators cannot be controlled electrically, for example, if they are controlled hydraulically, the planning device 4 may control the actuators by outputting a predetermined signal to a control unit that controls the hydraulic pressure, or by outputting a predetermined signal to a remote control device such as a surrogate attached to an operating lever that controls the controlled units.

[0032] The generation unit 41 in the planning device 4 generates an abstract model of the work object based on the target task acquired by the input device 1, the object information acquired by the observation device 2, and information acquired from the storage device 5 (described later). Generating an abstract model means abstracting and modeling the work object. Therefore, the processing of the generation unit 41 includes a process of extracting properties that determine the behavior and characteristics of the work object, and a process of modeling, i.e., expressing it in mathematical formulas, etc., based on the extracted information.

[0033] The generator 41 may generate a model of the work object (object model) based on the object information acquired moment by moment by the observation device 2. That is, the abstract model may be time-series information including temporal changes in the work object in the real world. The work object is changed by the work machine 3 in the process of the work machine 3 operating to execute the target task. Therefore, the abstract model may include the process by which the work object is changed by the work machine 3. That is, the generator 41 may generate a model (response model) that represents the effect that a certain operation of the work machine 3 has on the work object. In this case, the generator 41 may generate a model (machine model) that represents the relationship between the control information given to the work machine 3 and that operation. More specific processing and operation of the generator 41 will be described later.

[0034] The above-described abstract model is realized by at least the following two configurations. The first is a configuration in which calculations are performed from information input to the generation unit 41. For example, the generation unit 41 may be configured to mathematically calculate target information from the observation device 2 input to the generation unit 41 using a predetermined model. That is, the generation unit 41 may be configured to perform mathematical calculations. The second is a configuration in which the relationship between the input and output of the abstract model, the constraints that the input and output must satisfy, and an evaluation function for evaluating the output are mathematically described. This configuration differs from the first configuration in that the input is not external information input to the generation unit 41. Furthermore, the mathematical description may be a mathematical expression, or may be a learning model using deep learning or machine learning such as a neural network. The mathematical description of these abstract models and the expressions and parameters of the learning model may be stored in the storage device 5. The information stored in the storage device 5 will be described later.

[0035] The planner 42 in the planner 4 creates plan information for the work machine 3 to execute the target task based on the abstract model generated by the generator 41. The plan information is broadly composed of information about the types of actions that the work machine 3 should execute, and temporal (time-series) information that indicates the timing at which those actions will be executed and the order between actions. The types and contents of actions may vary depending on the type of work machine 3, the target task, and the work target. Information about the types and contents of actions may also be stored in the storage device 5.

[0036] The information representing the type of operation in the plan information generated by the planner 42 may be information in which the operation of the work machine 3 is described hierarchically. For example, the work machine 3 may achieve the goal of a certain work (task) by combining and executing a plurality of subtasks. In this case, the plan information may be information representing the type of subtask, such as numerical information specifying the subtask or a logical value representing whether or not each subtask is being executed (0: stop, 1: execute). The relationship between the information representing the type of subtask and the content of the subtask, as well as the actual operation content of the subtask, may be stored in the storage device 5.

[0037] The operation content of a subtask may be directly associated with a control signal for controlling the work machine 3. Each subtask may be configured to be realized by executing a combination of multiple actions. In other words, one subtask may be information representing the type of action, such as numerical information specifying the action or a logical value representing whether or not each action is executed (0: stop, 1: execute). The relationship between the information representing the type of action and the content of the action, as well as the actual operation content of the action, may be stored in the storage device 5.

[0038] The operation content of an action may be directly associated with a control signal for controlling the work machine 3. Each action may be configured to be realized by executing a combination of one or more motions. The motions that make up an action may be defined in advance. Furthermore, each motion may be associated with a control signal for controlling the work machine 3. The relationship between actions and motions, and the association with control signals, may be stored in the storage device 5.

[0039] In the above explanation, a task is realized by a hierarchical structure (subtasks, actions, motions). However, in practice, this is not the only example. Specific examples and configuration methods will be described later.

[0040] Next, the plan information generated by the planner 42 will be described, which is temporal (time-series) information that indicates the timing at which the work machine 3 executes actions and the order of actions.

[0041] For example, start times and end times may be specified for the subtasks described above. These times can be calculated based on the operation of the planning unit 42. Note that the time can be calculated relative to a certain reference time, and therefore, by setting the reference time to the actual time, the time can be applied to the actual task. In this way, the order of the subtasks can be determined from the start time information and end time information. Alternatively, the order of the subtasks can also be determined from the numerical information specifying the subtasks described above or the temporal progression of the logical values ​​indicating whether each subtask has been executed, i.e., time series information.

[0042] Furthermore, when each subtask includes multiple actions, the order of each action can be determined from the numerical information specifying the action and the temporal progression of the logical values ​​indicating whether each action is executed, i.e., time series information. Here, the motions constituting each action are associated with control signals as described above. The control signals are control target values ​​or control input values ​​for the controlled units of the work machine 3 for each predetermined time (unit time). In other words, the motions are time series values ​​and continuous values. It is assumed that the work machine 3 is controlled in accordance with the control target values ​​or control input values ​​output by the planner 42 of the planner 4. The control method can be determined as appropriate depending on the type of work machine 3 and the work being performed, and is not limited to this embodiment or the embodiments described below.

[0043] As described above, the planner 42 simultaneously generates information about the type of action, as well as information about the timing of executing that action and the sequence between actions. The planner 42 then outputs time-series information for controlling the controlled units of the work machine 3 to the work machine 3. In this way, the planner 42 is characterized by simultaneously generating information expressed in logical values, such as the type and sequence of actions, and information about continuous time-series values, such as motion. Specific examples of the processing generated by the planner 42 will be described later.

[0044] Next, the storage device 5 will be described.

[0045] The storage device 5 includes at least a model information storage unit 51 and a task information storage unit 52. The storage device 5 may be connected to the work machine 3 or the planning device 4. The storage device 5 may be built into the work machine 3 or the planning device 4. The storage device 5 is, for example, a device such as a hard disk or a storage medium such as a flash memory. The storage device 5 may also be a server device installed in a different location from the planning device 4. The storage device 5 may be located in multiple separate locations. As an example, some of the storage devices may be built-in devices such as those described above, and the other parts may be external devices. The storage device 5 has an interface for electrically connecting with the planning device 4, and can exchange necessary information.

[0046] The model information storage unit 51 in the storage device 5 supplies or stores information required when the generation unit 41 of the planning device 4 generates an abstract model. The task information storage unit 52 in the storage device 5 supplies or stores information required when the planning unit 42 of the planning device 4 creates plan information. The model information storage unit 51 and the task information storage unit 52 may store this information in advance. The model information storage unit 51 and the task information storage unit 52 may store information input from the outside via the input device 1, for example. Specific examples of information will be described later.

[0047] Fig. 2 is an explanatory diagram showing an example of the data structure of information (data) stored in the model information storage unit 51 and the task information storage unit 52. As shown in Fig. 2, the model information storage unit 51 stores at least work machine model information Ia1, target model information Ia2, and response model information Ia3 as model information data. Note that this information may be stored in advance. Furthermore, the information may also be updated later.

[0048] The work machine model information Ia1 is information about the work machine 3. The work machine 3 can control controlled units using control signals to achieve desired tasks. The work machine model information Ia1 is, for example, geometric configuration information about the work machine 3, such as the number, configuration, length, and angle of movable parts. It may also include information that allows calculation of the relationship between control signals and controlled units, i.e., information that allows calculation of the movement of the controlled units when a control signal is input. In other words, this information is an abstract model of the actual work machine 3. From the geometric information and information about the movement of the controlled units in response to control signals, it is possible to calculate the expected movement (dynamics), or operation, of the work machine 3 using, for example, forward kinematics. In other words, it is possible to simulate operation without moving the actual work machine 3. Note that a model of the work machine 3 does not need to include the detailed shape, properties such as color and material, or the structure of movable parts (actuators) of the work machine 3. The model may be simplified or abbreviated depending on the type of work machine 3, the task, and the work target. For example, only the moving parts involved in the task may be modeled, and information on other parts may be omitted.

[0049] The object model information Ia2 is information about the work object. The object model information Ia2 is used when the work object is observed by the observation device 2 and the generation unit 41 generates an abstract model of the work object. The object model information Ia2 is, for example, candidate formulas or functions that approximately represent the surface shape of the work object, candidate algorithms for approximation or interpolation, and information about trained models expressed by neural networks, etc. Candidates for information necessary to abstractly represent the work object may be stored, and the generation unit 41 may selectively acquire information from among these pieces of information.

[0050] Response model information Ia3 is information regarding the response when the work machine 3 acts on the work object. In order to achieve a desired task, the work machine 3 acts on the work object based on the plan information output by the planner 42. Specifically, although it depends on the type of work machine 3 and the task, response model information Ia3 represents an action such as moving the position of the work object or changing its shape. The response model information Ia3 is used when the generator 41 creates an abstract model of the effect and response of the work machine 3 on the work object. In other words, it is possible to simulate the response of the work object without having the work machine 3 act on the actual work object. The response model only needs to be an abstract model with the required range and precision depending on the properties of the work object, such as its size, shape, and hardness, and the action applied by the work machine 3.

[0051] The task information storage unit 52 includes at least constraint information Ib1, subtask information Ib2, and action information Ib3 as task information data. These pieces of information may also be stored in advance. Alternatively, the information may be updated later.

[0052] Constraint condition information Ib1 is information indicating the conditions that must be satisfied when a task is executed by the work machine 3. For example, with regard to the work machine 3, these include conditions that define the range of motion and operating speed, and conditions for maintaining safety so that the work machine 3 does not collide with other devices or structures. Constraint condition information Ib1 also includes conditions that define the magnitude and range of the effect on the work object regarding the relationship between the work machine 3 and the work object. Furthermore, constraint condition information Ib1 may include conditions that represent the properties of the work object, such as the range of size, shape, hardness, etc. Such constraint condition information Ib1 may be specified as numerical data (absolute values / relative values) or as a mathematical expression (inequality or equality). Furthermore, the conditions indicated by this information may be specified as a proposition (a format in which the truth or falsity of a sentence or expression can be determined).

[0053] Subtask information Ib2 includes, for a given task (job), the types of subtasks required to achieve a goal, information for determining multiple combinations, and information defining the subtasks. Subtask information Ib2 is used by the planner 42 when selecting subtasks, determining their order, and determining their start and end times. The subtask-defining information may also include information for determining the types of actions required to execute a given subtask and multiple combinations. For example, the information may include data indicating the types of candidate actions for a given subtask, rules regarding the order of actions, information regarding constraints, and parameters for specifying actions. This subtask information Ib2 may be stored in the form of data representing the relationships between tasks, subtasks, and actions, such as table data or directed / undirected graphs.

[0054] Action information Ib3 includes the types of motions required to execute an action, information for determining multiple combinations, and information for defining the motions. Action information Ib3 is used by the planner 42 when selecting actions, determining the order, and determining parameters. The information that defines the motions is information relating to the association between motions and control signals for executing each motion. Therefore, action information Ib3 may be used by the planner 42 when generating control signals for causing the work machine 3 to execute each action. This action information Ib3 may be stored in the form of data that represents the relationship between actions, motions, and control signals, for example, table data or a directed / undirected graph.

[0055] (Explanation of Functions) Next, the functions of the planning device 4 will be explained in more detail.

[0056] As described above, the generation unit 41 realizes the function of generating abstract models. The generation unit 41 generates a model (object model) of the work object based on the object information acquired by the observation device 2, a model (response model) that represents the effect that the operation of the work machine 3 has on the work object, and a model (machine model) that represents the relationship between the plan information input to the work machine 3 and the operation of the work machine 3. The generated models may be written in the form of mathematical expressions. The generated models may also be in the form of trained models that use deep learning or machine learning, such as a neural network. The generation unit 41 sets these models in a format that can be used for calculating plan information in the planner 42.

[0057] Furthermore, because the above-mentioned classification of the object model, response model, and machine model represents classification in terms of function, the formats expressed as mathematical expressions or learned models do not necessarily have to be these classifications, i.e., three independent models. Therefore, the abstract model set for use by the planner 42 is not necessarily one of these three independent models. For example, the object model may be an abstract model of the work object, and may also include a function that represents the influence of the action by the work machine 3, i.e., a response model.

[0058] The generator 41 functions when the work object has not been abstracted or modeled, or when the abstract model is to be reconfigured based on the output of the evaluator 46, which will be described later.

[0059] First, we will explain the case where the work object is abstracted. For example, consider a case where the work machine 3 is a robot arm and performs a task in a factory, logistics, or other environment. A typical pick-and-place task is assumed. Next, we will explain an example in which the work object of the robot arm is an object, such as a box-shaped object (cube / rectangular prism). Information about the box-shaped object, such as its position, orientation, and size, is acquired through processing such as image recognition and object information acquired by the observation device 2. This means that the box-shaped object is represented not as the object information acquired by the observation device 2, i.e., the three-dimensional data itself, but as extracted properties such as position, orientation, and size. As a result, the robot arm can first approach the box-shaped object based on the abstracted property information of the box-shaped object, perform a grasping (picking) operation according to its orientation, and complete the pick-and-place task. If the box-shaped object were not abstracted and remained as three-dimensional data, it would be impossible to determine where to approach and how to pick it. In other words, the planning device 4 would not be able to generate a control plan for the work machine 3 for the work object. Such a case can occur even if the work machine 3 is a robot arm, for example, when the work target is an irregular or deformed object. Examples of irregular or deformed objects include objects made of cloth or string, ingredients, and food.

[0060] Take the example where the work machine 3 is a construction machine, particularly a power shovel or backhoe, and is executing a task involving excavation of earth and sand. Assume that the current state of the earth and sand that is the work target has been acquired as three-dimensional data by the observation device 2. As described above, it is not possible to generate a control plan for executing a task involving excavation using only the three-dimensional data.

[0061] In this embodiment, the generation unit 41 generates an abstract model, for example, as follows. In the following example, the surface on which the work machine 3 is in contact with the ground is taken as the XY plane, and the three-dimensional data acquired by the observation device 2 is assumed to be height information on the soil surface within this XY plane, i.e., the Z value. Time is also assumed to be expressed as discrete time steps (k=0, 1, ...) under a certain reference time and time width. The surface shape of the soil is taken as the target model, i.e., the two-dimensional position (x k , y k ) The height of the soil z k , as a function f k This is expressed as equation (1).

[0062]

[0063] The function f represents the height z of the sediment surface at a two-dimensional position (x, y). The function f can be obtained, for example, by function approximation using three-dimensional data of the sediment surface, i.e., a set of data on the height z and the two-dimensional position (x, y). As a function approximation method, a general method for approximating a sediment surface, i.e., a curved surface, such as polynomial approximation, Gaussian function, radial basis function (RBF), or Kriging, may be applied. The function f may be expressed using a trained model, i.e., a neural network. Furthermore, in equation (1), the subscript k is added to represent the relationship at time k. In this manner, expressing the sediment surface shape using equation (1) is referred to as "abstracting or modeling the sediment surface shape" in this embodiment and in the embodiments described below. Once expressed as equation (1), the soil height z at any position (x, y) can be calculated without referring to the three-dimensional data acquired by the observation device 2. In other words, the requirements for abstraction and modeling are met. Note that equation (1) is a simplified example, and is not limited to this in practice. For example, a constant term representing a bias may be added, or the function f may be changed depending on the position. Note that the above function f when constructing the target model is stored as target model information Ia2 in the storage device 5. The function f may also be selected from stored function candidates. The selection will be described later.

[0064] Next, an example of an abstract model when a backhoe, which is the work machine 3, excavates earth and sand, i.e., a response model that represents the effect that the work machine 3 has on the work target, is shown. The soil surface shape updated by the operation of the backhoe, such as excavation, at a certain time k is expressed as a function g k The function that specifies the area of ​​soil to be updated by this operation is the window function w k Then, the updated sediment surface, that is, the function f representing the sediment surface shape at the next time step k+1, is k+1 can be expressed by equation (2).

[0065]

[0066] Equation (2) is also a simplified example, but in practice it is not limited to this. Equation (2) is an abstracted response model because the effect of the backhoe on the soil, specifically the update of the soil surface shape due to excavation, is expressed by functions g and w. In reality, functions g and w are expressed as the point on the soil side when the backhoe acts on the soil, that is, the point of contact with the soil (excavation point or insertion point) P exc or a parameter θ for expressing an excavation shape according to how the bucket is moved during excavation. For example, it can be expressed as in equation (3).

[0067]

[0068] In equation (3), η f,k is a logical variable at time step k. The above functions g and w used in constructing the response model are stored as response model information Ia3 in the storage device 5. Alternatively, the functions g and w may be selected from stored function candidates. The effects of the logical variables and the selection of the functions will be described later.

[0069] An example of a machine model that represents the relationship between the planning information input to the work machine 3 and the operation of the work machine 3 is shown below. For a backhoe, which is an example of the work machine 3, the abstracted state of the backhoe at time k is represented by a state vector X k The abstracted state of the backhoe means, for example, the position and posture of the backhoe in a certain coordinate system, and the displacement of each movable part, specifically the rotation angle of the upper rotating body and the angle of each arm part. These states are arranged in a column vector to form a state vector. The dynamics of the backhoe can be expressed by the value of this state vector, so the state vector represents an abstracted state (abstract state). The state vector X at the next time step k+1 bh,k+1 can be expressed as, for example, equation (4).

[0070]

[0071] In equation (4), Δ bh,k is a matrix containing the logical variables at time step k. bh,kis a vector representing the control input at time step k. k is the time step width at time step k. Equation (4) describes the update of the abstract state of the backhoe from time step k to k+1 using control input derived from planning information. Therefore, equation (4) represents a machine model. Note that the matrix Δ bh,k The action of will be described later.

[0072] Next, abstract models and logical variables will be described. Abstract models are not limited to models that abstract continuous dynamics (dynamic behavior) such as those used in mechanical or mechanical systems. Abstract models may also include models that abstract discrete dynamics including logical variables, such as equations (3) and (4). In other words, abstract models may represent systems (hybrid systems) that include continuous and discrete dynamics. Therefore, the above-described abstract models may include information regarding dynamics switching, i.e., logical branching, in hybrid systems. Specifically, the abstract models may include logical branching that depends on the value of logical variables (discrete values ​​of 0 and 1) in the abstract models, and the behavior of the abstract models is changed based on this logical branching.

[0073] For example, the logical variable η in equation (3) f,k If η is 1, the soil surface shape is updated, i.e., the backhoe has acted on the soil. On the other hand, if η is 0, the soil surface shape does not change, i.e., the backhoe has not acted on the soil. Thus, the logical variable η at time step k f,k By changing the value of , it is possible to select whether or not to act on the soil with the backhoe. k In this case, the control input U bh,k If the element corresponding to the displacement of the position is 1, the displacement is added, and the position of the backhoe's state vector is updated. In other words, 1 indicates that the backhoe will move. On the other hand, if it is 0, the displacement added will also be 0, and the position value of the state vector will not change. In other words, 0 indicates that the backhoe will not move. In this way, the matrix Δbh,k By changing the value of the logical variable, it is possible to select whether or not to move the backhoe. Therefore, by combining the time series values ​​of the logical variables and the time series values ​​of the control input to create planning information, it becomes possible to control the backhoe, including selecting its operation. A detailed example will be shown in the application example described below. In the above explanation, an example was shown in which logical variables are included in both equations (3) and (4), but in practice, it is sufficient to set the logical variables according to the operation to be selected. In other words, the logical variables may be set in either equation (3) or equation (4).

[0074] However, in the above example, the time steps representing the dynamics of the soil and sand shown in equations (2) and (3) and the time steps representing the dynamics of the backhoe shown in equation (4) are expressed as the same k and k+1, but they do not need to be updated at the same time step. For example, the update frequency of the backhoe state may be set higher than the update frequency of the soil and sand state. This is because changes in the state of the backhoe, i.e., the movement of the backhoe, are faster than changes in the state of the soil and sand.

[0075] The relationship between updating the soil surface shape expressed by equation (3) and updating the backhoe state expressed by equation (4) will be explained. The backhoe state vector X calculated by equation (4) bh Using the work machine model information Ia1 stored in the storage device 5 and, for example, a function FK representing forward kinematics, the point of action on the backhoe side when the backhoe acts on the earth and sand, i.e., the position P of the bucket part that scoops up the earth and sand, can be calculated. buc can be expressed as equation (5) at time step t.

[0076]

[0077] Therefore, the bucket position P calculated from equation (5) buc At a certain time step t, the excavation point P exc When the backhoe bucket matches the digging point P excIn response to this, when the logical variable of equation (3) is 1, the soil surface shape is updated by equation (3). Here, the state of the backhoe X bh is calculated from the dynamics of equation (4). k In this case, the control input U k If the element corresponding to the displacement of each moving part is 1, the backhoe bucket position Pbuc will also be displaced. However, if the element is 0, there will be no displacement. Therefore, the bucket position Pbuc is determined by the time series value of the logical variable. buc The dynamics of the bucket position P buc or a logical variable η indicating whether the soil surface shape has been updated. f,k Whether or not soil is excavated, i.e., the dynamics of the soil surface shape, are determined by the above equation. In other words, the abstract model of the work object is expressed as a hybrid model. The dynamics change discretely depending on the state of the work machine 3, which is controlled by logical variables, including the selection of actions.

[0078] The functions of the generation unit 41 have been described above using as an example a case where the work machine 3 is a construction machine, particularly a power shovel or a backhoe, and executes a task involving excavation of earth and sand, etc. The above description has exemplified a case where an abstract model is set as a known function or a trained model based on the information stored in the model information storage unit 51 in the storage device 5, and is not changed thereafter.

[0079] 3 shows an example of functional blocks of the planning unit 42 in the planning device 4. The planning unit 42 includes an abstract state setting unit 43, a target logical formula generation unit 44, and a plan generation unit 45. As with the explanation of the functions of the generation unit 41, the following explanation will take as an example a case where the work machine 3 is a construction machine, particularly a power shovel or backhoe, and executes a task involving excavation of earth and sand.

[0080] The abstract state setting unit 43 sets the initial state information of the actual work machine 3 in the abstract model set by the generation unit 41. The state vector X of the backhoe at the time k described above is kcontains state information that represents the position and posture of the backhoe in a coordinate system, as well as the displacement of each moving part. Information about the abstract state contained in the state vector is called state information. Specifically, state information is position information and angle information.

[0081] For a backhoe, which is an example of the work machine 3, position information and the angles of each moving part can be obtained using, for example, the following means. If outdoors, the position of the backhoe can be known using an installed positioning device such as a global navigation satellite system (GNSS). If the moving part is an electrical actuator, the angle of the moving part can be obtained as an electrical signal from an attached sensor (for example, a rotary encoder). In the case of hydraulic control, for example, the angle may be obtained by installing a device such as an inclination sensor, gyro sensor, acceleration sensor, or encoder on the housing of each moving part. The means for obtaining actual status information of the work machine 3 are not limited to the above means.

[0082] Preferably, the abstract state setting unit 43 sets all initial values ​​of the state vector to current state information, i.e., the values ​​of each current state of the work machine 3 (here, the backhoe). However, the set values ​​may differ depending on the target task, the type of work machine 3, and the like. For example, in a fixed environment where the backhoe does not move, it may not be necessary to set position information. Furthermore, in a state where there is little impact on the creation of plan information, the set values ​​may be default values ​​or provisional values. For example, consider a case where the goal to be achieved as the target task is the processing volume per hour or per day. In this example, setting position information is not necessary if, even if there is a difference between the actual initial angle of the backhoe's moving part and the angle set as the initial value of the state vector, the control time required to compensate for that difference is sufficiently short compared to the hourly or daily plan information.

[0083] The goal logical formula generation unit 44 sets a goal logical formula based on the goal task acquired by the input device 1 and the abstract model set by the generation unit 41. The goal logical formula is a logical formula that represents the final achievement state that is the goal of the task, and is expressed as an equality or inequality using variables. Note that the conditions for completing the goal task and the constraint condition information Ib1 stored in the storage device 5 may be combined into a single logical formula and expressed as the goal logical formula.

[0084] As in the above example, the following description will be given taking as an example a case where the work machine 3 is a construction machine, particularly a backhoe, and executes a task involving excavating earth and sand. Also, a task of excavating earth and sand and loading it into a dump truck is set as the target task, and the target is a total loading volume V within a certain unit time Tu. T As an example, let us consider the case where the following is set to be satisfied.

[0085] First, as one of the target logical formulas, proposition φ1: "The volume excavated by the backhoe is positive" and proposition φ 2 An example is shown below in which the constraint "The backhoe bucket will eventually reach the dump truck" is expressed. To express a goal formula, Signal Temporal Logic (STL) can be introduced. Signal Temporal Logic (hereinafter referred to as STL) is a logical system that uses logical operators such as F (Eventually, someday, eventually) and G (Always, forever) in temporal logic in addition to modal logic operators such as ∧ (and) and ∨ (or). Temporal logic also includes a logical system called Linear Temporal Logic (LTL). However, LTL is limited to linear constraints, i.e., true / false (1 / 0) logical values, and is therefore applied to discrete sequences. STL is a logical system that extends LTL to handle continuous values. STL can express real-time constraints and real-valued constraints. In other words, STL can handle not only linear constraints but also nonlinear constraints, so STL can be applied to a wider range of cases. In the following explanation, an example of an expression using STL is shown, but the target logical formula is not limited to this expression.

[0086] Using the STL representation, the above proposition φ 2 is a proposition φ' that expresses "The backhoe bucket reaches the dump truck." 2 and a temporal logic operator F, it can be expressed as, for example, equation (6).

[0087]

[0088] Equation (6) expresses that time series vector data (hereinafter referred to as a signal) ζ is k+a ~t k+b In the range of , proposition φ' 2 However, in equation (6), there exists a time t' k Therefore, it is not possible to determine whether the proposition is satisfied at time t k We introduce a function ρ that determines whether the proposition φ is satisfied. When the value of the function ρ is 0 or greater, that is, when it is expressed as in equation (7), the proposition φ can be satisfied.

[0089]

[0090] Using the function ρ expressed by equation (7), an equation that satisfies the proposition of equation (6) can be written as equation (8).

[0091]

[0092] Also, the target formula here is the proposition φ 1 And proposition φ 2 This φ 1 and φ 2 The above proposition can be written as in equation (9) using the function ρ introduced in equation (7).

[0093]

[0094] Next, the proposition φ 1 and proposition φ 2 Here are some examples of specific constraints. 1 is the condition that "the volume excavated by the backhoe is positive." This condition is an example based on the fact that excavation is an action of scooping up earth and sand, and that it is not excavation unless a finite volume is scooped up. If V[i] is the excavation volume of phase i (i is an integer greater than or equal to 1), then the proposition φ1 can be expressed as in equation (10).

[0095]

[0096] The phase i (i is a natural number) introduced here, which represents the index of excavation, corresponds to the change in the state of the sediment due to the action on the sediment, i.e., the number of excavations. Phase i is different from the time step k used to represent the dynamics of the backhoe in equation (4). This is because the backhoe must perform multiple operations over a certain time span to complete one excavation. In other words, the backhoe's state vector X must represent operations spanning multiple time steps according to the dynamics in equation (4). Note that phase i, which represents the number of excavations, may correspond to the index representing the dynamics of the sediment expressed in equation (3). This is because the state of the sediment changes due to the excavation operation by the backhoe, and the number of excavations and the update of the sediment state may correspond. Furthermore, the excavation volume is set to V[i-1] in phase i-1 because of the proposition φ 2 This is to take into account the order relationship with

[0097] proposition φ 2 is a condition that "the bucket of the backhoe will finally reach the dump truck." For example, the bucket of the backhoe will reach the dump truck when the bucket position P buc and loading position P on the dump truck lоad The difference in distance between dump This can be expressed as the following condition: where, proposition φ 1 Consider the order relationship between φ and 1 By this, the backhoe will have scooped up a finite amount of soil in phase i-1. 2 is expressed so that the bucket position finally reaches the loading position in the next phase i. This is based on the order relationship between the propositions that the soil must be saved before the bucket position reaches the loading position. That is, proposition φ 1 is a proposition φ 2Here, each phase is represented by an index k that represents the dynamics of the backhoe, where k = 1 to n (n is a natural number equal to or greater than 2). In other words, if k = n represents the last time step of each phase i, then proposition φ 2 can be expressed as, for example, equation (11) using the STL operator F in equation (6).

[0098]

[0099] In equation (11), the square of the distance (norm) is expressed, and the time of phase i and backhoe time step k is expressed as t i,k Therefore, equation (11) is expressed as follows: i,1 ~t i,n During this time, the backhoe bucket position P buc and loading position P on the dump truck lоad The difference in distance between dump Whether or not this constraint is satisfied depends on the tolerance of the distance difference, r dump Given this, the norm is calculated and a function ρ is used to determine whether the proposition φ introduced in equations (7) and (8) is satisfied. The backhoe bucket may also be calculated from equation (5). The loading position P on the dump truck lоad is the state vector X that represents the state of the dump truck. dt It may be calculated from

[0100] As mentioned above, proposition φ 1 and proposition φ 2 can be calculated by substituting numerical values ​​for the variables in formulas (10) and (11) for each proposition, and can be judged using formula (8) for the temporal logic operator and formula (9) for the operator "^" that represents "and". Note that the above example is just one example of describing a target logical formula.

[0101] Next, as a target logical formula representing the target task, u The total loading volume is V T The proposition φ that satisfies 3 An example of expressing a unit time T u The number of excavations between T Then, the proposition φ3 can be expressed as, for example, equation (12) using the excavation volume V[i] of phase i.

[0102]

[0103] In equation (12), δ V is the target total loading volume V T That is, equation (12) represents the allowable error from the number of excavation times N T The total loading volume is the target loading volume V T ±δ V is a constraint that indicates that

[0104] The target logical formula may include conditions for completing the above-mentioned target task and conditions for realizing appropriate operation, for example, constraint conditions based on constraint condition information Ib1 stored in storage device 5. Similar to the above example, an example of constraint conditions will be described below using as an example a case where the work machine 3 is a construction machine, particularly a backhoe, that executes the task of excavating earth and loading it into a dump truck.

[0105] First, the maximum volume that the backhoe can excavate in one go, i.e., the maximum value of the excavation volume V[i] in phase i, is determined by the bucket specifications of the backhoe. The bucket specifications may be stored in the storage device 5 as constraint condition information Ib1. The maximum volume that can be excavated in one go is V buc Then, the constraint φ 4 can be expressed as in equation (13).

[0106]

[0107] The maximum volume that the backhoe can load into the dump truck is determined by the specifications of the dump truck. The specifications of the dump truck may also be stored in the storage device 5 as constraint condition information Ib1. The number of times that the backhoe can load into the dump truck is determined as N D The maximum volume that can be loaded is V dump Then, the constraint φ 5 can be expressed as in equation (14).

[0108]

[0109] Next, an example of constraint conditions for safely executing a task will be shown. In the above example, a backhoe is used as the work machine 3, and a dump truck is used as another work machine required for the backhoe to execute the task. Therefore, the following explanation will also use an example in which the work machines 3 of the control system 100 include a backhoe and a dump truck. The state vectors representing the respective abstract states are: backhoe X, bh , Dump Truck X dt In this case, one of the constraints for each work machine to safely execute the task is the non-contact condition. This condition is set by determining the position of each backhoe P b h, Dump P dt Let the distance between them be a given value r cоl The condition can be expressed as, for example, equation (15).

[0110]

[0111] In addition, each of the contact determination positions P bh , P dt is the state vector X bh , X dt In addition, for a backhoe, since it has a rotating upper body and movable parts such as an arm and a bucket, the contact determination position P bh Calculate the default value r cоl It may also be possible to define

[0112] Other constraints may include conditions regarding the operating range of the work machine 3 and the specification of an area into which entry is prohibited. bh Regarding the range of values ​​that can be taken, the specification j (j is a natural number) for a certain region is the lower limit L lоw [j] to upper limit L up If it is specified that the constraints are up to [j], the constraints can be expressed as in equation (16), for example.

[0113]

[0114] The index j specifies the condition for the area. The number of conditions varies depending on the target task and the work environment. These conditions may be stored in the storage device 5 as constraint condition information Ib1. Note that the above example is an example for a backhoe, but the judgment position P dt Constraints can also be set for

[0115] Next, we will explain the constraints that relate the dynamics of the soil and sand expressed by equation (3) and the dynamics of the backhoe expressed by equation (4). Specifically, the bucket position P buc However, at a certain time step, the excavation point P exc When the backhoe bucket matches the digging point P exc This is a constraint that expresses the action of "excavating the bucket." buc is the drilling point P exc If the time step that coincides with the above equation is the final step n of each phase i, this constraint can be expressed as, for example, equation (17).

[0116]

[0117] In addition, the position P of the bucket part buc is the drilling point P exc The reason why the time step corresponding to the final step n of each phase i is set is because of the proposition φ 1 and proposition φ 2 This is because the order relationship of (a) and (b) and the update of the soil and sand expressed by equation (3) are taken into consideration. That is, the order relationship is set such that in the final step of each phase i-1, excavation is performed so that the excavation volume is equal to or greater than 0, the soil surface shape is updated at the same time, and in the next phase i, the bucket position reaches the loading position of the dump truck. Note that these constraint conditions are an example of settings for executing the target task, and in practice, they are not limited to these settings.

[0118] In the above description, the function of the target logical formula generator 44 is to generate a target logical formula φ based on the target task. 1 ~φ 8However, these are examples of a task in which the work machine 3 is used as a backhoe to excavate earth and load it into a dump truck. The function of the target logical formula generation unit 44 is not limited to such examples.

[0119] The plan generation unit 45 realizes the function of creating plan information for causing the work machine 3 to execute a target task based on the abstract model generated by the generation unit 41, the abstract state set by the abstract state setting unit 43, and the target logical formula set by the target logical formula generation unit 44. Hereinafter, the abstract models generated by the generation unit 41, that is, equation (3) representing the dynamics of the soil and equation (4) representing the dynamics of the backhoe, will be collectively referred to as abstract model Σ. As mentioned above, the plan information includes information representing the content and sequence of operations, and information representing the control input required for control. The former is the logical variable η in equation (3) representing the dynamics of the soil surface shape. f,k , and a matrix Δ containing the logical variables of equation (4) that represent the dynamics of the backhoe. bh The latter is calculated as the control input U bh These values ​​can be calculated as an optimization problem with the abstract model and the target formula as constraints. An example of this will be explained below.

[0120] First, the period for which optimization will be performed, i.e., the number of time steps, is set. Phase i, i.e., the number of excavations, is set to i = 1 to m. In this case, the time step k representing the dynamics of the backhoe is k = 1 to n, i.e., n steps make up each phase i, so the total time step is expressed as k = 1 to nm. Therefore, for example, Z can be found by optimization so that the following equation (18) is minimized.

[0121]

[0122] In equation (18), Q bh is the control input U bh Nφ is the matrix that determines the weight of the constraints. j indicates the proposition set by the target logical formula generation unit 44. Equation (18) is a relation between the abstract model Σ and the proposition φ jThis means that the state vector Z satisfying (j=1 to Nφ) is found so that the sum of the squares of the control inputs and the sum of the time steps are minimized. Note that the above formulation as an optimization problem is just one example. Furthermore, the means for finding a solution to the optimization problem is not limited to this example. Furthermore, the number of excavation times m, which determines the number of time steps for optimization, may be set appropriately depending on the type of work machine 3 and the target task. For example, in the above example of loading earth and sand into a dump truck using a backhoe, it is preferable to find the state vector Z satisfying the proposition φ 3 The number of excavations N during a certain unit time T set in T ". That is, m = N T In this case, the proposition φ 3 The target loading volume V T In other words, planning information that satisfies the target task can be obtained.

[0123] The above explanation shows an example in which optimization based on equation (18) is performed for m excavations. Here, we will discuss the case where the work machine 3 starts work based on the plan information for the mth excavation and then outputs plan information for excavations from the (m+1)th excavation onward. In this case, for example, by setting i = m+1 to 2m and optimizing based on equation (18), plan information can be obtained in the same way as for the mth excavation. Note that the solution obtained from the optimization for the mth excavation may be used as the initial solution for the next optimization. Alternatively, if the state of the work target or the work machine 3 changes due to the passage of time or a change in the environment, the target information may be acquired again from the observation device 2 and state information from the work machine 3 to set an abstract state, a new initial solution may be set, and optimization may be performed. Furthermore, the plan may be changed after the work machine 3 starts work but before actually completing m excavations. In this case, a predetermined range of the number of excavations i and an initial solution are set, and optimization is similarly performed based on equation (18), updating the existing plan information.

[0124] When a plan is repeated or changed as described above, we will provide additional information about equation (3), which represents the dynamics of sediment. As the number of planned excavations increases, the number of updates to the function expressed in equation (3) for each excavation cycle also increases, which can result in a complex function f representing the surface shape of the work target. In such cases, the computational load of optimization based on equation (18) may increase. Therefore, for example, after outputting the function f after optimization m excavations as data on the sediment height z at position (x, y), abstraction, i.e., the relationship between position (x, y) and height z, may be redefined using function f expressed in equation (1). This data output process can be achieved, for example, by calculating the value of height z at position (x, y) at a fixed period (grid) from function f, i.e., by sampling the value of height z from function f. Alternatively, when revising a plan, the abstraction process may be redone using data on the target information acquired by the observation device 2. These processes can prevent function f from becoming too complex when the plan is extended.

[0125] Note that the matrix Δ containing logical variables included in the optimization variable Z in equation (18) bh When STL is used as a method for expressing temporal logic, σ does not need to be a discrete value of 0 or 1. In other words, it can be treated as an approximation of a continuous value between 0 and 1. In other words, a mixed integer optimization problem (or a mixed integer programming problem) containing variables that take integer values ​​can be treated as a continuous relaxation problem without being solved. In general, by relaxing discrete value constraints to continuous values, the amount of calculation required for optimization calculations can be reduced. Note that in this embodiment and embodiments described below, the method and means (solver, library, etc.) for solving the optimization problem are not limited to a specific one. The method and means for solving the optimization problem can be selected appropriately depending on the problem.

[0126] The function of the plan generation unit 45 for creating plan information has been described above. Specific examples of plan information and the relationship between the state vector Z obtained as an optimization solution from equation (18) and the subtasks, actions, and motions described above will be shown in the application examples described below. Furthermore, the above description uses as an example a task in which the work machine 3 is a backhoe and excavates earth and loads it into a dump truck, but the formulation and calculation method are not limited to those exemplified in the above description.

[0127] (Explanation of Operation) Next, the processing executed by the control system 100 will be described with reference to Fig. 4. Fig. 4 is a flowchart showing an example of the operation of the control system 100.

[0128] The planning device 4 acquires target task information from the input device 1, acquires target information from the observation device 2, and acquires status information from the work machine 3 (step S101).

[0129] Next, the generation unit 41 of the planning device 4 sets an abstract model based on the acquired target task information and object information and the model information stored in the model information storage unit 51 in the storage device 5 (step S102). The abstract model includes, as model information, at least a model of the work machine 3 (machine model), a model of the work object (object model), and a model representing the relationship between the work machine 3 and the work object (response model), based on work machine model information la1, object model information la2, response model information la3, etc.

[0130] Next, the planner 42 sets an abstract state based on the set abstract model and state information about the work machine 3 (step S103). Preferably, the planner 42 sets the current state information of the work machine 3, and also sets initial values ​​(initial solutions) for the values ​​of the other abstract states.

[0131] Furthermore, the planner 42 sets a target logical formula based on the set abstract model, the target task information acquired from the input device 1, and the task information stored in the task information storage unit 52 in the storage device 5 (step S104). When generating the target logical formula, the planner 42 may use the constraint information Ib1 as task information. The planner 42 may also use a description format of signal temporal logic (STL).

[0132] The planner 42 then creates and outputs plan information that satisfies the set abstract model and the set target logical formula (step S105). The plan information is based on a solution calculated by optimization so as to satisfy the abstract model and the target logical formula. When calculating the plan information, the planner 42 may refer to subtask information Ib2 and action information Ib3, which are task information stored in the task information storage unit 52 in the storage device 5.

[0133] The control system 100 then controls the work machine 3 based on the created plan information to cause it to execute the target task (step S106).

[0134] Here, if the work is not to be continued or there are no changes to the created plan information (YES in step S107), the operation ends. On the other hand, after the work machine 3 has been controlled based on the created plan information, or if the work target or the state of the work machine 3 has changed over time or due to a change in the environment, the existing plan information may be changed by generating plan information again. In other words, if there is a change in the plan information (NO in step S107), the flow (steps S103 to S106) of acquiring current target information from the observation device and current state information from the work machine 3 and outputting plan information based on the set abstract model to control the work machine is repeated.

[0135] (Effects of the First Embodiment) First, the issues of existing systems to which the control system 100 is compared will be described. When the target of a task is an irregular or deformable object, and the task includes multiple actions, the following issues must be addressed when using existing systems to achieve a goal based on a plan that takes into account the order of the actions. The first issue with existing systems is that they are unable to create a plan that takes into account the dynamics of the task target and the order of the multiple actions. For tasks that involve multiple actions and require their execution in an appropriate order, planning for each action, i.e., sequential planning or short-term planning, may not be an appropriate plan. This is because a single action, i.e., the action of the work machine 3 on the task target, affects subsequent actions. In the example above, in the task of using the work machine 3 as a backhoe to excavate soil and load it into a dump truck, the soil, which is the target of the task, is an irregular and deformable object, so a single excavation action causes a change in the shape of the soil. This change in the shape of the soil affects subsequent excavations. In other words, each action has a cumulative effect on the target, and changing the order of the excavation locations, etc., changes the way the shape changes. In other words, the task has sequence dependency. For such a task, a long-term plan including the sequence of multiple operations is required, rather than a short-term plan for each operation.

[0136] However, if the target is an amorphous or deformable object that has not been abstracted, its dynamics, i.e., its time-varying behavior and its response to the work machine's actions, are not modeled, making it impossible to create a long-term plan that takes into account the time-varying behavior of the target. Furthermore, even if a system like the one described in Patent Document 1 has an abstraction mechanism, it is unable to consider the impact on the target or the sequence of operations. In contrast, the control system 100 of this embodiment generates a target model and a response model that also consider the impact on the target, and can determine multiple operations and their sequence through optimization.

[0137] This point will be explained further based on equation (18). Equation (18) optimizes the period from phase i = 1 to m, i.e., m excavation operations, as the planning period, i.e., the prediction horizon. These m excavation operations take into account the sediment dynamics expressed by equation (3) as an abstract model. That is, the plan generation unit 45 optimizes the excavation point Pexc while calculating each excavation operation and subsequent changes. In other words, the plan generation unit 45 performs a process over the period of m excavation operations, determining the excavation point while predicting the future shape after excavation using the abstract model. As a result, the plan generation unit 45 can calculate the optimal position of the excavation point for each excavation operation, taking into account the order and cumulative impact of the m excavation operations.

[0138] A second issue with existing systems is their inability to create plans under constraints that satisfy task goals. Generally, when existing systems control a work machine to perform a task (work), there is often a goal for the work content. Being able to confirm whether a plan satisfies the goal before the work machine actually operates eliminates the need to redo the work or change the plan, thereby contributing to improved work efficiency. However, for example, the system described in Patent Document 1 cannot confirm in advance whether a task that has not yet been performed will satisfy the goal. In contrast, the control system 100 of this embodiment can calculate plan information after setting the goal as a constraint when the goal can be defined as a proposition. This is based on the feature of this embodiment, which calculates plan information that satisfies constraints while predicting the dynamics of the work machine 3 and the work object, i.e., the effects of time changes and the actions of the work machine, using an abstract model. Another feature is that constraints that take time and order into account can be set by using temporal logic operators. Therefore, the control system 100 of this embodiment can set constraints that take time and order into consideration and calculate a solution that satisfies those conditions, so that even for a task that includes multiple actions and requires a plan that takes the order of the actions into consideration, it can confirm whether the goal will be met before the actual action is taken. In other words, the control system 100 of this embodiment can output executable plan information.

[0139] A third challenge with existing systems is the limitations on how constraints can be set to achieve a goal. Even if an abstract model could be established and constraints to achieve a goal could be set using linear temporal logic (LTL), a method of expressing temporal logic, this problem formulation would be a mixed-integer optimization problem involving discrete variables that determine the type and order of tasks and continuous values ​​that determine control inputs. Therefore, in reality, constraints are limited to linear conditions and can only be solved for linear abstract models. However, real tasks cannot always be described using linear constraints alone. Furthermore, the dynamics of the work machine and the work object are not always linear. In particular, if the work object is an irregular or deformable object, the dynamics of the work object become nonlinear. Furthermore, if the work machine also performs rotational movements, the dynamics will become nonlinear. In fact, in the task of excavating soil and loading it into a dump truck using the work machine 3 as an example described above, the abstract model of soil expressed in equation (3) is nonlinear. Furthermore, the transformation from the backhoe state expressed by equation (5) to obtain the bucket position is nonlinear. In such cases, existing systems cannot solve the problem as a mixed-integer optimization problem. In contrast, the control system 100 of this embodiment can use the signal temporal logic (STL) description method as a method for expressing temporal logic. As a result, the control system 100 of this embodiment can solve the problem as a nonlinear optimization problem without being limited to linear abstract models or constraints.

[0140] A fourth issue with existing systems is the difficulty of calculations due to the increasing number of combinations. Generally, in plans involving the selection of action types and their order, the number of branches, i.e., the number of combinations, increases, making it difficult to find a solution through optimization. This is because the problem to be solved is a mixed-integer optimization problem involving integer-valued variables. Finding a solution through optimization becomes even more difficult as the number of action types increases or the planning period becomes longer. Therefore, even if an existing system can set constraints to satisfy an abstract model and a goal, as in the configuration of the control system 100 of this embodiment, it is difficult to obtain an appropriate solution, i.e., feasible plan information that satisfies the constraints, within the given computational resources and required time. In contrast, the control system 100 of this embodiment uses a signal temporal logic (STL) description method as a temporal logic expression method, thereby relaxing integer-valued variables to continuous values. In other words, the control system 100 of this embodiment can significantly reduce the amount of calculations by solving the optimization problem as a continuous relaxation problem.

[0141] As described above, the control system 100 of this embodiment has advantages not found in existing systems and can achieve effects not found in existing systems. Based on these advantages, the control system 100 of this embodiment can generate plan information that meets the goal, i.e., an executable control plan, for long-term tasks that require selection of the type and order of operations for irregular or deformed objects, and cause the work machine to autonomously execute the task.

[0142] Second Embodiment (Configuration Description) Fig. 5 is a block diagram showing a configuration example of another embodiment of a control system. The configuration of a control system 200 shown in Fig. 5 is a configuration in which an evaluation unit 46 is added to the planning device 4 of the control system 100 of the first embodiment. The other parts of the control system 200 are the same as those in the control system 100.

[0143] The evaluation unit 46 will be described below. As in the control system 100 of the first embodiment, in the control system 200, the generation unit 41 in the planning device 4 generates an abstract model. The abstract model is used by the planning unit 42. At this time, at least the abstract model generated by the generation unit 41 and the target logical formula are input to the evaluation unit 46 of the control system 200. The evaluation unit 46 outputs an evaluation value. That is, the evaluation unit 46 performs an evaluation process using the abstract model and outputs the result as an evaluation value. The evaluation process is a process of solving an optimization problem under certain specified conditions based on the abstract model and the target logical formula to obtain an evaluation value. The optimization problem is equivalent to the problem in which the planning unit 42 determines the state vector Z as a solution based on equation (18), as described in the first embodiment.

[0144] However, the processing of the evaluation unit 46 differs from the processing of the planning unit 42 in the following respects. First, the purpose of the evaluation unit 46 is not to find the optimal solution Z as planning information, but to quickly obtain an evaluation value for the abstract model. Therefore, the evaluation unit 46 may solve the optimization problem under the condition that the amount of calculation required for the optimization calculation is reduced. For example, the evaluation unit 46 may set the period for executing the optimization, i.e., the number of time steps k, to be shorter than that set by the planning unit 42. In addition, all of the propositions φ set based on the target logical formula, i.e., φ j (j = 1 to Nφ) does not have to be satisfied. The evaluation unit 46 solves the optimization problem under these conditions, and obtains evaluation values ​​such as the calculation time, the feasibility (validity) of the solution, i.e., whether or not the given proposition is satisfied, the value of the evaluation function, and solvability, i.e., the proportion of valid solutions obtained when the optimization problem is solved under different conditions. Note that these evaluation values ​​are merely examples, and the evaluation values ​​are not limited to these. Furthermore, the evaluation unit 46 may output a specific evaluation value, or may calculate a final evaluation value to be output based on multiple evaluation values. The method of outputting the evaluation value may be determined appropriately depending on the type of work machine 3 and the content of the task.

[0145] In this embodiment, in the control system 200, the generation unit 41 updates the abstract model based on the evaluation value output by the evaluation unit 46. In the first embodiment, the generation unit 41 sets the abstract model as a known function or a trained model and does not change it thereafter. However, the generation unit 41 has a function for generating and setting the abstract model based on information stored in the model information storage unit 51 in the storage device 5. Therefore, the processing performed by the generation unit 41 is not limited to a processing in which the abstract model is set only once and then not changed thereafter. That is, the generation unit 41 may update the abstract model. Note that updating the abstract model refers to changing the function or the training model itself representing the abstract model based on the evaluation value output by the evaluation unit 46, specifically, the calculation time or the feasibility or solvability of the solution. Alternatively, updating the abstract model refers to a processing for changing the parameters of the function or model. Furthermore, the abstract model to be updated may be any one of a machine model, an object model, and a response model, or a combination of these models.

[0146] Next, the reason for updating the abstract model will be explained. As described for the first embodiment, each embodiment includes features such as prediction using an abstract model and optimization over a long time step including multiple operations. In the optimization process, an evaluation based on the value of each variable is calculated for each time step to obtain optimization, and therefore calculations based on the abstract model are performed to calculate each evaluation value. That is, calculations using the abstract model are performed a number of times corresponding to the number of time steps and the dimensions of the variables. Therefore, the calculation load from input to the abstract model to obtaining an output is high. In other words, if an abstract model requiring heavy calculations is used, the calculation load of the optimization calculation also increases. As a result, there is a risk that an optimal solution cannot be obtained, a feasible solution cannot be obtained, or the calculation time may be extremely long. In the first embodiment, such a situation can be avoided by understanding the calculation load of the abstract model in advance and setting and operating an appropriate abstract model. Information such as the calculation load of the abstract model may be stored as work machine model information Ia1, target model information Ia2, and response model information Ia3 in the model information storage unit 51 of the storage device 5. On the other hand, in the second embodiment, the evaluation unit 46 outputs the calculation load of the abstract model as an evaluation value, and the abstract model is updated based on the result, thereby addressing the above-mentioned concern.

[0147] The evaluation process and evaluation value by the evaluation unit 46, and the updating of the abstract model by the generation unit 41 will be described using the example of the task of excavating earth and loading it into a dump truck using the work machine 3 as a backhoe, as exemplified in the first embodiment. In this example, the abstract model targets are a model representing the dynamics of the backhoe in equation (4), a target model representing the earth and sand in equation (1), and a model representing the response of the earth and sand to the action of the backhoe in equation (3). With these abstract models set, the evaluation unit 46 solves the optimization problem in equation (18) under conditions that reduce the amount of calculation. For example, the evaluation unit 46 sets the phase i, which represents the number of excavations, to a value smaller than m. As a result, the optimization period becomes a value smaller than nm, thereby reducing the amount of calculation for optimization. Furthermore, it is not necessary to set all of the propositions φ. For example, when calculating the evaluation value, the proposition φ for satisfying the target task is3 "Total loading volume V in a certain unit time Tu" T "satisfies" can be omitted. Under this condition, the evaluation unit 46 acquires the calculation time until the state vector Z of equation (18) is calculated as a solution, and the evaluation value for the solution at that time, specifically, values ​​such as the value of the evaluation function, the number of iterations until convergence, and the amount of violation of the constraints. The evaluation unit 46 uses any of the calculation times and evaluation values, or a weighted sum of these values, as the evaluation value. If the evaluation value satisfies a preset value, for example, if the evaluation value is equal to or less than the preset value, the evaluation unit 46 uses the abstract model as is without updating it. If the evaluation value is greater than the preset value, the evaluation unit 46 updates the abstract model.

[0148] Next, an example of updating the abstract model by the evaluation unit 46 will be described. For example, in the object model representing soil and sand in Equation (1), it may be possible to reduce the computational load associated with model f by, for example, reducing the density of the three-dimensional data used (downsampling) or dividing the region without changing model f. When changing model f, the evaluation unit 46 may change the function used to represent it or the parameters of the trained model. Regarding the response model in Equation (3), if the object model f in Equation (1) is updated, the update is also reflected in f of the response model in Equation (3). Furthermore, the evaluation unit 46 may update functions g and w specific to the response model. Note that the mechanical model in Equation (4) does not generally require a high computational load and therefore does not need to be updated. However, if the bucket position P expressed in Equation (5) is buc Since the function FK includes a nonlinear transformation, the calculation of may be approximated by, for example, a model calculated using only linear changes. Note that information indicating the decision on which model to update based on the evaluation value and the update policy may be stored in the model information storage unit 51 in the storage device 5.

[0149] The above description has shown examples of updating the abstract model by reducing its accuracy, i.e., by limiting or approximating it. However, the method of updating the abstract model is not limited to these examples. These update methods are effective for reducing calculation time. However, there is a possibility that the evaluation function value will deteriorate, i.e., the optimality will decrease, or a solution that does not satisfy the constraints will be generated. In such cases, the evaluation unit 46 may update the abstract model to increase its accuracy. For example, the evaluation unit 46 may replace the change in soil and sand due to excavation with a learned model in the response model of equation (3).

[0150] Other abstract model configurations include (white box) models explicitly described in mathematical formulas such as functions, as described above, and black box models such as trained models. Other examples of the latter include environments such as simulators and digital twins.

[0151] (Explanation of Operation) Next, the processing executed by the control system 200 will be described with reference to Fig. 6. Fig. 6 is a flowchart showing an example of the operation of the control system 200. The processing of steps S101 to S106 is the same as those in the first embodiment. Note that the processing in the case where work is continued or the plan is updated (steps S107 and S108) shown as an example in the flowchart of the first embodiment is omitted from the illustration, but similar processing may also be performed.

[0152] The evaluation unit 46 in the planning device 4 performs an evaluation process based on the abstract model generated by the generation unit 41, the abstract state set by the planning unit 42, and the target logical formula, and outputs the result as an evaluation value (step S201). The evaluation process is, for example, a process of solving an optimization problem similar to the process of outputting plan information by the planning unit 42 (step S106) under certain specified conditions. Preferably, the evaluation unit 46 solves the problem under conditions that impose a lighter calculation load than the process by the planning unit (step S106), in other words, a shorter calculation time.

[0153] If the evaluation value satisfies the predetermined value (YES in step S202), the evaluation unit 46 adopts the current abstract model and proceeds to steps S105 and S106. If the evaluation value does not satisfy the predetermined value (NO in step S202), the evaluation unit 46 instructs the generation unit 41 to update the abstract model. In response to the instruction, the generation unit 41 updates the abstract model as described above (step S203). Then, the process returns to step S103. Then, the processes of steps S103, S104, S201, and S203 are repeated until the evaluation value satisfies the predetermined value.

[0154] (Effects of the Second Embodiment) As described above, using an abstract model that requires heavy calculations increases the calculation load of the optimization calculations performed by the planner 42, resulting in issues such as not obtaining an optimal solution, not obtaining a feasible solution, or taking an extremely long calculation time. In this embodiment, a pre-check, i.e., a test, can be performed using an optimization calculation with a reduced calculation load before the optimization calculations performed by the planner 42 to obtain plan information. This configuration makes it possible to avoid problems related to the control of the work machine 3, such as calculations that do not finish, take an extremely long calculation time, or calculating an infeasible solution at the stage of outputting plan information for actual control. For example, if an infeasible solution or a low-optimality, i.e., an inappropriate solution, is generated, the work machine 3 will operate inappropriately. This could result in reduced work efficiency and safety. However, according to this embodiment, a control system 200 that has the function of performing a pre-check and automatically updating the abstract model and is therefore highly effective in practice can be obtained.

[0155] Embodiment 3. (Configuration Description) Fig. 7 is a block diagram showing a configuration example of yet another embodiment of a control system. The configuration of a control system 300 shown in Fig. 7 is a configuration in which a learning unit 47 is added to the planning device 4 of the control system 200 of the second embodiment. The other parts of the control system 300 are the same as those in the control system 200.

[0156] The learning unit 47 learns the abstract model based on either or both of the target information acquired by the observation device 2 and the status information of the work machine 3. In the first and second embodiments, a case was exemplified in which candidate function information for generating the abstract model and learned model information were stored in the model information storage unit 51 of the storage device 5. In other words, the abstract model that the generation unit 41 can set depends on the information stored in the model information storage unit 51. Therefore, depending on the work target or target task, it may be impossible to set an abstract model from the information stored in the model information storage unit 51, or even if an abstract model can be set, the setting may not result in appropriate plan information. An example of the latter case is when the evaluation result of the evaluation unit 46, which has the same function as the control system 200 of the second embodiment, does not satisfy a predetermined value. Then, even if the abstract model is repeatedly updated, the evaluation value does not satisfy the predetermined value.

[0157] In contrast, the learning unit 47 in this embodiment does not set an abstract model based on information in the model information storage unit 51, but has the function of learning an abstract model from the target task, object information, and status information of the work machine 3. The abstract model learned by the learning unit 47 may be one or more of the abstract models set by the generation unit 41 in the first and second embodiments. In other words, the generation unit 41 may also set a model that is not learned by the learning unit 47. Preferably, the learning unit 47 acquires, by learning, a model equivalent to the object model and a model equivalent to the response model. The machine model may be set by the generation unit 41. In this way, the model learned by the learning unit 47 and the model set by the generation unit 41 are not limited to specific ones. They can be combined as appropriate.

[0158] In this embodiment, the specific learning method and configuration (architecture) of the learning unit 47 are not limited. For example, any learning method, such as a deep learning method using a neural network or machine learning, can be used. The results of the evaluation unit 46 can also be used during learning by the learning unit 47. Furthermore, in this embodiment, the learning unit 47 is not limited to a specific one. Preferably, a learning unit 47 having a typical learning function and an internal function for calculating an evaluation value is used. Therefore, the learning unit 47 can learn to reproduce the input and output of an abstract model as a standalone model. However, an abstract model learned in this manner may not necessarily be appropriate for the optimization calculation by the planning unit 42. Therefore, as in the second embodiment, the learning of the learning unit 47 may be adjusted based on the evaluation value by the evaluation unit 46. Specifically, examples of such adjustments include changing the trained parameters and relearning (fine-tuning) a previously trained neural network. However, the adjustment of the learning is not limited to these methods.

[0159] In this embodiment, the task of excavating soil and loading it into a dump truck using the work machine 3 as a backhoe, as exemplified in the first and second embodiments, is taken as an example. The learning unit 47 generates the target model of equation (1) and the response model of equation (3) through learning. The machine model of equation (4) is set by the generation unit 41. The reason for this is that the properties of the soil, which is the work target in this embodiment, change depending on the work environment, weather conditions, and the like. Specifically, the effects of changes and diffusion due to excavation change depending on the proportion of clay, soil, sand, and gravel mixed in according to the soil particle size, the proportion of moisture, and the like. Once the work machine 3 is determined, the machine model can be set according to its type. Preferably, the machine model can be set from work machine model information stored in the model information storage unit 51 in the storage device 5.

[0160] Hereinafter, an example will be given in which the learning unit 47 sets a response model expressed by equation (3) including the target model expressed by equation (1). When learning the response model, the learning unit 47 uses the soil surface shape f k and the function w that represents the effect of excavation by a backhoe k , and the function g k The learning unit 47 then inputs the soil surface shape f k+1 Alternatively, the learning unit 47 may learn the influence of excavation by the backhoe, that is, the influence corresponding to the functions w and g, without learning the target model expressed by equation (1). The shape of the soil before and after excavation by the backhoe can be acquired by the observation device 2. The term representing the influence of excavation by the backhoe is the backhoe's state vector X bh The learning unit 47 can be obtained by acquiring actual state information corresponding to the information from the observation device 2 and the information from the work machine 3, i.e., multimodal information. However, learning generally requires data that represents the relationships between many inputs and outputs. Therefore, the learning unit 47 can acquire data while excavation work is being performed by the backhoe. Furthermore, the learning unit 47 can acquire data while the backhoe is being operated by a human operator, rather than autonomously by the control system 300. In other words, the method of acquiring data is not limited in this embodiment.

[0161] (Explanation of Operation) Next, the processing executed by the control system 300 will be described with reference to Fig. 8. Fig. 8 is a flowchart showing an example of the operation of the control system 300. Note that the processing of steps S101 to S106 and steps S201 to S203 is the same as the processing of the control systems 100, 200 of the first and second embodiments shown in Figs. 4 and 6.

[0162] When the planning device 4 sets an abstract model based on the model information stored in the storage device 5 (YES in step S301), the generation unit 41 sets the abstract model (step S102). When the planning device 4 does not set an abstract model based on the model information stored in the storage device 5 (NO in step S301), in this embodiment, the learning unit 47 learns an abstract model based on either or both of the target information acquired by the observation device 2 and the status information of the work machine 3 (step S302). Then, the generation unit 41 sets the learned abstract model as the abstract model (step S102). Note that the learning unit 47 may learn the abstract model by inputting the evaluation value output by the evaluation unit 46.

[0163] The subsequent processing is the same as that in the first or second embodiment.

[0164] (Effects of the Third Embodiment) This embodiment can solve the problem that the generation unit 41 may be unable to set an appropriate abstract model. Therefore, it is possible to avoid a situation in which the abstract model cannot be set appropriately and the target task cannot be achieved. Furthermore, the generation unit 41 is not limited to the abstract models that can be set, and new models can be generated. As a result, more optimal planning information may be obtained. In the response model of earth excavation exemplified in the above description, the accuracy of the abstract model can be improved by taking into account, through learning, changes in the excavation shape due to differences in the properties of the earth. Furthermore, when information representing a model once learned by the learning unit 47, i.e., a trained model, is obtained, the information may be stored in the model information storage unit 51. In this case, the generation unit 41 may set the trained model stored in the model information storage unit 51 in subsequent processing. In this way, the learning unit 47 can be used for the purpose of setting an abstract model and for the purpose of increasing the information that serves as a model candidate stored in the model information storage unit 51. As described above, this embodiment contributes to improving performance by enabling more optimal operations to be executed, and improving applicability by enabling cases where an abstract model cannot be generated from current model information.

[0165] (Application Examples) Application examples of the first to third embodiments will be described below.

[0166] (Application Example 1) In the first application example, the work machine 3 in the first to third embodiments is a construction machine, and the construction machine is a backhoe 30. FIG. 9 is an explanatory diagram showing an example of the configuration of a control system 400 in the first application example. As shown in FIG. 9, the first application example includes an input device 1, an observation device 2, a backhoe 30, a target area 31 representing the soil to be worked on, a dump truck 32 for loading the soil, a planning device 4, and a storage device 5. In FIG. 9, a portable device such as a tablet terminal or smartphone is illustrated as an example of the input device 1. However, the input device 1 may also be a device or computer fixed in a room such as a control room or monitoring room. In FIG. 9, a device mounted on the backhoe 30 is illustrated as an example of the observation device 2. However, the observation device 2 may be fixed to the environment or mounted on another work machine. Furthermore, multiple observation devices 2 may be used.

[0167] The backhoe 30 has a mechanism that is controlled (automatically / autonomously operated) based on the planning information output by the planning device 4. That is, the planning device 4 can control the controlled units of the backhoe 30 electrically or by a remote control device, etc. Also, although one backhoe 30 is illustrated as an example in FIG. 9 , there may be multiple backhoes 30. In FIG. 9 , one rectangular area is illustrated as an example of the soil area 31 as the work target. However, the shape and number of work targets are not limited. Although one dump truck 32 is illustrated as an example in FIG. 9 , there may be multiple dump trucks 32.

[0168] The physical arrangement and connection of the planning device 4 and the storage device 5 are not limited to those in the first to third embodiments. Furthermore, the components of the planning device 4 may be the same as those in any of the first to third embodiments. The dump truck 32 may or may not be included in the work machine 3 controlled by the planning device 4 in the control system 400. If the dump truck 32 is included in the work machine 3, the dump truck 32 may be controlled by the planning device 4 and may be equipped with a device equivalent to the backhoe 30. If the dump truck 32 is not included in the work machine 3, a human operator operates the dump truck 32. Even if the dump truck 32 is not controlled by the planning device 4, necessary information about the dump truck 32 can be acquired from the dump truck 32 or from another system that manages the dump truck 32, as appropriate. Specifically, the acquired information includes the loading position P on the dump truck 32. lоad and the state vector X representing the state of the dump truck. dt is.

[0169] The functions and operations of the components in the first application example correspond to the functions and operations of the components in any of the first to third embodiments, and therefore a description thereof will be omitted.

[0170] FIG. 10 is an explanatory diagram showing an example of a UI (User Interface) screen 700 of the input device 1. The input device 1 is a device for inputting a target task from the user. The input device 1 accepts at least the task content and the goal to be achieved. As shown in FIG. 10, the results of the planning information output by the planning device 4 and the current status of the work machine 3, in this case the backhoe 30, may also be displayed simultaneously. In other words, the input device 1 may include a display device for displaying information to the user. The UI screen 700 shown in FIG. 10 will be described below as an example of the operation of the control system 400 shown in FIG. 9.

[0171] The UI screen shown in Figure 10 includes, as an example, a display area 701 including a section for inputting a target task, a display area 702 showing the process (schedule), a display area 703 displaying the legend, a display area 704 showing details of the process, a display area 705 showing an area including the target area 31, a display area 706 showing the status and specifications of the backhoe 30 in the display 705, a start button 707 for instructing the start of control, and an interrupt button 708 for instructing the interruption of control. Note that these components, arrangement, and display are examples. The components, arrangement, and display of the UI screen are not limited to those shown in Figure 10.

[0172] First, an example of an operation in which a user creates plan information by the control system 400 in FIG. 9 using the UI screen shown in FIG. 10 will be described. The user sets a target task and a goal to be achieved in the display area 701. The user confirms that the target area 31 designated as the target task is displayed in the display area 705. The user also confirms that the current position (☆) of the backhoe 30 is displayed in the display area 705. Furthermore, the user enters the status of the backhoe 30 that will execute the task, for example, the position information (X, Y, Z) and the yaw angle (Y), and specifications, for example, the maximum bucket volume V buc , maximum running speed v t , maximum turning speed v r It is confirmed that the specification is displayed. If the specification is not appropriate, the user may change the specification. Note that the items displayed on the UI screen in FIG. 10 are examples. Although there are settings that are not displayed, such as constraint conditions corresponding to the target task, these are assumed to be set in advance.

[0173] When the user presses the start button 707, the planning device 4 starts creating plan information. Specifically, the plan generating unit 45 in the planning device 4 solves the optimization problem of equation (18). At this time, the plan generating unit 45 j The value of is set based on the target task, the target goal, and other constraints that have been set. For example, in the display area 701, the sum of the targets of the two target tasks, that is, the packed volume Va+Vb, is calculated by the proposition φ 3The loading volume V is expressed as T The specifications of the backhoe 30 are set as follows: j , and the control input U bh is set to the upper limit value of . As a result of the plan generation unit 45 solving the optimization problem, time series values ​​of the state vector Z are obtained. This information becomes the basis of the plan information. When the creation of the plan information is completed, the planned time is displayed in the scheduled time in the display area 701. The user also confirms that the schedule is displayed in the display area 702. The backhoe 30 then starts operating based on the plan information. The user can stop the operation by pressing the interrupt button 708. In that case, the user can press the start button 707 again to resume the creation of the plan information and resume operation.

[0174] Next, each display item will be described in relation to its operation. The display area 701 includes at least a section for inputting a target task. In the example shown in FIG. 10 , the display area 701 includes, from the left, a column indicating whether the task is complete or incomplete, a column for inputting task content as the target task, a column for inputting the task's goal as the target task, a column displaying actual results relative to the goal, a column indicating the scheduled time for each planned target task, and a column indicating the actual scheduled time. The column indicating whether the target task is complete or incomplete preferably links with the display of performance information, which will be described later. The column for inputting task content and goal as the target task may include, for example, information specifying the target area 31, information specifying the task content, and information specifying the goal, as shown in FIG. 10 . The user may directly input information into the column, or may select pre-set content using a pull-down menu or the like. The information in the column may also be read as data from another system or external source. FIG. 10 illustrates examples of area designations (area a, area b), loading tasks, and target volumes (Va, Vb). The results are actual values ​​corresponding to the amounts specified as targets to be achieved. In FIG. 10, the actual loading volumes are displayed corresponding to the target volumes. The scheduled times indicate the scheduled start / end times of each task based on the planning information output by the planning device 4. The results indicate the times when each task actually started / ended. The scheduled time information corresponds to the display contents of the display area 702 showing the schedule. Note that any mechanism can be used to acquire the loading volumes, which are results corresponding to the targets, and the actual times corresponding to the scheduled times.

[0175] The display area 702 displays a process chart or schedule based on the planning information output by the planning device 4. As an example, the display area 702 displays time-series information of subtasks and actions. A legend for each subtask is displayed in the display area 703. Details of the motions and control inputs that make up each action are displayed in the display area 704. Note that the terms (subtasks, actions, motions) that represent the schedule (process) are the same as those used in the first embodiment.

[0176] Regarding the subtasks, the selection of each subtask is output so as to satisfy the target task. The start and end times are output as planning information. This information is displayed in the display area 702. The subtasks are preferably selected based on the matrix Δ which includes logical variables at time step k in the dynamics of the work machine 3 expressed by equation (4) in the first embodiment. bh,k The correspondence between time step k and actual time can be calculated from the vector T[k] representing the time at step k, which is included in the state vector Z of equation (8), and the initial time T[1] (k=1) that serves as its reference. Therefore, the state vector Z for time steps k=1 to nm obtained as a solution to the optimization of equation (8) is a value at each time T[k], i.e., time-series data. The matrix Δ containing logical variables bh [k] indicates the time series data of the subtask.

[0177] A case where the subtasks of moving and loading are displayed as a schedule will be described using the display area 702 and the display area 703 as an example. bh The movement of the backhoe 30, that is, U bh The element applied to the control input representing the displacement of the position of the backhoe 30 is set to ηm[k]. bh The element applied to the control input representing the displacement of the arm and bucket is defined as ηl[k]. The movement subtask is displayed based on the information of the time T[k] when ηm[k] = 1 and ηl[k] = 0. The loading subtask is displayed based on the information of the time T[k] when ηm[k] = 0 and ηl[k] = 1.

[0178] Next, the relationship between subtasks and actions will be explained. In the case of a movement subtask, for example, traveling to a certain waypoint can be expressed as the first action, and traveling to the next waypoint can be expressed as the second action. The travel target value of each action is the state X of the backhoe 30 included in the state vector Z of equation (8). bhThe target volume of each loading is calculated from the value of the element relating to the position of [k]. In the case of a loading subtask, for example, each loading of a dump truck can be represented as one action. The target volume of each loading is calculated from the value of the volume V[k] included in the state vector Z in equation (8). Note that the definition of such a subtask, the subtask and the matrix Δ bh The relationship between the subtask and the action, and the relationship between the subtask and the action are stored as subtask information Ib2 in the task information storage unit 52 in the storage device 5.

[0179] The display area 704 is an area where, for example, details of each action are displayed. The display area 704 may be displayed as a pop-up or the like. Information on the motions required to execute each action and their correspondence with control inputs is stored as action information Ib3 in the task information storage unit 52 of the storage device 5. In this application example, the types and order of motions and the relationship between the corresponding control input data are determined in advance based on the action information Ib3. That is, for display in the display area 704, actions representing travel to a certain waypoint are determined to be, for example, motion A for assuming a travel posture, motion B for adjusting the turning angle, and motion C for moving the crawler to travel. Then, control input data corresponding to each motion is generated and sent to the backhoe 30.

[0180] In the display area 705, for example, the target area 31 designated as the target task and the backhoe's current position are displayed superimposed on map information or three-dimensional topographical information of the work environment. If there are multiple target areas 31, the execution order of these areas is also planned. That is, the display areas 701 and 705 show that the scheduled start time for area a is earlier than the scheduled start time for area b, so the task for area a will be executed first.

[0181] An example of the UI screen 700 has been described above. Note that the UI screen 700 shown in FIG. 10 is merely an example. The display items and layout of the UI screen are not limited to those shown in FIG. 10. The number of tasks that can be input in the display area 701 is not limited to those shown in FIG. 10. For example, the columns in the display area 701 may be scrollable. Also, while an example is shown in which only the planned schedule is displayed in the display area 702, actual results or moment-to-moment progress may also be displayed in the display area 702. The time scale on the horizontal axis of the display area 702 may also be displayed arbitrarily. The display area 702 may be zoomed in / out and scrollable. As for the display area 705, in addition to displaying the planned target area 31, actual results and progress may also be displayed simultaneously.

[0182] Possible cases in which the above-mentioned first application example can be applied include, for example, river construction, coastal construction, dam construction, forest civil engineering work, road construction, tunnel construction, etc. In particular, the first application example can be expected to be effective in cases involving work of excavating irregular or deformed objects, such as earth, sand, gravel, or natural ground, using a backhoe or the like.

[0183] 11 is a block diagram showing an example of the configuration of a computer that can realize the control systems 100 to 400. The computer shown in FIG. 11 includes a processor 1000 such as a CPU, a program memory 1001, a memory 1002, a communication interface 1003, and an output interface 1004.

[0184] The planning device 4 shown in Figures 1, 5, 7, and 9 can be realized by software. That is, for example, the functions of the planning device 4 can be realized by a processor 1000 executing processing according to a program stored in a program memory 1001 in a computer illustrated in Figure 11. When multiple processors are installed, the multiple processors can also work together to realize the functions of the control systems 100 to 400.

[0185] The program memory 1001 is, for example, a non-transitory computer-readable medium. Non-transitory computer-readable media include various types of tangible storage media. For example, a semiconductor storage medium such as a flash ROM (Read Only Memory) or a magnetic storage medium such as a hard disk can be used as the program memory 1001. The program memory 1001 stores a control program or a control plan creation program for implementing the functions of the planning device 4 in the control systems 100 to 400 of the above-described embodiments and application examples.

[0186] A semiconductor storage medium or a magnetic storage medium can be used as the memory 1002. The memory 1002 stores temporary data and the like that is generated when the planning device 4 is executing processing. It is also possible to assume a configuration in which a control program or a control plan creation program is transferred to the memory 1002, and the processor 1000 executes processing based on the program in the memory 1002. Note that the program memory 1001 and the memory 1002 may be integrated.

[0187] The memory 1002 can also be used as a storage device 5 .

[0188] 11 realizes a function (such as a communication circuit) for transmitting and receiving data between the input device 1 and the observation device 2 and the planning device 4. Furthermore, the output interface 1004 realizes, for example, an output circuit for outputting planning information when the planning device 4 is configured to output information directly to the work machine 3.

[0189] Fig. 12 is a block diagram showing the main parts of the control plan creation device 10 (equivalent to control systems 100 to 400). The control plan creation device 10 shown in Fig. 12 comprises a generation means 11 (realized by a generation unit 41 in the embodiment) that generates, based on object information that is information about the work object, an abstract model of the work object, an abstract model of the response of the work object to the operation of the work machine, and an abstract model of the operation of the work machine, and a planner 12 (realized by a planner 42 in the embodiment) that creates plan information including selection of time-series operations by the work machine and control inputs based on the models generated by the generation means 11, and outputs the plan information.

[0190] Although part or all of the above-described embodiments can be described as follows, the present invention is not limited to the following configurations.

[0191] (Supplementary Note 1) A control plan creation device that creates a plan for a work machine to execute a target task for a work object, comprising: a generation means that generates, based on object information that is information about the work object, a model that abstracts the work object, a model that abstracts the response of the work object to the operation of the work machine, and a model that abstracts the operation of the work machine; and a planning means that creates plan information including selection of time-series operations and control inputs by the work machine, based on the models generated by the generation means, and outputs the plan information.

[0192] (Supplementary Note 2) The control plan creation device according to Supplementary Note 1, further comprising an input device for acquiring target task information related to the target task.

[0193] (Supplementary Note 3) The control plan creation device according to Supplementary Note 2, further comprising an observation device for acquiring the target information.

[0194] (Supplementary Note 4) The control plan creation device according to Supplementary Note 3, further comprising: a first storage device (in the embodiment, realized by a model information storage unit 51) that stores at least work machine model information, target model information, and response model information as model information; and a second storage device (in the embodiment, realized by a task information storage unit 52) ​​that stores at least constraint condition information, subtask information, and action information as task information, wherein the generation means generates each of the models using the model information and the task information.

[0195] (Supplementary Note 5) The control plan creation device according to any one of Supplementary Notes 2 to 4, wherein the target task information includes information on the content of a task to be executed by the work machine and information on a goal to be met by the target task.

[0196] (Supplementary Note 6) The control plan creation device according to any one of Supplementary Notes 1 to 5, wherein the planning means creates plan information for the work machine, which has an irregular object or a deformable object as the work target, to execute the target task.

[0197] (Supplementary Note 7) The control plan creation device according to Supplementary Note 4, wherein the planning means determines, as propositions, conditions that must be satisfied by the operation of the work machine, based on the target task information, the information stored in the first storage device and the second storage device, and the model generated by the generation means.

[0198] (Supplementary Note 8) The control plan creation device according to Supplementary Note 7, wherein the planning means uses temporal logic to write the propositions.

[0199] (Supplementary Note 9) The control plan creation device according to any one of Supplementary Note 1 to Supplementary Note 8, further comprising an evaluation means (implemented by an evaluation unit 46 in the embodiment) that calculates an evaluation value of the model generated by the generation means, wherein the generation means updates the model based on the evaluation value.

[0200] (Supplementary Note 10) A control plan creation device as set forth in any one of Supplementary Notes 1 to 9, further comprising a learning means (realized by a learning unit 47 in the embodiment) that learns either or both of a model that abstracts the work object and a model that abstracts the response of the work object to the operation of the work machine, based on the object information and status information of the work machine.

[0201] (Supplementary Note 11) The control plan creation device according to Supplementary Note 10, wherein the learning means performs learning using an evaluation value output by an evaluation means that calculates an evaluation value of the model generated by the generation means.

[0202] (Supplementary Note 12) A control plan creation method for creating, by a computer, a plan for a work machine to execute a target task for a work object, the method comprising: generating, based on object information that is information about the work object, a model that abstracts the work object, a model that abstracts the response of the work object to the operation of the work machine, and a model that abstracts the operation of the work machine; creating, based on the generated models, plan information that includes selection of time-series operations by the work machine and control inputs; and outputting the plan information.

[0203] (Supplementary Note 13) A computer-readable recording medium having stored thereon a control plan creation program that causes a computer to create a plan for a work machine to execute a target task for a work object, the computer generating, based on object information that is information about the work object, a model that abstracts the work object, a model that abstracts the response of the work object to the operation of the work machine, and a model that abstracts the operation of the work machine, and creates, based on the generated models, plan information that includes selection of time-series operations by the work machine and control inputs, and outputs the plan information.

[0204] (Supplementary Note 14) A control device that controls a work machine to perform a target task for a work object, comprising: a generation means that generates, based on object information that is information about the work object, a model that abstracts the work object, a model that abstracts the response of the work object to the operation of the work machine, and a model that abstracts the operation of the work machine; and a planning means that creates planning information that includes selection of time-series operations and control inputs by the work machine, based on the models generated by the generation means, and outputs the planning information.

[0205] Although the present invention has been described above with reference to the embodiments, the present invention is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

[0206] REFERENCE SIGNS LIST 1 Input device 2 Observation device 3 Work machine 4 Planning device 5 Storage device 10 Control plan creation device 11 Generation means 12 Planning means 30 Backhoe 31 Target area 32 Dump truck 41 Generation unit 42 Planning unit 43 Abstract state setting unit 44 Target logical formula generation unit 45 Plan generation unit 46 Evaluation unit 47 Learning unit 51 Model information storage unit 52 Task information storage unit Ia1 Work machine model information Ia2 Target model information Ia3 Response model information Ib1 Constraint condition information Ib2 Subtask information Ib3 Action information 100, 200, 300, 400 Control system 700 UI screen 1000 Processor 1001 Program memory 1002 Memory 1003 Communication interface 1004 Output interface

Claims

1. A control plan creation device that creates a plan for a work machine to execute a target task for a work object, comprising: a generation means that generates, based on object information that is information about the work object, an abstract model of the work object, an abstract model of the response of the work object to the operation of the work machine, and an abstract model of the operation of the work machine; and a planning means that creates plan information including selection of time-series operations and control inputs by the work machine based on the models generated by the generation means, and outputs the plan information.

2. The control plan creation device according to claim 1, further comprising an input device for acquiring target task information related to the target task.

3. The control plan creation device according to claim 2, further comprising an observation device for acquiring the target information.

4. A control plan creation device as described in claim 3, further comprising: a first storage device that stores at least work machine model information, target model information, and response model information as model information; and a second storage device that stores at least constraint information, subtask information, and action information as task information, wherein the generation means generates each of the models using the model information and the task information.

5. A control plan creation device according to claim 2, wherein the target task information includes information on the content of the task to be executed by the work machine and information on the goal that the target task must satisfy.

6. A control plan creation device according to claim 1, wherein said planning means creates plan information for said work machine, whose work target is an object of an indefinite shape or a deformable object, to execute said target task.

7. A control plan creation device as set forth in claim 4, wherein said planning means determines, as propositions, conditions that must be satisfied by the operation of said work machine based on said target task information, information stored in said first storage device and said second storage device, and a model created by said creation means.

8. The control plan creation device according to claim 7, wherein said planning means uses temporal logic to describe said propositions.

9. A control plan creation device according to any one of claims 1 to 8, further comprising evaluation means for calculating an evaluation value of the model created by said creation means, wherein said creation means updates the model based on said evaluation value.

10. A control plan creation device according to any one of claims 1 to 8, further comprising learning means for learning either or both of a model that abstracts the work object and a model that abstracts the response of the work object to the operation of the work machine, based on the object information and status information of the work machine.

11. The control plan creation device according to claim 10, wherein the learning means performs learning using an evaluation value output by an evaluation means that calculates an evaluation value of the model created by the creation means.

12. A control plan creation method using a computer to create a plan for a work machine to execute a target task for a work object, the method generating an abstract model of the work object, an abstract model of the response of the work object to the operation of the work machine, and an abstract model of the operation of the work machine based on object information that is information about the work object, and creating plan information including selection of time-series operations and control inputs by the work machine based on the generated models, and outputting the plan information.

13. A computer-readable recording medium storing a control plan creation program that causes a computer to create a plan for a work machine to execute a target task for a work object, the computer generating, based on object information that is information about the work object, an abstract model of the work object, an abstract model of the work object's response to the work machine's operation, and an abstract model of the work machine's operation, and creating, based on the generated models, plan information including selection of time-series operations by the work machine and control inputs, and outputting the plan information.

Citation Information

Patent Citations

  • Work support server and work support system

    JP2021103193A

  • Neural task planning part for autonomous travelling vehicle

    JP2021113487A

  • Excavation plan preparation device, work machine, and method for preparing excavation plan

    JP2021188362A

  • Management system for construction machine

    JP2022157635A

  • Route plan generation system of work vehicle, and route plan generation method of work vehicle

    JP2024005910A