Control plan creation device and control plan creation method

The control plan creation device optimally plans actions and motions for autonomous work machines by generating abstract models and using sequential planning units, addressing computational challenges with deformable targets.

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

Patent Information

Application Number
PCT/JP2024/007112
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 challenges in simultaneously planning the type and sequence of actions and motions for autonomous work machines, especially when dealing with deformable or amorphous targets, leading to computational difficulties and suboptimal decomposed plans.

Method used

A control plan creation device and method that generates abstract models for work targets and machines, using a first planning unit to create initial planning information based on task and machine status, followed by a second planning unit to select time-series operations and control inputs, ensuring optimal action sequencing.

Benefits of technology

Enables simultaneous planning of operations and motions for deformable targets, generating effective control plans for autonomous work machines to execute tasks efficiently.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024007112_04092025_PF_FP_ABST
    Figure JP2024007112_04092025_PF_FP_ABST
Patent Text Reader

Abstract

This control plan creation device 10 that creates a plan for a work machine to execute a target task on a workpiece includes: a generation means 11 that generates an abstract model for the workpiece and the work machine; a first planning means 12 that creates first plan information about the work machine on the basis of target task information related to the target task, state information of the work machine, and the abstract model; and a second planning means 13 that creates second plan information including selection of time series operation by the work machine and control input on the basis of at least the first 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 technologies for generating motion plans or controlling an autonomous work machine (hereinafter simply referred to as a work machine) to execute a task to achieve a given goal. When a task is complex, consisting of multiple types of motion, it is important to select the types and order of motions so that the work machine can execute the task and achieve high work efficiency. However, simultaneously planning the task (task planning) and planning the control (motion planning) poses challenges in terms of computational scale.

[0003] Patent Literature 1 discloses a technology for planning tasks by converting or decomposing them using the hierarchical nature of the tasks. Specifically, the patent discloses a system in which a construction vehicle (e.g., an excavator) performs automatic excavation in fields such as mining, construction, and agriculture. The system described in Patent Literature 1 is said to be capable of executing complex tasks with a high success rate and high operational efficiency.

[0004] Japanese Patent Application Laid-Open No. 2021-113487

[0005] The system described in Patent Document 1 utilizes the hierarchical nature of the target task to decompose a high-level task into tasks and motions. The task is then executed using a first model that plans the global area and a second model that determines the order and specifications of local operations. However, because the system uses learning techniques, particularly imitation learning, to decompose the tasks and determine the order, it can be difficult to apply the system to environments or situations where there is no learning data.

[0006] Furthermore, according to the disclosure of Patent Document 1, task requirements and motion requirements are different. Patent Document 1 states that integrating task and motion planning is difficult. In general, this problem is defined as an integrated task and motion planning (TAMP) problem. In particular, Patent Document 1 states that in the environment of an automatic excavator targeted by the system described in Patent Document 1, the environment (target) is deformable, making calculations even more difficult.

[0007] Thus, when the task target or environment is deformable, it is difficult to solve the so-called TAMP problem, which is a problem of simultaneously planning the type and sequence of actions and motions. The technology disclosed in Patent Literature 1 solves this problem by hierarchically decomposing the task based on learning, and solving the global domain plan and the local operation sequence plan using separate models. However, if the hierarchical decomposition is inappropriate, the individual decomposed plans may also be inappropriate. Furthermore, because the neural task planner is separated into global and local models, if one plan is inappropriate, the other may also be inappropriate. In other words, because the decomposition and model separation are irreversible processes with respect to the original task, it is difficult to guarantee optimality.

[0008] An object of the present invention is to provide a control plan creation device and a control plan creation method that overcome the computational difficulty of the problem of simultaneously planning the type and sequence of actions and motions, even when the task target is deformable, i.e., when the target is an amorphous or deformable object, and that can generate an action plan for causing a work machine to execute a task.

[0009] A control plan creation device based on the present disclosure includes a generation means for generating abstract models for a work target and a work machine, a first planning means for creating first planning information for the work machine based on target task information related to the target task, status information of the work machine, and the abstract model, and a second planning means for creating second planning information including selection of time-series operations by the work machine and control inputs based on at least the first planning information.

[0010] A control plan creation method based on the present disclosure involves a computer generating abstract models for a work object and a work machine, creating first plan information for the work machine based on target task information related to the target task, status information of the work machine, and the abstract model, and creating second plan information including selection of time-series operations by the work machine and control inputs based on at least the first plan information.

[0011] A control plan creation program based on the present disclosure causes a computer to generate abstract models for a work target and a work machine, create first plan information for the work machine based on target task information related to the target task, status information of the work machine, and the abstract model, and create second plan information including selection of time-series operations by the work machine and control inputs based on at least the first plan information.

[0012] According to the present invention, even when the target is an object with an indeterminate shape or a deformed object, it is possible to simultaneously plan the type and sequence of operations and the motion, and generate an operation plan for causing a work machine to execute a task.

[0013] 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 block diagram showing an example of functional blocks of a first planning unit or a second planning unit in a planning device. FIG. 4 is a block diagram showing an example of the flow of information within the planning device. FIG. 5 is a flowchart showing an example of the operation of the control system. FIG. 6 is a block diagram showing an example of the configuration of another embodiment 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 the control system in a first application example. FIG. 10 is an explanatory diagram for explaining an example of hierarchical optimization of the control system in the first application example. FIG. 11 is an explanatory diagram showing an example of a UI screen of an input device. FIG. 12 is a block diagram showing an example of the configuration of a computer capable of realizing the control system. FIG. 13 is a block diagram showing main parts of the control system. FIG. 14 is a block diagram showing another example of the main parts of the control system.

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

[0015] 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.

[0016] 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, a first planning unit 42, a second planning unit 46, and a conversion unit 47. The storage device 5 includes a model information storage unit 51 and a task information storage unit 52.

[0017] 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. The planning device 4 and storage device 5 may be mounted on the work machine 3 or provided in an independent location.

[0018] 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.

[0019] 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.

[0020] 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).

[0021] 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.

[0022] 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.

[0023] 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.

[0024] 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.

[0025] 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.

[0026] 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.

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

[0028] 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.

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

[0030] The planning device 4 has a generation unit 41 and a first planning unit 42, and outputs information (plan 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 combination of these operations can execute the target task. 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.

[0031] 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.

[0032] 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.

[0033] 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.

[0034] The first planning unit 42 and second planning unit 46 in the planning device 4 create plan information for the work machine 3 to execute the target task, based on the abstract model generated by the generation unit 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.

[0035] The differences between the first planner 42 and the second planner 46, i.e., the differences in the plan information generated by each, will be described. There is a sequence in the flow of information and processing between the first planner 42 and the second planner 46. First, the first planner 42 creates and outputs first plan information based on the abstract model generated by the generator 41 and the first initial solution. The first initial solution corresponds to the abstract model generated by the generator 41. The first initial solution may be stored in the storage device 5. Next, the second planner 46 creates and outputs second plan information based on the abstract model generated by the generator 41 and the second initial solution. The second initial solution is based on the first plan information output by the first planner 42. In other words, the processing of the second planner 46 is executed after the processing of the first planner 42. The second planner 46 performs processing using the output of the first planner. Therefore, the plan information finally output by the planner 4 and used to control the work machine 3 is the second plan information output by the second planner 46. Specific examples of the first initial solution and the first planning information, and the second initial solution and the second planning information will be described later.

[0036] The conversion unit 47 of the planning device 4 receives the first planning information output by the first planning unit 42. The conversion unit 47 outputs a second initial solution, which is input to the second planning unit 46. That is, the conversion unit 47 has a function of connecting processes and information between the first planning unit 42 and the second planning unit 46. Specifically, the conversion unit 47 obtains the second initial solution by converting the first planning information based on a certain criterion. The conversion criterion may be stored in the storage device 5. The conversion process may include, for example, extracting some information from the input information or converting the input information based on a certain function. The function may be described as a mathematical formula or as a learning model using deep learning or machine learning, such as a neural network. Specific methods and examples of the conversion process will be described later.

[0037] The second plan information used to control the work machine 3 will now be discussed in more detail. The information representing the type of operation may be information in which the operation of the work machine 3 is described hierarchically. For example, the work machine 3 can 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.

[0038] The operation content of a subtask may be directly linked to 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. 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.

[0039] 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.

[0040] 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.

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

[0042] 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 second planning unit 46. Since the time can be calculated relative to a certain reference time, the time can be applied to the actual task by setting the reference time to the actual time. 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 is executed, i.e., time series information.

[0043] 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 second planning unit 46 in the planning device 4. The control method can be determined appropriately depending on the type of work machine 3 and the work, and is not limited to this embodiment or the embodiments described below.

[0044] As described above, the second planning unit 46 simultaneously generates information about the type of action, and information about the timing of executing that action and the sequence between actions. The second planning unit 46 then outputs time-series information for controlling the controlled units of the work machine 3 to the work machine 3. In this way, the second planning unit 46 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 second planning unit 46 will be described later.

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

[0046] 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.

[0047] The model information storage unit 51 in the storage device 5 supplies or stores information required when the generation unit 41 in 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 first planning unit 42 and the second planning unit 46 of the planning device 4 create plan information. Note that 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, for example, the input device 1. Specific examples of information will be described later.

[0048] 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.

[0049] 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.

[0050] 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.

[0051] 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 first planner 42. Specifically, although it depends on the type of work machine 3 and the task, the 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.

[0052] The conversion information Ia4 is information referenced by the conversion unit 47 in the process of converting the first planning information output by the first planning unit 42 into a second initial solution to be input to the second planning unit 46. Specifically, the conversion information Ia4 is an extraction criterion in the process of extracting part of information from input information, or function information in the process of converting input information based on a certain function. For the latter function information, a mathematical formula may be stored as the conversion information Ia4. Furthermore, in the case of a learning model using deep learning or machine learning such as a neural network, parameters representing the weights may be stored.

[0053] 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.

[0054] 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).

