WO2022080132A1 - 軌道生成装置、軌道生成方法、及び軌道生成プログラム - Google Patents

軌道生成装置、軌道生成方法、及び軌道生成プログラム Download PDF

Info

Publication number
WO2022080132A1
WO2022080132A1 PCT/JP2021/035669 JP2021035669W WO2022080132A1 WO 2022080132 A1 WO2022080132 A1 WO 2022080132A1 JP 2021035669 W JP2021035669 W JP 2021035669W WO 2022080132 A1 WO2022080132 A1 WO 2022080132A1
Authority
WO
WIPO (PCT)
Prior art keywords
orbit
information
controlled object
trajectory
success
Prior art date
Application number
PCT/JP2021/035669
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 EP21879873.4A priority Critical patent/EP4230359A1/en
Priority to US18/028,911 priority patent/US20230339111A1/en
Priority to CN202180067817.9A priority patent/CN116323110A/zh
Publication of WO2022080132A1 publication Critical patent/WO2022080132A1/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/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
    • 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/39298Trajectory learning
    • 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/39574Passive compliant hand, wrist

Definitions

  • the present disclosure relates to an orbit generator, an orbit generation method, and an orbit generation program.
  • a soft robot having a physically flexible flexible part is capable of safer contact than a hard robot having no flexible part, and is expected to be applied to assembly operations.
  • a learning (for example, reinforcement learning) approach is effective for designing a controller, but it is also difficult to design a control purpose (reward function). This is because it is more difficult to accurately follow the target state (position) than that of a rigid robot.
  • the peg may be inserted without reaching the top of the hole, or the peg may be fitted into the hole. There are cases where the momentum is excessive and overshoots.
  • Non-Patent Document 1 discloses a method of dividing a peg insertion task into a plurality of subtasks and manually designing a control rule for each division.
  • Non-Patent Document 2 discloses a method of using model-based reinforcement learning (Guided Policy Search) for motor learning of a robot.
  • the strategy is updated to move away from the failure trajectory that the robot has experienced during learning.
  • Non-Patent Document 3 discloses a method of learning rewards and measures from the success or failure trajectory of a teacher by using reverse reinforcement learning. This method imposes restraints away from the failure trajectory when renewing policies and rewards.
  • Non-Patent Document 1 Nishimura et al., "Peg-in-hole under state uncertainties via a passive wrist joint with push-activate-rotation function," 2017 IEEE-RAS 17th International Conference on Humanoid Robotics (Humanoids), pp 67- 74, 2020.
  • Non-Patent Document 2 Esteban et al, "Learning Deep Robot Controllers by Exploiting Successful and Failed Executions," 2018 IEEE-RAS 18th International Conference on Humanoid Robots (Humanoids), pp 1-9, 2018.
  • Non-Patent Document 3 Shiarlis et al., "Inverse reinforcement learning from failure," International Conference on Autonomous Agents & Multiagent Systems, pp 1060-1068, 2016.
  • Non-Patent Document 1 has a problem that only a designer who has sufficient knowledge about a task can classify into a plurality of subtasks.
  • Non-Patent Document 2 since the failure of the task is known for the first time during learning, there is a problem that the performance may change significantly depending on what kind of failure is made.
  • Non-Patent Document 3 there is a problem that data on the behavior of the agent when the policy and the reward are given must be repeatedly acquired in order to confirm the correctness of the updated policy and the reward. was there. Further, this method has a problem that it is a discrete state space representation and is handled only on a simulation, and is not always applicable to an actual machine.
  • the present disclosure is made in view of the above points and provides an orbit generator, an orbit generation method, and an orbit generation program capable of generating target orbit information for accomplishing a task with a higher success rate.
  • the purpose is to do.
  • the first aspect of the disclosure is an orbit generator, which is orbit information representing a series of states of a controlled object taught by a teacher, and is orbit information when the task performed by the controlled object is successful.
  • the acquisition unit for acquiring the trajectory information and the failure trajectory information which is the trajectory information when the task fails, the state of the control target belonging to the success trajectory information, and the state of the control target belonging to the failure trajectory information.
  • the control target Based on the clustering unit that generates a cluster of success class for the state of the control target and the cluster of the success class, the control target can be used as a control target when the task is executed by the control target. It includes a generation unit that generates target trajectory information representing a series of states.
  • the clustering unit applies a clustering method using a mixed Gaussian model, and calculates and calculates the degree of similarity between the controlled target states belonging to the success orbit information and the failure orbit information.
  • Clusters of the success class may be generated based on the degree of similarity.
  • the state of the controlled object is the position of the controlled object or the position and posture of the controlled object
  • the clustering unit is each of the successful orbit information and the controlled object belonging to the failed orbit information. Even if the speed of the controlled object in each state is calculated from the position or position and posture included in the state, and the similarity is calculated from the position or position and posture in each state and the speed in each state. good.
  • the clustering unit may adjust the similarity by an adjustment parameter for adjusting the similarity between the states to be controlled.
  • the clustering unit has a high degree of similarity between the states of the controlled object belonging to the successful orbit information, and belongs to the state of the controlled object belonging to the successful orbit information and the failed orbit information.
  • the adjustment parameter may be set so that the similarity with the state to be controlled becomes small.
  • the generation unit may apply the mixed Gaussian regression method to the cluster of the success class to generate the target orbit information.
  • the acquisition unit may further display a display for guiding the trajectory to be taught.
  • the second aspect of the disclosure is the orbit generation method, which is the orbit information representing a series of states of the controlled object taught by the computer by the computer, and the orbit information when the task performed by the controlled object is successful.
  • the success trajectory information and the failure trajectory information which is the trajectory information when the task fails are acquired, and the state of the control target belonging to the success trajectory information and the state of the control target belonging to the failure trajectory information are acquired.
  • a series of states of the controlled object that can be used as a control target when the task is executed by the controlled object based on the cluster of the successful class for the state of the controlled object.
  • the third aspect of the disclosure is an orbit generation program, in which the computer is informed of successful orbit information regarding a successful orbit when the operation of the controlled object is successful and failed orbit information regarding a failed orbit when the operation of the controlled object is unsuccessful. And, based on the success orbit information and the failure orbit information, each position of the control target in the success orbit and each position of the control target in the failure orbit are set to a success class by a predetermined clustering method. And the failure class is clustered, and the process of generating the target trajectory information regarding the target trajectory of the control target is executed based on the position of the control target clustered in the success class.
  • FIG. 1 shows a configuration of a robot system 1 for learning a learning model for controlling a robot 10.
  • the robot system 1 includes a robot 10, a robot teaching device 20, a state observation sensor 14, a trajectory generating device 40, and a learning device 50.
  • FIGS. 2A and 2B are diagrams showing a schematic configuration of a robot 10 as an example of a controlled object.
  • the robot 10 in the present embodiment is a 6-axis vertical articulated robot, and a gripper (hand) 12 is provided at the tip 11a of the arm 11 via a flexible portion 13.
  • the robot 10 performs a fitting operation of grasping a part (for example, a peg) by a gripper 12 and fitting it into a hole.
  • the robot 10 has a six-DOF arm 11 with joints J1 to J6.
  • the joints J1 to J6 rotatably connect the links to each other in the directions of arrows C1 to C6 by a motor (not shown).
  • a vertical articulated robot is taken as an example, but a horizontal articulated robot (scalar robot) may be used.
  • the 6-axis robot is taken as an example, it may be an articulated robot having other degrees of freedom such as 5-axis or 7-axis, or it may be a parallel link robot.
  • the gripper 12 has a set of holding portions 12a, and controls the holding portion 12a to hold parts.
  • the gripper 12 is connected to the tip end 11a of the arm 11 via the flexible portion 13, and moves with the movement of the arm 11.
  • the flexible portion 13 is composed of three springs 13a to 13c arranged in a positional relationship in which the base of each spring becomes each apex of an equilateral triangle, but the number of springs may be any number.
  • the flexible portion 13 may be another mechanism as long as it is a mechanism that generates a restoring force against a change in position and obtains flexibility.
  • the flexible portion 13 may be an elastic body such as a spring or rubber, a damper, a pneumatic or hydraulic cylinder, or the like.
  • the flexible portion 13 is preferably composed of a passive element.
  • the flexible portion 13 allows the tip 11a of the arm 11 and the gripper 12 to be relatively movable in the horizontal and vertical directions by 5 mm or more, preferably 1 cm or more, more preferably 2 cm or more.
  • a mechanism may be provided so that the gripper 12 can switch between a flexible state and a fixed state with respect to the arm 11.
  • the middle of the gripper 12 for example, the place of the knuckle or the middle of the columnar portion of the finger
  • the middle of the arm for example, it may be provided at any of the joints J1 to J6 or in the middle of the columnar portion of the arm).
  • the flexible portions 13 may be provided at a plurality of of these locations.
  • the robot system 1 acquires a model for controlling the robot 10 provided with the flexible portion 13 as described above by using machine learning (for example, model-based reinforcement learning). Since the robot 10 has the flexible portion 13, it is safe even if the gripped parts are brought into contact with the environment, and even if the control cycle is slow, the fitting work can be realized. On the other hand, it is difficult to obtain an analytical control model because the positions of the gripper 12 and the parts are uncertain due to the flexible portion 13. Therefore, in this embodiment, a control model is acquired by using machine learning.
  • machine learning for example, model-based reinforcement learning
  • trajectory information for teaching one task (task) of fitting a peg to the robot 10 is generated by using the robot teaching device 20.
  • the peg fitting work will be described by dividing it into a plurality of operation categories.
  • the robot teaching device 20 is used to generate trajectory information corresponding to one motion division or a plurality of continuous motion categories.
  • FIG. 3 the operation categories constituting the peg fitting operation in the present embodiment will be described.
  • 51 is the tip of the arm
  • 52 is the gripper
  • 53 is the flexible portion
  • 54 is the gripping object (peg)
  • 55 is the hole.
  • Reference numerals 56 and 57 in FIG. 3 indicate states and actions to be considered in each operation category, respectively.
  • N1: Approach is an operation of bringing the gripper 52 closer to the vicinity of the hole 55 from an arbitrary initial position.
  • N2: Contact is an operation of bringing the peg 54 into contact with the surface near the hole 55.
  • N3: Fit is an operation of moving the peg 54 while keeping the peg 54 in contact with the surface so that the tip of the peg 54 fits into the tip of the hole 55.
  • N4: Align ensures that the posture of the peg 54 is parallel to the axis of the hole 55 (vertical in this example) while keeping the tip of the peg 54 fitted and in contact with the hole 55. It is an operation.
  • N5: Insert is an operation of inserting the peg 54 to the bottom of the hole 55.
  • the instructor uses the robot teaching device 20 described later to perform an operation in which the peg 54 is successfully inserted and an operation in which the peg 54 is unsuccessful in correspondence with one operation category or a plurality of continuous operation categories in the above operation categories. By doing so, the trajectory information of the success trajectory and the failure trajectory is generated.
  • the robot teaching device 20 includes a hand mechanism 21, a state detection unit 22, an output unit 24, and an input unit 28.
  • the state detection unit 22 includes displacement sensors 25a and 25b, IMU26, and tactile sensors 27a and 27b.
  • FIG. 5 shows a three-view view of the hand mechanism 21. Further, FIG. 6 shows a perspective view of the hand mechanism 21.
  • the hand mechanism 21 includes a handle 30 and an operation unit 32 attached to one end of the handle 30.
  • the handle 30 has a cylindrical shape as an example in this embodiment.
  • the operation unit 32 includes two fingers 34a and 34b for gripping the operation target, and an opening / closing mechanism 36 capable of opening and closing the two fingers 34a and 34b.
  • the fingers 34a and 34b correspond to the holding portion 12a in FIG.
  • the operation target gripped by the fingers 34a and 34b corresponds to the peg 54 in FIG.
  • a belt 38a is attached to the finger 34a. Further, a belt 38b similar to the belt 38a is attached to the finger 34b.
  • the user as a teacher can hold the hand mechanism 21 by inserting the thumb 40a into the belt 38a, inserting the index finger 40b into the belt 38b, and grasping the handle 30 with the remaining fingers.
  • the hand mechanism 21 has a shape that can be held by the user.
  • the opening / closing mechanism 36 is, as an example in the present embodiment, a linear guide that guides the fingers 34a and 34b so as to be openable / closable in the X-axis direction in the hand mechanism coordinate system shown in FIG. 5, and is attached to the rectangular frame 37.
  • the fingers 34a and 34b are opened and closed by the user inserting the thumb 40a into the belt 38a and narrowing the space between the thumb 40a and the index finger 40b with the index finger 40b inserted into the belt 38b.
  • the fingers 34a and 34b can be closed by moving along the mechanism 36 in the X-axis direction.
  • the fingers 34a and 34b move in the X-axis direction along the opening / closing mechanism 36, and the fingers 34a and 34b are moved. Can be opened.
  • the state detection unit 22 detects the position of the hand mechanism 21 or the position and posture of the hand mechanism 21 as the state of the robot 10.
  • the state detection unit 22 may further detect the positions of the plurality of fingers 34a and 34b in the hand mechanism 21.
  • the state detection unit 22 includes an IMU (Inertial Measurement Unit) 26 that detects the position and posture of the hand mechanism 21 itself.
  • IMU Inertial Measurement Unit
  • the IMU 26 is mounted on, for example, a rectangular frame 37.
  • the IMU 26 is a device that detects translational motion and rotational motion in orthogonal three-axis directions.
  • the IMU 26 includes, for example, an accelerometer and a gyro sensor, the accelerometer detects translational motion, and the gyro sensor detects rotational motion.
  • the IMU 26 detects the position of the hand mechanism 21, specifically, the amount of displacement of the hand mechanism 21 in each axial direction. Further, the IMU 26 detects the posture of the hand mechanism 21, specifically, the tilt angle of the hand mechanism 21 with respect to each axial direction.
  • the state detection unit 22 includes displacement sensors 25a and 25b that detect the positions of the fingers 34a and 34b.
  • the displacement sensors 25a and 25b are provided between the opening / closing mechanism 36 and the rectangular frame 37.
  • the displacement sensor 25a detects a position of the finger 34a in the X-axis direction, specifically, for example, a displacement amount in the X-axis direction from a predetermined reference position (for example, a position where the fingers 34a and 34b are closed).
  • the displacement sensor 25b detects the position of the finger 34b in the X-axis direction.
  • a potentiometer or a linear encoder can be used as an example, but the displacement sensors 25a and 25b are not limited thereto.
  • the state detection unit 22 does not detect the position of each finger independently, but the distance between the fingers 34a and the finger 34b or one of them. Only the position of the finger may be detected. Since the positions of the fingers 34a and 34b can be obtained from the detection result, such detection is also included in detecting the positions of a plurality of fingers.
  • the state detection unit 22 includes a tactile sensor 27a attached to the surface of the finger 34a on the side that grips the peg 54 to be operated. Similarly, the state detection unit 22 includes a tactile sensor 27b attached to the surface of the finger 34b on the side that grips the peg 54. The state detection unit 22 may include only one of the tactile sensors 27a and 27b.
  • the tactile sensors 27a and 27b detect the pressing force received from the peg 54 in contact with the tactile sensors 27a and 27b when the fingers 34a and 34b grip the peg 54.
  • the output unit 24 outputs a series of states detected by the state detection unit 22 as trajectory information of the robot 10. For example, it outputs trajectory information including the position and posture of the hand mechanism 21 detected by the IMU 26 in time series while the user is performing an operation to be taught to the robot 10 by using the robot teaching device 20.
  • the output unit 24 is configured to have, for example, a wireless communication function, and transmits track information to the track generation device 40. Further, the output unit 24 may output and store the orbital information in a memory (not shown).
  • the trajectory information output by the output unit 24 may include the positions of the fingers 34a and 34b detected by the displacement sensors 25a and 25b, and may further include the pressing force detected by the tactile sensors 27a and 27b. ..
  • the input unit 28 is for the user to input the success or failure of the task.
  • a hand mechanism has a success button for inputting that the task of inserting the peg 54 into the hole 55 has succeeded and a failure button for inputting that the task of inserting the peg 54 into the hole 55 has failed. It is provided in the rectangular frame 37 of 21. Then, when the user uses the robot teaching device 20 to perform an operation when the task of inserting the peg 54 into the hole 55 is successful, the success button is pressed. As a result, the output unit 24 outputs the generated orbit information to the orbit generator 40 as successful orbit information. For example, the output unit 24 outputs information indicating success and orbit information.
  • the output unit 24 outputs the generated orbit information to the orbit generator 40 as failure orbit information.
  • the output unit 24 outputs information indicating failure and orbit information.
  • the state observation sensor 14 observes the state of the robot 10 and outputs the observed data as state observation data.
  • the state observation sensor 14 for example, an encoder of the joint of the robot 10, a visual sensor (camera), motion capture, or the like is used.
  • the position and posture of the tip 11a of the arm 11 can be specified from the angle of each joint, and the posture of the part (working object) can be estimated from the visual sensor.
  • the position and posture of the gripper 12 can be specified as the state of the robot 10, and the posture of the part (working object) can be estimated from the position and posture of the gripper 12. ..
  • the visual sensor can also detect the position and posture of the gripper 12 itself and the parts held by the gripper 12 as the state of the robot 10.
  • the position and posture of the gripper 12 with respect to the arm 11 can be specified as the state of the robot 10 by the displacement sensor that detects the displacement of the gripper 12 with respect to the arm 11.
  • various sensors can detect the state of the flexible portion 13, the portion of the robot 10 that grips the object more than the flexible portion 13, and at least one of the gripped parts.
  • the detection results of various sensors can be acquired as state observation data.
  • Examples of state observation data are the angle and angular velocity of each joint acquired from the encoder of the joint of the robot 10, the image obtained by the visual sensor attached to the arm of the robot 10, and the displacement sensor provided in the flexible portion 13.
  • the relative displacement between the portions sandwiching the flexible portion 13 to be formed, the position and orientation of the gripper 12 measured by motion capture, and the like can be mentioned.
  • the position, posture (angle), speed, and angular velocity of the change in posture of the tip 11a of the arm 11 can be obtained. If the position and posture (angle) of each time can be acquired, the time change (speed, angular velocity) can be acquired. Therefore, the reference that the time change can be acquired may be omitted below.
  • the data from the visual sensor determines the position and orientation of the gripper 12 and the object to be gripped with respect to the arm 11.
  • the position and posture of the gripper 12 can be acquired only by the motion capture data.
  • the position and posture of the gripping object with respect to the arm may be obtained by using a visual sensor. Further, if the marker is also attached to the gripping object, the position and posture of the gripping object can be acquired.
  • FIG. 10 is a block diagram showing a hardware configuration of the trajectory generator according to the present embodiment.
  • the orbit generation device 40 has the same configuration as a general computer (information processing device), and has a CPU (Central Processing Unit) 40A, a ROM (Read Only Memory) 40B, and a RAM (Random Access Memory). ) 40C, storage 40D, keyboard 40E, mouse 40F, monitor 40G, and communication interface 40H. Each configuration is communicably connected to each other via bus 40I.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the ROM 40B or the storage 40D stores an orbit generation program for executing the orbit generation process.
  • the CPU 40A is a central arithmetic processing unit that executes various programs and controls each configuration. That is, the CPU 40A reads the program from the ROM 40B or the storage 40D, and executes the program using the RAM 40C as a work area.
  • the CPU 40A controls each of the above configurations and performs various arithmetic processes according to the program recorded in the ROM 40B or the storage 40D.
  • the ROM 40B stores various programs and various data.
  • the RAM 40C temporarily stores a program or data as a work area.
  • the storage 40D is composed of an HDD (Hard Disk Drive), an SSD (Solid State Drive), or a flash memory, and stores various programs including an operating system and various data.
  • the keyboard 40E and the mouse 40F are examples of input devices and are used to perform various inputs.
  • the monitor 40G is, for example, a liquid crystal display and displays a user interface.
  • the monitor 40G may adopt a touch panel method and function as an input unit.
  • the communication interface 40H is an interface for communicating with other devices, and for example, a standard such as Ethernet (registered trademark), FDDI or Wi-Fi (registered trademark) is used.
  • the orbit generation device 40 has an acquisition unit 42, a clustering unit 44, and a generation unit 46 as its functional configuration.
  • Each functional configuration is realized by the CPU 40A reading out the orbit generation program stored in the ROM 40B or the storage 40D, expanding it into the RAM 40C, and executing the program. Note that some or all of the functions may be realized by a dedicated hardware device.
  • the acquisition unit 42 is orbital information representing a series of states of the controlled object taught by the instructor, which is the orbital information when the task performed by the controlled object succeeds, and the successful orbital information when the task fails.
  • the failed orbit information which is the orbit information, is acquired.
  • the controlled object is the robot 10, particularly the gripper 12, and the state of the controlled object includes at least the position of the gripper 12.
  • the position of the gripper 12 is generally represented by a value of three degrees of freedom, but when one degree of freedom of motion is constrained, such as when the object held by the gripper 12 is in contact with a plane. May have one constrained degree of freedom as a fixed value and the remaining two degrees of freedom as substantial orbital information.
  • the position of the gripper 12 may be represented by the position of TCP (tool center point). Further, when the posture of the gripper 12 changes, the state to be controlled preferably includes the posture of the gripper 12 (for example, represented by a value of three degrees of freedom). Further, the positions of the fingers 34a and 34b of the gripper 12 may be included. As described above, the trajectory information is not limited to the position information or the position information and the attitude information in the three-dimensional space of the controlled object, and may include more dimensional information regarding the state of the controlled object.
  • the teacher uses the robot teaching device 20 to generate trajectory information about the task performed by the robot 10 from the start to the end, or a part thereof.
  • the task performed by the robot 10 is, as an example, a fitting operation in which the peg is gripped by the gripper 12 and fitted into the hole, but the task is not limited to this.
  • the instructor uses the robot teaching device 20 to execute successful and unsuccessful actions of the task performed by the robot 10, thereby generating trajectory information of successful or unsuccessful orbits.
  • the instructor uses the robot teaching device 20 to perform at least one successful operation of the task of inserting the peg 54 into the hole 55 to generate success trajectory information.
  • the teacher uses the robot teaching device 20 to perform an operation in which the task of inserting the peg 54 into the hole 55 fails at least once to generate failure trajectory information.
  • the robot teaching device 20 is moved in various trajectories, such as a trajectory in which the peg 54 is moved in a direction different from the direction toward the hole 55, or a trajectory in which the peg 54 passes over the hole 55, and a plurality of failed trajectories. It is preferable to generate information.
  • the acquisition unit 42 may display a display for guiding the trajectory to be taught.
  • a display device outside the monitor 40G or the orbit generation device 40 may be displayed to support the teaching by the instructor as to what kind of success or failure orbit should be taught by the instructor.
  • FIG. 12 is a diagram showing a guide display of the trajectory to be taught.
  • a circular component P having a hole 55 and having a constant thickness is displayed on the screen 40G1 of the monitor 40G.
  • the image of the component P is created based on the image of the component P taken or the CAD data of the component P.
  • the task type "task of inserting the peg into the hole” only the figure indicating the hole may be displayed without displaying the outer shape of the component P. In this way, it is not necessary to acquire information about the shape of the component P.
  • one arrow line which is a guide display of the successful trajectory, and the letter S are displayed along the arrow line.
  • the successful trajectory indicated by the guide display of this successful trajectory is called the successful trajectory S.
  • four arrow lines which are guide displays of the failure trajectory, and the characters F1, F2, F3, or F4 are displayed along each arrow line.
  • Each failed orbit indicated by the guide display of these failed orbits is called a failed orbit F1, F2, F3, F4.
  • the arrow line indicating the orbit may be a curved line.
  • the trajectory to be taught may be displayed so that the trajectory to be taught can be grasped three-dimensionally, including the trajectory before the peg 54 comes into contact with the component P.
  • the peg 54 gripped by the robot teaching device 20 is brought into contact with the component P near the start point of the arrow line, and the peg 54 is moved toward the end point of the arrow line while maintaining the contact. It guides you to perform the insertion into the hole 55. However, if it is considered easy for the teacher to succeed in the task without displaying such a diagram, "Insert the peg into the hole” or “Peg in front of the hole.” After touching the part with, insert the peg into the hole. "
  • the peg 54 gripped by the robot teaching device 20 is brought into contact with the component P near the start point of each arrow line, and the peg 54 is moved toward the end point of each arrow line while maintaining the contact. And guides you to perform the insertion into the hole 55.
  • the peg 54 is brought into contact with the component P before the hole 55, which is the starting point of the arrow, and then the tip of the peg 54 is moved to the opposite side beyond the hole 55 while maintaining the contact. Is guiding you.
  • the clustering unit 44 in FIG. 11 generates a cluster of success classes for the state of the robot 10 from the state of the robot 10 belonging to the success trajectory information and the state of the robot 10 belonging to the failure trajectory information.
  • the clustering unit 44 applies, for example, a clustering method using a mixed Gaussian model (GMM: Gaussian Mixture Model), and calculates and calculates the similarity between the states of the robots 10 belonging to the success orbit information and the failure orbit information. You may generate a cluster of success classes based on the degree.
  • GMM Gaussian Mixture Model
  • the clustering unit 44 calculates the speed of the robot 10 in each state from the position, position, and posture included in each state of the robot 10 belonging to the success trajectory information and the failure trajectory information, and determines the position, position, and posture in each state. The similarity may be calculated from the speed in each state.
  • the clustering unit 44 may adjust the degree of similarity by the adjustment parameter for adjusting the degree of similarity between the states of the robot 10.
  • the degree of similarity between the states of the robot 10 belonging to the success trajectory information becomes large, and the degree of similarity between the state of the robot 10 belonging to the success trajectory information and the state of the robot 10 belonging to the failure trajectory information increases.
  • the adjustment parameter may be set so as to be small.
  • the generation unit 46 generates target trajectory information representing a series of states of the robot 10 that can be used as a control target when the robot 10 executes a task based on a cluster of success classes.
  • the generation unit 46 may generate target orbit information by applying a mixed Gaussian regression method (GMR: Gaussian Mixture Regression) to a cluster of a success class.
  • GMR Gaussian Mixture Regression
  • FIG. 13 is a flowchart of the orbit generation process in which the orbit generator 40 generates the target orbit information.
  • the user uses the robot teaching device 20 to generate at least one success trajectory information and at least one failure trajectory information.
  • the robot teaching device 20 transmits the generated success trajectory information and failure trajectory information to the trajectory generation device 40.
  • the robot movement is learned using only the success trajectory information that represents the taught success trajectory.
  • the robot cannot always follow the taught success trajectory accurately. Also, following a trajectory that is overfitted only to a successful trajectory may lead to task failure.
  • the target trajectory information used when learning the movement in the task performed by the robot 10 is generated by using not only the success trajectory information but also the failure trajectory information. As a result, the target trajectory information of the target trajectory that avoids the failed trajectory is generated.
  • step S100 the CPU 40A acquires success trajectory information and failure trajectory information from the robot teaching device 20 as the acquisition unit 42.
  • step S102 the CPU 40A, as the clustering unit 44, generates a cluster of success classes for the state of the robot 10 from the state of the robot 10 belonging to the success trajectory information and the state of the robot 10 belonging to the failure trajectory information.
  • GMM Gaussian Mixture Model
  • GMM represents a dataset as a superposition of multiple Gaussian distributions.
  • the general GMM method has a problem that the expressive ability is low and it is difficult to distinguish between a success trajectory and a failure trajectory.
  • the number of Gaussian distributions (clusters) most applicable to each orbital information the mean and variance of each Gaussian distribution, and each It is necessary to calculate the weight when superimposing the Gaussian distribution.
  • the PC-GMM Physical-Consisted GMM
  • FIGUEROA Nadia; BILLARD, Aude. "A Physically-Consistent Bayesian Non-Parametric Mixture Model for Dynamical System Learning.” In: CoRL. 2018. p. 927-946.
  • step S102 PC-GMM is applied to each of the success orbit information and the failure orbit information acquired in step S100, and a cluster of success class is generated.
  • PC-GMM is used to calculate the similarity between the states of the robot 10 belonging to the success trajectory information and the failure trajectory information, and the calculated similarity is obtained. Based on, generate a cluster of success classes.
  • the similarity is adjusted by the adjustment parameter ⁇ that adjusts the similarity between the states i and j of the robot 10.
  • the similarity ⁇ is calculated by the following equation.
  • x is the position of the robot 10.
  • I the speed of the robot 10.
  • l is a scale parameter.
  • step S102 the speed of the robot 10 in each state is calculated from the position and posture included in each state of the robot 10 belonging to the success trajectory information and the failure trajectory information, and the position and posture in each state and the speed in each state are calculated.
  • the similarity ⁇ is calculated from.
  • the state of the robot 10 can be accurately expressed as compared with the conventional method using a general GMM.
  • the adjustment parameter ⁇ that adjusts the similarity between the states i and j of the robot 10 is used. Adjust the similarity ⁇ .
  • the degree of similarity between the states of the robot 10 belonging to the success trajectory information becomes large, and the degree of similarity between the state of the robot 10 belonging to the success trajectory information and the state of the robot 10 belonging to the failure trajectory information becomes large.
  • Set the adjustment parameter ⁇ so that it becomes smaller.
  • the vertical axis of the graphs of FIGS. 14 to 16 is the position of the robot teaching device 20, and the horizontal axis is time.
  • the position of the robot teaching device 20 represents a component in the direction from the start position of each trajectory in FIG. 12 toward the center of the hole 55, and the upward direction in FIG. 12 is downward in FIGS. 14 to 16.
  • Corresponds to the direction. 14 to 16 plot the measured values of the position of the robot teaching device 20 with the passage of time.
  • the point of successful is the measured value when the success trajectory is taught (success trajectory information)
  • the point of filed is the measured value when the failure trajectory is taught (failure trajectory information).
  • the cluster CS of the success class and the cluster CF of the failure class are shown by ellipses, respectively.
  • the cluster CS of the success class and the cluster CF of the failure class were generated by applying the PC-GMM to the success orbit information and the failure orbit information.
  • the actual cluster is represented by a distribution of values that follows a Gaussian distribution, and the ellipse shown shows the contour lines of the cluster values.
  • FIG. 15 shows the success trajectory information and the cluster CS of the success class extracted from FIG.
  • the success trajectory is toward the lower part of the graph (upper part of FIG. 12) in the first time zone.
  • This portion represents the movement of the robot teaching device 20 corresponding to the fit of FIG.
  • the lowest point of the successful trajectory in FIG. 14 corresponds to the end state of the fit, at which time the tip of the peg 54 is caught in the hole 55 and the posture of the peg 54 is slightly tilted, and the robot teaching device 20 has a hole. It's just past 55.
  • Subsequent parts of the success trajectory that change toward the top of the graph (bottom of FIG. 12) correspond to the alignment in FIG. In this portion, the moving direction of the robot teaching device 20 is reversed, and the posture of the peg 54 is caused vertically.
  • the portion of the latter half of FIG. 14 where the change in the position of the successful trajectory is small corresponds to the insert of FIG. In this part, since the successful trajectory is directed toward the axial direction of the hole, the positional component represented by the vertical direction in FIG. 14 hardly changes.
  • the failure trajectory above the success trajectory and the cluster CF of the failure class are the results when the robot teaching device 20 is moved in the direction opposite to the direction toward the hole 55 as in the failure trajectory F2 in FIG. Is. Further, the failure trajectory below the success trajectory and the cluster CF of the failure class move the robot teaching device 20 in a direction deviating from the direction toward the hole 55 to the left or right, as in the failure trajectories F3 and F4 in FIG. Is the result of the case.
  • the figure on the left side of FIG. 16 shows a success class cluster CS generated from both success orbit information and failure orbit information, and a failure class cluster CF generated from both success orbit information and failure orbit information.
  • the central figure of FIG. 16 shows the cluster CS of the success class generated only from the success trajectory information.
  • the figure on the right side of FIG. 16 shows the target trajectory K1 (success and failure) generated by applying GMR to the cluster CS of the success class shown in the figure on the left side of FIG. 16, and the figure in the center of FIG.
  • the target trajectory K2 (success only) generated by applying GMR to the cluster CS of the successful class is shown.
  • the target orbit K1 has less abrupt changes than the target orbit K2. This means that the maximum acceleration of the target orbit K1 can be smaller. It can be evaluated that the target orbit K1 is not overfitted only with the successful orbit information.
  • the CPU 40A can be used as a control target when the robot 10 executes a task based on the cluster CS of the success class as the generation unit 46, and the target trajectory information representing a series of states of the robot 10 is represented.
  • GMR is applied to the cluster CS of the success class to generate target orbit information.
  • What is obtained by GMR is the time change of the position represented by the Gaussian distribution, but as the control target, the time change of the maximum value or the average value of the position distribution can be used.
  • multidimensional target orbit information is generated based on multidimensional success orbit information and failure orbit information.
  • step S106 the target trajectory information generated in step S104 is corrected. Since the target trajectory information generated in step S104 represents the trajectory (for example, position and posture) of the robot teaching device 20, it is necessary to correct (convert) it to the trajectory of the robot 10. Therefore, in step S106, the target trajectory information generated in step S104 is set as an offset between the position and posture of the robot 10 when the peg 54 is inserted into the hole 55 and the position and posture of the robot teaching device 20. To fix.
  • the position of the peg 54 with respect to the gripper 12 does not vary during the execution of the task, but in reality, the position of the peg 54 with respect to the gripper 12 may differ each time the peg 54 is gripped. ..
  • the position of the peg 54 with respect to the gripper 12 may be calculated based on the image taken by the external camera, and the target trajectory information may be corrected based on the calculated position.
  • the learning device 50 acquires the learning model of the robot 10 by using machine learning.
  • model-based machine learning with particularly high data efficiency is used as reinforcement learning that can be learned by trial and error without teacher data.
  • the learning model (learned model) acquired by the learning device 50 is mounted on the control device that controls the robot 10 and is used for actual work.
  • This control device may have a learning function, in which case additional learning may be performed.
  • the robot 10 since the robot 10 has the flexible portion 13, it is easy to operate the gripper 12 or the object while contacting the environment without performing complicated force control. In addition, since the gripper or the object can be brought into contact with the environment without decelerating too much, high-speed work can be performed. In addition, since the learning model is acquired by machine learning, the system can be easily constructed.
  • the learning device 50 includes a storage unit 61, a model update unit 62, a learning model 63, a reward calculation unit 64, and an action determination unit 65.
  • the storage unit 61 stores the state observation data related to the state of the robot 10 measured by the state observation sensor 14 and the speed command value output from the action determination unit 65.
  • the model update unit 62 includes the state observation data of the state x t at a certain time t, the speed command value ut, and the next time t + 1 from the state observation data and the speed command value stored in the storage unit 61.
  • the state observation data of the state x t + 1 and the measurement data of a plurality of sets (for example, 300 sets) at a plurality of randomly selected time t are acquired as one set of measurement data.
  • the model parameters of the learning model 63 are updated for each control cycle with the goal of minimizing the error between the state and the state x t measured at time t + 1. In this way, the model parameters are updated using the so-called gradient method, and the updated model parameters are output to the learning model 63.
  • the model parameters are updated once or multiple times in one control cycle at the start of the control cycle prior to other processing.
  • the model parameters may be updated before the task starts, not every control cycle.
  • the task of inserting a peg into a hole update the model parameters between the end of execution of one task and the start of execution of the next task. May be good.
  • the model parameter update may be completed during the trial operation until the specific task can be executed, and the model parameter update may not be performed after the actual execution of the task is started.
  • the state transition model is a model that outputs the next state x t + 1 after the action by inputting the state x t and the speed command value ut which is the action of the robot 10 at that time.
  • n speed command value candidates are input from the action determination unit 65, n state prediction values are generated, and the prediction values are output to the reward calculation unit 64.
  • the reward calculation unit 64 calculates the reward value rt + 1 by the following equation for each of the predicted values f (x t , ut ) of the n states output from the learning model 63, and outputs the reward value rt + 1 to the action determination unit 65. ..
  • xd is a target value of the state of the robot 10, that is, a target value of a six-dimensional value representing the position and posture of the robot 10.
  • the target value is obtained from the target trajectory information generated by the trajectory generator 40.
  • f is a function representing a learning model
  • f ( xt , ut ) is a predicted value of a six-dimensional value representing the position and posture of the robot 10.
  • the learning model 63 outputs the predicted value at the next time t + 1, that is, the next time step (control cycle), but may output the predicted value up to a plurality of steps ahead. Then, the reward calculation unit 64 may obtain the reward value r for each time step from each predicted value and the target value corresponding to each predicted value, and output the total reward value R.
  • the action determination unit 65 obtains a speed command value that can maximize the reward value based on the relationship between the n speed command value candidates and the reward value r or the reward value R corresponding to each, and the speed command value. Is output to the robot 10.
  • a so-called cross-entropy method CEM is used to specify a speed command value that can maximize the reward value and output it to the robot 10.
  • the learning model 63 may not be used, and the reward value may not be used for the action determination in the action determination unit 65.
  • the action determination unit 65 outputs a random speed command value to the robot 10, and the state observation data measured as a result is collected repeatedly every control cycle, from the time when the state observation data can be collected to some extent. You may want to start updating the model parameters.
  • FIG. 18 is a flowchart showing the flow of learning processing in which the learning device 50 learns the learning model 63 using machine learning.
  • steps S200 to S214 described below are executed at regular time intervals according to the control cycle.
  • step S200 the model update unit 62 updates the learning model. Specifically, first, a set of a state (position and attitude) x t , a speed command value ut, and a state x t + 1 randomly selected from the storage units 61 for, for example, 100 times t is acquired. do.
  • the state x t + 1 is a measured state stored for t + 1, which is the time next to the selected time t.
  • model parameters are modified with the goal of minimizing the error between the state x t + 1 and the predicted value f (x t , ut ).
  • a new model parameter is set in the learning model 63.
  • the new model parameter is stored in the model update unit 62 for use as the "previous model parameter" in the next control cycle.
  • step S202 the action determination unit 65 randomly generates n (for example, 300) speed command value candidates and outputs them to the learning model 63.
  • step S204 the learning model 63 generates predicted values of n states corresponding to the n speed command value candidates generated in step S202 and outputs them to the reward calculation unit 64.
  • step S206 the reward calculation unit 64 calculates the reward value for each of the predicted values of the n states generated in step S204.
  • step S208 it is determined whether or not this routine has been looped a predetermined number of times (for example, twice), and if the routine has not been looped a predetermined number of times, the process proceeds to step S210, and if the routine has been looped a predetermined number of times, the process proceeds to step S212.
  • a predetermined number of times for example, twice
  • step S210 the action determination unit 65 extracts m speed command value candidates having a higher reward value from n sets of speed command value candidates and reward values.
  • m is set to a value of about 30% of n (for example, 100). Then, the average and variance of the extracted m velocity command value candidates are calculated, and a normal distribution is generated. Next, n new velocity command value candidates whose probability densities match the generated normal distribution are generated. After that, the process returns to step S204, in which the n speed command value candidates generated in step S210 are used.
  • step S212 the current measured state x, which is the result of the previous speed command, is acquired from the state observation sensor 14 and stored in the storage unit 61.
  • step S214 the action determination unit 65 outputs the speed command value u capable of maximizing the reward value to the robot 10 and stores it in the storage unit 61.
  • the target trajectory information used when learning the movement in the task performed by the robot 10 is generated by using not only the success trajectory information but also the failure trajectory information. This produces target orbit information about the target orbit that avoids the failed orbit and is not overfitted only with the successful orbit information. Then, since the robot 10 is controlled using the target trajectory information generated in this way, the task can be accomplished with a higher success rate.
  • processors other than the CPU may execute the orbit generation process executed by the CPU reading the software (program) in each of the above embodiments.
  • PLD Programmable Logic Device
  • FPGA Field-Programmable Gate Array
  • ASIC Application Specific Integrated Circuit
  • An example is a dedicated electric circuit or the like, which is a processor having a circuit configuration designed exclusively for the purpose.
  • the orbit generation process may be executed by one of these various processors, or a combination of two or more processors of the same type or different types (for example, a plurality of FPGAs and a combination of a CPU and an FPGA). Etc.).
  • the hardware-like structure of these various processors is, more specifically, an electric circuit in which circuit elements such as semiconductor elements are combined.
  • the mode in which the orbit generation program is stored (installed) in the storage 40D or ROM 40B in advance has been described, but the present invention is not limited to this.
  • the program is provided in a form recorded on a recording medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versaille Disc Read Only Memory), and a USB (Universal Serial Bus) memory. Further, the program may be downloaded from an external device via a network.
  • Robot system 10 Robot 11 Arm 12 Gripper 13 Flexible part 14 State observation sensor 20 Robot teaching device 40 Orbit generation device 42 Acquisition unit 44 Clustering unit 46 Generation unit 50 Learning device

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

