WO2022013933A1 - 制御装置、制御方法及び記憶媒体 - Google Patents

制御装置、制御方法及び記憶媒体 Download PDF

Info

Publication number
WO2022013933A1
WO2022013933A1 PCT/JP2020/027311 JP2020027311W WO2022013933A1 WO 2022013933 A1 WO2022013933 A1 WO 2022013933A1 JP 2020027311 W JP2020027311 W JP 2020027311W WO 2022013933 A1 WO2022013933 A1 WO 2022013933A1
Authority
WO
WIPO (PCT)
Prior art keywords
policy
robot
operation policy
evaluation index
learning
Prior art date
Application number
PCT/JP2020/027311
Other languages
English (en)
French (fr)
Inventor
岳大 伊藤
博之 大山
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2022536009A priority Critical patent/JP7452657B2/ja
Priority to US18/015,621 priority patent/US20230241770A1/en
Priority to PCT/JP2020/027311 priority patent/WO2022013933A1/ja
Publication of WO2022013933A1 publication Critical patent/WO2022013933A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39087Artificial field potential algorithm, force repulsion from obstacle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50391Robot

Definitions

  • the present disclosure relates to a control device, a control method, and a storage medium for controlling a robot.
  • Patent Document 1 discloses a method of acquiring a robot motion by using deep reinforcement learning.
  • Patent Document 2 discloses a method of acquiring operation parameters related to leaching by learning based on an error from a target position of leaching.
  • Patent Document 3 discloses a method of acquiring a waypoint during a leaching operation by learning.
  • Patent Document 4 discloses a method of learning the operation parameters of a robot by using Bayesian optimization.
  • Patent Document 1 proposes a method for acquiring robot movements using deep learning and reinforcement learning.
  • deep learning it is necessary to repeat learning sufficiently until the parameters converge, and in reinforcement learning, the number of learnings required increases depending on the complexity of the environment.
  • reinforcement learning while operating with a real robot is not realistic from the viewpoint of learning time and the number of trials.
  • the action with the highest reward is selected based on the environmental state and the set of actions that the robot can perform at that time, so it is difficult to apply the learned policy even when the environment is different.
  • Patent Documents 2 and 3 propose a method of acquiring an motion by using learning in a limited motion such as leaching. However, the movements learned are limited and simple movements.
  • Patent Document 4 proposes a method of learning robot motion parameters using Bayesian optimization. However, it does not disclose how to make the robot learn complicated movements.
  • One of the objects of the present disclosure is to provide a control device capable of appropriately operating a robot.
  • control device An operation policy acquisition method for acquiring an operation policy related to robot operation, and an operation policy acquisition method, A policy synthesizing means that generates a control command for the robot by synthesizing at least two or more of the operation policies, and a policy synthesizing means. It is a control device having.
  • control method By computer Obtain the operation policy regarding the operation of the robot and By synthesizing at least two or more of the operation policies, a control command for the robot is generated. It is a control method.
  • the computer may be composed of a plurality of devices.
  • One aspect of the storage medium is Obtain the operation policy regarding the operation of the robot and It is a storage medium that stores a program that causes a computer to execute a process of generating a control command of the robot by synthesizing at least two or more of the operation policies.
  • the robot can be operated suitably.
  • FIG. 6 is a two-dimensional graph showing the relationship between the distance between the point of action and the position of the cylindrical object to be gripped and the state variable in the second motion policy corresponding to the opening degree of the finger. It is a plot figure of the learning target parameter set in each trial.
  • a peripheral diagram of an end effector during task execution in the third embodiment is shown. This is an example of the evaluation index designation screen displayed by the evaluation index display unit in the third embodiment.
  • the schematic block diagram of the control apparatus in 4th Embodiment is shown. This is an example of a flowchart showing a processing procedure executed by the control device in the fourth embodiment.
  • the "operation policy” is a function that generates an operation from a state. Robots are expected to play an active role in various places as a substitute for humans, and the movements that we want robots to realize are complex and diverse. However, in order to acquire a complicated operation policy, a very large number of trials are required in the current reinforcement learning. This is because we are trying to get the whole picture of the operation policy itself from the reward function and the data based on trial and error.
  • the robot can operate even if the operation policy itself is a function prepared in advance by humans.
  • the state is the target position
  • the policy function is the attraction of the hand according to the distance from the target position to the hand position.
  • Select the function that causes it and calculate the acceleration (velocity) of each joint by inverse kinematics. This makes it possible to generate joint speed or acceleration to reach the target position.
  • This can also be considered as a kind of operation policy. In this case, since the state is limited, it is not possible to exert adaptability according to the environment.
  • an operation of closing the end effector for example, an operation of changing the posture of the end effector to a desired posture, and the like can be designed in advance.
  • the operation policy is a kind of function determined by the state
  • the qualitative operation form of the operation can be changed by changing the parameters of the function. For example, even if the task of "reaching the hand to the target position" is the same, it is possible to change the speed to reach, the amount of overshoot, etc. by changing the gain, when solving inverse kinematics. By changing the weight of each joint in, it is possible to change which joint mainly operates.
  • a reward function that evaluates the behavior generated by this policy is defined, policy parameters are optimized so that the value is improved, Bayesian optimization, and an evolution strategy (ES: Evolution Strategy) algorithm that has been confirmed to work with a simulator.
  • ES Evolution Strategy
  • the applicant has found the problem and has come up with a means to solve the problem.
  • the applicant prepares an operation policy and an evaluation index that can perform a simple operation in advance by the system, synthesizes a combination thereof selected by the operator, and learns an appropriate parameter according to the situation. Propose a method to do. According to this method, it is possible to accurately generate a complicated motion and evaluate the motion result, and to make the robot easily learn the motion by the operator.
  • System configuration diagram 1 is a block diagram showing a schematic configuration of the robot system 1 according to the first embodiment.
  • the robot system 1 according to the first embodiment includes a display device 100, a robot controller 200, and robot hardware 300.
  • FIG. 1 blocks in which data or timing signals are exchanged are connected by arrows, but the combination of blocks in which data or timing signals are exchanged and the flow of data are not limited to FIG. The same applies to the figures of other functional blocks described later.
  • the display device 100 has at least a display function for presenting information to an operator (user), an input function for receiving input by the user, and a communication function with the robot controller 200.
  • the display device 100 functionally has a policy display unit 11 and an evaluation index display unit 13.
  • the policy display unit 11 accepts input specified by the user regarding information related to the robot operation policy (also referred to as "operation policy").
  • the policy display unit 11 refers to the policy storage unit 27 and displays the candidates related to the operation policy in a selectable manner.
  • the policy display unit 11 supplies information regarding the operation policy specified by the user to the policy acquisition unit 21.
  • the evaluation index display unit 13 accepts an input in which the user specifies an evaluation index for evaluating the operation of the robot.
  • the evaluation index display unit 13 refers to the evaluation index storage unit 28 and displays the candidates related to the operation policy in a selectable manner.
  • the evaluation index display unit 13 supplies information regarding the evaluation index specified by the user to the evaluation index acquisition unit 24.
  • the robot controller 200 controls the robot hardware 300 based on various information specified by the user supplied from the display device 100 and sensor information supplied from the robot hardware 300.
  • the robot controller 200 includes a policy acquisition unit 21, a parameter determination unit 22, a policy synthesis unit 23, an evaluation index acquisition unit 24, a parameter learning unit 25, a state evaluation unit 26, and a policy storage unit. 27 and.
  • the policy acquisition unit 21 acquires information on the robot operation policy specified by the user from the policy display unit 11.
  • the information about the operation policy of the robot specified by the user is the information to specify the type of operation policy, the information to specify the state variable, and the parameter to be learned among the parameters required in the operation policy (“learning target parameter”). Also called.) Contains information that specifies.
  • the parameter determination unit 22 tentatively determines the run-time value of the learning target parameter of the operation policy acquired by the policy acquisition unit 21.
  • the parameter determination unit 22 also determines the values of the operation policy parameters that need to be determined in addition to the learning target parameters.
  • the policy synthesizing unit 23 synthesizes a plurality of operation policies to generate a control command.
  • the evaluation index acquisition unit 24 acquires an evaluation index for evaluating the operation of the robot set by the user from the evaluation index display unit 13.
  • the state evaluation unit 26 includes information on the operation actually performed by the robot from the sensor information generated by the sensor 32, the value of the learning target parameter determined by the parameter determination unit 22, and the evaluation index acquired by the evaluation index acquisition unit 24. Based on the above, the movement of the robot is evaluated.
  • the parameter learning unit 25 learns the learning target parameter so that the reward value becomes high, based on the tentatively determined learning target parameter and the reward value of the robot operation.
  • the policy storage unit 27 is a memory that can be referred to by the policy display unit 11, and stores information about the operation policy required for displaying the policy display unit 11. For example, the policy storage unit 27 stores information on operation policy candidates, parameters required for each operation policy, state variable candidates, and the like.
  • the evaluation index storage unit 28 is a memory that can be referred to by the evaluation index display unit 13, and stores information about the evaluation index necessary for displaying the evaluation index display unit 13. For example, the evaluation index storage unit 28 stores candidates for evaluation indexes that can be specified by the user.
  • the robot controller 200 has various information necessary for the display by the policy display unit 11 and the evaluation index display unit 13 and the processing performed by each processing unit in the robot controller 200, in addition to the policy storage unit 27 and the evaluation index storage unit 28. Has a storage unit for storing.
  • the robot hardware 300 is hardware provided in the robot, and includes an actuator 31 and a sensor 32.
  • the actuator 31 is composed of a plurality of actuators, and operates a robot based on a control command supplied from the policy synthesis unit 23.
  • the sensor 32 senses (measures) the state of the robot and the state of the environment, and supplies the sensor information indicating the sensing result to the state evaluation unit 26.
  • the robot may be a robot arm or a humanoid robot, or may be an autonomously operating transport vehicle, a mobile robot, an autonomous vehicle, an unmanned vehicle, or a drone, an unmanned aerial vehicle, or an unmanned submarine.
  • a case where the robot is a robot arm will be described as a typical example.
  • the policy acquisition unit 21 may refer to the policy storage unit 27 and the like to control the display of the policy display unit 11.
  • the policy display unit 11 displays based on the display control signal generated by the policy acquisition unit 21.
  • the evaluation index acquisition unit 24 may control the display of the evaluation index display unit 13.
  • the evaluation index display unit 13 displays based on the display control signal generated by the evaluation index acquisition unit 24.
  • at least two display devices 100, a robot controller 200, and a robot hardware 300 may be integrally configured.
  • a sensor that performs sensing in the work space of the robot is provided in or near the work space in addition to the sensor 32 provided in the robot hardware 300, and the robot controller 200 outputs the sensor.
  • the operation of the robot may be evaluated based on the sensor information.
  • FIG. 2A is an example of the hardware configuration of the display device 100.
  • the display device 100 includes a processor 2, a memory 3, an interface 4, an input unit 8, and a display unit 9 as hardware. Each of these elements is connected via a data bus.
  • the processor 2 functions as a controller that controls the entire display device 100 by executing a program stored in the memory 3.
  • the processor 2 controls the input unit 8 and the display unit 9.
  • the processor 2 is, for example, a processor such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit).
  • the processor 5 may be composed of a plurality of processors.
  • the processor 2 functions as the policy display unit 11 and the evaluation index display unit 13 by controlling the input unit 8 and the display unit 9, for example.
  • the memory 3 is composed of various volatile memories such as RAM (Random Access Memory) and ROM (Read Only Memory) and non-volatile memory. Further, the memory 3 stores a program for executing the process executed by the display device 100. The program executed by the display device 100 may be stored in a storage medium other than the memory 3.
  • the interface 4 may be a wireless interface such as a network adapter for communicating data with another device by a line, and a hardware interface for inputting / outputting with another device.
  • the interface 4 has an input unit 8 and a display unit 9.
  • the input unit 8 generates an input signal according to the operation by the user.
  • the input unit 8 is composed of, for example, a keyboard, a mouse, buttons, a touch panel, a voice input device, a camera for gesture input, and the like.
  • the signal generated by the input unit 8 due to a predetermined action (including vocalization and gesture) such as a user operation is also referred to as “user input”.
  • the display unit 9 performs a predetermined display based on the control of the processor 2.
  • the display unit 9 is, for example, a display, a projector, or the like.
  • the hardware configuration of the display device 100 is not limited to the configuration shown in FIG. 2A.
  • the display device 100 may further include a sound output device.
  • FIG. 2B is an example of the hardware configuration of the robot controller 200.
  • the robot controller 200 includes a processor 5, a memory 6, and an interface 7 as hardware.
  • the processor 5, the memory 6, and the interface 7 are connected via a data bus.
  • the processor 5 functions as a controller that controls the entire robot controller 200 by executing a program stored in the memory 6.
  • the processor 5 is, for example, a processor such as a CPU or a GPU.
  • the processor 5 may be composed of a plurality of processors.
  • the processor 5 is an example of a computer.
  • the processor 5 may be a quantum chip.
  • the memory 6 is composed of various volatile memories such as RAM and ROM, and non-volatile memory. Further, the memory 6 stores a program for executing the process executed by the robot controller 200. The program executed by the robot controller 200 may be stored in a storage medium other than the memory 6.
  • the interface 7 is an interface for electrically connecting the robot controller 200 and other devices.
  • the interface 7 includes an interface for connecting the display device 100 and the robot controller 200, and an interface for connecting the robot controller 200 and the robot hardware 300.
  • These interfaces may be wireless interfaces such as network adapters for wirelessly transmitting and receiving data to and from other devices, and may be hardware interfaces for connecting to other devices by cables or the like.
  • the hardware configuration of the robot controller 200 is not limited to the configuration shown in FIG. 2 (B).
  • the robot controller 200 may include at least one of an input device, a voice input device, a display device, and a sound output device.
  • each component of the policy acquisition unit 21, the parameter determination unit 22, the policy synthesis unit 23, the evaluation index acquisition unit 24, the parameter learning unit 25, and the state evaluation unit 26 described with reference to FIG. 1 is programmed by, for example, the processor 5. Can be achieved by executing. Further, each component may be realized by recording a necessary program in an arbitrary non-volatile storage medium and installing it as needed. It should be noted that at least a part of each of these components is not limited to being realized by software by a program, but may be realized by any combination of hardware, firmware, and software. Further, at least a part of each of these components may be realized by using a user-programmable integrated circuit such as an FPGA (field-programmable gate array) or a microcontroller.
  • FPGA field-programmable gate array
  • this integrated circuit may be used to realize a program composed of each of the above components. Further, at least a part of each component may be configured by an ASIC (Application Specific Standard Produce) or an ASIC (Application Specific Integrated Circuit). As described above, each component may be realized by various hardware. The above is the same in other embodiments described later. Further, each of these components may be realized by the collaboration of a plurality of computers by using, for example, cloud computing technology.
  • ASIC Application Specific Standard Produce
  • ASIC Application Specific Integrated Circuit
  • FIG. 3 is an example of a flowchart showing the operation of the robot system 1 of the first embodiment.
  • the policy display unit 11 refers to the policy storage unit 27 and accepts the input of the user who specifies the operation policy suitable for the target task (step S101).
  • the policy display unit 11 refers to the policy storage unit 27, presents candidates for a plurality of operation policy types typical in a target task, and inputs an input for selecting an operation policy type to be applied from the candidates.
  • the policy display unit 11 presents candidates for the type of action policy of attraction, repulsion, or retention, and accepts an input or the like to specify a candidate to be used from among them. Details of attraction, repulsion, and retention will be described in detail in the section "(3-2) Details of Step S101 to Step S103".
  • the policy display unit 11 refers to the policy storage unit 27, and accepts an input for designating a state variable or the like in the operation policy for which the user has specified the type in step S101 (step S102). Further, the policy display unit 11 may allow the user to further specify information related to the operation policy such as the action point of the robot in addition to the state variables. Further, the policy display unit 11 selects a learning target parameter to be learned in the operation policy specified in step S101 (step S103). For example, the information of the candidate parameter selected as the learning target parameter in step S103 is associated with each operation policy type and stored in the policy storage unit 27. Therefore, for example, the policy display unit 11 accepts an input for selecting a learning target parameter from these parameters.
  • step S104 determines whether or not the designation of steps S101 to S103 is completed. Then, when the policy display unit 11 determines that the designation regarding the operation policy has been completed (step S104; Yes), that is, when it is determined that there is no additional operation policy specified by the user, the process proceeds to step S105. On the other hand, when the policy display unit 11 determines that the designation regarding the operation policy has not been completed (step S104; No), that is, when it is determined that there is an operation policy specified by an additional user, the process proceeds to step S101. return.
  • simple tasks can be executed with a single policy, but tasks with complex behavior require multiple policies to be set. Therefore, in order to set a plurality of policies, the policy display unit 11 repeatedly executes steps S101 to S103.
  • the policy acquisition unit 21 acquires information indicating the operation policy, the state variable, and the learning target parameter specified in steps S101 to S103 from the policy display unit 11 (step S105).
  • the parameter determination unit 22 determines the initial value (that is, a tentative value) of each learning target parameter of the operation policy acquired in step S105 (step S106). For example, the parameter determination unit 22 may set the initial value of each learning target parameter to a value randomly determined from the range that each of the learning target parameters can take. In another example, the parameter determination unit 22 sets the initial value of each learning target parameter to a default value preset in the system (that is, a default value stored in advance in a memory that can be referred to by the parameter determination unit 22). You may use it. Further, the parameter determination unit 22 also determines the values of the parameters of the operation policy other than the learning target parameters in the same manner.
  • the policy synthesizing unit 23 controls the robot by synthesizing the operation policy based on the operation policy and the state variable acquired in step S105 and the value of each learning target parameter determined in step S106. Generate a command (step S107). The policy synthesis unit 23 outputs the generated control command to the robot hardware 300.
  • the control command generated by using the tentative value learning target parameter actually performs a desirable operation.
  • Robots are not always possible.
  • the initial value of the learning target parameter determined in step S106 does not always maximize the reward immediately. Therefore, the robot system 1 evaluates the actual operation and updates the learning target parameter of each operation policy by executing steps S108 to S111 described later.
  • the evaluation index display unit 13 accepts the input of the user who specifies the evaluation index (step S108).
  • the process of step S108 may be performed at an arbitrary timing until step S110 is executed.
  • FIG. 3 shows, as an example, a case where the processing of step S108 is executed at a timing independent of the processing flow of steps S101 to S107.
  • the process of step S108 may be performed, for example, after the processes of steps S101 to S103 (that is, after the operation policy is determined).
  • the evaluation index acquisition unit 24 acquires the evaluation index set by the worker (step S109).
  • the state evaluation unit 26 determines the reward value for the robot operation in the tentatively determined (that is, the initial value) learning target parameter based on the sensor information generated by the sensor 32 and the evaluation index acquired in step S109. Calculate (step S110). As a result, the state evaluation unit 26 evaluates the result of the robot operating based on the control command (control input) calculated in step S107.
  • the evaluation timing in step S110 may be after a certain period of time has elapsed from the start of the robot operation, or may be a timing in which the state variable satisfies a certain condition.
  • the state evaluation unit 26 terminates the episode when the robot's minions are sufficiently close to the object, and evaluates the cumulative reward (cumulative value of the evaluation index) during the episode. May be good.
  • the state evaluation unit 26 may terminate the episode when a certain period of time elapses from the start of the operation of the robot or when a certain condition is satisfied, and evaluates the cumulative reward during the episode.
  • the parameter learning unit 25 learns the value of the learning target parameter that maximizes the reward value based on the initial value of the learning target parameter determined in step S106 and the reward value calculated in step S110 (step). S111).
  • the parameter learning unit 25 in the simplest case, searches for the learning target parameter having the maximum reward value by gradually changing each learning target parameter by grid search and obtaining a reward value (evaluation value). May be good.
  • the parameter learning unit 25 executes random sampling a certain number of times, and uses the value of the learning target parameter having the highest reward value among the reward values calculated in each sampling as the value of the new learning target parameter. You may decide.
  • the parameter learning unit 25 may use the history of the learning target parameter and its reward value to obtain the maximum learning target parameter value based on a method such as Bayesian optimization.
  • the value of the learning target parameter learned by the parameter learning unit 25 is supplied to the parameter determination unit 22, and the parameter determination unit 22 uses the value of the learning target parameter supplied from the parameter learning unit 25 as the learning target parameter. It is supplied to the policy synthesis unit 23 as an update value. Then, the policy synthesis unit 23 generates a control command based on the updated value of the learning target parameter supplied from the parameter determination unit 22, and supplies the control command to the robot hardware 300.
  • Steps S101 to S103 The details of the process of accepting information regarding the operation policy specified by the user in steps S101 to S103 of FIG. 3 will be described. First, a specific example of the operation policy will be described.
  • the "operation policy” specified in step S101 is a conversion function of an action corresponding to a certain state variable, and more specifically, a control for controlling a target state at an action point of the robot according to a certain state variable. It is a rule.
  • the "point of action” is, for example, a representative point of the end effector, a fingertip, each joint, an arbitrary point offset from the robot or the robot (not necessarily on the robot).
  • the "target state” is, for example, a position, a speed, an acceleration, a force, a posture, a distance, or the like, and may be represented by a vector.
  • the case where the target state is a position is also referred to as a “target position”.
  • the "state variable” is, for example, one of the following (A) to (C).
  • Typical examples of types of behavioral policies are attraction, repulsion, and retention.
  • "Attracting" is a policy that approaches a certain set target state. For example, when an end effector is selected as a point of action, the target state is a state in which the end effector exists at a certain position in space, and an attraction policy is set, the robot controller 200 causes the end effector to approach the target position. In addition, the movement of each joint is determined. In this case, the robot controller 200 sets, for example, a virtual spring in which a force is generated so as to approach the target position between the position of the end effector and the target position, and the velocity vector is generated by the spring force to generate reverse kinematics. By solving, the angular velocity of each joint that generates the velocity is calculated. The robot controller 200 may determine the output of each joint by a method such as RMP (Riemannian Motion Polycy), which is a similar method of inverse kinematics.
  • RMP Riemannian Motion Polycy
  • “Judicial disqualification” is a policy that keeps the position of a certain state variable, typically an obstacle, and the position of action away from each other.
  • the robot controller 200 sets a virtual repulsive force between the obstacle and the point of action, and obtains the output of the joint that realizes it by inverse kinematics. This allows the robot to move as if it were avoiding an obstacle.
  • “Holding” is a policy that sets the upper and lower limits of a certain state variable and keeps it within that range. For example, when the retention policy is set, the robot controller 200 generates a repulsive force such as a repellent at the boundary surface of the upper limit or the lower limit, so that the target state variable does not exceed the upper limit or the lower limit. You can stay within a fixed range.
  • FIG. 4 is a diagram showing an example of the surrounding environment of the robot hardware 300 assumed in the first embodiment.
  • an obstacle 44 that is an obstacle to the operation of the robot hardware 300 and an object 41 to be gripped by the robot hardware 300 are provided. Exists.
  • step S101 the policy display unit 11 accepts the input of the user who selects the type of operation policy suitable for the task from the candidates of the type of operation policy such as attraction, repellent, or retention.
  • the type of the first operation policy (first operation policy) specified in the first embodiment is assumed to be attraction.
  • the policy display unit 11 accepts an input for selecting an action point of the first operation policy.
  • the point of action 42 of the selected first operation policy is clearly indicated by a black star mark.
  • the policy display unit 11 accepts an input for selecting an end effector as an action point of the first operation policy.
  • the policy display unit 11 may display, for example, a GUI (Graphic User Interface) showing the entire image of the robot, and may accept user input for selecting an action point on the GUI.
  • the policy display unit 11 stores in advance one or a plurality of candidates for the action point of the operation policy for each type of the robot hardware 300, and determines the action point of the operation policy from the candidate based on the user input (candidates are). In the case of one, it may be selected automatically).
  • step S102 the policy display unit 11 selects a state variable associated with the operation policy specified in step S101.
  • the position of the object 41 shown in FIG. 4 (specifically, the position indicated by the black triangle mark) as the state variable (that is, the target position with respect to the point of action) associated with the attraction which is the first operation policy. Is selected. That is, in this case, the operation policy attracted to the position of the object is set in the end effector (see the black star mark 42) which is the point of action.
  • the state variable candidates may be linked to the operation policy in advance in the policy storage unit 27 or the like.
  • the policy display unit 11 accepts an input for selecting a learning target parameter (specifically, the type of learning target parameter, not the value itself) in the operation policy specified in step S101.
  • the policy display unit 11 refers to the policy storage unit 27 and displays the parameters associated with the operation policy specified in step S101 so as to be selectable as candidates for the learning target parameters.
  • the gain of the attraction policy (corresponding to the spring constant of the virtual spring) is selected as the learning target parameter in the first operation policy. Since the method of convergence to the target position is determined by the value of the gain of the attraction policy, this gain needs to be set appropriately.
  • Another example of the parameter to be learned is the offset to the target position.
  • the learning target parameter may be a parameter that determines a metric or the like. Further, when the operation policy is implemented with a virtual potential by the potential method or the like, the learning target parameter may be a parameter of the potential function.
  • the policy display unit 11 may accept an input for selecting a state variable to be a learning target parameter from the state variables associated with the operation policy. In this case, the policy display unit 11 notifies the policy acquisition unit 21 of the state variable specified by the user input as a learning target parameter.
  • the policy display unit 11 repeats steps S101 to S103.
  • repulsion is set as the type of the second operation policy (second operation policy).
  • the policy display unit 11 accepts an input for designating a repellent as the type of operation policy, and serves as a robot action point 43, for example, the root position of the end effector of the robot arm (that is, FIG. 4). Accepts input to specify the position indicated by the white star mark).
  • the policy display unit 11 accepts an input for designating the position of the obstacle 44 (that is, the position indicated by the white triangle mark) as a state variable, and avoids the designated position of the obstacle 44.
  • the robot controller 200 determines the output of each joint by inverse kinematics or the like, and the robot hardware 300 is operated so that the root of the end effector avoids the obstacle 44. It is possible to generate a control command to operate.
  • the policy display unit 11 accepts an input for selecting a coefficient of repulsive force as a learning target parameter for the second operation policy. The coefficient of repulsive force determines how far the robot avoids the obstacle 44.
  • the robot controller 200 After setting all the operation policies, the user selects, for example, the setting completion button displayed by the policy display unit 11.
  • the robot controller 200 receives a notification from the policy display unit 11 that the setting completion button has been selected, determines that the designation regarding the operation policy has been completed in step S104, and proceeds to step S105.
  • FIG. 5 is an example of an operation policy designation screen displayed by the policy display unit 11 in the first embodiment based on steps S101 to S103.
  • the operation policy specification screen has an operation policy type specification field 50, an action point / state variable specification field 51, a learning target parameter specification field 52, an additional operation policy specification button 53, and an operation policy specification completion button 54.
  • the operation policy type designation field 50 is a selection field for the type of operation policy, and here, as an example, it is in the pull-down menu format.
  • the action point / state variable designation field 51 for example, computer graphics composed of an image of the task environment or sensor information of the sensor 32 are displayed.
  • the policy display unit 11 recognizes, for example, the position or the vicinity position of the robot hardware 300 corresponding to the pixel designated by the click operation in the action point / state variable designation field 51 as the action point. Further, the policy display unit 11 further accepts the designation of the target state of the action point by, for example, a drag-and-drop operation of the designated action point.
  • the policy display unit 11 may determine the information to be specified by the user in the action point / state variable designation field 51 according to the selection content in the operation policy type designation field 50.
  • the learning target parameter specification field 52 is a learning target parameter selection field for the target operation policy, and is in the form of a pull-down menu. A plurality of learning target parameter designation fields 52 are provided, and a plurality of learning target parameters can be designated.
  • the additional operation policy specification button 53 is a button for designating an additional operation policy, and when the policy display unit 11 detects that the additional operation policy specification button 53 is selected, the specification is completed in step S104. A new operation policy specification screen for specifying an additional operation policy is displayed.
  • the operation policy specification completion button 54 is a button for notifying the completion of the operation policy specification. When the policy display unit 11 detects that the operation policy specification completion button 54 has been selected, it determines that the specification has been completed in step S104, and proceeds to step S105. After that, the user performs an operation of designating the evaluation index.
  • Step S107 the generation of a control command to the robot hardware 300 by the policy synthesizing unit 23 will be supplementarily described.
  • the policy synthesizer 23 calculates the output of each joint in each motion policy for each control cycle, and the output calculated in each joint. Calculate the linear sum.
  • the policy synthesizing unit 23 can generate a control command for causing the robot hardware 300 to execute an operation as if each operation policy was synthesized. For example, in the example of FIG. 4, as the first operation policy, an operation policy in which the end effector is attracted to the position of the object 41 is specified, and as the second operation policy, repellent to the obstacle 44 at the root position of the end effector is specified.
  • the operation policy shown is set.
  • the policy synthesizing unit 23 calculates the output of each joint based on the first motion policy and the second motion policy for each control cycle, and calculates the linear sum of the outputs calculated in each joint.
  • the policy synthesis unit 23 can suitably generate a control command for instructing the robot hardware 300 to perform a synthesis operation such that the end effector approaches the object 41 and avoids the obstacle 44.
  • each operation policy may be implemented by, for example, the potential method.
  • the potential method for example, synthesis is possible by adding the values of the respective potential functions at the points of action.
  • each behavior policy may be implemented by RMP.
  • each operation policy has a virtual force in a certain task space and a Lehman metric that acts like a weight in which direction they act when added to other operation policies. Is set. Therefore, in the case of RMP, it is possible to flexibly set how each operation policy is added when synthesizing the operation policy.
  • the policy synthesis unit 23 calculates the control command for moving the robot arm.
  • the calculation of the joint output in each motion policy requires information on the position of the object 41, the position of the point of action, and the position of the joint of the robot hardware 300.
  • the state evaluation unit 26 recognizes these information based on the sensor information supplied from the sensor 32, and supplies the information to the policy synthesis unit 23, for example. For example, even if an AR marker or the like is attached to the object 41 and the state evaluation unit 26 measures the position of the object 41 based on an image taken by a sensor 32 included in robot hardware such as a camera. good.
  • the state evaluation unit 26 may use a recognition engine such as deep learning to infer the position of the object 41 from an image or the like taken by the robot hardware 300 by the sensor 32 without a marker.
  • the state evaluation unit 26 may calculate the position and joint position of the end effector of the robot hardware 300 from each joint angle and the geometric model of the robot by forward kinematics.
  • step S108 the evaluation index display unit 13 receives from the user the designation of the evaluation index for evaluating the task.
  • the evaluation index for evaluating the task.
  • An evaluation index is specified so that the faster the hand speed, the higher the reward.
  • the evaluation index display unit 13 accepts the input of the user who additionally sets the evaluation index from which the reward value is subtracted when the robot hardware 300 comes into contact with the obstacle 44.
  • the robot's minions reach the object as soon as possible, and the reward value for the motion that does not hit the obstacle is maximized.
  • an evaluation index that minimizes the jerk of each joint, an evaluation index that minimizes energy, an evaluation index that minimizes the sum of squares of the control input and the error, and the like are selected in step S108. May be good.
  • the evaluation index display unit 13 may store information indicating candidates for these evaluation indexes in advance, and may present the candidates for the evaluation index so that the user can select them by referring to the information. Then, the evaluation index display unit 13 detects that the user has selected all the evaluation indexes by selecting, for example, a completion button on the screen.
  • FIG. 6 is an example of the evaluation index designation screen displayed by the evaluation index display unit 13 in step S108.
  • the evaluation index display unit 13 displays a plurality of selection fields related to the evaluation index for each operation policy designated by the user on the evaluation index designation screen.
  • the speed of the robot's hand refers to an evaluation index in which the faster the speed of the hand of the robot hardware 300, the higher the reward
  • "avoidance of contact with obstacles” refers to the robot on the obstacle 44. It refers to an evaluation index from which the reward value is subtracted when the hardware 300 comes into contact with it.
  • "minimizing jerk of each joint” refers to an evaluation index that minimizes jerk of each joint. Then, when the evaluation index display unit 13 detects that the designation completion button 57 has been selected, the process of step S108 ends.
  • a complex operation can be generated by a combination of simple operations, and the operation can be evaluated by an evaluation index to enable the robot to execute a task. Can be easily learned and acquired.
  • reinforcement learning using an actual machine requires a very large number of trials, and it takes a very large amount of time to acquire an operation.
  • the actual machine itself has disadvantages such as heat generation of the actuator and wear of joints due to many repetitive movements.
  • the existing reinforcement learning method performs actions by trial and error so that various actions can be realized, that is, what kind of action is performed when the action is acquired is hardly determined in advance.
  • a skilled robot engineer adjusts the waypoints of the robot one by one over time, so the engineering man-hours are extremely high.
  • the human being sets the operation policy, etc., which can be easily set, and the system adjusts to a suitable parameter. Therefore, it is possible to reduce the engineering man-hours even for relatively complicated operations.
  • the robot system 1 can create an operation close to a desired operation by the user selecting a plurality of operations from a plurality of predetermined operations. In this case, it is possible to generate an operation in which a plurality of operations are combined regardless of specific conditions. Further, in this case, it is not necessary to prepare a learning device for each condition, and it is easy to reuse and combine certain parameterized operations. Furthermore, by explicitly specifying the parameters to be learned (learning target parameters) during learning, the learning space is limited and the learning speed is increased, and the operation after synthesis can also be learned at high speed. ..
  • the policy acquisition unit 21 or the evaluation index acquisition unit 24 acquires information from the policy storage unit 27 or the evaluation index storage unit 28 with respect to predetermined information.
  • the evaluation index acquisition unit 24 refers to the evaluation index information
  • the policy acquisition unit 21 refers to the evaluation index information.
  • the evaluation index may be automatically set according to the acquired operation policy. Even in this case, the robot system 1 can synthesize an operation policy to generate a control command, evaluate the operation, and update the learning target parameter. This modification is also suitably applied to the second to third embodiments described later.
  • FIGS. 7A and 7 (B) show peripheral views of the end effector in the second embodiment.
  • the representative point 45 of the end effector set as the action point is indicated by the black star mark.
  • the cylindrical object 46 is an object to be grasped by the robot.
  • the type of the first operation policy in the second embodiment is attraction, the representative point of the end effector is set as the action point, and the position of the cylindrical object 46 (see the black triangle mark) is set as the target state of the state variable.
  • the policy display unit 11 recognizes these setting information based on the information input by the user by the GUI, as in the first embodiment.
  • the type of the second operation policy in the second embodiment is attraction
  • the fingertip of the end effector is set as the action point
  • the opening degree of the finger is set as a state variable
  • the finger is closed (that is, the opening degree is closed).
  • the target state is the state (which becomes 0).
  • the policy display unit 11 further accepts the specification of the operation policy and the specification of the condition for applying the specified operation policy (also referred to as "operation policy application condition"). Then, the robot controller 200 switches the operation policy according to the designated operation policy application condition. For example, as a state variable of the operation policy application condition, the distance between the action point corresponding to the representative point of the end effector and the position of the cylindrical object 46 to be gripped is set. When this distance becomes a certain value or less, in the second operation policy, the target state is set to the state in which the robot's finger is closed, and in other cases, the target state is set to the open state.
  • FIG. 8 is a two-dimensional graph showing the relationship between the distance “x” between the point of action and the position of the cylindrical object 46 to be gripped and the state variable “f” in the second motion policy corresponding to the opening degree of the finger. ..
  • the distance x is larger than the predetermined threshold value “ ⁇ ”
  • the value indicating the state in which the robot's finger is open becomes the target state of the state variable f
  • the distance x is equal to or less than the threshold value ⁇
  • the value representing the state in which the finger is closed is the target state of the state variable f.
  • the robot controller 200 may smoothly switch the target state according to the sigmoid function as shown in FIG. 8, or may switch like a step function.
  • a target state is set so that the posture of the end effector is vertically downward.
  • the end effector is in a posture of gripping the cylindrical object 46 to be gripped from above.
  • the robot controller 200 preferably uses the robot hardware 300 to make the cylindrical object 46 suitable. It can be gripped. Specifically, when the representative point of the end effector, which is the point of action, approaches the cylindrical object 46 to be gripped from above with the finger open, and the representative point of the end effector is sufficiently close to the position of the cylindrical object 46. In addition, the robot hardware 300 closes the finger and grips the cylindrical object 46.
  • a fourth operation policy for controlling the rotation direction (rotation angle) 47 of the posture of the end effector is set.
  • the robot hardware 300 approaches the cylindrical object 46 at an appropriate rotation direction angle by associating the posture state of the cylindrical object 46 with this fourth motion policy. ..
  • the policy display unit 11 accepts an input for setting the rotation direction 47 that determines the posture of the end effector as a learning target parameter. Further, in order to lift the cylindrical object 46, the policy display unit 11 sets the operation policy application condition that the finger is closed in the first operation policy based on the input of the user, and sets the target position of the cylindrical object 46. Instead of the position, it is set to a position provided with an offset of a predetermined distance upward (z direction) with respect to the position where the cylindrical object 46 was originally located. According to this operation policy application condition, it is possible to lift the cylindrical object 46 after grasping the cylindrical object 46.
  • the evaluation index display unit 13 sets, for example, an evaluation index that gives a high reward when the cylindrical object 46, which is an object, is lifted, based on the input of the user, as the evaluation index of the robot movement.
  • the evaluation index display unit 13 displays an image (including computer graphics) showing the periphery of the robot hardware 300, and accepts input from a user who specifies the position of the cylindrical object 46 as a state variable on the image. .. Then, the evaluation index display unit 13 sets an evaluation index so as to be evaluated when the z coordinate (height coordinate) of the position of the cylindrical object 46 designated by the user input exceeds a predetermined threshold value.
  • a sensor 32 for detecting an object is provided at the fingertip of the robot, and when the finger is closed, if there is an object between the fingers, the sensor 32 can detect the object.
  • the evaluation index is set so as to give a high reward when an object can be detected between the fingers.
  • an evaluation index that minimizes the jerk of each joint, an evaluation index that minimizes energy, an evaluation index that minimizes the sum of squares of the control input and the error, and the like may be selected.
  • the parameter determination unit 22 tentatively determines the value of the rotation direction 47, which is the learning target parameter of the fourth operation policy.
  • the policy synthesizing unit 23 generates a control command by synthesizing the fourth operation policy from the first operation policy. Based on this control command, the robot hardware 300 approached the cylindrical object 46 whose representative point of the end effector is the object to be gripped from above with the finger open, maintained a certain rotation direction, and sufficiently approached the cylindrical object 46. Occasionally, the action of closing the finger is performed.
  • the parameter tentatively determined by the parameter determination unit 22 (that is, the initial value of the learning target parameter) is not always an appropriate parameter. Therefore, it is conceivable that the cylindrical object 46 cannot be grasped within a predetermined time, or that the fingertip is touched but dropped before being lifted to a certain height.
  • the parameter learning unit 25 repeats trial and error until the reward becomes a value while changing the rotation direction 47, which is the learning target parameter, in various ways.
  • the rotation direction 47 of the posture of the end effector as another learning target parameter, the end used for determining the operation application condition for switching between the closing operation and the opening operation of the second operation policy shown above.
  • a threshold value for the distance between the effector and the target object may be specified.
  • the learning target parameter regarding the rotation direction 47 of the fourth operation policy and the learning target parameter regarding the threshold value of the distance between the end effector and the target object in the second operation policy are set to " ⁇ 1" and " ⁇ 2", respectively.
  • the parameter determination unit 22 provisionally determines the value of each parameter, and then the robot hardware 300 executes the operation based on the control command generated by the policy synthesis unit 23. Then, the state evaluation unit 26 evaluates the motion based on the sensor information generated by the sensor 32 that senses the motion, and calculates the reward value for each episode.
  • FIG. 9 is a plot diagram of the learning target parameters ⁇ 1 and ⁇ 2 set in each trial.
  • the black star mark indicates a set of the final learning target parameters ⁇ 1 and ⁇ 2.
  • the parameter learning unit 25 learns a set of values of the learning target parameters ⁇ 1 and ⁇ 2 so that the reward value is the highest in the parameter space.
  • the parameter learning unit 25 may search for the learning target parameter having the maximum reward value by changing each learning target parameter by grid search and obtaining the reward value in the simplest way.
  • the parameter learning unit 25 executes random sampling a certain number of times, and uses the value of the learning target parameter having the highest reward value among the reward values calculated in each sampling as the value of the new learning target parameter. You may decide.
  • the parameter learning unit 25 may use the history of the learning target parameter and its reward value to obtain the maximum learning target parameter value based on a method such as Bayesian optimization.
  • the learning target parameters of the motion policy that can execute the task to the robot by generating complex motions by combining simple motions and evaluating the motions by the evaluation index. Can be easily learned and acquired.
  • the robot system 1 according to the third embodiment is different from the first and second embodiments in that evaluation indexes corresponding to each of a plurality of operation policies are set and each learning parameter is independently learned. That is, the robot system 1 according to the first and second embodiments synthesizes a plurality of motion policies, evaluates the synthesized motion, and learns the learning target parameters of the plurality of motion policies. On the other hand, the robot system 1 according to the third embodiment sets an evaluation index corresponding to each of the plurality of operation policies, and independently learns each learning target parameter.
  • the same components as those of the first embodiment or the second embodiment are appropriately designated by the same reference numerals, and the description of the common parts thereof will be omitted.
  • FIG. 10 shows a peripheral view of the end effector during task execution in the third embodiment.
  • FIG. 10 shows how the task of arranging the block 48 held by the robot hardware 300 on the elongated quadrangular prism 49 is executed.
  • the square pillar 49 is not fixed, and if the block 48 is not properly placed on the square pillar 49, the square pillar 49 will fall down.
  • the type of the first operation policy in the third embodiment is attraction
  • the representative point of the end effector (see the black star mark) is set as the action point
  • the representative point of the square pillar 49 (black triangle) is set as the target position. See mark) is set.
  • the learning target parameter in the first operation policy is the gain of the attraction policy (corresponding to the spring constant of the virtual spring). The value of this gain determines how to converge to the target position. If the gain is set to a large value, the point of action will reach the target position quickly, but since the square pillar 49 will be knocked down by force, this gain needs to be set appropriately.
  • the evaluation index display unit 13 uses the user input as an evaluation index, and the faster the arrival speed to the target position is, the higher the reward is. , Set an evaluation index so that you will not get a reward if you defeat it. It should be noted that preventing the square pillar 49 from being tilted may be guaranteed as a constraint condition when generating a control command.
  • the evaluation index display unit 13 is based on user input, an evaluation index that minimizes the jerk of each joint, an evaluation index that minimizes energy, and an evaluation that minimizes the sum of squares of control input and error. An index or the like may be set.
  • the policy display unit 11 sets a parameter for controlling the finger force of the end effector as a learning target parameter based on the user input.
  • a parameter for controlling the finger force of the end effector as a learning target parameter based on the user input.
  • an object that is, a block 48
  • an unstable base that is, a quadrangular prism 49
  • the effector grips the block 48 with a force that does not drop it.
  • the parameter of the finger force of the end effector is the learning target parameter.
  • the evaluation index display unit 13 is based on the user input, and the weaker the end effector's holding power is, the higher the reward is, and if the end effector is dropped in the middle, the reward is not received. Set the evaluation index. It should be noted that not to drop an object in the middle may be guaranteed as a constraint condition when generating a control command.
  • FIG. 11 is an example of the evaluation index designation screen displayed by the evaluation index display unit 13 in the third embodiment.
  • the evaluation index display unit 13 accepts the designation of the evaluation index for the first operation policy and the second operation policy set by the policy display unit 11.
  • the evaluation index display unit 13 is for the user to specify a plurality of first evaluation index selection fields 58 for the user to specify the evaluation index for the first operation policy and the evaluation index for the second operation policy.
  • a plurality of second evaluation index selection fields 59 are provided on the evaluation index designation screen.
  • the first evaluation index selection column 58 and the second evaluation index selection column 59 are, as an example, pull-down menu format selection columns.
  • the "reaching speed to the target position" represents an evaluation index in which the faster the reaching speed to the target position, the higher the reward.
  • the "holding force of the end effector” represents an evaluation index in which the weaker the force of the end effector holding the object is, the higher the reward is.
  • the evaluation index display unit 13 preferably determines the evaluation index for each set operation policy based on the user input.
  • the policy synthesizing unit 23 synthesizes the set operation policies (here, the first operation policy and the second operation policy), and generates a control command for controlling the robot hardware 300 so that the operation policy is synthesized. do. Then, the state evaluation unit 26 evaluates each operation policy based on the sensor information generated by the sensor 32 with an evaluation index different for each operation policy, and calculates a reward value for each operation policy. Then, the parameter learning unit 25 corrects the value of each learning target parameter of the operation policy based on the reward value for each operation policy.
  • FIG. 12A is a graph showing the relationship between the learning target parameter “ ⁇ 3” of the first operation policy and the reward value “R1” for the first operation policy in the third embodiment.
  • FIG. 12B is a graph showing the relationship between the learning target parameter “ ⁇ 4” of the second operation policy and the reward value “R2” for the second operation policy in the third embodiment.
  • the black star marks in FIGS. 12A and 12B indicate the values of the learning target parameters finally obtained by learning.
  • the parameter learning unit 25 optimizes the learning target parameters independently for each operation policy, and updates the values of the learning target parameters. In this way, the parameter learning unit 25 optimizes the plurality of learning target parameters corresponding to the plurality of operation policies by using one reward value (see FIG. 9), but instead of optimizing the plurality of operation policies, respectively. Optimization is performed by setting a reward value for each of the corresponding learning target parameters.
  • an operation policy capable of executing a task to the robot by generating a complicated operation by a combination of simple operations and further evaluating the operation for each operation policy by an evaluation index. You can easily learn and acquire the learning target parameters of.
  • FIG. 13 shows a schematic configuration diagram of the control device 200X according to the fourth embodiment.
  • the control device 200X functionally includes an operation policy acquisition unit 21X and a policy synthesis unit 23X.
  • the control device 200X can be, for example, the robot controller 200 according to the first to third embodiments. Further, the control device 200X may further have at least a part of the functions of the display device 100 in addition to the robot controller 200. Further, the control device 200X may be composed of a plurality of devices.
  • the operation policy acquisition means 21X acquires an operation policy related to the operation of the robot.
  • the operation policy acquisition means 21X can be, for example, the policy acquisition unit 21 in the first to third embodiments. Further, the operation policy acquisition means 21X may acquire the operation policy by performing the control executed by the policy display unit 11 in the first to third embodiments and receiving the user input for designating the operation policy. ..
  • the policy synthesizing means 23X generates a robot control command by synthesizing at least two or more operation policies.
  • the policy synthesizing means 23X can be, for example, the policy synthesizing unit 23 in the first to third embodiments.
  • FIG. 14 is an example of a flowchart showing a processing procedure executed by the control device 200X in the fourth embodiment.
  • the operation policy acquisition means 21X acquires an operation policy related to the operation of the robot (step S201).
  • the policy synthesizing means 23X generates a robot control command by synthesizing at least two or more operation policies (step S202).
  • control device 200X can synthesize two or more operation policies acquired for the robot to be controlled, and can suitably generate a control command for operating the robot.
  • Non-temporary computer-readable media include various types of tangible storage media.
  • Examples of non-temporary computer-readable media include magnetic storage media (eg flexible disks, magnetic tapes, hard disk drives), optomagnetic storage media (eg optomagnetic disks), CD-ROMs (ReadOnlyMemory), CD-Rs, Includes CD-R / W, semiconductor memory (eg, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (RandomAccessMemory)).
  • the program may also be supplied to the computer by various types of transient computer readable medium.
  • Examples of temporary computer readable media include electrical, optical, and electromagnetic waves.
  • the temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
  • Appendix 1 An operation policy acquisition method for acquiring an operation policy related to robot operation, and an operation policy acquisition method, A policy synthesizing means that generates a control command for the robot by synthesizing at least two or more of the operation policies, and a policy synthesizing means.
  • Control device with.
  • Appendix 2 A state evaluation means for evaluating the operation of the robot based on the control command, and a state evaluation means. Based on the evaluation, a parameter learning means for updating the value of the learning target parameter, which is the learning target parameter in the operation policy, and the parameter learning means.
  • the control device according to Appendix 3 The control device according to Appendix 3, wherein the evaluation index acquisition means acquires an evaluation index for each operation policy.
  • the state evaluation means performs the evaluation for each operation policy based on the evaluation index for each operation policy.
  • the control device according to any one of Supplementary note 2 to 4, wherein the parameter learning means learns the learning target parameter for each operation policy based on the evaluation for each operation policy.
  • the operation policy acquisition means acquires a learning target parameter selected based on user input from the learning target parameter candidates, and obtains the learning target parameter.
  • the operation policy is a control rule that controls a target state at the point of action of the robot according to a state variable.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

