WO2024253192A1 - 学習済みモデル生成装置、制御装置、学習済みモデル生成方法、及び学習済みモデル生成プログラム - Google Patents

学習済みモデル生成装置、制御装置、学習済みモデル生成方法、及び学習済みモデル生成プログラム Download PDF

Info

Publication number
WO2024253192A1
WO2024253192A1 PCT/JP2024/020908 JP2024020908W WO2024253192A1 WO 2024253192 A1 WO2024253192 A1 WO 2024253192A1 JP 2024020908 W JP2024020908 W JP 2024020908W WO 2024253192 A1 WO2024253192 A1 WO 2024253192A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
data
arm
state
generator
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
Application number
PCT/JP2024/020908
Other languages
English (en)
French (fr)
Inventor
聖人 小林
潤 山田
政志 ▲浜▼屋
一敏 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Publication of WO2024253192A1 publication Critical patent/WO2024253192A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • B—PERFORMING OPERATIONS; TRANSPORTING
    • B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00—Controls for manipulators
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00—Computing arrangements based on biological models
    • G06N3/02—Neural networks
    • G06N3/08—Learning methods
    • G06N3/094—Adversarial learning

Definitions

  • the present disclosure relates to a trained model generation device, a control device, a trained model generation method, and a trained model generation program.
  • This disclosure has been made in consideration of the above points, and aims to easily generate robot motion data from human motion data.
  • the trained model generation device is a trained model generation device including a training acquisition unit that acquires training data including human motion data for training, and a learning unit that generates a trained generator that outputs motion data of a robot to be controlled when motion data representing a target human motion is input, by machine learning a generative adversarial network model including a generator and a discriminator based on the training data acquired by the training acquisition unit.
  • the trained model generation method disclosed herein is a trained model generation method in which a computer executes a process to acquire training data including human motion data for training, and machine-learn a generative adversarial network model including a generator and a discriminator based on the acquired training data, thereby generating a trained generator that outputs motion data of a robot to be controlled when motion data representing the motion of a target human is input.
  • the trained model generation program disclosed herein is a trained model generation program for causing a computer to execute a process of acquiring training data including human motion data for training, and performing machine learning on a generative adversarial network model including a generator and a discriminator based on the acquired training data, thereby generating a trained generator that outputs motion data of a robot to be controlled when motion data representing the motion of a target human is input.
  • the trained model generation device, control device, trained model generation method, and trained model generation program disclosed herein make it possible to easily generate robot motion data from human motion data.
  • FIG. 1 is a diagram for explaining an overview of the present embodiment.
  • FIG. 1 is a diagram for explaining an overview of the present embodiment.
  • FIG. 1 is a diagram for explaining an overview of a framework according to an embodiment of the present invention.
  • FIG. 2 is a diagram for explaining a generative adversarial network model in the present embodiment.
  • FIG. 1 is a block diagram showing a schematic configuration of a trained model generation system according to an embodiment of the present invention.
  • FIG. 2 is a block diagram showing a hardware configuration of the trained model generation device according to the present embodiment.
  • FIG. 1 is a block diagram showing a schematic configuration of a control system according to an embodiment of the present invention.
  • 2 is a block diagram showing a hardware configuration of a control device according to the embodiment.
  • FIG. 1 is a block diagram showing a schematic configuration of a control system according to an embodiment of the present invention.
  • 2 is a block diagram showing a hardware configuration of a control device according to the embodiment.
  • FIG. 1 is a flowchart showing the flow of a trained model generation process in this embodiment.
  • 1 is a flowchart showing the flow of a trained model generation process in this embodiment.
  • 4 is a flowchart showing the flow of a control process in the present embodiment.
  • FIG. 1 is a diagram for explaining the present embodiment.
  • FIG. 13 is a diagram showing the results of this embodiment.
  • T1 of FIG. 1 a demonstration is performed in which the first arm R1 of the dual-arm robot and the arm of human H operate in coordination, and the positions of the two-dimensional barcodes Q1 and Q2 are captured by a camera (not shown). Also, as shown in T2 of FIG. 1, a demonstration is performed in which the second arm R2 of the dual-arm robot and the arm of human H operate in coordination, and the positions of the two-dimensional barcodes Q1 and Q2 are captured by a camera (not shown).
  • the motion data of the arms of human H and object b in the demonstration is generated based on the positions of the two-dimensional barcodes Q1 and Q2.
  • the motion data of the first arm R1 and the second arm R2 of the dual-arm robot in the demonstration is obtained from a control device (not shown) that controls the dual-arm robot.
  • motion data is generated to be taught to the first arm R1 and the second arm R2 of the dual-arm robot.
  • one possible method is for a human to use both arms to execute the task of moving object b in the direction of arrow C, and obtain the movement data from that time.
  • the human may end up performing movements that are impossible for a dual-arm robot to execute.
  • the human may move object b at a speed that exceeds the upper limit of the movement speed of the arms of the dual-arm robot.
  • the human may execute movements that do not take into account the range of motion of the arms of the dual-arm robot.
  • a human could remotely control the first arm R1 and the second arm R2 of a dual-arm robot to execute a task of moving an object b in the direction of arrow C, and obtain the motion data obtained during this process. In this case, however, it would be necessary to coordinate the remote control of the first arm R1 and the remote control of the second arm R2.
  • motion data is obtained by performing a demonstration of cooperative motion between a human and a dual-arm robot, and motion data to be taught to the dual-arm robot is generated based on the motion data.
  • a known generative adversarial network model is used to generate dual-arm robot motion data from human motion data.
  • a scene in which the first arm R1 and human H move, such as T1 in FIG. 1 is denoted as "Robot1-Human”.
  • a scene in which the second arm R2 and human move, such as T2 in FIG. 1 is denoted as "Human-Robot2”.
  • a scene in which human H and the arms of the dual-arm robot move is simply denoted as "Human-Robot”.
  • a scene in which the first arm R1 and second arm R2 of the dual-arm robot move is denoted as "Robot1-Robot2" or "Robot-Robot”.
  • FIG. 3 is a diagram for explaining an overview of the framework of this embodiment. Below, the framework of this embodiment will be explained with reference to FIG. 3.
  • the problem is defined by a Markov decision process (S, A, P, ⁇ 0 ), where state s ⁇ S, action a ⁇ A, transition function P(s′ ⁇ S
  • S, A, P, ⁇ 0 Markov decision process
  • ⁇ 0 is the initial state.
  • two domains are defined.
  • Domain X is a domain that belongs to the demonstration of tasks by humans and robots.
  • Domain Y is a domain that belongs to task operations by a dual-arm robot.
  • the motion data belonging to domain Y includes the state y Ri of the first arm R1 and the second arm R2 of the dual-arm robot, the state y b of the object b, and the action a Ri of the first arm R1 and the second arm R2 of the dual-arm robot.
  • a state x ( xH , xRi , xb ) belonging to domain X
  • a state y ( yR1 , yR2 , yb ) belonging to domain Y
  • an action ( aR1 , aR2 )
  • Mx ( Sx , Ax , Px , ⁇ 0x )
  • My ( Sy , Ay , Py , ⁇ 0y ) are defined in the Markov decision processes in domains X and Y.
  • a policy ⁇ : Sy ⁇ Ay is learned for the control model of the dual-arm robot, as described later.
  • random data is collected as shown in Fig. 3. Specifically, as shown in Fig. 3, random data ⁇ xR1 , xH, xb, aR1 ⁇
  • obtained in “Human-Robot 2” under a situation in which the second arm R2 of the dual - arm robot and the human H are randomly moved is collected.
  • of "Robot1-Robot2" is collected under conditions in which the first arm R1 and the second arm R2 of the dual - arm robot are operated randomly.
  • demonstration data is collected.
  • the demonstration data is data obtained when the human H and the arm (first arm R1 or second arm R2) of the dual-arm robot are operated in coordination.
  • obtained in a situation where the first arm R1 of the dual- arm robot and a human H are operating in coordination with each other in “ Robot1 - Human ” is collected.
  • obtained in “Human-Robot 2” under a situation in which the human H and the second arm R2 of the dual-arm robot are cooperatively operated is collected.
  • a forward dynamics model F and an inverse dynamics model F ⁇ 1 for the arms of the dual-arm robot are defined.
  • the forward dynamics model F is defined by the following equation (1A):
  • t in each of the above formulas represents time.
  • the forward dynamics model F and the inverse dynamics model F ⁇ 1 are realized by utilizing a known dynamics model or a machine learning model.
  • the parameters of the forward dynamics model F and the inverse dynamics model F ⁇ 1 are set in advance so that the following expressions (1) and (2) are satisfied.
  • ⁇ 2 represents the L2 norm
  • E represents the expected value
  • a forward dynamics model F is generated in advance so that the loss function L fwd in the above formula (1) is minimized.
  • an inverse dynamics model F ⁇ 1 is generated in advance so that the loss function L inv in the above formula (2) is minimized.
  • the forward dynamics model F and the inverse dynamics model F ⁇ 1 are used in a domain translation framework, which will be described later.
  • the domain translation framework of this embodiment is a framework that realizes conversion from a domain X of cooperative motion between a human and a dual-arm robot to a domain Y of motion of the dual-arm robot. A specific description will be given below.
  • a state transition function G that performs mapping from a state x of action data to a state y of action data is generated using adversarial learning. Specifically, a generator in the generative adversarial network model is generated, and the generator is set as the state transition function. By using adversarial learning, when the state x of action data is input, the generator G generates a pseudo state y ⁇ of action data according to the following formula. Note that the generator G generates a state y ⁇ of action data that deceives the discriminator Dy in the generative adversarial network model.
  • the discriminator Dy in the generative adversarial network model attempts to distinguish whether the input motion data is the state y ⁇ of the motion data generated by the generator G or the state y of the real motion data.
  • FIG. 4 is a diagram for explaining the generative adversarial network model in this embodiment.
  • the generator G when the state x of the motion data is input to the generator G, the generator G outputs a pseudo motion data state y ⁇ corresponding to the state x of the motion data.
  • This motion data state y ⁇ is data that simulates the state of the dual-arm robot.
  • the discriminator Dy judges whether or not this motion data y ⁇ is motion data that represents the actual state of the dual-arm robot.
  • the generator G is trained to output a state y ⁇ of the motion data that deceives the discriminator Dy. Also, in adversarial learning, the discriminator Dy is trained to be able to determine that the state y ⁇ of the motion data output by the generator G is fake.
  • a generator G and a discriminator Dy in the generative adversarial network model are generated so that the following formula (3) is satisfied:
  • p(x) represents the probability distribution of x appearing
  • p(y) represents the probability distribution of y appearing.
  • the generator G is generated so that the loss function L adv (G, Dy) for the generative adversarial network model of the above formula (3) is minimized, and the discriminator Dy is generated so that the loss function L adv (G, Dy) is maximized.
  • the random data of domain X is also used as training data.
  • the generator G is generated so that the consistency of the state transition Py between the state y t ⁇ at time t and the state y t+1 ⁇ at time t+1 is maintained.
  • the above-mentioned inverse dynamics model F ⁇ 1 calculates the action a t ⁇ taken by the dual-arm robot at time t according to the following equation.
  • the state y t+1 ⁇ at time t+1 is calculated by the dynamics model F according to the following equation.
  • the state y t+1 ⁇ at time t+1 calculated by the dynamics model F and the inverse dynamics model F ⁇ 1 must match the state y t+1 ⁇ at time t+1 output from the generator G.
  • a loss function L dyn (G) regarding the consistency of dynamics is set.
  • the loss function L dyn (G) regarding the consistency of dynamics is expressed by the following formula (4).
  • ⁇ 1 represents the L1 norm.
  • the generator G is generated so that a loss function L dyn (G) related to the consistency of dynamics is minimized.
  • the generator G may output a state yRi that is far removed from the state xRi of real data. For example, the generator G may output a state yRi that the arms of a dual-arm robot cannot take.
  • a loss function L id (G) for partial identity mapping is set.
  • the loss function L id (G) for partial identity mapping is expressed by the following formula (5).
  • the generator G is generated so that the loss function L id (G) for partial identity mapping is minimized.
  • the above-mentioned loss functions are integrated to set the following loss function Lfull .
  • the generator G and discriminator Dy of the generative adversarial network model are trained so that the loss function Lfull in the following formula (6) is minimized.
  • ⁇ adv , ⁇ dyn , and ⁇ id in the following formula (6) are weights and are set in advance.
  • the forward dynamics model F and the inverse dynamics model F -1 are trained in advance based on random data.
  • the forward dynamics model F and the inverse dynamics model F -1 may be updated together when the generative adversarial network model is trained.
  • the parameters of the forward dynamics model F and the parameters of the inverse dynamics model F -1 may be updated together when the generative adversarial network model is trained.
  • Fig. 5 is a block diagram showing a schematic configuration of the trained model generation system 1 of this embodiment.
  • the trained model generation system 1 includes a camera 2A, a dual-arm robot 4A, and a trained model generation device 10.
  • the trained model generation device 10 according to this embodiment generates a trained model for generating motion data of the dual-arm robot from motion data of a human.
  • Camera 2A sequentially captures images of the first arm R1 and second arm R2 of the dual-arm robot 4A, which is the object of control, and human H performing movements. For example, camera 2A sequentially captures images of demonstrations T1 and T2, as shown in FIG. 1, being performed. Camera 2A also sequentially captures images of the first arm R1 and second arm R2 of the dual-arm robot 4A performing random movements. Camera 2A also sequentially captures images of the human performing random movements. Camera 2A then outputs the obtained image data to the trained model generation device 10.
  • the dual-arm robot 4A is a robot as shown in Figure 1, and is equipped with a first arm R1 and a second arm R2.
  • FIG. 6 is a block diagram showing the hardware configuration of the trained model generation device 10 according to this embodiment.
  • the trained model generation device 10 has a CPU (Central Processing Unit) 42, a memory 44, a storage device 46, an input/output I/F (Interface) 48, a storage medium reading device 50, and a communication I/F 52.
  • Each component is connected to each other so as to be able to communicate with each other via a bus 54.
  • the storage device 46 stores a trained model generation program for executing each process described below.
  • the CPU 42 is a central processing unit, and executes various programs and controls each component. That is, the CPU 42 reads the program from the storage device 46 and executes the program using the memory 44 as a working area. The CPU 42 controls each of the components and performs various calculation processes according to the program stored in the storage device 46.
  • Memory 44 is made up of RAM (Random Access Memory) and serves as a working area to temporarily store programs and data.
  • Storage device 46 is made up of ROM (Read Only Memory), HDD (Hard Disk Drive), SSD (Solid State Drive), etc., and stores various programs including the operating system, and various data.
  • the input/output I/F 48 is an interface that inputs data from the camera 2A and the dual-arm robot 4A, and outputs data to the camera 2A and the dual-arm robot 4A.
  • input devices for various inputs such as a keyboard or mouse, and output devices for outputting various information, such as a display or printer, may be connected.
  • a touch panel display may be used as the output device, allowing it to function as an input device.
  • the storage medium reader 50 reads data stored in various storage media such as CD (Compact Disc)-ROM, DVD (Digital Versatile Disc)-ROM, Blu-ray Disc, and USB (Universal Serial Bus) memory, and writes data to the storage media.
  • CD Compact Disc
  • DVD Digital Versatile Disc
  • USB Universal Serial Bus
  • the communication I/F 52 is an interface for communicating with other devices, and uses standards such as Ethernet (registered trademark), FDDI, and Wi-Fi (registered trademark).
  • the trained model generation device 10 functionally includes a learning acquisition unit 12 and a learning unit 16.
  • a predetermined storage area of the trained model generation device 10 includes a data storage unit 14 and
  • the system includes a trained model storage unit 18 and a control model storage unit 19.
  • Each functional configuration is realized by the CPU 42 reading out each program stored in the storage device 46, expanding the program in the memory 44, and executing the program.
  • the data storage unit 14 stores image data captured by the camera 2A.
  • the data storage unit 14 also stores control data used when the dual-arm robot 4A operates.
  • the trained model storage unit 18 stores trained generative adversarial network models generated by the process described below.
  • the control model storage unit 19 stores a control model for controlling the dual-arm robot 4A.
  • the learning acquisition unit 12 acquires learning data. Specifically, the learning data is calculated by processing the image data and control data stored in the data storage unit 14 to be used when training the generative adversarial network model described below.
  • the learning data in this embodiment includes the motion data of the learning human H and the motion data of the learning dual-arm robot 4A.
  • the learning data in this embodiment includes demonstration data representing cooperative movements between the first arm R1 and the arm of human H, demonstration data representing cooperative movements between the second arm R2 and the arm of human H, random data representing random movements of the dual-arm robot 4A, and random data representing random movements of human H.
  • the demonstration data representing the cooperative motion between the first arm R1 and the arm of human H is the demonstration data ⁇ xR1 , xH , xb , aR1 ⁇
  • the demonstration data representing the cooperative motion between the second arm R2 and the arm of human H is the demonstration data ⁇ xH , xR2 , xb , aR2 ⁇
  • the random data representing the random movements of the dual-arm robot 4A and the random data representing the random movements of human H are the random data ⁇ xR1 , xH , xb , aR1 ⁇
  • the learning acquisition unit 12 identifies the positions and movement speeds of the two-dimensional barcodes Q1 and Q2 shown in FIG. 1 by analyzing the image data and control data stored in the data storage unit 14. The learning acquisition unit 12 then acquires the demonstration data and random data described above by combining the positions and movement speeds of the two-dimensional barcodes Q1 and Q2 with the control data of the dual-arm robot 4A.
  • the learning unit 16 performs machine learning on a generative adversarial network model including a generator G and a discriminator Dy based on the learning data acquired by the learning acquisition unit 12, thereby generating a trained generator G that outputs motion data y of the dual-arm robot 4A when motion data x representing the motion of a target human H is input.
  • the learning unit 16 performs machine learning on the generative adversarial network model so that the integrated loss function L shown in the above formula (6) is minimized.
  • the integrated loss function L is a loss function L v , a loss function L dyn related to the consistency of dynamics, and a loss function L id related to partial identity mapping. Minimization of each loss function will be described below.
  • the learning unit 16 essentially trains the generator G so as to minimize the loss function L for the generative adversarial network model shown in the above formula (3), while training the discriminator Dy so as to maximize the loss function L for the generative adversarial network model.
  • the learning unit 16 essentially trains the generator G so as to minimize the loss function L dyn related to the consistency of the dynamics shown in the above equation (4).
  • a forward dynamics model F is prepared in advance which outputs the state y t+1 of the dual-arm robot 4A at time t+1.
  • an inverse dynamics model F ⁇ 1 is prepared in advance which outputs the action a t that the dual-arm robot 4A would have taken at time t.
  • the learning unit 16 when the learning unit 16 performs machine learning on the generative adversarial network model, the learning unit 16 inputs the state y t ⁇ of the dual-arm robot 4A at time t and the state y t+1 ⁇ of the dual-arm robot 4A at time t+1 output from the generator G to the inverse dynamics model F -1 , thereby calculating the action a t ⁇ estimated to have been taken by the dual-arm robot 4A at time t.
  • the learning unit 16 when the learning unit 16 performs machine learning on the generative adversarial network model, it inputs the state y t ⁇ of the dual-arm robot 4A output from the generator G and the actions a t ⁇ calculated by the inverse dynamics model F -1 to the dynamics model F, thereby calculating the state y t+1 ⁇ of the dual-arm robot 4A at time t+1.
  • the learning unit 16 trains the generator G so as to reduce the difference between the state y t+1 ⁇ of the dual-arm robot 4A at time t output from the generator G and the calculated state y t+1 ⁇ of the dual-arm robot 4A at time t+1.
  • the training unit 16 trains the generator G so as to essentially minimize the loss function L id for the partial identity mapping shown in the above equation (5).
  • the learning unit 16 trains the generator G so that the difference between the motion data x of the learning dual-arm robot 4A and the state y ⁇ of the dual-arm robot 4A output from the generator G becomes small, thereby generating a trained generator G.
  • the learning unit 16 stores the trained generative adversarial network model including the trained generator G and the trained discriminator Dy in the trained model storage unit 18.
  • the learning unit 16 generates robot motion data for the dual-arm robot 4A by inputting target motion data representing the motion of a target human to the learned generator G.
  • the target human motion corresponds to the motion to be taught to the dual-arm robot 4A.
  • the learning unit 16 learns a control model for controlling the dual-arm robot 4A based on the generated operation data of the dual-arm robot 4A, thereby generating a learned control model that outputs action a from the operation data when state y from the operation data is input.
  • the learning unit 16 generates a trained control model using known imitation learning. This makes it possible to obtain a trained control model that reflects a strategy for generating an action a from a state y. Note that a known function or machine learning model can be used as the control model.
  • the learning unit 16 stores the learned control model in the control model storage unit 19.
  • Camera 2B has the same configuration as camera 2A described above, and sequentially captures images of the first arm R1 and second arm R2 of the dual-arm robot 4B, which is the object of control, as they are moving. Camera 2B then outputs the obtained image data to the control device 30.
  • the storage device 66 stores control programs for executing the various processes described below.
  • the CPU 62 is a central processing unit, and executes various programs and controls each component. That is, the CPU 62 reads the programs from the storage device 66 and executes the programs using the memory 64 as a working area.
  • the CPU 62 controls each of the components and performs various calculation processes according to the programs stored in the storage device 66.
  • Memory 64 is made up of RAM (Random Access Memory) and serves as a working area to temporarily store programs and data.
  • Storage device 66 is made up of ROM (Read Only Memory), HDD (Hard Disk Drive), SSD (Solid State Drive), etc., and stores various programs including the operating system, and various data.
  • the input/output I/F 68 is an interface that inputs data from the camera 2B and the dual-arm robot 4B, and outputs data to the camera 2B and the dual-arm robot 4B.
  • input devices for various inputs such as a keyboard or mouse, and output devices for outputting various information, such as a display or printer, may be connected.
  • a touch panel display may be used as the output device, allowing it to function as an input device.
  • the storage medium reader 70 reads data stored in various storage media such as CD (Compact Disc)-ROM, DVD (Digital Versatile Disc)-ROM, Blu-ray Disc, and USB (Universal Serial Bus) memory, and writes data to the storage media.
  • CD Compact Disc
  • DVD Digital Versatile Disc
  • USB Universal Serial Bus
  • the communication I/F 72 is an interface for communicating with other devices, and uses standards such as Ethernet (registered trademark), FDDI, and Wi-Fi (registered trademark).
  • the control model storage unit 32 stores the control trained model generated by the trained model generation device 10.
  • the acquisition unit 34 acquires the state of the dual-arm robot 4B and the state of the object b. Specifically, the acquisition unit 34 calculates the states (y R1 , y R2 , y b ) of the dual-arm robot 4B and the object b based on the image data captured by the camera 2B and the control data of the dual-arm robot 4B.
  • the generation unit 36 inputs the state (y R1 , y R2 , y b ) acquired by the acquisition unit 34 into the learned control model stored in the control model memory unit 32, and generates behavior (a R1 , a R2 ) of the dual-arm robot 4B corresponding to the state (y R1 , y R2 , y b ).
  • the control unit 38 controls the dual-arm robot 4B so as to take the action (a R1 , a R2 ) generated by the generation unit 36. Specifically, the control unit 38 outputs control commands to the first arm R1 and the second arm R2 of the dual-arm robot 4B so as to take the action (a R1 , a R2 ) generated by the generation unit 36.
  • data on the movements of human H and dual-arm robot 4A is collected and input to trained model generation device 10.
  • Data on the movements of human H and dual-arm robot 4A is stored in data storage unit 14.
  • trained model generation system 1 receives a predetermined instruction signal
  • CPU 42 of trained model generation device 10 reads out a trained model generation program from storage device 46, expands it into memory 44, and executes it.
  • CPU 42 functions as each functional component of trained model generation device 10, and the trained model generation process shown in Figures 9 and 10 is executed.
  • step S100 the learning acquisition unit 12 acquires learning data from the data stored in the data storage unit 14.
  • step S102 the learning unit 16 performs machine learning on a generative adversarial network model including a generator G and a discriminator Dy based on the learning data acquired in step S100, thereby generating a trained generator G that outputs motion data y of the dual-arm robot 4A when motion data x representing the motion of a target human H is input.
  • step S104 the trained generative adversarial network model including the trained generator G and the trained discriminator Dy is stored in the trained model storage unit 18.
  • the trained model generation device 10 executes the trained model generation process shown in FIG. 10.
  • step S200 the learning unit 16 acquires target motion data that represents the motion of the target human H.
  • the learning unit 16 acquires, as the target motion data, motion data to be taught to the dual-arm robot 4A from among the motion data of the human H included in the learning data.
  • data other than the learning data may be used as the target motion data.
  • step S204 the learning unit 16 generates motion data for the dual-arm robot 4A by inputting the target motion data acquired in step S200 to the learned generator G read out in step S202.
  • step S206 the learning unit 16 learns a control model for controlling the dual-arm robot 4A based on the operation data of the dual-arm robot 4A obtained in step S204, thereby generating a learned control model that outputs action a from the operation data when state y from the operation data is input.
  • step S208 the learning unit 16 stores the learned control model generated in step S206 in the control model storage unit 19.
  • the trained model for control generated by the trained model generation system 1 is input to the control device 30, the trained model for control is stored in the control model storage unit 19. Then, when the control system 20 receives a predetermined instruction signal, the CPU 62 of the control device 30 reads the control program from the storage device 66, expands it into the memory 64, and executes it. As a result, the CPU 62 functions as each functional component of the control device 30, and the control process shown in FIG. 11 is executed.
  • step S300 the acquisition unit 34 acquires the states (y R1 , y R2 , y b ) of the double-arm robot 4B and the object b from the image data captured by the camera 2B and the control data of the double-arm robot 4B.
  • step S302 the generation unit 36 reads the trained control model stored in the control model storage unit 32.
  • step S304 the generation unit 36 inputs the state (y R1 , y R2 , y b ) acquired in step S300 into the learned control model read out in step S302, thereby generating behavior (a R1 , a R2 ) of the dual-arm robot 4B according to the state (y R1 , y R2 , y b ).
  • step S306 the control unit 38 controls the double-arm robot 4B so as to take the action (a R1 , a R2 ) generated in step S304.
  • the control process shown in FIG. 11 is repeated, and a control signal is repeatedly output to the dual-arm robot 4A, thereby executing a task for the object b.
  • the trained model generation device trains a generative adversarial network model including a generator and a discriminator based on training data including training human motion data, thereby generating a trained generator that outputs motion data of a robot to be controlled when motion data representing a target human motion is input. This makes it possible to obtain a trained generator that can easily generate robot motion data from human motion data.
  • the trained model generation device generates a trained generator so that the loss function Lfull including the loss function Ldyn related to the consistency of dynamics is minimized, thereby making it possible to obtain a trained generator capable of generating motion data that takes into account the consistency of the dynamics of the dual-arm robot 4A. This makes it possible to suppress the generation of motion data that ignores the dynamics of the dual-arm robot 4A.
  • the trained model generation device generates a trained generator so as to minimize the loss function L full including the loss function L id related to partial identity mapping, thereby making it possible to obtain a trained generator capable of generating motion data that matches the actual movement of the dual-arm robot 4 A. This makes it possible to suppress the generation of motion data that ignores the actual movement of the dual-arm robot 4 A.
  • a trained generator can be generated taking into account factors such as the range of motion of the robot to be controlled.
  • FIG. 12 is a diagram for explaining this embodiment. As shown in FIG. 12, three simulations are performed in this embodiment. "Demonstration” shown in FIG. 12 corresponds to demonstrations T1 and T2 in FIG. 1 described above. "Execution” shown in FIG. 12 corresponds to execution phase E in FIG. 2 described above.
  • Figure 13 shows the results of this example. As shown in Figure 13, according to the proposed LfD-HR, Robot1 and Robot2 work together to complete the target task.
  • the robot to be controlled is a dual-arm robot, but the present invention is not limited to this and may be any robot.
  • a robot having one arm may be the target.
  • the robot to be controlled may also be, for example, a robot having multiple fingers. In this case, operation data relating to the movements of the multiple fingers is generated.
  • processors in this case include PLDs (Programmable Logic Devices) such as FPGAs (Field-Programmable Gate Arrays) whose circuit configuration can be changed after manufacture, and dedicated electrical circuits such as ASICs (Application Specific Integrated Circuits), which are processors with circuit configurations designed exclusively to execute specific processes.
  • PLDs Programmable Logic Devices
  • FPGAs Field-Programmable Gate Arrays
  • ASICs Application Specific Integrated Circuits
  • each process may be executed by one of these various processors, or by a combination of two or more processors of the same or different types (for example, multiple FPGAs, or a combination of a CPU and an FPGA, etc.).
  • the hardware structure of these various processors is, more specifically, an electrical circuit that combines circuit elements such as semiconductor elements.
  • the programs are described as being pre-stored (installed) in a storage device, but the present invention is not limited to this.
  • the programs may be provided in a form stored in a storage medium such as a CD-ROM, DVD-ROM, Blu-ray disc, or USB memory.
  • the programs may also be downloaded from an external device via a network.
  • a learning acquisition unit that acquires learning data including learning human motion data; a learning unit that performs machine learning on a generative adversarial network model including a generator and a discriminator based on the learning data acquired by the learning acquisition unit, thereby generating a trained generator that outputs motion data of a robot to be controlled when motion data representing a target human motion is input;
  • a trained model generating device comprising:
  • the operation data includes a state y and an action a of the robot to be controlled, a forward dynamics model F that outputs a state y t+1 of the control target robot at time t+1 when a state y t of the control target robot at time t and an action a t of the control target robot at time t are input; an inverse dynamics model F ⁇ 1 is prepared in advance, which outputs an action a t taken by the robot to be controlled at time t when a state y t of the robot to be controlled at time t and a state y t+1 of the robot to be controlled at time t+1 are input;
  • the learning unit is a state y t ⁇ of the controlled robot at time t and a state y t+1 ⁇ of the controlled robot at time t+1 output from the generator are input to the inverse dynamics model F ⁇ 1 to calculate an action a t ⁇ that the controlled robot would have taken at time t; a state y t+1 ⁇ of the
  • the learning data further includes motion data x of a robot to be controlled for learning,
  • the learning unit generates the trained generator by training the generator so that a difference between the motion data x of the controlled robot for learning and the state y ⁇ of the controlled robot output from the generator becomes small.
  • the trained model generation device according to claim 1 or 2.
  • the robot to be controlled is a robot equipped with at least one arm.
  • the trained model generation device according to any one of Supplementary Note 1 to Supplementary Note 3.
  • the robot to be controlled is a dual-arm robot including a first arm and a second arm,
  • the learning data is demonstration data representing a coordinated motion between the first arm and the human arm; and demonstration data representing a cooperative motion between the second arm and the human arm.
  • a trained model generation device as described in Appendix 4.
  • the learning data is Random data representing a random movement of the robot to be controlled; and random data representing random movements of the human.
  • the trained model generation device according to any one of Supplementary Note 1 to Supplementary Note 3.
  • the learning unit is generating motion data of the robot to be controlled by inputting target motion data representing a motion of a target human to the learned generator; a control trained model for controlling the control target robot based on the generated operation data of the control target robot, the control trained model being for outputting an action of the operation data when a state of the operation data is input;
  • the trained model generation device according to any one of Supplementary Note 1 to Supplementary Note 3.
  • a generation unit that generates a behavior of the control target robot according to the state by inputting the state acquired by the acquisition unit into the control trained model generated by the trained model generation device described in Supplementary Note 7;
  • a control unit that controls the target robot to take the action generated by the generation unit;
  • a control device comprising:
  • a trained generator is generated that outputs motion data of a robot to be controlled when motion data representing a motion of a target human is inputted, by performing machine learning on a generative adversarial network model including a generator and a discriminator based on the acquired training data.
  • a method for generating trained models in which processing is performed by a computer is performed by a computer.
  • a trained generator is generated that outputs motion data of a robot to be controlled when motion data representing a motion of a target human is inputted, by performing machine learning on a generative adversarial network model including a generator and a discriminator based on the acquired training data.
  • a trained model generation program for allowing a computer to execute processing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Feedback Control In General (AREA)

Abstract

学習済みモデル生成装置は、学習用の人間の動作データを含む学習用データを取得する。学習済みモデル生成装置は、学習用データに基づいて、ジェネレータとディスクリミネータとを含む敵対的生成ネットワークモデルを機械学習させることにより、対象となる人間の動作を表す動作データが入力されると制御対象ロボットの動作データが出力される学習済みのジェネレータを生成する。

Description

学習済みモデル生成装置、制御装置、学習済みモデル生成方法、及び学習済みモデル生成プログラム
 本開示は、学習済みモデル生成装置、制御装置、学習済みモデル生成方法、及び学習済みモデル生成プログラムに関する。
 従来、2つの腕部を有する双腕ロボットに対して動作を教示させる技術が知られている(例えば、Rohan Chitnis, Shubham Tulsiani, Saurabh Gupta, Abhinav Gupta, "Intrinsic Motivation for Encouraging Synergistic Behavior", ICLR 2020.を参照)。この技術では、双腕ロボットが試行錯誤をすることにより所定の動作を学習する。
 また、複数の腕部を有するロボットに対して動作を教示する際に、複数の腕部の各々毎に異なる教示者によって動作を教示する技術が知られている(例えば、Albert Tung, Josiah Wong, Ajay Mandlekar, Roberto Martin, Yuke Zhu, Li Fei-Fei, Silvio Savarese, "Learning Multi-Arm Manipulation Through Collaborative Teleoperation", ICRA, 2021.を参照)。この技術では、教示者がロボットを遠隔操作することにより、ロボットに対して動作を教示させる。
 ところで、人間がロボットに対して動作を教示する際には、ロボットの動作に関する物理的な制約も考慮する必要がある。例えば、ロボットの可動域が人間の可動域とは異なる場合には、人間が簡単に行える動作であっても、ロボットはその動作を実行することができない場合もあり得る。また、例えば、双腕ロボットのように、ロボットの可動部位が複数である場合には、その複数の可動部位を協調動作させる必要がある。人間がロボットに対して動作を教示する際に、このような複数の可動部位を協調動作させつつ、動作を教示させることは難しい。
 このため、人間がロボットに対して動作を教示することは難しい、という課題がある。
 本開示は、上記の点に鑑みてなされたものであり、人間の動作データからロボットの動作データを簡易に生成することを目的とする。
 上記目的を達成するために、本開示に係る学習済みモデル生成装置は、学習用の人間の動作データを含む学習用データを取得する学習用取得部と、前記学習用取得部により取得された学習用データに基づいて、ジェネレータとディスクリミネータとを含む敵対的生成ネットワークモデルを機械学習させることにより、対象となる人間の動作を表す動作データが入力されると制御対象ロボットの動作データが出力される学習済みのジェネレータを生成する学習部と、を含む学習済みモデル生成装置である。
 また、本開示の学習済みモデル生成方法は、学習用の人間の動作データを含む学習用デ
ータを取得し、取得された学習用データに基づいて、ジェネレータとディスクリミネータとを含む敵対的生成ネットワークモデルを機械学習させることにより、対象となる人間の動作を表す動作データが入力されると制御対象ロボットの動作データが出力される学習済みのジェネレータを生成する、処理をコンピュータが実行する学習済みモデル生成方法である。
 また、本開示の学習済みモデル生成プログラムは、学習用の人間の動作データを含む学習用データを取得し、取得された学習用データに基づいて、ジェネレータとディスクリミネータとを含む敵対的生成ネットワークモデルを機械学習させることにより、対象となる人間の動作を表す動作データが入力されると制御対象ロボットの動作データが出力される学習済みのジェネレータを生成する、処理をコンピュータに実行させるための学習済みモデル生成プログラムである。
 本開示の学習済みモデル生成装置、制御装置、学習済みモデル生成方法、及び学習済みモデル生成プログラムによれば、人間の動作データからロボットの動作データを簡易に生成することができる。
本実施形態の概要を説明するための図である。 本実施形態の概要を説明するための図である。 本実施形態のフレームワークの概要を説明するための図である。 本実施形態における敵対的生成ネットワークモデルを説明するための図である。 本実施形態の学習済みモデル生成システムの概略構成を表すブロック図である。 本実施形態に係る学習済みモデル生成装置のハードウェア構成を示すブロック図である。 本実施形態の制御システムの概略構成を表すブロック図である。 本実施形態に係る制御装置のハードウェア構成を示すブロック図である。 本実施形態における学習済みモデル生成処理の流れを示すフローチャートである。 本実施形態における学習済みモデル生成処理の流れを示すフローチャートである。 本実施形態における制御処理の流れを示すフローチャートである。 本実施例を説明するための図である。 本実施例の結果を表す図である。
 以下、本開示の実施形態の一例を、図面を参照しつつ説明する。本実施形態では、本開示に係る制御装置を搭載した制御システムを例に説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法及び比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
<実施形態の概要>
 図1及び図2は、本実施形態の概要を説明するための図である。図1に示されるように、本実施形態では、人間Hの動作を2つの腕部R1,R2を有する双腕ロボットへ教示する。図1に示されている例は、対象物bを矢印Cの方向へ移動させるタスクを実現する動作を双腕ロボットへ教示させる場合の例である。
 具体的には、図1のT1に示されているように、双腕ロボットの第1腕部R1と人間Hの腕とを協調動作させるデモンストレーションを実行することにより、2次元バーコードQ1,Q2の位置をカメラ(図示省略)によって撮像する。また、図1のT2に示されているように、双腕ロボットの第2腕部R2と人間Hの腕とを協調動作させるデモンストレーションを実行することにより、2次元バーコードQ1,Q2の位置をカメラ(図示省略)によって撮像する。
 デモンストレーションにおける人間Hの腕と対象物bの動作データは、2次元バーコードQ1,Q2の位置に基づき生成される。また、デモンストレーションにおける双腕ロボットの第1腕部R1と第2腕部R2の動作データは、双腕ロボットを制御する制御装置(図示省略)から得られる。
 本実施形態では、このようにして得られた動作データに基づいて、双腕ロボットの第1腕部R1と第2腕部R2に対して教示する動作データを生成する。
 そして、図2のEに示されているように、実行フェーズでは、双腕ロボットの第1腕部R1と第2腕部R2とは、対象物bを矢印Cの方向へ移動させるタスクを実行する。
 この点、例えば、双腕ロボットに対して動作を教示する際には、上述したように片腕ずつ動作を教示するのではなく、第1腕部R1と第2腕部R2との双腕に対して一度に教示するという方法も考えられる。
 例えば、人間が両腕を用いて対象物bを矢印Cの方向へ移動させるタスクを実行し、その際の動作データを得るという方法が考えられる。しかし、この場合には、人間は、双腕ロボットが実行することが不可能な動作をしてしまう場合もある。例えば、人間が対象物bを矢印Cの方向へ移動させるタスクを実行する際に、人間は双腕ロボットの腕部の移動速度の上限を超えたような速度で対象物bを移動させてしまう場合などもあり得る。また、上述したようなタスクよりも更に複雑なタスクを実行しようとする場合には、人間は、双腕ロボットの腕部の可動域を考慮しないような動作を実行してしまう場合もあり得る。
 このため、人間が両腕を用いた際の動作データが得られたとしても、その動作データをそのまま双腕ロボットへ教示させるということは難しい。
 また、例えば、人間が双腕ロボットの第1腕部R1と第2腕部R2とを遠隔操作することにより、対象物bを矢印Cの方向へ移動させるタスクを実行し、その際の動作データを得るという方法が考えられる。しかし、この場合には、第1腕部R1に対する遠隔操作と第2腕部R2に対する遠隔操作とを協調させる必要がある。
 第1腕部R1を遠隔操作する人間と第2腕部R2を遠隔操作する人間とが異なる場合、タスクが複雑になるほどその協調は困難となり、適切な動作データを得ることが難しくなる。また、第1腕部R1を遠隔操作する人間と第2腕部R2を遠隔操作する人間とが同一である場合には、その遠隔操作を実現するための機器を複雑なものとする必要が出てくるため、機器を用意するコストが膨大になる。
 このため、人間が双腕ロボットの第1腕部R1と第2腕部R2とを遠隔操作することにより動作データを得るということも難しい。
 そこで、本実施形態では、上述したように、人間と双腕ロボットとを協調動作させるデモンストレーションを実行することにより動作データを取得し、その動作データに基づいて双腕ロボットへ教示する動作データを生成する。
 具体的には、本実施形態では、既知の敵対的生成ネットワークモデルを利用することにより、人間の動作データから双腕ロボットの動作データを生成する。なお、以下では、図1のT1のように、第1腕部R1と人間Hとが動作する場面を「Robot1-Human」と表記する。また、図1のT2のように、第2腕部R2と人間とが動作する場面を「Human-Robot2」と表記する。また、単に人間Hと双腕ロボットの腕部とが動作する場面を「Human-Robot」と表記する。また、双腕ロボットの第1腕部R1と第2腕部R2とが動作する場面を「Robot1-Robot2」又は「Robot-Robot」と表記する。
 なお、以下では、本実施形態において提案される手法を、learning from demonstrations by human and robotic arms (LfD-HR)とも称する。
 図3は、本実施形態のフレームワークの概要を説明するための図である。以下では、図3を参照しつつ、本実施形態のフレームワークを説明する。
(A.問題定式化)
 本実施形態では、マルコフ決定プロセス(S,A,P,ρ0)により問題が定義される。なお、状態s∈Sであり、行動a∈Aであり、遷移関数P(s’∈S|s,a)であり、ρ0は初期状態である。また、本実施形態では、2つのドメインが定義される。
 ドメインXは、人間とロボットとによるタスクのデモンストレーションに属するドメインである。また、ドメインYは、双腕ロボットによるタスク動作に属するドメインである。
 ドメインXに属する動作データには、人間Hの腕の状態xHと、双腕ロボットの第1腕部R1及び第2腕部R2の状態xRi(i=1,2)と、対象物bの状態xbと、双腕ロボットの第1腕部R1及び第2腕部R2の行動aRiとが含まれている。
 ドメインYに属する動作データには、双腕ロボットの第1腕部R1及び第2腕部R2の状態yRiと、対象物bの状態ybと、双腕ロボットの第1腕部R1及び第2腕部R2の行動aRiとが含まれている。
 本実施形態では、ドメインXに属する状態x=(xH,xRi,xb)と、ドメインYに属する状態y=(yR1,yR2,yb)と、行動(aR1,aR2)とが定義される。また、本実施形態では、ドメインXとドメインYとにおけるマルコフ決定プロセスにおいて、Mx=(Sx,Ax,Px,ρ0x)とMy=(Sy,Ay,Py,ρ0y)とが定義される。また、本実施形態では、後述するように双腕ロボットの制御モデルに対して方針π:Sy→Ayを学習させる。
(B.データ収集)
 まず、本実施形態では、図3に示されているように、ランダムデータが収集される。具体的には、図3に示されているように、双腕ロボットの第1腕部R1と人間Hとをランダムに動作させた状況下「Robot1-Human」において得られるランダムデータ{xR1,xH,xb,aR1}|D|が収集される。なお、|D|はデータセットの数を表す。
 また、図3に示されているように、双腕ロボットの第2腕部R2と人間Hとをランダムに動作させた状況下「Human-Robot2」において得られるランダムデータ{xH,xR2,xb,aR2}|D|が収集される。
 また、図3に示されているように、双腕ロボットの第1腕部R1と第2腕部R2とをランダムに動作させた状況下「Robot1-Robot2」のランダムデータ{yR1,yR2,yb,aR1,aR2}|D|が収集される。
 次に、図3に示されているように、デモンストレーションデータが収集される。デモンストレーションデータは、人間Hと双腕ロボットの腕部(第1腕部R1又は第2腕部R2)とを協調動作させた際に得られるデータである。
 具体的には、図3に示されているように、双腕ロボットの第1腕部R1と人間Hとを協調動作させた状況下「Robot1-Human」において得られるデモンストレーションデータ{xR1,xH,xb,aR1}|D|が収集される。
 また、図3に示されているように、人間Hと双腕ロボットの第2腕部R2とを協調動作させた状況下「Human-Robot2」において得られるデモンストレーションデータ{xH,xR2,xb,aR2}|D|が収集される。
(C.フォワードダイナミクスモデルとインバースダイナミクスモデル)
 本実施形態では、双腕ロボットの腕部に関するフォワードダイナミクスモデルFとインバースダイナミクスモデルF-1とが定義される。
 フォワードダイナミクスモデルFは、以下の式(1A)によって定義される。

 
                       (1A)
 また、インバースダイナミクスモデルF-1は、以下の式(1B)によって定義される。

 
                       (1B)
 なお、上記各式内のtは時刻を表す。フォワードダイナミクスモデルF及びインバースダイナミクスモデルF-1は、既知のダイナミクスモデル又は機械学習モデルを利用することにより実現される。
 フォワードダイナミクスモデルF及びインバースダイナミクスモデルF-1は、以下の式(1)及び式(2)が満たされるように、予めパラメータが設定される。
 なお、上記各式内の||・||2はL2ノルムを表し、Eは期待値を表す。
 本実施形態では、上記式(1)の損失関数Lfwdが最小となるようなフォワードダイナミクスモデルFが予め生成される。また、上記式(2)の損失関数Linvが最小となるようなインバースダイナミクスモデルF-1が予め生成される。フォワードダイナミクスモデルFとインバースダイナミクスモデルF-1とは、後述するドメイントランスレーションフレームワークにおいて利用される。
(D.ドメイントランスレーションフレームワーク)
 図3に示されているように、本実施形態のドメイントランスレーションフレームワークでは、人間と双腕ロボットとの協調動作のドメインXから双腕ロボットの動作のドメインYへの変換を実現するフレームワークである。以下、具体的に説明する。
(1)ドメイントランスレーション
 本実施形態では、敵対的学習を用いて、動作データの状態xから動作データの状態yへの写像を実行する状態遷移関数Gを生成する。具体的には、敵対的生成ネットワークモデルのうちのジェネレータを生成し、そのジェネレータを状態遷移関数とする。敵対的学習により、ジェネレータGは、動作データの状態xが入力されると以下の式に従って疑似的な動作データの状態y^を生成する。なお、ジェネレータGは、敵対的生成ネットワークモデルのうちのディスクリミネータDyを欺くような動作データの状態y^を生成する。
 一方で、敵対的生成ネットワークモデルのうちのディスクリミネータDyは、入力された動作データが、ジェネレータGによって生成された動作データの状態y^であるのか又は現実の動作データの状態yであるのかを見分けることを試みる。
 図4は、本実施形態における敵対的生成ネットワークモデルを説明するための図である。図4に示されているように、動作データの状態xがジェネレータGへ入力されると、ジェネレータGは動作データの状態xに応じた疑似的な動作データの状態y^を出力する。この動作データの状態y^は、双腕ロボットの状態を模擬したデータである。ディスクリミネータDyは、この動作データy^が双腕ロボットの現実の状態を表す動作データであるのか否かを判定する。
 図4に示されているように、敵対的学習では、ジェネレータGは、ディスクリミネータDyを欺くような動作データの状態y^を出力するように学習される。また、敵対的学習では、ディスクリミネータDyは、ジェネレータGが出力した動作データの状態y^を偽物であると判定することができるように学習される。
 具体的には、本実施形態の敵対的学習では、以下の式(3)が満たされるように、敵対的生成ネットワークモデルのうちのジェネレータGとディスクリミネータDyとが生成さ
れる。なお、以下の式におけるp(x)はxが出現する確率分布を表し、p(y)はyが出現する確率分布を表す。
 このため、本実施形態では、上記式(3)の敵対的生成ネットワークモデルに関する損失関数Ladv(G,Dy)が最小となるようにジェネレータGが生成され、損失関数Ladv(G,Dy)が最大となるようにディスクリミネータDyが生成される。なお、本実施形態では、ジェネレータGが、ドメインXのデモンストレーションデータとドメインYのランダムデータとにオーバフィッティングすることを防ぐために、ドメインXのランダムデータも学習用データとして用いられる。
(2)ダイナミクス一貫性
 本実施形態では、双腕ロボットのダイナミクスの一貫性も考慮して、敵対的生成ネットワークモデルを学習させる。仮に、何の制約も無くジェネレータGを生成させた場合、ジェネレータGによって変換された動作データの状態y^は、ドメインYにおける状態遷移Pyとの一貫性が無いものとなる場合がある。
 そこで、本実施形態では、時刻tの状態yt^と時刻t+1の状態yt+1^との間における状態遷移Pyの一貫性が保たれるようにジェネレータGを生成する。
 具体的には、上述したインバースダイナミクスモデルF-1によって、以下の式に従い、時刻tに双腕ロボットが取った行動at ~が計算される。
 また、ダイナミクスモデルFによって、以下の式に従い、時刻t+1の状態yt+1 ~が計算される。
 ダイナミクスモデルFとインバースダイナミクスモデルF-1とによって計算された時刻t+1の状態yt+1 ~は、ジェネレータGから出力された時刻t+1の状態yt+1^と一致している必要がある。
 そこで、本実施形態では、ダイナミクスの一貫性に関する損失関数Ldyn(G)を設定する。ダイナミクスの一貫性に関する損失関数Ldyn(G)は、以下の式(4)によって表される。
 なお、上記式内の||・||1はL1ノルムを表す。本実施形態では、ダイナミクスの一貫性に関する損失関数Ldyn(G)が最小となるようにジェネレータGが生成される。
(3)パーシャルアイデンティティマッピング
 ドメイントランスレーションとダイナミクスの一貫性とを考慮したとしても、ジェネレータGから、現実のデータである状態xRiとはかけ離れた状態yRiが出力されてしまう場合もある。例えば、ジェネレータGから双腕ロボットの腕部が取り得ない状態yRiが出力されてしまう場合もある。
 そこで、本実施形態では、パーシャルアイデンティティマッピングに関する損失関数Lid(G)を設定する。パーシャルアイデンティティマッピングに関する損失関数Lid(G)は、以下の式(5)によって表される。
 本実施形態では、パーシャルアイデンティティマッピングに関する損失関数Lid(G)が最小となるようにジェネレータGが生成される。
(4)統合された損失関数
 本実施形態では、上述した各損失関数を統合することにより、以下の損失関数Lfullが設定される。以下の式(6)の損失関数Lfullが最小となるように、敵対的生成ネットワークモデルのジェネレータGとディスクリミネータDyとが学習される。以下の式(6)におけるλadv,λdyn,λidは重みであり、予め設定される。
 なお、上述したように、フォワードダイナミクスモデルFとインバースダイナミクスモデルF-1とは、ランダムデータに基づいて予め学習される。また、フォワードダイナミクスモデルFとインバースダイナミクスモデルF-1とは、敵対的生成ネットワークモデルを学習させる際に併せて更新するようにしてもよい。例えば、フォワードダイナミクスモデルFが有するパラメータとインバースダイナミクスモデルF-1が有するパラメータとが、敵対的生成ネットワークモデルを学習させる際に併せて更新されるようにしてもよい。
(学習済みモデル生成システム1)
 図5は、本実施形態の学習済みモデル生成システム1の概略構成を表すブロック図である。図5に示されるように、学習済みモデル生成システム1は、カメラ2Aと、双腕ロボット4Aと、学習済みモデル生成装置10とを備えている。本実施形態に係る学習済みモデル生成装置10は、人間の動作データから双腕ロボットの動作データを生成するための
学習済みモデルを生成する。
 カメラ2Aは、制御対象である双腕ロボット4Aの第1腕部R1及び第2腕部R2と人間Hとが動作をしている際の画像を逐次撮像する。例えば、カメラ2Aは、図1に示されているような、デモンストレーションT1とデモンストレーションT2とが行われている際の、画像を逐次撮像する。また、カメラ2Aは、双腕ロボット4Aの第1腕部R1及び第2腕部R2がランダムな動作をしている際の画像を逐次撮像する。また、カメラ2Aは、人間がランダムな動作をしている際の画像を逐次撮像する。そして、カメラ2Aは、得られた画像データを学習済みモデル生成装置10へ出力する。
 双腕ロボット4Aは、図1に示されているようなロボットであり、第1腕部R1と第2腕部R2とを備えている。
 図6は、本実施形態に係る学習済みモデル生成装置10のハードウェア構成を示すブロック図である。図6に示されるように、学習済みモデル生成装置10は、CPU(Central Processing Unit)42、メモリ44、記憶装置46、入出力I/F(Interface)48、記憶媒体読取装置50、及び通信I/F52を有する。各構成は、バス54を介して相互に通信可能に接続されている。
 記憶装置46には、後述する各処理を実行するための学習済みモデル生成プログラムが格納されている。CPU42は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU42は、記憶装置46からプログラムを読み出し、メモリ44を作業領域としてプログラムを実行する。CPU42は、記憶装置46に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
 メモリ44は、RAM(Random Access Memory)により構成され、作業領域として一時的にプログラム及びデータを記憶する。記憶装置46は、ROM(Read Only Memory)、及びHDD(Hard Disk Drive)、SSD(Solid State Drive)等により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
 入出力I/F48は、カメラ2Aと双腕ロボット4Aとからのデータの入力、及びカメラ2Aと双腕ロボット4Aとへのデータの出力を行うインタフェースである。また、例えば、キーボードやマウス等の、各種の入力を行うための入力装置、及び、例えば、ディスプレイやプリンタ等の、各種の情報を出力するための出力装置が接続されてもよい。出力装置として、タッチパネルディスプレイを採用することにより、入力装置として機能させてもよい。
 記憶媒体読取装置50は、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、ブルーレイディスク、USB(Universal Serial Bus)メモリ等の各種記憶媒体に記憶されたデータの読み込みや、記憶媒体に対するデータの書き込み等を行う。
 通信I/F52は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
 次に、学習済みモデル生成装置10の機能構成について説明する。図5に示されるように、学習済みモデル生成装置10は、機能的には、学習用取得部12と、学習部16とを含む。また、学習済みモデル生成装置10の所定の記憶領域には、データ記憶部14と、
学習済みモデル記憶部18と、制御モデル記憶部19とが設けられている。各機能構成は、CPU42が記憶装置46に記憶された各プログラムを読み出し、メモリ44に展開して実行することにより実現される。
 データ記憶部14には、カメラ2Aによって撮像された画像データが格納される。また、データ記憶部14には、双腕ロボット4Aが動作した際の制御データが格納される。
 学習済みモデル記憶部18には、後述する処理によって生成された学習済みの敵対的生成ネットワークモデルが格納される。
 制御モデル記憶部19には、双腕ロボット4Aを制御するための制御モデルが格納される。
 学習用取得部12は、学習用データを取得する。具体的には、データ記憶部14に格納されている画像データ及び制御データを加工するなどして、後述する敵対的生成ネットワークモデルを学習させる際に利用する学習用データを計算する。本実施形態の学習用データは、学習用の人間Hの動作データと、学習用の双腕ロボット4Aの動作データとを含むデータである。
 具体的には、本実施形態の学習用データは、第1腕部R1と人間Hの腕とによる協調動作を表すデモンストレーションデータと、第2腕部R2と人間Hの腕とによる協調動作を表すデモンストレーションデータと、双腕ロボット4Aのランダムな動作を表すランダムデータと、人間Hのランダムな動作を表すランダムデータとを含んで構成されている。
 第1腕部R1と人間Hの腕とによる協調動作を表すデモンストレーションデータは、図3に示されている「Robot1-Human」のデモンストレーションデータ{xR1,xH,xb,aR1}|D|である。第2腕部R2と人間Hの腕とによる協調動作を表すデモンストレーションデータは、図3に示されている「Human-Robot2」のデモンストレーションデータ{xH,xR2,xb,aR2}|D|である。
 双腕ロボット4Aのランダムな動作を表すランダムデータ及び人間Hのランダムな動作を表すランダムデータは、図3に示されている「Robot1-Human」のランダムデータ{xR1,xH,xb,aR1}|D|と、「Human-Robot2」のランダムデータ{xH,xR2,xb,aR2}|D|と、「Robot1-Robot2」のランダムデータ{yR1,yR2,yb,aR1,aR2}|D|とである。
 学習用取得部12は、データ記憶部14に格納されている画像データ及び制御データを解析することにより、図1に示されている2次元バーコードQ1,Q2の位置及び移動速度等を特定する。そして、学習用取得部12は、2次元バーコードQ1,Q2の位置及び移動速度と双腕ロボット4Aの制御データとを組み合わせることにより、上述したようなデモンストレーションデータ及びランダムデータを取得する。
 学習部16は、学習用取得部12により取得された学習用データに基づいて、ジェネレータGとディスクリミネータDyとを含む敵対的生成ネットワークモデルを機械学習させることにより、対象となる人間Hの動作を表す動作データxが入力されると双腕ロボット4Aの動作データyが出力される学習済みのジェネレータGを生成する。
 具体的には、学習部16は、上記式(6)に示されている統合損失関数Lfullが最小となるように、敵対的生成ネットワークモデルを機械学習させる。なお、上述したように、統合損失関数Lfullは、敵対的生成ネットワークモデルに関する損失関数Lad
vと、ダイナミクスの一貫性に関する損失関数Ldynと、パーシャルアイデンティティマッピングに関する損失関数Lidとを含む関数である。以下、各損失関数の最小化について説明する。
(敵対的生成ネットワークモデルに関する損失関数Ladv)
 学習部16は、実質的に、上記式(3)に示されている敵対的生成ネットワークモデルに関する損失関数Ladvが最小になるようにジェネレータGを学習させつつ、敵対的生成ネットワークモデルに関する損失関数Ladvが最大になるようにディスクリミネータDyを学習させる。
(ダイナミクスの一貫性に関する損失関数Ldyn)
 学習部16は、実質的に、上記式(4)に示されているダイナミクスの一貫性に関する損失関数Ldynが最小になるようにジェネレータGを学習させる。
 上述したように、本実施形態では、双腕ロボット4Aの時刻tの状態ytと双腕ロボット4Aの時刻tの行動atとが入力されると、双腕ロボット4Aの時刻t+1の状態yt+1を出力するフォワードダイナミクスモデルFが予め用意される。また、本実施形態では、双腕ロボット4Aの時刻tの状態ytと双腕ロボット4Aの時刻t+1の状態yt+1とが入力されると、双腕ロボット4Aが時刻tに取ったであろう行動atが出力されるインバースダイナミクスモデルF-1とが予め用意される。
 このため、学習部16は、敵対的生成ネットワークモデルを機械学習させる際に、インバースダイナミクスモデルF-1に対して、ジェネレータGから出力された双腕ロボット4Aの時刻tの状態yt^と時刻t+1の状態yt+1^とを入力することにより、双腕ロボット4Aが時刻tに取ったと推定される行動at ~を計算する。
 また、学習部16は、敵対的生成ネットワークモデルを機械学習させる際に、ダイナミクスモデルFに対して、ジェネレータGから出力された双腕ロボット4Aの状態yt^と、インバースダイナミクスモデルF-1により計算された行動at ~とを入力することにより、双腕ロボット4Aの時刻t+1の状態yt+1 ~を計算する。
 そして、学習部16は、ジェネレータGから出力された双腕ロボット4Aの時刻tの状態yt+1^と、計算された双腕ロボット4Aの時刻t+1の状態yt+1 ~との間の差分が小さくなるようにジェネレータGを学習させる。
(パーシャルアイデンティティマッピングに関する損失関数Lid)
 学習部16は、実質的に、上記式(5)に示されているパーシャルアイデンティティマッピングに関する損失関数Lidが最小になるようにジェネレータGを学習させる。
 具体的には、学習部16は、学習用の双腕ロボット4Aの動作データxとジェネレータGから出力された双腕ロボット4Aの状態y^との間の差分が小さくなるように、ジェネレータGを学習させることにより、学習済みのジェネレータGを生成する。
 そして、学習部16は、学習済みのジェネレータGと学習済みのディスクリミネータDyとを含む学習済みの敵対的生成ネットワークモデルを、学習済みモデル記憶部18へ格納する。
 次に、学習部16は、学習済みのジェネレータGに対して、対象となる人間の動作を表す対象動作データを入力することにより、双腕ロボット4Aのロボットの動作データを生成する。ここで、対象となる人間の動作とは、双腕ロボット4Aへ教示したい動作に相当
する。
 学習部16は、生成された双腕ロボット4Aの動作データに基づいて、双腕ロボット4Aを制御するための制御用モデルを学習させることにより、動作データのうちの状態yが入力されると動作データのうちの行動aを出力する制御用学習済みモデルを生成する。
 例えば、学習部16は、既知の模倣学習を用いて制御用学習済みモデルを生成する。これにより、状態yから行動aを生成する方策が反映された制御用学習済みモデルを得ることができる。なお、制御用モデルとしては、既知の関数又は機械学習モデルを採用することができる。
 そして、学習部16は、制御用学習済みモデルを制御モデル記憶部19へ格納する。
(制御システム20)
 図7は、本実施形態の制御システム20の概略構成を表すブロック図である。図7に示されるように、制御システム20は、カメラ2Bと、双腕ロボット4Bと、制御装置30とを備えている。本実施形態に係る制御装置30は、学習済みモデル生成装置10によって生成された制御用学習済みモデルを用いて双腕ロボット4Bの動作を制御する。
 カメラ2Bは、上述したカメラ2Aと同様の構成であり、制御対象である双腕ロボット4Bの第1腕部R1及び第2腕部R2が動作をしている際の画像を逐次撮像する。そして、カメラ2Bは、得られた画像データを制御装置30へ出力する。
 双腕ロボット4Bは、上述した双腕ロボット4Aと同様の構成であり、図1に示されているようなロボットである。
 図8は、本実施形態に係る制御装置30のハードウェア構成を示すブロック図である。図8に示されるように、制御装置30は、CPU(Central Processing Unit)62、メモリ64、記憶装置66、入出力I/F(Interface)68、記憶媒体読取装置70、及び通信I/F72を有する。各構成は、バス74を介して相互に通信可能に接続されている。
 記憶装置66には、後述する各処理を実行するための制御プログラムが格納されている。CPU62は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU62は、記憶装置66からプログラムを読み出し、メモリ64を作業領域としてプログラムを実行する。CPU62は、記憶装置66に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
 メモリ64は、RAM(Random Access Memory)により構成され、作業領域として一時的にプログラム及びデータを記憶する。記憶装置66は、ROM(Read Only Memory)、及びHDD(Hard Disk Drive)、SSD(Solid State Drive)等により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
 入出力I/F68は、カメラ2Bと双腕ロボット4Bとからのデータの入力、及びカメラ2Bと双腕ロボット4Bとへのデータの出力を行うインタフェースである。また、例えば、キーボードやマウス等の、各種の入力を行うための入力装置、及び、例えば、ディスプレイやプリンタ等の、各種の情報を出力するための出力装置が接続されてもよい。出力装置として、タッチパネルディスプレイを採用することにより、入力装置として機能させてもよい。
 記憶媒体読取装置70は、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、ブルーレイディスク、USB(Universal Serial Bus)メモリ等の各種記憶媒体に記憶されたデータの読み込みや、記憶媒体に対するデータの書き込み等を行う。
 通信I/F72は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
 次に、制御装置30の機能構成について説明する。図7に示されるように、制御装置30は、機能的には、取得部34と、生成部36と、制御部38とを含む。また、制御装置30の所定の記憶領域には、制御モデル記憶部32が設けられている。各機能構成は、CPU62が記憶装置66に記憶された各プログラムを読み出し、メモリ64に展開して実行することにより実現される。
 制御モデル記憶部32には、学習済みモデル生成装置10によって生成された制御用学習済みモデルが格納される。
 取得部34は、双腕ロボット4Bの状態と対象物の状態とを取得する。具体的には、取得部34は、カメラ2Bによって撮像された画像データ及び双腕ロボット4Bの制御データに基づいて、双腕ロボット4Bと対象物bとの状態(yR1,yR2,yb)を計算する。
 生成部36は、制御モデル記憶部32に格納されている制御用学習済みモデルに対して、取得部34により取得された状態(yR1,yR2,yb)を入力することにより、当該状態(yR1,yR2,yb)に応じた双腕ロボット4Bの行動(aR1,aR2)を生成する。
 制御部38は、生成部36により生成された行動(aR1,aR2)を取るように、双腕ロボット4Bを制御する。具体的には、制御部38は、生成部36により生成された行動(aR1,aR2)を取るように、双腕ロボット4Bの第1腕部R1と第2腕部R2とに対して制御指令を出力する。
 次に、本実施形態に係る学習済みモデル生成システム1の作用について説明する。
 まず、人間Hの動作及び双腕ロボット4Aの動作に関するデータが収集され、学習済みモデル生成装置10へ入力される。人間Hの動作及び双腕ロボット4Aの動作に関するデータは、データ記憶部14へ格納される。そして、学習済みモデル生成システム1が所定の指示信号を受け付けると、学習済みモデル生成装置10のCPU42は記憶装置46から学習済みモデル生成プログラムを読み出して、メモリ44に展開して実行する。これにより、CPU42が学習済みモデル生成装置10の各機能構成として機能し、図9及び図10に示す学習済みモデル生成処理が実行される。
 ステップS100において、学習用取得部12は、データ記憶部14へ格納されているデータから学習用データを取得する。
 ステップS102において、学習部16は、ステップS100で取得された学習用データに基づいて、ジェネレータGとディスクリミネータDyとを含む敵対的生成ネットワークモデルを機械学習させることにより、対象となる人間Hの動作を表す動作データxが入力されると双腕ロボット4Aの動作データyが出力される学習済みのジェネレータGを生
成する。
 ステップS104において、学習済みのジェネレータGと学習済みのディスクリミネータDyとを含む学習済みの敵対的生成ネットワークモデルを、学習済みモデル記憶部18へ格納する。
 次に、学習済みモデル生成システム1が所定の指示信号を受け付けると、学習済みモデル生成装置10は、図10に示す学習済みモデル生成処理を実行する。
 ステップS200において、学習部16は、対象となる人間Hの動作を表す対象動作データを取得する。例えば、学習部16は、学習用データに含まれる人間Hの動作データのうち、双腕ロボット4Aに教示したい動作データを対象動作データとして取得する。なお、対象動作データとしては学習用データとは異なるデータが用いられてもよい。
 ステップS202において、学習部16は、学習済みモデル記憶部18から学習済みのジェネレータGを読み出す。
 ステップS204において、学習部16は、ステップS202で読み出された学習済みのジェネレータGに対して、ステップS200で取得された対象動作データを入力することにより、双腕ロボット4Aの動作データを生成する。
 ステップS206において、学習部16は、ステップS204で得られた双腕ロボット4Aの動作データに基づいて、双腕ロボット4Aを制御するための制御用モデルを学習させることにより、動作データのうちの状態yが入力されると動作データのうちの行動aを出力する制御用学習済みモデルを生成する。
 ステップS208において、学習部16は、ステップS206で生成された制御用学習済みモデルを制御モデル記憶部19へ格納する。
 次に、本実施形態に係る制御システム20の作用について説明する。
 学習済みモデル生成システム1によって生成された制御用学習済みモデルが、制御装置30へ入力されると、その制御用学習済みモデルは制御モデル記憶部19へ格納される。そして、制御システム20が所定の指示信号を受け付けると、制御装置30のCPU62は記憶装置66から制御プログラムを読み出して、メモリ64に展開して実行する。これにより、CPU62が制御装置30の各機能構成として機能し、図11に示す制御処理が実行される。
 ステップS300において、取得部34は、カメラ2Bによって撮像された画像データ及び双腕ロボット4Bの制御データから、双腕ロボット4Bと対象物bとの状態(yR1,yR2,yb)を取得する。
 ステップS302において、生成部36は、制御モデル記憶部32に格納されている制御用学習済みモデルを読み出す。
 ステップS304において、生成部36は、ステップS302で読み出した制御用学習済みモデルに対して、ステップS300で取得された状態(yR1,yR2,yb)を入力することにより、当該状態(yR1,yR2,yb)に応じた双腕ロボット4Bの行動(aR1,aR2)を生成する
 ステップS306において、制御部38は、ステップS304で生成された行動(aR1,aR2)を取るように、双腕ロボット4Bを制御する。
 図11に示される制御処理が繰り返され、双腕ロボット4Aに対して制御信号が繰り返し出力されることにより、対象物bに対するタスクが実行される。
 以上説明したように、本実施形態に係る学習済みモデル生成装置は、学習用の人間の動作データを含む学習用データに基づいて、ジェネレータとディスクリミネータとを含む敵対的生成ネットワークモデルを機械学習させることにより、対象となる人間の動作を表す動作データが入力されると制御対象ロボットの動作データが出力される学習済みのジェネレータを生成する。これにより、人間の動作データからロボットの動作データを簡易に生成することができる学習済みのジェネレータを得ることができる。
 また、本実施形態に係る学習済みモデル生成装置は、ダイナミクスの一貫性に関する損失関数Ldynを含む損失関数Lfullが最小になるように、学習済みのジェネレータを生成することにより、双腕ロボット4Aのダイナミクスの一貫性を考慮した動作データを生成することができる学習済みのジェネレータを得ることができる。これにより、双腕ロボット4Aのダイナミクスを無視したような動作データの生成は抑制される。
 また、本実施形態に係る学習済みモデル生成装置は、パーシャルアイデンティティマッピングに関する損失関数Lidを含む損失関数Lfullが最小になるように、学習済みのジェネレータを生成することにより、双腕ロボット4Aの現実の動きに適合するような動作データを生成することができる学習済みのジェネレータを得ることができる。これにより、双腕ロボット4Aの現実の動きを無視したような動作データの生成が抑制される。
 ダイナミクスの一貫性に関する損失関数Ldynとパーシャルアイデンティティマッピングに関する損失関数Lidとを考慮して学習済みのジェネレータを生成することにより、例えば、双腕ロボット4Aの可動域を無視した動作データの生成等が抑制される。
 また、双腕ロボット4Aのランダムな動作を表すランダムデータを学習用データに含ませることにより、制御対象ロボットはどの程度の可動域を有しているのかといった点を考慮して、学習済みのジェネレータを生成することができる。
 次に、実施例について説明する。本実施例では、提案したLfD-HRの有効性を検証するためのシミュレーションを行う。
 図12は、本実施例を説明するための図である。図12に示されるように、本実施例では、3つのシミュレーションを行う。図12に示されている「Demonstration」は、上述
した図1のデモンストレーションT1,T2に相当する。また、図12に示されている「Execution」は、上述した図2の実行フェーズEに相当する。図12(a)Dual-arm block
pushは、Robot1とRobot2とがBlockを押し出すような協調動作を対象とするものである。また、図12(b)Dual-arm peg insertionは、Robot1が把持する穴にRobot2が把持するpegを挿入するような協調動作を対象とするものである。
 図13は、本実施例の結果を表す図である。図13に示されているように、提案したLfD-HRによれば、Robot1とRobot2とが協調動作することにより目的のタスクを完遂することができている。
 なお、上記実施形態では、制御対象ロボットが双腕ロボットである場合を例に説明した
がこれに限定されるものではなく、どのようなロボットを対象としてもよい。例えば、1つの腕を有するロボットを対象としてもよい。制御対象ロボットとしては、例えば、複数の指を有するロボット等も対象になり得る。この場合には、複数の指の動きに関する動作データが生成される。
 また、上記実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した各処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、各処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
 また、上記実施形態では、各プログラムが記憶装置に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM、DVD-ROM、ブルーレイディスク、USBメモリ等の記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
(付記)
 以下、本開示の態様について付記する。
(付記1)
 学習用の人間の動作データを含む学習用データを取得する学習用取得部と、
 前記学習用取得部により取得された学習用データに基づいて、ジェネレータとディスクリミネータとを含む敵対的生成ネットワークモデルを機械学習させることにより、対象となる人間の動作を表す動作データが入力されると制御対象ロボットの動作データが出力される学習済みのジェネレータを生成する学習部と、
 を含む学習済みモデル生成装置。
(付記2)
 前記動作データは、前記制御対象ロボットの状態yと行動aとを含んで構成されており、
 前記制御対象ロボットの時刻tの状態ytと前記制御対象ロボットの時刻tの行動atとが入力されると、前記制御対象ロボットの時刻t+1の状態yt+1を出力するフォワードダイナミクスモデルFと、
 前記制御対象ロボットの時刻tの状態ytと前記制御対象ロボットの時刻t+1の状態yt+1とが入力されると、前記制御対象ロボットが時刻tに取った行動atが出力されるインバースダイナミクスモデルF-1とが予め用意されており、
 前記学習部は、
 前記インバースダイナミクスモデルF-1に対して、前記ジェネレータから出力された前記制御対象ロボットの時刻tの状態yt^と時刻t+1の状態yt+1^とを入力することにより、前記制御対象ロボットが時刻tに取ったであろう行動at ~を計算し、
 前記フォワードダイナミクスモデルFに対して、前記状態yt^と前記行動at ~とを入力することにより、前記制御対象ロボットの時刻t+1の状態yt+1 ~を計算し、
 前記ジェネレータから出力された前記制御対象ロボットの時刻tの状態yt+1^と、
計算された前記制御対象ロボットの時刻t+1の状態yt+1 ~との間の差分が小さくなるように、前記ジェネレータを学習させることにより、前記学習済みのジェネレータを生成する、
 付記1に記載の学習済みモデル生成装置。
(付記3)
 前記学習用データには、学習用の制御対象ロボットの動作データxが更に含まれており、
 前記学習部は、学習用の制御対象ロボットの動作データxと、前記ジェネレータから出力された前記制御対象ロボットの状態y^との間の差分が小さくなるように、前記ジェネレータを学習させることにより、前記学習済みのジェネレータを生成する、
 付記1又は付記2に記載の学習済みモデル生成装置。
(付記4)
 前記制御対象ロボットは、少なくとも1つ以上の腕部を備えたロボットである、
 付記1~付記3の何れか1項に記載の学習済みモデル生成装置。
(付記5)
 前記制御対象ロボットは、第1腕部と第2腕部とを備える双腕ロボットであり、
 前記学習用データは、
 前記第1腕部と前記人間の腕とによる協調動作を表すデモンストレーションデータと、
 前記第2腕部と前記人間の腕とによる協調動作を表すデモンストレーションデータと、を更に含んで構成されている、
 付記4に記載の学習済みモデル生成装置。
(付記6)
 前記学習用データは、
 前記制御対象ロボットのランダムな動作を表すランダムデータと、
 前記人間のランダムな動作を表すランダムデータと、を更に含んで構成されている、
 付記1~付記3の何れか1項に記載の学習済みモデル生成装置。
(付記7)
 前記学習部は、
 前記学習済みのジェネレータに対して、対象となる人間の動作を表す対象動作データを入力することにより、前記制御対象ロボットの動作データを生成し、
 生成された前記制御対象ロボットの動作データに基づいて、前記制御対象ロボットを制御するための制御用学習済みモデルであって、前記動作データのうちの状態が入力されると、前記動作データのうちの行動を出力するための制御用学習済みモデルを生成する、
 付記1~付記3の何れか1項に記載の学習済みモデル生成装置。
(付記8)
 制御対象ロボットの状態を取得する取得部と、
 付記7に記載の学習済みモデル生成装置によって生成された前記制御用学習済みモデルに対して、前記取得部により取得された前記状態を入力することにより、前記状態に応じた前記制御対象ロボットの行動を生成する生成部と、
 前記生成部により生成された前記行動を取るように、前記制御対象ロボットを制御する制御部と、
 を備えた制御装置。
(付記9)
 学習用の人間の動作データを含む学習用データを取得し、
 取得された学習用データに基づいて、ジェネレータとディスクリミネータとを含む敵対的生成ネットワークモデルを機械学習させることにより、対象となる人間の動作を表す動作データが入力されると制御対象ロボットの動作データが出力される学習済みのジェネレータを生成する、
 処理をコンピュータが実行する学習済みモデル生成方法。
(付記10)
 学習用の人間の動作データを含む学習用データを取得し、
 取得された学習用データに基づいて、ジェネレータとディスクリミネータとを含む敵対的生成ネットワークモデルを機械学習させることにより、対象となる人間の動作を表す動作データが入力されると制御対象ロボットの動作データが出力される学習済みのジェネレータを生成する、
 処理をコンピュータに実行させるための学習済みモデル生成プログラム。
 2023年6月8日に出願された日本国特許出願2023-095038号の開示は、その全体が参照により本明細書に取り込まれる。本明細書に記載された全ての文献、特許出願、および技術規格は、個々の文献、特許出願、および技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。

Claims (10)

  1.  学習用の人間の動作データを含む学習用データを取得する学習用取得部と、
     前記学習用取得部により取得された学習用データに基づいて、ジェネレータとディスクリミネータとを含む敵対的生成ネットワークモデルを機械学習させることにより、対象となる人間の動作を表す動作データが入力されると制御対象ロボットの動作データが出力される学習済みのジェネレータを生成する学習部と、
     を含む学習済みモデル生成装置。
  2.  前記動作データは、前記制御対象ロボットの状態yと行動aとを含んで構成されており、
     前記制御対象ロボットの時刻tの状態ytと前記制御対象ロボットの時刻tの行動atとが入力されると、前記制御対象ロボットの時刻t+1の状態yt+1を出力するフォワードダイナミクスモデルFと、
     前記制御対象ロボットの時刻tの状態ytと前記制御対象ロボットの時刻t+1の状態yt+1とが入力されると、前記制御対象ロボットが時刻tに取った行動atが出力されるインバースダイナミクスモデルF-1とが予め用意されており、
     前記学習部は、
     前記インバースダイナミクスモデルF-1に対して、前記ジェネレータから出力された前記制御対象ロボットの時刻tの状態yt^と時刻t+1の状態yt+1^とを入力することにより、前記制御対象ロボットが時刻tに取ったであろう行動at ~を計算し、
     前記フォワードダイナミクスモデルFに対して、前記状態yt^と前記行動at ~とを入力することにより、前記制御対象ロボットの時刻t+1の状態yt+1 ~を計算し、
     前記ジェネレータから出力された前記制御対象ロボットの時刻tの状態yt+1^と、計算された前記制御対象ロボットの時刻t+1の状態yt+1 ~との間の差分が小さくなるように、前記ジェネレータを学習させることにより、前記学習済みのジェネレータを生成する、
     請求項1に記載の学習済みモデル生成装置。
  3.  前記学習用データには、学習用の制御対象ロボットの動作データxが更に含まれており、
     前記学習部は、学習用の制御対象ロボットの動作データxと、前記ジェネレータから出力された前記制御対象ロボットの状態y^との間の差分が小さくなるように、前記ジェネレータを学習させることにより、前記学習済みのジェネレータを生成する、
     請求項1又は請求項2に記載の学習済みモデル生成装置。
  4.  前記制御対象ロボットは、少なくとも1つ以上の腕部を備えたロボットである、
     請求項1又は請求項2に記載の学習済みモデル生成装置。
  5.  前記制御対象ロボットは、第1腕部と第2腕部とを備える双腕ロボットであり、
     前記学習用データは、
     前記第1腕部と前記人間の腕とによる協調動作を表すデモンストレーションデータと、
     前記第2腕部と前記人間の腕とによる協調動作を表すデモンストレーションデータと、を更に含んで構成されている、
     請求項4に記載の学習済みモデル生成装置。
  6.  前記学習用データは、
     前記制御対象ロボットのランダムな動作を表すランダムデータと、
     前記人間のランダムな動作を表すランダムデータと、を更に含んで構成されている、
     請求項1又は請求項2に記載の学習済みモデル生成装置。
  7.  前記学習部は、
     前記学習済みのジェネレータに対して、対象となる人間の動作を表す対象動作データを入力することにより、前記制御対象ロボットの動作データを生成し、
     生成された前記制御対象ロボットの動作データに基づいて、前記制御対象ロボットを制御するための制御用学習済みモデルであって、前記動作データのうちの状態が入力されると、前記動作データのうちの行動を出力するための制御用学習済みモデルを生成する、
     請求項1又は請求項2に記載の学習済みモデル生成装置。
  8.  制御対象ロボットの状態を取得する取得部と、
     請求項7に記載の学習済みモデル生成装置によって生成された前記制御用学習済みモデルに対して、前記取得部により取得された前記状態を入力することにより、前記状態に応じた前記制御対象ロボットの行動を生成する生成部と、
     前記生成部により生成された前記行動を取るように、前記制御対象ロボットを制御する制御部と、
     を備えた制御装置。
  9.  学習用の人間の動作データを含む学習用データを取得し、
     取得された学習用データに基づいて、ジェネレータとディスクリミネータとを含む敵対的生成ネットワークモデルを機械学習させることにより、対象となる人間の動作を表す動作データが入力されると制御対象ロボットの動作データが出力される学習済みのジェネレータを生成する、
     処理をコンピュータが実行する学習済みモデル生成方法。
  10.  学習用の人間の動作データを含む学習用データを取得し、
     取得された学習用データに基づいて、ジェネレータとディスクリミネータとを含む敵対的生成ネットワークモデルを機械学習させることにより、対象となる人間の動作を表す動作データが入力されると制御対象ロボットの動作データが出力される学習済みのジェネレータを生成する、
     処理をコンピュータに実行させるための学習済みモデル生成プログラム。
PCT/JP2024/020908 2023-06-08 2024-06-07 学習済みモデル生成装置、制御装置、学習済みモデル生成方法、及び学習済みモデル生成プログラム Ceased WO2024253192A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2023-095038 2023-06-08
JP2023095038A JP2024176483A (ja) 2023-06-08 2023-06-08 学習済みモデル生成装置、制御装置、学習済みモデル生成方法、及び学習済みモデル生成プログラム

Publications (1)

Publication Number Publication Date
WO2024253192A1 true WO2024253192A1 (ja) 2024-12-12

Family

ID=93796091

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2024/020908 Ceased WO2024253192A1 (ja) 2023-06-08 2024-06-07 学習済みモデル生成装置、制御装置、学習済みモデル生成方法、及び学習済みモデル生成プログラム

Country Status (2)

Country Link
JP (1) JP2024176483A (ja)
WO (1) WO2024253192A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7835949B1 (ja) * 2025-12-18 2026-03-25 株式会社インターネットイニシアティブ 行動生成システム、および行動生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MATSUBARA TAKAMITSU, TSURUMINE YOSHIHISA: "Generative Adversarial Imitation Learning using Dynamic Policy Programming and Its Applications", JOURNAL OF THE ROBOTICS SOCIETY OF JAPAN, vol. 38, no. 6, 15 July 2020 (2020-07-15), pages 5 - 8, XP093247847 *
NISHIMURA YUSUKE, NAKAMURA YUTAKA, ISHIGURO HIROSHI: " Human Behavior Modeling During Dialogue by Using Generative Adversarial Networks", JOURNAL OF THE ROBOTICS SOCIETY OF JAPAN, vol. 37, no. 7, 1 September 2019 (2019-09-01), pages 632 - 638, XP093247841 *

Also Published As

Publication number Publication date
JP2024176483A (ja) 2024-12-19

Similar Documents

Publication Publication Date Title
Jangir et al. Dynamic cloth manipulation with deep reinforcement learning
CN110026987B (zh) 一种机械臂抓取轨迹的生成方法、装置、设备及存储介质
US11823048B1 (en) Generating simulated training examples for training of machine learning model used for robot control
Collins et al. Quantifying the reality gap in robotic manipulation tasks
Schluse et al. Experimentable digital twins—Streamlining simulation-based systems engineering for industry 4.0
US8301421B2 (en) Automatic control system generation for robot design validation
JP5225720B2 (ja) ロボットのモーションの発生及び制御のための装置ならびに方法
Zhu et al. Diff-lfd: Contact-aware model-based learning from visual demonstration for robotic manipulation via differentiable physics-based simulation and rendering
CN110385694A (zh) 机器人的动作示教装置、机器人系统以及机器人控制装置
Fang et al. Visual-guided robotic object grasping using dual neural network controllers
CN114585487A (zh) 通过使用基于视觉的机器人任务模型训练模拟到真实模型来减轻现实差距
US12246456B2 (en) Image generation device, robot training system, image generation method, and non-transitory computer readable storage medium
CN106873550A (zh) 模拟装置以及模拟方法
Huang et al. Fungrasp: Functional grasping for diverse dexterous hands
JP2021065955A (ja) ロボット制御システム及びその制御方法及びプログラム
JP2021122899A (ja) 軌道生成装置、多リンクシステム、及び軌道生成方法
Wirnshofer et al. State estimation in contact-rich manipulation
US12333787B2 (en) Mitigating reality gap through feature-level domain adaptation in training of vision-based robot action model
JP7463946B2 (ja) 動作制御プログラム、動作制御方法、および動作制御装置
CN120163994A (zh) 用于管理机器人的状态的方法、装置、设备和介质
Yuan et al. Demograsp: Universal dexterous grasping from a single demonstration
JP2024176483A (ja) 学習済みモデル生成装置、制御装置、学習済みモデル生成方法、及び学習済みモデル生成プログラム
US20200180151A1 (en) System and method for controlling jerk associated with one or more robotic joints
Gu et al. Igen: Scalable data generation for robot learning from open-world images
JP7538756B2 (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: 24819419

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 24819419

Country of ref document: EP

Kind code of ref document: A1