軌道生成装置は、教示者によって教示される制御対象の一連の状態を表す軌道情報であって、制御対象が行うタスクが成功する場合の軌道情報である成功軌道情報と、タスクが失敗する場合の軌道情報である失敗軌道情報と、を取得する取得部と、成功軌道情報に属する制御対象の状態と失敗軌道情報に属する制御対象の状態とから制御対象の状態についての成功クラスのクラスタを生成するクラスタリング部と、成功クラスのクラスタに基づいて、タスクを制御対象に実行させる際に制御目標として使用できる、制御対象の一連の状態を表す目標軌道情報を生成する生成部と、を備える。

Description

軌道生成装置、軌道生成方法、及び軌道生成プログラム
 本開示は、軌道生成装置、軌道生成方法、及び軌道生成プログラムに関する。
 物理的に柔軟な柔軟部を有するソフトロボットは、柔軟部を有しない硬いロボットに比べて安全な接触が可能であり、組立動作への応用が期待されている。
 その一方で、柔軟さによるダイナミクスの複雑さから、手動で制御器を設計するのは困難である。
 制御器の設計には学習(例えば強化学習)のアプローチが有効であるが、制御目的(報酬関数)の設計も難しい。なぜならば、硬いロボットと比べて、目標状態(位置)などに正確に追従することが困難だからである。
 例えば、ロボットがペグを穴に挿入する挿入タスクにおいて、挿入位置の誤差を報酬関数とした場合、ペグが穴の上に到達しないまま差し込みを行ってしまったり、ペグを穴にフィットさせるときに、勢いが余ってオーバーシュートしてしまったりしてしまう場合がある。
 非特許文献1には、ペグの挿入タスクを複数のサブタスクに区分化して、各区分の制御則を手動で設計する方法が開示されている。
 また、非特許文献2には、ロボットの運動学習にモデルベース強化学習(Guided Policy Search)を用いる方法が開示されている。この方法では、ロボットが学習中に経験してきた失敗軌道から遠ざかるように方策を更新する。
 また、非特許文献3には、逆強化学習を用いて、教示者の成功軌道及び失敗軌道から報酬及び方策を学習する方法が開示されている。この方法では、方策及び報酬の更新の際に、失敗軌道から離れるような拘束を与える。
   非特許文献1:Nishimura et al., "Peg-in-hole under state uncertainties via a passive wrist joint with push-activate-rotation function," 2017 IEEE-RAS 17th International Conference on Humanoid Robotics (Humanoids), pp 67-74, 2020.
   非特許文献2:Esteban et al, "Learning Deep Robot Controllers by Exploiting Successful and Failed Executions," 2018 IEEE-RAS 18th International Conference on Humanoid Robots (Humanoids), pp 1-9, 2018.
   非特許文献3:Shiarlis et al., "Inverse reinforcement learning from failure," International Conference on Autonomous Agents & Multiagent Systems, pp 1060-1068, 2016.
 非特許文献1に開示の方法では、タスクに関する知識を十分に持った設計者しか複数のサブタスクへの区分化ができない、という問題があった。
 また、非特許文献2に開示の方法では、タスクの失敗は学習中に初めてわかるので、どのような失敗をするかで性能が大きく変化する可能性がある、という問題があった。
 また、非特許文献3に開示の方法では、更新した方策及び報酬の正しさを確認するために、方策及び報酬が与えられたときのエージェントの振る舞いのデータを繰り返し取得しなければならない、という問題があった。また、この方法は、離散状態空間表現でありシミュレーション上でしか扱っておらず、実機に適用できるとは限らない、という問題があった。
 本開示は、上記の点に鑑みてなされたものであり、より高い成功率でタスクを達成するための目標軌道情報を生成することができる軌道生成装置、軌道生成方法、及び軌道生成プログラムを提供することを目的とする。
 開示の第1態様は、軌道生成装置であって、教示者によって教示される制御対象の一連の状態を表す軌道情報であって、前記制御対象が行うタスクが成功する場合の軌道情報である成功軌道情報と、前記タスクが失敗する場合の軌道情報である失敗軌道情報と、を取得する取得部と、前記成功軌道情報に属する前記制御対象の状態と前記失敗軌道情報に属する前記制御対象の状態とから前記制御対象の状態についての成功クラスのクラスタを生成するクラスタリング部と、前記成功クラスのクラスタに基づいて、前記タスクを前記制御対象に実行させる際に制御目標として使用できる、前記制御対象の一連の状態を表す目標軌道情報を生成する生成部と、を備える。
 上記第1態様において、前記クラスタリング部は、混合ガウスモデルを用いたクラスタリング手法を適用するとともに、前記成功軌道情報及び前記失敗軌道情報に属する前記制御対象の状態同士の類似度を算出し、算出した類似度に基づいて、前記成功クラスのクラスタを生成するようにしてもよい。
 上記第1態様において、前記制御対象の状態は、前記制御対象の位置又は前記制御対象の位置及び姿勢であり、前記クラスタリング部は、前記成功軌道情報及び前記失敗軌道情報に属する前記制御対象の各状態に含まれる位置又は位置及び姿勢から前記各状態における前記制御対象の速度を算出し、前記各状態における位置又は位置及び姿勢と前記各状態における速度とから前記類似度を算出するようにしてもよい。
 上記第1態様において、前記クラスタリング部は、前記制御対象の状態同士の類似度を調整する調整パラメータにより前記類似度を調整するようにしてもよい。
 上記第1態様において、前記クラスタリング部は、前記成功軌道情報に属する前記制御対象の状態同士の間の類似度が大きくなり、前記成功軌道情報に属する前記制御対象の状態と前記失敗軌道情報に属する前記制御対象の状態との間の類似度が小さくなるように前記調整パラメータを設定するようにしてもよい。
 上記第1態様において、前記生成部は、前記成功クラスのクラスタに対して混合ガウス回帰手法を適用して前記目標軌道情報を生成するようにしてもよい。
 上記第1態様において、前記取得部は、さらに、教示すべき軌道を案内するための表示をさせるようにしてもよい。
 開示の第2態様は、軌道生成方法であって、コンピュータが、教示者によって教示される制御対象の一連の状態を表す軌道情報であって、前記制御対象が行うタスクが成功する場合の軌道情報である成功軌道情報と、前記タスクが失敗する場合の軌道情報である失敗軌道情報と、を取得し、前記成功軌道情報に属する前記制御対象の状態と前記失敗軌道情報に属する前記制御対象の状態とから前記制御対象の状態についての成功クラスのクラスタを生成し、前記成功クラスのクラスタに基づいて、前記タスクを前記制御対象に実行させる際に制御目標として使用できる、前記制御対象の一連の状態を表す目標軌道情報を生成する。
 開示の第3態様は、軌道生成プログラムであって、コンピュータに、制御対象の動作が成功した場合の成功軌道に関する成功軌道情報と、前記制御対象の動作が失敗した場合の失敗軌道に関する失敗軌道情報と、を取得し、前記成功軌道情報及び前記失敗軌道情報に基づいて、前記成功軌道における前記制御対象の各位置及び前記失敗軌道における前記制御対象の各位置を、予め定めたクラスタリング手法により成功クラス及び失敗クラスにクラスタリングし、前記成功クラスにクラスタリングされた前記制御対象の位置に基づいて、前記制御対象の目標軌道に関する目標軌道情報を生成する処理を実行させる。
 本開示によれば、より高い成功率でタスクを達成するための目標軌道情報を生成することができる。
