WO2024180656A1 - 学習装置、制御装置、制御システム、学習方法および記憶媒体 - Google Patents
学習装置、制御装置、制御システム、学習方法および記憶媒体 Download PDFInfo
- Publication number
- WO2024180656A1 WO2024180656A1 PCT/JP2023/007289 JP2023007289W WO2024180656A1 WO 2024180656 A1 WO2024180656 A1 WO 2024180656A1 JP 2023007289 W JP2023007289 W JP 2023007289W WO 2024180656 A1 WO2024180656 A1 WO 2024180656A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- learning
- unit
- control
- parameters
- robot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Definitions
- This application relates to a learning device, a control device, a control system, a learning method, and a storage medium.
- Patent Document 1 describes an information processing device that generates one or more virtual models that serve as moving machines, and virtually operates the moving machines in a virtual environment in which the generated virtual models are placed. When there are multiple types of moving machines specified by parameters, the information processing device performs simulations for each type of moving machine. In addition, the information processing device uses the detection results of sensors in the virtual environment to operate the moving machine to be learned with arbitrary control content, and determines whether a preset operation result is obtained.
- the information processing device described in Patent Document 1 merely determines whether a preset operation result can be obtained by the operating machine that is the learning target. Depending on the operating environment, it may be desirable to adjust the parameters used during learning. Since the operation result for the adjusted parameters cannot be known in advance, it is not possible to determine whether the operation will be successful.
- the present application aims to provide a learning device, a control device, a control system, a learning method, and a storage medium that solve the above problems.
- a learning device includes a level set function learning unit that learns a level set function that receives as input an operation parameter that defines an operation goal and an operation environment of a robot and a control parameter of the robot, and outputs an evaluation value regarding the reachability of the operation goal based on the operation parameter and the control parameter;
- the robot is equipped with a high-level controller learning unit that learns a high-level controller that determines control parameters for realizing a target motion based on the motion parameters, based on the level set function and the prediction accuracy of the control parameters.
- the learning method includes a level set function learning step in which a learning device learns a level set function that receives as input operation parameters that define the robot's operation target and operation environment and the robot's control parameters, and outputs an evaluation value related to the attainment of the operation target based on the operation parameters and the control parameters, and a high-level controller learning step in which a high-level controller that determines control parameters for realizing the robot's target operation based on the operation parameters is learned based on the level set function and the prediction accuracy of the control parameters.
- the control device comprises a high-level control unit that determines control parameters for realizing a target motion based on motion parameters that define the motion objectives and motion environment of the robot, and a motion planning unit that calculates an evaluation value indicating the feasibility of the target motion based on the motion parameters and the control parameters using a level set function, and when it is determined that the target motion is feasible based on the evaluation value, uses the control parameters for motion control of the robot, and when it is determined that the target motion is not feasible based on the evaluation value, searches for control parameters that will make the target motion feasible based on the evaluation value.
- FIG. 1 is a diagram illustrating an example of the configuration of a control system according to a first embodiment.
- FIG. 11 is a diagram showing an example of known task parameters.
- FIG. 13 is a diagram illustrating an example of unknown task parameters.
- FIG. 2 is a diagram illustrating an example of a hardware configuration of the learning device according to the first embodiment.
- FIG. 2 is a diagram illustrating an example of a hardware configuration of a robot controller according to the first embodiment.
- FIG. 1 is a diagram illustrating a robot according to a first embodiment.
- FIG. 1 illustrates an example system state represented in an abstract space.
- FIG. 2 is a diagram illustrating an example of the configuration of a control system related to skill execution in the first embodiment.
- FIG. 2 is a diagram illustrating an example of a functional configuration of a learning device related to updating of a skill database in the first embodiment.
- FIG. 2 is a diagram illustrating an example of the configuration of a skill learning unit according to the first embodiment.
- 4 is a data flow diagram illustrating a data flow in a skill learning unit according to the first embodiment.
- FIG. 4 is a flowchart illustrating a learning process according to the first embodiment.
- 1 is a flowchart illustrating an operation plan according to the first embodiment.
- FIG. 11 is a data flow diagram illustrating a data flow in a skill learning unit according to the second embodiment.
- 10 is a flowchart illustrating a learning process according to a second embodiment.
- FIG. 13 is a schematic block diagram illustrating an example of a functional configuration of a system model learning unit according to the third embodiment. 13 is a flowchart illustrating a learning process according to the third embodiment.
- FIG. 2 is a schematic block diagram illustrating an example of a minimum configuration of a learning device according to an embodiment of the present application.
- FIG. 2 is a schematic block diagram illustrating an example of a minimum configuration of a control device according to an embodiment of the present application.
- the control system 100 includes a learning device 1, a storage device 2, a robot controller 3, a measuring device 4, and a robot 5.
- the learning device 1 is connected to the storage device 2 wirelessly or via a wire so as to be able to input and output various types of data.
- the robot controller 3 is connected to each of the storage device 2, the measuring device 4, and the robot 5 wirelessly or via a wire so as to be able to input and output various types of data.
- the connection between the learning device 1 and the storage device 2, and the connection between the robot controller 3 and each of the storage device 2, the measuring device 4, and the robot 5 may be made directly or via a communication network.
- the learning device 1 learns the actions of the robot 5 to execute a given task. In learning the actions, a machine learning method such as self-supervised learning (SSL) is used. The learning device 1 also learns a set of system states that enable the execution of the action to be learned.
- SSL self-supervised learning
- the actions and system states to be learned by the learning device 1 are not limited.
- the learning device 1 can control actions and system information that are controllable and that enable learning of that control.
- the processes to be controlled are not limited to actions that involve changes in position or form.
- the actions of the robot 5 to be controlled may include obtaining measurement data using a sensor.
- the system state refers to the state of the system to be controlled, including the robot 5 and the operating environment of the robot 5.
- the robot 5 and the operating environment of the robot 5 are sometimes collectively referred to as the target system, or simply the system.
- the target system or simply the system.
- the object may also be included in the target system.
- the state of a target system is sometimes called the system state or simply the state.
- the system state upon completion of a task is sometimes called the goal state of the task or simply the goal state.
- a set of goal states is sometimes called a goal state set. Reaching the goal state of a task is sometimes called accomplishing the task or succeeding in the task.
- the state at the end of skill execution corresponds to the goal state.
- the state of the system when a task begins is sometimes called the initial state of that task.
- the learning device 1 performs learning on the skills of the robot 5.
- Each skill is formed by modularizing one or more specific actions of the robot 5.
- we will mainly assume a task that can be achieved by executing one skill for one task at a time, and explain the case where the learning device 1 learns the skills to achieve that task.
- the robot controller 3 may be capable of executing a task that is a combination of multiple skills.
- the robot controller 3 may plan the execution of a task that is made up of multiple subtasks by combining skills for executing the individual subtasks.
- the learning device 1 may, in learning a skill, learn a set of states that makes it possible to execute the skill.
- the learning device 1 stores information about the skill obtained by learning in the storage device 2, and forms a skill database. Information registered in the skill database is sometimes called a skill tuple.
- a skill tuple includes various information required to execute the operation that constitutes the skill through modularization.
- the learning device 1 generates a skill tuple based on detailed system model information, low-level controller information, and target parameter information stored in the storage device 2.
- the storage device 2 stores various information that can be referenced by the learning device 1 and the robot controller 3.
- the storage device 2 stores, for example, detailed system model information, low-level controller information, target parameter information, and a skill database.
- the storage device 2 does not necessarily have to be configured separately from the learning device 1 or the robot controller 3.
- the storage device 2 may be built into the learning device 1 or the robot controller 3.
- the storage device 2 may be configured to include an external storage device such as a hard disk directly connected to or built into the learning device 1 or the robot controller 3, or a storage medium such as a flash memory.
- the storage device 2 may be a server device that can execute data communication with the learning device 1 and the robot controller 3.
- the storage device 2 may also be configured to include multiple storage media, and each storage medium may be distributed in the control system 100.
- Detailed system model information is information that represents a model of a target system in real space.
- the model of a target system in real space may also be referred to as a "detailed system model.”
- the detailed system model may be referred to as a "detailed” system model to distinguish it from a more abstract "abstract” system model.
- the detailed system model information may be represented by a differential equation or a difference equation that represents the detailed system model.
- the detailed system model information may be configured as a simulator program that simulates the operation of the robot 5.
- the low-level controller information is information related to the low-level controller.
- the low-level controller generates a control input for controlling the actual movement of the robot 5 based on parameter values output from the high-level controller. For example, when the high-level controller generates a trajectory for the robot 5, the low-level controller generates a control input that follows the movement of the robot 5 according to the trajectory.
- the low-level controller may also control the movement of the robot 5 using servo control with PID (Proportional Integral Differential) based on parameters output from the high-level controller.
- PID Proportional Integral Differential
- Target parameter information is provided for each skill to be learned by the learning device 1.
- Target parameter information includes, for example, initial state information, target state/known task parameter information, unknown task parameter information, execution time information, and general constraint information.
- task parameters the variable parts of a task are sometimes referred to as task parameters.
- known task parameters include the size of an object to be grasped in a case where the task is a task of grasping an object, the size of an object in the task, and the trajectory of the robot 5 for executing the task.
- the known task parameters may also be treated as parameters of a skill.
- an initial state or an initial state parameter may be expressed as xs or xsi , where "i" is a positive integer representing an identification number for identifying each initial state.
- the time when the skill execution starts may be set to 0, and the initial state may be expressed as x0 .
- the goal state/known task parameter information is information indicating a set of combinations of possible values of a goal state, which is a state that can be reached by executing a target skill, and possible values of known task parameters treated as dynamic parameters in the target skill.
- a target gripping position and posture may be included as an element of the goal state.
- the target gripping position refers to the position of the end effector that grasps the object to be grasped, and may be expressed as a relative target value based on the position of the object.
- the target posture refers to a target value of the shape of the robot 5 at the start of the gripping operation of the object.
- the goal state may include information on stable gripping conditions such as form closure and force closure as possible values.
- a combination of a goal state and a known task parameter value is referred to as a goal state/known task parameter value or a goal state parameter, and may be expressed as ⁇ g or ⁇ gi .
- "i" is a positive integer representing an identification number that identifies each goal state/known task parameter value.
- tasks that differ in either the goal states or known task parameter values, or both can be executed as a single skill.
- a target state and known task parameter values can be input to the predictor to obtain an output value corresponding to the target state and known task parameter values.
- the predictor is configured using a learning model (a model in machine learning) such as a neural network or a Gaussian Process (GP).
- the goal state/known task parameter information may be configured as a set of values that the goal state can take.
- the goal state/known task parameter value ⁇ g may be a value indicating the goal state.
- the unknown task parameter information is information about an unknown task parameter.
- the unknown task parameter information may indicate a probability distribution of data about the unknown parameter.
- the unknown task parameter information may indicate information about each unknown task parameter. Values corresponding to the target state/known task parameters and unknown task parameters may be fixed values or may be variable.
- an unknown task parameter value may be represented as ⁇ or ⁇ j , where “j” is a positive integer representing an identification number that identifies the unknown task parameter value.
- j is a positive integer representing an identification number that identifies the unknown task parameter value.
- the control system 100 treats two tasks as the same task if the unknown task parameter values in the two tasks are the same, and treats the two tasks as separate tasks if the unknown task parameter values are different.
- a task may be represented by ⁇ or ⁇ j .
- the above "j" may be regarded as a positive integer representing an identification number that identifies an individual task.
- the execution time information is information about a time limit for executing a skill.
- the execution time information may indicate the execution time of a skill (the time required to execute the skill), or the allowable condition value of the time from the start to the end of the skill execution, or both.
- the general constraint information is information indicating general constraint conditions, such as conditions related to limits on the range of motion of the robot 5, speed limits, and input limits.
- the skill database is a database that has a skill tuple that is set for each skill.
- the skill tuple may include information about a high-level controller for executing the target skill, information about a low-level controller for executing the target skill, and information about a set of states in which the target skill can be executed (e.g., the initial state of the skill) and combinations of goal states/known task parameter values.
- the set of states in which the target skill can be executed and goal states/known task parameter values is also referred to as an executable state set.
- the feasible state set may be defined in an abstract space obtained by abstracting an actual space.
- the feasible state set may be expressed by, for example, a level set function estimated by Gaussian Process Regression (GPR) or Level Set Estimation (LSE), or an approximation function of the level set function.
- GPR Gaussian Process Regression
- LSE Level Set Estimation
- whether the feasible state set includes a combination of a certain state and a target state/known task parameter value may be determined by whether a value (e.g., an average value) of the Gaussian process regression for the combination of the certain state and the target state/known task parameter value, or a value of an approximation function for the combination of the certain state and the target state/known task parameter value, satisfies a constraint condition for determining feasibility.
- a level set function is used as a function indicating a feasible state set will be described as an example, but the present invention is not limited to this.
- the robot controller 3 is a control device that formulates an operation plan for the robot 5 based on the measurement signals supplied from the measuring device 4, a skill database, etc.
- the robot controller 3 generates control commands (control inputs) for causing the robot 5 to execute the planned operations, and supplies the control commands to the robot 5.
- the robot controller 3 converts the tasks to be executed by the robot 5 into a sequence indicating tasks that the robot 5 can accept for each predetermined time step (time interval).
- the robot controller 3 then controls the robot 5 based on control commands equivalent to execution commands for the tasks instructed in the generated sequence.
- the control commands correspond to the control inputs output by the low-level controller.
- the measurement device 4 includes one or more sensors and detects the state within the workspace in which the robot 5 executes a task.
- the sensor is, for example, a camera, a range sensor, a sonar, or a combination of these.
- the measurement device 4 supplies the generated measurement signal to the robot controller 3.
- the measurement device 4 may include a self-propelled or flying sensor (including a drone) that moves within the workspace.
- the measurement device 4 may also include a sensor provided on the robot 5 itself, and a sensor provided on another object in the workspace.
- the measurement device 4 may also include a sensor that detects sound within the workspace, i.e., a microphone. In this way, the measurement device 4 may include various sensors that detect the state within the workspace and are provided at any location.
- the robot 5 executes operations related to the tasks instructed based on the control commands supplied from the robot controller 3.
- the robot 5 may be, for example, a robot that operates in various factories such as an assembly plant or a food factory, or at a logistics site.
- the robot 5 may be a vertical articulated robot, a horizontal articulated robot, or a robot having another structure.
- the robot 5 may supply a status signal indicating the status of the robot 5 itself to the robot controller 3.
- This status signal may be an output signal of a sensor that detects the status (e.g., position, angle, etc.) of the entire robot 5 or a specific part (e.g., a joint, etc.) or may be a signal indicating the progress of the operation of the robot 5.
- the robot controller 3 and the robot 5 may be integrated.
- at least two of the learning device 1, the storage device 2, and the robot controller 3 may be integrated.
- the control target of the control system 100 is not limited to the robot 5.
- Various control targets that the learning device 1 can learn may be the control targets of the control system 100.
- the learning device 1 includes, as hardware, a processor 11, a memory 12, and an interface 13.
- the processor 11, the memory 12, and the interface 13 are connected via a data bus 10 so as to be able to input and output various types of data.
- the processor 11 functions as a controller (computing device) that controls the entire learning device 1 by executing a program stored in the memory 12.
- "executing a program” or “executing a program” may refer to executing processing instructed by various commands written in the program.
- the processor 11 is, for example, a processor such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or a TPU (Tensor Processing Unit).
- the processor 11 is not limited to one processor, and may be configured to include multiple processors.
- the processor 11 constitutes the computer of the learning device 1.
- Memory 12 comprises a storage medium that stores various information referenced by learning device 1 or other hardware.
- Memory 12 is composed of various volatile and non-volatile memories, such as RAM (Random Access Memory), ROM (Read Only Memory), and flash memory.
- Memory 12 stores programs that contain commands that instruct the processing to be executed by processor 11.
- Some of the information stored in memory 12 may be stored in one or more external storage devices (e.g., storage device 2) that can communicate with learning device 1, or may be stored in storage media that are removable from other components of learning device 1.
- the interface 13 includes an interface for connecting the learning device 1 to other devices so that various data can be input and output.
- the interface 13 may be a wireless interface such as a network adapter for wirelessly transmitting and receiving data to and from other devices, or a hardware interface for wired transmission and reception of data to and from other devices.
- the interface 13 may be connected to an input device that accepts user input (external input) such as a touch panel, button, keyboard, or voice input device, a display device such as a display or projector, or a sound output device such as a speaker.
- the hardware configuration of the learning device 1 is not limited to the configuration illustrated in FIG. 4.
- the learning device 1 may incorporate at least one of a display device, an input device, and a sound output device.
- the learning device 1 may also be configured to include a storage device 2.
- FIG. 5 is a diagram showing an example of the hardware configuration of the robot controller 3 according to this embodiment.
- the robot controller 3 includes, as hardware, a processor 31, a memory 32, and an interface 33.
- the processor 31, the memory 32, and the interface 33 are connected via a data bus 30 so that various types of data can be input and output.
- the processor 31 functions as a controller (computing device) that performs overall control of the robot controller 3 by executing the programs stored in the memory 32.
- the processor 31 is, for example, a processor such as a CPU, a GPU, or a TPU.
- the processor 31 is not limited to a single processor, and may be configured to include multiple processors.
- the memory 32 is configured to include one or more storage media.
- the memory 32 includes various types of volatile and non-volatile memory, such as RAM, ROM, and flash memory.
- the memory 32 also stores programs executed by the processor 31. Some of the information stored in the memory 32 may be stored in one or more external storage devices (e.g., storage device 2) capable of communicating with the robot controller 3, or may be stored in a storage medium that is detachable from other parts of the robot controller 3.
- the interface 33 is an interface for connecting the robot controller 3 to other devices so that various data can be input and output.
- the interface 33 may include a wireless interface such as a network adapter for wirelessly transmitting and receiving data to and from other devices, or may include a hardware interface for wired transmission and reception of data to and from other devices.
- the hardware configuration of the robot controller 3 is not limited to the configuration exemplified in FIG. 5.
- the robot controller 3 may incorporate at least one of a display device, an input device, and a sound output device.
- the robot controller 3 may also be configured to include a storage device 2.
- the abstract space is a virtual space separate from the real space, and is used by the robot controller 3 to formulate an operation plan for the robot 5 based on the skill tuples.
- FIG. 6 illustrates a robot (manipulator) 5 that grasps an object in real space, and an object 6 to be grasped.
- FIG. 7 represents the system state illustrated in FIG. 6 in an abstract space.
- the robot controller 3 formulates an operation plan in an abstract space in which the states of each object, such as the robot 5 and the object 6 to be grasped, are abstractly (simply) represented.
- the states of each object such as the robot 5 and the object 6 to be grasped
- an abstract model 5x corresponding to the end effector of the robot 5, an abstract model 6x corresponding to the object 6 to be grasped, and a region (see dashed frame 60) in which the robot 5 can grasp the object 6 to be grasped are defined.
- the executable state set is represented as a set of combinations of the initial state and the target state/known task parameter value in which the skill can be executed.
- a set of combinations of initial states and goal states/known task parameter values that allow the grasping skill to be executed is illustrated as a grasp operation executable region in a dashed frame 60.
- the executable state set or goal states/known task parameter values correspond to operation parameters that define the robot's operation goals and operating environment.
- the state of the end effector and the like are abstractly represented by the state of the robot in the abstract space.
- the state of each object corresponding to the operation target or the environmental object can be abstractly represented in a coordinate system based on the position of a reference object such as a workbench.
- the robot controller 3 uses skills to formulate an action plan in an abstract space that abstracts the actual system. This makes it possible to effectively reduce the computational costs required for action planning even in multi-stage tasks.
- the robot controller 3 formulates an action plan to execute skills for performing grasping in a graspable area (dashed frame 60) defined in the abstract space, and generates control commands for the robot 5 based on the formulated action plan.
- the state of a system in real space may be denoted as “x” and the state of a system in abstract space (sometimes referred to as an “abstract system” in this application) may be denoted as “x'” to distinguish between them.
- the state x' is expressed as a vector (sometimes referred to as an "abstract state vector” in this application).
- the abstract state vector includes a vector representing the state of an object to be manipulated (e.g., position, orientation, velocity, etc.), a vector representing the state of an end effector of a manipulable robot 5, and a vector representing the state of an environmental object.
- the state x' is defined as a state vector that abstractly represents the state of some elements in the real system.
- a goal state/known task parameter value in the real space may be expressed as " ⁇ g "
- a goal state/known task parameter value in the abstract space may be expressed as " ⁇ g '" to distinguish between them.
- Fig. 8 is a diagram showing a configuration example of a control system for skill execution according to this embodiment.
- the processor 31 of the robot controller 3 functionally includes a motion planning unit 34, a high-level control unit 35, and a low-level control unit 36.
- the system 50 corresponds to an actual system (an actual system including the robot 5).
- the high level control section 35 is also called a high level controller and may be represented as ⁇ H.
- the high level control section 35 corresponds to an example of a control means.
- the low level control section 36 is also called a low level controller and may be represented as ⁇ L.
- the robot controller 3 is an example of a control device that controls the robot 5 .
- the motion planning unit 34 formulates a motion plan for the robot 5 based on the state x' in the abstract system and the skill database.
- the motion planning unit 34 expresses the goal state by a logical formula based on temporal logic, for example.
- the motion planning unit 34 may express the logical formula by using a preset temporal logic such as linear temporal logic, metric temporal logic (MTL), or signal temporal logic (STL).
- the action planning unit 34 converts the generated logical formula into a sequence (action sequence) for each time step. This action sequence includes, for example, information about the skills used in each time step.
- the high-level control unit 35 recognizes the skill to be executed for each time step from the action sequence generated by the action planning unit 34. Then, the high-level control unit 35 generates a parameter " ⁇ " to be input to the low-level control unit 36 based on the high-level controller " ⁇ H " included in the skill tuple corresponding to the skill to be executed in the current time step.
- the high-level control unit 35 generates a control parameter ⁇ as shown in equation (1) when the combination of the state “x s ′” in the abstract space and the target state/known task parameter value “ ⁇ g ′” at the start of execution of the skill to be executed belongs to the executable state set “ ⁇ 0 ′” of that skill.
- the initial state at the start of skill execution is represented, for example, by a system state in an abstract space.
- the approximation function g ⁇ of the level set function is preset in the robot controller 3.
- the robot controller 3 can determine whether the initial state x s ' belongs to the feasible state set ⁇ 0 ' by determining whether the approximation function g ⁇ of the level set function satisfies equation (2).
- Equation (2) can be regarded as a constraint that determines the feasibility of the skill from a certain state.
- the approximation function g can be regarded as a model for evaluating whether a goal state can be reached from an initial state xs ' under known task parameter values.
- the approximation function g ⁇ is obtained by performing learning by the learning device 1.
- the approximation function g ⁇ itself may be referred to as a level set function.
- the robot controller 3 executes a skill using the low-level control unit 36, and can determine whether or not the abstract system state x'(T) at the time T has elapsed since the start of execution belongs to a goal state set ⁇ 'd , as shown in formula (3).
- the goal state set ⁇ 'd is a set of goal states in an abstract space after the execution of the skill to be determined. T indicates the execution time of the skill to be determined.
- the low-level control unit 36 generates an input “u” based on the control parameter ⁇ generated by the high-level control unit 35, and the current state x and the target state/known task parameter value ⁇ g in the real system obtained from the system 50.
- the low-level control unit 36 generates the input u as a control command as shown in equation (4) based on the low-level controller “ ⁇ L ” included in the skill tuple.
- the low-level controller ⁇ L is not necessarily limited to an input/output relationship that can be expressed by equation (4), and may have a different input/output relationship.
- the low-level control unit 36 recognizes the state x of the robot 5 and the environment using a predetermined state recognition technology based on the measurement signals output from the measurement device 4 (which may include signals obtained from the robot 5) and the like.
- the model of the system 50 is expressed by a state equation (equation (5)) that expresses a function "f" that is an output and a time change x ⁇ of the state x based on an input u to the robot 5 and the state x.
- the operator " ⁇ " represents a differentiation with respect to time or a difference with respect to time.
- Fig. 9 is a diagram showing an example of a functional configuration of the learning device 1 related to updating of the skill database according to this embodiment.
- the processor 11 of the learning device 1 functionally comprises an abstract system model setting unit 14, a skill learning unit 15, and a skill tuple generating unit 16. Note that Fig. 9 shows an example of the type of data exchanged for each block, but is not limited to this.
- the abstract system model setting unit 14 sets an abstract system model based on the detailed system model information.
- the abstract system model that is set is a model obtained by simplifying the detailed system model identified by the detailed system model information.
- the detailed system model is a model that represents the system 50 in Figure 8.
- the abstract system model is a model that provides an abstract system state indicated by an abstract state vector x' that is constructed based on a detailed system state x in the detailed system model.
- the motion planner 34 formulates a motion plan for the robot 5 using the abstract system model.
- the abstract system model setting unit 14 derives the abstract system model from the detailed system model based on, for example, an algorithm stored in advance in the storage device 2 or the like.
- information regarding the abstract system model may be stored in advance in the storage device 2 or the like.
- the abstract system model setting unit 14 may acquire information regarding the abstract system model from the storage device 2 or the like.
- the abstract system model setting unit 14 supplies information regarding the set abstract system model to the skill learning unit 15 and the skill tuple generation unit 16.
- the abstract system model information and the detailed system model information may be collectively referred to as system model information.
- the skill learning unit 15 learns control related to skill execution based on the abstract system model set by the abstract system model setting unit 14 and the detailed system model information, low-level controller information, and target parameter information stored in the storage device 2.
- the skill learning unit 15 learns, for example, a control parameter ⁇ output from the high-level controller ⁇ H and provided to the low-level controller ⁇ L.
- the skill learning unit 15 learns a level set function and acquires training data for learning the control parameter ⁇ , as described later. At this time, the skill learning unit 15 evaluates, for example, the prediction accuracy of the level set function.
- the skill tuple generation unit 16 generates a tuple by correlating the following information: information on the feasible state set ⁇ 0 ' obtained by learning in the skill learning unit 15, information on the high-level controller ⁇ H , information on the abstract system model set by the abstract system model setting unit 14, low-level controller information, and target parameter information.
- the skill tuple generation unit 16 then registers the generated skill tuple in a skill database.
- the data in the skill database is used by the robot controller 3 to control the robot 5.
- the functions of the abstract system model setting unit 14, the skill learning unit 15, and the skill tuple generating unit 16 can be realized, for example, by the processor 11 executing a predetermined program. Also, the program to be executed may be recorded in advance in any non-volatile storage medium, and the processor 11 may install and execute the program to realize these functions. Note that some or all of these functions are not limited to being realized by executing software, but may be realized by hardware or a combination of hardware and software. Also, some or all of these functions may be realized using integrated circuits that can be programmed by the user, such as a field-programmable gate array (FPGA) or a microcontroller. In that case, these integrated circuits execute programs for realizing the above functions.
- FPGA field-programmable gate array
- the hardware used to realize the above functions may be other types of hardware, such as an application specific standard produce (ASSP), an application specific integrated circuit (ASIC), or a quantum computer control chip. This point is the same in other embodiments described later. Furthermore, each of these functions may be realized by multiple computers working together, for example, using cloud computing technology.
- ASSP application specific standard produce
- ASIC application specific integrated circuit
- quantum computer control chip a quantum computer control chip
- the skill learning unit 15 functionally comprises a search point set setting unit 210, a data acquisition unit 220, and a learning setting unit 230.
- the search point set setting unit 210 includes a search point set initialization unit 211 and a search point selection unit 212 .
- the data acquisition unit 220 includes a system model setting unit 221 , a problem setting calculation unit 222 , and a data update unit 223 .
- the learning setting unit 230 includes a level set function learning unit 231 , a prediction accuracy evaluation function setting unit 232 , a prediction accuracy evaluation unit 233 , a controller learning evaluation function setting unit 234 , and a high-level controller learning unit 240 .
- the skill learning unit 15 generates training data and uses the generated training data to learn the high-level controller ⁇ H. In addition, the skill learning unit 15 learns a level set function.
- the search point set setting unit 210 acquires a plurality of sets of search points each consisting of a combination of an initial state x s and a target state/known task parameter value ⁇ g as candidates for task setting to be learned by the high-level controller ⁇ H.
- the search point set setting unit 210 selects a search point from which training data is to be acquired from the acquired candidates.
- the training data is used for learning the control of the robot 5 by the robot controller 3.
- the search point set setting unit 210 corresponds to an example of a search point setting means.
- the search point set initialization unit 211 sets a search point set.
- the search point set is a set including a plurality of search points as elements.
- Each search point is a candidate for task setting to be the target of learning of the high-level controller ⁇ H and the level set function. More specifically, each search point corresponds to a combination of an initial state x s and a target state/known task parameter value ⁇ g , that is, an operation parameter that is a candidate for an executable state set.
- the search point set initialization unit 211 sets a predetermined number N (N is a predetermined integer equal to or greater than 2) of search points so that they are randomly distributed in a value range predetermined for each task, for example.
- the set of search points may be represented as ⁇ check , and each search point may be represented as (x s , ⁇ g ) or ⁇ .
- each search point may be represented as (x s , ⁇ g ) or ⁇ .
- the search point selection unit 212 selects a search point ⁇ i (i is an integer between 1 and N) for next acquiring training data from the search point set ⁇ check .
- the search point selection unit 212 outputs the selected search point ⁇ i to the data acquisition unit 220 and the learning setting unit 230.
- the search point selection unit 212 randomly selects one search point ⁇ i from a plurality of search points constituting the search point set ⁇ check , for example.
- the search point selection unit 212 may select the search point ⁇ i with the maximum evaluation value calculated using the prediction accuracy evaluation function J g ⁇ ( ⁇ i , ⁇ h ( ⁇ i )).
- the prediction accuracy evaluation function J ⁇ g ( ⁇ i , ⁇ h ( ⁇ i )) is a function that indicates the estimated accuracy of the evaluation value obtained for a search point using the level set function g ⁇ .
- the level set function g ⁇ determines an evaluation value that indicates the possibility of reaching the target state. The smaller the evaluation value of the level set function g ⁇ , the higher the possibility of reaching the target state. In this case, the search point that gives the evaluation value of the level set function g ⁇ is determined to be capable of reaching the target state.
- the data acquisition unit 220 acquires training data for learning the high-level controller ⁇ H using the search points ⁇ i input from the search point set setting unit 210, and also acquires training data for learning the level set function g.
- the system model setting unit 221 performs settings related to a system model to solve an optimal control problem based on the search point ⁇ i .
- the system model setting unit 221 sets problem setting information indicating previously set system model information, constraint conditions, a low-level controller, a target time, a solution search function, and the search point ⁇ i in the problem setting calculation unit 222.
- the system model information in this example includes detailed system model information and abstract system model information.
- the constraint conditions include constraint conditions related to the task and constraint conditions related to the operation of the robot.
- the optimal control problem is a problem of finding a control parameter ⁇ that minimizes the evaluation value of a level set function g(x(T), ⁇ ) that indicates the possibility of reaching a target state ⁇ d within a predetermined target time T as shown in formula (6).
- optimization includes the meaning of searching for the most appropriate value possible, and is not limited to determining an absolutely optimal value.
- optimization in this application does not exclude cases in which the level set function and other evaluation values temporarily change to more inappropriate values during the processing process, or in which an absolutely optimal value cannot be obtained as a processing result.
- Minimization also includes the meaning of searching for the smallest possible value, and is not limited to determining an absolute minimum value.
- a model of the system 50 i.e., a system model, is given by formula (5).
- the control input u to the robot 5 is the control output from a low-level controller ⁇ L (x(t), ⁇ , ⁇ g ) determined by the system state x(t) at time t (t is a real number between 0 and T), the control parameter ⁇ , and the target state/known task parameter value ⁇ g .
- the control parameter ⁇ is output from a high-level controller ⁇ H ( ⁇ ) as shown in equation (1).
- the problem setting calculation unit 222 sets a solution search problem indicating task execution by the robot 5, based on the problem setting information set by the system model setting unit 221.
- the solution search problem indicates a problem of finding a solution that satisfies the constraint conditions indicated in the problem setting information. More specifically, the problem setting calculation unit 222 sets the above optimal control problem under the constraint conditions indicated in the problem setting information.
- the problem setting calculation unit 222 can solve the set optimal control problem, set the smallest possible evaluation value of the level set function g as the optimal value g i * , and calculate the control parameter ⁇ i * that gives the optimal value g i * .
- the problem setting calculation unit 222 outputs optimal control solution information indicating the optimal value g i * and the control parameter ⁇ i * calculated under the search point ⁇ i to the data update unit 223.
- the problem setting calculation unit 222 may further set a system state x(t) under a system model set based on the control parameter ⁇ i * , and include the set system state x(t) in the optimal control solution information.
- the data update unit 223 updates the training data D opt of the high-level controller ⁇ H and the level set function so as to include a set of the search point ⁇ i , the optimal value g i * , and the control parameter ⁇ i * indicated in the optimal control solution information input from the problem setting calculation unit 222.
- the training data D opt is a data set in which a set of the optimal value g i * and the control parameter ⁇ i * for each search point ⁇ i is accumulated, and is also referred to as an acquired data set.
- the learning setting unit 230 learns the level set function g ⁇ using the acquired data set D opt , and sets a prediction accuracy evaluation function J g ⁇ and a controller learning evaluation function J h based on the level set function g ⁇ obtained by learning.
- the learning setting unit 230 uses the prediction accuracy evaluation function J g ⁇ to determine whether or not learning of the level set function needs to be continued.
- the level set function g ⁇ is a function for calculating an evaluation value related to the possibility of reaching the target state for a combination of the system state and the target state/known task parameter value.
- the prediction accuracy evaluation function J g ⁇ is a function for evaluating the prediction accuracy of the level set function g ⁇ and, in turn, the prediction accuracy of the high-level controller ⁇ H.
- the prediction accuracy is used to determine whether or not learning of the level set function g ⁇ needs to be continued.
- the controller learning evaluation function J h is a function used as a loss function in learning the high-level controller ⁇ H.
- the level set function learning unit 231 uses the acquired data set D opt as training data to learn the level set function g ⁇ .
- a model of the level set function g ⁇ i.e., a function form, is set in advance in the level set function learning unit 231.
- the level set function learning unit 231 searches for parameters of the level set function g ⁇ that minimize the evaluation function for learning the level set function, for example.
- the evaluation function for learning the level set function can use, for example, the sum of squares of the absolute values of the difference between the evaluation value g ⁇ ( ⁇ i , ⁇ i ) of the level set function g ⁇ for each search point ⁇ i that is an element of the acquired data set D opt and the target value g i as shown in Equation (7).
- E ( ⁇ i, gi, ⁇ i) ⁇ Dopt Section denotes the expected value of the evaluation value... for the acquisition data set Dopt including a set of search point ⁇ i , target value g i and control parameter ⁇ i as elements.
- the target value g i may or may not be a negative value depending on whether or not it is possible to reach the target state of the system state x(t) derived by the search point ⁇ i .
- the level set function learning unit 231 sets the level set function g determined by learning to the prediction accuracy evaluation function setting unit 232 and the controller learning evaluation function setting unit 234.
- the level set function learning unit 231 may determine whether the system state x(t) can reach the target state for each search point ⁇ i , which is an element of the acquisition data set D opt , and add the evaluation result of whether or not the target state can be reached to the acquisition data set D opt . For example, the level set function learning unit 231 may add a smaller target value g i to a search point ⁇ i where the final system state x(T) at time T is closer to the target state. Also, the level set function learning unit 231 may add a smaller target value g i to a search point ⁇ i where the system state x (t) can reach the target state earlier.
- the prediction accuracy evaluation function setting unit 232 refers to the acquired data set D opt and sets the prediction accuracy evaluation function J g ⁇ based on the level set function g ⁇ set by the level set function learning unit 231.
- the prediction accuracy evaluation function setting unit 232 determines, for example, the variance ⁇ g ⁇ ( ⁇ i , ⁇ i ) of the evaluation value of the level set function g ⁇ for each search point ⁇ i as the evaluation value of the prediction accuracy evaluation function J g ⁇ .
- the variance ⁇ g ⁇ ( ⁇ i , ⁇ i ) functions as an index indicating that the prediction accuracy of the reachability of the target state by the level set function g ⁇ is low, since the larger the value of the variance ⁇ g ⁇ ( ⁇ i , ⁇ i ) is, the more different the determination result of whether the target state can be reached for each search point ⁇ i is.
- the variance ⁇ g ⁇ ( ⁇ i , ⁇ i ) can also be used as an index of the prediction accuracy of the system state predicted by the high-level controller ⁇ H , the larger the value of the variance ⁇ g ⁇ ( ⁇ i , ⁇ i ).
- the prediction accuracy evaluation function setting unit 232 sets the evaluation value of the set prediction accuracy evaluation function J g ⁇ in the prediction accuracy evaluation unit 233 .
- the prediction accuracy evaluation unit 233 uses the evaluation value of the prediction accuracy evaluation function J g ⁇ set by the prediction accuracy evaluation function setting unit 232 to determine whether or not the learning of the level set function g ⁇ needs to be continued during learning. For example, the prediction accuracy evaluation unit 233 determines whether or not the learning needs to be continued based on whether or not the evaluation value of the prediction accuracy evaluation function J g ⁇ is greater than a predetermined judgment threshold value of the prediction accuracy evaluation function. In addition, the prediction accuracy evaluation unit 233 may determine whether or not the learning needs to be continued by further considering the learning conditions of the level set function g ⁇ .
- the prediction accuracy evaluation unit 233 determines whether or not the learning needs to be continued based on whether or not the amount of change in the level set function g ⁇ at the current time from the level set function g ⁇ obtained based on the previous search point ⁇ i-1 is equal to or greater than a predetermined reference amount of change.
- the prediction accuracy evaluation unit 233 When it is determined that learning needs to be continued, the prediction accuracy evaluation unit 233 outputs a learning continuation flag indicating the need for learning to the search point set setting unit 210.
- the search point selection unit 212 selects a new search point ⁇ i from the acquisition data set D opt and outputs the selected search point ⁇ i to the data acquisition unit 220. Therefore, learning of the level set function g ⁇ is continued based on the new search point ⁇ i .
- the prediction accuracy evaluation unit 233 does not output a continuing learning flag to the search point set setting unit 210, but causes the level set function learning unit 231 to terminate learning of the level set function g ⁇ , and causes the high-level controller learning unit 240 to terminate learning of the high-level controller ⁇ H. Thereafter, the level set function learning unit 231 sets the level set function g ⁇ at the time when learning is completed in the motion planning unit 34 of the robot controller 3. In addition, the high-level controller learning unit 240 sets the parameters of the high-level controller ⁇ H at the time when learning is completed in the motion planning unit 34 and the high-level control unit 35.
- the controller learning evaluation function setting unit 234 determines a controller learning evaluation function Jh based on the evaluation value of the level set function g ⁇ set by the level set function learning unit 231 and the high-level controller ⁇ H set by the high-level controller learning unit 240.
- the controller learning evaluation function setting unit 234 sets the determined controller learning evaluation function Jh to the high-level controller learning unit 240.
- the controller learning evaluation function setting unit 234 determines, for example, as shown in equation (8), the average value ⁇ g ⁇ (prediction average value) of the level set function g ⁇ , the variance ⁇ g ⁇ (prediction variance) of the level set function g ⁇ , and the weighted sum of the squared difference
- k and ⁇ respectively indicate weighting parameters of the variance ⁇ g ⁇ and the sum of squared differences
- the weighting parameters k and ⁇ are each a predetermined positive real value of 0 or greater than 0.
- the high-level controller ⁇ H is trained to reach the target state.
- the high-level controller ⁇ H is trained to reach the target state stably.
- the high-level controller ⁇ H is trained to make it easier to obtain the control parameter ⁇ as a control output.
- the high-level controller learning unit 240 refers to the acquisition data set D opt as training data and performs learning of the high-level controller ⁇ H using the controller learning evaluation function J h .
- a model of the high-level controller ⁇ H is set in advance in the high-level controller learning unit 240.
- the high-level controller learning unit 240 searches for parameters of the high-level controller ⁇ H that minimize the controller learning evaluation function J h , for example.
- the high-level controller learning unit 240 sets the high-level controller ⁇ H obtained by learning in the problem setting calculation unit 222 and the controller learning evaluation function setting unit 234.
- Fig. 11 is a data flow diagram illustrating data flow in the skill learning unit 15 according to this embodiment.
- the search point set initialization unit 211 of the search point set setting unit 210 sets the search point set ⁇ check using the target parameter information stored in the storage device 2.
- the search point set initialization unit 211 refers to the target parameter information, defines a possible combination of one initial state x si and one target state/known task parameter value ⁇ g as a search point ⁇ , and configures a search point set ⁇ check including N different search points ⁇ .
- the search point selection unit 212 randomly selects one unprocessed search point ⁇ i from the search point set ⁇ check configured in the search point set setting unit 210.
- the search point selection unit 212 selects the search point ⁇ i having the maximum evaluation value of the prediction accuracy evaluation function J g ⁇ from among the unprocessed search points ⁇ i .
- the search point selection unit 212 outputs the selected search point ⁇ i to the data acquisition unit 220.
- the system model setting unit 221 of the data acquisition unit 220 configures problem setting information using the system model information stored in the storage device 2, other setting information, and the search point ⁇ i input from the search point set setting unit 210.
- the problem setting information includes the system model information, constraint conditions, low-level controller, target time, solution search function, and information on the search point ⁇ i .
- the system model setting unit 221 sets the configured problem setting information in the problem setting calculation unit 222.
- the problem setting calculation unit 222 uses a solution search function to solve an optimal control problem as a solution search problem for the search point ⁇ i under the system model, constraint conditions, and low-level controller indicated in the problem setting information set by the system model setting unit 221.
- the problem setting calculation unit 222 uses the solution search function to determine the minimum evaluation value g i * as the optimal value g i * , and calculates the control parameter ⁇ i * that gives the optimal value g i * .
- the problem setting calculation unit 222 outputs optimal control solution information including a set of the optimal value g i * and the control parameter ⁇ i * for the search point ⁇ i to the data update unit 223.
- the data update unit 223 updates the acquisition data set D opt so as to include a set of the search point ⁇ i , the optimal value g i * , and the control parameter ⁇ i * indicated in the optimal control solution information input from the problem setting calculation unit 222 .
- the level set function learning unit 231 of the learning setting unit 230 refers to the acquisition data set D opt updated by the data updating unit 223 as training data, and learns the level set function g ⁇ indicated in the preset level set function information.
- the level set function learning unit 231 sets the level set function g ⁇ obtained by learning in the prediction accuracy evaluation function setting unit 232 and the controller learning evaluation function setting unit 234.
- the prediction accuracy evaluation function setting unit 232 refers to the acquired data set D opt and determines the prediction accuracy evaluation function J g ⁇ based on the level set function g ⁇ set by the level set function learning unit 231.
- the prediction accuracy evaluation function setting unit 232 sets the evaluation value of the determined prediction accuracy evaluation function J g ⁇ in the prediction accuracy evaluation unit 233.
- the prediction accuracy evaluation unit 233 uses the evaluation value of the prediction accuracy evaluation function Jg ⁇ set by the prediction accuracy evaluation function setting unit 232 to determine whether or not it is necessary to continue learning the level set function g ⁇ during learning. If it determines that learning needs to continue, the prediction accuracy evaluation unit 233 outputs a learning continuation flag indicating that learning needs to continue to the search point set setting unit 210.
- the controller learning evaluation function setting unit 234 determines a controller learning evaluation function Jh based on the evaluation value of the level set function g ⁇ set by the level set function learning unit 231 and the high-level controller set by the high-level controller learning unit 240.
- the controller learning evaluation function setting unit 234 sets the determined controller learning evaluation function Jh in the high-level controller learning unit 240.
- the high-level controller learning unit 240 refers to the acquisition data set D opt as training data and uses the controller learning evaluation function J h to learn the high-level controller ⁇ H.
- the high-level controller learning unit 240 sets the high-level controller ⁇ H obtained by learning in the problem setting calculation unit 222 and the controller learning evaluation function setting unit 234.
- Step S102 The search point selection unit 212 selects a search point ⁇ i for acquiring data next from the search point set ⁇ check .
- the system model setting unit 221 sets problem setting information including system model information in the problem setting calculation unit 222 based on the selected search point ⁇ i .
- Step S104 The problem setting calculation unit 222 solves the optimal control problem based on the problem setting information and the high-level controller, and calculates the optimal value g i * of the evaluation value with the level set function as the evaluation function, and the control parameter ⁇ i * that gives the optimal value g i * .
- the data update unit 223 updates the acquisition data set D opt by adding a set of search points ⁇ i , optimal values g i * , and control parameters ⁇ i * to be processed.
- Step S106 The level set function learning unit 231 learns the level set function g ⁇ by using the acquisition data set D opt .
- the controller learning evaluation function setting unit 234 determines a controller learning evaluation function J h based on the level set function g ⁇ and the high-level controller ⁇ H , and sets it in the high-level controller learning unit 240.
- the high-level controller learning unit 240 refers to the acquisition data set D opt and learns the high-level controller ⁇ H by using the controller learning evaluation function J h .
- the high-level controller learning unit 240 sets the learned high-level controller ⁇ H in the problem setting calculation unit 222 and the controller learning evaluation function setting unit 234.
- the prediction accuracy evaluation function setting unit 232 determines a prediction accuracy evaluation function J g ⁇ for evaluating the prediction accuracy of the level set function g ⁇ and the high-level controller ⁇ H based on the level set function g ⁇ .
- the prediction accuracy evaluation function setting unit 232 sets the evaluation value of the determined prediction accuracy evaluation function J g ⁇ in the prediction accuracy evaluation unit 233 and the search point set setting unit 210.
- the evaluation value of the prediction accuracy evaluation function J g ⁇ can be referred to in the processing of step S102 related to the next search point ⁇ i+1 .
- Step S110 The prediction accuracy evaluation unit 233 uses the evaluation value of the prediction accuracy evaluation function J ⁇ g and predetermined learning conditions to determine whether or not it is necessary to continue learning the level set function g ⁇ that is being learned.
- Step S111 When it is determined that learning needs to be continued (step S111: YES), the prediction accuracy evaluation unit 233 outputs a learning continuation flag to the search point set setting unit 210. By proceeding to the process of step S102, the process of loop L11 is repeated.
- the prediction accuracy evaluation unit 233 considers the search point ⁇ i at that point to be processed, and increments the number of processed search points by 1. If the number of processed search points has not reached N, the process of loop L11 is repeated for the next search point.
- the process exits from loop L11 and ends the data acquisition/learning process.
- the process immediately leaves the loop L11 and ends the data acquisition/learning process.
- the process in FIG. 12 ends.
- the level set function learning unit 231 sets the level set function g ⁇ in the motion planning unit 34 of the robot controller 3.
- the high-level controller learning unit 240 sets the parameters of the high-level controller ⁇ H in the motion planning unit 34 and the high-level control unit 35.
- the motion planner 34 calculates, as an evaluation value g ⁇ *, an evaluation value g ⁇ ( ⁇ , ⁇ H ( ⁇ )) of the learned level set function g ⁇ set for the search point ⁇ and the control parameter ⁇ H ( ⁇ ) calculated based on the search point ⁇ in the motion plan of the robot 5.
- the control parameter ⁇ H ( ⁇ ) is obtained as an output from the learned high-level controller ⁇ H for the search point ⁇ .
- the search point ⁇ related to the newly set motion plan may differ from the search point ⁇ i used in learning the level set function g ⁇ , etc., and therefore the possibility of reaching the target state is unknown.
- the motion planner 34 determines the possibility of reaching the target state based on the calculated evaluation value.
- the search point ⁇ is a parameter set including the initial state x s of the task to be executed and the target state/known task parameter value ⁇ g as elements.
- the motion planner 34 can determine whether the target state can be reached based on whether the evaluation value g ⁇ * is equal to or less than 0.
- the motion planning unit 34 determines that the target state can be reached, it outputs the control parameter ⁇ H ( ⁇ ) obtained based on the search point ⁇ as the control parameter ⁇ to the low-level control unit 36.
- the motion of the robot 5 is controlled based on the search point ⁇ determined to be capable of reaching the target state.
- the motion planning unit 34 When determining that the target state has not been reached, the motion planning unit 34 defines the sum ⁇ H ( ⁇ )+ ⁇ obtained by adding the adjustment amount ⁇ to the control parameter ⁇ H ( ⁇ ) as the adjusted control parameter ⁇ ', and calculates the evaluation value g ⁇ ( ⁇ , ⁇ ') of the level set function g ⁇ for the search point ⁇ and the adjusted control parameter ⁇ ' as the evaluation value g ⁇ * . As exemplified in equation (9), the motion planning unit 34 searches for the control parameter ⁇ ' for which the evaluation value g ⁇ * is 0 or less as the control parameter that enables the target state to be reached.
- the action planning unit 34 may further use the control parameter ⁇ ' to determine whether or not it satisfies a predetermined constraint condition, determine whether or not to adopt the control parameter ⁇ ' obtained by the search, and if it is determined not to adopt the control parameter ⁇ ', reject the obtained control parameter ⁇ ', set the evaluation value g ⁇ * to 0 or less, and newly search for a new control parameter ⁇ ' that satisfies the constraint condition.
- the motion planning unit 34 outputs the obtained control parameter ⁇ ' to the low-level control unit 36. Therefore, even if it is determined that the search point ⁇ cannot reach the target state, the system state can be made to reach the target state by adjusting the control parameter that is the optimal solution for the search point ⁇ .
- the search point ⁇ does not give the target state, nor is the control parameter ⁇ ' an optimal solution for the search point ⁇ , but a control parameter ⁇ ' that makes it possible to reach the target state is searched for.
- a control parameter ⁇ ' that makes it possible to reach the target state is searched for. For example, assume that in the operating environment of the robot 5, another moving object enters the planned path of travel estimated by the control parameter that is the optimal solution at a certain search point ⁇ . Under this assumption, the motion planning unit 34 updates the search point ⁇ to a position sufficiently away from the predicted path of the other moving object, which is an element of the target state.
- the motion planning unit 34 executes the above processing for the set search point ⁇ . That is, the motion planning unit 34 judges whether the target state can be reached for the set search point ⁇ and the control parameter ⁇ that gives the optimal solution. When the motion planning unit 34 judges that the target state can be reached, it derives control parameters that give the optimal solution for the search point ⁇ . When the motion planning unit 34 judges that the target state cannot be reached, it adjusts the control parameters that give the optimal solution and searches for control parameters that make it possible to reach the target state. Then, after the moving object has passed the planned progression path based on the initial search point ⁇ , the motion planning unit 34 may reset the search point ⁇ including the original target state and execute the above processing for the reset search point ⁇ . Therefore, by changing the search point ⁇ , contact or collision with the moving object can be avoided, and the possibility of reaching the target state can be improved.
- Fig. 13 is a flowchart illustrating an operation plan according to this embodiment.
- the motion planning unit 34 sets a search point ⁇ when planning the motion of the robot 5. As described above, the search point ⁇ indicates the initial state, the target state, and the task parameters of the control system.
- the motion planning unit 34 uses a trained high-level controller ⁇ H based on the search point ⁇ to obtain a control output ⁇ H ( ⁇ ) from the high-level controller ⁇ H as a parameter ⁇ .
- the motion planning unit 34 calculates an evaluation value g * of a level set function g ⁇ ( ⁇ , ⁇ ( ⁇ )) for the search point ⁇ and the control output ⁇ H ( ⁇ ).
- Step S203 The motion planning unit 34 judges whether or not the evaluation value g * is equal to or less than 0 and the motion plan related to the search point ⁇ satisfies a predetermined constraint condition. If it is judged that the constraint condition is satisfied (YES in step S203), the process proceeds to step S204. If it is judged that the constraint condition is not satisfied (NO in step S203), the process proceeds to step S204.
- Step S204 The motion planning unit 34 outputs the control parameter ⁇ H ( ⁇ ) as the control parameter ⁇ to the low-level control unit 36. Therefore, the motion planning unit 34 can control the robot 5 using the control parameter ⁇ output from the high-level controller as it is.
- Step S205 The motion planning unit 34 searches for an adjustment value ⁇ such that the level set function g ⁇ ( ⁇ , ⁇ H ( ⁇ )+ ⁇ ) is less than or equal to 0 and satisfies the constraint condition even when the adjusted control parameter ⁇ H ( ⁇ )+ ⁇ is used.
- Step S206 The motion planning unit 34 outputs the adjusted control parameter ⁇ H ( ⁇ )+ ⁇ obtained by the search as the control parameter ⁇ ' to the low-level control unit 36. As a result, the motion planning unit 34 controls the robot 5 using the adjusted control parameter ⁇ '. Then, the processing in FIG. 13 ends.
- FIG. 14 is a data flow diagram illustrating a data flow in the skill learning unit 15 according to this embodiment.
- the data acquisition section 220 according to this embodiment includes, instead of the data update section 223, a first data update section 223-1 and a second data update section 223-2.
- the problem setting calculation unit 222 solves the optimal control problem using the level set function as the evaluation function as described above, determines the minimum evaluation value as the optimal value g i * , and calculates the control parameter ⁇ i * that gives the optimal value g i * .
- the problem setting calculation unit 222 saves a set of one or more evaluation values g i (sometimes referred to as non-optimal solutions in this application) calculated in the calculation process until the optimal value g i * is obtained by completing the calculation process related to the optimal control problem, and the control parameter ⁇ i that gives each evaluation value g i .
- the problem setting calculation unit 222 outputs optimal control solution information including a set of the search point ⁇ i , the optimal value g i * , and the control parameter ⁇ i * to the first data update unit 223-1 and the second data update unit 223-2.
- the problem setting calculation unit 222 outputs non-optimum control solution information including the search point ⁇ i , the non-optimum value g i obtained in the calculation process, and a set of the control parameter ⁇ i to the first data update unit 223-1. Therefore, both the optimal control solution information and the non-optimum control solution information are provided to the first data update unit 223-1.
- the second data update unit 223-2 is provided with the optimal control solution information, but not with the non-optimum control solution information.
- the first data update unit 223-1 accumulates a set of search points ⁇ i , optimal values g i *, and control parameters ⁇ i * indicated in the optimal control solution information input from the problem setting calculation unit 222, and a set of search points ⁇ i , non-optimal values g i , and control parameters ⁇ i indicated in the non-optimal control solution information, to form a first data set D g .
- the first data set D g differs from the above-mentioned acquired data set D opt in that it further includes a set of search points ⁇ i , non-optimal values g i , and control parameters ⁇ i .
- the first data set D g is used in place of the acquired data set D opt for learning the level set function g ⁇ in the level set function learning unit 231 and for setting the prediction accuracy evaluation function J g ⁇ in the prediction accuracy evaluation function setting unit 232. Since the level set function g ⁇ can be learned by associating it with a larger number of sets of search points ⁇ i and control parameters ⁇ i , it is possible to obtain a level set function g that can more accurately explain the dependency on the control parameter ⁇ , which is the explanatory variable.
- the second data update unit 223-2 accumulates a set of the search point ⁇ i , the optimal value g i * , and the control parameter ⁇ i * indicated in the optimal control solution information input from the problem setting calculation unit 222, and forms a second data set D h .
- the second data set D h is similar to the above-mentioned acquired data set D opt .
- the second data set D h is used for learning the high-level controller ⁇ H in place of the acquired data set D opt .
- FIG. 15 is a flowchart illustrating the learning process according to this embodiment.
- the process in FIG. 15 includes steps S101 to S103, S114 to S117, S107, S118, and S109 to S111.
- the explanation of FIG. 12 is used for the processes of steps S101 to S103, S107, and S109 to S111.
- the process in FIG. 15 after the process of step S103, the process proceeds to step S114.
- Step S114 The problem setting calculation unit 222 solves the optimal control problem based on the problem setting information and the high-level controller, and calculates an optimal value g i * of the evaluation value with the level set function as the evaluation function and a control parameter ⁇ i * that gives the optimal value g i * .
- the problem setting calculation unit 222 saves a pair of a non-optimal solution g i calculated in the calculation process (during calculation) until the optimal value g i * is obtained, and a control parameter ⁇ i that gives the non-optimal solution g i .
- the first data update unit 223-1 updates the first data set D g by adding a set of a search point ⁇ i , an optimal value g i * , and a control parameter ⁇ i * , and a set of a search point ⁇ i , a non-optimal value g i , and a control parameter ⁇ i .
- the second data update unit 223-2 updates the second data set D h by adding a set of the search point ⁇ i , the optimal value g i * , and the control parameter ⁇ i * .
- Step S117 The level set function learning unit 231 learns the level set function g ⁇ by using the first data set D g . After that, the process proceeds to step S107. After the process of step S107, the process proceeds to step S118.
- Step S118 The high-level controller learning unit 240 refers to the second data set Dh and learns the high-level controller ⁇ H using the controller learning evaluation function Jh . The high-level controller learning unit 240 sets the learned high-level controller ⁇ H in the problem setting calculation unit 222 and the controller learning evaluation function setting unit 234. Then, the process proceeds to step S109.
- experience replay may be applied in updating one or both of the first data set D g to the first data update unit 223-1 and the second data set D h to the second data update unit 223-2, and in learning the level set function g or the high-level controller ⁇ H.
- Experience replay is a method in which multiple sets of transition information are stored in a storage area called a replay buffer (RB), one set is randomly selected from the stored transition information, and the selected sets of transition information are sequentially used for learning.
- One set of transition information includes information such as the state before and after a transition in one state transition, the condition of the transition, and the amount of change in the evaluation value of the evaluation function due to the transition.
- a data augmentation technique such as post-event experience replay (Hindsight Experience Replay) may be applied using a non-optimal solution.
- Post-event experience replay is described in, for example, the following document. M. Andrychowicz, et al.: “Hindsight Experience Replay”, Proc of NIPS (2017)
- the second data set Dh does not include a set of the search point ⁇ i , the non-optimal value g i , and the control parameter ⁇ i , but this is not limiting.
- the second data set Dh may include a set of the search point ⁇ i , the non-optimal value g i , and the control parameter ⁇ i .
- the set of the search point ⁇ i , the non-optimal value g i , and the control parameter ⁇ i included in the second data set Dh is considered to be a part of the set of the search point ⁇ i , the non-optimal value g i , and the control parameter ⁇ i included in the first data set Dg .
- 16 is a data flow diagram illustrating a data flow in the skill learning unit 15 according to this embodiment.
- the skill learning unit 15 according to this embodiment includes a system model learning unit 250.
- control result data data indicating the control result
- the high-level controller uses a search point that includes, as an element, target parameter information related to the skill to be controlled.
- the control result data includes at least the search point at each time, the control parameters output from the high-level controller, and the system state that forms the control result, and these are associated with each other.
- the control result data is associated with the target parameter information related to the skill to be controlled.
- the system model learning unit 250 can determine the parameters of the system model of the target system that outputs the system state at each time and inputs the control parameters and the target parameters indicated by the search point based on the control result data.
- the system model learning unit 250 sets the system model information indicating the parameters of the learned system model in the system model setting unit 221.
- the system model learning unit 250 outputs the acquired control result data to the data update unit 223.
- the system model learning unit 250 may acquire an evaluation value of the level set function at each time from the system 50 as a part of the control result, and may include the acquired evaluation value in the control result data in association with the control parameters, search points, and system state at the time.
- the evaluation value of the level set function is calculated in the process of solving an optimal control problem in the motion control of the robot 5.
- the data updating unit 223 may include control solution information including the search points and control parameters included in the control result data as input and the evaluation value as output in the acquisition data set D opt .
- the control solution information derived from the control result data is used for learning the level set function in the level set function learning unit 231 and the high-level controller in the high-level controller learning unit 240.
- FIG. 17 is a schematic block diagram showing an example of the functional configuration of the system model learning unit 250 according to this embodiment.
- the system model learning unit 250 includes a high-level controller evaluation unit 250a, a low-level controller for skill learning 250b, a data processing unit 250c, a data collection task management unit 250e, a transition data storage unit 250f, and a system model learning processing unit 250g.
- the high-level controller parameters learned by the high-level controller learning unit 240 are set in the high-level controller evaluation unit 250a.
- the high-level controller evaluation unit 250a uses the learned high-level controller, calculates control parameters based on search points derived from target parameter information set by the data collection task management unit 250e.
- the high-level controller evaluation unit 250a outputs the calculated control parameters to the skill learning low-level controller 250b.
- the low-level controller 250b for skill learning calculates a control output based on the system state collected from the system 50, the control parameters input from the high-level controller evaluation unit 250a, and the target state/known task parameter values indicated in the target parameter information, and outputs the calculated control output to the system 50 to be controlled.
- the data processing unit 250c configures control result data by associating the control parameters used in controlling the system 50, the control points acquired from the data collection task management unit 250e, the evaluation value of the level set function, and the system state acquired from the system 50.
- the data processing unit 250c stores the configured control result data in a control result storage unit 250d and a transition data storage unit 250f.
- the control result storage unit 250d aggregates the control result data for each task.
- the control result data aggregated and stored in the control result storage unit 250d is read by the data update unit 223.
- the control result storage unit 250d may output the acquired control result data to the data update unit 223 every time new control result data is acquired.
- the data collection task management unit 250e accumulates control result data for each time, and the accumulated control result data is accumulated to form transition data for each skill.
- the system model learning processing unit 250g uses the transition data stored in the transition data storage unit 250f to learn the system model indicated by the preset system model information.
- the system model learning processing unit 250g receives the control parameters indicated in the transition data and the target parameter information indicated at the search points as input, and determines the system model parameters for each skill to estimate the system state at each time of the target system as output.
- the system model learning processing unit 250g sets the system model information indicating the learned system model in the system model setting unit 221.
- the system model learning processing unit 250g can use a system model exemplified by equation (5). By setting a very small unit time in this system model, the time derivative of the system state exemplified on the left side of equation (5) can be approximated to the amount of change from the system state at the current time to the system state at the time unit time after the current time (i.e., the next time). Therefore, the system model learning processing unit 250g can use, as the system model, a function that outputs the system state at the next time and inputs the system state at the current time, the control parameters, and the target parameter information.
- the learning of the system model by the system model learning unit 250 may be performed separately from the learning of the level set function and the high-level controller, or may be performed for each search point related to the learning.
- the search points include target parameter information as elements.
- search points that provide target parameter information used in the operation of the system 50 may be used instead of search points that belong to a preset search point set ⁇ check .
- Fig. 18 is a flowchart illustrating the learning process according to this embodiment.
- the processes of steps S301 and S302 are executed independently of the learning of the level set function and the high-level controller.
- the processes of steps S304 and S305 are executed in association with the learning of the level set function and the high-level controller according to step S303 for each search point ⁇ i .
- Step S301 The system model learning unit 250 randomly acquires control result data from the system 50 operating in a real environment. Randomly acquiring includes acquiring in a randomly determined period, randomly determining whether acquisition is necessary for each operation, and acquiring when it is determined that acquisition is necessary, etc. Either or both of the skill and the target parameter may be different for each operation.
- Step S302 The system model learning unit 250 learns the system model for each skill based on the acquired control result data.
- the system model learning unit 250 sets system model information indicating the parameters of the learned system model to the system model setting unit 221.
- the system model learning unit 250 outputs the control result data acquired in the learning process of the system model to the data update unit 223. Thereafter, the process proceeds to loop L31, and data acquisition/learning processing is started.
- the number of search points is N in the example of FIG. 18, the processing in loop L31 may be executed for each operation of the system 50. At least one item of the initial state, task parameter, and target parameter information that constitute the search point may be different for each operation.
- Step S303 The skill learning unit 15 learns the level set function and the high-level controller.
- the processing of this step may be the same as the processing of steps S102 to S111 of the loop L11 illustrated in FIG. 12. However, when it is determined in step S111 that learning should not be continued (step S111 NO), the prediction accuracy evaluation unit 233 proceeds to the processing of step S303 without changing the number of search points that have been processed.
- Step S304 The system model learning unit 250 acquires control result data from the system 50 that controls the movement of the robot 5 in the real environment using the learned high-level controller.
- Step S305 The system model learning unit 250 learns the system model based on the acquired control result data.
- the system model learning unit 250 sets system model information indicating parameters of the learned system model in the system model setting unit 221.
- the system model learning unit 250 outputs the control result data acquired in the process of learning the system model to the data updating unit 223.
- the prediction accuracy evaluation unit 233 considers the search point ⁇ i at that point to be processed, and increments the number of processed search points by 1. When the number of processed search points has not reached N, the process of loop L31 is repeated for the next search point. When the number of processed search points reaches N, the process exits from loop L31 and ends the data acquisition/learning process. Then, the process of FIG. 18 ends.
- the skill learning unit 15 may include a first data update unit 223-1 and a second data update unit 223-2.
- the first data set D g generated by the first data update unit 223-1 is used for learning the level set function g ⁇ in the level set function learning unit 231 and for setting the prediction accuracy evaluation function J g ⁇ in the prediction accuracy evaluation function setting unit 232.
- the second data set D h generated by the second data update unit 223-2 is used for learning the high-level controller ⁇ H.
- the process of step S303 illustrated in FIG. 18 is similar to the processes of steps S102, S103, S114 to S117, and S107 to S111 of the loop L21 illustrated in FIG. 15.
- the control result data generated by the system model learning unit 250 can be used for learning the level set function g ⁇ and for setting the prediction accuracy evaluation function J g ⁇ . In this case, the control result data generated by the system model learning unit 250 does not need to be used for learning the high-level controller ⁇ H.
- the learning device 1 includes a level set function learning unit 231 that learns a level set function that receives motion parameters that define a motion target and motion environment of the robot and control parameters of the robot as inputs and outputs an evaluation value related to the attainment of the motion target based on the motion parameters and the control parameters, and a high-level controller learning unit 240 that learns a high-level controller that determines control parameters for realizing a target motion based on the motion parameters of the robot based on the level set function and prediction accuracy of the control parameters.
- a level set function learning unit 231 that learns a level set function that receives motion parameters that define a motion target and motion environment of the robot and control parameters of the robot as inputs and outputs an evaluation value related to the attainment of the motion target based on the motion parameters and the control parameters
- a high-level controller learning unit 240 that learns a high-level controller that determines control parameters for realizing a target motion based on the motion parameters of the robot based on the level set function and prediction accuracy of the
- the high-level controller learning unit 240 learns a high-level controller for determining control parameters for realizing a target motion based on the motion parameters used to control the robot
- the level set function learning unit 231 learns a level set function for determining an evaluation value relating to the achievability of a motion goal based on the motion parameters and the control parameters. Therefore, the achievability of a motion goal based on the motion parameters can be determined using an evaluation value obtained from the motion parameters related to the control of the robot using the learned level set function. This makes it possible to efficiently plan the motion of the robot using the motion parameters.
- FIG. 20 is a schematic block diagram showing an example of the minimum configuration of a control device 3' according to an embodiment of the present application.
- the control device 3' includes a high-level control unit 35 that determines control parameters for realizing a target motion based on motion parameters that define the motion target and motion environment of the robot, and a motion planning unit 34 that calculates an evaluation value indicating the feasibility of the target motion based on the motion parameters and control parameters using a level set function, and uses the control parameters to control the motion of the robot when it is determined that the target motion is realizable based on the evaluation value, and searches for control parameters that make the target motion realizable based on the evaluation value when it is determined that the target motion is not realizable based on the evaluation value.
- the high-level control unit 35 obtains control parameters based on the motion parameters, and the motion planning unit 34 evaluates the feasibility of the target motion using the motion parameters based on the motion parameters and the evaluation value obtained from the control parameters. Furthermore, when it is determined that the target motion can be realized, the control parameters obtained by the high-level control unit 35 are used for motion control, and when it is determined that the target motion cannot be realized, a search is made for control parameters that will make the target motion feasible based on the evaluation value. This makes it possible to promote motion planning so that the target motion using the motion parameters can be realized as much as possible.
- an embodiment of the present application may be realized as a control system 100 including a learning device 1, a robot 5 and a high-level controller.
- the embodiment of the present application may be realized as a program for causing a computer to function as the learning device 1, or as a non-transitory storage medium that stores the program and is readable by the computer.
- the computer may include a processor or other integrated circuit and the non-transitory storage medium, and may be capable of executing the processes instructed by the instructions constituting the program, thereby realizing the functions of the learning device 1.
- the learning device 1 also includes a search point selection unit 212 that selects one search point from a search point set including a predetermined number of search points based on a prediction accuracy evaluation function that indicates the prediction accuracy of the level set function, and the search point is a pair of an operating parameter and a control parameter.
- a search point selection unit 212 that selects one search point from a search point set including a predetermined number of search points based on a prediction accuracy evaluation function that indicates the prediction accuracy of the level set function, and the search point is a pair of an operating parameter and a control parameter.
- the learning device 1 may also include a prediction accuracy evaluation unit 233 that uses the prediction accuracy evaluation function to determine the need for continued learning of the level set function and the high-level controller. With this configuration, the need for continuing learning is quantitatively determined based on the prediction accuracy evaluated during the learning process.
- the level set function learning unit 231 may learn the level set function using the first learning data
- the high-level controller learning unit 240 may learn the high-level controller learning unit 240 using the second learning data.
- the first learning data includes an optimal solution set that has as input operation parameters and control parameters that provide an optimal solution of an evaluation value and includes an optimal solution as an output, and a non-optimal solution set that has as input operation parameters and control parameters that provide a non-optimal solution different from the optimal solution and includes a non-optimal solution as an output
- the second learning data includes the optimal solution set.
- the level set function is further trained using first training data including a data set having a non-optimal solution as an output and an operation parameter and a control parameter that give the non-optimal solution as an input.
- first training data including a data set having a non-optimal solution as an output and an operation parameter and a control parameter that give the non-optimal solution as an input.
- a wider range of control parameters are referenced in training the level set function that regresses the solution of the optimal control problem.
- the high-level learner is controlled so that stable control parameters are output even when the system state deviates from the optimal state.
- the learning device 1 may include a system model learning unit 250 that uses a system state obtained by controlling the operation of the robot using control parameters based on the operation parameters and control result data including a set of the control parameters to learn a system model that uses operation parameters and control parameters as inputs and outputs a system state.
- the system model is trained using the control result data so that the system state actually obtained for the operation parameters and the control parameters is estimated.
- the high-level controller can be trained to adapt to the real system environment.
- the high-level controller learning unit may learn the high-level controller using the operation parameter related to the control result data as an input and the control parameter as an output. According to this configuration, a high-level controller is trained using the operational parameters actually used for control as input so that the control parameters actually obtained by the control can be obtained. Therefore, the high-level controller is trained to adapt to the actual system environment.
- the programs for executing all or part of the processing performed by the learning device 1, the robot controller 3, and the robot 5 may be recorded on a computer-readable recording medium, and the programs temporarily or non-temporarily recorded on this recording medium may be read into a computer system and executed to perform the processing of each part.
- the term "computer system” here includes hardware such as the OS and peripheral devices.
- the term "computer-readable recording medium” refers to portable media such as flexible disks, optical magnetic disks, ROMs (Read Only Memory), and CD-ROMs (Compact Disc Read Only Memory), as well as storage devices such as hard disks built into computer systems.
- the above-mentioned program may be for realizing part of the above-mentioned functions, or may be capable of realizing the above-mentioned functions in combination with a program already recorded in the computer system.
- Embodiments of the present application can be realized as a learning device, a control device, a control system, a learning method, and a storage medium.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Manipulator (AREA)
Abstract
Description
前記ロボットに前記動作パラメータに基づく目標動作を実現するための制御パラメータを定めるハイレベル制御器を、前記レベルセット関数と前記制御パラメータの予測精度に基づいて学習するハイレベル制御器学習部と、を備える。
(1)システム構成
第1実施形態に係る制御システム100のシステム構成例について説明する。
図1は、第1実施形態に係る制御システム100の構成例を示す図である。制御システム100は、学習装置1と、記憶装置2と、ロボットコントローラ3と、計測装置4と、ロボット5とを備える。学習装置1は、記憶装置2と無線または有線で各種のデータを入出力可能に接続する。ロボットコントローラ3は、記憶装置2、計測装置4およびロボット5のそれぞれと無線または有線で各種のデータを入出力可能に接続する。学習装置1と記憶装置2との接続、ロボットコントローラ3と記憶装置2、計測装置4およびロボット5のそれぞれとの接続は、直接なされてもよいし、通信ネットワークを経由してなされてもよい。
スキルを実行することでタスクが達成される場合、スキル実行終了時の状態が目標状態に該当する。
タスク開始時のシステム状態を、そのタスクの初期状態と呼ぶことがある。
詳細システムモデル情報は、詳細システムモデルを表す微分方程式または差分方程式を用いて示されてもよい。詳細システムモデル情報は、ロボット5の動作を模擬するシミュレータのプログラムとして構成されていてもよい。
既知タスクパラメータは、スキルのパラメータとしても扱われうる。
本願では、初期状態もしくは初期状態パラメータをxsまたはxsiと表すことがある。ここでは、「i」は、個々の初期状態を識別する識別番号を表す正の整数である。また、スキルの実行開始時の時刻を0とし、初期状態をx0と表す場合がある。
本願では、目標状態と既知タスクパラメータ値との組み合わせを目標状態/既知タスクパラメータ値または目標状態パラメータと称し、βgまたはβgiと表すことがある。ここでは、「i」は、個々の目標状態/既知タスクパラメータ値を識別する識別番号を表す正の整数である。ロボット5のタスクがピックアンドプレイスである場合、ロボット5のエンドエフェクタの最終の目標位置および操作対象物の位置が目標状態パラメータに該当する。その場合、操作対象物の大きさが既知タスクパラメータに該当する。
なお、目標状態/既知タスクパラメータ、未知タスクパラメータに対応する値が固定値であってもよいし、可変となることもある。
なお、未知タスクパラメータは、その値を体系立てて数値化することが困難な点で数値での表現が困難だが、未知タスクパラメータ値が等しいか否かは判定可能であるものとする。例えば、未知タスクパラメータが対象物の形状を表す場合、2つの対象物の形状を比較して、未知タスクパラメータ値が等しいか否かを判定可能とする。
制御システム100は、2つのタスクにおける未知タスクパラメータ値が同じ場合は、それら2つのタスクを同じタスクとして扱い、未知タスクパラメータ値が異なる場合は、それら2つのタスクを別々のタスクとして扱う。τまたはτjでタスクを表す場合がある。上記の「j」は、個々のタスクを識別する識別番号を表す正の整数と捉えることもできる。
一般制約情報は、例えば、ロボット5の可動範囲の制限、速度の制限、入力の制限に関する条件など、一般的な制約条件を示す情報である。
以下では、実行可能状態集合を示す関数としてレベルセット関数を用いる場合を例に説明するが、これに限定されない。
また、制御システム100の制御対象はロボット5に限定されない。学習装置1が学習可能とする種々の制御対象を、制御システム100の制御対象としてもよい。
次に、本実施形態に係る学習装置1のハードウェア構成例について説明する。
図4は、本実施形態に係る学習装置1のハードウェア構成例を示す図である。学習装置1は、ハードウェアとして、プロセッサ11と、メモリ12と、インタフェース13とを含む。プロセッサ11、メモリ12およびインタフェース13は、データバス10を介して各種のデータを入出力可能に接続されている。
次に、本実施形態に係る抽象空間について説明する。抽象空間は、実空間とは別個の仮想空間であって、ロボットコントローラ3により、スキルタプルに基づいてロボット5の動作計画の策定に用いられる空間である。
図7は、図6に例示されるシステム状態を抽象空間において表現する。
このように、抽象空間におけるロボットの状態により、エンドエフェクタの状態等が抽象的に表現される。また、操作対象物または環境物体に該当する各物体の状態についても、例えば、作業台などの基準物体の位置を基準とする座標系等において抽象的に表現されうる。
同様に、実空間における目標状態/既知タスクパラメータ値を「βg」、抽象空間における目標状態/既知タスクパラメータ値を「βg’」と表記して、これらを区別する場合がある。
次に、本実施形態に係るスキルの実行に関する制御系の構成例について説明する。図8は、本実施形態に係るスキル実行に関する制御系の構成例を示す図である。ロボットコントローラ3のプロセッサ31は、機能的には、動作計画部34と、ハイレベル制御部35と、ローレベル制御部36とを備える。また、システム50は、実際のシステム(ロボット5を含む実システム)に相当する。
本願では、ハイレベル制御部35をハイレベル制御器とも称され、πHと表すことがある。ハイレベル制御部35は、制御手段の例に該当する。ローレベル制御部36をローレベル制御器とも称され、πLと表すことがある。
ロボットコントローラ3は、ロボット5を制御する制御装置の例に該当する。
動作計画部34は、生成した論理式をタイムステップごとのシーケンス(動作シーケンス)に変換する。この動作シーケンスには、例えば、各タイムステップにおいて使用されるスキルに関する情報が含まれる。
ロボットコントローラ3には、レベルセット関数の近似関数g^を予め設定しておく。ロボットコントローラ3は、レベルセット関数の近似関数g^を用いて式(2)を満足するか否かにより、初期状態xs’が実行可能状態集合χ0’に属するか否かを判定することができる。
近似関数g^は、後述するように、学習装置1が学習を行って得られる。本願では、近似関数g^自体をレベルセット関数と指すこともある。
システム50のモデルは、ロボット5への入力uと、状態xに基づいて、状態xの時間変化x・と出力とする関数「f」を表す状態方程式(式(5))により表される。式(5)において演算子「・」は、時間についての微分、または、時間についての差分を表す。
次に、本実施形態に係るスキルデータベースの更新について説明する。図9は、本実施形態に係るスキルデータベースの更新に関する学習装置1の機能構成例を示す図である。学習装置1のプロセッサ11は、機能的には、抽象システムモデル設定部14と、スキル学習部15と、スキルタプル生成部16とを備える。なお、図9では、各ブロックについて授受されるデータの種別が例示されているが、これに限定されない。
抽象システムモデル設定部14は、例えば、予め記憶装置2等に記憶されたアルゴリズムに基づき、詳細システムモデルから抽象システムモデルを導出する。
次に、本実施形態に係るスキル学習部15の構成例について説明する。
図10は、本実施形態に係るスキル学習部15の構成例を示す図である。スキル学習部15は、機能的には、探索点集合設定部210と、データ取得部220と、学習設定部230を備える。
データ取得部220は、システムモデル設定部221と、問題設定計算部222と、データ更新部223とを備える。
学習設定部230は、レベルセット関数学習部231と、予測精度評価関数設定部232と、予測精度評価部233と、制御器学習用評価関数設定部234と、ハイレベル制御器学習部240と、を備える。
探索点集合設定部210は、ハイレベル制御器πHの学習の対象とするタスク設定の候補として、初期状態xsと、目標状態/既知タスクパラメータ値βgとの組み合わせからなる探索点を複数組取得する。探索点集合設定部210は、取得した複数の候補のうち、訓練データの取得対象とする探索点を選択する。訓練データは、ロボットコントローラ3によるロボット5の制御の学習のために用いられる。
探索点集合設定部210は、探索点設定手段の例に該当する。
探索点(xs,βg)を定めることでタスク設定が特定され、ロボット5の動作が決まる。即ち、探索点(xs,βg)は、タスクごとのロボット5の動作を示すパラメータとみなすこともできる。
システムモデル設定部221は、探索点ξiに基づいて、最適制御問題を解くためシステムモデルに関する設定を行う。システムモデル設定部221は、予め設定したシステムモデル情報、制約条件、ローレベル制御器、目標時間、解探索関数および探索点ξiを示す問題設定情報を問題設定計算部222に設定する。本例におけるシステムモデル情報は、詳細システムモデル情報と抽象システムモデル情報を含む。制約条件には、タスクに関する制約条件、および、ロボットの動作に関する制約条件が含まれる。
より具体的には、問題設定計算部222は、問題設定情報に示される制約条件のもとで上記の最適制御問題を設定する。
レベルセット関数学習部231は、例えば、時刻Tにおける最終のシステム状態x(T)が目標状態に近似する探索点ξiほど小さい目標値giを追加してもよい。また、レベルセット関数学習部231は、システム状態x(t)が目標状態に到達可とする探索点ξiに対し、早期に目標状態に到達する探索点ξiほど小さい目標値giを追加してもよい。
その後、レベルセット関数学習部231は、学習が終了した時点におけるレベルセット関数g^をロボットコントローラ3の動作計画部34に設定する。また、ハイレベル制御器学習部240は、学習が終了した時点におけるハイレベル制御器πHのパラメータを動作計画部34とハイレベル制御部35に設定する。
探索点集合設定部210の探索点集合初期化部211は、記憶装置2に記憶される目標パラメータ情報を用いて探索点集合Ξcheckを設定する。探索点集合初期化部211は、例えば、目標パラメータ情報を参照し、1個の初期状態xsiと1個の目標状態/既知タスクパラメータ値βgとの可能な組み合わせを探索点ξとして定め、N個の異なる探索点ξを含む探索点集合Ξcheckを構成する。
次に、本実施形態に係るスキル学習部15による学習処理の例について説明する。図12は、本実施形態に係る学習処理を例示するフローチャートである。
(ステップS101)探索点集合設定部210の探索点集合初期化部211は、記憶装置2に記憶される目標パラメータ情報を用いて探索点集合Ξcheckを設定する。その後、ループL11に進み、データ取得/学習の処理を開始する。
(ステップS103)システムモデル設定部221は、選択された探索点ξiに基づいてシステムモデル情報を含む問題設定情報を問題設定計算部222に設定する。
(ステップS104)問題設定計算部222は、問題設定情報とハイレベル制御器に基づいて最適制御問題を解き、レベルセット関数を評価関数とする評価値の最適値gi *と最適値gi *を与える制御パラメータαi *を算出する。
(ステップS105)データ更新部223は、処理対象とする探索点ξi、最適値gi *、制御パラメータαi *のセットを追加することにより獲得データ集合Doptを更新する。
(ステップS107)制御器学習用評価関数設定部234は、レベルセット関数g^とハイレベル制御器πHに基づいて制御器学習用評価関数Jhを定め、ハイレベル制御器学習部240に設定する。
(ステップS108)ハイレベル制御器学習部240は、獲得データ集合Doptを参照し、制御器学習用評価関数Jhを用いてハイレベル制御器πHを学習する。ハイレベル制御器学習部240は、学習済みのハイレベル制御器πHを問題設定計算部222と制御器学習用評価関数設定部234に設定する。
(ステップS111)学習継続要と判定されるとき(ステップS111 YES)、予測精度評価部233は、学習継続フラグを探索点集合設定部210に出力する。ステップS102の処理に進めることで、ループL11の処理を繰り返す。
予測精度評価部233は、その時点における探索点ξiを処理済とし、処理済の探索点数を1加算(インクリメント)する。処理済の探索点数がNに達していないとき、次の探索点に対しループL11の処理を繰り返す。処理済の探索点数がNに達したとき、ループL11から離脱し、データ取得/学習の処理を終了する。
学習継続否と判定されるとき(ステップS111 NO)、直ちにループL11から離脱し、データ取得/学習の処理を終了する。その後、図12の処理を終了する。レベルセット関数学習部231は、レベルセット関数g^をロボットコントローラ3の動作計画部34に設定する。ハイレベル制御器学習部240は、ハイレベル制御器πHのパラメータを動作計画部34とハイレベル制御部35に設定する。
本実施形態に係る動作計画部34は、ロボット5の動作計画において、探索点ξとその探索点ξに基づいて算出される制御パラメータπH(ξ)について設定された学習済のレベルセット関数g^の評価値g^(ξ,πH(ξ))を評価値g^*として算出する。制御パラメータπH(ξ)は、探索点ξに対する学習済みのハイレベル制御器πHからの出力として得られる。一般に、新たに設定される動作計画に係る探索点ξは、レベルセット関数g^等の学習に用いた探索点ξiとは異なりうるため、目標状態への到達可能性は未知である。動作計画部34は、算出した評価値に基づいて目標状態への到達可能性を判定する。探索点ξは、上記のように、実行させようとするタスクの初期状態xsと目標状態/既知タスクパラメータ値βgを要素として含むパラメータセットである。動作計画部34は、評価値g^*が0以下となるか否かにより、目標状態に到達可能か否かを判定することができる。動作計画部34は、さらに探索点ξに基づいてハイレベル制御器πHを用いて得られる制御パラメータα(=πH(ξ))が所定の制約条件を満たすか否かを判定し、評価値g^*が0以下、かつ、制約条件を満たすと判定する場合、目標状態に到達可能と判定してもよい。
動作計画部34は、得られた制御パラメータα’をローレベル制御部36に出力する。よって、探索点ξが目標状態に到達できないと判定された場合でも、探索点ξに対する最適解である制御パラメータを調整することで、システム状態を目標状態に到達可能とすることができる。
(ステップS201)動作計画部34は、ロボット5の動作計画を行う際、探索点ξを設定する。上記のように、探索点ξは、制御システムの初期状態、目標状態およびタスクパラメータを示す。
(ステップS202)動作計画部34は、探索点ξに基づいて学習済みのハイレベル制御器πHを用い、ハイレベル制御器πHからの制御出力πH(ξ)をパラメータαとして求める。動作計画部34は、探索点ξ、制御出力πH(ξ)に対するレベルセット関数g^(ξ,π(ξ))の評価値g*を算出する。
(ステップS205)動作計画部34は、レベルセット関数g^(ξ,πH(ξ)+Δα)が0以下、かつ、調整後の制御パラメータπH(ξ)+Δαを用いても制約条件を満たす調整値Δαを探索する。
(ステップS206)動作計画部34は、探索により得られた調整後の制御パラメータπH(ξ)+Δαを制御パラメータα’としてローレベル制御部36に出力する。これにより、動作計画部34は、調整後の制御パラメータα’を用いてロボット5の制御を実行させる。その後、図13の処理を終了する。
次に、本願の第2実施形態について、第1実施形態との差異点を主として説明する。第1実施形態との共通点については、共通の符号を付し、特に断らない限り、その説明を援用する。
図14は、本実施形態に係るスキル学習部15におけるデータフローを例示するデータフロー図である。
本実施形態に係るデータ取得部220は、データ更新部223に代え、第1データ更新部223-1と第2データ更新部223-2を備える。
より多くの探索点ξiと制御パラメータαiの組と対応づけてレベルセット関数g^を学習することができるため、説明変数となる制御パラメータαによる依存性をより的確に説明できるレベルセット関数gを得ることができる。
(ステップS116)第2データ更新部223-2は、 探索点ξi、最適値gi *および制御パラメータαi *の組を追加することにより、第2データセットDhを更新する。
その後、ステップS107の処理に進む。ステップS107の処理の後、ステップS118の処理に進む。
(ステップS118)ハイレベル制御器学習部240は、第2データセットDhを参照し、制御器学習用評価関数Jhを用いてハイレベル制御器πHを学習する。ハイレベル制御器学習部240は、学習済みのハイレベル制御器πHを問題設定計算部222と制御器学習用評価関数設定部234に設定する。その後、ステップS109の処理に進む。
M. Andrychowicz, et al.: “Hindsight Experience Replay”, Proc of NIPS (2017)
次に、本願の第3実施形態について、第1実施形態との差異点を主として説明する。第1実施形態または第2実施形態との共通点については、共通の符号を付し、特に断らない限り、その説明を援用する。
図16は、本実施形態に係るスキル学習部15におけるデータフローを例示するデータフロー図である。本実施形態に係るスキル学習部15は、システムモデル学習部250を備える。
システムモデル学習部250は、ハイレベル制御器評価部250a、スキル学習用ローレベル制御器250b、データ処理部250c、データ収集タスク管理部250e、遷移データ格納部250fおよびシステムモデル学習処理部250gを含んで構成される。
データ処理部250cは、システム50の制御に用いられた制御パラメータ、データ収集タスク管理部250eから取得した制御点、レベルセット関数の評価値、および、システム50から取得したシステム状態を対応付けて制御結果データを構成する。データ処理部250cは、構成した制御結果データを制御結果格納部250dと遷移データ格納部250fに記憶する。
データ収集タスク管理部250eには、時刻ごとに制御結果データが蓄積され、蓄積された制御結果データが累積し、スキルごとに遷移データとして形成される。
(ステップS302)システムモデル学習部250は、取得した制御結果データに基づいてシステムモデルをスキルごとに学習する。システムモデル学習部250は、学習済みのシステムモデルのパラメータを示すシステムモデル情報をシステムモデル設定部221に設定する。システムモデル学習部250は、システムモデルの学習過程で取得した制御結果データをデータ更新部223に出力する。その後、ループL31に進み、データ取得/学習の処理を開始する。但し、図18の例では、探索点の個数がNであるが、システム50の一回の稼働ごとに、ループL31内の処理が実行されてもよい。稼働ごとに探索点をなす初期状態、タスクパラメータおよび目標パラメータ情報の少なくとも1項目が異なりうる。
(ステップS305)システムモデル学習部250は、取得した制御結果データに基づいてシステムモデルを学習する。システムモデル学習部250は、学習済みのシステムモデルのパラメータを示すシステムモデル情報をシステムモデル設定部221に設定する。システムモデル学習部250は、システムモデルの学習過程で取得した制御結果データをデータ更新部223に出力する。
予測精度評価部233は、その時点における探索点ξiを処理済とし、処理済の探索点数を1加算する。処理済の探索点数がNに達していないとき、次の探索点に対しループL31の処理を繰り返す。処理済の探索点数がNに達したとき、ループL31から離脱し、データ取得/学習の処理を終了する。その後、図18の処理を終了する。
次に、本願の実施形態の最小構成例について説明する。
図19は、本願の実施形態に係る学習装置1の最小構成例を示す概略ブロック図である。学習装置1は、ロボットの動作目標および動作環境を規定する動作パラメータとロボットの制御パラメータを入力とし、動作パラメータと制御パラメータに基づく動作目標の到達可能性に関する評価値を出力とするレベルセット関数を学習するレベルセット関数学習部231と、ロボットに動作パラメータに基づく目標動作を実現するための制御パラメータを定めるハイレベル制御器を、レベルセット関数と制御パラメータの予測精度に基づいて学習するハイレベル制御器学習部240と、を備える。
本願の実施形態は、コンピュータに学習装置1として機能させるためのプログラムとして実現されてもよいし、当該プログラムを記憶したコンピュータにより読み取り可能な非一時的記憶媒体として実現されてもよい。当該コンピュータは、プロセッサその他の集積回路と当該非一時的記憶媒体を含んで構成され、当該プログラムを構成する命令で指示される処理を実行可能とし、学習装置1の機能を実現してもよい。
この構成により、既知の動作パラメータと制御パラメータの組に対してレベルセット関数の予測精度が評価され、評価された予測精度に基づいてレベルセット関数の学習に用いられる動作パラメータと制御パラメータが選択される。予測精度の低いために学習過程における収束速度が高くなる動作パラメータと制御パラメータを優先して選択することで、レベルセット関数の学習を効率化することができる。
この構成により、学習過程において評価される予測精度に基づいて学習継続の要否が定量的に判定される。
この構成によれば、レベルセット関数は、さらに非最適解を出力とし、その非最適解を与える動作パラメータと制御パラメータを入力とするデータセットを含む第1学習用データを用いて学習される。最適制御問題の解を回帰するレベルセット関数の学習において、より幅広い制御パラメータが参照される。ひいてはシステム状態が最適な状態から離れた場合でも安定した制御パラメータが出力されるようにハイレベル学習器が制御される。
この構成によれば、制御結果データを用いて、動作パラメータと制御パラメータに対して現実に得られたシステム状態が推定されるようにシステムモデルが学習される。学習されたシステムモデルに基づいて制御問題を更新することで、現実のシステム環境に適応するようにハイレベル制御器を学習することができる。
この構成によれば、制御により現実に得られた制御パラメータが得られるように、現実に制御に用いた動作パラメータを入力とするハイレベル制御器が学習される。そのため、現実のシステム環境に適応するようにハイレベル制御器が学習される。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
Claims (10)
- ロボットの動作目標および動作環境を規定する動作パラメータと前記ロボットの制御パラメータを入力とし、前記動作パラメータと前記制御パラメータに基づく動作目標の到達可能性に関する評価値を出力とするレベルセット関数を学習するレベルセット関数学習部と、
前記ロボットに前記動作パラメータに基づく目標動作を実現するための制御パラメータを定めるハイレベル制御器を、前記レベルセット関数と前記制御パラメータの予測精度に基づいて学習するハイレベル制御器学習部と、を備える
学習装置。 - 予め定めた複数の探索点を含む探索点集合から、
前記レベルセット関数の予測精度を示す予測精度評価関数に基づいて1個の探索点を選択する探索点選択部を備え、
前記探索点は、前記動作パラメータと前記制御パラメータの組である
請求項1に記載の学習装置。 - 前記予測精度評価関数を用いて、前記レベルセット関数と前記ハイレベル制御器の学習継続の必要性を判定する予測精度評価部を備える
請求項2に記載の学習装置。 - 前記レベルセット関数学習部は、第1学習用データを用いて前記レベルセット関数を学習し、
前記ハイレベル制御器学習部は、第2学習用データを用いて前記ハイレベル制御器学習部を学習し、
前記第1学習用データは、前記評価値の最適解を与える前記動作パラメータと前記制御パラメータを入力とし、前記最適解を出力として含む最適解セットと、前記最適解とは異なる非最適解を与える前記動作パラメータと前記制御パラメータを入力とし、前記非最適解を出力として含む非最適解セットとを含み、
前記第2学習用データは、前記最適解セットを含む
請求項2に記載の学習装置。 - 前記動作パラメータに基づく前記制御パラメータを用いて前記ロボットの動作を制御して得られるシステム状態と当該制御パラメータの組を含む制御結果データを用いて、前記動作パラメータと前記制御パラメータを入力とし、前記システム状態を出力とするシステムモデルを学習するシステムモデル学習部を備える
請求項1に記載の学習装置。 - 前記ハイレベル制御器学習部は、前記制御結果データに係る前記動作パラメータを入力とし、前記制御パラメータを出力として前記ハイレベル制御器を学習する 請求項5に記載の学習装置。
- 前記ロボットと、
前記ハイレベル制御器と、
請求項1に記載の学習装置と、を備える
制御システム。 - コンピュータに、
請求項1に記載の学習装置として機能させるためのプログラムを記憶する
コンピュータ読み取り可能な記憶媒体。 - 学習装置における学習方法であって、
前記学習装置が、
ロボットの動作目標および動作環境を規定する動作パラメータと前記ロボットの制御パラメータを入力とし、前記動作パラメータと前記制御パラメータに基づく動作目標の到達可能性に関する評価値を出力とするレベルセット関数を学習するレベルセット関数学習ステップと、
前記ロボットに前記動作パラメータに基づく目標動作を実現するための制御パラメータを定めるハイレベル制御器を、前記レベルセット関数と前記制御パラメータの予測精度に基づいて学習するハイレベル制御器学習ステップと、を実行する
学習方法。 - ロボットの動作目標および動作環境を規定する動作パラメータに基づく目標動作を実現するための制御パラメータを定めるハイレベル制御部と、
レベルセット関数を用いて前記動作パラメータと前記制御パラメータに基づく目標動作の実現性を示す評価値を算出し、
前記評価値に基づいて前記目標動作を実現可と判定するとき、前記ロボットの動作制御に前記制御パラメータを用い、
前記評価値に基づいて前記目標動作を実現否と判定するとき、前記評価値に基づき前記目標動作を実現可とする制御パラメータを探索する動作計画部と、を備える
制御装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2025503288A JPWO2024180656A5 (ja) | 2023-02-28 | 学習装置、制御装置、制御システム、学習方法およびプログラム | |
| PCT/JP2023/007289 WO2024180656A1 (ja) | 2023-02-28 | 2023-02-28 | 学習装置、制御装置、制御システム、学習方法および記憶媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2023/007289 WO2024180656A1 (ja) | 2023-02-28 | 2023-02-28 | 学習装置、制御装置、制御システム、学習方法および記憶媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024180656A1 true WO2024180656A1 (ja) | 2024-09-06 |
Family
ID=92589505
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2023/007289 Ceased WO2024180656A1 (ja) | 2023-02-28 | 2023-02-28 | 学習装置、制御装置、制御システム、学習方法および記憶媒体 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2024180656A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120645239A (zh) * | 2025-08-20 | 2025-09-16 | 广州里工实业有限公司 | 工业场景人形机器人任务执行方法和相关设备 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022180785A1 (ja) * | 2021-02-26 | 2022-09-01 | 日本電気株式会社 | 学習装置、学習方法及び記憶媒体 |
-
2023
- 2023-02-28 WO PCT/JP2023/007289 patent/WO2024180656A1/ja not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022180785A1 (ja) * | 2021-02-26 | 2022-09-01 | 日本電気株式会社 | 学習装置、学習方法及び記憶媒体 |
Non-Patent Citations (1)
| Title |
|---|
| TAKANO RIN; OYAMA HIROYUKI; TAYA YUKI: "Robot Skill Learning with Identification of Preconditions and Postconditions via Level Set Estimation", 2022 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS), IEEE, 23 October 2022 (2022-10-23), pages 10943 - 10950, XP034256034, DOI: 10.1109/IROS47612.2022.9981933 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120645239A (zh) * | 2025-08-20 | 2025-09-16 | 广州里工实业有限公司 | 工业场景人形机器人任务执行方法和相关设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2024180656A1 (ja) | 2024-09-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10564611B2 (en) | Control system and machine learning device | |
| US11253999B2 (en) | Machine learning device, robot control device and robot vision system using machine learning device, and machine learning method | |
| US10466658B2 (en) | Numerical controller and machine learning device | |
| Franceschetti et al. | Robotic arm control and task training through deep reinforcement learning | |
| US11897066B2 (en) | Simulation apparatus | |
| CN107825422A (zh) | 机械学习装置、机器人系统以及机械学习方法 | |
| Khansari-Zadeh et al. | BM: An iterative algorithm to learn stable non-linear dynamical systems with gaussian mixture models | |
| JP2019162712A (ja) | 制御装置、機械学習装置及びシステム | |
| CN112292239B (zh) | 用于计算机辅助地确定用于适宜操作技术系统的调节参数的方法和设备 | |
| CN114047745B (zh) | 机器人运动控制方法、机器人、计算机装置和存储介质 | |
| CN114529010A (zh) | 一种机器人自主学习方法、装置、设备及存储介质 | |
| US10549422B2 (en) | Robot controller, machine learning device and machine learning method | |
| CN115488881B (zh) | 基于多运动技能先验的人机共享自治遥操作方法及系统 | |
| CN112509392A (zh) | 一种基于元学习的机器人行为示教方法 | |
| US20230241770A1 (en) | Control device, control method and storage medium | |
| Rottmann et al. | Adaptive autonomous control using online value iteration with gaussian processes | |
| WO2024180656A1 (ja) | 学習装置、制御装置、制御システム、学習方法および記憶媒体 | |
| JP7806879B2 (ja) | 学習装置、制御装置、学習方法及びプログラム | |
| JP7647862B2 (ja) | 学習装置、学習方法及びプログラム | |
| JP6940425B2 (ja) | 制御装置及び機械学習装置 | |
| Langsfeld | Learning task models for robotic manipulation of nonrigid objects | |
| Filipic et al. | A combined machine learning and genetic algorithm approach to controller design | |
| Blinov et al. | Deep q-learning algorithm for solving inverse kinematics of four-link manipulator | |
| Wang et al. | Learning Classifier System on a humanoid NAO robot in dynamic environments | |
| JP6829271B2 (ja) | 測定動作パラメータ調整装置、機械学習装置及びシステム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23925213 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2025503288 Country of ref document: JP Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2025503288 Country of ref document: JP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 23925213 Country of ref document: EP Kind code of ref document: A1 |