[0055] The subtask information Ib2 includes, for a given task (job), the types of subtasks required to achieve a goal, information for determining multiple combinations of subtasks, and information for defining the subtasks. The subtask information Ib2 is used by the first planning unit 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 of actions. 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. The 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.

[0056] 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 first planning unit 42 when selecting actions, determining the order, and determining parameters. The information defining 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 first planning unit 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 representing the relationships between actions, motions, and control signals, for example, table data or a directed / undirected graph.

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

[0058] 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 first planner 42.

[0059] Furthermore, because the above-mentioned classification into 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 first planning unit 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.

[0060] The generation unit 41 functions when the work object has not been abstracted or modeled, or when an abstract model is to be reconfigured.

[0061] 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.

[0062] 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.

[0063] 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).

[0064]

[0065] 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.

[0066] 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).

[0067]

[0068] 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).

[0069]

[0070] 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.

[0071] 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).

[0072]

[0073] 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.

[0074] 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.

[0075] For example, the logical variable η in equation (3) f,k If is 1, the soil surface shape is updated, i.e., it indicates that the backhoe has acted on the soil. On the other hand, the logical variable η f,k If is 0, the soil surface shape does not change, that is, the backhoe does not act on the soil. Thus, the logical variable η 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,kIf 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 plan 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).

[0076] 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.

[0077] 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.

[0078]

[0079] Therefore, the position P of the bucket part calculated from equation (5) buc At a certain time step t, the drilling point P exc When the backhoe bucket matches the digging point P exc In 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 bucket position Pbuc of the backhoe 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 or not 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.

[0080] 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.

[0081] FIG. 3 is a block diagram showing an example of functional blocks of the first planning unit 42 or the second planning unit 46 in the planning device 4. The first planning unit 42 and the second planning unit 46 are independent elements that constitute the planning device 4. However, the first planning unit 42 and the second planning unit 46 each include similar functional blocks. Therefore, in FIG. 3, the first planning unit 42 and the second planning unit 46 are each described as the mth planning unit (m = 1 or 2). Hereinafter, functions common to the first planning unit 42 and the second planning unit 46 will be described using the name mth planning unit. The mth planning unit includes an abstract state setting unit 43, a target logical formula generation unit 44, and a plan generation unit 45. In the following description, as with the description of the functions of the generation unit 41, an example will be taken of the work machine 3 being a construction machine, particularly a power shovel or a backhoe, and executing a task involving excavating earth and sand.

[0082] 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 k The state vector contains 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 referred to as state information. Specifically, the state information is position information and angle information.

[0083] 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.

[0084] 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.

[0085] Furthermore, the abstract state setting unit 43 may have independent functions in each of the first planning unit 42 and the second planning unit 46. Specifically, the first planning unit 42 sets all initial values ​​of the state vector described above, as well as values ​​for other time steps of the state vector, variables that cannot reflect the current state information, and parameter values. As described above, if the current state information cannot be reflected, the abstract state setting unit 43 sets default values ​​or provisional values. All of these values ​​included in the state vector are referred to as initial solutions. The first planning unit 42 sets a first initial solution. The second planning unit 46 sets a second initial solution. However, the second initial solution is set based on the first planning information output by the first planning unit 42 and processing by the conversion unit 47. Setting examples will be described later.

[0086] 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.

[0087] 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.

[0088] As a goal logical formula representing the objective task, "total loading volume V in a certain unit time Tu" T An example will be described below in which the proposition "satisfies the following" is expressed. First, a case will be described in which the first planning unit 42 and the second planning unit 46 generate different propositions for the proposition φ1 that represents the target task. The reason for this is that, as described above, there is an order to the flow of plan information that is processed and generated between the first planning unit 42 and the second planning unit 46.

[0089] Specifically, first, the first planning unit 42 calculates a proposition φ for satisfying the target task. 1 Next, the second planning unit 46 sets the proposition φ based on the first planning information and outputs the first planning information. 1i (i is a natural number) and outputs the second plan information. A specific process flow and an operation example will be described later.

[0090] First, the first planning unit 42 determines a proposition φ 1 Here, we will show an example of setting the number of excavations during a certain unit time Tu as N T Then, the proposition φ 1 can be expressed as in equation (6) using the excavation volume V[i] of region i (i is an integer of 1 or more).

[0091]

[0092] In equation (6), δ V is the target total loading volume V T That is, equation (6) 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

[0093] Next, the second planning unit 46 calculates the proposition φ based on the first planning information. 1,iHere is an example of setting (i is a natural number). 1,i is the proposition φ expressed in equation (6). 1 Specifically, this is a proposition to satisfy the excavation volume V[i] of the region i. 1,i can be expressed as, for example, equation (7).

[0094]

[0095] In equation (7), δ v represents the tolerance from the target excavation volume V[i] in each region i. Therefore, equation (7) expresses the excavation volume V[i]±δ of region i. v The excavation volume V for each jth time (j is a natural number) i [j] to N i In the range of possible values ​​of i and j, V[i] is V i [j] is greater than V[i]. i [j]. N i is a natural number greater than 1. Also, the proposition φ 1,i is set corresponding to the region i, so that the maximum number of excavations is N T Individual propositions φ 1,i However, it is not necessary to satisfy all the regions i, and some regions may be extracted by the processing of the conversion unit 47. That is, the proposition φ 1,i does not need to be set for all regions i, T The processing flow and operation example of the conversion unit 47 will be described later.

[0096] The first planning unit 42 and the second planning unit 46 plan the proposition φ 1 and proposition φ 1,i The reason why we set the above equations (6) and (7) respectively will be explained. The above explanation has shown that there is a relationship between the propositions, specifically, a hierarchical relationship regarding the excavation volume. Specifically, the proposition φ 1 The excavation volume V[i] in each region i is expressed by the proposition φ 1,i N represented by iThe condition is satisfied by the sum of the excavation volumes Vi[j] of the excavation times. In other words, the first planning unit 42 determines first planning information (higher-level planning information) that satisfies the conditions for the excavation volume V[i], and for each region i, the second planning unit 46 determines second planning information (lower-level planning information) that satisfies the conditions for the excavation volume Vi[j]. However, the above-mentioned hierarchical relationship for the excavation volume is an example of a case where the work machine 3 is used as a backhoe to execute a task of excavating earth and sand and loading it into a dump truck.

[0097] Next, a proposition φ (higher proposition) related to other higher-level planning information set by the first planning unit 42 and a proposition φ related to other lower-level planning information for the region i set by the second planning unit 46 are calculated. ,i An example of a higher-level proposition (lower-level proposition) will be described below. Note that due to the hierarchical relationship between the propositions described above, the proposition set by the first planning unit 42 may be directly related to the target task. On the other hand, the proposition set by the second planning unit 46 may be directly related to the control of the work machine 3. In other words, the higher-level proposition and the lower-level proposition may have different roles.