ロボットシステムの構成図である。 ロボット10の概略構成を示す図である。 ロボットのアームの先端側を拡大した図である。 ペグの嵌め込み作業を構成する動作区分を説明するための図である。 ロボット教示装置の構成図である。 ハンド機構の三面図である。 ハンド機構の斜視図である。 ハンド機構を手で持った状態を示す図である。 ハンド機構の指を閉じた状態を示す図である。 ハンド機構の指を開いた状態を示す図である。 軌道生成装置のハードウェア構成を示すブロック図である。 軌道生成装置の機能ブロック図である。 教示する軌道のガイド表示を示す図である。 教示する軌道のガイド表示を示す図である。 軌道生成処理のフローチャートである。 成功クラスのクラスタ及び失敗クラスのクラスタについて説明するための図である。 成功クラスのクラスタを示す図である。 成功軌道情報及び失敗軌道情報を用いて生成された目標軌道と、成功軌道情報のみを用いて生成された目標軌道と、について説明するための図である。 学習装置の機能ブロック図である。 学習処理のフローチャートである。
 以下、本開示の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されている場合があり、実際の比率とは異なる場合がある。
 図1は、ロボット10を制御するための学習モデルを学習するためのロボットシステム1の構成を示す。ロボットシステム1は、ロボット10、ロボット教示装置20、状態観測センサ14、軌道生成装置40、及び学習装置50を有する。
