WO2020136769A1 - ロボット制御装置、ロボット制御学習装置、及びロボット制御方法 - Google Patents

ロボット制御装置、ロボット制御学習装置、及びロボット制御方法 Download PDF

Info

Publication number
WO2020136769A1
WO2020136769A1 PCT/JP2018/047925 JP2018047925W WO2020136769A1 WO 2020136769 A1 WO2020136769 A1 WO 2020136769A1 JP 2018047925 W JP2018047925 W JP 2018047925W WO 2020136769 A1 WO2020136769 A1 WO 2020136769A1
Authority
WO
WIPO (PCT)
Prior art keywords
control
acquisition unit
arm
current position
robot
Prior art date
Application number
PCT/JP2018/047925
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 JP2019528938A priority Critical patent/JP6644191B1/ja
Priority to PCT/JP2018/047925 priority patent/WO2020136769A1/ja
Priority to DE112018008159.1T priority patent/DE112018008159B4/de
Priority to TW108122107A priority patent/TW202024832A/zh
Publication of WO2020136769A1 publication Critical patent/WO2020136769A1/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

Definitions

  • the present invention relates to a robot control device, a robot control learning device, and a robot control method.
  • a distance information storage unit that stores distance information of an obstacle measured by a laser range sensor in a memory
  • a repulsive force calculation unit that calculates a repulsive force based on the distance information stored in the memory are calculated.
  • the repulsive force component separation unit that separates the repulsive force into axial components and the maximum value in the positive direction and the maximum value in the negative direction for each axis from the separated axial components, and the positive and negative directions extracted for each axis.
  • Obstacle avoidance support equipped with an obstacle avoidance support unit configured to include an avoidance repulsive force generation unit that calculates the sum of maximum values of directions and generates an avoidance repulsive force using the calculation result as the axial component of each axis A device is disclosed.
  • the potential in the vicinity of the obstacle may be relatively lowered, and an attractive force is generated between the obstacle and the robot arm, so that the robot arm is obstructed.
  • the amount of calculation increases, and it takes a long time to determine the path along which the robot arm moves.
  • the present invention is for solving the above-mentioned problems, and provides a robot control device capable of controlling a robot so that the arm of the robot does not perform discontinuous operation while reducing the amount of calculation. It is an object.
  • a robot controller provides a current position acquisition unit that acquires current position information indicating a current position of an arm of a robot, a target position acquisition unit that acquires target position information indicating a target position of an arm, and a reference path. Refer to the reference path information shown and evaluate the model that the arm is moving based on the reference path. Based on the model information shown, the current position information acquired by the current position acquisition unit, and the target position information acquired by the target position acquisition unit, the control content for moving the arm toward the target position indicated by the target position information is displayed. A control generation unit that generates the control signal shown.
  • FIG. 1 is a diagram showing an example of the configuration of a robot control system to which the robot control device according to the first embodiment is applied.
  • 3 is a block diagram showing an example of a configuration of a main part of the robot control device and the robot control system according to the first embodiment.
  • FIG. FIG. 3 is a diagram showing an example of an image indicated by the virtual space image information generated by the virtual space image generation unit according to the first embodiment.
  • 4A and 4B are diagrams showing an example of a hardware configuration of a main part of the robot control device according to the first embodiment.
  • FIG. 5 is a flowchart illustrating an example of processing of the robot controller according to the first embodiment.
  • FIG. 6 is a block diagram showing an example of a configuration of a main part of the robot control learning device and the robot control learning system according to the first embodiment.
  • the action a t the arm of the robot can take when the state of the arm of the robot according to the first embodiment is in state S t, is a diagram illustrating an example of selecting an action a *.
  • FIG. 8 is a flowchart illustrating an example of processing of the robot control learning device according to the first embodiment.
  • FIG. 9A, FIG. 9B, and FIG. 9C are diagrams showing an example of a path that the arm has traveled to reach the target position.
  • FIG. 10 is a block diagram showing an example of a configuration of a main part of the robot control device and the robot control system according to the second embodiment.
  • FIG. 11 is a flowchart illustrating an example of processing of the robot control device according to the second embodiment.
  • FIG. 1 is a diagram showing an example of the configuration of a robot control system 1 to which the robot control device 100 according to the first embodiment is applied.
  • FIG. 2 is a block diagram showing an example of a configuration of a main part of the robot control device 100 and the robot control system 1 according to the first embodiment.
  • the robot control device 100 is applied to the robot control system 1.
  • the robot control system 1 includes a robot control device 100, a robot 10, a network 30, a storage device 40, and an imaging device 50.
  • the robot 10 is, for example, an arm type robot that performs a predetermined work in the work environment 20 by moving the arm 11 included in the robot 10 by controlling the joints of the arm 11 by the motors 12-1 and 12-2. It is a device.
  • the robot 10 includes an arm 11, motors 12-1 and 12-2, a motor control unit 13, rotation sensors 14-1 and 14-2, and a contact sensor 15.
  • the arm 11 has a plurality of joints.
  • the arm 11 will be described as having two joints 11-1 and 11-2.
  • the number of joints of the arm 11 is not limited to two, and may be a person having three or more joints.
  • the arm 11 needs to have at least 6 joints in terms of robotics.
  • the motors 12-1 and 12-2 are for moving the two joints 11-1 and 11-2 of the arm 11, respectively.
  • the motor control means 13 controls the motors 12-1 and 12-2 based on the control signal output from the robot controller 100. Specifically, the motor control means 13 generates an electric signal for operating the motors 12-1 and 12-2 based on the control signal output from the robot control device 100, and the generated electric signal is used as the motor 12.
  • the motors 12-1 and 12-2 are controlled by outputting to -1, 12-2.
  • the rotation sensors 14-1 and 14-2 respectively output rotation status signals indicating the rotation status of the motors 12-1 and 12-2 such as the rotation amount or the rotation speed of the motors 12-1 and 12-2, respectively. Output to.
  • the contact sensor 15 outputs a contact signal indicating whether or not the obstacle in the work environment 20 has come into contact with the arm 11 to the robot controller 100.
  • the network 30 is, for example, a communication network configured by a wired network such as CAN (Controller Area Network) or LAN (Local Area Network), or a wireless LAN or a wireless network such as LTE (Long Term Evolution) (registered trademark). It is a means.
  • a wired network such as CAN (Controller Area Network) or LAN (Local Area Network), or a wireless LAN or a wireless network such as LTE (Long Term Evolution) (registered trademark). It is a means.
  • the storage device 40 is for storing information necessary for the robot control device 100 to generate a control signal indicating the control content for moving the arm 11 toward the target position.
  • the information necessary for the robot controller 100 to generate a control signal is, for example, model information.
  • the storage device 40 has, for example, a non-volatile storage medium such as a hard disk drive or an SD memory card, and stores information necessary for the robot control device 100 to generate a control signal in the non-volatile storage medium.
  • the image pickup device 50 is, for example, an image input device that can output an image taken by a digital still camera or a digital video camera as image information to the outside.
  • the imaging device 50 may be an image input device such as a depth camera or a stereo camera that generates image information that can specify the position or area of an object in a three-dimensional space.
  • the number of imaging devices 50 is not limited to one, and may be two or more.
  • the imaging device 50 may be installed at a position distant from the robot 10 and the work environment 20, or may be fixed and set at an arbitrary part of the robot 10. In the first embodiment, the imaging device 50 will be described as being one digital still camera installed at a position distant from the robot 10 and the work environment 20.
  • the imaging device 50 captures the work environment 20 and outputs the captured image as image information.
  • the robot control device 100 uses the image information output by the imaging device 50 and the information indicating the relative position of the imaging device 50 with respect to the robot 10, and the relative position of the work environment 20 with respect to the robot 10, particularly the work environment with respect to the robot 10.
  • the position of the obstacle at 20 or the relative position of the area is specified.
  • the motor control means 13, the rotation sensors 14-1 and 14-2, the contact sensor 15, the storage device 40, the imaging device 50, and the robot control device 100 provided in the robot 10 are respectively connected to the network 30. There is.
  • the robot controller 100 moves the arm 11 toward the target position indicated by the target position information based on the model information, the current position information indicating the current position of the arm 11, and the target position information indicating the target position in the work environment 20.
  • a control signal indicating the control content for generating the control signal is generated, and the generated control signal is output to the motor control means 13 provided in the robot 10 via the network 30.
  • the robot control device 100 includes an image acquisition unit 101, a virtual space image generation unit 102, a model acquisition unit 103, a rotation status acquisition unit 104, a target position acquisition unit 106, a current position acquisition unit 105, a control generation unit 107, and a control output unit. 108 is provided.
  • the robot control device 100 may include a control correction unit 111 and a control interpolation unit 112 in addition to the above configuration.
  • the image acquisition unit 101 acquires the image information output by the imaging device 50 via the network 30.
  • the virtual space image generation unit 102 reproduces the work environment 20 as an image in a virtual space based on the image information acquired by the image acquisition unit 101, and generates virtual space image information indicating the image. Specifically, for example, the virtual space image generation unit 102 extracts a feature point from the image indicated by the image information by using a well-known image analysis technique, and a prepared index for identifying the object shape from the feature point. The information is used to identify the position or area of the object or obstacle in the work environment 20 from the extracted feature points.
  • the virtual space image generation unit 102 uses the pinhole camera technology based on the position or area of the identified object or obstacle, information indicating the relative position of the imaging device 50 with respect to the robot 10, and information indicating the angle of view of the imaging device 50.
  • the position of the specified object or obstacle with respect to the robot 10 or the position of the area is specified using the above, and the working environment 20 is reproduced in the virtual space.
  • the index information will be described as being included in the model information.
  • the imaging device 50 is an image input device such as a depth camera or a stereo camera that generates image information capable of specifying the position or area of an object in a three-dimensional space
  • the virtual space image generation unit 102 acquires the image acquisition unit 101.
  • the position or area of the object or obstacle shown in the image indicated by the image information is specified in the three-dimensional space by using the image information, and the work environment 20 is reproduced in the virtual space.
  • the model acquisition unit 103 acquires model information.
  • the model acquisition unit 103 acquires model information by reading the model information from the storage device 40 via the network 30, for example.
  • the model acquisition unit 103 is not an essential component in the robot control device 100.
  • the rotation status acquisition unit 104 acquires a rotation status signal indicating the rotation status of the motors 12-1 and 12-2 from the rotation sensors 14-1 and 14-2 provided in the robot 10.
  • the current position acquisition unit 105 acquires current position information indicating the current position of the arm 11 of the robot 10. Specifically, for example, the current position acquisition unit 105 acquires the current position information by specifying the current position of the arm 11 in the robot 10 based on the rotation condition signal acquired by the rotation condition acquisition unit 104.
  • the current position of the arm 11 in the robot 10 is uniquely determined by specifying the bending degree of the joints 11-1 and 11-2 in the arm 11, that is, the bending angle of the joints 11-1 and 11-2.
  • the bending angles of the joints 11-1 and 11-2 in the arm 11 are controlled by rotating the motors 12-1 and 12-2 corresponding to the joints 11-1 and 11-2.
  • the current position acquisition unit 105 uses the rotation amount of the motors 12-1 and 12-2 indicated by the rotation status signal to specify the rotation amount of the motors 12-1 and 12-2 from a predetermined reference position. Thus, the current position of the arm 11 in the robot 10 is specified.
  • the method of acquiring the current position information by the current position acquisition unit 105 is not limited to the method of specifying the current position of the arm 11 based on the rotation status signal.
  • the current position acquisition unit 105 may specify the current position of the arm 11 based on the image information acquired by the image acquisition unit 101.
  • the current position acquisition unit 105 extracts a feature point from the image indicated by the image information acquired by the image acquisition unit 101 using a known image analysis technique, and the arm captured in the image from the extracted feature point. 11 is specified and the current position of the arm 11 is specified.
  • the current position acquisition unit 105 may specify the current position of the arm 11 based on a sensor signal output by a sensor capable of detecting the position of an object such as an ultrasonic sensor or a laser sensor.
  • the current position acquisition unit 105 acquires the current position information by identifying the current position of the arm 11 in the robot 10 based on the rotation status signal acquired by the rotation status acquisition unit 104. To do.
  • the virtual space image generation unit 102 uses the current position information indicating the current position of the arm 11 in the robot 10 acquired by the current position acquisition unit 105 to partially or entirely of the arm 11 in the robot 10 together with the work environment 20 in the virtual space. May be reproduced to generate virtual space image information.
  • FIG. 3 is a diagram showing an example of an image indicated by the virtual space image information generated by the virtual space image generation unit 102 according to the first embodiment.
  • FIG. 3 illustrates a case where the virtual space image generation unit 102 reproduces all of the arms 11 of the robot 10 in the virtual space together with the work environment 20.
  • the target position acquisition unit 106 acquires target position information indicating a target position to move the arm 11.
  • the target position indicated by the target position information is, for example, a target position for moving an arbitrary part of the arm 11, and the arbitrary part of the arm 11 is, for example, the tip 11-3 of the arm 11.
  • the target position acquisition unit 106 acquires the target position information by receiving the target position information input by a user's operation on an input device (not shown), for example. Specifically, the target position acquisition unit 106 causes the display device (not shown) to display the virtual space image information generated by the virtual space image generation unit 102, and specifies the position of the virtual space image information displayed on the display device. The target position information is accepted by the user's operation on the input device.
  • the control generation unit 107 indicates the target position information based on the model information acquired by the model acquisition unit 103, the current position information acquired by the current position acquisition unit 105, and the target position information acquired by the target position acquisition unit 106.
  • a control signal indicating the control content for moving the arm 11 toward the target position is generated.
  • the model information includes a term for calculating the reward by evaluating that the arm 11 of the robot 10 is moving based on the reference route with reference to the reference route information indicating the reference route. It is information indicating a model learned by using the arithmetic expression.
  • the model information includes correspondence information in which position information indicating the position of the arm 11 in the robot 10 and a control signal indicating the control content for moving the arm 11 are associated with each other.
  • the correspondence information is a set of a plurality of position information and a control signal corresponding to each position information for each target position at a plurality of different target positions.
  • the model information includes a plurality of correspondence information, and each correspondence information is associated with each of a plurality of different target positions.
  • the control generation unit 107 identifies the correspondence information corresponding to the target position indicated by the target position information acquired by the target position acquisition unit 106 from the correspondence information included in the model information, and specifies the correspondence information and the current position acquisition unit 105. Control information is generated based on the current position information acquired by.
  • control generation unit 107 refers to the identified correspondence information to identify the control signal corresponding to the current position of the arm 11 in the robot 10 indicated by the current position information acquired by the current position acquisition unit 105. As a result, a control signal indicating the control content for moving the arm 11 is generated.
  • the control output unit 108 outputs the control signal generated by the control generation unit 107 to the motor control unit 13 provided in the robot 10 via the network 30.
  • the motor control means 13 provided in the robot 10 receives the control signal output by the control output unit 108 via the network 30, and as described above, the motors 12-1 and 12-2 are based on the received control signal. Generates an electric signal for operating the motor and outputs the generated electric signal to the motors 12-1 and 12-2.
  • the control correction unit 111 determines that the control content indicated by the control signal generated by the control generation unit 107 (hereinafter referred to as “first control signal”) is the control signal generated immediately before by the control generation unit 107 (hereinafter referred to as “second control signal”).
  • the first control signal is corrected so that the amount of change is within a predetermined range.
  • the first control signal is compared with the rotation control indicated by the second control signal.
  • the rotation control indicated by 1 is a rotation control that is significantly different, the motor 12-1 or the motor 12-2 is forced to undergo a rapid torque change, and a malfunction such as step-out may occur.
  • the motor 12-1 or the motor 12-2 may receive an electric signal that exceeds a predetermined rated voltage, and a malfunction such as a failure may occur.
  • the control correction unit 111 compares the control signal generated by the control correction unit 111 for controlling the rotation of the motor 12-1 or the motor 12-2 included in the robot 10 with the rotation control indicated by the second control signal. Then, the rotation control indicated by the first control signal is corrected so as to fall within the range following the abrupt change.
  • the robot control device 100 Since the robot control device 100 has the control correction unit 111, a malfunction such as step-out or failure occurs in the control signal for controlling the rotation of the motor 12-1 or the motor 12-2 included in the robot 10.
  • the arm 11 of the robot 10 can be stably controlled so as not to do so.
  • the control correction unit 111 has described the example in which the first control signal and the second control signal are compared, the control correction unit 111 uses the first control signal and the rotation status signal acquired by the rotation status acquisition unit 104. By comparing the control content indicated by the first control signal with the change amount within a predetermined range with respect to the rotation status such as the rotation speed of the motor 12-1 or the motor 12-2 indicated by the rotation status signal.
  • the first control signal may be corrected so that
  • the control interpolation unit 112 When some or all of the control contents indicated by the first control signal generated by the control generation unit 107 are missing, the control interpolation unit 112 indicates the control contents indicated by the second control signal generated immediately before by the control generation unit 107. On the basis of the above, the missing control content in the first control signal is interpolated to correct the first control signal. When the control interpolation unit 112 interpolates the missing control content in the first control signal based on the control content indicated by the second control signal, the missing control content in the first control signal is the second control signal. The first control signal is corrected by performing interpolation so that the amount of change is within a predetermined range from the control content indicated by.
  • control generation unit 107 when the control generation unit 107 periodically generates a control signal for each predetermined period to control the rotation of the motor 12-1 or the motor 12-2 included in the robot 10, the control generation unit 107 The generation of the control signal may not be completed within the period. In such a case, for example, the control signal generated by the control generation unit 107 is in a state where some or all of the control content is missing. For example, when the control content indicated by the control signal is a control signal designating an absolute value instead of a relative value, if a part or all of the control content of the control signal generated by the control generation unit 107 is lost, the motor 12-1 or The motor 12-2 is forced to undergo a rapid torque change, which may cause a malfunction such as step-out.
  • the motor 12-1 or the motor 12-2 may receive an electric signal that exceeds a predetermined rated voltage, and a malfunction such as a failure may occur. Since the robot control device 100 includes the control interpolation unit 112, a malfunction such as step-out or failure occurs in the control signal for controlling the rotation of the motor 12-1 or the motor 12-2 included in the robot 10. The arm 11 of the robot 10 can be stably controlled so as not to do so.
  • control interpolation unit 112 has described the example of interpolating the first control signal based on the second control signal when interpolating the missing control content in the first control signal, but the control correction unit 111
  • the first control signal is compared with the rotation status signal acquired by the rotation status acquisition unit 104, and the control content indicated by the first control signal indicates that the rotation speed of the motor 12-1 or the motor 12-2 indicated by the rotation status signal, etc.
  • the first control signal may be interpolated and corrected so that the amount of change is within a predetermined range with respect to the rotation state of.
  • FIGS. 4A and 4B are diagrams showing an example of a hardware configuration of a main part of the robot control device 100 according to the first embodiment.
  • the robot control device 100 is composed of a computer, and the computer has a processor 201 and a memory 202.
  • the memory 202 stores the computer including the image acquisition unit 101, the virtual space image generation unit 102, the model acquisition unit 103, the rotation status acquisition unit 104, the target position acquisition unit 106, the current position acquisition unit 105, the control generation unit 107, and the control.
  • Programs for causing the output unit 108, the control correction unit 111, and the control interpolation unit 112 to function are stored.
  • the processor 201 When the processor 201 reads out and executes the program stored in the memory 202, the image acquisition unit 101, the virtual space image generation unit 102, the model acquisition unit 103, the rotation status acquisition unit 104, the target position acquisition unit 106, and the current position.
  • the acquisition unit 105, the control generation unit 107, the control output unit 108, the control correction unit 111, and the control interpolation unit 112 are realized.
  • the robot control device 100 may be configured by the processing circuit 203.
  • the functions of the unit 111 and the control interpolation unit 112 may be realized by the processing circuit 203.
  • the robot control device 100 may be composed of a processor 201, a memory 202 and a processing circuit 203 (not shown).
  • a part of the functions of the unit 111 and the control interpolation unit 112 may be realized by the processor 201 and the memory 202, and the remaining function may be realized by the processing circuit 203.
  • the processor 201 uses, for example, a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a microprocessor, a microcontroller, or a DSP (Digital Signal Processor).
  • a CPU Central Processing Unit
  • GPU Graphics Processing Unit
  • microprocessor a microcontroller
  • DSP Digital Signal Processor
  • the memory 202 uses, for example, a semiconductor memory or a magnetic disk. More specifically, the memory 202 includes a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable Read Only Integrated Memory), and an EEPROM (Electrically Integrated Memory). State Drive) or HDD (Hard Disk Drive) is used.
  • RAM Random Access Memory
  • ROM Read Only Memory
  • flash memory a flash memory
  • EPROM Erasable Programmable Read Only Integrated Memory
  • EEPROM Electrically Integrated Memory
  • State Drive or HDD (Hard Disk Drive) is used.
  • the processing circuit 203 includes, for example, an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), an FPGA (Field-Integrated Gate Array), and an FPGA (Field-Integrated Gate Array) or a SoC-Soc (Soc)-Soc (Soc)-Soc (S) Is used.
  • ASIC Application Specific Integrated Circuit
  • PLD Programmable Logic Device
  • FPGA Field-Integrated Gate Array
  • FPGA Field-Integrated Gate Array
  • FPGA Field-Integrated Gate Array
  • S SoC-Soc Is used.
  • FIG. 5 is a flowchart illustrating an example of processing of the robot control device 100 according to the first embodiment.
  • the robot controller 100 repeatedly executes the process of the flowchart each time a new target position is set, for example.
  • step ST501 the image acquisition unit 101 acquires image information.
  • step ST502 the model acquisition unit 103 acquires model information.
  • step ST503 the rotation status acquisition unit 104 acquires a rotation status signal.
  • step ST504 the current position acquisition unit 105 acquires current position information indicating the current position of the arm 11 in the robot 10.
  • step ST505 the virtual space image generation unit 102 generates virtual space image information.
  • step ST506 the target position acquisition unit 106 acquires target position information.
  • step ST507 the control generation unit 107 identifies the correspondence information corresponding to the target position indicated by the target position information, among the correspondence information included in the model information.
  • step ST508 the control generation unit 107 determines whether the current position of the arm 11 in the robot 10 indicated by the current position information acquired by the current position acquisition unit 105 and the target position indicated by the target position information are the same. Determine whether.
  • the term “identical” as used herein does not necessarily mean that they are completely the same, but the term “identical” includes substantially the same.
  • the robot control device 100 ends the process of the flowchart.
  • control generation unit 107 determines in step ST508 that the current position of the arm 11 and the target position are not the same, the control generation unit 107 refers to the identified correspondence information in step ST511, and refers to the current position.
  • the control generation unit 107 By specifying the control signal corresponding to the current position of the arm 11 in the robot 10 indicated by the current position information acquired by the acquisition unit 105, a control signal indicating the control content for moving the arm 11 is generated.
  • step ST512 the control correction unit 111 compares the control content indicated by the first control signal generated by the control generation unit 107 with the control content indicated by the second control signal generated immediately before by the control generation unit 107. Then, the first control signal is corrected so that the amount of change is within a predetermined range.
  • step ST513 when some or all of the control content indicated by the first control signal generated by the control generation unit 107 is missing, the control interpolation unit 112 generates the control content immediately before. Based on the control content indicated by the second control signal, the missing control content in the first control signal is interpolated to correct the first control signal.
  • step ST514 the control output unit 108 outputs the control signal generated by the control generation unit 107 or the control signal corrected by the control correction unit 111 or the control interpolation unit 112 to the robot 10.
  • step ST515 the rotation status acquisition unit 104 acquires a rotation status signal.
  • step ST516 the current position acquisition unit 105 acquires current position information indicating the current position of the arm 11 in the robot 10.
  • step ST517 the virtual space image generation unit 102 generates virtual space image information.
  • step ST517 After executing the process of step ST517, the robot controller 100 returns to the process of step ST508, and in step ST508, the control generation unit 107 determines that the position of the arm 11 and the target position are the same. In the period of, the processing from step ST508 to step ST517 is repeatedly executed.
  • the processes of step ST512, step ST513, and step ST517 are not essential in the robot controller 100. Further, in the process of the flowchart, the order of the processes of step ST501 and step ST502 may be reversed. Further, in the process of the flowchart, the order of the processes of step ST512 and step ST513 may be reversed.
  • FIG. 6 is a block diagram showing an example of a configuration of main parts of the robot control learning device 300 and the robot control learning system 3 according to the first embodiment.
  • the robot control learning device 300 is applied to the robot control learning system 3.
  • the robot control learning system 3 includes a robot control learning device 300, a robot 10, a network 30, a storage device 40, and an imaging device 50.
  • the same components as those of the robot control system 1 are designated by the same reference numerals, and duplicated description will be omitted. That is, description of the configuration in FIG. 6 having the same reference numerals as those in FIG. 2 will be omitted.
  • the motor control means 13, the rotation sensors 14-1 and 14-2, the contact sensor 15, the storage device 40, the imaging device 50, and the robot control learning device 300 provided in the robot 10 are connected to the network 30. ing.
  • the robot control learning apparatus 300 generates a control signal for controlling the rotation of the motor 12-1 or the motor 12-2 included in the robot 10, and uses the control signal to generate the motor 12-1 or the motor 12-1 included in the robot 10.
  • the robot 10 learns to control the arm 11 and model information used when the robot controller 100 controls the arm 11 of the robot 10 is generated.
  • the robot control apparatus 100 sets the target position based on the current position information indicating the current position of the arm 11 of the robot 10, the target position information indicating the target position of the arm 11, and the reference route information indicating the reference route.
  • the model information is used to generate a control signal indicating the control content for moving the arm 11 toward.
  • the robot control learning device 300 includes an image acquisition unit 301, a virtual space image generation unit 302, a rotation status acquisition unit 304, a target position acquisition unit 306, a current position acquisition unit 305, a control generation unit 307, a control output unit 308, and a reference route acquisition.
  • the unit 320, the reward calculation unit 321, the model generation unit 322, the model output unit 323, and the contact signal acquisition unit 324 are provided.
  • the robot control learning device 300 may include a control correction unit 311 and a control interpolation unit 312 in addition to the above-described configuration.
  • the image acquisition unit 301, the virtual space image generation unit 302, the rotation state acquisition unit 304, the target position acquisition unit 306, the current position acquisition unit 305, the control generation unit 307, and the control in the robot control learning device 300 according to the first embodiment.
  • Each function of the output unit 308, the reference route acquisition unit 320, the reward calculation unit 321, the model generation unit 322, the model output unit 323, the contact signal acquisition unit 324, the control correction unit 311, and the control interpolation unit 312 is the same as in the first embodiment.
  • the robot controller 100 according to the present invention may be realized by the processor 201 and the memory 202 in the hardware configuration illustrated in FIGS. 4A and 4B, or may be realized by the processing circuit 203. good.
  • the image acquisition unit 301 acquires the image information output by the imaging device 50 via the network 30.
  • the virtual space image generation unit 302 reproduces the work environment 20 as an image in a virtual space based on the image information acquired by the image acquisition unit 301, and generates virtual space image information indicating the image.
  • the process of the virtual space image generation unit 302 generating the virtual space image information is the same as the process performed by the virtual space image generation unit 102 in the robot control device 100 according to the first embodiment, and thus detailed description thereof will be omitted. ..
  • the index information necessary for the virtual space image generation unit 302 to generate the virtual space image information is calculated by the virtual space image generation unit 302 via the network 30. It will be described as being obtained by reading from the storage device 40.
  • the rotation status acquisition unit 304 acquires a rotation status signal indicating the rotation status of the motors 12-1 and 12-2 from the rotation sensors 14-1 and 14-2 provided in the robot 10.
  • the current position acquisition unit 305 acquires current position information indicating the current position of the arm 11 in the robot 10. Specifically, for example, the current position acquisition unit 305 acquires the current position information by specifying the current position of the arm 11 in the robot 10 based on the rotation status signal acquired by the rotation status acquisition unit 304.
  • the process by which the current position acquisition unit 305 acquires the current position information is similar to the process performed by the current position acquisition unit 105 in the robot control device 100 according to the first embodiment, and thus detailed description thereof will be omitted.
  • the target position acquisition unit 306 acquires target position information indicating a target position to move the arm 11.
  • the process by which the target position acquisition unit 306 acquires the target position information is the same as the process performed by the target position acquisition unit 106 in the robot control device 100 according to the first embodiment, and thus detailed description thereof will be omitted.
  • the reference path acquisition unit 320 is a path from the current position of the arm 11 in the robot 10 indicated by the current position information acquired by the current position acquisition unit 305 to the target position indicated by the target position information acquired by the target position acquisition unit 306. , Obtaining reference route information indicating a reference route including at least a part of routes.
  • the reference path acquisition unit 320 causes the display device (not shown) to display the virtual space image information generated by the virtual space image generation unit 302, and the input device (not shown) receives an input from the user to input the reference path information.
  • the method of acquiring the reference route information in the reference route acquisition unit 320 is not limited to the above method.
  • the reference route acquisition unit 320 may automatically generate the reference route based on a predetermined calculation process. Specifically, for example, the reference route acquisition unit 320 executes a random search using RRT (Rapidly-exploring Random Tree) or the like based on the current position information, the target position information, and the virtual space image information, and performs a random search.
  • the reference route information may be acquired by generating the reference route information based on the result of (1).
  • the reference route acquisition unit 320 can automatically generate the reference route information by using the result of the random search when acquiring the reference route information. Note that a method of obtaining a route between two points by a random search using RRT or the like is known, and therefore its explanation is omitted.
  • the reference path acquisition unit 320 is based on the movement history information indicating the path that the arm 11 has moved in the past in the section from the current position of the arm 11 indicated by the current position information to the target position indicated by the target position information.
  • the reference route information may be acquired by generating the reference route information.
  • the movement history information is stored in the storage device 40 via the network 30 when the arm 11 has moved in the section in the past, for example.
  • the reference route acquisition unit 320 acquires the movement history information by reading the movement history information from the storage device 40.
  • the reference route acquisition unit 320 can automatically generate the reference route information by using the movement history information when acquiring the reference route information.
  • the contact signal acquisition unit 324 receives the contact signal output from the contact sensor 15 via the network 30.
  • the reward calculation unit 321 determines that the arm 11 is based on the current position information acquired by the current position acquisition unit 305, the target position information acquired by the target position acquisition unit 306, and the reference route information acquired by the reference route acquisition unit 320.
  • the reward is calculated using an arithmetic expression including a term for calculating the reward by evaluating that the vehicle is moving based on the reference route.
  • the calculation formula used by the reward calculating unit 321 to calculate the reward includes the term for calculating the reward by evaluating that the arm 11 is moving based on the reference path, and the current position acquiring unit 305.
  • the term may include a term for calculating the reward by evaluating the continuity of movement of the current position of the arm 11 indicated by the acquired current position information.
  • the calculation formula used by the reward calculation unit 321 to calculate the reward may include a term for calculating a reward by evaluating whether or not an obstacle in the environment 20 has contacted.
  • the reward calculation unit 321 determines whether or not the arm 11 has come into contact with the obstacle in the work environment 20, for example, based on the contact signal acquired from the contact sensor 15 by the contact signal acquisition unit 324.
  • the reward calculation unit 321 uses the following equation (1) to determine the position of the arm 11 of the robot 10 at time t ⁇ 1 from the position of the arm 11 of the robot 10 at time t based on an arbitrary control signal. It is for calculating the reward when the robot moves to the position up to the position of the arm 11 of the robot 10 at time t.
  • the period from time t-1 to time t is, for example, a predetermined time interval in which the control generation unit 307 generates the control signal to be output to the motor control means 13 provided in the robot 10.
  • the model generation unit 322 generates a model by TD (Temporal Difference) learning method such as Q learning method, Actor-Critic method, or Sarsa method, or reinforcement learning such as Monte Carlo method, and generates model information indicating the generated model.
  • TD Temporal Difference
  • RL in the state S t of actors at a certain time t, of the one or more actions actors can act, valuable for certain actions a t the when acted by selecting a certain action a t Q ( define a reward r t for S t, a t) the there act a t, in which will enhance the value Q (S t, a t) and the reward r t.
  • the update formula of the action value function is represented by the following formula (2).
  • S t the state of the actors at a point in time t, a t, the action of actors at a point in time t, and, S t + 1 is advanced by the time from the time t by a predetermined time interval It represents the state of the action subject at t+1.
  • the action subject who is in the state S t at the time point t transits to the state S t+1 at the time point t+1 by the action a t .
  • Q(S t , a t ) represents the value for the action a t performed by the action subject in the state S t .
  • r t + 1 is a value indicating the reward when the actors transitions from state S t to the state S t + 1.
  • maxQ (S t + 1, a t + 1) among the actors may assume action a t + 1 when the state of the actors is in state S t + 1, actors are most Q (S t It represents Q(S t+1 , a * ) when the action a * having a large value of +1 , a t+1 ) is selected.
  • is a parameter indicating a positive value of 1 or less, and is generally a value called a discount rate.
  • is a learning coefficient showing a positive value of 1 or less.
  • Equation (2) is provided with a reward r t + 1 based on the action a t the actors in the state S t of actors do, action a the actors in the state S t + 1 transitions to the actors by action a t is performed * value Q (S t + 1, a *) values Q (, S t a t) actions a t the actors performed in the state S t of actors based on the is to update.
  • equation (2) is behavior in state S t a t by Value Q (S t, a t) than a reward r t + 1 based on the action a t in state S t, act a t If found the following sum of the behavior in state S t + 1 a transition a * value Q (S t + 1, a *) greater by the value Q (S t, a t) is updated so as to increase the.
  • equation (2) is behavior in state S t a t by Value Q (S t, a t) than a reward r t + 1 based on the action a t in state S t, the action a t If the state S t + 1 in action a * of the value Q was (S t + 1, a * ) towards the sum of the small, value Q (S t, a t) is updated so as to reduce the.
  • the expression (2) represents the value of the action when the action subject performs an action in the state where the action subject is present, and the value of the reward based on the action and the best value in the state transitioned by the action. It is intended to be updated so that it is closer to the value of action.
  • the actions a t+1 that the action subject can take when the state of the action subject is the state S t+1 the action subject has the largest value of Q(S t+1 , a t+1 ).
  • a method of determining the action a * there is, for example, a method using an ⁇ -greedy method, a Softmax method, or an RBF (Radial Basis Function) function. Since these methods are publicly known, description thereof will be omitted.
  • the action subject is the arm 11 according to the first embodiment
  • the state of the action subject is the position of the arm 11
  • the action is movement of the position of the arm 11. ..
  • the model generation unit 322 applies model (1) to formula (2) to generate model information. Specifically, the model generation unit 322 applies the equation (1) to the equation (2) to obtain current position information indicating the current position of the arm 11 in the robot 10 acquired by the current position acquisition unit 305, and the arm position. Correspondence information that is associated with a control signal indicating the control content for moving 11 is generated.
  • the correspondence information is a set of a plurality of positions and a control signal corresponding to each position for a plurality of different target positions.
  • the model generation unit 322 generates model information including a plurality of pieces of correspondence information associated with each of a plurality of different target positions.
  • the model generation unit 322 includes the current position information acquired by the current position acquisition unit 305, the target position information acquired by the target position acquisition unit 306, the reference route information acquired by the reference route acquisition unit 320, and the reward.
  • the model information is generated based on the reward calculated by the calculation unit 321.
  • the action a t the arm 11 can take when the state of the arm 11 according to the first embodiment is in state S t, a method of selecting an action a * will be described.
  • the action a t the arm 11 can take when the state of the arm 11 according to the first embodiment is in state S t, is a diagram illustrating an example of selecting an action a *.
  • a i , a j , and a * are actions that the arm 11 can take when the state of the arm 11 is the state S t at the time point t. Further, Q(S t ,a i ), Q(S t ,a j ), and Q(S t ,a * ) are such that when the arm 11 is in the state S t , the arm 11 performs the action a i , It is a value for each action when the action a j and the action a * are performed.
  • the model generation unit 322 applies the formula (1) to the formula (2) to generate the model information.
  • the value Q(S t ,a i ), the value Q(S t ,a j ), and the value Q(S t , a * ) is evaluated by an arithmetic expression including the sixth term and the seventh term in the equation (1). That is, the value Q(S t ,a i ), the value Q(S t ,a j ), and the value Q(S t ,a * ) are as the distance between the position of the arm 11 and the reference path is shorter, Further, the longer the distance the arm 11 has moved toward the target position along the reference path, the higher the value.
  • the model generation unit 322 when the state of the robot 10 is in state S t, and select an action a *, model information in association with the control signal corresponding to a state S t action a * To generate.
  • the model generation unit 322 can reduce the number of trials for determining the above-described action a * by adopting an appropriate arithmetic expression for calculating the reward when generating the model information. It is preferable to use learning.
  • the control generation unit 307 generates a control signal corresponding to the action selected when the model generation unit 322 generates the model information.
  • the control output unit 308 outputs the control signal generated by the control generation unit 307 to the motor control unit 13 provided in the robot 10 via the network 30.
  • the motor control means 13 provided in the robot 10 receives the control signal output by the control output unit 308 via the network 30, and as described above, uses the received control signal as an input signal to drive the motor based on the control signal. 12-1 and 12-2 are controlled.
  • the model output unit 323 outputs the model information generated by the model generation unit 322 to the storage device 40 via the network 30 and stores the model information in the storage device 40.
  • the control correction unit 311 determines that the control content indicated by the control signal generated by the control generation unit 307 (hereinafter referred to as “first control signal”) is the control signal generated immediately before by the control generation unit 307 (hereinafter “second control signal”).
  • the first control signal is corrected so that the amount of change is within a predetermined range.
  • the control correction unit 311 uses the first control signal and the rotation status signal acquired by the rotation status acquisition unit 304.
  • the first control signal may be corrected in the robot 10 so that the change amount falls within a predetermined range with respect to the control performed by the motor control unit 13.
  • the control correction unit 311 operates in the same manner as the control correction unit 111 in the robot control device 100, and thus detailed description thereof will be omitted.
  • the model generation unit 322 may generate model information using the control signal corrected by the control correction unit 311.
  • the control interpolation unit 312 When some or all of the control contents indicated by the first control signal generated by the control generation unit 307 are missing, the control interpolation unit 312 indicates the control contents indicated by the second control signal generated immediately before by the control generation unit 307. Based on the above, the first control signal is corrected by interpolating the missing control content in the first control signal. When the control interpolation unit 312 interpolates the missing control content in the first control signal based on the control content indicated by the second control signal, the missing control content in the first control signal is the second control signal. The first control signal is corrected by performing interpolation so that the amount of change is within a predetermined range from the control content indicated by.
  • control interpolation unit 312 interpolates the first control signal based on the second control signal when interpolating the missing control content in the first control signal.
  • the first control signal is interpolated so that the amount of change is within a predetermined range with respect to the control performed by the motor control unit 13. You may correct it.
  • the control interpolation unit 312 operates in the same manner as the control interpolation unit 112 in the robot controller 100, and thus detailed description thereof will be omitted.
  • the model generation unit 322 may generate the model information using the control signal corrected by the control interpolation unit 312.
  • FIG. 8 is a flowchart illustrating an example of processing of the robot control learning device 300 according to the first embodiment.
  • the robot control learning apparatus 300 for example, repeatedly executes the processing of the flowchart.
  • step ST801 the image acquisition unit 301 acquires image information.
  • step ST802 the rotation status acquisition unit 304 acquires a rotation status signal.
  • step ST803 the current position acquisition unit 305 acquires current position information indicating the current position of the arm 11 in the robot 10.
  • step ST804 the virtual space image generation unit 302 acquires index information.
  • step ST805 the virtual space image generation unit 302 generates virtual space image information.
  • step ST806 the target position acquisition unit 306 acquires target position information.
  • step ST807 the control generation unit 307 determines whether the current position of the arm 11 in the robot 10 indicated by the current position information acquired by the current position acquisition unit 305 is the same as the target position indicated by the target position information. To do.
  • the term “identical” as used herein does not necessarily mean that they are completely the same, but the term “identical” includes substantially the same.
  • the robot control learning device 300 executes the processing of step ST811 and thereafter.
  • the reward calculation unit 321 calculates rewards for a plurality of actions that the arm 11 can take for each action.
  • step ST812 the model generation unit 322 sets the reward calculated by the reward calculation unit 321 for each action, the value for each action, and the value for each of a plurality of actions that can be taken next for each action. Select actions to be taken based on Next, in step ST813, the control generation unit 307 generates a control signal corresponding to the action selected by the model generation unit 322.
  • step ST814 the control correction unit 311 compares the control content indicated by the first control signal generated by the control generation unit 307 with the control content indicated by the second control signal generated immediately before by the control generation unit 307. Then, the first control signal is corrected so that the change amount is within a predetermined range.
  • step ST815 when a part or all of the control content indicated by the first control signal generated by the control generation unit 307 is missing, the control interpolation unit 312 generates the control generation unit 307 immediately before. Based on the control content indicated by the second control signal, the missing control content in the first control signal is interpolated to correct the first control signal.
  • step ST816 the model generation unit 322 generates correspondence information in which the current position information acquired by the current position acquisition unit 305 and the control signal indicating the control content for moving the arm 11 are associated with each other. As a result, model information is generated.
  • step ST817 the control output unit 308 causes the motor control means provided in the robot 10 to control the control signal generated by the control generation unit 307 or the control signal corrected by the control correction unit 311 or the control interpolation unit 312. It outputs to 13.
  • step ST818 the rotation status acquisition unit 304 acquires a rotation status signal.
  • step ST819 the current position acquisition unit 305 acquires current position information indicating the current position of the arm 11 in the robot 10.
  • the virtual space image generation unit 302 generates virtual space image information.
  • the robot control learning device 300 returns to the process of step ST807 after executing the process of step ST820, and in step ST807, the control generation unit 307 determines that the current position of the arm 11 and the target position are the same.
  • the processing from step ST807 to step ST820 is repeatedly executed in the period up to.
  • the model output unit 323 outputs the model information generated by the model generation unit 322. Output.
  • the robot control learning device 300 ends the process of the flowchart.
  • step ST814, step ST815, and step ST820 are not essential processes in the robot control learning device 300. Further, in the processing of the flowchart, the order of execution of the processes of step ST801 and step ST802 may be reversed. Further, in the process of the flowchart, the order of executing the processes of steps ST814 and ST815 may be reversed.
  • FIG. 9 is a diagram showing an example of a path along which the arm 11 has moved to reach the target position.
  • 9A shows a case where the reference path is set from the position of the arm 11 at a certain time point to the target position and the arithmetic expression shown in the equation (1) is used, and FIG.
  • FIG. 9C shows that the sixth and seventh terms from the arithmetic expression shown in Expression (1) are not set.
  • the case where an arithmetic expression excluding terms is used is shown. It can be seen in FIG. 9A that the arm 11 moves along a set reference path until it reaches the target position. Further, in FIG.
  • the robot control learning apparatus 300 completes the learning in a short period by setting the reference path and performing the learning using the arithmetic expression shown in the equation (1). be able to.
  • the robot control device 100 includes the current position acquisition unit 105 that acquires the current position information indicating the current position of the arm 11 of the robot 10, and the target position acquisition that acquires the target position information indicating the target position of the arm 11.
  • An arithmetic expression for calculating a reward which includes a section for calculating a reward by evaluating that the arm 11 is moving based on the reference route with reference to the unit 106 and reference route information indicating the reference route.
  • the model information indicating the model learned by using, the current position information acquired by the current position acquisition unit 105, and the target position information acquired by the target position acquisition unit 106 Based on the model information indicating the model learned by using, the current position information acquired by the current position acquisition unit 105, and the target position information acquired by the target position acquisition unit 106, the target position indicated by the target position information is determined.
  • a control generation unit 107 that generates a control signal indicating a control content for moving the arm 11.
  • the robot control device 100 can control the robot 10 so that the arm 11 of the robot 10 does not perform substantially discontinuous operation while reducing the amount of calculation.
  • the robot control learning device 300 acquires the current position acquisition unit 305 that acquires the current position information indicating the current position of the arm 11 of the robot 10, and the target position information indicating the target position of the arm 11.
  • a target position acquisition unit 306 a reference route acquisition unit 320 that acquires reference route information indicating a reference route, current position information acquired by the current position acquisition unit 305, and target position information acquired by the target position acquisition unit 306,
  • An arithmetic expression for calculating the reward which includes a term for calculating the reward by evaluating that the arm 11 is moving based on the reference route based on the reference route information acquired by the reference route acquisition unit 320.
  • the reward calculation unit 321 that calculates the reward
  • the control generation unit 307 that generates the control signal indicating the control content for moving the arm 11 toward the target position indicated by the target position information
  • the current position acquisition unit Based on the current position information acquired by 305, the target position information acquired by the target position acquisition unit 306, the reference route information acquired by the reference route acquisition unit 320, and the reward calculated by the reward calculation unit 321 by a control signal.
  • a model generation unit 322 that generates model information by evaluating the value of moving the arm 11.
  • the robot control learning apparatus 300 generates model information for controlling the robot 10 so that the arm 11 of the robot 10 does not perform substantially discontinuous movement in a short learning period. can do.
  • FIG. 10 is a block diagram showing an example of a configuration of a main part of the robot control device 100a and the robot control system 1a according to the second embodiment.
  • the robot control device 100a is applied to, for example, the robot control system 1a.
  • the robot controller 100a like the robot controller 100, has a target position indicated by the target position information based on the model information, the current position information indicating the current position of the arm 11, and the target position information indicating the target position in the work environment 20.
  • a control signal indicating the control content for moving the arm 11 toward is generated, and the generated control signal is output to the motor control means 13 provided in the robot 10 via the network 30.
  • the model information used when the robot control device 100a generates the control signal is generated by the robot control learning device 300.
  • the robot control device 100a according to the second embodiment is different from the robot control device 100 according to the first embodiment in that the reference route acquisition unit 120, the reward calculation unit 121, the model update unit 122, the model output unit 123, and the contact.
  • the signal acquisition unit 124 is added so that the learned model information output from the robot control learning device 300 can be updated.
  • the same components as those of the robot control device 100 or the robot control system 1 according to the first embodiment will be denoted by the same reference numerals and will not be described. Is omitted. That is, description of the configuration in FIG. 10 having the same reference numerals as those in FIG. 2 will be omitted.
  • the robot control system 1a includes a robot control device 100a, a robot 10, a network 30, a storage device 40, and an imaging device 50.
  • the motor control means 13, the rotation sensors 14-1 and 14-2, the contact sensor 15, the storage device 40, the imaging device 50, and the robot control system 1 a provided in the robot 10 are connected to the network 30, respectively.
  • the robot control device 100a includes an image acquisition unit 101, a virtual space image generation unit 102, a model acquisition unit 103, a rotation status acquisition unit 104, a target position acquisition unit 106, a current position acquisition unit 105, a control generation unit 107a, and a control output unit.
  • the robot control device 100a may include a control correction unit 111a and a control interpolation unit 112a in addition to the above configuration.
  • the functions of the unit 107a, the control output unit 108a, the reference route acquisition unit 120, the reward calculation unit 121, the model update unit 122, the model output unit 123, the contact signal acquisition unit 124, the control correction unit 111a, and the control interpolation unit 112a are It may be realized by the processor 201 and the memory 202 in the hardware configuration shown in FIGS. 2A and 2B in the first embodiment, or may be realized by the processing circuit 203. ..
  • the reference route acquisition unit 120 acquires reference route information indicating a reference route. Specifically, for example, the reference route acquisition unit 120 reads the reference route information used when the robot control learning apparatus 300 generates the model information from the model information obtained by the model acquisition unit 103, and thereby the reference route is acquired. Get information.
  • the reward calculation unit 121 determines that the arm 11 is based on the current position information acquired by the current position acquisition unit 105, the target position information acquired by the target position acquisition unit 106, and the reference route information acquired by the reference route acquisition unit 120.
  • the reward is calculated using an arithmetic expression including a term for calculating the reward by evaluating that the vehicle is moving based on the reference route.
  • the calculation formula used by the reward calculation unit 121 to calculate the reward includes the term for calculating the reward by evaluating that the arm 11 is moving based on the reference path, and the current position acquisition unit 105.
  • the term may include a term for calculating the reward by evaluating the continuity of movement of the current position of the arm 11 indicated by the acquired current position information.
  • the calculation formula used by the reward calculation unit 121 to calculate the reward It may include a term for calculating a reward by evaluating whether or not an obstacle in the environment 20 has contacted.
  • the reward calculation unit 121 determines whether or not the arm 11 has come into contact with an obstacle in the work environment 20, for example, based on a contact signal acquired by the contact signal acquisition unit 124 from the contact sensor 15. Specifically, the reward calculation unit 121 calculates the reward based on the equation (1) shown in the first embodiment.
  • the model update unit 122 includes the current position information acquired by the current position acquisition unit 105, the target position information acquired by the target position acquisition unit 106, the reference route information acquired by the reference route acquisition unit 120, and the reward calculation unit 121.
  • the model information is updated based on the calculated reward.
  • the model updating unit 122 applies the equation (1) to the equation (2) described in the first embodiment to determine the current position of the arm 11 in the robot 10 indicated by the current position information acquired by the current position acquisition unit 105.
  • the model information is updated by updating the correspondence information associated with the control signal indicating the control content for moving the arm 11.
  • the model output unit 123 outputs the model information updated by the model updating unit 122 to the storage device 40 via the network 30 and stores the model information in the storage device 40.
  • the control generation unit 107a indicates the target position information based on the model information acquired by the model acquisition unit 103, the current position information acquired by the current position acquisition unit 105, and the target position information acquired by the target position acquisition unit 106.
  • a control signal indicating the control content for moving the arm 11 toward the target position is generated.
  • the control generation unit 107a has been described in the first embodiment except that the control signal may be generated based on the model information updated by the model update unit 122 instead of the model information acquired by the model acquisition unit 103. Since it is similar to the control generation unit 107, detailed description will be omitted.
  • the control correction unit 111a compares the control content indicated by the first control signal generated by the control generation unit 107a with the control content indicated by the second control signal generated immediately before by the control generation unit 107a, and determines a predetermined range.
  • the first control signal is corrected so that the change amount becomes.
  • the control interpolation unit 112a indicates the control contents indicated by the second control signal generated immediately before by the control generation unit 107a. Based on the above, the first control signal is corrected by interpolating the missing control content in the first control signal.
  • control correction unit 111a and the control interpolation unit 112a are the same as the operations of the control correction unit 111 and the control interpolation unit 112 described in the first embodiment, and thus detailed description thereof will be omitted.
  • model updating unit 122 may update the model information using the control signal corrected by the control correction unit 111a or the control interpolation unit 112a.
  • the control output unit 108a, the control signal generated by the control generation unit 107a, or the control signal corrected by the control correction unit 111a or the control interpolation unit 112a is output to the motor control unit 13 provided in the robot 10.
  • FIG. 11 is a flowchart illustrating an example of processing of the robot control device 100a according to the second embodiment.
  • the robot controller 100a for example, repeatedly executes the process of the flowchart each time a new target position is set.
  • step ST1101 the image acquisition unit 101 acquires image information.
  • step ST1102 the model acquisition unit 103 acquires model information.
  • step ST1103, the rotation status acquisition unit 104 acquires a rotation status signal.
  • step ST1104 the current position acquisition unit 105 acquires current position information indicating the current position of the arm 11 in the robot 10.
  • step ST1105 the virtual space image generation unit 102 generates virtual space image information.
  • step ST1106 the target position acquisition unit 106 acquires target position information.
  • step ST1107 the control generation unit 107a identifies the correspondence information corresponding to the target position indicated by the target position information among the correspondence information included in the model information.
  • step ST1108 the control generation unit 107a determines whether or not the current position of the arm 11 in the robot 10 indicated by the current position information acquired by the current position acquisition unit 105 and the target position indicated by the target position information are the same. Determine whether.
  • the term “identical” as used herein does not necessarily mean that they are completely the same, but the term “identical” includes substantially the same.
  • the reward calculation unit 121 calculates the reward in step ST1111.
  • the model updating unit 122 updates the model information by updating the correspondence information identified by the control generation unit 107a.
  • the control generation unit 107a refers to the correspondence information updated by the model update unit 122, and sets the current position of the arm 11 in the robot 10 indicated by the current position information acquired by the current position acquisition unit 105. By identifying the corresponding control signal, a control signal indicating the control content for moving the arm 11 is generated.
  • step ST1114 the control correction unit 111a compares the control content indicated by the first control signal generated by the control generation unit 107a with the control content indicated by the second control signal generated immediately before by the control generation unit 107a. Then, the first control signal is corrected so that the amount of change is within a predetermined range.
  • step ST1115 the control interpolation unit 112a generates the control content immediately before if the control content indicated by the first control signal generated by the control generation unit 107a is partially or completely missing. Based on the control content indicated by the second control signal, the missing control content in the first control signal is interpolated to correct the first control signal.
  • step ST1116 the control output unit 108a supplies the control signal generated by the control generation unit 107a or the control signal corrected by the control correction unit 111a or the control interpolation unit 112a to the motor control unit 13 provided in the robot 10. Output to.
  • step ST1117 the rotation status acquisition unit 104 acquires a rotation status signal.
  • step ST1118 the current position acquisition unit 105 acquires current position information indicating the current position of the arm 11 in the robot 10.
  • step ST1119 the virtual space image generation unit 102 generates virtual space image information.
  • step ST1119 After executing the process of step ST1119, the robot controller 100a returns to the process of step ST1108, and in step ST1108, the control generation unit 107a determines that the current position of the arm 11 and the target position are the same. In the period up to, the processing from step ST1108 to step ST1119 is repeatedly executed.
  • the model output unit 123 updates the model information updated by the model updating unit 122 in step ST1121. Output.
  • the robot controller 100a ends the process of the flowchart.
  • step ST1114, step ST1115, and step ST1119 are not essential processes in the robot controller 100a.
  • the order of performing the processes from step ST1101 to step ST1103 does not matter as long as it is performed before the process of step ST1104. Further, in the process of the flowchart, the order of executing the processes of steps ST1114 and ST1115 may be reversed.
  • the robot control device 100a includes the current position acquisition unit 105 that acquires the current position information indicating the current position of the arm 11 of the robot 10, and the target position acquisition that acquires the target position information indicating the target position of the arm 11.
  • An arithmetic expression for calculating a reward which includes a section for calculating a reward by evaluating that the arm 11 is moving based on the reference route with reference to the unit 106 and reference route information indicating the reference route. Based on the model information indicating the model learned by using, the current position information acquired by the current position acquisition unit 105, and the target position information acquired by the target position acquisition unit 106, the target position indicated by the target position information is determined.
  • the reference route acquisition unit 120 that acquires reference route information that indicates the reference route, and the current position acquisition unit 105. Based on the acquired current position information, the target position information acquired by the target position acquisition unit 106, and the reference route information acquired by the reference route acquisition unit 120, the arm 11 is moving based on the reference route.
  • a reward calculation unit 121 that calculates a reward using an arithmetic expression for calculating a reward, including a term that calculates a reward by evaluation, current position information acquired by the current position acquisition unit 105, and target position acquisition By evaluating the value of moving the arm 11 by the control signal based on the target position information acquired by the unit 106, the reference route information acquired by the reference route acquisition unit 120, and the reward calculated by the reward calculation unit 121, And a model updating unit 122 for updating the model information.
  • the robot control apparatus 100a causes the robot control learning apparatus 300 to evaluate the fact that the arm 11 is moving based on the reference route by referring to the reference route information indicating the reference route.
  • the model information generated by the robot 10 can be updated with a small amount of calculation in a short time, and the robot 10 can be controlled with higher accuracy so that the arm 11 of the robot 10 does not perform a substantially discontinuous operation. ..
  • the present invention allows free combinations of the respective embodiments, modification of arbitrary constituent elements of each embodiment, or omission of arbitrary constituent elements in each embodiment. ..
  • the robot control device according to the present invention can be applied to a robot control system. Further, the robot control learning device can be applied to a robot control learning system.