[0098] Other higher-level propositions set by the first planning unit 42 may include conditions for realizing appropriate operations, for example, constraint conditions based on the constraint condition information Ib1 stored in the storage device 5. The above proposition φ 1 Assume that the area i represented by is set to the size of one dump truck when a backhoe loads the dump truck. In this case, the excavation volume V[i] of the area i must be equal to or less than the maximum volume that can be loaded onto the dump truck. This maximum volume is determined by the specifications of the dump truck. The specifications of the dump truck may be stored in the storage device 5 as constraint condition information Ib1. The maximum volume that can be loaded onto the dump truck is V dump Then, this constraint φ 2 can be expressed as in equation (8).

[0099]

[0100] 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. For example, the position Pbh Regarding the range of values ​​that can be taken, the specification s (s is a natural number) for a certain region is the lower limit L lоw [s] to upper limit L up In this case, the constraint can be expressed as, for example, equation (9).

[0101]

[0102] In equation (9), index s 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, although the above explanation uses an example of a backhoe, constraint conditions can also be set for the determination position Pdt of a dump truck.

[0103] 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) for the area i planned by the first planning unit 42. In the upper level planning information planned by the first planning unit 42, as described above, the upper level proposition φ 1 The excavation area i is planned so as to satisfy the following sub-proposition φ 1,i In the following superordinate proposition, "the backhoe reaches the excavation point P exc Therefore, the relationship between the dynamics of the soil and the backhoe is specifically determined by the bucket position P calculated from equations (4) and (5). buc is a constraint condition for expressing the action that "the backhoe bucket excavates the excavation point Pexc" when it coincides with the excavation point Pexc assumed in the calculation of equation (3) at a certain time step. buc is the drilling point P exc If the time step that coincides with the above equation is defined as step n, this constraint can be expressed as, for example, equation (10).

[0104]

[0105] Here, the update of the soil and sand expressed by equation (3) is defined as an update from phase k to phase k+1. In other words, when excavation is performed by a backhoe in a certain phase k, the state of the soil and sand is updated to phase k+1 according to equation (3). As mentioned above, the update of the backhoe state expressed by equation (4) may be more frequent than the update frequency of the soil and sand. In other words, in phase k for a certain soil and sand, the backhoe is updated over multiple time steps according to equation (4). Step n in equation (17) is the final step of the backhoe in phase k. With this setting, the state of the soil and sand is updated when the update of the backhoe state enters the period of phase k+1. In other words, it is possible to represent the change in the soil and sand due to the action of the backhoe. Note that the setting example of the above higher-level proposition is just one example.

[0106] Next, other sub-propositions φ for the region i set by the second planning unit 46 1,i The lower-level proposition is a lower-level proposition φ expressed by equation (7) that corresponds to the upper-level proposition for achieving the target task set by equation (6). 1,i In this case, the constraint is to satisfy the proposition φ in equation (7). 1,i is a proposition about the total volume. Other propositions that must be satisfied include, for example, the following proposition related to the control of a backhoe:

[0107] As a sub-proposition related to the control of the backhoe in region i, proposition φ 5,i : "The volume excavated by the backhoe is positive" and proposition φ 6,iHere is an example of expressing the constraint: "The backhoe bucket will eventually reach the dump truck." To express a goal formula, we can introduce the Signal Temporal Logic (STL) expression. Signal Temporal Logic (hereafter 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, it can handle nonlinear constraints in addition to linear constraints, making it applicable to a wider range of cases. Below, an example of an expression using STL is shown, but the target logical formula is not limited to this expression.

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

[0109]

[0110] Equation (11) expresses that time series vector data (hereinafter referred to as a signal) ζ is k+a ~t k+b In the range of , proposition φ 5 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 by equation (12), the proposition φ can be satisfied.

[0111]

[0112] Using the function ρ expressed by equation (12), an equation that satisfies the proposition of equation (11) can be written as equation (13).

[0113]

[0114] Also, the target formula here is the proposition φ 5 And proposition φ 6 This φ 5 and φ 6 The above proposition can be written as in equation (14) using the function ρ introduced in equation (12).

[0115]

[0116] Next, the sub-proposition φ 5,i and proposition φ 6,i Here are some examples of specific constraints. 5,i 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 the volume of region i is Vi[j], where i is an integer greater than or equal to 1, then the proposition φ 5,i can be expressed as in equation (15).

[0117]

[0118] The phase j (j is a natural number) introduced here, which represents the excavation index, corresponds to the change in the state of the sediment due to the action on the sediment, i.e., the number of excavations. Phase j is different from the time step k used to represent the backhoe dynamics 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 in accordance with the dynamics in equation (4). Note that phase j, which represents the number of excavations, may correspond to the index representing the sediment dynamics expressed in equation (3). This is because the state of the sediment changes due to the excavation operation by the backhoe, so the number of excavations and the update of the sediment state may correspond. Furthermore, the excavation volume is set to V[j-1] for phase j-1 because of the proposition φ 6 This is to take into account the order relationship with

[0119] proposition φ 6,i 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 φ 5,i Consider the order relationship between φ and 5,i Therefore, in phase j-1, the backhoe scoops up a finite amount of soil. 6,i is expressed so that the bucket position finally reaches the loading position in the next phase j. 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 φ 5,i is a proposition φ 6,i Here, each phase is 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 j, then proposition φ 6can be expressed as, for example, equation (16) using the STL operator F in equation (11).

[0120]

[0121] In equation (16), the square of the distance (norm) is expressed, and the time of phase j and backhoe time step k is expressed as t j,k Therefore, equation (16) is expressed as follows: j,1 ~t j,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 this constraint is satisfied or not depends on the tolerance of the distance difference, r dump Given this, the norm is calculated, and it can be judged by the function ρ that judges whether the proposition φ introduced in equations (12) and (13) is satisfied. buc may be calculated from equation (5). lоad is the state vector X that represents the state of the dump truck. dt It may be calculated from

[0122] As mentioned above, the lower-level proposition φ 5,i and proposition φ 6,i can be calculated by substituting values ​​for the variables in formulas (15) and (16) for each proposition, and can be judged using formula (13) for the temporal logic operator and formula (14) for the operator "^" that represents "and". Note that the above example is just one example of describing a target logical formula.

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

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

[0125]

[0126] 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 (18).

[0127]

[0128] 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

[0129] 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 s (s is a natural number) for a certain region is the lower limit L lоw [s] to upper limit L up If it is specified that the limit is up to [s], the constraint can be expressed as in equation (19), for example.

[0130]

[0131] The index s specifies the conditions 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

[0132] 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 j, this constraint can be expressed as, for example, equation (20).

[0133]

[0134] 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 j is set to be the same is because of the proposition φ 5,i and proposition φ 6,iThis 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 j-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 j, 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.

[0135] In the above description, the function of the target logical formula generating unit 44 is to use the higher-level proposition φ set by the first planning unit 42 as an example of a target logical formula based on the target task. 1 ~φ 4 , and a sub-proposition φ set by the second planning unit 46 1,i , φ 5,i ~φ 10,i However, these are just 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, and the function of the target logical formula generation unit 44 is not limited to such examples.

[0136] 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.

[0137] Similar to the function of the target logical formula generation unit 44, the first planning unit 42 and the second planning unit 46 each independently have the function of the plan generation unit 45. There is a sequence to their processing and information flow. That is, first, the plan generation unit 45 in the first planning unit 42 outputs first plan information (higher-level plan information), and then the plan generation unit 45 in the second planning unit 46 outputs second plan information (lower-level plan information). An example of the first planning unit 42 will be described below.

[0138] In the first planning unit 42, the plan generation unit 45 calculates higher-level plan information for each region i through optimization based on the abstract model generated by the generation unit 41, the abstract state set by the abstract state setting unit 43, the first initial solution, and the higher-level proposition set by the target logical formula generation unit 44. The period for executing optimization, i.e., the number of time steps, is set to a period equal to or greater than the "certain unit time Tu" set by the higher-level proposition φ1 based on the information given as the target task. In practice, this is set to a value M equal to or greater than the number of excavations NT per region i during that period. The time step k representing the dynamics of the backhoe is k = 1 to n, i.e., if each region i is set to be excavated in n steps, the total time step is expressed as k = 1 to nM. Therefore, for example, Z can be calculated by optimization so that the following equation (21) is minimized.

[0139]

[0140] In equation (21), Q bh is the control input U bh is a matrix that determines the weight of up indicates the number of superordinate propositions. j indicates a higher-level proposition set by the target logical formula generation unit 44. Equation (21) is a relation between the abstract model Σ and the higher-level proposition φ j (j=1 to Nφ up) so that the sum of the squares of the control inputs and the sum of the time steps are minimized. Note that formulating the optimization problem as described above is one example. Furthermore, the means for solving 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 to an appropriate value equal to or greater than NT depending on the type of work machine 3 and the target task. Furthermore, the initial solution for the state vector Z, which is the solution, is given as the first initial solution by the abstract state setting unit 43.

[0141] Next, an example of the second planning unit 46 will be described. The result of solving equation (21), i.e., the optimized state vector Z, contains information corresponding to M excavations of the region i (i = 1 to M). Among these, the state vector Z of the region i is Z i , parameter P is Pi, abstract model Σ is Σ i The abstract model Σi may be the same as the abstract model used in equation (21), or may be a model in which parameters in the abstract model are changed. i may be, for example, a model whose range is limited to the part corresponding to the region i, or a model whose accuracy, degree of approximation, etc. are changed. Under this, the second planning unit 46 calculates a sub-proposition φ 1,i , φ 5 , i to φ 10,i The state vector Z in region i is i is obtained by optimization. The optimization period is m times for each region i. The time step k representing the backhoe dynamics is k = 1 to n, that is, if one point is set to be excavated in n steps, the total time step is expressed as k = 1 to nm. The number of function steps n for the backhoe dynamics may be the same as or a different value from the number of steps in the first planning unit 42 described above. It may be set appropriately depending on the type of work machine 3 and the target task. For example, the second planning information output by the second planning unit 46 is directly related to the control plan for the work machine 3, so a number of steps greater than the number of steps in the first planning unit 42 may be set. Therefore, for example, the state vector Z that minimizes the following equation (22) is i can be found by optimization.

[0142]

[0143] In equation (22), Q bh is the control input U bh is a matrix that determines the weight of low denotes the number of sub-propositions. j indicates a lower-level proposition set by the target logical formula generation unit 44. Formula (22) is the abstract model Σ i and the sub-proposition φ j,i (j=1 to Nφ low ) the state vector Z i means to find the optimum volume V of one dump truck, which is the sum of the squares of the control inputs and the sum of the time steps. Note that the above formulation as an optimization problem is one example. Furthermore, the means for finding the optimum volume V 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. Preferably, the maximum volume V of one dump truck is dump The number of excavations corresponding to the solution state vector Z i The initial solution of is set based on the second initial solution of the abstract state setting unit 43 and the output of the conversion unit 47. A specific example will be described later.

[0144] The optimal solution Z based on the equation (22) of the second planning unit 46 i The calculation of must be performed for each region i. The maximum number of times is M, which is set by the formula (21) for the first planning unit 42. However, due to the processing of the conversion unit 47, optimization is not required for all regions i (i = 1 to M), i.e., M times. The optimal solution Z i The number of times of calculation of may be set to be less than M times.

[0145] The optimization variables Z and Z in equations (21) and (22) are i The matrix Δ containing logical variables is included in bhWhen 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.

[0146] 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 (21) 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.

[0147] Next, the operation of the conversion unit 47 will be explained in more detail based on the flow of information within the planning device 4. Fig. 4 is a block diagram showing the flow of information within the planning device 4, for explaining the operation of the conversion unit 47. Fig. 4 shows the work machine 3, and the generation unit 41, first planning unit 42, second planning unit 46, and conversion unit 47 that make up the planning device 4. The signal flows (S1 to S5) between each of the components are also shown. Note that Fig. 4 does not show all of the information flows for each of the components. Each of these will be explained below.

[0148] First, the names and flow of signals S1 to S5 will be explained. Signal S1 is input to the first planning unit 42 from the generation unit 41. Signal S2 is input to the second planning unit 46 from the generation unit 41. These signals S1 and S2 are information on the abstract model generated by the generation unit 41. The first planning unit 42 creates first planning information based on the abstract model using signal S1 and target task information (not shown) acquired by the input device 1, and outputs the first planning information as signal S3. The conversion unit 47 inputs signal S3 and outputs a second initial solution to the second planning unit 46 as signal S4. The second planning unit 46 inputs signals S4, S2, and target task information (not shown), creates second planning information, and outputs the second planning information as signal S5. The work machine 3 is controlled based on signal S5.

[0149] Therefore, the conversion unit 47 receives a signal S3 representing the first planning information and outputs a signal S4 representing the second initial solution. This process will be described using an example of a task in which the work machine 3 functions as a backhoe to excavate soil and load it onto a dump truck. The first planning information, as illustrated in equation (21), includes all regions i (i = 1 to M), i.e., M excavation operations of the backhoe. However, the value of M is an arbitrarily set value equal to or greater than the number of excavations NT to achieve the target volume specified in the objective task, and M excavations are not necessarily required. In other words, by appropriately selecting the position of each excavation region i, the target volume can be achieved in fewer than M excavations. Therefore, as a process performed by the conversion unit 47, for example, if the volume V[ii] of a certain region ii of the state vector Z obtained by optimization using equation (21) is smaller than a predetermined value, that region ii may be ignored. In other words, the number of excavations is M-1. The state vector Z 1 , which is optimized by the second planning unit 46 as exemplified in equation (22), i The number of the initial solutions is also M-1. The conversion unit 47 can perform this process when providing the second initial solution to the second planning unit 46. As a result, the number of optimizations performed by the second planning unit 46 is reduced. Therefore, an effect of reducing the calculation load is obtained.

[0150] The selection of the region i (i = 1 to M) can be performed simultaneously with optimization, for example, by setting an area coefficient as the value of the parameter P[θ] included in the state vector Z in equation (21). As a result, the smaller the area coefficient is and the closer it is to 0, the more the region can be ignored. In this way, the conversion unit 47 performs further selection, extraction, or function-based processing on the first planning information S3 calculated by the first planning unit 42 during optimization, and generates settings for the second planning unit 46 and an initial solution signal S4.

[0151] Next, we will explain the effect of providing an initial solution to the second planning unit 46. As described above, the first initial solution input to the first planning unit 42 is the abstract state set by the abstract state setting unit 43. On the other hand, in the second planning unit, the conversion unit 47 provides the initial solution.

[0152] This difference is due to the following reason. As described above, in the state vector optimized by the first planning unit 42, unknown values ​​other than the initial values ​​(current values ​​of each abstract state) set by the abstract state setting unit 43 are set to default values ​​or tentative values. However, optimization problems, particularly nonlinear optimization problems, generally have initial value dependency. As a result, if an inappropriate initial value is set, there is a risk that the calculation time will be long or the problem will not converge to an optimal solution. To avoid such problems, the second planning unit 46 sets an initial solution based on the first planning information obtained as a result of the optimization by the first planning unit 42. As described above, the abstract model Σ used in the optimization by the first planning unit 42 and the abstract model Σ used in the optimization by the second planning unit 46 i The first planning information is the same except for the selection of the region depending on the region i and the model parameters. Therefore, the first planning information is likely to be appropriate as the second initial solution. In other words, by using the first planning information as the second initial solution, the effects of shortening the calculation time of the optimization calculation by the second planning unit 46 and improving the solvability can be obtained.

[0153] The functions and processing examples of the conversion unit 47 have been described above with reference to Fig. 4. However, the above processing is an example of the processing of the conversion unit 47. The processing of the conversion unit 47 is not limited to the above processing.

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

[0155] 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).

[0156] Next, the generator 41 in 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 Ia1, object model information Ia2, response model information Ia3, etc.

[0157] Next, the first planning unit 42 and the second planning unit 46 in the planning device 4 set an abstract state based on the set abstract model and state information about the work machine 3 (step S103). Preferably, the first planning unit 42 and the second planning unit 46 set the current state information of the work machine 3, and also set initial values ​​for the values ​​of the other abstract states.

[0158] Furthermore, the first planning unit 42 and the second planning unit 46 set 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 of the storage device 5 (step S104). The first planning unit 42 and the second planning unit 46 may use constraint condition information Ib1 as task information when generating the target logical formula. The first planning unit 42 and the second planning unit 46 may also use a description format of signal temporal logic (STL). Note that the target logical formula set by the first planning unit 42 may be set as a first target logical formula, and the target logical formula set by the second planning unit 46 may be set as a second target logical formula, and the target logical formulas may be set differently.

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