(ロボット)
 図2A、図2Bは、制御対象の一例としてのロボット10の概略構成を示す図である。本実施形態におけるロボット10は、6軸垂直多関節ロボットであり、アーム11の先端11aに柔軟部13を介してグリッパ(ハンド)12が設けられる。ロボット10は、グリッパ12によって部品(例えばペグ)を把持して穴に嵌め込む嵌め込み作業を行う。
 図2Aに示すように、ロボット10は、関節J1~J6を備えた6自由度のアーム11を有する。各関節J1~J6は、図示しないモータによりリンク同士を矢印C1~C6の方向に回転可能に接続する。ここでは、垂直多関節ロボットを例に挙げたが、水平多関節ロボット(スカラーロボット)であってもよい。また、6軸ロボットを例に挙げたが、5軸や7軸などその他の自由度の多関節ロボットであってもよく、パラレルリンクロボットであってもよい。
 グリッパ12は、1組の挟持部12aを有し、挟持部12aを制御して部品を挟持する。グリッパ12は、柔軟部13を介してアーム11の先端11aと接続され、アーム11の移動に伴って移動する。本実施形態では、柔軟部13は各バネの基部が正三角形の各頂点になる位置関係に配置された3つのバネ13a~13cにより構成されるが、バネの数はいくつであってもよい。また、柔軟部13は、位置の変動に対して復元力を生じて、柔軟性が得られる機構であればその他の機構であってもよい。例えば、柔軟部13は、バネやゴムのような弾性体、ダンパ、空気圧または液圧シリンダなどであってもよい。柔軟部13は、受動要素によって構成されることが好ましい。柔軟部13により、アーム11の先端11aとグリッパ12は、水平方向および垂直方向に、5mm以上、好ましくは1cm以上、更に好ましくは2cm以上、相対移動可能に構成される。
 グリッパ12がアーム11に対して柔軟な状態と固定された状態とを切り替えられるような機構を設けてもよい。
 また、ここではアーム11の先端11aとグリッパ12の間に柔軟部13を設ける構成を例示したが、グリッパ12の途中(例えば、指関節の場所または指の柱状部分の途中)、アームの途中(例えば、関節J1~J6のいずれかの場所またはアームの柱状部分の途中)に設けられてもよい。また、柔軟部13は、これらのうちの複数の箇所に設けられてもよい。
 ロボットシステム1は、上記のように柔軟部13を備えるロボット10の制御を行うためのモデルを、機械学習(例えばモデルベース強化学習)を用いて獲得する。ロボット10は柔軟部13を有しているため、把持した部品を環境に接触させても安全であり、また、制御周期が遅くても嵌め込み作業などを実現可能である。一方、柔軟部13によってグリッパ12および部品の位置が不確定となるため、解析的な制御モデルを得ることは困難である。そこで、本実施形態では機械学習を用いて制御モデルを獲得する。
 本実施形態では、一例として、ペグの嵌め込み作業という1つの作業(タスク)をロボット10に教示するための軌道情報を、ロボット教示装置20を用いて生成する。ペグの嵌め込み作業を複数の動作区分に分割して説明する。本実施形態では、ロボット教示装置20を用いて、1の動作区分又は連続する複数の動作区分に対応する軌道情報を生成する。
 図3を参照して、本実施形態におけるペグの嵌め込み作業を構成する動作区分について説明する。図3においては、51はアーム先端、52はグリッパ、53は柔軟部、54は把持対象物(ペグ)、55は穴を表す。図3の、符号56および57はそれぞれ、各動作区分において考慮する状態および行動を示す。
 ペグ嵌め込み作業全体の目的は、ペグ54を穴55に挿入することである。ペグの嵌め込み作業は、次の5つの動作区分に分割すると理解しやすい。
 n1:アプローチ
 n2:コンタクト
 n3:フィット
 n4:アライン
 n5:インサート
 「n1:アプローチ」は、グリッパ52を任意の初期位置から穴55付近まで接近させる動作である。「n2:コンタクト」は、ペグ54を穴55付近の表面に接触させる動作である。柔軟部53を固定モードと柔軟モードで切り替え可能な場合には、接触前に柔軟部53を柔軟モードに切り替える。「n3:フィット」は、ペグ54が表面に接触した状態を保ったままペグ54を移動させて、ペグ54の先端が穴55の先端に嵌まるようにする動作である。「n4:アライン」は、ペグ54の先端が穴55に嵌まって接触している状態を保ったまま、ペグ54の姿勢が穴55の軸に平行(この例では鉛直)になるようにする動作である。「n5:インサート」は、ペグ54を穴55の底まで挿入する動作である。
 教示者は、後述するロボット教示装置20を用いて上記の動作区分の内の1の動作区分又は連続する複数の動作区分に対応させて、ペグ54の挿入が成功する動作及び失敗する動作を実行することにより、成功軌道及び失敗軌道の軌道情報を生成させる。