制御装置200Xは、機能的には、動作ポリシー取得手段21Xと、ポリシー合成手段23Xとを有する。動作ポリシー取得手段21Xは、ロボットの動作に関する動作ポリシーを取得する。ポリシー合成手段23Xは、少なくとも2つ以上の動作ポリシーを合成することで、ロボットの制御指令を生成する。

Description

制御装置、制御方法及び記憶媒体
 本開示は、ロボットに関する制御を行う制御装置、制御方法及び記憶媒体に関する。
 労働人口の減少などから、様々な領域にロボットの応用が期待されている。すでに、重量物のハンドリングなどが必要な物流業や、単純作業が繰り返される食品工場などではピックアンドプレイスが可能なロボットマニュピュレータによる人手労働の代替が試みられている。しかしながら、現在のロボットは与えられた動作を正確に繰り返すことに特化しており、不定形物体の複雑なハンドリングや、狭い作業空間内での労働者の干渉など動的な障害物が多い環境では定型的な動作設定が困難である。したがって、労働者不足が叫ばれているにもかかわらず飲食店や、スーパーマーケット等ロボットの導入には至っていない。
 そのような複雑な状況にも対応できるロボットを開発するため、ロボット自身に環境の制約や、その場での適した動作について学習させる手法が提案されている。特許文献1には、深層強化学習を用いた、ロボットの動作の獲得方法が開示されている。特許文献2には、リーチングの目標位置との誤差をもとに、リーチングにかかわる動作パラメータを学習によって獲得する手法が開示されている。特許文献3には、リーチング動作の際の経由点を学習によって獲得する手法が開示されている。また、特許文献4には、ベイズ最適化を用いてロボットの動作パラメータを学習する手法が開示されている。