Landscapes

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

Abstract

ロボット制御装置(100,100a)は、ロボット(10)のアーム(11)の現在位置を示す現在位置情報を取得する現在位置取得部(105)と、アーム(11)の目標位置を示す目標位置情報を取得する目標位置取得部(106)と、参照経路を示す参照経路情報を参照してアーム(11)が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示すモデル情報と、現在位置取得部(105)が取得した現在位置情報と、目標位置取得部(106)が取得した目標位置情報とに基づいて目標位置情報が示す目標位置に向かってアーム(11)を移動させるための制御内容を示す制御信号を生成する制御生成部(107,107a)と、を備えた。

Description

ロボット制御装置、ロボット制御学習装置、及びロボット制御方法
 この発明は、ロボット制御装置、ロボット制御学習装置、及びロボット制御方法に関するものである。
 ロボットのアームが移動する経路を自動で生成する技術がある。
 例えば、特許文献1には、レーザーレンジセンサで測定した障害物の距離情報をメモリに記憶する距離情報記憶部と、メモリに記憶された距離情報に基づき斥力を計算する斥力計算部と、計算された斥力を軸方向の成分に分離する斥力成分分離部と、分離された軸成分から軸毎に正方向の最大値と負方向の最大値とを抽出し、軸毎に抽出した正方向と負方向の最大値の和を計算し、計算結果を各軸の軸成分とした回避用斥力を生成する回避用斥力生成部とを含むように構成した障害物回避支援部を備えた障害物回避支援装置が開示されている。