[0160] Next, the conversion unit 47 in the planning device 4 generates a second initial solution from the first planning information output by the first planning unit 42, based on the model information stored in the model information storage unit 51 of the storage device 5 (step S106).

[0161] Then, the second planning unit 46 inputs the set abstract model and the second initial solution output by the conversion unit 47, and creates and outputs second planning information corresponding to a certain first planning information that satisfies the set second target logical formula (step S107).

[0162] When the second planning unit 46 has output all (a predetermined number) of pieces of second planning information corresponding to the first planning information (YES in step S108), it controls the work machine 3 based on the second planning information to execute the target task (step S109). On the other hand, if the number of pieces of second planning information corresponding to the first planning information does not reach the predetermined number (NO in step S108), the process returns to step S107.

[0163] (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 problem of simultaneously planning the type and sequence of actions and motions, the so-called TAMP problem, has the following issues. The first issue is the need to simultaneously plan the type and sequence of actions and motions. In a task that involves multiple actions and requires their execution in the appropriate order, particularly when the target of the task is an irregular or deformable object, planning each action individually, i.e., sequential planning or short-term planning, may not result in an appropriate plan. This is because a single action, i.e., the action of the work machine 3 on the work target, affects subsequent actions. In the task shown in the example above, in which the work machine 3 is used as a backhoe to excavate soil and load it into a dump truck, the soil being 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. The change in the shape of the soil affects subsequent excavations. In other words, each action has a cumulative effect on the object, so changing the order of excavation positions, etc., changes the way the shape changes, i.e., the task is order-dependent. For such tasks, long-term planning is required, including the order of multiple actions, rather than short-term planning for each action.

[0164] However, if the object is not abstracted, such as an amorphous or deformable object, its dynamics, i.e., its time-varying behavior and its response to the work machine's actions, are not modeled, making it impossible to formulate (create) a long-term plan that takes into account the time-varying behavior of the object. Furthermore, in a method for formulating a plan using hierarchical decomposition of a task and separation into multiple models, such as global and local models, as in the system described in Patent Document 1, if the hierarchical decomposition is inappropriate, the individual decomposed plans may also be inappropriate. Furthermore, with regard to the separation of models, if one plan is inappropriate, the other plans may also be inappropriate. In other words, because decomposition and model separation are irreversible processes with respect to the original task, it is difficult to guarantee optimality.

[0165] In contrast, the control system 100 of this embodiment obtains planning information through two-stage (two-layer) optimization using the hierarchical relationships regarding the excavation volume or region in the first planning unit 42 and the second planning unit 46. By dividing it into two stages, the load of each optimization calculation can be reduced. For example, the first planning unit 42 prioritizes propositions that satisfy the target task and reduces the number of time steps without considering the detailed movement of the backhoe. Furthermore, the first planning unit 42 reduces the dimension of the state vector Z to be optimized by lowering the spatial resolution, thereby reducing the amount of calculation. Furthermore, the second planning unit 46 performs optimization calculations for each region i targeted by the first planning unit 42, so the state vector Z to be optimized i The dimension of is relatively low, i.e., the computational load is low. Therefore, the second planner 46 can plan detailed backhoe movements by increasing the number of time steps compared to the number of steps in the optimization by the first planner 42. This method of dividing plans hierarchically differs from the task decomposition and model separation described in Patent Document 1 in the following ways. First, the same abstract model is used. Therefore, irreversible processes such as decomposition and separation are not included. Second, it is not limited to learning-based methods. These differences allow the system described in Patent Document 1 to overcome its problems.

[0166] The second challenge of the TAMP problem is the computational challenge of solving it. As described in Patent Document 1, the TAMP problem generally suffers from computational difficulty due to the increasing number of combinations. In particular, when optimizing a state vector that includes the types and sequences of actions, motion variable values, and time-series values, the target area becomes larger and the planning period becomes longer. As a result, the number of dimensions of the state vector increases, making the calculation even more difficult. Such expansion of area and time can also occur in the example task of excavating soil and loading it into a dump truck using the work machine 3 as a backhoe. This is because the target area is large, such as outdoors, the task targets irregular or deformable objects, and the task lasts for a long period of time. The control system 100 of this embodiment solves this problem by dividing the planning unit into a first planning unit 42 and a second planning unit 46 and by using the conversion unit 47. That is, the first planning unit 42 first creates a plan for the entire target area and time period, but the second planning unit 46 does not create a detailed plan for all of those areas. This is because the conversion unit 47 extracts and selects the area, i.e., area, and the number of excavations, i.e., time period. Another factor contributing to the computational difficulty is that the problem to be solved is a mixed-integer optimization problem containing integer-valued variables. In contrast, the control system 100 of this embodiment uses a signal temporal logic (STL) description method as a temporal logic expression method, relaxing integer-valued variables to continuous values. In other words, the control system 100 of this embodiment can significantly reduce the amount of computation by solving the optimization problem as a continuous relaxation problem.

[0167] Another problem, not limited to the TAMP problem, is the inability to create a plan under constraints that satisfy the task goal. Generally, when controlling a work machine to perform a task (work), a goal for the work content is often present. In this case, being able to confirm whether the 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 the goal will be met for work that has not yet been performed. In contrast, the control system 100 of this embodiment can calculate plan information after setting the proposition as a constraint if the goal can be defined as a proposition. In particular, the first planner 42 and the second planner 46 set different propositions, in other words, share the constraints. As a result, by satisfying the proposition in the first planner 42, it is possible to confirm in advance that the target task will achieve its goal. Furthermore, by satisfying the propositions in the second planning unit 46, it is possible to confirm that detailed operations of the work machines, in the above example the operation of loading earth and sand into a dump truck, the safety of the work machines relative to each other, etc. In this way, a feature of this embodiment is that different propositions (target logical formulas) can be set for each hierarchical optimization.

[0168] However, limitations arise in how constraints can be set to achieve the goal. Even if an abstract model can be established and constraints to achieve the goal can be set using linear temporal logic (LTL), a method of expressing temporal logic, this problem formulation becomes 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 the problem can only be solved for a linear abstract model. However, real tasks cannot always be described using only linear constraints, and 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 will be nonlinear. Furthermore, if the work machine performs movements involving rotation, the dynamics will be 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 as a backhoe, the abstract model of soil expressed in equation (3) is nonlinear. Furthermore, the transformation to obtain the bucket position from the backhoe state expressed by equation (5) is nonlinear, and in such cases it cannot be solved as a mixed integer optimization problem.

[0169] 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 a nonlinear optimization problem without being limited to linear abstract models or constraints.

[0170] 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 create 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.

[0171] Embodiment 2. (Configuration Description) Fig. 6 is a block diagram showing a configuration example of another embodiment of a control system. In the control system 200 shown in Fig. 6, the planning device 4 of the control system 100 of the first embodiment is configured to include m (in the second embodiment, m is an integer of 3 or more) mth planning units 46m (including the first planning unit 42). The other parts of the control system 200 are the same as those in the control system 100. Note that in Fig. 6, for the purpose of ease of understanding, the first planning unit 42 is depicted independently of the mth planning unit 46m, but in reality, the first planning unit 42 is one of the m mth planning units 46m.

[0172] The control system 100 of the first embodiment includes two planners, the first planner 42 and the second planner 46. This configuration allows for two-level optimization. In the second embodiment, the number of planners is not limited to two. That is, the second embodiment allows for optimization with more than two levels. In this embodiment, the planner 4 includes m mth planners 46m, which differs from the first embodiment as described below.

[0173] The first difference relates to the function of the abstract state setting unit 43, which constitutes the functional block of the mth planning unit 46m. In the first embodiment, two planning units are provided, and initial values ​​are assigned to, for example, all state vectors for the abstract states of the first planning unit 42. If initial values ​​are not assigned, default or provisional values ​​are used as the initial values. Furthermore, a second initial solution generated by the conversion unit 47 based on the initial values ​​and the first planning information output by the first planning unit 42 is assigned to the second planning unit 46. In the second embodiment, three or more mth planning units 46m exist. For each of these, initial values ​​and an initial solution (mth initial solution) for the mth planning unit 46m output by the conversion unit 47 can be assigned, similar to the second planning unit 46 in the first embodiment. That is, the mth initial solution generated by the conversion unit 47 based on the m-1th planning information output by the m-1th planning unit is input as the initial solution to the mth planning unit 46m. 4, the first planning information (signal S1) output by the first planning unit 42 is input to the conversion unit 47. However, as described above, outputs from a plurality of planning units may be input to the conversion unit 47. That is, in the present embodiment, the conversion unit 47 has a function of outputting the m-th initial solution based on the (m-1)-th planning information.

[0174] The second difference relates to the function of the target logical formula generation unit 44, which constitutes the functional block of the mth planner 46m. The first embodiment is characterized by the ability to set different propositions (target logical formulas) for each of the two planners in hierarchical optimization. The second embodiment also includes three or more mth planners 46m, allowing different target logical formulas to be set for each planner. That is, as in the first embodiment, it is possible to separately set propositions for satisfying the target task and more detailed operational constraints and constraints for safety. Furthermore, it is also possible to divide and optimize a large area by using constraints that divide the range of the work area.

[0175] The third difference relates to the function of the plan generation unit 45 constituting the functional block of the m-th planner 46m. In the first embodiment, the first planner 42 and the second planner 46 solve a two-level optimization problem as exemplified by equations (21) and (22), respectively. Specifically, for each of M or less state vectors Z[i] selected by the conversion unit 47 among the state vectors Z[i] (i=1 to M, M is a natural number equal to or greater than 2) optimized by the first planner 42, the second planner 46 converts the state vector Z i In the second embodiment, the two-level optimization can be expanded to three or more levels. That is, the state vector Z i For each of the M2 or less state vectors Zi[j] selected by the conversion unit 47 among [j] (j=1 to M2, M2 is a natural number equal to or greater than 2), the m-th planning unit 46m calculates the state vector Zi[j]. ij In this way, the state vector Z is hierarchically optimized, thereby enabling the optimization problem to be solved hierarchically.

[0176] As with the first embodiment, the second embodiment will be described using as an example a task in which the work machine 3 is a backhoe and excavates earth and sand and loads it into a dump truck. Here, an example of the operation of the target logical formula generation unit 44 and the plan generation unit 45, which are clearly different from the first embodiment, will be described. The operation of the other components is the same as that in the first embodiment.

[0177] As described above, the target logical formula generation unit 44 can set an independent target logical formula for each of the m planning units. For example, let us consider a case where the area to be excavated is large or where multiple isolated areas are scattered (there are outlying areas). This explains how to fulfill the target task in each area I (I = A, B, ..., MI, where MI is the number of areas). The highest-level planning unit, i.e., the first planning unit 42, first sets a proposition regarding the target quantity to be fulfilled by the total of each area I.

[0178] Under this proposition, the plan generation unit 45 optimizes the state vector Z[I] including the state of each region I, thereby determining the target value for each region I. Then, the next-level planner, i.e., the second planner, sets a proposition to satisfy the target quantity determined for each region I, and optimizes the state vector ZI for each region I. As a result, the state vector ZI for each region I corresponding to one dump truck is determined. i (I i = Aa, Ab, ...) is determined. Then, the next level planning section, i.e., the third planning section, determines each area I i We set propositions that represent the detailed operation of the backhoe and its relationship with the dump truck in Area I. i The state vector ZI in i As a result, detailed operation selection and excavation points are determined.

[0179] As described above, even when the area to be excavated is large or when multiple distant areas are scattered, the hierarchical setting and optimization of propositions makes it possible to simultaneously plan the detailed operation sequence and motion of the backhoe while fulfilling the final target task. Note that the above explanation uses an example of area, i.e., spatial expansion, but the setting and optimization of propositions are not limited to such an example. For example, in the case of a target task with a long period of time, hierarchical setting and optimization of propositions are also possible along the time axis.

[0180] (Explanation of Operation) The operation of the control system 200 of the second embodiment differs from the operation of the control system 100 of the first embodiment in that the operations of the first planner 42 and the second planner 46 in the first embodiment are expanded to multiple m-th planners 46m. Specifically, the processing of steps S106 to S108 shown in Fig. 5 is repeated according to the number of m-th planners 46m. Then, the output of the last planner of the multiple m-th planners 46m executes the processing corresponding to step S109 (control of the work machine 3). In other respects, the control system 200 is the same as the first embodiment.

[0181] (Effects of the Second Embodiment) In the first embodiment, two planners are provided, but in the second embodiment, the system is configured with m planners 46m, including the first planner 42. With such a configuration, the second embodiment is characterized in that the setting and optimization of hierarchical target logical formulas is not limited to two hierarchies. In other words, it is sufficient to determine an appropriate number of hierarchies depending on the type of work machine 3, the type of target task, the work environment, etc., and then determine the number of planners based on that.

[0182] Additional effects of being able to arbitrarily select the number of layers will now be described. The first effect is based on the ability to hierarchically divide the optimization calculation into an arbitrary number of layers. As explained in the first embodiment, the calculation load of the TAMP problem increases as the dimension of the state vector to be optimized increases, i.e., as the number of variable types increases due to a wider range of regions and types of actions, or as the time series values ​​of variables increase due to a longer period. The second embodiment can solve this problem by dividing the state vector into an appropriate number of layers and then optimizing it. The reason for this is that hierarchical division makes it possible to lower the dimension of the state vector to be optimized, as in the example above.

[0183] The second effect is based on the ability to divide the constraints to be satisfied into any number of parts. In the first embodiment, an effect was obtained by dividing the propositions to be set between the first planning unit 42 and the second planning unit 46, i.e., by dividing the constraints, but this effect is even more pronounced in the second embodiment. This is because it becomes possible to set constraints to be satisfied at each hierarchical level based on the number of hierarchical levels and the division of optimization determined in accordance with the type of work machine 3, the type of target task, the work environment, etc. Furthermore, in the second embodiment, the number of hierarchical levels and the division of optimization may be determined taking into account the division of constraints.

[0184] 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 the conversion unit 47 in the planning device 4 of the control system 100 of the first embodiment is replaced with a learning unit 48. The other parts of the control system 300 are the same as those in the control system 100.

[0185] The control system 300 may be configured such that the conversion unit 47 in the control system 200 of the second embodiment is replaced with a learning unit 48. In this case, the learning unit 48 not only receives the first planning information and generates a second initial solution, but also converts information between planning units at multiple levels. That is, in a configuration with m planning units, the learning unit 48 learns to appropriately output an m-th initial solution based on the (m-1)th planning information output by the (m-1)th planning unit. In other words, the learning unit 48 may learn to provide appropriate initial solutions to planning units at multiple levels.

[0186] The learning unit 48 realizes the function of the conversion unit 47 of the first embodiment using a learning-based method. Specifically, the first planning information (signal S3) as shown in FIG. 4 is input, and the learning unit 48 learns to output a second initial solution (signal S4). Furthermore, based on the second embodiment, the (m-1)th planning information may be input, and the learning unit 48 may learn to output an m-th initial solution. To collect the data necessary for learning, i.e., the data set of signals S3 and S4, the configuration of the first or second embodiment may be used. Furthermore, the data of the output signal S4 may be generated as appropriate depending on the type of work machine 3, the type of target task, the work environment, and the like. The results of learning by the learning unit 48, i.e., the representations and parameters of a deep learning or machine learning model such as a neural network, may be stored as conversion information Ia4 of the model information stored in the storage device 5. Furthermore, the stored information may be used by the conversion unit 47 of the first or second embodiment. In this case, the control system 300 may be configured such that a learning unit 48 is added to the planning device 4 of the control systems 100 and 200 of the first and second embodiments.

[0187] In this embodiment, the specific learning method and configuration (architecture) of the learning unit 48 are not limited. For example, any learning method can be used, such as a deep learning method such as a neural network or machine learning. In this embodiment, the learning unit 48 is not limited to a specific one. Preferably, a learning unit 48 having a typical learning function and an internal function for calculating an evaluation value is used. Therefore, from the data set of signals S3 and S4, learning can be performed to reproduce them as input and output.

[0188] In this embodiment, the task of excavating earth and sand and loading it into a dump truck using the work machine 3 as a backhoe, as exemplified in the first embodiment, will also be taken as an example.

[0189] As in the first embodiment, the first plan information input to the learning unit 48 is a state vector Z[i] that includes all regions i (i = 1 to M) obtained by optimizing the formula (21). In the first embodiment, the conversion unit 47 executes a process of selecting M or fewer state vectors Z[i] from the region i and outputting them as a second initial solution based on the conversion information Ia4 stored in the model information storage unit 51 in the storage device 5. In the present embodiment, the process of selecting a state vector of the first plan information and outputting the second initial solution is executed by learning in the learning unit 48.

[0190] Specifically, the criteria and conditions for selecting the state vector of the first planning information are learned. In the first embodiment, the criteria were limited to a fixed condition, such as not selecting if the volume V[ii] of a certain region ii is smaller than a predetermined value. However, by utilizing learning, this embodiment enables more complex selection based on the state vector optimized as the first planning information. For example, the learning unit 48 can also learn to select based on the position of the excavation point or the position of the backhoe, in addition to the volume V. One feature is that these settings are not set in advance as in the first embodiment, but are learned to output an appropriate second initial solution. An appropriate second initial solution is an initial solution that, in the optimization calculation by the second planning unit 46, as exemplified by equation (22), provides a solution that has a short calculation time until convergence, high solvability, a small evaluation function value, and the like. In other words, the learning unit 48 provides a second initial solution that is suitable for solving the optimization problem in the second planning unit 46. As a result, as described above, the time required for the optimization calculation by the second planning unit 46 is shortened, solvability is improved, and the state vector Z i By improving the optimality of the control plan, the accuracy of the control plan is improved.

[0191] (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 S109 is the same as the processing of the control system 100 of the first embodiment shown in Fig. 5.

[0192] In this embodiment, after the processes of steps S101 to S105 are executed, the planning device 4 checks whether conversion information for converting the first planning information into the second initial solution is set (step S301). If the conversion information is not set (NO in step S301), the learning unit 48 learns the conversion model (step S302). If the conversion information is set (YES in step S301), learning is not necessary.

[0193] The subsequent processes (steps S106 to S109) are the same as those in the first embodiment.

[0194] (Effects of the Third Embodiment) In the first embodiment, the conversion unit 47 generates and outputs the second initial solution based on the first planning information output by the first planning unit 42. It is assumed that information related to the processing of the conversion unit 47 at this time is set in advance, such as information stored in the storage device 5 as conversion information Ia4 as model information. In contrast, in the present embodiment, the learning unit 48 learns the conversion model.

[0195] The effect of this difference will be explained. It is possible that the information required for processing by the conversion unit 47 is not set in advance, for example, when appropriate conversion information Ia4 is not stored in the storage device 5. Even in such cases, the conversion process becomes possible by the learning unit 48 learning a model for conversion. It is also possible that setting appropriate conversion information is difficult in the first place. As described above in the example in which the work machine 3 is a backhoe, it is desirable that the second initial solution suitable for solving the optimization problem in the second planning unit 46 be converted or generated based on the first planning information. However, it may be difficult to artificially set these conditions. In such cases, using a learning unit 48 that has been trained to output an appropriate second initial solution is more appropriate from the perspective of solving the optimization problem in the second planning unit 46 than using an artificially set conversion. Therefore, this embodiment has the effect of expanding the range of tasks and environments that can be targeted when, for example, conversion information is not available in advance. Furthermore, it has the effect of improving performance, such as calculation time and solvability, in the optimization problem.

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

[0197] (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.

[0198] 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.

[0199] 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.

[0200] 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.

[0201] 10 is an explanatory diagram illustrating an example of hierarchical optimization of the control system 400 in the first application example. While any of the configurations of the first to third embodiments may be used as the configuration of the first application example, the configuration of the planning device 4 of the first embodiment will be used below as an example. Therefore, it is assumed that the hierarchical optimization is performed by the first planning unit 42 and the second planning unit 46, and the conversion unit 47 provides a second initial solution.

[0202] In the upper part of Fig. 10, the hatched areas indicate areas with sufficient soil and sand, and the white areas indicate areas with little soil and sand. excThe two-dimensional coordinates of the excavation points included in the first initial solution are shown in the upper part of Fig. 10, and a first excavation unit indicating an excavation area for one excavation is shown. The first excavation unit is assumed to be an area corresponding to one dump truck.

[0203] The first planning information obtained by optimization by the first planning unit 42 shows the excavation points and the excavation volumes V[i] (i = 1 to M) corresponding to each excavation unit. Here, according to the proposition about the volume for satisfying the target task expressed by equation (7), the sum of V[i] for i = 1 to M is the target loading amount V T Within the range of the error δv, the target loading amount can be met by loading earth and sand onto one dump truck for each first excavation unit corresponding to the excavation point indicated in the first plan information in the upper part of Fig. 10 .

[0204] The lower part of FIG. 10 shows the operation when optimization is performed by the second planning unit 46. Optimization by the second planning unit 46 is preferably performed for each region of the first excavation unit optimized by the first planning unit 42 so that the target excavation volume is the excavation volume [i] (i = 1 to M) obtained in the corresponding first planning information. The lower part of FIG. 10 shows the excavation points included in the second initial solution and the second excavation unit indicating the excavation region for one excavation. The second initial solution is information output by the conversion unit 47 based on the first planning information. Here, the second excavation unit is assumed to be a region corresponding to the bucket size of the backhoe 30. The excavation points included in the second planning information obtained by optimization by the second planning unit 46 and the excavation volumes Vi[j] (i = 1 to M, j = 1 to m) corresponding to each excavation unit are also shown. The excavation volume Vi[j] for each excavation satisfies the constraint of being equal to or less than the maximum volume specified by the bucket size in accordance with the constraint condition of Equation (17). Preferably, the sum of the excavation volumes Vi[j] of j=1 to m of each excavation is the volume V obtained in the first planning information. i Therefore, the backhoe 30 repeats the operation of excavating the excavation points indicated by the second planning information and loading earth and sand into the dump truck, thereby achieving the target volume V set by the proposition of the first planning unit 42. Tcan be satisfied within the range of the error δv. That is, the second plan information includes the operation content, sequence, and motion of the backhoe 30 that fulfills the target task given to the target area 31.

[0205] The conversion unit 47's process for generating the second initial solution from the first planning information will now be explained. In the example shown at the top of FIG. 10 , there are hatched areas with a large amount of sediment and white areas with little sediment. As an example, the white area indicates the excavation volume V[3] for region i=3. This indicates that excavating region i=3 would not yield an appropriate excavation volume. In other words, the excavation volume V[3] is significantly smaller than the excavation volumes of the other regions. In this case, the conversion unit 47 determines that the value of the excavation volume V[3] is less than the predetermined reference value and performs a process to remove the initial solution corresponding to region i=3 from the second initial solution. As a result, region i=3 is not included when optimization is performed by the second planning unit 46. This process by the conversion unit 47 allows the second planning unit 46 to omit optimization calculations for regions where an excavation volume cannot be obtained, i.e., unnecessary calculations, thereby reducing the amount of calculations.

[0206] However, the above example is an example of hierarchical optimization. Hierarchical optimization is not limited to the above example. Furthermore, as described in the first to third embodiments, this application example can achieve high effectiveness, particularly when the target region 31 is large, when multiple distant regions are scattered, or when the period is long.

[0207] FIG. 11 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. 11 , 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. 11 will be described below as an example of the operation of the control system 400 shown in FIG. 9.

[0208] The UI screen shown in Figure 11 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 11.

[0209] First, an example of an operation in which a user creates plan information using the control system 400 in FIG. 9 using the UI screen shown in FIG. 11 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. 11 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.

[0210] 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 problems of the equations (21) and (22). At this time, the plan generating unit 45 calculates the optimization problems of each proposition φ 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 φ1 The loading volume V is expressed as T The specifications of the backhoe 30 are set as follows: j , and the control input U bh The upper limit value of is set to . As a result of the plan generation unit 45 solving the optimization problem, the time series values ​​of the state vector Z are obtained. This information becomes the source 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 using the interrupt button 708.

[0211] 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. 11 , the display area 701 includes, from the left, a column indicating whether the target task is complete or not, 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 not indicates whether the set target task has been completed. The column indicating whether the target task is complete or not is preferably linked to the display of performance information, which will be described later. For example, as shown in FIG. 11 , the column for inputting task content and goal as the target task may include information specifying the target area 31, information specifying the task content, and information specifying the goal. 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. 11 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. 11, 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 content 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.

[0212] 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.

[0213] 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 the time step k and the actual time is expressed by the state vector Z i It can be calculated from the vector T[k] representing the time at step k included in the equation (22) and the initial time T[1] (k=1) that serves as the reference. Therefore, the state vector Z for time steps k=1 to nm obtained as the optimization solution of the equation (22) i is a value at each time T[k], i.e., time series data. bh [k] indicates the time series data of the subtask.

[0214] 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.

[0215] 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 Zi of equation (22). bhThe target volume for each loading is calculated from the value of the element related to the position [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 for each loading is calculated from the state vector Z i It is calculated from the value of the volume V[k] included in 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.

[0216] 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.

[0217] 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.

[0218] An example of the UI screen 700 has been described above. Note that the UI screen 700 shown in FIG. 11 is merely an example. The display items and layout of the UI screen are not limited to those shown in FIG. 11 . The number of tasks that can be input in the display area 701 is not limited to those shown in FIG. 11 . 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. Regarding the display area 705, in addition to displaying the planned target area 31, actual results and progress may also be displayed simultaneously.

[0219] 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.

[0220] 12 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. 12 includes a processor 1000 such as a CPU, a program memory 1001, a memory 1002, a communication interface 1003, and an output interface 1004.

[0221] The planning device 4 shown in Figures 1, 6, 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 12. When multiple processors are installed, the multiple processors can also work together to realize the functions of the control systems 100 to 400.

[0222] 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.

[0223] 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.

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

[0225] 12 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.

[0226] Fig. 13 is a block diagram showing the main parts of a control plan creation device 10 (equivalent to control systems 100 to 400). The control plan creation device 10 shown in Fig. 13 comprises generation means 11 (realized by a generation unit 41 in the embodiment) that generates abstract models for the work target and the work machine, first planning means 12 (realized by a first planning unit 42 in the embodiment) that creates first planning information for the work machine based on target task information related to the target task, status information of the work machine, and the abstract model, and second planning means 13 (realized by a second planning unit 46 in the embodiment) that creates second planning information including selection of time-series operations by the work machine and control inputs, based on at least the first planning information.

[0227] Fig. 14 is a block diagram showing another example of the main components of a control system. The control plan creation device 20 shown in Fig. 14 comprises generation means 11 (realized by a generation unit 41 in the embodiment) that generates abstract models for the work object and the work machine, first planner 12 (realized by a first planner 42 in the embodiment) that creates first plan information for the work machine based on target task information related to the target task, status information of the work machine, and the abstract model, conversion means 14 (realized by a conversion unit 47 in the embodiment) that inputs the first plan information and outputs an initial solution, and second planner 13 (realized by a second planner 46 in the embodiment) that creates second plan information including selection of time-series operations by the work machine and control inputs, based on the initial solution output by the conversion means 14.

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

[0229] (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, the control plan creation device comprising: a generation means that generates an abstract model for the work object and the work machine; a first planning means that creates first planning information for the work machine based on target task information related to the target task, status information of the work machine, and the abstract model; and a second planning means that creates second planning information including selection of time-series operations and control inputs by the work machine based on at least the first planning information.

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

[0231] (Supplementary Note 3) The control plan creation device according to Supplementary Note 1 or Supplementary Note 2, wherein the abstract model includes a model that abstracts the work object, a model that abstracts a response of the work object to the operation of the work machine, and a model that abstracts the operation of the work machine.

[0232] (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 the abstract model using the model information and the task information.

[0233] (Supplementary Note 5) The control plan creation device according to any one of Supplementary Notes 1 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.

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

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

[0236] (Supplementary Note 8) The control plan creation device according to Supplementary Note 7, wherein the first planning means and the second planning means use temporal logic to write the propositions.

[0237] (Supplementary Note 9) The control plan creation device according to any one of Supplementary Note 1 to Supplementary Note 8, further comprising: conversion means (in the embodiment, realized by a conversion unit 47) that receives the first plan information and outputs an initial solution in the processing of the second planning means.

[0238] (Supplementary Note 10) The control plan creation device according to any one of Supplementary Note 1 to Supplementary Note 8, further comprising: learning means (in the embodiment, realized by a learning unit 48) that receives the first plan information as input and learns to output an initial solution in the processing of the second planning means.

[0239] (Supplementary Note 11) The control plan creation device according to Supplementary Note 9, wherein the conversion means outputs an initial solution to be input to the second planning means so that the initial solution has a dimension lower than that of the state of the first planning information.

[0240] (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 control plan creation method comprising: generating abstract models for the work object and the work machine; creating first plan information for the work machine based on target task information related to the target task, status information of the work machine, and the abstract model; and creating second plan information including selection of time-series operations and control inputs by the work machine based on at least the first plan information.

[0241] (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: generate abstract models for the work object and the work machine; create first plan information for the work machine based on target task information related to the target task, status information of the work machine, and the abstract model; and create second plan information including selection of time-series operations and control inputs by the work machine, based on at least the first plan information.

[0242] (Supplementary Note 14) A control device that controls a work machine to perform a target task for a work object, comprising: a generating means that generates an abstract model for the work object and the work machine; a first planning means that creates first planning information for the work machine based on target task information related to the target task, status information of the work machine, and the abstract model; and a second planning means that creates second planning information including selection of time-series operations and control inputs by the work machine based on at least the first planning information.

[0243] (Supplementary Note 15) A control plan creation device that creates a plan for a work machine to execute a target task for a work object, the control plan creation device comprising: generation means for generating an abstract model for the work object and the work machine; first planning means for creating first plan information for the work machine based on target task information related to the target task, status information of the work machine, and the abstract model; conversion means for inputting the first plan information and outputting an initial solution; and second planning means for creating second plan information including selection of time-series operations and control inputs by the work machine, based on the initial solution output by the conversion means.

[0244] (Supplementary Note 16) A control device that controls a work machine to perform a target task for a work object, comprising: a generation means that generates an abstract model for the work object and the work machine; a first planning means that creates first planning information for the work machine based on target task information related to the target task, status information of the work machine, and the abstract model; a conversion means that inputs the first planning information and outputs an initial solution; and a second planning means that creates second planning information including selection of time-series operations and control inputs for the work machine, based on the initial solution output by the conversion means.

[0245] 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.

[0246] REFERENCE SIGNS LIST 1 Input device 2 Observation device 3 Work machine 4 Planning device 5 Storage device 10, 20 Control plan creation device 11 Generation means 12 First planning means 13 Second planning means 14 Conversion means 30 Backhoe 31 Target area 32 Dump truck 41 Generation unit 42 First planning unit 43 Abstract state setting unit 44 Target logical formula generation unit 45 Plan generation unit 46 Second planning unit 47 Conversion unit 48 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 Ia4 Conversion 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: generation means that generates an abstract model for the work object and the work machine; first planning means that creates first plan information for the work machine based on target task information related to the target task, status information of the work machine, and the abstract model; and second planning means that creates second plan information including selection of time-series operations and control inputs by the work machine based on at least the first plan information.

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

3. The control plan creation device according to claim 1, wherein the abstract model includes 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.

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 the abstract model using the model information and the task information.

5. A control plan creation device according to claim 1, 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 the first planning means and the second planning means create plan information for the work machine, which has an irregular or deformable object as its work target, to execute the target task.

7. A control plan creation device as set forth in claim 4, wherein the first planning means and the second planning means determine conditions that the operation of the work machine must satisfy as propositions based on the target task information, the information stored in the first storage device and the second storage device, and the abstract model.

8. The control plan creation device according to claim 7, wherein the first planning means and the second planning means use temporal logic to describe the propositions.

9. A control plan creation device according to any one of claims 1 to 8, further comprising conversion means for inputting the first plan information and outputting an initial solution in the processing of the second planning means.

10. A control plan creation device according to any one of claims 1 to 8, further comprising learning means for inputting the first plan information and learning to output an initial solution in the processing of the second planning means.

11. The control plan creation device according to claim 9, wherein said conversion means outputs an initial solution to be input to said second planning means so that the initial solution has a dimension lower than that of the state of said first planning information.

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 comprising: generating abstract models for the work object and the work machine; creating first plan information for the work machine based on target task information related to the target task, status information of the work machine, and the abstract model; and creating second plan information including selection of time-series operations and control inputs for the work machine based on at least the first 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, generate an abstract model for the work object and the work machine, create first plan information for the work machine based on target task information related to the target task, status information of the work machine, and the abstract model, and create second plan information including selection of time-series operations and control inputs by the work machine, based on at least the first 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