特表2019-529135号公報 特開2020-44590号公報 特開2020-28950号公報 特表2019-111604号公報
 特許文献1では、深層学習や強化学習を用いたロボットの動作の獲得方法が提案されている。しかしながら、一般的に深層学習ではパラメータの収束まで、十分多くの学習を繰り返す必要があり、また強化学習においても、環境の複雑さに応じて必要となる学習回数は多くなる。特に、実ロボットで動作させながらの強化学習に関しては、学習時間及びトライアル回数の観点から現実的ではない。また、強化学習においては、環境状態と、その時のロボットが可能なアクションのセットに基づき、報酬が最も高くなるアクションを選ぶため、学習したポリシーを,環境が異なる場合にも応用することが困難であるという問題点がある。したがって、実環境においてロボットが自律的に適応的な動作を行うためには、学習時間の低減と、汎用的な動作の獲得が求められる。
 特許文献2、3においては、リーチングなど限定された動作において、学習を用いて動作を獲得する手法が提案されている。しかしながら、学習される動作は、限定された単純な動作となっている。特許文献4においては、ベイズ最適化を用いてロボットの動作パラメータを学習する手法が提案されている。しかしながら、複雑な動作をロボットに学習させる方法については開示していない。
 本開示の目的の1つは、ロボットを好適に動作させることができる制御装置を提供することである。
 制御装置の一の態様は、
 ロボットの動作に関する動作ポリシーを取得する動作ポリシー取得手段と、
 少なくとも2つ以上の前記動作ポリシーを合成することで、前記ロボットの制御指令を生成するポリシー合成手段と、