特許第5510081号
 従来技術によれば、斥力を発生させるポテンシャルを合成した結果、障害物付近のポテンシャルが相対的に下がる場合があり、障害物とロボットのアームとの間において引力が生じ、ロボットのアームが障害物に干渉してしまうという問題があった。
 上述の問題点を解決するためには、連続した空間におけるあらゆる方向において、ロボットのアームが移動する経路を探索する必要がある。
 しかしながら、連続した空間におけるあらゆる方向において、ロボットのアームが移動する経路を探索する場合、演算量が増え、ロボットのアームが移動する経路を決定するまでに長い時間を要してしまう。
 この発明は、上述の問題点を解決するためのもので、演算量を減らしつつ、ロボットのアームが不連続な動作を行うことないようにロボットを制御することができるロボット制御装置を提供することを目的としている。
 この発明に係るロボット制御装置は、ロボットのアームの現在位置を示す現在位置情報を取得する現在位置取得部と、アームの目標位置を示す目標位置情報を取得する目標位置取得部と、参照経路を示す参照経路情報を参照してアームが参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示すモデル情報と、現在位置取得部が取得した現在位置情報と、目標位置取得部が取得した目標位置情報とに基づいて目標位置情報が示す目標位置に向かってアームを移動させるための制御内容を示す制御信号を生成する制御生成部と、を備えた。
 この発明によれば、演算量を減らしつつ、ロボットのアームが不連続な動作を行うことないようにロボットを制御することができる。