(ロボット教示装置)
 図4に示すように、ロボット教示装置20は、ハンド機構21、状態検出部22、出力部24、入力部28を含む。詳細は後述するが、状態検出部22は、変位センサ25a、25b、IMU26、及び触覚センサ27a、27bを備える。
 図5には、ハンド機構21の三面図を示した。また、図6には、ハンド機構21の斜視図を示した。
 図5、6に示すように、ハンド機構21は、ハンドル30と、ハンドル30の一端に取り付けられた操作部32と、を備える。ハンドル30は、本実施形態では一例として円筒状である。
 操作部32は、操作対象を把持する2つの指34a、34bと、2つの指34a、34bを開閉可能な開閉機構36と、を備える。
 なお、本実施形態においては、指34a、34bは、図2における挟持部12aに対応する。また、指34a、34bが把持する操作対象は、図3におけるペグ54に対応する。
 指34aには、ベルト38aが取り付けられている。また、指34bには、ベルト38aと同様のベルト38bが取り付けられている。
 図7に示すように、教示者としてのユーザは、ベルト38aに親指40aを挿入し、ベルト38bに人差し指40bを挿入し、残りの指でハンドル30を握ることにより、ハンド機構21を持つことができる。すなわち、ハンド機構21は、ユーザが手持ち可能な形状となっている。
 開閉機構36は、本実施形態では一例として、指34a、34bを図5に示すハンド機構座標系におけるX軸方向に開閉可能に案内するリニアガイドであり、矩形枠37に取り付けられている。
 図8に示すように、ユーザが親指40aをベルト38aに挿入し、人差し指40bをベルト38bに挿入した状態で親指40aと人差し指40bとの間を狭める動作を行うことにより、指34a、34bが開閉機構36に沿ってX軸方向に移動し、指34a、34bを閉じることができる。
 また、図9に示すように、ユーザが親指40aと人差し指40bとの間を広げる動作を行うことにより、指34a、34bが開閉機構36に沿ってX軸方向に移動し、指34a、34bを開くことができる。
 状態検出部22は、ハンド機構21の位置又はハンド機構21の位置及び姿勢をロボット10の状態として検出する。状態検出部22は、さらにハンド機構21における複数の指34a、34bの位置を検出してもよい。
 具体的には、状態検出部22は、ハンド機構21自体の位置及び姿勢を検出するIMU(Inertial Measurement Unit:慣性計測装置)26を備える。IMU26は、図5等では図示は省略しているが、例えば矩形枠37上に取り付けられる。IMU26は、直交する3軸方向の並進運動及び回転運動を検出する装置である。IMU26は、例えば加速度センサ及びジャイロセンサを含み、加速度センサにより並進運動を検出し、ジャイロセンサにより回転運動を検出する。
 IMU26は、ハンド機構21の位置、具体的には、ハンド機構21の各軸方向の変位量を検出する。また、IMU26は、ハンド機構21の姿勢、具体的には、ハンド機構21の各軸方向に対する傾き角度を検出する。
 なお、ロボット10のグリッパ12が鉛直方向下向きの姿勢を維持する動作を教示する場合のように、一定の姿勢を維持する動作を教示する場合には、ハンド機構21の位置を検出できればよいため、ハンド機構21の姿勢を検出するセンサは省略してもよい。
 また、状態検出部22は、指34a、34bの位置を検出する変位センサ25a、25bを備える。
 変位センサ25a、25bは、開閉機構36と矩形枠37との間に設けられている。変位センサ25aは、指34aのX軸方向における位置、具体的には、例えば予め定めた基準位置(例えば指34a、34bを閉じた位置)からのX軸方向における変位量を検出する。同様に、変位センサ25bは、指34bのX軸方向における位置を検出する。変位センサ25a、25bには、一例としてポテンショメータやリニアエンコーダを用いることができるが、これに限られるものではない。
 状態検出部22は、指34a、34bが対称に動く構造になっている場合には、各指の位置を独立に検出せずに、指34aと指34bとの間の間隔又はどちらか一方の指の位置だけを検出してもよい。その検出結果から、指34a、34bの位置を求めることができるので、このような検出をすることも複数の指の位置を検出することに含まれる。
 また、状態検出部22は、操作対象であるペグ54を把持する側の指34aの表面に取り付けられた触覚センサ27aを備える。同様に、状態検出部22は、ペグ54を把持する側の指34bの表面に取り付けられた触覚センサ27bを備える。状態検出部22は、触覚センサ27a、27bのいずれか一方だけを備えるようにしてもよい。
 触覚センサ27a、27bは、指34a、34bがペグ54を把持したときに触覚センサ27a、27bに接触したペグ54から受ける押圧力を検出する。
 出力部24は、状態検出部22により検出された一連の状態をロボット10の軌道情報として出力する。例えば、ユーザがロボット教示装置20を用いてロボット10に教示すべき動作を行っている間に時系列でIMU26により検出されたハンド機構21の位置及び姿勢を含む軌道情報を出力する。具体的には、出力部24は、例えば無線通信機能を備えた構成とし、軌道情報を軌道生成装置40に送信する。また、出力部24は、軌道情報を図示しないメモリに出力して記憶させるようにしてもよい。
 出力部24が出力する軌道情報には、変位センサ25a、25bで検出された指34a、34bの位置を含めてもよく、さらに、触覚センサ27a、27bで検出された押圧力を含めてもよい。
 入力部28は、ユーザがタスクの成功又は失敗を入力するためのものである。例えば入力部28として、ペグ54を穴55に挿入するタスクが成功したことを入力するための成功ボタン及びペグ54を穴55に挿入するタスクが失敗したことを入力するための失敗ボタンをハンド機構21の矩形枠37に設ける。そして、ユーザがロボット教示装置20を用いて、ペグ54を穴55に挿入するタスクが成功した場合の動作を行った場合には成功ボタンを押下する。これにより、出力部24は、生成された軌道情報を成功軌道情報として軌道生成装置40に出力する。例えば、出力部24は、成功を示す情報と軌道情報とを出力する。また、ペグ54を穴55に挿入するタスクが失敗した場合の動作を行った場合には失敗ボタンを押下する。この場合、出力部24は、生成された軌道情報を失敗軌道情報として軌道生成装置40に出力する。例えば、出力部24は、失敗を示す情報と軌道情報とを出力する。
(状態観測センサ)
 状態観測センサ14は、ロボット10の状態を観測し、観測したデータを状態観測データとして出力する。状態観測センサ14としては、例えば、ロボット10の関節のエンコーダ、視覚センサ(カメラ)、モーションキャプチャ等が用いられる。ロボット10の状態として、各関節の角度からアーム11の先端11aの位置及び姿勢が特定でき、視覚センサから部品(作業対象物)の姿勢が推定できる。モーションキャプチャ用のマーカーがグリッパ12に取り付けられている場合には、ロボット10の状態としてグリッパ12の位置及び姿勢が特定でき、グリッパ12の位置・姿勢から部品(作業対象物)の姿勢が推定できる。
 また、視覚センサによっても、グリッパ12自体やグリッパ12が把持している部品の位置及び姿勢をロボット10の状態として検出できる。グリッパ12とアーム11との間が柔軟部である場合、アーム11に対するグリッパ12の変位を検出する変位センサによってもアーム11に対するグリッパ12の位置及び姿勢をロボット10の状態として特定することができる。
 このように、各種のセンサによって、柔軟部13、柔軟部13よりも対象物を把持する側のロボット10の部位、および把持されている部品の少なくとも何れかについての状態を検出することができ、各種センサの検出結果を状態観測データとして取得することができる。
 状態観測データの例としては、ロボット10の関節のエンコーダから取得される各関節の角度および角速度、ロボット10のアームに取り付けられた視覚センサによって得られる画像、柔軟部13に設けた変位センサによって測定される柔軟部13を挟む部位の間の相対的な変位、モーションキャプチャによって測定されるグリッパ12の位置及び姿勢が挙げられる。
 関節エンコーダからのデータから、アーム11の先端11aの位置、姿勢(角度)、速度、姿勢の変化についての角速度が求められる。なお、各時刻の位置及び姿勢(角度)が取得できればその時間変化(速度、角速度)は取得できるので、以下では時間変化が取得可能であることの言及は省略することもある。視覚センサからのデータによって、アーム11に対するグリッパ12および把持対象物の位置及び姿勢が求められる。
 また、グリッパ12にモーションキャプチャ用のマーカーが取り付けられている場合には、モーションキャプチャデータのみによってグリッパ12の位置及び姿勢を取得できる。アームに対する把持対象物の位置及び姿勢は視覚センサを用いて求めてもよい。また、把持対象物にもマーカーが取り付けられていれば、把持対象物の位置及び姿勢も取得できる。