を有する制御装置である。
 制御方法の一の態様は、
 コンピュータにより、
 ロボットの動作に関する動作ポリシーを取得し、
 少なくとも2つ以上の前記動作ポリシーを合成することで、前記ロボットの制御指令を生成する、
制御方法である。なお、コンピュータは、複数の装置から構成されてもよい。
 記憶媒体の一の態様は、
 ロボットの動作に関する動作ポリシーを取得し、
 少なくとも2つ以上の前記動作ポリシーを合成することで、前記ロボットの制御指令を生成する処理をコンピュータに実行させるプログラムを格納した記憶媒体である。
 本開示によれば、ロボットを好適に動作させることができる。
第1実施形態に係るロボットシステムの概略的な構成を示したブロック図である。 (A)表示装置のハードウェア構成の一例である。(B)ロボットコントローラのハードウェア構成の一例である。 第1実施形態のロボットシステムの動作を示したフローチャートの一例である。 ロボットハードウェアの周辺環境の一例を示す図である。 第1実施形態においてポリシー表示部が表示する動作ポリシー指定画面の一例である。 第1実施形態において評価指標表示部が表示する評価指標指定画面の一例である。 (A)第2実施形態におけるエンドエフェクタの第1の周辺図を示す。(B)第2実施形態におけるエンドエフェクタの第2の周辺図を示す。 作用点と把持対象の円柱物体の位置との距離と、指の開度に相当する第2動作ポリシーにおける状態変数との関係を示す2次元グラフである。 各試行において設定された学習対象パラメータのプロット図である。 第3実施形態においてタスク実行中のエンドエフェクタの周辺図を示す。 第3実施形態において評価指標表示部が表示する評価指標指定画面の一例である。 (A)第3実施形態において、第1動作ポリシーの学習対象パラメータと第1動作ポリシーに対する報酬値との関係を示すグラフである。(B)第3実施形態において、第2動作ポリシーの学習対象パラメータと第2動作ポリシーに対する報酬値との関係を示すグラフである。 第4実施形態における制御装置の概略構成図を示す。 第4実施形態において制御装置が実行する処理手順を示すフローチャートの一例である。
 <課題の説明>
 まず、本開示の内容理解を容易にするため、本開示において解決しようとする課題を詳細に説明する。
 環境に合わせて、適応的な動作を獲得するためには、実際に動いてみた結果を評価し動作を改善していく強化学習的なアプローチが有望である。ここで「動作ポリシー」とは、状態から動作を生成する関数である。ロボットは人間の代替として、様々な場所での活躍が期待されており、ロボットに実現してほしい動作は複雑で多岐にわたる。しかしながら、複雑な動作ポリシーを獲得するためには、現状の強化学習では非常に多くの試行回数が必要となる。それは動作ポリシー自体の全体像を、報酬関数と、試行錯誤に基づくデータから獲得しようとしているためである。
 ここで、動作ポリシー自体は、人間があらかじめ用意した関数でも、ロボットは動作することができる。たとえば、シンプルな動作ポリシーとして、「目標位置に手先を到達させる」というタスクを考えたとき、状態としては目標位置、ポリシー関数としては、目標位置から手先位置までの距離に応じた手先の引力を生じさせるような関数を選び、逆運動学で各関節の加速度(速度)を計算する。これにより、目標位置に到達する関節速度、あるいは加速度を生成することができる。これも一種の動作ポリシーと考えることができる。なお、この場合は、状態が限定されているため、環境に合わせた適応性などを発揮することができない。このような、単純なタスクであれば、例えばエンドエフェクタを閉じる動作、エンドエフェクタの姿勢を所望の姿勢にする動作などをあらかじめ設計することができる。ただし、あらかじめ規定された単純な動作ポリシー単体では、その場に合わせた複雑な動作を行うことはできない。
 また、動作ポリシーは、状態によって定まる一種の関数なので、その関数のパラメータを変化させるよって、動作の定性的な動作の形態を変化させることができる。たとえば、「目標位置に手先を到達させる」というタスクは同じであっても、ゲインを変えることで、到達する速度やオーバーシュートの量などを変化させることが可能であり、逆運動学を解くときの各関節の重みの変更によって、どの関節が主に動作するかについても変更することができる。
 ここで、このポリシーによって生成される動作を評価する報酬関数を定義し、その値が改善するようにポリシーパラメータを、ベイズ最適化や、シミュレータで動作確認した進化戦略(ES:Evolution Strategy)のアルゴリズムなどで更新すれば、環境に適したパラメータを、比較的少ない試行回数で獲得することができる。しかしながら、ある程度複雑な動作の関数の設計を作りこむのは一般的に困難であり、かつ、同一の動作が必要となることは少ない。したがって、一般の作業者が適切なポリシーや、報酬関数自体を作成するのは容易ではなく、時間的・金銭的コストがかかる。
 出願人は、係る課題を見出すとともに,係る課題を解決する手段を導出するに至った。出願人は、単純な動作を行わせることのできる動作ポリシー及び評価指標を、あらかじめシステムが用意しておき、作業者が選択したそれらの組み合わせを合成し、その場に合わせた適切なパラメータを学習する手法を提案する。この手法によれば、複雑な動作の生成及び動作結果の評価を的確に行い、かつ、作業者が容易に動作をロボットに学習させることができる。
 以降、上記の手法に関する各実施形態について,図面を参照しながら詳細に説明する.
 <第1実施形態>
 第1実施形態では、ロボットアームを用いて、対象物体(例えばブロック)を掴むことを目的タスクとするロボットシステムについて説明する。
 (1)システム構成
 図1は、第1実施形態に係るロボットシステム1の概略的な構成を示したブロック図である。第1実施形態に係るロボットシステム1は、表示装置100と、ロボットコントローラ200と、ロボットハードウェア300とを有する。なお、図1では、データ又はタイミング信号の授受が行われるブロック同士を矢印により結んでいるが、データ又はタイミング信号の授受が行われるブロックの組合せ及びデータの流れは図1に限定されない。後述する他の機能ブロックの図においても同様である。
 表示装置100は、作業者(ユーザ)に情報を提示する表示機能と、ユーザによる入力を受け付ける入力機能と、ロボットコントローラ200との通信機能とを少なくとも有する。表示装置100は、機能的には、ポリシー表示部11と、評価指標表示部13とを有する。
 ポリシー表示部11は、ロボットの動作に関するポリシー(「動作ポリシー」とも呼ぶ。)に関する情報をユーザが指定する入力を受け付ける。この場合、ポリシー表示部11は、ポリシー記憶部27を参照し、動作ポリシーに関する候補を選択可能に表示する。ポリシー表示部11は、ユーザが指定した動作ポリシーに関する情報を、ポリシー取得部21に供給する。評価指標表示部13は、ロボットの動作を評価する評価指標をユーザが指定する入力を受け付ける。この場合、評価指標表示部13は、評価指標記憶部28を参照し、動作ポリシーに関する候補を選択可能に表示する。評価指標表示部13は、ユーザが指定した評価指標に関する情報を、評価指標取得部24に供給する。
 ロボットコントローラ200は、表示装置100から供給されるユーザが指定した種々の情報と、ロボットハードウェア300から供給されるセンサ情報とに基づき、ロボットハードウェア300を制御する。ロボットコントローラ200は、機能的には、ポリシー取得部21と、パラメータ決定部22と、ポリシー合成部23と、評価指標取得部24と、パラメータ学習部25と、状態評価部26と、ポリシー記憶部27とを有する。
 ポリシー取得部21は、ユーザが指定したロボットの動作ポリシーに関する情報を、ポリシー表示部11から取得する。ユーザが指定するロボットの動作ポリシーに関する情報は、動作ポリシーの種類を指定する情報、状態変数を指定する情報、及び動作ポリシーにおいて必要とされるパラメータのうち学習対象とするパラメータ(「学習対象パラメータ」とも呼ぶ。)を指定する情報が含まれる。
 パラメータ決定部22は、ポリシー取得部21が取得した動作ポリシーの学習対象パラメータの実行時の値を仮に決定する。なお、パラメータ決定部22は、学習対象パラメータ以外に定める必要がある動作ポリシーのパラメータの値についても決定する。ポリシー合成部23は、複数の動作ポリシーを合成して制御指令を生成する。評価指標取得部24は、ユーザが設定したロボットの動作を評価する評価指標を評価指標表示部13から取得する。状態評価部26は、センサ32が生成するセンサ情報などからロボットが実際に行った動作の情報と、パラメータ決定部22が決定した学習対象パラメータの値と、評価指標取得部24が取得した評価指標とに基づき、ロボットの動作の評価を行う。パラメータ学習部25は、仮決定した学習対象パラメータとロボットの動作の報酬値とに基づき、報酬値が高くなるように学習対象パラメータを学習する。
 ポリシー記憶部27は、ポリシー表示部11が参照可能なメモリであり、ポリシー表示部11の表示に必要な動作ポリシーに関する情報を記憶する。例えば、ポリシー記憶部27は、動作ポリシーの候補、各動作ポリシーに必要とされるパラメータ、状態変数の候補等に関する情報を記憶する。評価指標記憶部28は、評価指標表示部13が参照可能なメモリであり、評価指標表示部13の表示に必要な評価指標に関する情報を記憶する。例えば、評価指標記憶部28は、ユーザが指定可能な評価指標の候補を記憶する。また、ロボットコントローラ200は、ポリシー記憶部27及び評価指標記憶部28の他、ポリシー表示部11及び評価指標表示部13による表示及びロボットコントローラ200内の各処理部が行う処理に必要な種々の情報を記憶する記憶部を有する。
 ロボットハードウェア300は、ロボットに備わるハードウェアであり、アクチュエータ31と、センサ32とを含む。アクチュエータ31は、複数のアクチュエータから構成され、ポリシー合成部23から供給される制御指令に基づき、ロボットを動作させる。センサ32は、ロボットの状態や環境の状態のセンシング(測定)を行い、センシング結果を示すセンサ情報を、状態評価部26に供給する。
 なお、ロボットは、ロボットアームあるいはヒューマノイドロボットであってもよく、自律動作する搬送車や、移動ロボット、自動運転車または,無人自動車,またはドローン,または無人飛行機,または無人潜水艦であってもよい。以後では、代表例として、ロボットがロボットアームである場合について説明する。
 以上説明した図1に示されるロボットシステム1の構成は一例であり、種々の変更が行われてもよい。例えば、ポリシー取得部21は、ポリシー記憶部27等を参照し、ポリシー表示部11に対して表示の制御を行ってもよい。この場合、ポリシー表示部11は、ポリシー取得部21が生成する表示制御信号に基づく表示を行う。同様に、評価指標取得部24は、評価指標表示部13に対して表示の制御を行ってもよい。この場合、評価指標表示部13は、評価指標取得部24が生成する表示制御信号に基づく表示を行う。他の例では、表示装置100と、ロボットコントローラ200と、ロボットハードウェア300とは、少なくとも2つが一体となって構成されてもよい。さらに別の例では、ロボットハードウェア300に備えられたセンサ32とは別にロボットの作業空間内のセンシングを行うセンサが当該作業空間内又は付近に設けられ、ロボットコントローラ200は、当該センサが出力するセンサ情報に基づきロボットの動作評価を行ってもよい。
 (2)ハードウェア構成
 図2(A)は、表示装置100のハードウェア構成の一例である。表示装置100は、ハードウェアとして、プロセッサ2と、メモリ3と、インターフェース4と、入力部8と、表示部9とを含む。これらの各要素は、データバスを介して接続されている。
 プロセッサ2は、メモリ3に記憶されているプログラムを実行することにより、表示装置100の全体の制御を行うコントローラとして機能する。例えば、プロセッサ2は、入力部8及び表示部9の制御を行う。プロセッサ2は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)などのプロセッサである。プロセッサ5は、複数のプロセッサから構成されてもよい。プロセッサ2は、例えば、入力部8及び表示部9の制御を行うことで、ポリシー表示部11及び評価指標表示部13として機能する。
 メモリ3は、RAM(Random Access Memory)、ROM(Read Only Memory)などの各種の揮発性メモリ及び不揮発性メモリにより構成される。また、メモリ3には、表示装置100が実行する処理を実行するためのプログラムが記憶される。なお、表示装置100が実行するプログラムは、メモリ3以外の記憶媒体に記憶されてもよい。
 インターフェース4は、他の装置とデータの送受信を線により通信を行うためのネットワークアダプタなどのワイアレスインタフェースと、他の装置と入出力を行うためのハードウェアインターフェースであってもよい。インターフェース4は、入力部8と、表示部9とを有する。入力部8は、ユーザによる操作に応じた入力信号を生成する。入力部8は、例えば、キーボード、マウス、ボタン、タッチパネル、音声入力装置、ジェスチャ入力用のカメラなどにより構成される。以後において、ユーザの操作などの所定の行動(発声及びジェスチャを含む)に起因して入力部8が生成する信号を、「ユーザ入力」とも呼ぶ。表示部9は、プロセッサ2の制御に基づき所定の表示を行う。表示部9は、例えば、ディスプレイ、プロジェクタなどである。
 なお、表示装置100のハードウェア構成は、図2(A)に示す構成に限定されない。例えば、表示装置100は、音出力装置をさらに含んでもよい。
 図2(B)は、ロボットコントローラ200のハードウェア構成の一例である。ロボットコントローラ200は、ハードウェアとして、プロセッサ5と、メモリ6と、インターフェース7とを含む。プロセッサ5、メモリ6及びインターフェース7は、データバスを介して接続されている。
 プロセッサ5は、メモリ6に記憶されているプログラムを実行することにより、ロボットコントローラ200の全体の制御を行うコントローラとして機能する。プロセッサ5は、例えば、CPU、GPUなどのプロセッサである。プロセッサ5は、複数のプロセッサから構成されてもよい。プロセッサ5は、コンピュータの一例である。プロセッサ5は、量子チップであってもよい。
 メモリ6は、RAM、ROMなどの各種の揮発性メモリ及び不揮発性メモリにより構成される。また、メモリ6には、ロボットコントローラ200が実行する処理を実行するためのプログラムが記憶される。なお、ロボットコントローラ200が実行するプログラムは、メモリ6以外の記憶媒体に記憶されてもよい。
 インターフェース7は、ロボットコントローラ200と他の装置とを電気的に接続するためのインターフェースである。例えば、インターフェース7は、表示装置100とロボットコントローラ200とを接続するためのインターフェース、及び、ロボットコントローラ200とロボットハードウェア300とを接続するためのインターフェースを含む。これらのインターフェースは、他の装置とデータの送受信を無線により行うためのネットワークアダプタなどのワイアレスインタフェースであってもよく、他の装置とケーブル等により接続するためのハードウェアインターフェースであってもよい。
 ロボットコントローラ200のハードウェア構成は、図2(B)に示す構成に限定されない。例えば、ロボットコントローラ200は、入力装置、音声入力装置、表示装置、音出力装置の少なくともいずれかを含んでもよい。
 ここで、図1において説明したポリシー取得部21、パラメータ決定部22、ポリシー合成部23、評価指標取得部24、パラメータ学習部25及び状態評価部26の各構成要素は、例えば、プロセッサ5がプログラムを実行することによって実現できる。また、必要なプログラムを任意の不揮発性記憶媒体に記録しておき、必要に応じてインストールすることで、各構成要素を実現するようにしてもよい。なお、これらの各構成要素の少なくとも一部は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組合せ等により実現してもよい。また、これらの各構成要素の少なくとも一部は、例えばFPGA(field-programmable gate array)又はマイクロコントローラ等の、ユーザがプログラミング可能な集積回路を用いて実現してもよい。この場合、この集積回路を用いて、上記の各構成要素から構成されるプログラムを実現してもよい。また、各構成要素の少なくとも一部は、ASSP(Application Specific Standard Produce)やASIC(Application Specific Integrated Circuit)により構成されてもよい。このように、各構成要素は、種々のハードウェアにより実現されてもよい。以上のことは、後述する他の実施の形態においても同様である。さらに、これらの各構成要素は,例えば,クラウドコンピューティング技術などを用いて、複数のコンピュータの協働によって実現されてもよい。
 (3)動作の詳細
 (3-1)動作フロー
 図3は、第1実施形態のロボットシステム1の動作を示したフローチャートの一例である。
 まず、ポリシー表示部11は、ポリシー記憶部27を参照し、目的のタスクに適した動作ポリシーを指定するユーザの入力を受け付ける(ステップS101)。例えば、ポリシー表示部11は、ポリシー記憶部27を参照し、目的のタスクにおいて典型的な複数の動作ポリシーの種類の候補を提示し、その中から適用すべき動作ポリシーの種類を選択する入力を受け付ける。例えば、ポリシー表示部11は、誘引、忌避、又は保持の動作ポリシーの種類の候補を提示し、その中から使用する候補を指定する入力等を受け付ける。誘引、忌避、及び保持の詳細については、「(3-2)ステップS101~ステップS103の詳細」のセクションで詳しく説明する。
 次に、ポリシー表示部11は、ポリシー記憶部27を参照し、ステップS101でユーザが種類を指定した動作ポリシーにおける状態変数等を指定する入力を受け付ける(ステップS102)。また、ポリシー表示部11は、状態変数の他、ロボットの作用点などの動作ポリシーに関連する情報をさらにユーザに指定させてもよい。さらに、ポリシー表示部11は、ステップS101で指定された動作ポリシーにおいて学習対象となる学習対象パラメータを選択する(ステップS103)。例えば、ステップS103において学習対象パラメータとして選択される候補となるパラメータの情報は、動作ポリシーの種類毎に関連付けられてポリシー記憶部27に記憶されている。従って、例えば、ポリシー表示部11は、これらのパラメータから、学習対象パラメータを選択する入力を受け付ける。
 次に、ポリシー表示部11は、ステップS101~ステップS103の指定が終了したか否か判定する(ステップS104)。そして、ポリシー表示部11は、動作ポリシーに関する指定が終了したと判定した場合(ステップS104;Yes)、即ち、追加でユーザが指定する動作ポリシーがないと判定した場合、ステップS105へ処理を進める。一方、ポリシー表示部11は、動作ポリシーに関する指定が終了していないと判定した場合(ステップS104;No)、即ち、追加のユーザが指定する動作ポリシーがあると判定した場合、ステップS101へ処理を戻す。一般的に、単純なタスクであれば、単一のポリシーで実行することができるが、複雑な動作を伴うタスクの場合には複数のポリシーを設定する必要がある。よって、複数のポリシーを設定するために、ポリシー表示部11は、ステップS101~ステップS103を繰り返し実行する。
 次に、ポリシー取得部21は、ステップS101~ステップS103において夫々指定された動作ポリシー、状態変数、及び学習対象パラメータを示す情報を、ポリシー表示部11から取得する(ステップS105)。
 次に、パラメータ決定部22は、ステップS105で取得された動作ポリシーのそれぞれの学習対象パラメータの初期値(即ち仮の値)を決定する(ステップS106)。例えば、パラメータ決定部22は、各学習対象パラメータの初期値を、学習対象パラメータの各々がとり得る値域からランダムに決定した値に定めてもよい。他の例では、パラメータ決定部22は、各学習対象パラメータの初期値を、システムにあらかじめ設定してある既定値(即ち、パラメータ決定部22が参照可能なメモリに予め記憶された既定値)を用いてもよい。また、パラメータ決定部22は、学習対象パラメータ以外の動作ポリシーのパラメータの値についても同様に決定する。
 次に、ポリシー合成部23は、ステップS105で取得された各動作ポリシー及び状態変数と、ステップS106で決定された各学習対象パラメータの値とに基づき、動作ポリシーを合成することで、ロボットに対する制御指令を生成する(ステップS107)。ポリシー合成部23は、生成した制御指令をロボットハードウェア300に出力する。
 ここで、ステップS106にて決定されたそれぞれの動作ポリシーに対する学習対象パラメータの値は仮の値であるので、仮の値の学習対象パラメータを用いて生成された制御指令では、実際に望ましい動作をロボットができるとは限らない。言い換えると、ステップS106で決定される学習対象パラメータの初期値では、報酬が直ちに最大となるとは限らない。そこで、ロボットシステム1は、後述するステップS108~ステップS111を実行することで、実際の動作を評価し、各動作ポリシーの学習対象パラメータを更新する。
 まず、評価指標表示部13は、評価指標を指定するユーザの入力を受け付ける(ステップS108)。なお、ステップS108の処理は、ステップS110が実行されるまでの任意のタイミングにより行われてもよい。図3は、一例として、ステップS108の処理がステップS101~ステップS107の処理フローとは独立したタイミングにより実行される場合を示している。なお、ステップS108の処理は、例えば、ステップS101~ステップS103の処理の後(即ち動作ポリシーの決定後)に行われてもよい。そして、評価指標取得部24は、作業者が設定した評価指標を取得する(ステップS109)。
 次に、状態評価部26は、センサ32が生成するセンサ情報と、ステップS109で取得した評価指標とに基づき、仮決定した(即ち初期値の)学習対象パラメータでのロボットの動作に対する報酬値を算出する(ステップS110)。これにより、状態評価部26は、ステップS107で算出された制御指令(制御入力)に基づきロボットが動作した結果を評価する。
 以後では、ロボットの動作開始からステップS110での評価タイミングまでを、「エピソード」と呼ぶ。なお、ステップS110での評価タイミングは、ロボットの動作開始から一定時間経過後であってもよく、あるいは状態変数がある条件を満たしたタイミングであってもよい。例えば、ロボットが対象物を扱うタスクの場合、状態評価部26は、ロボットの手先が対象物に十分近くなった時にエピソードを打ち切り、エピソード中の累積報酬(評価指標の累積値)を評価してもよい。他の例では、状態評価部26は、ロボットの動作開始から一定時間経過するか、ある条件を満たした場合にエピソードを打ち切り、エピソード中の累積報酬を評価してもよい。
 次に、パラメータ学習部25は、ステップS106で決定された学習対象パラメータの初期値と、ステップS110で算出した報酬値とに基づき、報酬値を最大化する学習対象パラメータの値を学習する(ステップS111)。例えば、パラメータ学習部25は、最も単純には、グリッドサーチでそれぞれの学習対象パラメータを徐変させて報酬値(評価値)を求めることで、報酬値が最大となる学習対象パラメータを探索してもよい。他の例では、パラメータ学習部25は、一定回数ランダムサンプリングを実行し、各サンプリングで算出した報酬値のうち最も報酬値が高くなった学習対象パラメータの値を、新たな学習対象パラメータの値として決定してもよい。さらに別の例では、パラメータ学習部25は、学習対象パラメータとその報酬値の履歴を用いて、ベイズ最適化などの手法に基づき、最大となる学習対象パラメータの値を求めてもよい。
 なお、パラメータ学習部25により学習された学習対象パラメータの値は、パラメータ決定部22に供給され、パラメータ決定部22は、パラメータ学習部25から供給された学習対象パラメータの値を、学習対象パラメータの更新値としてポリシー合成部23に供給する。そして、ポリシー合成部23は、パラメータ決定部22から供給された学習対象パラメータの更新値に基づき、制御指令を生成し、ロボットハードウェア300に供給する。
 (3-2)ステップS101~ステップS103の詳細
 図3のステップS101~ステップS103においてユーザが指定する動作ポリシーに関する情報の受付処理の詳細について説明する。まず、動作ポリシーに関する具体例について説明する。
 ステップS101において指定される「動作ポリシー」は、ある状態変数に応じたアクションの変換関数であり、より具体的には、ある状態変数に応じて、ロボットの作用点における、目標状態を制御する制御則である。なお、「作用点」は、例えば、エンドエフェクタの代表点、指先、各関節、ロボット上、あるいはロボット上からオフセットした任意の点(ロボット上にあるとは限らない)などである。また、「目標状態」は、例えば、位置、速度、加速度、力、姿勢、距離などであり、ベクトルにより表されてもよい。以後では、目標状態が位置である場合を特に「目標位置」とも呼ぶ。
 また、「状態変数」は、例えば、以下の(A)~(C)のいずれかである。