図1は、実施の形態1に係るロボット制御装置が適用されたロボット制御システムの構成の一例を示す図である。 実施の形態1に係るロボット制御装置及びロボット制御システムの要部の構成の一例を示すブロック図である。 図3は、実施の形態1に係る仮想空間画像生成部が生成した仮想空間画像情報が示す画像の一例を示す図である。 図4A及び図4Bは、実施の形態1に係るロボット制御装置の要部のハードウェア構成の一例を示す図である。 図5は、実施の形態1に係るロボット制御装置の処理の一例を説明するフローチャートである。 図6は、実施の形態1に係るロボット制御学習装置及びロボット制御学習システムの要部の構成の一例を示すブロック図である。 図7は、実施の形態1に係るロボットのアームの状態が状態Sであるときにロボットのアームが取り得る行動aから、行動aを選択する一例を示す図である。 図8は、実施の形態1に係るロボット制御学習装置の処理の一例を説明するフローチャートである。 図9A、図9B、及び図9Cは、アームが目標位置に到達するまでに移動した経路の一例を示した図である。 図10は、実施の形態2に係るロボット制御装置及びロボット制御システムの要部の構成の一例を示すブロック図である。 図11は、実施の形態2に係るロボット制御装置の処理の一例を説明するフローチャートである。
 以下、この発明の実施の形態について、図面を参照しながら詳細に説明する。