(軌道生成装置)
 図10は、本実施形態に係る軌道生成装置のハードウェア構成を示すブロック図である。図10に示すように、軌道生成装置40は、一般的なコンピュータ(情報処理装置)と同様の構成であり、CPU(Central Processing Unit)40A、ROM(Read Only Memory)40B、RAM(Random Access Memory)40C、ストレージ40D、キーボード40E、マウス40F、モニタ40G、及び通信インタフェース40Hを有する。各構成は、バス40Iを介して相互に通信可能に接続されている。
 本実施形態では、ROM40B又はストレージ40Dには、軌道生成処理を実行するための軌道生成プログラムが格納されている。CPU40Aは、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU40Aは、ROM40B又はストレージ40Dからプログラムを読み出し、RAM40Cを作業領域としてプログラムを実行する。CPU40Aは、ROM40B又はストレージ40Dに記録されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。ROM40Bは、各種プログラム及び各種データを格納する。RAM40Cは、作業領域として一時的にプログラム又はデータを記憶する。ストレージ40Dは、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又はフラッシュメモリにより構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。キーボード40E及びマウス40Fは入力装置の一例であり、各種の入力を行うために使用される。モニタ40Gは、例えば、液晶ディスプレイであり、ユーザインタフェースを表示する。モニタ40Gは、タッチパネル方式を採用して、入力部として機能してもよい。通信インタフェース40Hは、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI又はWi-Fi(登録商標)等の規格が用いられる。
 次に、軌道生成装置40の機能構成について説明する。
 図11に示すように、軌道生成装置40は、その機能構成として、取得部42、クラスタリング部44、及び生成部46を有する。各機能構成は、CPU40AがROM40Bまたはストレージ40Dに記憶された軌道生成プログラムを読み出して、RAM40Cに展開して実行することにより実現される。なお、一部または全部の機能は専用のハードウェア装置によって実現されても構わない。
 取得部42は、教示者によって教示される制御対象の一連の状態を表す軌道情報であって、制御対象が行うタスクが成功する場合の軌道情報である成功軌道情報と、タスクが失敗する場合の軌道情報である失敗軌道情報と、を取得する。本実施形態では、制御対象はロボット10、特にそのグリッパ12であり、制御対象の状態は、少なくともグリッパ12の位置を含む。グリッパ12の位置は、一般に3自由度の値で表されるが、グリッパ12が把持している対象物が平面に接触している場合のように運動の1自由度が拘束されている場合には、拘束されている1自由度を固定値として、残りの2自由度の値を実質的な軌道情報としてもよい。グリッパ12の位置は、TCP(ツール・センタ・ポイント)の位置で代表させてもよい。また、グリッパ12の姿勢が変化する場合には、制御対象の状態は、グリッパ12の姿勢(例えば3自由度の値で表される)を含むことが好ましい。さらに、グリッパ12の指34a、34bの位置を含んでもよい。このように、軌道情報は、制御対象の3次元空間内の位置情報又は位置情報及び姿勢情報に限らず、制御対象の状態に関するより多くの次元の情報を含んでもよい。
 教示者は、ロボット教示装置20を用いてロボット10が行うタスクの開始から終了まで、又はその一部についての軌道情報を生成させる。ロボット10が行うタスクは、本実施形態では一例としてグリッパ12によってペグを把持して穴に嵌め込む嵌め込み作業であるが、これに限られるものではない。
 教示者は、ロボット教示装置20を用いてロボット10が行うタスクが成功する動作及び失敗する動作を実行することにより、成功軌道及び失敗軌道の軌道情報を生成させる。
 具体的には、教示者は、ロボット教示装置20を用いて、ペグ54を穴55に挿入するタスクが成功する動作を少なくとも1回行って成功軌道情報を生成させる。また、教示者は、ロボット教示装置20を用いて、ペグ54を穴55に挿入するタスクが失敗する動作を少なくとも1回行って失敗軌道情報を生成させる。タスクが失敗する動作については、複数回行って複数の失敗軌道情報を生成することが好ましい。この場合、例えば穴55に向かう方向と異なる方向にペグ54を移動させる軌道や、穴55の上をペグ54が通り過ぎてしまう軌道等、様々な軌道でロボット教示装置20を動かして複数の失敗軌道情報を生成することが好ましい。特に、穴55の近傍で挿入を失敗する軌道の失敗軌道情報を生成することが好ましい。
 取得部42は、教示すべき軌道を案内するための表示をさせてもよい。例えば、教示者がどのような成功軌道及び失敗軌道を教示させるべきかをモニタ40G又は軌道生成装置40の外部にある表示装置に表示させ、教示者による教示を支援するようにしてもよい。
 図12は、教示すべき軌道のガイド表示を示す図である。図12では、モニタ40Gの画面40G1に穴55を有する円形で一定の厚みを有する部品Pが表示されている。部品Pの画像は、部品Pを撮影した画像又は部品PのCADデータに基づいて作成される。あるいは、「ペグを穴に挿入するタスク」というタスクの種類が指定されることに基づいて、部品Pの外形を表示することなく穴を示す図形だけを表示してもよい。このようにすれば部品Pの形状についての情報を取得する必要がない。図12Aでは、さらに成功軌道のガイド表示である1つの矢線と矢線に沿えてSの文字が表示されている。この成功軌道のガイド表示によって示される成功軌道を成功軌道Sとよぶ。図12Bでは、さらに失敗軌道のガイド表示である4つの矢線と各矢線に沿えてF1、F2、F3又はF4の文字が表示されている。これらの失敗軌道のガイド表示によって示される各失敗軌道を失敗軌道F1、F2、F3、F4とよぶ。軌道を示す矢線は曲線であってもよい。また、ペグ54が部品Pに接触する前の軌道も含めて、教示すべき軌道を立体的に把握できるように表示してもよい。
 図12Aの成功軌道のガイド表示は、ロボット教示装置20で把持したペグ54を矢線の始点付近で部品Pに接触させ、接触を維持したままペグ54を矢線の終点に向かって移動させ、穴55への挿入を実行することを案内している。もっとも、このような図による表示をしなくても教示者にとってタスクを成功させることが容易であると考えられる場合には、「ペグを穴に挿入してください。」又は「ペグを穴の手前で部品に接触させた後、ペグを穴に挿入してください。」のようにタスクを実行することを文字で要求するだけのガイド表示をしてもよい。
 図12Bの失敗軌道のガイド表示は、ロボット教示装置20で把持したペグ54を各矢線の始点付近で部品Pに接触させ、接触を維持したままペグ54を各矢線の終点に向かって移動させ、穴55への挿入を実行することを案内している。例えば、失敗軌道F1については、矢線の始点である穴55の手前でペグ54を部品Pに接触させ、その後接触を維持したまま穴55を超えた反対側までペグ54の先端を移動させることを案内している。同様に、失敗軌道F2については穴55とは反対側に、失敗軌道F3については穴55の左側に逸れて、失敗軌道F4については穴55の右側に逸れて、それぞれペグ54を移動させることを案内している。
 このように、成功軌道又は失敗軌道のガイド表示に従ってロボット教示装置20の操作を行わせる場合には、軌道生成装置40においてロボット教示装置20から取得する軌道が成功軌道か失敗軌道かがあらかじめ判明しているため、ロボット教示装置20の成功ボタン、失敗ボタンを使用する必要はない。
 図11のクラスタリング部44は、成功軌道情報に属するロボット10の状態と失敗軌道情報に属するロボット10の状態とからロボット10の状態についての成功クラスのクラスタを生成する。
 クラスタリング部44は、例えば混合ガウスモデル(GMM:Gaussian Mixture Model)を用いたクラスタリング手法を適用するとともに、成功軌道情報及び失敗軌道情報に属するロボット10の状態同士の類似度を算出し、算出した類似度に基づいて、成功クラスのクラスタを生成してもよい。
 また、クラスタリング部44は、成功軌道情報及び失敗軌道情報に属するロボット10の各状態に含まれる位置又は位置及び姿勢から各状態におけるロボット10の速度を算出し、各状態における位置又は位置及び姿勢と各状態における速度とから類似度を算出してもよい。
 クラスタリング部44は、ロボット10の状態同士の類似度を調整する調整パラメータにより類似度を調整してもよい。
 クラスタリング部44は、成功軌道情報に属するロボット10の状態同士の間の類似度が大きくなり、成功軌道情報に属するロボット10の状態と失敗軌道情報に属するロボット10の状態との間の類似度が小さくなるように調整パラメータを設定してもよい。
 生成部46は、成功クラスのクラスタに基づいて、タスクをロボット10に実行させる際に制御目標として使用できる、ロボット10の一連の状態を表す目標軌道情報を生成する。
 また、生成部46は、成功クラスのクラスタに対して混合ガウス回帰手法(GMR:Gaussian Mixture Regression)を適用して目標軌道情報を生成してもよい。
(軌道生成処理)
 図13は、軌道生成装置40が目標軌道情報を生成する軌道生成処理のフローチャートである。
 なお、図13に示す処理に先立ち、ユーザは、ロボット教示装置20を用いて成功軌道情報を少なくとも1つ生成させると共に、失敗軌道情報を少なくとも1つ生成させる。ロボット教示装置20は、生成した成功軌道情報及び失敗軌道情報を軌道生成装置40に送信する。
 一般的な模倣学習では、教示された成功軌道を表す成功軌道情報のみを用いてロボットの動作を学習する。しかしながら、柔軟なロボットを使用したときや、教示のための装置とロボットのキネマティクス又はダイナミクスが異なるとき、教示された成功軌道を必ずしもロボットが正確に追従できるとは限らない。また、成功軌道のみに過適合された軌道を追従することは、タスクの失敗を招く虞もある。
 このため、本実施形態では、ロボット10が行うタスクにおける動作を学習する際に用いる目標軌道情報を、成功軌道情報だけでなく失敗軌道情報も用いて生成する。これにより、失敗軌道を避けるような目標軌道の目標軌道情報が生成される。
 ステップS100では、CPU40Aが、取得部42として、成功軌道情報及び失敗軌道情報をロボット教示装置20から取得する。
 ステップS102では、CPU40Aが、クラスタリング部44として、成功軌道情報に属するロボット10の状態と失敗軌道情報に属するロボット10の状態とからロボット10の状態についての成功クラスのクラスタを生成する。
 本実施形態では、混合ガウスモデル(Gaussian Mixture Model、以下GMM)を用いたクラスタリング手法を適用して成功クラスのクラスタを生成する。GMMは、データセットを複数のガウス分布の重ね合わせで表現する。しかしながら、一般的なGMMの手法では表現能力が低く、成功軌道及び失敗軌道の切り分けが困難であるという問題点がある。
 また、成功軌道情報及び失敗軌道情報の各軌道情報から成功クラスのクラスタを生成するために、各軌道情報に最も当てはまるようなガウス分布(クラスタ)の数、各ガウス分布の平均や分散、並びに各ガウス分布を重ね合わせる場合の重みを計算する必要がある。
 そこで、本実施形態では、より明確に成功軌道及び失敗軌道を分類すると共に、クラスタの数等を自動的に求めるために、下記参考文献1に記載されたPC-GMM(Physically-Consisted GMM)を使用する。
(参考文献1)
FIGUEROA, Nadia; BILLARD, Aude. "A Physically-Consistent Bayesian Non-Parametric Mixture Model for Dynamical System Learning." In: CoRL. 2018. p. 927-946.
 ステップS102では、ステップS100で取得した成功軌道情報及び失敗軌道情報の各々についてPC-GMMを適用し、成功クラスのクラスタを生成する。
 本実施形態では、最適なガウス分布の数を生成するために、PC-GMMを用いて、成功軌道情報及び失敗軌道情報に属するロボット10の状態同士の類似度を算出し、算出した類似度に基づいて、成功クラスのクラスタを生成する。
 また、本実施形態では、ロボット10の状態i,j同士の類似度を調整する調整パラメータηにより類似度を調整する。具体的には、次式により類似度Δを算出する。
Figure JPOXMLDOC01-appb-I000001

   ・・・(1)
 ここで、xはロボット10の位置である。また、