(A)ロボットの作業空間内にある、作用点、障害物又は操作対象物体の位置、速度、加速度、力又は姿勢の値又はベクトル
(B)ロボットの作業空間内にある、作用点、障害物又は操作対象物体の間の位置、速度、加速度、力、姿勢の差分の値又はベクトル
(C)(A)又は(B)を引き数とした関数の値又はベクトル
 動作ポリシーの種類の典型的な例は、誘引、忌避、及び保持である。「誘引」は、ある設定した目標状態に近づいていくポリシーである。例えば、作用点としてエンドエフェクタを選び、目標状態をエンドエフェクタが空間上のある位置に存在する状態とし、誘引のポリシーが設定されると、ロボットコントローラ200は、エンドエフェクタがその目標位置に近づくように、各関節の動作を決定する。この場合、ロボットコントローラ200は、例えばエンドエフェクタの位置と目標位置との間にて目標位置に近づくよう力が生じる仮想的なばねを設定し、そのばね力によって速度ベクトルを発生させ、逆運動学を解くことで、その速度を発生させる各関節の角速度を算出する。なお、ロボットコントローラ200は、逆運動学の類似の方法であるRMP(Riemannian Motion Policy)などの方法で各関節の出力を決定してもよい。
 「忌避」は、ある状態変数、典型的には障害物の位置と、作用点との位置を近づかないようにするポリシーである。例えば、ロボットコントローラ200は、忌避のポリシーが設定された場合、障害物と、作用点の間に仮想的な反発力を設定し、逆運動学によりそれを実現する関節の出力を求める。これにより、ロボットは、あたかも障害物を忌避しているような動作が可能である。
 「保持」は、ある状態変数の、上限や下限を設定し、その範囲内にとどまり続けるようなポリシーである。例えば、保持のポリシーが設定された場合、ロボットコントローラ200は、上限、あるいは下限の境界面において忌避のような反発力を発生させることで、対象の状態変数は、上限、あるいは下限を越えずに決められた範囲内にとどまり続けることができる。
 次に、ステップS101~ステップS103の処理の具体例について、図4を参照して説明する。図4は、第1実施形態において想定するロボットハードウェア300の周辺環境の一例を示す図である。第1実施形態では、図4に示すように、ロボットハードウェア300の周辺に、ロボットハードウェア300の動作にとって障害となる障害物44と、ロボットハードウェア300により把持する対象となる対象物41とが存在している。
 ステップS101では、ポリシー表示部11は、誘引、忌避、又は保持などの動作ポリシーの種類の候補から、タスクに適した動作ポリシーの種類を選択するユーザの入力を受け付ける。以後では、第1実施形態において指定された最初の動作ポリシー(第1動作ポリシー)の種類は、誘引であるとする。
 また、ステップS101では、ポリシー表示部11は、第1動作ポリシーの作用点を選択する入力を受け付ける。図4では、選択された第1動作ポリシーの作用点42を、黒星マークにより明示している。この場合、ポリシー表示部11は、第1動作ポリシーの作用点として、エンドエフェクタを選択する入力を受け付ける。この場合、ポリシー表示部11は、例えば、ロボットの全体像を示すGUI(Graphic User Interface)を表示し、GUI上で作用点を選択するユーザ入力を受け付けてもよい。なお、ポリシー表示部11は、ロボットハードウェア300の種類ごとに動作ポリシーの作用点の1又は複数の候補を予め記憶しておき、当該候補から動作ポリシーの作用点をユーザ入力に基づき(候補が1つの場合には自動的に)選択してもよい。
 ステップS102では、ポリシー表示部11は、ステップS101で指定された動作ポリシーに紐付ける状態変数を選択する。第1実施形態では、第1動作ポリシーである誘引に紐付ける状態変数(即ち、作用点に対する目標位置)として、図4に示される対象物41の位置(詳しくは、黒三角マークが示す位置)が選択されたものとする。即ち、この場合、作用点であるエンドエフェクタ(黒星マーク42参照)において、対象物の位置に誘引される動作ポリシーが設定される。なお、状態変数の候補は、ポリシー記憶部27等において、予め動作ポリシーに紐付けられていてもよい。
 ステップS103では、ポリシー表示部11は、ステップS101で指定された動作ポリシーにおける学習対象パラメータ(詳しくは値自体ではなく学習対象パラメータの種類)を選択する入力を受け付ける。例えば、ポリシー表示部11は、ポリシー記憶部27を参照し、ステップS101で指定された動作ポリシーに関連付けられたパラメータを、学習対象パラメータの候補として選択可能に表示する。第1実施形態では、第1動作ポリシーにおける学習対象パラメータとして、誘引ポリシーのゲイン(仮想的なばねのばね定数に相当)が選択される。なお、誘引ポリシーのゲインの値によって、目標位置への収束の仕方が決定されるため、このゲインは適切に設定される必要がある。学習対象パラメータの他の例は、目標位置へ対するオフセットである。動作ポリシーがRMPなどで設定されている場合には、学習対象パラメータは、メトリックを定めるパラメータなどでもよい。また、動作ポリシーがポテンシャル法などにより仮想的なポテンシャルを有して実装されている場合には、学習対象パラメータは、そのポテンシャル関数のパラメータでもよい。
 また、ポリシー表示部11は、動作ポリシーに紐付けられた状態変数の中から、学習対象パラメータとする状態変数を選択する入力を受け付けてもよい。この場合、ポリシー表示部11は、ユーザ入力により指定された状態変数を、学習対象パラメータとしてポリシー取得部21に通知する。
 また、複数の動作ポリシーを設定する場合には、ポリシー表示部11は、ステップS101~ステップS103を繰り返す。第1実施形態では、2番目に設定される動作ポリシー(第2動作ポリシー)の種類として、忌避が設定されるものとする。この場合、ポリシー表示部11は、ステップS101において、動作ポリシーの種類として忌避を指定する入力を受け付け、かつ、ロボットの作用点43として、例えばロボットアームのエンドエフェクタの根元位置(即ち、図4の白星マークが示す位置)を指定する入力を受け付ける。また、ステップS102において、ポリシー表示部11は、状態変数として、障害物44の位置(即ち、白三角マークが示す位置)を指定する入力を受け付け、指定された障害物44の位置を忌避の対象として第2動作ポリシーに紐付ける。以上のように第2動作ポリシー及び状態変数の設定を行うことで、エンドエフェクトの根元(白星マーク43参照)に障害物44からの仮想的な反発力が生じる。そして、それを満たすように、ロボットコントローラ200は、逆運動学などで各関節の出力を決定し、エンドエフェクタの根元が障害物44を避けているような動作を行うようにロボットハードウェア300を動作させる制御指令を生成することができる。また、第1実施形態では、ポリシー表示部11は、第2動作ポリシーに対する学習対象パラメータとして、反発力の係数を選択する入力を受け付ける。反発力の係数がどの程度かにより、ロボットが障害物44をどの程度の距離を避けるかが決定される。
 ユーザは、全ての動作ポリシーを設定し終わると、例えばポリシー表示部11が表示する設定完了ボタンなどを選択する。この場合、ロボットコントローラ200は、設定完了ボタンが選択された旨の通知をポリシー表示部11から受信し、ステップS104において動作ポリシーに関する指定が終了したと判断し、ステップS105へ処理を進める。
 図5は、ステップS101~ステップS103に基づき第1実施形態においてポリシー表示部11が表示する動作ポリシー指定画面の一例である。動作ポリシー指定画面は、動作ポリシー種類指定欄50と、作用点・状態変数指定欄51と、学習対象パラメータ指定欄52と、追加動作ポリシー指定ボタン53と、動作ポリシー指定完了ボタン54とを有する。
 動作ポリシー種類指定欄50は、動作ポリシーの種類の選択欄であり、ここでは一例として、プルダウンメニュー形式となっている。作用点・状態変数指定欄51には、例えば、タスクの環境を撮影した画像又はセンサ32のセンサ情報から構成したコンピュータグラフィックスが表示される。ポリシー表示部11は、例えば、作用点・状態変数指定欄51にてクリック操作により指定された画素に対応するロボットハードウェア300の位置又は近傍位置を作用点として認識する。また、ポリシー表示部11は、例えば、指定された作用点のドラッグアンドドロップ操作等により、作用点の目標状態の指定をさらに受け付ける。なお、ポリシー表示部11は、作用点・状態変数指定欄51においてユーザに指定させる情報を、動作ポリシー種類指定欄50での選択内容に応じて決定してもよい。
 学習対象パラメータ指定欄52は、対象の動作ポリシーに対する学習対象パラメータの選択欄であり、プルダウンメニュー形式となっている。学習対象パラメータ指定欄52は、複数設けられており、複数の学習対象パラメータを指定可能となっている。追加動作ポリシー指定ボタン53は、追加の動作ポリシーを指定するためのボタンであり、ポリシー表示部11は、追加動作ポリシー指定ボタン53が選択されたことを検知した場合、ステップS104において指定が完了していないと判定し、追加の動作ポリシーを指定するための動作ポリシー指定画面を新たに表示する。動作ポリシー指定完了ボタン54は、動作ポリシーの指定の完了を通知するボタンである。ポリシー表示部11は、動作ポリシー指定完了ボタン54が選択されたことを検知した場合、ステップS104において指定が完了したと判定し、ステップS105へ処理を進める。その後、ユーザは、評価指標を指定する操作を行う。
 (3-3)ステップS107の詳細
 次に、ポリシー合成部23によるロボットハードウェア300への制御指令の生成について補足説明する。
 例えば、それぞれの動作ポリシーが逆運動学で実装されている場合には、ポリシー合成部23は、制御周期ごとに、それぞれの動作ポリシーにおいて各関節の出力を計算し、各関節において算出した出力の線形和を計算する。これにより、ポリシー合成部23は、それぞれの動作ポリシーが合成されたような動作をロボットハードウェア300に実行させる制御指令を生成することができる。例えば、図4の例において、第1動作ポリシーとして、エンドエフェクタが対象物41の位置に誘引される動作ポリシーが指定され、第2動作ポリシーとして、エンドエフェクタの根元位置の障害物44に対する忌避を示す動作ポリシーが設定された場合について考察する。この場合、ポリシー合成部23は、制御周期ごとに、第1動作ポリシー及び第2動作ポリシーに基づく各関節の出力を計算し、各関節において算出した出力の線形和を計算する。この場合、ポリシー合成部23は、エンドエフェクタが対象物41に近づきつつ、障害物44を忌避するような合成動作をロボットハードウェア300に指令する制御指令を、好適に生成することができる。
 このとき、各動作ポリシーは、例えば、ポテンシャル法で実装されていてもよい。ポテンシャル法の場合は、例えば作用点におけるそれぞれのポテンシャル関数の値が足されることによって合成が可能である。他の例では、各動作ポリシーは、RMPにより実装されていてもよい。なお、RMPの場合、それぞれの動作ポリシーが、あるタスクスペースにおける仮想的な力と、他の動作ポリシーと足される場合にそれらがどの方向に作用するかの重みのように作用するリーマンメトリックとがセットにされている。よって、RMPの場合、動作ポリシーの合成の際にそれぞれの動作ポリシーの足され方を柔軟に設定可能である。
 このように、ポリシー合成部23によりロボットアームを動かす制御指令が計算される。なお、それぞれの動作ポリシーにおける関節の出力の計算には、対象物41の位置、作用点の位置、及びロボットハードウェア300の関節の位置に関する情報が必要となる。状態評価部26は、例えば、これらの情報を、センサ32から供給されるセンサ情報に基づき認識し、ポリシー合成部23に供給する。例えば、対象物41にARマーカーなどを貼り付けておき、それをカメラ等のロボットハードウェアに含まれるセンサ32により撮影した画像に基づき、状態評価部26が対象物41の位置を測定してもよい。他の例では、状態評価部26は、深層学習などの認識エンジンを用い、センサ32によりロボットハードウェア300を撮影した画像等から対象物41の位置の推論をマーカーレスにより行ってもよい。なお、状態評価部26は、ロボットハードウェア300のエンドエフェクタの位置や関節位置を、各関節角度およびロボットの幾何学的モデルから順運動学で計算してもよい。
 (3-4)ステップS108の詳細
 ステップS108では、評価指標表示部13は、タスクを評価する評価指標の指定をユーザから受け付ける。ここで、図4において、障害物44を避けながらロボットハードウェア300の手先を対象物41まで近づけることをタスクとした場合、そのための評価指標として、例えば、対象物41に向かうロボットハードウェア300の手先の速度が早ければ早いほど報酬が高くなるような評価指標が指定される。
 また、ロボットハードウェア300が障害物44に当たってしまってはいけないので、障害物44に当たったことで報酬が下がるような評価指標が指定されることが望ましい。この場合、例えば、評価指標表示部13は、障害物44にロボットハードウェア300が接触することで報酬値が減算される評価指標を追加で設定するユーザの入力を受け付ける。この場合、例えばロボットの手先がなるべく早く対象物に到達し、さらに障害物に当たらない動作に対する報酬値が最大となる。他にも、各関節の躍度を最小化させる評価指標、エネルギーを最小化させる評価指標、制御入力と誤差の2乗和が最小化する評価指標などがステップS108において選択される対象となってもよい。なお、評価指標表示部13は、これらの評価指標の候補を示す情報を予め記憶しておき、当該情報を参照して、評価指標の候補をユーザにより選択可能に提示してもよい。そして、評価指標表示部13は、ユーザが全ての評価指標を選択したことを、例えば画面上の完了ボタン等の選択により検知する。
 図6は、ステップS108において評価指標表示部13が表示する評価指標指定画面の一例である。図6に示すように、評価指標表示部13は、評価指標指定画面上において、ユーザにより指定された動作ポリシーごとに、評価指標に関する複数の選択欄を表示している。ここで、「ロボット手先の速度」は、ロボットハードウェア300の手先の速度が速ければ速いほど報酬が高くなるような評価指標を指し、「障害物との接触回避」は、障害物44にロボットハードウェア300が接触することで報酬値が減算される評価指標を指す。また、「各関節の躍度最小化」は、各関節の躍度を最小化させる評価指標を指す。そして、評価指標表示部13は、指定完了ボタン57が選択されたことを検知した場合、ステップS108の処理を終了する。
 (4)効果
 以上説明した構成および動作を取ることにより,単純な動作の組み合わせで、複雑な動作を生成し、さらに動作を評価指標によって評価することにより、ロボットにタスクを実行可能なポリシーのパラメータを簡易に学習・獲得させることができる。
 一般的に、実機を用いての強化学習は非常に多くの試行回数が必要となり、動作を獲得するまで非常に多くの時間的コストがかかる。また、実機自体が数多くの反復動作によってアクチュエータが発熱したり、関節部が損耗したりするなどのデメリットがある。また、既存の強化学習手法は様々な動作を実現できるように試行錯誤的に動作を行っていく、すなわち、動作を獲得する際にどのような動作をするのかがあらかじめほとんど決まっていない。
 また、強化学習的手法ではない手法においては、熟練ロボットエンジニアが、ロボットの経由点などを、一つずつ時間をかけて調整していくため、そのエンジニアリングの工数が非常に高くなる。
 以上を勘案し、第1実施形態では、あらかじめ単純な動作を動作ポリシーとしていくつか用意しておき、そのパラメータのみを学習対象パラメータとして探索するため、比較的複雑な動作であっても学習を早くすることができる。また、第1実施形態では、人間が設定するのは動作ポリシーの選択等であり、簡易に設定することができ、適したパラメータへの調整はシステムが行う。したがって、比較的複雑な動作であってもエンジニアリングの工数も低減することが可能である。
 言い換えると、第1実施形態では、予め典型的な動作をパラメタライズしており、さらにそれらの動作の組み合わせが可能となっている。よって、ロボットシステム1は、複数の事前に用意された動作から、複数の動作をユーザが選択することで、所望の動作に近い動作を作成することが可能となる。この場合、複数の動作が合成された動作を、特定の条件下かどうかによらず生成可能となる。また、この場合、条件ごとに学習器を用意する必要がなく、あるパラメタライズされた動作の再利用・組み合わせも容易である。さらに、学習の際にも明示的に学習するパラメータ(学習対象パラメータ)を指定することで、学習する空間を限定して高速化しており、合成後の動作も高速に学習することが可能となる。
 (5)変形例
 上述の説明において、ポリシー表示部11がユーザ入力により決定した動作ポリシーに関する情報又は評価指標表示部13がユーザ入力により決定した評価指標について、これらの少なくとも一部は、ユーザ入力によらずに予め定められていてもよい。この場合、ポリシー取得部21又は評価指標取得部24は、予め定められた情報について、ポリシー記憶部27又は評価指標記憶部28から情報を取得する。例えば、予め動作ポリシーごとに設定すべき評価指標の情報が評価指標記憶部28に記憶されている場合には、評価指標取得部24は、当該評価指標の情報を参照し、ポリシー取得部21が取得した動作ポリシーに応じた評価指標を自動設定してもよい。この場合であっても、ロボットシステム1は、動作ポリシーを合成して制御指令を生成し、かつ、動作を評価して学習対象パラメータを更新することができる。この変形例は、後述する第2実施形態~第3実施形態にも好適に適用される。
 <第2実施形態>
 次に、ロボットに実行させるタスクが円柱状の物体を把持するタスクである場合の具体的形態である第2実施形態について説明する。なお、第2実施形態の説明において,第1実施形態と同一の構成要素については適宜同一の符号を付し,その共通部分の説明を省略する。
 図7(A)、(B)は、第2実施形態におけるエンドエフェクタの周辺図を示す。図7(A)、(B)では、作用点として設定されたエンドエフェクタの代表点45を黒星マークにより示している。また、円柱物体46は、ロボットが把持する対象である。
 第2実施形態における第1動作ポリシーの種類は誘引であり、エンドエフェクタの代表点が作用点として設定され、かつ、状態変数の目標状態として円柱物体46の位置(黒三角マーク参照)が設定される。ポリシー表示部11は、これらの設定情報を、第1実施形態と同様に、GUIによりそれぞれユーザ入力された情報に基づき認識する。
 また、第2実施形態における第2動作ポリシーの種類は誘引であり、エンドエフェクタの指先が作用点として設定され、かつ、指の開度を状態変数とし、指が閉じている(即ち開度が0となる)状態を目標状態とする。
 また、第2実施形態において、ポリシー表示部11は、動作ポリシーの指定と共に、指定された動作ポリシーを適用する条件(「動作ポリシー適用条件」とも呼ぶ。)の指定をさらに受け付ける。そして、ロボットコントローラ200は、指定された動作ポリシー適用条件に応じて、動作ポリシーを切り替える。例えば、動作ポリシー適用条件の状態変数として、エンドエフェクタの代表点に相当する作用点と、把持対象の円柱物体46の位置との距離を設定する。そして、この距離が一定値以下になった場合、第2動作ポリシーにおいて、ロボットの指が閉じている状態にすることを目標状態とし、それ以外の場合は開いている状態を目標状態とする。
 図8は、作用点と把持対象の円柱物体46の位置との距離「x」と、指の開度に相当する第2動作ポリシーにおける状態変数「f」との関係を示す2次元グラフである。この場合、距離xが所定の閾値「θ」より大きい場合には、ロボットの指が開いた状態を示す値が状態変数fの目標状態となり、距離xが閾値θ以下の場合には、ロボットの指が閉じた状態を表す値が状態変数fの目標状態となる。ロボットコントローラ200は、目標状態の切り替えを、図8のようなシグモイド関数に従い滑らかに切り替えてもよく、ステップ関数のように切り替えてもよい。
 さらに、第3動作ポリシーでは、エンドエフェクタの姿勢を、鉛直下向きとなるような目標状態が設定される。この場合、エンドエフェクタは、上から把持対象である円柱物体46を把持するような姿勢となる。
 このように、第2動作ポリシーに動作ポリシー適用条件を設定することで、第1動作ポリシー~第3動作ポリシーを合成した場合に、ロボットコントローラ200は、ロボットハードウェア300により円柱物体46を好適に把持させることができる。具体的には、作用点であるエンドエフェクタの代表点が把持対象である円柱物体46に指を開いたまま上から近づいていき、円柱物体46の位置にエンドエフェクタの代表点が十分近づいたときに、ロボットハードウェア300は、指を閉じて円柱物体46を把持する動作を行うことになる。
 ただし、図7(A)、(B)に示すように、把持対象の円柱物体46の姿勢によっては、把持可能なエンドエフェクタの姿勢が異なることが考えられる。そこで、この場合、エンドエフェクタの姿勢の回転方向(回転角度)47を制御する第4動作ポリシーが設定される。なお、センサ32の精度が十分に高い場合、ロボットハードウェア300は、円柱物体46の姿勢の状態とこの第4動作ポリシーとを紐付けることで、適切な回転方向角度で円柱物体46にアプローチする。
 以後では、エンドエフェクタの姿勢の回転方向47が学習対象パラメータとして設定された場合を前提として説明する。
 まず、ポリシー表示部11は、学習対象パラメータとして、このエンドエフェクタの姿勢を定める回転方向47を設定する入力を受け付ける。さらに、ポリシー表示部11は、円柱物体46を持ち上げるために、ユーザの入力に基づき、第1動作ポリシーにおいて、指が閉じたことを動作ポリシー適用条件とし、かつ、目標位置を、円柱物体46の位置ではなく、元々円柱物体46があった位置に対して上方(z方向)へ所定距離分のオフセットを設けた位置に設定する。この動作ポリシー適用条件により、円柱物体46を掴んだ後に、円柱物体46を持ち上げることが可能となる。
 評価指標表示部13は、ロボットの動作の評価指標として、ユーザの入力に基づき、例えば、対象物である円柱物体46が持ち上がった場合に高い報酬を与えるような評価指標を設定する。この場合、評価指標表示部13は、ロボットハードウェア300の周辺を示す画像(コンピュータグラフィックスを含む)を表示し、当該画像上において円柱物体46の位置を状態変数として指定するユーザの入力を受け付ける。そして、評価指標表示部13は、ユーザ入力により指定された円柱物体46の位置のz座標(高さの座標)が所定の閾値を超えた場合に、評価となるような評価指標を設定する。
 他の例では、物体を検知するためのセンサ32がロボットの指先に設けられており、指を閉じたときに、指の間に対象物があればそれをセンサ32により検知できる構成である場合、評価指標は、指の間に対象物が検知できたときに高い報酬となるように設定される。さらに別の例として、各関節の躍度を最小化させる評価指標、エネルギーを最小化させる評価指標、制御入力と誤差の2乗和が最小化する評価指標などが選択対象であってもよい。
 パラメータ決定部22は、第4動作ポリシーの学習対象パラメータである回転方向47の値を仮決定する。ポリシー合成部23は、第1動作ポリシーから第4動作ポリシーを合成することで制御指令を生成する。この制御指令に基づき、ロボットハードウェア300は、エンドエフェクタの代表点が把持対象である円柱物体46に指を開いたまま上から近づいていき、ある回転方向を保ち、円柱物体46に十分近づいたときに、指を閉じる動作を行う。
 なお、パラメータ決定部22により仮決定されたパラメータ(即ち学習対象パラメータの初期値)が適切なパラメータとは限らない。よって、円柱物体46を既定時間以内に掴めなかったり、指先には触れたが、ある高さまで持ち上げる前に落としてしまったりすることなどが考えられる。
 そこで、パラメータ学習部25は、学習対象パラメータである回転方向47を、様々に変えながら、報酬が高くなるような値となるまで試行錯誤を繰り返す。上記では、学習対象パラメータが1つである例を示したが、学習対象パラメータは複数であってもよい。その場合、例えばエンドエフェクタの姿勢の回転方向47に加えて、もう一つの学習対象パラメータとして、先に示した第2動作ポリシーの閉じる動作・開く動作を切り替える動作適用条件の判定に用いられる、エンドエフェクタと対象物体間の距離の閾値などを指定してもよい。
 ここで、第4動作ポリシーの回転方向47に関する学習対象パラメータと、第2動作ポリシーでのエンドエフェクタと対象物体間の距離の閾値に関する学習対象パラメータとを夫々「θ1」,「θ2」とする。この場合、パラメータ決定部22は、それぞれのパラメータの値を仮決定した後、ポリシー合成部23が生成した制御指令に基づきロボットハードウェア300が動作を実行する。そして、その動作をセンシングするセンサ32が生成するセンサ情報等に基づき、状態評価部26が動作の評価を行い、エピソード単位での報酬値を算出する。
 図9は、各試行において設定された学習対象パラメータθ1、θ2のプロット図である。図9において、黒星マークは、最終的な学習対象パラメータθ1、θ2の組を示す。パラメータ学習部25は、そのパラメータ空間内で最も報酬値が高くなるような学習対象パラメータθ1、θ2の値のセットを学習する。例えば、パラメータ学習部25は、最も単純には、グリッドサーチでそれぞれの学習対象パラメータを変化させて報酬値を求めることで、報酬値が最大となる学習対象パラメータを探索してもよい。他の例では、パラメータ学習部25は、一定回数ランダムサンプリングを実行し、各サンプリングで算出した報酬値のうち最も報酬値が高くなった学習対象パラメータの値を、新たな学習対象パラメータの値として決定してもよい。さらに別の例では、パラメータ学習部25は、学習対象パラメータとその報酬値の履歴を用いて、ベイズ最適化などの手法に基づき、最大となる学習対象パラメータの値を求めてもよい。
 以上のように、第2実施形態においても、単純な動作の組み合わせで、複雑な動作を生成し、さらに動作を評価指標によって評価することにより、ロボットにタスクを実行可能な動作ポリシーの学習対象パラメータを簡易に学習・獲得することができる。
 <第3実施形態>
 第3実施形態に係るロボットシステム1は、複数の動作ポリシーに対して、それぞれ対応する評価指標を設定し、それぞれの学習パラメータを独立に学習する点において、第1及び第2実施形態と異なる。即ち、第1及び第2実施形態に係るロボットシステム1は、複数の動作ポリシーを合成し、その合成された動作に対して評価を行い、複数の動作ポリシーの学習対象パラメータを学習する。これに対し、第3実施形態に係るロボットシステム1は、複数の動作ポリシーの各々に対応する評価指標を設定し、それぞれの学習対象パラメータを独立に学習する。なお、第3実施形態の説明において,第1実施形態又は第2実施形態と同一の構成要素については適宜同一の符号を付し,その共通部分の説明を省略する。
 図10は、第3実施形態においてタスク実行中のエンドエフェクタの周辺図を示す。図10では、ロボットハードウェア300が把持しているブロック48を四角柱状の細長い四角柱49上へ配置するというタスクが実行される様子が示されている。このタスクの前提として、四角柱49は固定されておらず、うまくブロック48を四角柱49に乗せないと四角柱49が倒れてしまう。
 簡略化のため、ロボットはブロック48を把持している状態へは容易に到達できるものとし、その状態からタスクを開始しているとする。この場合、第3実施形態における第1動作ポリシーの種類は誘引であり、エンドエフェクタの代表点(黒星マーク参照)が作用点として設定され、かつ、目標位置として四角柱49の代表点(黒三角マーク参照)が設定される。第1動作ポリシーにおける学習対象パラメータは、誘引ポリシーのゲイン(仮想的なばねのばね定数に相当)とする。このゲインの値によって、目標位置への収束の仕方が決定される。大きめのゲインにすると作用点が素早く目標位置に到達するが、勢いあまって四角柱49を倒してしまうため、このゲインは適切に設定される必要がある。
 具体的には、なるべく早くブロック48を四角柱49に載せたいため、評価指標表示部13は、ユーザ入力に基づき、評価指標として、目標位置までの到達速度が速ければ速いほど報酬が高くなるが、倒してしまうと報酬が得られないような評価指標を設定する。なお、四角柱49を倒さないようにすることは、制御指令を生成する際の制約条件として担保されてもよい。他にも、評価指標表示部13は、ユーザ入力に基づき、各関節の躍度を最小化させる評価指標や、エネルギーを最小化させる評価指標、制御入力と誤差の2乗和が最小化する評価指標などを設定してもよい。
 また、第2動作ポリシーに関し、ポリシー表示部11は、ユーザ入力に基づき、エンドエフェクタの指の力を制御するパラメータを学習対象パラメータとして設定する。一般に、不安定な土台(即ち四角柱49)に物(即ちブロック48)を乗せる際には、強い力で持ちすぎていると、土台が物に接触したときに土台が倒れてしまう。しかし、軽すぎる力では持ち運ぶ物を途中で落としてしまう。以上を勘案し、落とさないぎりぎりの力でブロック48をエフェクタが把持することが好ましい。これにより、四角柱49とブロック48とが接触した時でも、ブロック48のほうがエンドエフェクタの中で滑るように動き、四角柱49を倒すのを防ぐことができる。従って、第2動作ポリシーでは、エンドエフェクタの指の力のパラメータが学習対象パラメータとなる。
 第2動作ポリシーの評価指標として、評価指標表示部13は、ユーザ入力に基づき、なるべくエンドエフェクタが物を持つ力が弱ければ弱いほど高い報酬となり、かつ、途中で落としたら報酬がもらえなくなるような評価指標を設定する。なお、物を途中で落とさないようにすることは、制御指令を生成する際の制約条件として担保されてもよい。
 図11は、第3実施形態において評価指標表示部13が表示する評価指標指定画面の一例である。評価指標表示部13は、ポリシー表示部11により設定された第1動作ポリシー及び第2動作ポリシーに対する評価指標の指定を受け付ける。具体的には、評価指標表示部13は、第1動作ポリシーに対する評価指標をユーザが指定するための複数の第1評価指標選択欄58と、第2動作ポリシーに対する評価指標をユーザが指定するための複数の第2評価指標選択欄59とを評価指標指定画面に設けている。ここで、第1評価指標選択欄58及び第2評価指標選択欄59は、一例として、プルダウンメニュー形式の選択欄となっている。「目標位置までの到達速度」は、目標位置までの到達速度が速ければ速いほど報酬が高くなる評価指標を表す。また、「エンドエフェクタの把持力」は、物を落とさない程度にエンドエフェクタが物を持つ力が弱ければ弱いほど高い報酬となる評価指標を表す。図11の例によれば、評価指標表示部13は、設定された夫々の動作ポリシーに対する評価指標を、ユーザ入力に基づき好適に決定する。
 ポリシー合成部23は、設定された動作ポリシー(ここでは第1動作ポリシー及び第2動作ポリシー)を合成し、動作ポリシーが合成された動作を行うようにロボットハードウェア300を制御する制御指令を生成する。そして、状態評価部26は、センサ32が生成するセンサ情報に基づき、その動作を、動作ポリシー毎に異なる評価指標により、各動作ポリシーを評価し、各動作ポリシーに対する報酬値を算出する。そして、パラメータ学習部25は、動作ポリシーの夫々の学習対象パラメータの値を、動作ポリシー毎の報酬値に基づき修正する。
 図12(A)は、第3実施形態において、第1動作ポリシーの学習対象パラメータ「θ3」と第1動作ポリシーに対する報酬値「R1」との関係を示すグラフである。図12(B)は、第3実施形態において、第2動作ポリシーの学習対象パラメータ「θ4」と第2動作ポリシーに対する報酬値「R2」との関係を示すグラフである。なお、図12(A)、(B)における黒星マークは、最終的に学習により得られる学習対象パラメータの値を示している。
 図12(A)、(B)に示されるように、パラメータ学習部25は、学習対象パラメータの最適化を動作ポリシー毎に独立して行い、夫々の学習対象パラメータの値を更新する。このように、パラメータ学習部25は、複数の動作ポリシーに対応する複数の学習対象パラメータに対して一つの報酬値を用いて最適化を行う(図9参照)代わりに、複数の動作ポリシーに夫々対応する学習対象パラメータの各々に対して報酬値を設定して最適化を行う。
 以上のように、第3実施形態においても、単純な動作の組み合わせで、複雑な動作を生成し、さらに動作を評価指標によって動作ポリシー毎に評価することにより、ロボットにタスクを実行可能な動作ポリシーの学習対象パラメータを簡易に学習・獲得することができる。
 <第4実施形態>
 図13は、第4実施形態における制御装置200Xの概略構成図を示す。制御装置200Xは、機能的には、動作ポリシー取得手段21Xと、ポリシー合成手段23Xとを有する。制御装置200Xは、例えば、第1実施形態~第3実施形態におけるロボットコントローラ200とすることができる。また、制御装置200Xは、上記ロボットコントローラ200に加えて、表示装置100の少なくとも一部の機能をさらに有してもよい。また、制御装置200Xは、複数の装置により構成されてもよい。
 動作ポリシー取得手段21Xは、ロボットの動作に関する動作ポリシーを取得する。動作ポリシー取得手段21Xは、例えば、第1実施形態~第3実施形態におけるポリシー取得部21とすることができる。また、動作ポリシー取得手段21Xは、第1実施形態~第3実施形態においてポリシー表示部11が実行した制御を行い、動作ポリシーを指定するユーザ入力を受け付けることで、動作ポリシーを取得してもよい。
 ポリシー合成手段23Xは、少なくとも2つ以上の動作ポリシーを合成することで、ロボットの制御指令を生成する。ポリシー合成手段23Xは、例えば、第1実施形態~第3実施形態におけるポリシー合成部23とすることができる。
 図14は、第4実施形態において制御装置200Xが実行する処理手順を示すフローチャートの一例である。動作ポリシー取得手段21Xは、ロボットの動作に関する動作ポリシーを取得する(ステップS201)。ポリシー合成手段23Xは、少なくとも2つ以上の動作ポリシーを合成することで、ロボットの制御指令を生成する(ステップS202)。
 第4実施形態によれば、制御装置200Xは、制御対象となるロボットに対して取得した2つ以上の動作ポリシーを合成し、ロボットを動作させるための制御指令を好適に生成することができる。
 なお、上述した各実施形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータであるプロセッサ等に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記憶媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記憶媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記憶媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
 その他、上記の各実施形態の一部又は全部は、以下の付記のようにも記載され得るが以下には限られない。