実施の形態1.
 図1及び図2を参照して実施の形態1に係るロボット制御装置100の要部の構成について説明する。
 図1は、実施の形態1に係るロボット制御装置100が適用されたロボット制御システム1の構成の一例を示す図である。
 図2は、実施の形態1に係るロボット制御装置100及びロボット制御システム1の要部の構成の一例を示すブロック図である。
 ロボット制御装置100は、ロボット制御システム1に適用される。
 ロボット制御システム1は、ロボット制御装置100、ロボット10、ネットワーク30、記憶装置40、及び撮像装置50を備える。
 ロボット10は、例えば、ロボット10が備えるアーム11を、アーム11の関節をモータ12-1,12-2により制御することで移動させることのより、作業環境20において所定の作業を行うアーム式ロボット装置である。
 ロボット10は、アーム11、モータ12-1,12-2、モータ制御手段13、回転センサ14-1,14-2、及び接触センサ15を備える。
 アーム11は、複数の関節を有する。実施の形態1では、アーム11は、2個の関節11-1,11-2を有するものとして説明する。アーム11が有する関節の数は2個とは限らず、3個以上の関節を有する者であっても良い。例えば、アーム11を3次元で動作させることにより作業されるものである場合、アーム11は、ロボット工学上、少なくとも6個の関節を有する必要がある。
 モータ12-1,12-2は、それぞれ、アーム11が有する2個の関節11-1,11-2を動かすためのものである。
 モータ制御手段13は、ロボット制御装置100が出力した制御信号に基づいてモータ12-1,12-2を制御する。具体的には、モータ制御手段13は、ロボット制御装置100が出力した制御信号に基づいてモータ12-1,12-2を動作されるための電気信号を生成し、生成した電気信号をモータ12-1,12-2に出力することによりモータ12-1,12-2を制御する。
 回転センサ14-1,14-2は、それぞれ、モータ12-1,12-2の回転量又は回転速度等のモータ12-1,12-2の回転状況を示す回転状況信号をロボット制御装置100に出力する。
 接触センサ15は、作業環境20における障害物とアーム11とが接触したか否かを示す接触信号をロボット制御装置100に出力する。
 ネットワーク30は、例えば、CAN(Controller Area Network)、若しくはLAN(Local Area Network)等の有線ネットワーク、又は、無線LAN、若しくはLTE(Long Term Evolution)(登録商標)等の無線ネットワークにより構成される通信手段である。
 記憶装置40は、ロボット制御装置100が、目標位置に向かってアーム11を移動させるための制御内容を示す制御信号を生成するために必要な情報を記憶するためのものである。ロボット制御装置100が、制御信号を生成するために必要な情報は、例えば、モデル情報である。記憶装置40は、例えば、ハードディスクドライブ又はSDメモリーカード等の不揮発性記憶媒体を有し、ロボット制御装置100が制御信号を生成するために必要な情報を不揮発性記憶媒体に記憶する。
 撮像装置50は、例えば、デジタルスチルカメラ又はデジタルビデオカメラ等の撮影した画像を画像情報として外部に出力可能な画像入力装置である。撮像装置50は、深度カメラ又はステレオカメラ等の物体の位置又は領域を3次元空間において特定可能な画像情報を生成する画像入力装置であっても良い。また、撮像装置50は、1台とは限らず、2台以上であっても良い。また、撮像装置50は、ロボット10及び作業環境20とは離れた位置に設置されたものであっても、ロボット10の任意の部位に固定されて設定されたものであっても良い。実施の形態1では、撮像装置50は、ロボット10及び作業環境20とは離れた位置に設置された1台のデジタルスチルカメラであるものとして説明する。実施の形態1に係る撮像装置50は、作業環境20を撮影し、撮影した画像を画像情報として出力する。ロボット制御装置100は、撮像装置50が出力する画像情報と、ロボット10に対する撮像装置50の相対位置を示す情報とを用いて、ロボット10に対する作業環境20の相対位置、特に、ロボット10に対する作業環境20における障害物の位置又は領域の相対位置を特定する。
 ロボット10に備えられたモータ制御手段13、回転センサ14-1,14-2、及び接触センサ15、記憶装置40、撮像装置50、並びに、ロボット制御装置100は、それぞれ、ネットワーク30に接続されている。
 ロボット制御装置100は、モデル情報、アーム11の現在位置を示す現在位置情報、及び作業環境20における目標位置を示す目標位置情報に基づいて目標位置情報が示す目標位置に向かってアーム11を移動させるための制御内容を示す制御信号を生成し、生成した制御信号を、ネットワーク30を介してロボット10に備えられたモータ制御手段13に出力するものである。
 ロボット制御装置100は、画像取得部101、仮想空間画像生成部102、モデル取得部103、回転状況取得部104、目標位置取得部106、現在位置取得部105、制御生成部107、及び制御出力部108を備える。ロボット制御装置100は、上述の構成に加えて、制御補正部111、及び制御補間部112を備えるものであっても良い。
 画像取得部101は、撮像装置50が出力した画像情報を、ネットワーク30を介して取得する。
 仮想空間画像生成部102は、画像取得部101が取得した画像情報に基づいて作業環境20を仮想空間に画像として再現し、当該画像を示す仮想空間画像情報を生成する。
 具体的には、例えば、仮想空間画像生成部102は、画像情報が示す画像から周知の画像解析技術を用いて特徴点を抽出し、特徴点から物体形状を特定するための予め用意された指標情報を用いて、抽出した特徴点から作業環境20における物体又は障害物の位置又は領域を特定する。仮想空間画像生成部102は、特定した物体又は障害物の位置又は領域と、ロボット10に対する撮像装置50の相対位置を示す情報と、撮像装置50の画角を示す情報に基づいてピンホールカメラ技術等を用いて、ロボット10に対する特定した物体又は障害物の位置又は領域の位置を特定し、作業環境20を仮想空間に再現する。なお、実施の形態1では、指標情報は、モデル情報に含まれるものとして説明する。
 撮像装置50が深度カメラ又はステレオカメラ等の物体の位置又は領域を3次元空間において特定可能な画像情報を生成する画像入力装置である場合、仮想空間画像生成部102は、画像取得部101が取得した画像情報を用いて、画像情報が示す画像に写る物体又は障害物の位置又は領域を3次元空間において特定し、作業環境20を仮想空間に再現する。
 モデル取得部103は、モデル情報を取得する。モデル取得部103は、例えば、ネットワーク30を介して、記憶装置40からモデル情報を読み出すことにより、モデル情報を取得する。なお、実施の形態1において、制御生成部107等が予めモデル情報を保持する場合、モデル取得部103は、ロボット制御装置100において、必須な構成ではない。
 回転状況取得部104は、ロボット10に備えられた回転センサ14-1,14-2から、モータ12-1,12-2の回転状況を示す回転状況信号を取得する。
 現在位置取得部105は、ロボット10におけるアーム11の現在位置を示す現在位置情報を取得する。
 具体的には、例えば、現在位置取得部105は、回転状況取得部104が取得した回転状況信号に基づいてロボット10におけるアーム11の現在位置を特定することにより、現在位置情報を取得する。ロボット10におけるアーム11の現在位置は、アーム11における関節11-1,11-2の曲がり具合、すなわち、関節11-1,11-2の曲がる角度を特定することにより一意に決定される。アーム11における関節11-1,11-2の曲がる角度は、関節11-1,11-2に対応するモータ12-1,12-2が回転することにより制御される。現在位置取得部105は、回転状況信号が示すモータ12-1,12-2の回転量を用いて、モータ12-1,12-2における予め決められた基準位置からの回転量を特定することにより、ロボット10におけるアーム11の現在位置を特定する。
 現在位置取得部105が現在位置情報を取得する方法は、回転状況信号に基づいてアーム11の現在位置を特定する方法に限るものではない。例えば、現在位置取得部105は、画像取得部101が取得した画像情報に基づいてアーム11の現在位置を特定しても良い。具体的には、例えば、現在位置取得部105は、画像取得部101が取得した画像情報が示す画像から周知の画像解析技術を用いて特徴点を抽出し、抽出した特徴点から画像に写るアーム11を特定して、アーム11の現在位置を特定する。
 また、例えば、現在位置取得部105は、超音波センサ又はレーザーセンサ等の物体の位置を検知可能なセンサが出力するセンサ信号に基づいてアーム11の現在位置を特定しても良い。
 実施の形態1では、現在位置取得部105は、回転状況取得部104が取得した回転状況信号に基づいてロボット10におけるアーム11の現在位置を特定することにより、現在位置情報を取得するものとして説明する。
 仮想空間画像生成部102は、現在位置取得部105が取得したロボット10におけるアーム11の現在位置を示す現在位置情報を用いてロボット10におけるアーム11の一部又は全部を作業環境20と共に、仮想空間に再現し、仮想空間画像情報を生成しても良い。
 図3は、実施の形態1に係る仮想空間画像生成部102が生成した仮想空間画像情報が示す画像の一例を示す図である。
 図3は、仮想空間画像生成部102が、ロボット10におけるアーム11の全部を作業環境20と共に、仮想空間に再現した場合を示している。
 目標位置取得部106は、アーム11を移動させる目標位置を示す目標位置情報を取得する。目標位置情報が示す目標位置は、例えば、アーム11における任意の一部を移動させる目標の位置であり、アーム11における任意の一部とは、例えば、アーム11における先端11-3である。
 目標位置取得部106は、例えば、図示しない入力装置に対するユーザの操作により入力された目標位置情報を受け付けることにより、目標位置情報を取得する。具体的には、目標位置取得部106は、図示しない表示装置に対して仮想空間画像生成部102が生成した仮想空間画像情報を表示させ、表示装置に表示された仮想空間画像情報の位置を指定する入力装置に対するユーザの操作により目標位置情報を受け付ける。
 制御生成部107は、モデル取得部103が取得したモデル情報と、現在位置取得部105が取得した現在位置情報と、目標位置取得部106が取得した目標位置情報とに基づいて目標位置情報が示す目標位置に向かってアーム11を移動させるための制御内容を示す制御信号を生成する。
 モデル情報は、参照経路を示す参照経路情報を参照してロボット10におけるアーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示す情報である。
 具体的には、例えば、モデル情報は、ロボット10におけるアーム11の位置を示す位置情報と、アーム11を移動させるための制御内容を示す制御信号とが対応付けられた対応情報を含むものである。対応情報は、互いに異なる複数の目標位置において、目標位置毎に、複数の位置情報と、各位置情報に対応する制御信号がセットになった情報である。モデル情報は、複数の対応情報を含み、各対応情報は、互いに異なる複数の目標位置のそれぞれに対応付けられたものである。
 制御生成部107は、モデル情報に含まれる対応情報から、目標位置取得部106が取得した目標位置情報が示す目標位置に対応する対応情報を特定し、特定した対応情報と、現在位置取得部105が取得した現在位置情報とに基づいて制御情報を生成する。
 より具体的には、制御生成部107は、特定した対応情報を参照して、現在位置取得部105が取得した現在位置情報が示すロボット10におけるアーム11の現在位置に対応する制御信号を特定することにより、アーム11を移動させるための制御内容を示す制御信号を生成する。
 制御出力部108は、制御生成部107が生成した制御信号を、ネットワーク30を介して、ロボット10に備えられたモータ制御手段13に出力する。
 ロボット10に備えられたモータ制御手段13は、ネットワーク30を介して、制御出力部108が出力した制御信号を受信し、上述のとおり、受信した制御信号に基づいてモータ12-1,12-2を動作されるための電気信号を生成し、生成した電気信号をモータ12-1,12-2に出力する。
 制御補正部111は、制御生成部107が生成した制御信号(以下「第1制御信号」という。)が示す制御内容が、制御生成部107が直前に生成した制御信号(以下「第2制御信号」という。)が示す制御内容と比較して、予め定められた範囲内の変化量になるように、第1制御信号を補正する。
 制御補正部111が生成するロボット10に備えられたモータ12-1又はモータ12-2の回転を制御するための制御信号において、第2制御信号が示す回転制御と比較して、第1制御信号が示す回転制御が、大きく異なる回転制御である場合、モータ12-1又はモータ12-2は、急激なトルク変化を強いられ、脱調等の不具合が発生することがある。更には、モータ12-1又はモータ12-2は、予め決められた定格電圧を超える電気信号が入力され、故障等の不具合が発生することがある。
 制御補正部111は、制御補正部111が生成するロボット10に備えられたモータ12-1又はモータ12-2の回転を制御するための制御信号において、第2制御信号が示す回転制御と比較して、急激な変化にならい範囲になるように、第1制御信号が示す回転制御を補正する。
 ロボット制御装置100は、制御補正部111を有することで、ロボット10に備えられたモータ12-1又はモータ12-2の回転を制御するための制御信号において、脱調又は故障等の不具合が発生しないように、ロボット10のアーム11を安定して制御することができる。
 なお、制御補正部111は、第1制御信号と第2制御信号とを比較する例を説明したが、制御補正部111は、第1制御信号と、回転状況取得部104が取得する回転状況信号とを比較し、第1制御信号が示す制御内容が、回転状況信号が示すモータ12-1又はモータ12-2の回転速度等の回転状況に対して、予め定められた範囲内の変化量になるように、第1制御信号を補正しても良い。
 制御補間部112は、制御生成部107が生成した第1制御信号が示す制御内容の一部又は全部が欠落している場合、制御生成部107が直前に生成した第2制御信号が示す制御内容に基づいて第1制御信号における欠落している制御内容を補間して第1制御信号を補正する。制御補間部112は、第2制御信号が示す制御内容に基づいて第1制御信号における欠落している制御内容を補間する際、第1制御信号における欠落している制御内容が、第2制御信号が示す制御内容から予め定められた範囲内の変化量になるように補間して第1制御信号を補正する。
 例えば、制御生成部107が予め定められた期間ごとに定期的に制御信号を生成し、ロボット10に備えられたモータ12-1又はモータ12-2の回転制御を行う場合、制御生成部107による制御信号の生成が当該期間内に完了しない場合がある。このような場合、例えば、制御生成部107により生成された制御信号は、制御内容の一部又は全部が欠落した状態となる。例えば、制御信号が示す制御内容が相対値ではなく絶対値を指定する制御信号である場合、制御生成部107が生成する制御信号の制御内容の一部又は全部が欠落すると、モータ12-1又はモータ12-2は、急激なトルク変化を強いられ、脱調等の不具合が発生することがある。更には、モータ12-1又はモータ12-2は、予め決められた定格電圧を超える電気信号が入力され、故障等の不具合が発生することがある。
 ロボット制御装置100は、制御補間部112を有することで、ロボット10に備えられたモータ12-1又はモータ12-2の回転を制御するための制御信号において、脱調又は故障等の不具合が発生しないように、ロボット10のアーム11を安定して制御することができる。
 なお、制御補間部112は、第1制御信号における欠落している制御内容を補間する際、第2制御信号に基づいて第1制御信号を補間する例を説明したが、制御補正部111は、第1制御信号と、回転状況取得部104が取得する回転状況信号とを比較し、第1制御信号が示す制御内容が、回転状況信号が示すモータ12-1又はモータ12-2の回転速度等の回転状況に対して、予め定められた範囲内の変化量になるように、第1制御信号を補間して補正しても良い。
 図4A及び図4Bを参照して、実施の形態1に係るロボット制御装置100の要部のハードウェア構成について説明する。
 図4A及び図4Bは、実施の形態1に係るロボット制御装置100の要部のハードウェア構成の一例を示す図である。
 図4Aに示す如く、ロボット制御装置100はコンピュータにより構成されており、当該コンピュータはプロセッサ201及びメモリ202を有している。メモリ202には、当該コンピュータを、画像取得部101、仮想空間画像生成部102、モデル取得部103、回転状況取得部104、目標位置取得部106、現在位置取得部105、制御生成部107、制御出力部108、制御補正部111、及び制御補間部112として機能させるためのプログラムが記憶されている。メモリ202に記憶されているプログラムをプロセッサ201が読み出して実行することにより、画像取得部101、仮想空間画像生成部102、モデル取得部103、回転状況取得部104、目標位置取得部106、現在位置取得部105、制御生成部107、制御出力部108、制御補正部111、及び制御補間部112が実現される。
 また、図4Bに示す如く、ロボット制御装置100は処理回路203により構成されても良い。この場合、画像取得部101、仮想空間画像生成部102、モデル取得部103、回転状況取得部104、目標位置取得部106、現在位置取得部105、制御生成部107、制御出力部108、制御補正部111、及び制御補間部112の機能が処理回路203により実現されても良い。
 また、ロボット制御装置100はプロセッサ201、メモリ202及び処理回路203により構成されても良い(不図示)。この場合、画像取得部101、仮想空間画像生成部102、モデル取得部103、回転状況取得部104、目標位置取得部106、現在位置取得部105、制御生成部107、制御出力部108、制御補正部111、及び制御補間部112の機能のうちの一部の機能がプロセッサ201及びメモリ202により実現されて、残余の機能が処理回路203により実現されるものであっても良い。
 プロセッサ201は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、マイクロプロセッサ、マイクロコントローラ又はDSP(Digital Signal Processor)を用いたものである。
 メモリ202は、例えば、半導体メモリ又は磁気ディスクを用いたものである。より具体的には、メモリ202は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、SSD(Solid State Drive)又はHDD(Hard Disk Drive)などを用いたものである。
 処理回路203は、例えば、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field-Programmable Gate Array)、SoC(System-on-a-Chip)又はシステムLSI(Large-Scale Integration)を用いたものである。
 図5を参照して、実施の形態1に係るロボット制御装置100の動作について説明する。
 図5は、実施の形態1に係るロボット制御装置100の処理の一例を説明するフローチャートである。
 ロボット制御装置100は、例えば、新たな目標位置が設定される毎に当該フローチャートの処理を繰り返して実行する。
 まず、ステップST501にて、画像取得部101は、画像情報を取得する。
 次に、ステップST502にて、モデル取得部103は、モデル情報を取得する。
 次に、ステップST503にて、回転状況取得部104は、回転状況信号を取得する。
 次に、ステップST504にて、現在位置取得部105は、ロボット10におけるアーム11の現在位置を示す現在位置情報を取得する。
 次に、ステップST505にて、仮想空間画像生成部102は、仮想空間画像情報を生成する。
 次に、ステップST506にて、目標位置取得部106は、目標位置情報を取得する。
 次に、ステップST507にて、制御生成部107は、モデル情報に含まれる対応情報のうち、目標位置情報が示す目標位置に対応する対応情報を特定する。
 次に、ステップST508にて、制御生成部107は、現在位置取得部105が取得した現在位置情報が示すロボット10におけるアーム11の現在位置と目標位置情報が示す目標位置とが同一であるか否かを判定する。なお、ここで言う同一とは、必ずしも完全に一致するものに限らず、同一は、略同一を含むものである。
 ステップST508にて、制御生成部107が、アーム11の現在位置と目標位置とが同一であると判定した場合、ロボット制御装置100は、当該フローチャートの処理を終了する。
 ステップST508にて、制御生成部107が、アーム11の現在位置と目標位置とが同一でないと判定した場合、ステップST511にて、制御生成部107は、特定した対応情報を参照して、現在位置取得部105が取得した現在位置情報が示すロボット10におけるアーム11の現在位置に対応する制御信号を特定することにより、アーム11を移動させるための制御内容を示す制御信号を生成する。
 次に、ステップST512にて、制御補正部111は、制御生成部107が生成した第1制御信号が示す制御内容が、制御生成部107が直前に生成した第2制御信号が示す制御内容と比較して、予め定められた範囲内の変化量になるように、第1制御信号を補正する。
 次に、ステップST513にて、制御補間部112は、制御生成部107が生成した第1制御信号が示す制御内容の一部又は全部が欠落している場合、制御生成部107が直前に生成した第2制御信号が示す制御内容に基づいて第1制御信号における欠落している制御内容を補間して第1制御信号を補正する。
 次に、ステップST514にて、制御出力部108は、制御生成部107が生成した制御信号又は制御補正部111若しくは制御補間部112が補正した制御信号を、ロボット10に出力する。
 次に、ステップST515にて、回転状況取得部104は、回転状況信号を取得する。
 次に、ステップST516にて、現在位置取得部105は、ロボット10におけるアーム11の現在位置を示す現在位置情報を取得する。
 次に、ステップST517にて、仮想空間画像生成部102は、仮想空間画像情報を生成する。
 ロボット制御装置100は、ステップST517の処理を実行した後、ステップST508の処理に戻って、ステップST508にて、制御生成部107が、アーム11の位置と目標位置とが同一であると判定するまでの期間において、ステップST508からステップST517までの処理を繰り返し実行する。
 なお、当該フローチャートの処理において、ステップST512、ステップST513,及びステップST517の処理は、ロボット制御装置100において必須の処理ではない。また、当該フローチャートの処理において、ステップST501及びステップST502の処理は順序が逆であっても良い。また、当該フローチャートの処理において、ステップST512及びステップST513の処理は順序が逆であっても良い。
 モデル情報の生成方法について説明する。
 ロボット制御装置100が制御信号を生成する際に用いるモデル情報は、ロボット制御学習装置300により生成される。
 図6を参照して実施の形態1に係るロボット制御学習装置300の要部の構成について説明する。
 図6は、実施の形態1に係るロボット制御学習装置300及びロボット制御学習システム3の要部の構成の一例を示すブロック図である。
 ロボット制御学習装置300は、ロボット制御学習システム3に適用される。
 ロボット制御学習システム3は、ロボット制御学習装置300、ロボット10、ネットワーク30、記憶装置40、及び撮像装置50を備える。
 ロボット制御学習システム3の構成において、ロボット制御システム1と同様の構成については、同じ符号を付して重複した説明を省略する。すなわち、図2に記載した符号と同じ符号を付した図6の構成については、説明を省略する。
 ロボット10に備えられたモータ制御手段13、回転センサ14-1,14-2、及び接触センサ15、記憶装置40、撮像装置50、並びに、ロボット制御学習装置300は、それぞれ、ネットワーク30に接続されている。
 ロボット制御学習装置300は、ロボット10に備えられたモータ12-1又はモータ12-2の回転を制御するための制御信号を生成し、当該制御信号によりロボット10に備えられたモータ12-1又はモータ12-2を制御することによってロボット10にアーム11を制御するための学習を行い、ロボット制御装置100がロボット10のアーム11を制御する際に用いるモデル情報を生成するものである。
 ロボット制御学習装置300は、ロボット10のアーム11の現在位置を示す現在位置情報、アーム11の目標位置を示す目標位置情報、及び参照経路を示す参照経路情報に基づいてロボット制御装置100が目標位置に向かってアーム11を移動させるための制御内容を示す制御信号を生成する際に用いるモデル情報を生成するものである。
 ロボット制御学習装置300は、画像取得部301、仮想空間画像生成部302、回転状況取得部304、目標位置取得部306、現在位置取得部305、制御生成部307、制御出力部308、参照経路取得部320、報酬算出部321、モデル生成部322、モデル出力部323、及び接触信号取得部324を備える。ロボット制御学習装置300は、上述の構成に加えて、制御補正部311、及び制御補間部312を備えるものであっても良い。
 なお、実施の形態1に係るロボット制御学習装置300における画像取得部301、仮想空間画像生成部302、回転状況取得部304、目標位置取得部306、現在位置取得部305、制御生成部307、制御出力部308、参照経路取得部320、報酬算出部321、モデル生成部322、モデル出力部323、接触信号取得部324、制御補正部311、及び制御補間部312の各機能は、実施の形態1に係るロボット制御装置100について図4A及び図4Bに一例を示したハードウェア構成におけるプロセッサ201及びメモリ202により実現されるものであっても良く、又は処理回路203により実現されるものであっても良い。
 画像取得部301は、撮像装置50が出力した画像情報を、ネットワーク30を介して取得する。
 仮想空間画像生成部302は、画像取得部301が取得した画像情報に基づいて作業環境20を仮想空間に画像として再現し、当該画像を示す仮想空間画像情報を生成する。
 仮想空間画像生成部302が仮想空間画像情報を生成する処理は、実施の形態1に係るロボット制御装置100における仮想空間画像生成部102が実施する処理と同様であるため、詳細な説明を省略する。
 なお、実施の形態1に係るロボット制御学習装置300において、仮想空間画像生成部302が仮想空間画像情報を生成するために必要な指標情報は、仮想空間画像生成部302が、ネットワーク30を介して記憶装置40から読み出すことにより取得するものとして説明する。
 回転状況取得部304は、ロボット10に備えられた回転センサ14-1,14-2から、モータ12-1,12-2の回転状況を示す回転状況信号を取得する。
 現在位置取得部305は、ロボット10におけるアーム11の現在位置を示す現在位置情報を取得する。
 具体的には、例えば、現在位置取得部305は、回転状況取得部304が取得した回転状況信号に基づいてロボット10におけるアーム11の現在位置を特定することにより、現在位置情報を取得する。
 現在位置取得部305が現在位置情報を取得する処理は、実施の形態1に係るロボット制御装置100における現在位置取得部105が実施する処理と同様であるため、詳細な説明を省略する。
 目標位置取得部306は、アーム11を移動させる目標位置を示す目標位置情報を取得する。
 目標位置取得部306が目標位置情報を取得する処理は、実施の形態1に係るロボット制御装置100における目標位置取得部106が実施する処理と同様であるため、詳細な説明を省略する。
 参照経路取得部320は、現在位置取得部305が取得した現在位置情報が示すロボット10におけるアーム11の現在位置から、目標位置取得部306が取得した目標位置情報が示す目標位置までの経路のうち、少なくとも一部の経路を含む参照経路を示す参照経路情報を取得する。
 参照経路取得部320は、例えば、図示しない表示装置に仮想空間画像生成部302が生成した仮想空間画像情報を表示させて、図示しない入力装置がユーザから入力を受け付けて、入力された参照経路情報を取得する。
 参照経路取得部320における参照経路情報の取得方法は、上述の方法に限定されるものではない。
 例えば、参照経路取得部320は、所定の計算処理に基づいて自動で生成しても良い。具体的には、例えば、参照経路取得部320は、現在位置情報、目標位置情報、及び仮想空間画像情報に基づいてRRT(Rapidly-exploring Random Tree)等を用いたランダムサーチを実行し、ランダムサーチの結果に基づいて参照経路情報を生成することにより、参照経路情報を取得しても良い。
 参照経路取得部320は、参照経路情報を取得する際にランダムサーチの結果を用いることにより、参照経路情報を自動で生成できる。
 なお、RRT等を用いたランダムサーチにより2地点間の経路を求める方法は、公知であるため説明を省略する。
 また、例えば、参照経路取得部320は、現在位置情報が示すアーム11の現在位置から目標位置情報が示す目標位置までの区間において、アーム11が過去に移動した経路を示す移動履歴情報に基づいて参照経路情報を生成することにより、参照経路情報を取得しても良い。
 移動履歴情報は、例えば、アーム11が過去に当該区間を移動した際に、ネットワーク30を介して記憶装置40に記憶させる。参照経路取得部320は、記憶装置40から移動履歴情報を読み出すことにより、移動履歴情報を取得する。
 参照経路取得部320は、参照経路情報を取得する際に移動履歴情報を用いることにより、参照経路情報を自動で生成できる。
 接触信号取得部324は、ネットワーク30を介して、接触センサ15が出力した接触信号を受信する。
 報酬算出部321は、現在位置取得部305が取得した現在位置情報と、目標位置取得部306が取得した目標位置情報と、参照経路取得部320が取得した参照経路情報とに基づいてアーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む演算式を用いて、報酬を算出する。
 報酬算出部321が報酬を算出する際に用いる演算式は、アーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項に加えて、現在位置取得部305が取得した現在位置情報が示すアーム11の現在位置の移動の連続性を評価することにより報酬を算出する項を含むものであっても良い。
 また、報酬算出部321が報酬を算出する際に用いる演算式は、アーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項に加えて、アーム11と作業環境20における障害物とが接触したか否かを評価することにより報酬を算出する項を含むものであっても良い。報酬算出部321は、アーム11と作業環境20における障害物とが接触したか否かを、例えば、接触信号取得部324が接触センサ15から取得した接触信号に基づいて判定する。
 具体的には、報酬算出部321は、以下の式(1)を用いて、時点t-1におけるロボット10におけるアーム11の位置から、ロボット10におけるアーム11が任意の制御信号に基づいて時点tまでの間に行動し、時点tにおけるロボット10におけるアーム11の位置となる際の報酬を算出するものである。なお、時点t-1から時点tまでの期間は、例えば、制御生成部307が、ロボット10備えられたモータ制御手段13に出力する制御信号を生成する予め決められた時間間隔である。