Figure JPOXMLDOC01-appb-I000002

 
はロボット10の速度である。また、lは尺度パラメータである。
 すなわち、ステップS102では、成功軌道情報及び失敗軌道情報に属するロボット10の各状態に含まれる位置及び姿勢から各状態におけるロボット10の速度を算出し、各状態における位置及び姿勢と各状態における速度とから類似度Δを算出する。
 この類似度Δに基づいて、成功軌道情報及び失敗軌道情報に含まれるロボット10の各状態をどのクラスタに割り当てるかが決められる。
 ロボット10の位置及び速度に基づく類似度を用いることにより、従来の一般的なGMMを用いた手法と比較して、ロボット10の状態を正確に表現することができる。
 さらに、本実施形態では、成功軌道と失敗軌道とをより明確に分けるため、上記(1)式に示すように、ロボット10の状態i,j同士の類似度を調整する調整パラメータηを用いて類似度Δを調整する。
 本実施形態では、成功軌道情報に属するロボット10の状態同士の間の類似度が大きくなり、成功軌道情報に属するロボット10の状態と失敗軌道情報に属するロボット10の状態との間の類似度が小さくなるように調整パラメータηを設定する。
 具体的には、2組の状態が成功軌道同士の場合は一例としてη=1.0に設定し、2組の状態が成功軌道及び失敗軌道の場合は一例としてη=0.01とする。これにより、成功軌道情報に属する状態と失敗軌道情報に属する状態とが別のクラスタにクラスタリングされやすくなる。従って、成功クラスを表すクラスタと失敗クラスを表すクラスタとが明確に分離されやすくなる。
 図14~16のグラフの縦軸はロボット教示装置20の位置、横軸は時間である。ここで、ロボット教示装置20の位置は、図12の各軌道の開始位置から穴55の中心に向かう方向の成分を表しており、図12において上に向かう方向が図14~16において下に向かう方向に対応している。図14~16には、時間の経過に伴うロボット教示装置20の位置の測定値がプロットされている。図中のsuccessfulの点は成功軌道を教示したときの測定値(成功軌道情報)、failedの点は失敗軌道を教示したときの測定値(失敗軌道情報)である。図14~16には、さらに、成功クラスのクラスタCSと失敗クラスのクラスタCFがそれぞれ楕円で示されている。成功クラスのクラスタCS及び失敗クラスのクラスタCFは、成功軌道情報及び失敗軌道情報についてPC-GMMを適用して生成した。実際のクラスタはガウス分布に従う値の分布で表現されており、図示されている楕円はクラスタの値の等高線を示している。図15は、図14から成功軌道情報及び成功クラスのクラスタCSを抽出して示している。
 図14において、最初の時間帯では成功軌道がグラフの下方(図12の上方)に向かっている。この部分は、図3のフィットに対応するロボット教示装置20の動きを表している。図14における成功軌道の最下点はフィットの終了状態に対応しており、このとき、ペグ54の先端が穴55に引っかかってペグ54の姿勢はわずかに傾いており、ロボット教示装置20は穴55の真上をわずかに通り過ぎている。その後の、成功軌道がグラフの上方(図12の下方)に向かって変化している部分は、図3のアラインに対応している。この部分では、ロボット教示装置20の移動方向が反転して、ペグ54の姿勢が垂直に引き起こされる。図14の後半の成功軌道の位置の変化が少ない部分は、図3のインサートに対応している。この部分では、成功軌道は穴の軸方向に向かっているので、図14の縦方向が表している位置成分はほとんど変化しない。
 図14において、成功軌道よりも上方の失敗軌道及び失敗クラスのクラスタCFは、図12の失敗軌道F2のように、ロボット教示装置20を穴55に向かう方向とは反対方向に動かした場合の結果である。また、成功軌道よりも下方の失敗軌道及び失敗クラスのクラスタCFは、図12の失敗軌道F3及びF4のように、ロボット教示装置20を穴55に向かう方向から左又は右にそれた方向に動かした場合の結果である。
 図16の左側の図は、成功軌道情報及び失敗軌道情報の両方から生成された成功クラスのクラスタCSと、成功軌道情報及び失敗軌道情報の両方から生成された失敗クラスのクラスタCFとを示している。また、図16の中央の図は、成功軌道情報のみから生成された成功クラスのクラスタCSを示している。また、図16の右側の図は、図16の左側の図に示される成功クラスのクラスタCSにGMRを適用して生成した目標軌道K1(success and failure)と、図16の中央の図に示される成功クラスのクラスタCSにGMRを適用して生成した目標軌道K2(success only)と、を示している。図16に示されるように、目標軌道K2と比較して、目標軌道K1の方が急激な変化が少ない軌道になっていることがわかる。このことは、目標軌道K1の方が最大加速度が小さくて済むことを意味する。目標軌道K1の方が、成功軌道情報のみに過適合していないと評価できる。
 図13のステップS104では、CPU40Aが、生成部46として、成功クラスのクラスタCSに基づいて、タスクをロボット10に実行させる際に制御目標として使用できる、ロボット10の一連の状態を表す目標軌道情報を生成する。具体的には、成功クラスのクラスタCSに対してGMRを適用して目標軌道情報を生成する。GMRにより得られるのはガウス分布で表された位置の時間変化であるが、制御目標としては位置の分布の最大値又は平均値の時間変化を用いることができる。ここでは1次元の位置情報についてだけ説明したが、実際には多次元の成功軌道情報及び失敗軌道情報に基づいて多次元の目標軌道情報が生成される。
 ステップS106では、ステップS104で生成した目標軌道情報を修正する。ステップS104で生成した目標軌道情報は、ロボット教示装置20の軌道(例えば位置及び姿勢)を表しているため、ロボット10の軌道に修正(変換)する必要がある。そこで、ステップS106では、例えばペグ54が穴55に挿入された状態におけるロボット10の位置及び姿勢と、ロボット教示装置20の位置及び姿勢との差分をオフセットとして、ステップS104で生成された目標軌道情報を修正する。
 なお、本実施形態では、タスクの実行中においてグリッパ12に対するペグ54の位置にばらつきがない場合を前提としているが、実際にはペグ54を把持する毎にグリッパ12に対するペグ54の位置が異なりうる。この場合、外部カメラで撮影した画像に基づいてグリッパ12に対するペグ54の位置を算出し、算出した位置に基づいて目標軌道情報を修正してもよい。
(学習装置)
 学習装置50は、機械学習を用いてロボット10の学習モデルを獲得する。本実施形態では教師データなしで試行錯誤により学習が行える強化学習として、特にデータ効率の高いモデルベース機械学習を用いる。
 学習装置50によって獲得された学習モデル(学習済みモデル)は、ロボット10を制御する制御装置に搭載されて、実作業に供される。この制御装置は、学習機能を有していてもよく、その場合には追加の学習を行ってもよい。
 本実施形態では、ロボット10が柔軟部13を有しているため、複雑な力制御を行うことなく、グリッパ12または対象物を環境に接触させながら動作することが容易である。また、あまり減速せずにグリッパまたは対象物を環境に接触させることが可能であるので、高速な作業ができる。また、機械学習によって学習モデルを獲得するため、簡便にシステム構築が行える。
 図17に示すように、学習装置50は、記憶部61、モデル更新部62、学習モデル63、報酬算出部64、及び行動決定部65を備える。
 記憶部61は、状態観測センサ14により計測されたロボット10の状態に関する状態観測データ及び行動決定部65から出力された速度指令値を記憶する。
 モデル更新部62は、記憶部61に記憶されている状態観測データ及び速度指令値の中から、ある時刻tの状態xの状態観測データと、速度指令値uと、次の時刻t+1における状態xt+1の状態観測データと、を1組の計測データとして、ランダムに選んだ複数の時刻tにおける複数組(例えば300組)の計測データを取得する。
 そして、取得した複数組の計測データから、ある時刻tにおいて計測された状態x及び速度指令値uから学習モデル63が求めた時刻t+1における状態xの予測値f(x、u)と時刻t+1において計測された状態xとの誤差が最小となることを目標として、制御周期毎に学習モデル63のモデルパラメータを更新する。このように、所謂勾配法(gradient method)を用いてモデルパラメータの更新を行い、更新したモデルパラメータを学習モデル63に出力する。モデルパラメータの更新は、1つの制御周期内で制御周期の開始時に他の処理に先立って1回又は複数回行う。なお、モデルパラメータの更新は、上記の計測データの組が十分多く収集できている場合には、制御周期毎ではなくタスク開始前に行ってもよい。例えばペグを穴に挿入するタスクのような同じタスクを繰り返し実行する場合には、一つのタスクの実行を終了してから次のタスクの実行を開始するまでの間にモデルパラメータの更新を行ってもよい。別の例として、特定のタスクが実行できるようになるまでの試行動作中にモデルパラメータの更新を完了させ、タスクの本番実行を開始した後はモデルパラメータの更新を行わないようにしてもよい。
 学習モデル63としては、例えば状態遷移モデルが用いられる。状態遷移モデルは、状態xと、そのときのロボット10の行動である速度指令値uと、を入力として、行動後の次の状態xt+1を出力するモデルである。
 学習モデル63には、行動決定部65からn個の速度指令値の候補が入力され、n個の状態の予測値を生成し、報酬算出部64へ出力する。
 報酬算出部64は、学習モデル63から出力されたn個の状態の予測値f(x、u)のそれぞれについて、次式により報酬値rt+1を算出し、行動決定部65へ出力する。
t+1=-(xdt+1-f(x、u))   ・・・(2)
 ここで、xdはロボット10の状態の目標値、すなわちロボット10の位置及び姿勢を表す6次元の値の目標値である。目標値は、軌道生成装置40により生成された目標軌道情報から得られる。また、fは学習モデルを表す関数であり、f(x、u)はロボット10の位置及び姿勢を表す6次元の値の予測値である。
 なお、学習モデル63は、次の時刻t+1、すなわち次の時間ステップ(制御周期)における予測値を出力するが、複数ステップ先までの予測値を出力してもよい。そして、報酬算出部64は、各予測値と各予測値に対応する目標値とから各時間ステップの報酬値rを求め、その総和である報酬値Rを出力するようにしてもよい。
 行動決定部65は、n個の速度指令値の候補とそのそれぞれに対応する報酬値r又は報酬値Rとの関係に基づいて、報酬値を最大化できる速度指令値を求め、その速度指令値をロボット10に出力する。本実施形態では一例として所謂クロスエントロピー法(cross-entropy method:CEM)を用いて、報酬値を最大化できる速度指令値を特定し、ロボット10に出力する。
 なお、記憶部61にデータが十分蓄積されていない学習初期の状態では、学習モデル63を使用せず、また行動決定部65における行動の決定に報酬値を使用しなくてもよい。この場合、行動決定部65からランダムな速度指令値をロボット10に出力し、その結果として計測された状態観測データを収集することを制御周期毎に繰り返し、状態観測データがある程度収集できた時点からモデルパラメータの更新を開始するようにしてもよい。
(学習処理)
 図18は、機械学習を用いて学習装置50が学習モデル63を学習する学習処理の流れを示すフローチャートである。
 以下で説明するステップS200~ステップS214の処理は、制御周期に従って一定の時間間隔で実行される。
 ステップS200では、モデル更新部62が、学習モデルを更新する。具体的には、まず記憶部61に記憶されている中からランダムに選んだ例えば100個の時刻tについての状態(位置及び姿勢)x、速度指令値u、状態xt+1の組を取得する。なお、状態xt+1は、選択した時刻tの次の時刻であるt+1について記憶されている、計測された状態である。
 次に、前回のモデルパラメータを修正した新たなモデルパラメータを決定する。モデルパラメータの修正は、状態xt+1と予測値f(x、u)との誤差が最小となることを目標として行う。
 そして、新たなモデルパラメータを学習モデル63に設定する。新たなモデルパラメータは、次の制御周期において「前回のモデルパラメータ」として使用するためにモデル更新部62内に記憶する。
 ステップS202では、行動決定部65が、n個(例えば300個)の速度指令値候補をランダムに生成し、学習モデル63に出力する。
 ステップS204では、学習モデル63が、ステップS202で生成されたn個の速度指令値候補に対応するn個の状態の予測値を生成して報酬算出部64に出力する。
 ステップS206では、報酬算出部64が、ステップS204で生成したn個の状態の予測値の各々についての報酬値を算出する。
 ステップS208では、本ルーチンを所定回数(例えば2回)ループしたか否かを判定し、所定回数ループしていない場合はステップS210へ移行し、所定回数ループした場合はステップS212へ移行する。
 ステップS210では、行動決定部65が、n組の速度指令値候補及び報酬値から報酬値が上位である速度指令値候補をm個抽出する。なお、mはnの30%程度の値(例えば100)に設定される。そして、抽出したm個の速度指令値候補の平均及び分散を算出し、正規分布を生成する。次に、生成した正規分布と確率密度が一致する新しいn個の速度指令値候補を生成する。その後、ステップS204に戻り、そこではステップS210で生成されたn個の速度指令値候補が用いられる。
 ステップS212では、状態観測センサ14から、前回の速度指令の結果である現在の計測された状態xを取得し、記憶部61に記憶する。
 ステップS214では、行動決定部65が、報酬値を最大化できる速度指令値uをロボット10に出力すると共に、記憶部61に記憶する。
 このように、本実施形態では、ロボット10が行うタスクにおける動作を学習する際に用いる目標軌道情報を、成功軌道情報だけでなく失敗軌道情報も用いて生成する。これにより、失敗軌道を避けるような、また成功軌道情報のみに過適合していない目標軌道についての目標軌道情報が生成される。そして、このようにして生成された目標軌道情報を用いてロボット10を制御するため、より高い成功率でタスクを達成することができる。
 上記実施形態は、本開示の構成例を例示的に説明するものに過ぎない。本開示は上記の具体的な形態には限定されることはなく、その技術的思想の範囲内で種々の変形が可能である。
 上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した軌道生成処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、軌道生成処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
 また、上記各実施形態では、軌道生成プログラムがストレージ40D又はROM40Bに予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
 なお、日本国特許出願第2020-175009号の開示は、その全体が参照により本明細書に取り込まれる。また、本明細書に記載された全ての文献、特許出願、及び技術規格は、個々の文献、特許出願、及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