[付記1]
 ロボットの動作に関する動作ポリシーを取得する動作ポリシー取得手段と、
 少なくとも2つ以上の前記動作ポリシーを合成することで、前記ロボットの制御指令を生成するポリシー合成手段と、
を有する制御装置。
[付記2]
 前記制御指令に基づく前記ロボットの動作の評価を行う状態評価手段と、
 前記評価に基づき、前記動作ポリシーにおける学習対象のパラメータである学習対象パラメータの値を更新するパラメータ学習手段と、
をさらに有する、付記1に記載の制御装置。
[付記3]
 前記評価に用いる評価指標を取得する評価指標取得手段をさらに有し、
 前記評価指標取得手段は、複数の評価指標の候補からユーザ入力に基づき選択された評価指標を取得する、付記2に記載の制御装置。
[付記4]
 前記評価指標取得手段は、前記動作ポリシー毎に評価指標を取得する、付記3に記載の制御装置。
[付記5]
 前記状態評価手段は、前記動作ポリシー毎の評価指標に基づき、前記動作ポリシー毎に前記評価を行い、
 前記パラメータ学習手段は、前記動作ポリシー毎の前記評価に基づき、前記動作ポリシー毎の前記学習対象パラメータの学習を行う、付記2~4のいずれか一項に記載の制御装置。