Figure JPOXMLDOC01-appb-I000001
Figure JPOXMLDOC01-appb-I000002
Figure JPOXMLDOC01-appb-I000003
Figure JPOXMLDOC01-appb-I000004
 モデル生成部322は、Q学習法、Actor-Critic法、若しくはSarsa法等のTD(Temporal Difference)学習法、又はモンテカルロ法等の強化学習によりモデルを生成し、生成したモデルを示すモデル情報を生成する。
 強化学習は、ある時刻tにおける行動主体の状態Sにおいて、行動主体が行動し得る1以上の行動のうち、ある行動aを選択して行動した際の当該ある行動aに対する価値Q(S,a)と当該ある行動aに対する報酬rを定義し、価値Q(S,a)と報酬rとを高めていくものである。
 一般に、行動価値関数の更新式は、以下の式(2)により示される。
 Q(S,a) ← Q(S,a)+α(rt+1+γmaxQ(St+1,at+1)-Q(S,a)) ・・・式(2)
 ここで、Sは、ある時点tにおける行動主体の状態、aは、ある時点tにおける行動主体の行動、及び、St+1は、時点tより所定の時間間隔だけ時刻が進んだ時点t+1における行動主体の状態を表す。時点tにおいて状態Sである行動主体は、行動aにより、時点t+1において、状態St+1に遷移する。
 Q(S,a)は、状態Sにある行動主体が行った行動aに対する価値を表す。
 rt+1は、行動主体が状態Sから状態St+1に遷移した際の報酬を示す値である。
 maxQ(St+1,at+1)は、行動主体の状態が状態St+1であるときに行動主体が取り得る行動at+1のうち、行動主体が、最もQ(St+1,at+1)の値が大きな値となる行動aを選択した際のQ(St+1,a)を表す。
 γは、1以下の正の値を示すパラメータであり、一般に、割引率と呼ばれる値である。
 αは、1以下の正の値を示す学習係数である。
 式(2)は、行動主体の状態Sにおける行動主体が行う行動aに基づく報酬rt+1と、行動aにより遷移した行動主体の状態St+1における行動主体が行う行動aの価値Q(St+1,a)とに基づいて行動主体の状態Sにおける行動主体が行う行動aの価値Q(S,a)を更新するものである。
 具体的には、式(2)は、状態Sにおける行動aによる価値Q(S,a)よりも、状態Sにおける行動aに基づく報酬rt+1と、行動aにより遷移した状態St+1における行動aの価値Q(St+1,a)との和の方が大きい場合、価値Q(S,a)を大きくするように更新する。反対に、式(2)は、状態Sにおける行動aによる価値Q(S,a)よりも、状態Sにおける行動aに基づく報酬rt+1と、行動aにより遷移した状態St+1における行動aの価値Q(St+1,a)との和の方が小さい場合、価値Q(S,a)を小さくするように更新する。
 つまり、式(2)は、行動主体がある状態である場合において、行動主体がある行動を行った際の当該行動の価値を、当該行動に基づく報酬と、当該行動により遷移した状態における最良の行動の価値との和に近付けるように更新するためのものである。
 行動主体の状態が状態St+1であるときに行動主体が取り得る行動at+1のうち、行動主体が、最もQ(St+1,at+1)の値が大きな値となる行動aを決定する方法は、例えば、ε-greedy法、Softmax法、又は、RBF(Radial Basis Function)関数を用いる方法がある。これらの方法は、公知であるため説明を省略する。
 上述の一般的な式(2)において、行動主体は、実施の形態1に係るアーム11であり、行動主体の状態は、アーム11の位置であり、行動は、アーム11の位置の移動である。
 モデル生成部322は、式(2)に式(1)を適用することにより、モデル情報を生成する。
 具体的には、モデル生成部322は、式(2)に式(1)を適用することにより、現在位置取得部305が取得したロボット10におけるアーム11の現在位置を示す現在位置情報と、アーム11を移動させるための制御内容を示す制御信号とを対応付けた対応情報を生成する。対応情報は、互いに異なる複数の目標位置において、目標位置毎に、複数の位置と、各位置に対応する制御信号がセットになった情報である。モデル生成部322は、互いに異なる複数の目標位置のそれぞれに対応付けた複数の対応情報を含むモデル情報を生成する。
 以上のとおり、モデル生成部322は、現在位置取得部305が取得した現在位置情報と、目標位置取得部306が取得した目標位置情報と、参照経路取得部320が取得した参照経路情報と、報酬算出部321が算出した報酬とに基づいてモデル情報を生成するものである。
 図7を参照して、実施の形態1に係るアーム11の状態が状態Sであるときにアーム11が取り得る行動aから、行動aを選択する方法について説明する。
 図7は、実施の形態1に係るアーム11の状態が状態Sであるときにアーム11が取り得る行動aから、行動aを選択する一例を示す図である。
 図7において、a、a、及びaは、時点tにおいて、アーム11の状態が状態Sであるときにアーム11が取り得る行動である。また、Q(S,a)、Q(S,a)、及びQ(S,a)は、アーム11の状態が状態Sであるときにアーム11が行動a、行動a、及び行動aを行った際の各行動に対する価値である。
 モデル生成部322は、式(2)に式(1)を適用することにより、モデル情報を生成するため、価値Q(S,a)、価値Q(S,a)、及び価値Q(S,a)は、式(1)における第6項及び第7項を含む演算式により評価される。すなわち、価値Q(S,a)、価値Q(S,a)、及び価値Q(S,a)は、アーム11の位置と参照経路との間の距離が近いほど、また、アーム11が参照経路に沿って目標位置の方向に向かって移動した距離が長いほど、高い値となる。
 したがって、価値Q(S,a)、価値Q(S,a)、及び価値Q(S,a)を比較した場合、価値Q(S,a)が最も高い値を示すため、モデル生成部322は、ロボット10の状態が状態Sであるとき、行動aを選択して、状態Sと行動aに対応する制御信号とを対応付けてモデル情報を生成する。
 なお、モデル生成部322は、モデル情報を生成する際に、報酬を算出する適切な演算式を採用することにより、上述の行動aを決定するための試行回数を低減させることが可能なTD学習を用いることが好適である。
 制御生成部307は、モデル生成部322がモデル情報を生成する際に選択した行動に対応する制御信号を生成する。
 制御出力部308は、制御生成部307が生成した制御信号を、ネットワーク30を介して、ロボット10備えられたモータ制御手段13に出力する。
 ロボット10に備えられたモータ制御手段13は、ネットワーク30を介して、制御出力部308が出力した制御信号を受信し、上述のとおり、受信した制御信号を入力信号として、制御信号に基づいてモータ12-1,12-2を制御する。
 モデル出力部323は、モデル生成部322が生成したモデル情報を、ネットワーク30を介して、記憶装置40に出力し、記憶装置40に記憶させる。
 制御補正部311は、制御生成部307が生成した制御信号(以下「第1制御信号」という。)が示す制御内容が、制御生成部307が直前に生成した制御信号(以下「第2制御信号」という。)が示す制御内容と比較して、予め定められた範囲内の変化量になるように、第1制御信号を補正する。
 なお、制御補正部311が、第1制御信号と第2制御信号とを比較する例を説明したが、制御補正部311は、第1制御信号と、回転状況取得部304が取得する回転状況信号とを比較し、ロボット10において、モータ制御手段13が行っている制御に対して予め定められた範囲内の変化量になるように、第1制御信号を補正しても良い。
 制御補正部311は、ロボット制御装置100における制御補正部111と同様の動作であるため、詳細な説明は省略する。
 なお、モデル生成部322は、制御補正部311が補正した制御信号を用いてモデル情報を生成しても良い。
 制御補間部312は、制御生成部307が生成した第1制御信号が示す制御内容の一部又は全部が欠落している場合、制御生成部307が直前に生成した第2制御信号が示す制御内容に基づいて第1制御信号における欠落している制御内容を補間して第1制御信号を補正する。制御補間部312は、第2制御信号が示す制御内容に基づいて第1制御信号における欠落している制御内容を補間する際、第1制御信号における欠落している制御内容が、第2制御信号が示す制御内容から予め定められた範囲内の変化量になるように補間して第1制御信号を補正する。
 なお、制御補間部312が、第1制御信号における欠落している制御内容を補間する際、第2制御信号に基づいて第1制御信号を補間する例を説明したが、制御補間部312は、回転状況取得部304が取得する回転状況信号に基づいてロボット10において、モータ制御手段13が行っている制御に対して予め定められた範囲内の変化量になるように、第1制御信号を補間して補正しても良い。
 制御補間部312は、ロボット制御装置100における制御補間部112と同様の動作であるため、詳細な説明は省略する。
 なお、モデル生成部322は、制御補間部312が補正した制御信号を用いてモデル情報を生成しても良い。
 図8を参照して、実施の形態1に係るロボット制御学習装置300の動作について説明する。
 図8は、実施の形態1に係るロボット制御学習装置300の処理の一例を説明するフローチャートである。
 ロボット制御学習装置300は、例えば、当該フローチャートの処理を繰り返して実行する。
 まず、ステップST801にて、画像取得部301は、画像情報を取得する。
 次に、ステップST802にて、回転状況取得部304は、回転状況信号を取得する。
 次に、ステップST803にて、現在位置取得部305は、ロボット10におけるアーム11の現在位置を示す現在位置情報を取得する。
 次に、ステップST804にて、仮想空間画像生成部302は、指標情報を取得する。 次に、ステップST805にて、仮想空間画像生成部302は、仮想空間画像情報を生成する。
 次に、ステップST806にて、目標位置取得部306は、目標位置情報を取得する。
 ステップST807にて、制御生成部307は、現在位置取得部305が取得した現在位置情報が示すロボット10におけるアーム11の現在位置と目標位置情報が示す目標位置とが同一であるか否かを判定する。なお、ここで言う同一とは、必ずしも完全に一致するものに限らず、同一は、略同一を含むものである。
 ステップST807にて、制御生成部307が、アーム11の現在位置と目標位置とが同一でないと判定した場合、ロボット制御学習装置300は、ステップST811以降の処理を実行する。
 ステップST811にて、報酬算出部321は、アーム11が取り得る複数の行動における報酬を行動ごとに算出する。
 次に、ステップST812にて、モデル生成部322は、報酬算出部321が行動ごとに算出した報酬と、当該行動ごとの価値と、当該行動ごとに次に取りうる複数の行動ごとの価値とに基づいて行うべき行動を選択する。
 次に、ステップST813にて、制御生成部307は、モデル生成部322が選択した行動に対応する制御信号を生成する。
 次に、ステップST814にて、制御補正部311は、制御生成部307が生成した第1制御信号が示す制御内容が、制御生成部307が直前に生成した第2制御信号が示す制御内容と比較して、予め定められた範囲内の変化量になるように、第1制御信号を補正する。
 次に、ステップST815にて、制御補間部312は、制御生成部307が生成した第1制御信号が示す制御内容の一部又は全部が欠落している場合、制御生成部307が直前に生成した第2制御信号が示す制御内容に基づいて第1制御信号における欠落している制御内容を補間して第1制御信号を補正する。
 次に、ステップST816にて、モデル生成部322は、現在位置取得部305が取得した現在位置情報と、アーム11を移動させるための制御内容を示す制御信号とを対応付けた対応情報を生成することにより、モデル情報を生成する。
 次に、ステップST817にて、制御出力部308は、制御生成部307が生成した制御信号、又は、制御補正部311若しくは制御補間部312が補正した制御信号を、ロボット10備えられたモータ制御手段13に出力する。
 次に、ステップST818にて、回転状況取得部304は、回転状況信号を取得する。
 次に、ステップST819にて、現在位置取得部305は、ロボット10におけるアーム11の現在位置を示す現在位置情報を取得する。
 次に、ステップST820にて、仮想空間画像生成部302は、仮想空間画像情報を生成する。
 ロボット制御学習装置300は、ステップST820の処理を実行した後、ステップST807の処理に戻って、ステップST807にて、制御生成部307が、アーム11の現在位置と目標位置とが同一であると判定するまでの期間において、ステップST807からステップST820までの処理を繰り返し実行する。
 ステップST807にて、制御生成部307が、アーム11の現在位置と目標位置とが同一であると判定した場合、ステップST821にて、モデル出力部323は、モデル生成部322が生成したモデル情報を出力する。
 ステップST821の処理を実行した後、ロボット制御学習装置300は、当該フローチャートの処理を終了する。
 なお、当該フローチャートの処理において、ステップST814、ステップST815,及びステップST820の処理は、ロボット制御学習装置300において必須の処理ではない。また、当該フローチャートの処理において、ステップST801及びステップST802の処理は、実行される順序が逆でも良い。また、当該フローチャートの処理において、ステップST814及びステップST815の処理は、実行される順序が逆でも良い。
 図9は、アーム11が目標位置に到達するまでに移動した経路の一例を示した図である。図9Aは、ある時点におけるアーム11の位置から目標位置まで参照経路を設定して式(1)に示した演算式を用いる場合、図9Bは、ある時点におけるアーム11の位置から目標位置に至る途中まで参照経路を設定して式(1)に示した演算式を用いた場合、図9Cは、参照経路を設定せずに、式(1)に示した演算式から第6項と第7項を除いた演算式を用いる場合を示している。
 図9Aは、アーム11が目標位置に到達するまで、設定された参照経路に沿って移動することが見て取れる。また、図9Bは、アーム11が設定された参照経路が存在する地点まで参照経路に沿って移動し、その後、目標位置に向かって移動することが見て取れる。これに対して、図9Cは、アーム11が目標位置に向かって移動する際に、アーム11が障害物を避けるように移動するため目標位置に到達することができないことが見て取れる。すなわち、ロボット制御学習装置300は、図9A及び図9Bに示すように、参照経路を設定して式(1)に示した演算式を用いて学習を行うことにより、短期間で学習を完了することができる。
 以上のように、ロボット制御装置100は、ロボット10のアーム11の現在位置を示す現在位置情報を取得する現在位置取得部105と、アーム11の目標位置を示す目標位置情報を取得する目標位置取得部106と、参照経路を示す参照経路情報を参照してアーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示すモデル情報と、現在位置取得部105が取得した現在位置情報と、目標位置取得部106が取得した目標位置情報とに基づいて目標位置情報が示す目標位置に向かってアーム11を移動させるための制御内容を示す制御信号を生成する制御生成部107と、を備えた。
 このように構成することで、ロボット制御装置100は、演算量を減らしつつ、ロボット10のアーム11が実質的に不連続な動作を行うことないようにロボット10を制御することができる。
 また、以上のように、ロボット制御学習装置300は、ロボット10のアーム11の現在位置を示す現在位置情報を取得する現在位置取得部305と、アーム11の目標位置を示す目標位置情報を取得する目標位置取得部306と、参照経路を示す参照経路情報を取得する参照経路取得部320と、現在位置取得部305が取得した現在位置情報と、目標位置取得部306が取得した目標位置情報と、参照経路取得部320が取得した参照経路情報とに基づいてアーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて、報酬を算出する報酬算出部321と、目標位置情報が示す目標位置に向かってアーム11を移動させるための制御内容を示す制御信号を生成する制御生成部307と、現在位置取得部305が取得した現在位置情報と、目標位置取得部306が取得した目標位置情報と、参照経路取得部320が取得した参照経路情報と、報酬算出部321が算出した報酬とに基づいて制御信号によりアーム11を移動させる価値を評価することにより、モデル情報を生成するモデル生成部322と、を備えた。
 このように構成することで、ロボット制御学習装置300は、ロボット10のアーム11が実質的に不連続な動作を行うことないようにロボット10を制御させるためのモデル情報を、短い学習期間で生成することができる。