1 ロボットシステム
10 ロボット
11 アーム
12 グリッパ
13 柔軟部
14 状態観測センサ
20 ロボット教示装置
40 軌道生成装置
42 取得部
44 クラスタリング部
46 生成部
50 学習装置

Claims (9)

  1.  教示者によって教示される制御対象の一連の状態を表す軌道情報であって、前記制御対象が行うタスクが成功する場合の軌道情報である成功軌道情報と、前記タスクが失敗する場合の軌道情報である失敗軌道情報と、を取得する取得部と、
     前記成功軌道情報に属する前記制御対象の状態と前記失敗軌道情報に属する前記制御対象の状態とから前記制御対象の状態についての成功クラスのクラスタを生成するクラスタリング部と、
     前記成功クラスのクラスタに基づいて、前記タスクを前記制御対象に実行させる際に制御目標として使用できる、前記制御対象の一連の状態を表す目標軌道情報を生成する生成部と、
     を備えた軌道生成装置。
  2.  前記クラスタリング部は、混合ガウスモデルを用いたクラスタリング手法を適用するとともに、前記成功軌道情報及び前記失敗軌道情報に属する前記制御対象の状態同士の類似度を算出し、算出した類似度に基づいて、前記成功クラスのクラスタを生成する
     請求項1記載の軌道生成装置。
  3.  前記制御対象の状態は、前記制御対象の位置又は前記制御対象の位置及び姿勢であり、
     前記クラスタリング部は、前記成功軌道情報及び前記失敗軌道情報に属する前記制御対象の各状態に含まれる位置又は位置及び姿勢から前記各状態における前記制御対象の速度を算出し、前記各状態における位置又は位置及び姿勢と前記各状態における速度とから前記類似度を算出する、
     請求項2記載の軌道生成装置。
  4.  前記クラスタリング部は、前記制御対象の状態同士の類似度を調整する調整パラメータにより前記類似度を調整する
     請求項2又は請求項3記載の軌道生成装置。
  5.  前記クラスタリング部は、前記成功軌道情報に属する前記制御対象の状態同士の間の類似度が大きくなり、前記成功軌道情報に属する前記制御対象の状態と前記失敗軌道情報に属する前記制御対象の状態との間の類似度が小さくなるように前記調整パラメータを設定する
     請求項4記載の軌道生成装置。
  6.  前記生成部は、前記成功クラスのクラスタに対して混合ガウス回帰手法を適用して前記目標軌道情報を生成する
     請求項2~5の何れか1項に記載の軌道生成装置。
  7.  前記取得部は、さらに、教示すべき軌道を案内するための表示をさせる
     請求項1~6の何れか1項に記載の軌道生成装置。
  8.  コンピュータが、
     教示者によって教示される制御対象の一連の状態を表す軌道情報であって、前記制御対象が行うタスクが成功する場合の軌道情報である成功軌道情報と、前記タスクが失敗する場合の軌道情報である失敗軌道情報と、を取得し、
     前記成功軌道情報に属する前記制御対象の状態と前記失敗軌道情報に属する前記制御対象の状態とから前記制御対象の状態についての成功クラスのクラスタを生成し、
     前記成功クラスのクラスタに基づいて、前記タスクを前記制御対象に実行させる際に制御目標として使用できる、前記制御対象の一連の状態を表す目標軌道情報を生成する
     処理を実行する軌道生成方法。
  9.  コンピュータに、
     制御対象の動作が成功した場合の成功軌道に関する成功軌道情報と、前記制御対象の動作が失敗した場合の失敗軌道に関する失敗軌道情報と、を取得し、
     前記成功軌道情報及び前記失敗軌道情報に基づいて、前記成功軌道における前記制御対象の各位置及び前記失敗軌道における前記制御対象の各位置を、予め定めたクラスタリング手法により成功クラス及び失敗クラスにクラスタリングし、
     前記成功クラスにクラスタリングされた前記制御対象の位置に基づいて、前記制御対象の目標軌道に関する目標軌道情報を生成する
     処理を実行させる軌道生成プログラム。
PCT/JP2021/035669 2020-10-16 2021-09-28 軌道生成装置、軌道生成方法、及び軌道生成プログラム WO2022080132A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP21879873.4A EP4230359A1 (en) 2020-10-16 2021-09-28 Trajectory generation device, trajectory generation method, and trajectory generation program
US18/028,911 US20230339111A1 (en) 2020-10-16 2021-09-28 Trajectory generation device, trajectory generation method, and recording medium storing trajectory generation program
CN202180067817.9A CN116323110A (zh) 2020-10-16 2021-09-28 轨道生成装置、轨道生成方法以及轨道生成程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020175009A JP2022066086A (ja) 2020-10-16 2020-10-16 軌道生成装置、軌道生成方法、及び軌道生成プログラム
JP2020-175009 2020-10-16

Publications (1)

Publication Number Publication Date
WO2022080132A1 true WO2022080132A1 (ja) 2022-04-21

Family

ID=81208006

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/035669 WO2022080132A1 (ja) 2020-10-16 2021-09-28 軌道生成装置、軌道生成方法、及び軌道生成プログラム

Country Status (5)

Country Link
US (1) US20230339111A1 (ja)
EP (1) EP4230359A1 (ja)
JP (1) JP2022066086A (ja)
CN (1) CN116323110A (ja)
WO (1) WO2022080132A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185240A (ja) * 1997-09-04 1999-03-30 Nippon Telegr & Teleph Corp <Ntt> ロボットプログラミング方法とその装置及び生成プログラムを記録した記録媒体
JP2018097616A (ja) * 2016-12-13 2018-06-21 ファナック株式会社 数値制御装置及び機械学習装置
JP2018206286A (ja) * 2017-06-09 2018-12-27 川崎重工業株式会社 動作予測システム及び動作予測方法
JP2019101799A (ja) * 2017-12-04 2019-06-24 Dmg森精機株式会社 加工プログラム解析装置およびこれを備えた工作機械、ならびに加工プログラム解析プログラムおよび加工プログラム解析方法
US20200230815A1 (en) * 2019-01-22 2020-07-23 Mitsubishi Electric Research Laboratories, Inc. System and Method for Automatic Error Recovery in Robotic Assembly
JP2020175009A (ja) 2019-04-22 2020-10-29 キヤノンメディカルシステムズ株式会社 医用画像処理装置及びx線診断装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185240A (ja) * 1997-09-04 1999-03-30 Nippon Telegr & Teleph Corp <Ntt> ロボットプログラミング方法とその装置及び生成プログラムを記録した記録媒体
JP2018097616A (ja) * 2016-12-13 2018-06-21 ファナック株式会社 数値制御装置及び機械学習装置
JP2018206286A (ja) * 2017-06-09 2018-12-27 川崎重工業株式会社 動作予測システム及び動作予測方法
JP2019101799A (ja) * 2017-12-04 2019-06-24 Dmg森精機株式会社 加工プログラム解析装置およびこれを備えた工作機械、ならびに加工プログラム解析プログラムおよび加工プログラム解析方法
US20200230815A1 (en) * 2019-01-22 2020-07-23 Mitsubishi Electric Research Laboratories, Inc. System and Method for Automatic Error Recovery in Robotic Assembly
JP2020175009A (ja) 2019-04-22 2020-10-29 キヤノンメディカルシステムズ株式会社 医用画像処理装置及びx線診断装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
ENAYATI NIMA, MARIANI STEFANO, WAHRBURG ARNE, ZANCHETTIN ANDREA M.: "Variable-Impedance and Force Control for Robust Learning of Contact-rich Manipulation Tasks from User Demonstration", IFAC-PAPERSONLINE, vol. 53, no. 2, 1 January 2020 (2020-01-01), DE , pages 9834 - 9840, XP055921527, ISSN: 2405-8963, DOI: 10.1016/j.ifacol.2020.12.2687 *
ESTEBAN ET AL.: "Learning Deep Robot Controllers by Exploiting Successful and Failed Executions", 2018 IEEE-RAS 18TH INTERNATIONAL CONFERENCE ON HUMANOID ROBOTS (HUMANOIDS, 2018, pages 1 - 9, XP033505516, DOI: 10.1109/HUMANOIDS.2018.8625003
FIGUEROA, NADIABILLARD, AUDE: "A Physically-Consistent Bayesian Non-Parametric Mixture Model for Dynamical System Learning", CORL, 2018, pages 927 - 946
NISHIMURA ET AL.: "Peg-in-hole under state uncertainties via a passive wrist joint with push-activate-rotation function", 2017 IEEE-RAS 17TH INTERNATIONAL CONFERENCE ON HUMANOID ROBOTICS (HUMANOIDS, 2020, pages 67 - 74
SHIARLIS ET AL.: "Inverse reinforcement learning from failure", INTERNATIONAL CONFERENCE ON AUTONOMOUS AGENTS & MULTIAGENT SYSTEMS, 2016, pages 1060 - 1068

Also Published As

Publication number Publication date
CN116323110A (zh) 2023-06-23
JP2022066086A (ja) 2022-04-28
US20230339111A1 (en) 2023-10-26
EP4230359A1 (en) 2023-08-23

Similar Documents

Publication Publication Date Title
Wang et al. Swingbot: Learning physical features from in-hand tactile exploration for dynamic swing-up manipulation
Ozawa et al. Grasp and dexterous manipulation of multi-fingered robotic hands: a review from a control view point
Racca et al. Learning in-contact control strategies from demonstration
Dillmann et al. Learning robot behaviour and skills based on human demonstration and advice: the machine learning paradigm
Bagnell et al. An integrated system for autonomous robotics manipulation
KR102513854B1 (ko) 제어 장치, 로봇, 학습 장치, 로봇 시스템 및 방법
Cockbum et al. Grasp stability assessment through unsupervised feature learning of tactile images
Arsenic Developmental learning on a humanoid robot
Müller et al. Stability of nonlinear time-delay systems describing human–robot interaction
Turner Programming dexterous manipulation by demonstration
Girgin et al. Associative skill memory models
WO2022080132A1 (ja) 軌道生成装置、軌道生成方法、及び軌道生成プログラム
Amatya et al. Real time kinect based robotic arm manipulation with five degree of freedom
Fuentes et al. Learning dextrous manipulation skills for multifingered robot hands using the evolution strategy
WO2022172812A1 (ja) ロボットモデルの学習装置、ロボットモデルの機械学習方法、ロボットモデルの機械学習プログラム、ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
JP4715296B2 (ja) ロボットハンドの持ち替え把持制御方法。
JP6895086B2 (ja) ロボットの制御装置、制御方法及びプログラム
Fadhilah et al. Wearable Control Using Feedforward Neural Networks has Been used to Control the Manipulator Arm of Field and Service Robots
WO2022044615A1 (ja) 学習装置、学習方法、学習プログラム、制御装置、制御方法、及び制御プログラム
Haninger et al. Model predictive impedance control with Gaussian processes for human and environment interaction
CN114905514B (zh) 一种用于外肢体抓握控制的人体技能学习方法及系统
TWI773308B (zh) 控制裝置、機器人系統、機器人的控制方法以及程式
WO2022054505A1 (ja) ロボットシステム及びピッキング方法
Vass Myoelectric control within the framework of hierarchical quadratic programming
Tang Skill learning for industrial robot manipulators

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021879873

Country of ref document: EP

Effective date: 20230516