[付記6]
 前記動作ポリシー取得手段は、前記学習対象パラメータの候補から、ユーザ入力に基づき選択された学習対象パラメータを取得し、
 前記パラメータ学習手段は、当該学習対象パラメータの値を更新する、付記2~5のいずれか一項に記載の制御装置。
[付記7]
 前記動作ポリシー取得手段は、前記ロボットに対する動作ポリシーの候補から、ユーザ入力に基づき選択された動作ポリシーを取得する、付記1~6のいずれか一項に記載の制御装置。
[付記8]
 前記動作ポリシーは、状態変数に応じて、前記ロボットの作用点における、目標状態を制御する制御則であり、
 前記動作ポリシー取得手段は、前記作用点と、前記状態変数とを指定する情報を取得する、付記7に記載の制御装置。
[付記9]
 前記動作ポリシー取得手段は、前記状態変数のうち、前記動作ポリシーにおける学習対象のパラメータである学習対象パラメータとして指定された状態変数を、前記学習対象パラメータとして取得する、付記8に記載の制御装置。
[付記10]
 前記動作ポリシー取得手段は、前記動作ポリシーを適用する条件である動作ポリシー適用条件をさらに取得し、
 前記ポリシー合成手段は、前記動作ポリシー適用条件に基づき、前記制御指令を生成する、付記1~9のいずれか一項に記載の制御装置。