実施の形態2.
 図10を参照して実施の形態2に係るロボット制御装置100aについて説明する。
 図10は、実施の形態2に係るロボット制御装置100a及びロボット制御システム1aの要部の構成の一例を示すブロック図である。
 ロボット制御装置100aは、例えば、ロボット制御システム1aに適用される。
 ロボット制御装置100aは、ロボット制御装置100と同様に、モデル情報、アーム11の現在位置を示す現在位置情報、及び作業環境20における目標位置を示す目標位置情報に基づいて目標位置情報が示す目標位置に向かってアーム11を移動させるための制御内容を示す制御信号を生成し、生成した制御信号を、ネットワーク30を介してロボット10に備えられたモータ制御手段13に出力するものである。ロボット制御装置100aが制御信号を生成する際に用いるモデル情報は、ロボット制御学習装置300により生成される。
 実施の形態2に係るロボット制御装置100aは、実施の形態1に係るロボット制御装置100と比較して、参照経路取得部120、報酬算出部121、モデル更新部122、モデル出力部123、及び接触信号取得部124が追加され、ロボット制御学習装置300が出力した学習済みのモデル情報を更新可能にしたものである。
 実施の形態2に係るロボット制御装置100a及びロボット制御システム1aの構成において、実施の形態1に係るロボット制御装置100又はロボット制御システム1と同様の構成については、同じ符号を付して重複した説明を省略する。すなわち、図2に記載した符号と同じ符号を付した図10の構成については、説明を省略する。
 ロボット制御システム1aは、ロボット制御装置100a、ロボット10、ネットワーク30、記憶装置40、及び撮像装置50を備える。
 ロボット10に備えられたモータ制御手段13、回転センサ14-1,14-2、及び接触センサ15、記憶装置40、撮像装置50、並びに、ロボット制御システム1aは、それぞれ、ネットワーク30に接続されている。
 ロボット制御装置100aは、画像取得部101、仮想空間画像生成部102、モデル取得部103、回転状況取得部104、目標位置取得部106、現在位置取得部105、制御生成部107a、及び制御出力部108a、参照経路取得部120、報酬算出部121、モデル更新部122、モデル出力部123、及び接触信号取得部124を備える。ロボット制御装置100aは、上述の構成に加えて、制御補正部111a、及び制御補間部112aを備えるものであっても良い。
 なお、実施の形態2に係るロボット制御装置100aにおける画像取得部101、仮想空間画像生成部102、モデル取得部103、回転状況取得部104、目標位置取得部106、現在位置取得部105、制御生成部107a、及び制御出力部108a、参照経路取得部120、報酬算出部121、モデル更新部122、モデル出力部123、接触信号取得部124、制御補正部111a、及び制御補間部112aの各機能は、実施の形態1において図2A及び図2Bに一例を示したハードウェア構成におけるプロセッサ201及びメモリ202により実現されるものであっても良く、又は処理回路203により実現されるものであっても良い。
 参照経路取得部120は、参照経路を示す参照経路情報を取得する。具体的には、例えば、参照経路取得部120は、ロボット制御学習装置300がモデル情報を生成する際に用いた参照経路情報を、モデル取得部103が取得したモデル情報から読み出すことにより、参照経路情報を取得する。
 報酬算出部121は、現在位置取得部105が取得した現在位置情報と、目標位置取得部106が取得した目標位置情報と、参照経路取得部120が取得した参照経路情報とに基づいてアーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む演算式を用いて、報酬を算出する。
 報酬算出部121が報酬を算出する際に用いる演算式は、アーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項に加えて、現在位置取得部105が取得した現在位置情報が示すアーム11の現在位置の移動の連続性を評価することにより報酬を算出する項を含むものであっても良い。
 また、報酬算出部121が報酬を算出する際に用いる演算式は、アーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項に加えて、アーム11と作業環境20における障害物とが接触したか否かを評価することにより報酬を算出する項を含むものであっても良い。報酬算出部121は、アーム11と作業環境20における障害物とが接触したか否かを、例えば、接触信号取得部124が接触センサ15から取得した接触信号に基づいて判定する。
 具体的には、報酬算出部121は、実施の形態1に示した式(1)に基づいて当該報酬を算出する。
 モデル更新部122は、現在位置取得部105が取得した現在位置情報と、目標位置取得部106が取得した目標位置情報と、参照経路取得部120が取得した参照経路情報と、報酬算出部121が算出した報酬とに基づいてモデル情報を更新する。
 モデル更新部122は、実施の形態1に示した式(2)に式(1)を適用することにより、現在位置取得部105が取得した現在位置情報が示すロボット10におけるアーム11の現在位置と、アーム11を移動させるための制御内容を示す制御信号とを対応付けた対応情報を更新することより、モデル情報を更新する。
 モデル出力部123は、モデル更新部122が更新したモデル情報を、ネットワーク30を介して、記憶装置40に出力し、記憶装置40に記憶させる。
 制御生成部107aは、モデル取得部103が取得したモデル情報と、現在位置取得部105が取得した現在位置情報と、目標位置取得部106が取得した目標位置情報とに基づいて目標位置情報が示す目標位置に向かってアーム11を移動させるための制御内容を示す制御信号を生成する。制御生成部107aは、モデル取得部103が取得したモデル情報の代わりにモデル更新部122が更新したモデル情報に基づいて制御信号を生成する場合があることを除いて、実施の形態1に示した制御生成部107と同様であるため、詳細な説明を省略する。
 制御補正部111aは、制御生成部107aが生成した第1制御信号が示す制御内容が、制御生成部107aが直前に生成した第2制御信号が示す制御内容と比較して、予め定められた範囲内の変化量になるように、第1制御信号を補正する。
 制御補間部112aは、制御生成部107aが生成した第1制御信号が示す制御内容の一部又は全部が欠落している場合、制御生成部107aが直前に生成した第2制御信号が示す制御内容に基づいて第1制御信号における欠落している制御内容を補間して第1制御信号を補正する。
 なお、制御補正部111a及び制御補間部112aの動作は、実施の形態1に示した制御補正部111及び制御補間部112の動作と同様であるため、詳細な説明を省略する。
 また、モデル更新部122は、制御補正部111a又は制御補間部112aが補正した制御信号を用いてモデル情報を更新しても良い。
 制御出力部108a、制御生成部107aが生成した制御信号、又は、制御補正部111a若しくは制御補間部112aが補正した制御信号を、ロボット10に備えられたモータ制御手段13に出力する。
 図11を参照して、実施の形態2に係るロボット制御装置100aの動作について説明する。
 図11は、実施の形態2に係るロボット制御装置100aの処理の一例を説明するフローチャートである。
 ロボット制御装置100aは、例えば、新たな目標位置が設定される毎に当該フローチャートの処理を繰り返して実行する。
 まず、ステップST1101にて、画像取得部101は、画像情報を取得する。
 次に、ステップST1102にて、モデル取得部103は、モデル情報を取得する。
 次に、ステップST1103にて、回転状況取得部104は、回転状況信号を取得する。
 次に、ステップST1104にて、現在位置取得部105は、ロボット10におけるアーム11の現在位置を示す現在位置情報を取得する。
 次に、ステップST1105にて、仮想空間画像生成部102は、仮想空間画像情報を生成する。
 次に、ステップST1106にて、目標位置取得部106は、目標位置情報を取得する。
 次に、ステップST1107にて、制御生成部107aは、モデル情報に含まれる対応情報のうち、目標位置情報が示す目標位置に対応する対応情報を特定する。
 次に、ステップST1108にて、制御生成部107aは、現在位置取得部105が取得した現在位置情報が示すロボット10におけるアーム11の現在位置と目標位置情報が示す目標位置とが同一であるか否かを判定する。なお、ここで言う同一とは、必ずしも完全に一致するものに限らず、同一は、略同一を含むものである。
 ステップST1108にて、制御生成部107aが、アーム11と目標位置とが同一でないと判定した場合、ステップST1111にて、報酬算出部121は、報酬を算出する。
 次に、ステップST1112にて、モデル更新部122は、制御生成部107aが特定した対応情報を更新することにより、モデル情報を更新する。
 次に、ステップST1113にて、制御生成部107aは、モデル更新部122が更新した対応情報を参照して、現在位置取得部105が取得した現在位置情報が示すロボット10におけるアーム11の現在位置に対応する制御信号を特定することにより、アーム11を移動させるための制御内容を示す制御信号を生成する。
 次に、ステップST1114にて、制御補正部111aは、制御生成部107aが生成した第1制御信号が示す制御内容が、制御生成部107aが直前に生成した第2制御信号が示す制御内容と比較して、予め定められた範囲内の変化量になるように、第1制御信号を補正する。
 次に、ステップST1115にて、制御補間部112aは、制御生成部107aが生成した第1制御信号が示す制御内容の一部又は全部が欠落している場合、制御生成部107aが直前に生成した第2制御信号が示す制御内容に基づいて第1制御信号における欠落している制御内容を補間して第1制御信号を補正する。
 次に、ステップST1116にて、制御出力部108aは、制御生成部107aが生成した制御信号又は制御補正部111a若しくは制御補間部112aが補正した制御信号を、ロボット10に備えられたモータ制御手段13に出力する。
 次に、ステップST1117にて、回転状況取得部104は、回転状況信号を取得する。
 次に、ステップST1118にて、現在位置取得部105は、ロボット10におけるアーム11の現在位置を示す現在位置情報を取得する。
 次に、ステップST1119にて、仮想空間画像生成部102は、仮想空間画像情報を生成する。
 ロボット制御装置100aは、ステップST1119の処理を実行した後、ステップST1108の処理に戻って、ステップST1108にて、制御生成部107aが、アーム11の現在位置と目標位置とが同一であると判定するまでの期間において、ステップST1108からステップST1119までの処理を繰り返し実行する。
 ステップST1108にて、制御生成部107aが、アーム11の現在位置と目標位置とが同一であると判定した場合、ステップST1121にて、モデル出力部123は、モデル更新部122が更新したモデル情報を出力する。
 ステップST1121の処理を実行した後、ロボット制御装置100aは、当該フローチャートの処理を終了する。
 なお、当該フローチャートの処理において、ステップST1114、ステップST1115,及びステップST1119の処理は、ロボット制御装置100aにおいて必須の処理ではない。当該フローチャートの処理において、ステップST1101からステップST1103までの処理は、ステップST1104の処理に前に実行されれば、実行される順序は問わない。また、当該フローチャートの処理において、ステップST1114及びステップST1115の処理は、実行される順序が逆でも良い。
 以上のように、ロボット制御装置100aは、ロボット10のアーム11の現在位置を示す現在位置情報を取得する現在位置取得部105と、アーム11の目標位置を示す目標位置情報を取得する目標位置取得部106と、参照経路を示す参照経路情報を参照してアーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示すモデル情報と、現在位置取得部105が取得した現在位置情報と、目標位置取得部106が取得した目標位置情報とに基づいて目標位置情報が示す目標位置に向かってアーム11を移動させるための制御内容を示す制御信号を生成する制御生成部107と、に加えて、参照経路を示す参照経路情報を取得する参照経路取得部120と、現在位置取得部105が取得した現在位置情報と、目標位置取得部106が取得した目標位置情報と、参照経路取得部120が取得した参照経路情報とに基づいてアーム11が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて、報酬を算出する報酬算出部121と、現在位置取得部105が取得した現在位置情報と、目標位置取得部106が取得した目標位置情報と、参照経路取得部120が取得した参照経路情報と、報酬算出部121が算出した報酬とに基づいて制御信号によりアーム11を移動させる価値を評価することにより、モデル情報を更新するモデル更新部122と、を備えた。
 このように構成することで、参照経路を示す参照経路情報を参照してアーム11が参照経路を基にして移動していることを評価することにより、ロボット制御装置100aは、ロボット制御学習装置300が生成したモデル情報を、少ない演算量により短時間で更新しつつ、ロボット10のアーム11が実質的に不連続な動作を行うことのないようにロボット10をより高精度で制御することができる。
 なお、この発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
 この発明に係るロボット制御装置は、ロボット制御システムに適用することができる。また、ロボット制御学習装置は、ロボット制御学習システムに適用することができる。
 1,1a ロボット制御システム、3 ロボット制御学習システム、10 ロボット、11 アーム、11-1,11-2 関節、11-3 先端、12-1,12-2 モータ、13 モータ制御手段、14-1,14-2 回転センサ、15 接触センサ、20 作業環境、30 ネットワーク、40 記憶装置、50 撮像装置、100,100a ロボット制御装置、300 ロボット制御学習装置、101,301 画像取得部、102,302 仮想空間画像生成部、103 モデル取得部、104,304 回転状況取得部、105,305 現在位置取得部、106,306 目標位置取得部、107,107a,307 制御生成部、108,108a,308 制御出力部、111,111a,311 制御補正部、112,112a,312 制御補間部、120,320 参照経路取得部、121,321 報酬算出部、122 モデル更新部、123,323 モデル出力部、124,324 接触信号取得部、322 モデル生成部、201 プロセッサ、202 メモリ、203 処理回路。