[付記11]
 コンピュータにより、
 ロボットの動作に関する動作ポリシーを取得し、
 少なくとも2つ以上の前記動作ポリシーを合成することで、前記ロボットの制御指令を生成する、
制御方法。
[付記12]
 ロボットの動作に関する動作ポリシーを取得し、
 少なくとも2つ以上の前記動作ポリシーを合成することで、前記ロボットの制御指令を生成する処理をコンピュータに実行させるプログラムを格納した記憶媒体。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。
100      表示装置
200      ロボットコントローラ
300      ロボットハードウェア
11      ポリシー表示部
13      評価指標表示部
21      ポリシー取得部
22      パラメータ決定部
23      ポリシー合成部
24      評価指標取得部
25      パラメータ学習部
26      状態評価部
27      ポリシー記憶部
28      評価指標記憶部
31      アクチュエータ
32      センサ
41      対象物
42      作用点
43      作用点
44      障害物
45      エンドエフェクタの代表点
46      円柱物体
47      回転方向
48      ブロック
49      四角柱

Claims (12)

  1.  ロボットの動作に関する動作ポリシーを取得する動作ポリシー取得手段と、
     少なくとも2つ以上の前記動作ポリシーを合成することで、前記ロボットの制御指令を生成するポリシー合成手段と、
    を有する制御装置。
  2.  前記制御指令に基づく前記ロボットの動作の評価を行う状態評価手段と、
     前記評価に基づき、前記動作ポリシーにおける学習対象のパラメータである学習対象パラメータの値を更新するパラメータ学習手段と、
    をさらに有する、請求項1に記載の制御装置。
  3.  前記評価に用いる評価指標を取得する評価指標取得手段をさらに有し、
     前記評価指標取得手段は、複数の評価指標の候補からユーザ入力に基づき選択された評価指標を取得する、請求項2に記載の制御装置。
  4.  前記評価指標取得手段は、前記動作ポリシー毎に評価指標を取得する、請求項3に記載の制御装置。
  5.  前記状態評価手段は、前記動作ポリシー毎の評価指標に基づき、前記動作ポリシー毎に前記評価を行い、
     前記パラメータ学習手段は、前記動作ポリシー毎の前記評価に基づき、前記動作ポリシー毎の前記学習対象パラメータの学習を行う、請求項2~4のいずれか一項に記載の制御装置。
  6.  前記動作ポリシー取得手段は、前記学習対象パラメータの候補から、ユーザ入力に基づき選択された学習対象パラメータを取得し、
     前記パラメータ学習手段は、当該学習対象パラメータの値を更新する、請求項2~5のいずれか一項に記載の制御装置。
  7.  前記動作ポリシー取得手段は、前記ロボットに対する動作ポリシーの候補から、ユーザ入力に基づき選択された動作ポリシーを取得する、請求項1~6のいずれか一項に記載の制御装置。
  8.  前記動作ポリシーは、状態変数に応じて、前記ロボットの作用点における、目標状態を制御する制御則であり、
     前記動作ポリシー取得手段は、前記作用点と、前記状態変数とを指定する情報を取得する、請求項7に記載の制御装置。
  9.  前記動作ポリシー取得手段は、前記状態変数のうち、前記動作ポリシーにおける学習対象のパラメータである学習対象パラメータとして指定された状態変数を、前記学習対象パラメータとして取得する、請求項8に記載の制御装置。
  10.  前記動作ポリシー取得手段は、前記動作ポリシーを適用する条件である動作ポリシー適用条件をさらに取得し、
     前記ポリシー合成手段は、前記動作ポリシー適用条件に基づき、前記制御指令を生成する、請求項1~9のいずれか一項に記載の制御装置。
  11.  コンピュータにより、
     ロボットの動作に関する動作ポリシーを取得し、
     少なくとも2つ以上の前記動作ポリシーを合成することで、前記ロボットの制御指令を生成する、
    制御方法。
  12.  ロボットの動作に関する動作ポリシーを取得し、
     少なくとも2つ以上の前記動作ポリシーを合成することで、前記ロボットの制御指令を生成する処理をコンピュータに実行させるプログラムを格納した記憶媒体。
PCT/JP2020/027311 2020-07-14 2020-07-14 制御装置、制御方法及び記憶媒体 WO2022013933A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022536009A JP7452657B2 (ja) 2020-07-14 2020-07-14 制御装置、制御方法及びプログラム
US18/015,621 US20230241770A1 (en) 2020-07-14 2020-07-14 Control device, control method and storage medium
PCT/JP2020/027311 WO2022013933A1 (ja) 2020-07-14 2020-07-14 制御装置、制御方法及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/027311 WO2022013933A1 (ja) 2020-07-14 2020-07-14 制御装置、制御方法及び記憶媒体

Publications (1)

Publication Number Publication Date
WO2022013933A1 true WO2022013933A1 (ja) 2022-01-20

Family

ID=79555351

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/027311 WO2022013933A1 (ja) 2020-07-14 2020-07-14 制御装置、制御方法及び記憶媒体

Country Status (3)

Country Link
US (1) US20230241770A1 (ja)
JP (1) JP7452657B2 (ja)
WO (1) WO2022013933A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024034338A1 (ja) * 2022-08-08 2024-02-15 Ntn株式会社 情報処理装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022065759A (ja) * 2020-10-16 2022-04-28 セイコーエプソン株式会社 ロボットのパラメーターセットを調整する方法、プログラム、および情報処理装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016196079A (ja) * 2015-04-02 2016-11-24 ホンダ リサーチ インスティテュート ヨーロッパ ゲーエムベーハーHonda Research Institute Europe GmbH ロボットの動作を改善する方法
WO2020058669A1 (en) * 2018-09-21 2020-03-26 Imperial College Of Science, Technology And Medicine Task embedding for device control

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016196079A (ja) * 2015-04-02 2016-11-24 ホンダ リサーチ インスティテュート ヨーロッパ ゲーエムベーハーHonda Research Institute Europe GmbH ロボットの動作を改善する方法
WO2020058669A1 (en) * 2018-09-21 2020-03-26 Imperial College Of Science, Technology And Medicine Task embedding for device control

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
UCHIBE EIJI: "Forward and Inverse Reinforcement Learning Based on Linearly Solvable Markov Decision Processes", JAPANESE NEURAL NETWORK SOCIETY, 5 March 2016 (2016-03-05), pages 2 - 13, XP055898081, Retrieved from the Internet <URL:https://www.jstage.jst.go.jp/article/jnns/23/1/23_2/_pdf> DOI: 10.3902/jnns.23.2 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024034338A1 (ja) * 2022-08-08 2024-02-15 Ntn株式会社 情報処理装置

Also Published As

Publication number Publication date
US20230241770A1 (en) 2023-08-03
JPWO2022013933A1 (ja) 2022-01-20
JP7452657B2 (ja) 2024-03-19

Similar Documents

Publication Publication Date Title
JP7198831B2 (ja) オンデマンド遠隔操作を備えた自律ロボット
US9375839B2 (en) Methods and computer-program products for evaluating grasp patterns, and robots incorporating the same
JP6039434B2 (ja) ロボットが用いる把持パターンを生成する方法及び計算機プログラム製品
Lampe et al. Acquiring visual servoing reaching and grasping skills using neural reinforcement learning
US9387589B2 (en) Visual debugging of robotic tasks
Al-Yacoub et al. Improving human robot collaboration through Force/Torque based learning for object manipulation
JP2013144355A5 (ja)
WO2022013933A1 (ja) 制御装置、制御方法及び記憶媒体
CN114516060A (zh) 用于控制机器人装置的设备和方法
CN112638596A (zh) 自主学习型机器人装置以及自主学习型机器人装置的动作生成方法
Pedersen et al. Gesture-based extraction of robot skill parameters for intuitive robot programming
Pedersen et al. On the integration of hardware-abstracted robot skills for use in industrial scenarios
Pichler et al. Towards robot systems for small batch manufacturing
Gómez et al. Kinesthetic teaching via fast marching square
Incremona et al. Experimental assessment of deep reinforcement learning for robot obstacle avoidance: a lpv control perspective
JP7435815B2 (ja) 動作指令生成装置、動作指令生成方法及びプログラム
Pichler et al. User centered framework for intuitive robot programming
Chen et al. Uncertainty-aware arm-base coordinated grasping strategies for mobile manipulation
US20220317659A1 (en) Transfer between Tasks in Different Domains
US20230141855A1 (en) Device and method for controlling a robot device
WO2022074824A1 (ja) 時相論理式生成装置、時相論理式生成方法及び記憶媒体
Zito Grasping and manipulation with a multi-fingered hand
Kwon et al. A Robotic System for Autonomous Grasping and Manipulation
Wang et al. Reinforcement Learning based End-to-End Control of Bimanual Robotic Coordination
Akbulut et al. Bimanual rope manipulation skill synthesis through context dependent correction policy learning from human demonstration

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: 20945628

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022536009

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20945628

Country of ref document: EP

Kind code of ref document: A1