Claims (16)

  1.  ロボットのアームの現在位置を示す現在位置情報を取得する現在位置取得部と、
     前記アームの目標位置を示す目標位置情報を取得する目標位置取得部と、
     参照経路を示す参照経路情報を参照して前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示すモデル情報と、前記現在位置取得部が取得した前記現在位置情報と、前記目標位置取得部が取得した前記目標位置情報とに基づいて前記目標位置情報が示す前記目標位置に向かって前記アームを移動させるための制御内容を示す制御信号を生成する制御生成部と、
     を備えること
     を特徴とするロボット制御装置。
  2.  前記演算式は、前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項に加えて、前記現在位置取得部が取得した前記現在位置情報が示す前記アームの前記現在位置の移動の連続性を評価することにより報酬を算出する項を含むこと
     を特徴とする請求項1記載のロボット制御装置。
  3.  前記演算式は、前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項に加えて、前記アームの一部と障害物とが接触したか否かを評価することにより報酬を算出する項を含むこと
     を特徴とする請求項1記載のロボット制御装置。
  4.  前記参照経路情報は、所定の計算処理に基づいて自動で生成されること
     を特徴とする請求項1記載のロボット制御装置。
  5.  前記参照経路情報は、前記アームが過去に移動した経路を示す移動履歴情報に基づいて生成されること
     を特徴とする請求項1記載のロボット制御装置。
  6.  前記制御生成部が生成した第1制御信号が示す制御内容が、前記制御生成部が直前に生成した第2制御信号が示す制御内容と比較して、予め定められた範囲内の変化量になるように、前記第1制御信号を補正する制御補正部
     を備えること
     を特徴とする請求項1記載のロボット制御装置。
  7.  前記制御生成部が生成した第1制御信号が示す制御内容の一部又は全部が欠落している場合、前記制御生成部が直前に生成した第2制御信号が示す制御内容に基づいて前記第2制御信号が示す制御内容から予め定められた範囲内の変化量になるように、前記第1制御信号において欠落している制御内容を補間して前記第1制御信号を補正する制御補間部
     を備えること
     を特徴とする請求項1記載のロボット制御装置。
  8.  前記参照経路を示す前記参照経路情報を取得する参照経路取得部と、
     前記現在位置取得部が取得した前記現在位置情報と、前記目標位置取得部が取得した前記目標位置情報と、前記参照経路取得部が取得した前記参照経路情報とに基づいて前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて、報酬を算出する報酬算出部と、
     前記現在位置取得部が取得した前記現在位置情報と、前記目標位置取得部が取得した前記目標位置情報と、前記参照経路取得部が取得した前記参照経路情報と、前記報酬算出部が算出した報酬とに基づいて前記制御信号により前記アームを移動させる価値を評価することにより、前記モデル情報を更新するモデル更新部と、
     を備えたこと
     を特徴とする請求項1記載のロボット制御装置。
  9.  ロボットのアームの現在位置を示す現在位置情報を取得する現在位置取得部と、
     前記アームの目標位置を示す目標位置情報を取得する目標位置取得部と、
     参照経路を示す参照経路情報を取得する参照経路取得部と、
     前記現在位置取得部が取得した前記現在位置情報と、前記目標位置取得部が取得した前記目標位置情報と、前記参照経路取得部が取得した前記参照経路情報とに基づいて前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて、報酬を算出する報酬算出部と、
     前記目標位置情報が示す前記目標位置に向かって前記アームを移動させるための制御内容を示す制御信号を生成する制御生成部と、
     前記現在位置取得部が取得した前記現在位置情報と、前記目標位置取得部が取得した前記目標位置情報と、前記参照経路取得部が取得した前記参照経路情報と、前記報酬算出部が算出した報酬とに基づいて前記制御信号により前記アームを移動させる価値を評価することにより、モデル情報を生成するモデル生成部と、
     を備えたこと
     を特徴とするロボット制御学習装置。
  10.  前記演算式は、前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項に加えて、前記現在位置取得部が取得した前記現在位置情報が示す前記アームの前記現在位置の移動の連続性を評価することにより報酬を算出する項を含むこと
     を特徴とする請求項9記載のロボット制御学習装置。
  11.  前記演算式は、前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項に加えて、前記アームの一部と障害物とが接触したか否かを評価することにより報酬を算出する項を含むこと
     を特徴とする請求項9記載のロボット制御学習装置。
  12.  前記参照経路情報は、所定の計算処理に基づいて自動で生成されること
     を特徴とする請求項9記載のロボット制御学習装置。
  13.  前記参照経路情報は、前記アームが過去に移動した経路を示す移動履歴情報に基づいて生成されること
     を特徴とする請求項9記載のロボット制御学習装置。
  14.  前記制御生成部が生成した第1制御信号が示す制御内容が、前記制御生成部が直前に生成した第2制御信号が示す制御内容と比較して、予め定められた範囲内の変化量になるように、前記第1制御信号を補正する制御補正部
     を備えること
     を特徴とする請求項9記載のロボット制御学習装置。
  15.  前記制御生成部が生成した第1制御信号が示す制御内容の一部又は全部が欠落している場合、前記制御生成部が直前に生成した第2制御信号が示す制御内容に基づいて前記第2制御信号が示す制御内容から予め定められた範囲内の変化量になるように、前記第1制御信号において欠落している制御内容を補間して前記第1制御信号を補正する制御補間部
     を備えること
     を特徴とする請求項9記載のロボット制御学習装置。
  16.  現在位置取得部が、ロボットのアームの現在位置を示す現在位置情報を取得し、
     目標位置取得部が、前記アームの目標位置を示す目標位置情報を取得し、
     参照経路を示す参照経路情報を参照して前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示すモデル情報と、前記現在位置取得部が取得した前記現在位置情報と、前記目標位置取得部が取得した前記目標位置情報とに基づいて前記目標位置情報が示す前記目標位置に向かって前記アームを移動させるための制御内容を示す制御信号を生成すること、
     を特徴とするロボット制御方法。
PCT/JP2018/047925 2018-12-26 2018-12-26 ロボット制御装置、ロボット制御学習装置、及びロボット制御方法 WO2020136769A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019528938A JP6644191B1 (ja) 2018-12-26 2018-12-26 ロボット制御装置、ロボット制御学習装置、及びロボット制御方法
PCT/JP2018/047925 WO2020136769A1 (ja) 2018-12-26 2018-12-26 ロボット制御装置、ロボット制御学習装置、及びロボット制御方法
DE112018008159.1T DE112018008159B4 (de) 2018-12-26 2018-12-26 Robotersteuervorrichtung, Robotersteuerung-Lernvorrichtung und Robotersteuerverfahren
TW108122107A TW202024832A (zh) 2018-12-26 2019-06-25 機器人控制裝置、機器人控制學習裝置以及機器人控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/047925 WO2020136769A1 (ja) 2018-12-26 2018-12-26 ロボット制御装置、ロボット制御学習装置、及びロボット制御方法

Publications (1)

Publication Number Publication Date
WO2020136769A1 true WO2020136769A1 (ja) 2020-07-02

Family

ID=69412211

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/047925 WO2020136769A1 (ja) 2018-12-26 2018-12-26 ロボット制御装置、ロボット制御学習装置、及びロボット制御方法

Country Status (4)

Country Link
JP (1) JP6644191B1 (ja)
DE (1) DE112018008159B4 (ja)
TW (1) TW202024832A (ja)
WO (1) WO2020136769A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102023206009B3 (de) 2023-06-26 2024-08-01 Kuka Deutschland Gmbh Verfahren und System zum Trainieren einer wenigstes teilweise auf maschinellem Lernen basierenden Datenverarbeitung zum Prognostizieren von Roboter-Zielposen und/oder zum Betreiben eines Roboters

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05228860A (ja) * 1991-06-25 1993-09-07 Sanyo Electric Co Ltd ロボットマニピュレータの制御方法
US20090157224A1 (en) * 2007-12-06 2009-06-18 Abb Research Ltd. Robot service system and a method for providing remote service for a robot
JP2011192267A (ja) * 2010-02-19 2011-09-29 Fanuc Ltd 学習制御ロボット
JP2017030137A (ja) * 2015-07-31 2017-02-09 ファナック株式会社 人の行動パターンを学習する機械学習装置、ロボット制御装置、ロボットシステム、および機械学習方法
JP2018083246A (ja) * 2016-11-22 2018-05-31 パナソニックIpマネジメント株式会社 ピッキングシステム及びその制御方法
JP2018171663A (ja) * 2017-03-31 2018-11-08 ファナック株式会社 行動情報学習装置、ロボット制御システム及び行動情報学習方法
WO2018212225A1 (ja) * 2017-05-17 2018-11-22 Telexistence株式会社 感覚付与装置、ロボット制御システム、ロボット制御方法及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5193394A (ja) 1975-02-13 1976-08-16 Dodenyososeibutsu
JP4495703B2 (ja) * 2006-08-24 2010-07-07 日本電信電話株式会社 水中ロボットの動作制御方法、装置及びプログラム
JP5510081B2 (ja) 2010-06-02 2014-06-04 日本精工株式会社 障害物回避支援装置、障害物回避支援方法及び移動体
JP5775279B2 (ja) 2010-09-13 2015-09-09 株式会社スギノマシン 経路生成装置
US8886359B2 (en) 2011-05-17 2014-11-11 Fanuc Corporation Robot and spot welding robot with learning control function
JP6219897B2 (ja) * 2015-09-28 2017-10-25 ファナック株式会社 最適な加減速を生成する工作機械
JP6514166B2 (ja) * 2016-09-16 2019-05-15 ファナック株式会社 ロボットの動作プログラムを学習する機械学習装置,ロボットシステムおよび機械学習方法
US10558197B2 (en) * 2017-02-28 2020-02-11 Sap Se Manufacturing process data collection and analytics
JP6717768B2 (ja) 2017-03-09 2020-07-01 ファナック株式会社 生産ラインにおける運用を考慮した学習制御を行うロボット及びその制御方法
JP6951659B2 (ja) * 2017-05-09 2021-10-20 オムロン株式会社 タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05228860A (ja) * 1991-06-25 1993-09-07 Sanyo Electric Co Ltd ロボットマニピュレータの制御方法
US20090157224A1 (en) * 2007-12-06 2009-06-18 Abb Research Ltd. Robot service system and a method for providing remote service for a robot
JP2011192267A (ja) * 2010-02-19 2011-09-29 Fanuc Ltd 学習制御ロボット
JP2017030137A (ja) * 2015-07-31 2017-02-09 ファナック株式会社 人の行動パターンを学習する機械学習装置、ロボット制御装置、ロボットシステム、および機械学習方法
JP2018083246A (ja) * 2016-11-22 2018-05-31 パナソニックIpマネジメント株式会社 ピッキングシステム及びその制御方法
JP2018171663A (ja) * 2017-03-31 2018-11-08 ファナック株式会社 行動情報学習装置、ロボット制御システム及び行動情報学習方法
WO2018212225A1 (ja) * 2017-05-17 2018-11-22 Telexistence株式会社 感覚付与装置、ロボット制御システム、ロボット制御方法及びプログラム

Also Published As

Publication number Publication date
DE112018008159B4 (de) 2022-10-20
JP6644191B1 (ja) 2020-02-12
TW202024832A (zh) 2020-07-01
DE112018008159T5 (de) 2021-08-19
JPWO2020136769A1 (ja) 2021-02-15

Similar Documents

Publication Publication Date Title
JP5001101B2 (ja) 移動ロボットの姿勢推定装置および方法
JP5444952B2 (ja) センサフュージョンによる地図の自動生成、およびそのように自動生成された地図を用いて移動体の移動をするための、装置、方法、ならびにプログラム
KR20200011425A (ko) 2d 이미지로부터의 손 골격 학습, 리프팅 및 노이즈 제거
KR102197732B1 (ko) 실내공간의 3차원 지도 생성 방법 및 장치
JP2011258204A5 (ja)
CN112580582B (zh) 动作学习方法、装置、介质及电子设备
JPWO2018087844A1 (ja) 作業認識装置および作業認識方法
KR102473287B1 (ko) 단안 카메라 영상에서 복수의 딥러닝 모듈을 이용하여 자세와 동작을 정확하게 모방하는 3차원 모델링 장치 및 그 방법
WO2020136769A1 (ja) ロボット制御装置、ロボット制御学習装置、及びロボット制御方法
JP7058761B2 (ja) 移動体制御装置、移動体制御学習装置、及び移動体制御方法
JP2019045967A (ja) 姿勢推定装置、方法、及びプログラム
JP7003617B2 (ja) 推定装置、推定方法、及び推定プログラム
JP2020134242A (ja) 計測方法、計測装置、およびプログラム
KR20110081701A (ko) 캘리브레이션 장치
JP2009237846A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP5766936B2 (ja) 3次元環境復元装置、3次元環境復元方法、及びロボット
JP2020098575A (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JPWO2020161880A1 (ja) 動作モデル算出装置、制御装置、関節機構、動作モデル算出方法、プログラム
US20210402616A1 (en) Information processing apparatus, information processing method, mobile robot, and non-transitory computer-readable storage medium
KR20170013094A (ko) 작업환경 변화에 적응적인 로봇 동작 데이터 제공장치 및 그 방법
JP5098919B2 (ja) 移動方向算出装置、移動方向算出プログラムおよび移動方向算出方法
EP4279224A1 (en) Path generation device, path generation method, and path generation program
Juarez-Perez et al. Full-body behavioral path planning in cluttered environments
JP7275518B2 (ja) ロボット制御装置、ロボット、ロボット制御方法およびプログラム
Garcıa et al. Real-time 3d modeling from endoscope image sequences

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2019528938

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18944486

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 18944486

Country of ref document: EP

Kind code of ref document: A1