WO2023167003A1 - 制御装置、制御方法、及び制御プログラム - Google Patents

制御装置、制御方法、及び制御プログラム Download PDF

Info

Publication number
WO2023167003A1
WO2023167003A1 PCT/JP2023/005572 JP2023005572W WO2023167003A1 WO 2023167003 A1 WO2023167003 A1 WO 2023167003A1 JP 2023005572 W JP2023005572 W JP 2023005572W WO 2023167003 A1 WO2023167003 A1 WO 2023167003A1
Authority
WO
WIPO (PCT)
Prior art keywords
contact force
time
control device
predetermined
model
Prior art date
Application number
PCT/JP2023/005572
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 オムロン株式会社
Publication of WO2023167003A1 publication Critical patent/WO2023167003A1/ja

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/06Programme-controlled manipulators characterised by multi-articulated arms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls

Definitions

  • the present disclosure relates to a control device, control method, and control program.
  • a robot controller controls a gripper that bends according to air pressure by supplying air pressure to change the distance between gripping portions of the gripper or the gripping force of the gripper.
  • a robot that grips an object is specialized according to a specific object, such as by controlling the gripping force to grip a soft object and providing a dedicated gripper for gripping a soft object. may be configured
  • the object when the gripping force is controlled according to the object, even if the object is the same, the object may have different flexibility (for example, depending on how ripe the vegetables and fruits are).
  • An object of the present invention is to provide a control device, a control method, and a control program that can grip various fragile objects without causing breakage without a dedicated flexible gripper.
  • the control device of the first aspect is connected to a robot comprising an end effector that acts on an object, a drive source that drives the end effector or the robot body, and a tactile sensor provided on the end effector, A control device that controls the drive source and exerts an action on the object, the acquisition unit using the tactile sensor to acquire the contact force received from the object for each predetermined period; a model for estimating whether or not a predetermined action occurs in the object at a predetermined time with respect to the contact force obtained by inputting the contact force acquired by the acquisition unit into the model; an estimating unit for estimating the timing at which the predetermined action will occur; and a control unit for controlling the driving source according to the estimation result estimated by the estimating unit.
  • a control device is the control device according to the first aspect, wherein the acquisition unit obtains an action result indicating a result of the contact force obtained when a predetermined action occurs on the object. It further comprises a learning unit that acquires and executes machine learning for estimating when the predetermined action occurs in the model using the acquired action result.
  • a control device is the control device according to the second aspect, wherein the learning unit detects time-series features of the contact force from the action result, and among the detected time-series features, The time associated with the time-series feature that satisfies the first condition is learned as the time when a predetermined action occurred on the object.
  • a control device is the control device according to the third aspect, wherein the time-series feature that satisfies the first condition is the time when the contact force is detected for the first time after exceeding the threshold. It is a series feature.
  • a control device is the control device according to any one of the first aspect to the fourth aspect, wherein the model uses the input contact force to obtain the contact force and the estimated contact force at the predetermined time, and when the predetermined time related to the estimated contact force corresponds to the time in the time-series feature of the contact force, at the predetermined time Presume that a given action will occur.
  • a control device is the control device according to the fifth aspect, wherein the model sets a range based on the timing of the time-series feature of the contact force, and the estimated contact force is included in the range, the predetermined action is assumed to occur.
  • a control device is the control device according to the sixth aspect, wherein the acquiring unit further acquires a feature quantity indicating a feature of the target object, and the model further acquires the acquired feature quantity The range is set accordingly.
  • a control device is the control device according to any one of the first aspect to the seventh aspect, wherein the obtaining unit includes a plurality of the tactile sensors provided on the end effector. and acquiring a plurality of the contact forces using each of the tactile sensors.
  • a control device is the control device according to the eighth aspect, wherein the model estimates a time-series feature of the contact force from each of the plurality of contact forces, and the estimated Using the time-series feature satisfying the second condition among the time-series features of the contact force, the timing at which the predetermined action occurs is estimated.
  • a control device is the control device according to the ninth aspect, wherein the time-series feature satisfying the second condition is detected first after the contact force exceeds the threshold It is a time series feature.
  • a control device is the control device according to any one of the first aspect to the tenth aspect, wherein the control unit performs the predetermined action at the predetermined time. When it is estimated, the driving of the driving source is stopped.
  • a control method provides a robot connected to a robot that includes an end effector that acts on an object, a drive source that drives the end effector or the robot main body, and a tactile sensor provided on the end effector.
  • a control program is connected to a robot having an end effector that acts on an object, a drive source that drives the end effector or the robot body, and a tactile sensor provided on the end effector.
  • a control program in a control device that controls the drive source and acts on the object wherein the contact force received from the object is acquired at predetermined intervals using the tactile sensor, and input a model for estimating whether or not a predetermined action will occur in the object at a predetermined time with respect to the applied contact force;
  • a computer is caused to execute a process of estimating the time when an action will occur and controlling the drive source according to the estimated estimation result.
  • various fragile objects can be gripped without breakage without a dedicated flexible gripper.
  • FIG. 1 is a configuration diagram of a robot system according to a first embodiment
  • FIG. 1 is a functional block diagram of a robot system according to each embodiment
  • FIG. 3 is a schematic diagram showing an example of an encoder/decoder model according to the first embodiment
  • FIG. 7 is a graph showing an example of estimated contact force according to the first embodiment
  • It is a block diagram showing an example of composition of a control device concerning each embodiment.
  • 4 is a flowchart showing the flow of model generation processing according to the first embodiment
  • 6 is a flowchart showing the flow of estimation processing according to the first embodiment
  • It is a configuration diagram of a robot system according to a second embodiment. It is a graph which shows an example of the estimated contact force which concerns on 2nd Embodiment.
  • FIG. 9 is a flowchart showing the flow of model generation processing according to the second embodiment; 9 is a flowchart showing the flow of estimation processing according to the second embodiment; It is a graph which shows an example of the estimated contact force which concerns on 3rd Embodiment.
  • FIG. 11 is a configuration diagram of a robot system according to a sixth embodiment;
  • FIG. 16 is a graph showing an example of estimated contact force according to the sixth embodiment;
  • FIG. FIG. 21 is a schematic diagram showing an example of RNN according to the seventh embodiment;
  • FIG. 1 is a configuration diagram of a robot system 10 according to the first embodiment.
  • the robot system 10 includes a robot 20 and a control device 30.
  • the robot system 10 functions as a picking device that picks the target T in this embodiment.
  • the robot 20 includes a robot arm AR as a mechanical part whose movement is controlled during picking, and a gripper GR attached to the tip of the robot arm AR.
  • the gripper GR has two fingers F1 and F2 for gripping an object T as an example of the object.
  • the number of fingers is two will be described, but the number of fingers is not limited to two, and three or more fingers may be provided.
  • the fingers F1 and F2 are configured by a plate-shaped member as an example in the present embodiment, the shapes of the fingers F1 and F2 are not limited to this.
  • the gripper GR also includes a motor M that drives at least one of the fingers F1 and F2 as a driving finger.
  • Motor M is connected to linear guide LG.
  • the linear guide LG includes a conversion mechanism that converts rotary motion of the motor M into linear motion.
  • gripper GR, finger F1, and finger F2 are examples of "end effectors.”
  • the fingers F1 and F2 are attached to the linear guide LG.
  • the linear guide LG is driven by a motor M, and converts rotary motion of the motor M about the Z-axis into linear motion in the X-axis direction.
  • the linear guide LG is driven in the direction of closing the fingers F1 and F2, that is, in the direction of gripping the target T.
  • the linear guide LG is driven in the direction in which the fingers F1 and F2 are opened, that is, in the direction in which the target T is released.
  • the finger F1 and the finger F2 are simultaneously driven.
  • only one of the finger F1 and the finger F2 is driven. may be That is, in the present embodiment, the driving finger is both the finger F1 and the finger F2, but the driving finger may be only one of the finger F1 and the finger F2.
  • the gripper GR also includes a motor drive unit 21 that drives the motor M (see FIG. 2).
  • the motor drive unit 21 drives the motor M at a constant speed until receiving a stop instruction from the control unit 35, which will be described later.
  • a tactile sensor S1 and a tactile sensor S2 are provided on the gripping surfaces of the fingers F1 and F2, respectively.
  • the tactile sensor S1 and the tactile sensor S2 detect the contact force that the tactile sensor S1 and the tactile sensor S2 receive from the target T when the target T is gripped by the fingers F1 and F2.
  • the tactile sensor S will be described as a distributed tactile sensor. However, it is not limited to this.
  • the tactile sensor S may be a single-point tactile sensor.
  • a configuration in which both the finger F1 and the finger F2 are provided with the tactile sensors S that is, the case where both the finger F1 and the finger F2 are tactile fingers will be described. However, it is not limited to this.
  • a configuration in which the tactile sensor S is provided on only one of the finger F1 and the finger F2 may be employed.
  • the contact force is the reaction force of the gripping force, and the direction is opposite to the gripping force, but the magnitude is the same.
  • the gripping force is the force applied to the object T by the drive finger or the tactile finger. Note that in the present embodiment, when the fingers F1 and F2 are in direct contact with each other without gripping the object T and apply force to each other's fingers, the force applied to the other's fingers is also referred to as gripping force.
  • a gripping force is generated in each of the fingers F1 and F2, but if the influence of gravity is not considered, the gripping forces of the fingers F1 and F2 are opposite to each other and have the same magnitude.
  • a vertical multi-joint robot with six degrees of freedom, a horizontal multi-joint robot, or the like is used, but the degrees of freedom and types of robots are not limited to these.
  • the control device 30 controls the robot 20. As shown in FIG. 2 as an example, the control device 30 functionally includes an acquisition unit 31 , a storage unit 32 , a learning unit 33 , an estimation unit 34 , and a control unit 35 .
  • the estimating unit 34 also includes an estimating model 40 that has undergone machine learning for estimating when damage will occur.
  • the acquisition unit 31 uses the tactile sensor S1 and the tactile sensor S2 to acquire the contact force received from the target T for each predetermined period.
  • the storage unit 32 stores the contact force acquired by the acquisition unit 31 for each operation of the robot 20 as a detection result.
  • the detection result according to the present embodiment is time-series data of the contact force obtained when the object T is destroyed, deformed, or otherwise damaged by the gripper GR.
  • the detection result is an example of the "action result”
  • damage such as destruction and deformation of the target T is an example of the "predetermined action”.
  • the learning unit 33 uses the detection results stored in the storage unit 32 to generate an estimation model 40 that has undergone machine learning for estimating when damage will occur. Specifically, the learning unit 33 detects a time-series feature from the detection results, learns when the time-series feature occurs, and generates the estimation model 40 .
  • the time-series feature according to the present embodiment is the first detected peak value after the contact force that causes damage to the target T exceeds a predetermined threshold value.
  • the distributed tactile sensor can detect a plurality of contact forces in one operation. That is, the learning unit 33 can perform machine learning using a plurality of detection results obtained in one operation.
  • the learning unit 33 performs machine learning using a plurality of contact forces in a predetermined period as input data, and the contact force after ⁇ seconds from the predetermined period and the peak value of the contact force with respect to the target T as teacher data. to generate the estimated model 40 .
  • the estimation model 40 is a recurrent neural network (RNN: Recurrent Neural Network) using an encoder/decoder model.
  • RNN Recurrent Neural Network
  • the RNN has an input layer, an intermediate layer (hidden layer), and an output layer.
  • processed data is propagated to different nodes 41 for processing.
  • the encoder/decoder model includes an encoding process for extracting features from input data and compressing them into a vector of a predetermined dimension, and a decoding process for decoding the features included in the compressed data. and do.
  • the estimation model 40 which is an encoder/decoder model, estimates and outputs the contact force and the state of the target T at a predetermined time using the contact force during a predetermined period in the past.
  • the estimation model 40 calculates the contact force obtained ⁇ seconds after the current time tn (hereinafter , "estimated contact force. " Note that the state of the target T according to the present embodiment is whether or not the target T is damaged. Also, hereinafter, the time ⁇ seconds after the current time tn at which the estimated contact force xt ⁇ is obtained is referred to as the “predetermined time”.
  • the estimation model 40 uses a plurality of input contact forces to estimate the contact force received from the target T, and specifies the peak value xtp of the contact force.
  • the estimation model 40 identifies the timing tp at which the identified contact force peak value xtp occurs, and sets the range of the predetermined margin m with the identified timing tp as a base point.
  • the estimation model 40 determines that damage will occur when the predetermined timing t ⁇ at which the estimated contact force x t ⁇ is obtained is within the range of the margin m with the timing tp as the base point.
  • the margin m has been described as being predetermined. However, it is not limited to this.
  • the margin m may be set.
  • the mass of the target T may be measured and the margin m may be set according to the mass, or the density may be calculated from the results obtained by injecting ultrasonic waves into the target T and the margin m may be determined according to the density.
  • the size and material of the target T may be estimated from an image of the target T, and the margin m may be set according to the estimated size and material.
  • the mass, density, size, and material of the target T are examples of the "feature amount".
  • the estimation model 40 estimates, from each of the plurality of contact forces, the first detected peak value xtp after each contact force exceeds the threshold.
  • the estimation model 40 determines the state of the target T using the first detected peak value xtp among the multiple estimated contact force peak values xtp .
  • the estimation unit 34 inputs the contact force in the predetermined period acquired by the acquisition unit 31 to the estimation model 40, and determines the state of the target T (whether damage occurs at a predetermined time).
  • control unit 35 transmits an instruction to stop the motor M to the motor driving unit 21 to control the grip force generated on the object T.
  • FIG. 5 is a block diagram showing the hardware configuration of the control device 30. As shown in FIG.
  • the control device 30 includes a CPU (Central Processing Unit) 30A, a ROM (Read Only Memory) 30B, a RAM (Random Access Memory) 30C, a storage 30D, an input section 30E, a monitor 30F, a communication interface (I /F) has 30G.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • storage 30D a storage
  • I /F communication interface
  • Each component is communicably connected to each other via a bus 30H.
  • a control program is stored in the storage 30D.
  • the CPU 30A is a central processing unit that executes various programs and controls each configuration. That is, the CPU 30A reads the program from the storage 30D and executes the program using the RAM 30C as a work area. The CPU 30A performs control of each of the above components and various arithmetic processing according to programs recorded in the storage 30D.
  • the ROM 30B stores various programs and various data.
  • the RAM 30C temporarily stores programs or data as a work area.
  • the storage 30D is composed of a HDD (Hard Disk Drive) or an SSD (Solid State Drive) and stores various programs including an operating system and various data.
  • the input unit 30E includes a keyboard and a pointing device such as a mouse, and is used for various inputs.
  • the monitor 30F is, for example, a liquid crystal display, and displays various information such as the gripping state of the target T.
  • FIG. The monitor 30F may employ a touch panel system and function as the input section 30E.
  • the communication I/F 30G is an interface for communicating with other devices, and uses standards such as Ethernet (registered trademark), FDDI, or Wi-Fi (registered trademark), for example.
  • Each functional configuration of the control device 30 shown in FIG. 2 is realized by the CPU 30A reading a control program stored in the storage 30D, developing it in the RAM 30C, and executing it.
  • FIG. 6 the operation of the control device 30 will be described with reference to FIGS. 6 and 7.
  • FIG. 6 the operation of the control device 30 will be described with reference to FIGS. 6 and 7.
  • FIG. 6 is a flow chart showing the flow of processing for generating the estimation model 40 by the control device 30.
  • the CPU 30A reads out the control program from the storage 30D, develops it in the RAM 30C and executes it, thereby executing the model generation process.
  • step S101 the CPU 30A sets 1 to the number of times of operation.
  • the CPU 30A sets the state in which the gripper GR is opened.
  • step S102 the CPU 30A sends an instruction to drive the motor M to the motor drive unit 21 to close the gripper GR at a constant speed.
  • step S103 the CPU 30A acquires and stores the detection result of detecting the contact force from the tactile sensor S when the target T is damaged.
  • step S104 the CPU 30A determines whether or not the number of times of operation is equal to or greater than the threshold. If the number of times of operation is equal to or greater than the threshold (step S104: YES), the CPU 30A proceeds to step S105. On the other hand, if the number of times of operation is not equal to or greater than the threshold (the number of times of operation is less than the threshold) (step S104: NO), the CPU 30A proceeds to step S106.
  • step S105 the CPU 30A uses the stored detection results to perform machine learning and generate the estimation model 40.
  • step S106 the CPU 30A transmits an instruction to drive the motor M to the motor drive section 21 to open the gripper GR and set it to the initial state.
  • a new target T is installed in place of the target T that has been damaged.
  • step S107 the CPU 30A adds 1 to the number of events, and proceeds to step S102.
  • FIG. 7 is a flowchart showing the flow of control processing by the control device 30.
  • the CPU 30A reads out the control program from the storage 30D, develops it in the RAM 30C and executes it, thereby executing the control process.
  • step S201 the CPU 30A sends an instruction to drive the motor M to the motor drive unit 21, sets the gripper GR to the initial state of the open state, and closes the gripper GR at a constant speed.
  • step S202 the CPU 30A initializes the measurement time and starts measuring time.
  • step S203 the CPU 30A acquires the contact force received from the target T from the tactile sensor S.
  • step S204 the CPU 30A determines whether or not the measured time has passed a predetermined period. If the predetermined period has passed (step S204: YES), the CPU 30A proceeds to step S205. On the other hand, if the predetermined period has not elapsed (the measured time is less than the predetermined period) (step S204: NO), the CPU 30A proceeds to step S203 and acquires the contact force.
  • step S205 the CPU 30A estimates the state of the target T after a predetermined period of time using the contact force acquired during the predetermined period.
  • step S206 the CPU 30A determines whether damage will occur at a predetermined time. If damage occurs at a predetermined time (step S206: YES), the CPU 30A proceeds to step S207. On the other hand, if damage does not occur at a predetermined time (step S206: NO), the CPU 30A proceeds to step S202, initializes the measurement time, and starts measuring time.
  • step S207 the CPU 30A transmits an instruction to stop the motor M to the motor driving section 21 to stop the gripper GR.
  • step S208 the CPU 30A sends an instruction to drive the motor M to the motor driving section 21 to lift the target T.
  • the function of the robot system (see FIG. 2), the diagram showing the encoder/decoder model (see FIG. 3), the graph showing the estimated contact force (see FIG. 4), and the configuration of the control device (see FIG. 5). ) are the same as those in the first embodiment, so description thereof will be omitted.
  • FIG. 8 is a configuration diagram of the robot system 10 according to the second embodiment.
  • the robot system 10 includes a robot 20 and a control device 30.
  • the robot system 10 according to this embodiment functions as an input device for pressing an object T such as a switch.
  • the robot 20 includes a robot arm AR as a mechanical part that is subject to motion control when performing a pressing action, and a joint JT connected to the robot arm AR.
  • the robot arm AR has one finger F that presses a target T as an example of the target.
  • the joint JT comprises a motor M that drives the connected robot arm AR.
  • the motor M is a servomotor that controls the position and direction of the robot arm AR by driving it.
  • the robot 20 controls the position and direction of the robot arm AR by driving the motor M, and pushes the object T in the X-axis direction at a constant speed.
  • the motor M may control the expansion and contraction of the finger F provided on the robot arm AR, or may control the position by moving the robot 20 .
  • a tactile sensor S is provided on the contact surface of the finger F.
  • the tactile sensor S detects the contact force that the tactile sensor S receives from the target T when the finger F presses the target T. As shown in FIG.
  • the robot 20 presses the target T by controlling the position of the finger F provided on the robot arm AR by driving the motor M provided on each joint JT.
  • the control device 30 controls the driving of the robot arm AR in the robot 20.
  • the acquiring unit 31 shown in FIG. 2 acquires the contact force from the tactile sensor S, and the estimating unit 34 uses the acquired contact force to estimate the state of the switch (whether the switch has been switched).
  • the control unit 30 controls the robot 20 by the control unit 35 transmitting an instruction to the motor drive unit 21 to stop the motor M according to the estimation result of the estimation unit 34 .
  • the contact force received from the object T becomes maximum just before the switch is switched, and changes to a minimum at the moment the switch is switched.
  • the estimation unit 34 estimates the minimum of the contact force at which the switch is switched as a time-series feature, and estimates the state of the target T.
  • FIG. Specifically, the estimation model 40 identifies the timing t mini at which the minimum value x t mini of the contact force estimated using the acquired contact force occurs, and sets a predetermined margin m set the range of The estimation model 40 determines that the switch has been switched when the predetermined timing t ⁇ is included in the range of the margin m with the timing t mini as the base point.
  • FIG. 10 is a flow chart showing the flow of processing for generating the estimation model 40 by the control device 30.
  • the CPU 30A When the user operates the input unit 30E to instruct the execution of the model generation process, the CPU 30A reads out the control program from the storage 30D, develops it in the RAM 30C and executes it, thereby executing the model generation process. 10, steps that are the same as those in the model generation process shown in FIG. 6 are denoted by the same reference numerals as those in FIG. 6, and descriptions thereof will be omitted.
  • step S108 the CPU 30A sets 1 to the number of times of operation.
  • the CPU 30A sets the robot arm AR so that the finger F is positioned in front of the target T as an initial state.
  • step S109 the CPU 30A transmits an instruction to drive the motor M to the motor driving section 21 to drive the robot arm AR.
  • step S110 the CPU 30A drives the robot arm AR by transmitting an instruction to drive the motor M to the motor drive unit 21, and sets the initial state in which the finger F is positioned in front of the target T.
  • the switched target T is set to the state before switching.
  • FIG. 11 is a flowchart showing the flow of processing for pressing the target T by the control device 30.
  • the CPU 30A reads out the control program from the storage 30D, develops it in the RAM 30C, and executes it, thereby executing the pressing process.
  • steps that are the same as the pressing process shown in FIG. 7 are denoted by the same reference numerals as those in FIG. 7, and the description thereof will be omitted.
  • step S209 the CPU 30A transmits an instruction to drive the motor M to the motor driving section 21 to drive the robot arm AR set to the initial state.
  • step S210 the CPU 30A determines whether or not the state of the target T will switch at a predetermined time.
  • step S210: YES the CPU 30A proceeds to step S211.
  • step S210: NO the CPU 30A proceeds to step S202, initializes the measurement time, and starts measuring time.
  • step S211 the CPU 30A determines whether or not a predetermined time has come.
  • the CPU 30A proceeds to step S212.
  • the CPU 30A waits until the predetermined time.
  • step S212 the CPU 30A transmits an instruction to stop the motor M to the motor driving section 21 to stop the robot arm AR.
  • various fragile objects can be pressed without causing damage without a dedicated flexible gripper.
  • the estimation model 40 specifies the timing t maxi at which the contact force is maximized shown in FIG. 12, and sets the range of the predetermined margin m using the specified timing t maxi as a base point.
  • the estimation model 40 determines that the switch has been switched when the predetermined time t ⁇ exceeds the range of the margin m with the time t maxi as the base point.
  • the estimation model 40 estimates the contact force in a time series, and estimates the time when the slope of the change in the contact force (the value obtained by differentiating the contact force with respect to time t) becomes 0 as a time series feature.
  • the time when the slope of the change in the contact force is 0 indicates the time when the contact force is maximum or minimum, so the estimation model 40 sets the margin m based on this time, and the target Estimate the state of T.
  • the estimation model 40 estimates the contact force in a time series and, as a time series feature, estimates the inflection point of the contact force (the value obtained by second-order differentiation of the contact force with respect to time t is 0).
  • the timing of the inflection point of the contact force is located between the timing when the contact force is maximum and the timing when the contact force is minimum.
  • Estimate the state of T For example, the estimation model 40 determines that the target T has switched when the predetermined time t ⁇ exceeds the time set as the reference point.
  • FIG. 13 is a configuration diagram of the robot system 10 according to the sixth embodiment.
  • the robot system 10 includes a robot 20 and a control device 30.
  • the robot system 10 functions as an input device that presses an object T such as a touch panel.
  • the target T such as the touch panel shown in FIG. 13 bends the contact surface when pressed, and detects the contact position.
  • FIG. 14 as an example, when the target T is pressed down, a moderate load is applied to the target T up to the limit of deflection. However, when further force is applied to push down the object T beyond the limit of bending, the force applied to the object T suddenly increases. When the object T is further pushed beyond the limit of bending, an excessive load is applied to the object T, and the object T is damaged.
  • the estimation model 40 estimates the change point x tch of the contact force indicating the limit of the deflection of the target T as a time-series feature, and estimates the state of the target T.
  • the predetermined timing t ⁇ at which the estimated contact force x t ⁇ is obtained is included in the range of the margin m with the timing t ch as the base point, an excessive load is applied to the target T, and the target T It is determined that damage occurs.
  • the estimation model 40 has been described as an encoder/decoder model. In this embodiment, the estimation model 40 will be described as an RNN.
  • the RNN transmits data processed by the node 42 to the other nodes 42 in the intermediate layer, and the data input from the input layer and the data input from the other nodes 42 , and are used for processing.
  • the estimation model 40 includes the contact force input from the input layer and the data input after being processed by other nodes 42 (for example, the estimated estimated contact force, the contact force input in the past, etc. ) and to estimate the estimated contact force at the next time.
  • the estimated contact force xt ⁇ is estimated by repeating this process at the node 42 included in the intermediate layer.
  • the estimation model 40 has been described as being an RNN. However, it is not limited to this.
  • the estimation model 40 may be a multilayer perceptron (neural network), a support vector machine, or a random forest.
  • the estimating model 40 has been described as estimating the estimated contact force by a non-parametric method. In the present embodiment, the estimation model 40 will be described in a form of estimating the estimated contact force by a parametric method.
  • the estimation model 40 estimates the estimated contact force based on the normal distribution by learning the detection result of detecting the contact force.
  • the estimation model 40 estimates the corresponding normal distribution from the input contact force, and estimates the maximum value of the normal distribution as the estimated contact force xt ⁇ .
  • the estimation model 40 is a model that performs machine learning such as a neural network.
  • the estimation model 40 will be described as a function based on statistics.
  • the estimation model 40 is a function that performs regression analysis.
  • the estimation model 40 uses a plurality of input contact forces to derive a regression line corresponding to the mean square error of the contact forces, and estimates the estimated contact force x t ⁇ for the predetermined time t ⁇ .
  • regression to nonlinear functions SVM (Support Vector Machine), GPR (Gaussian Process Regression), and regression to polynomial functions are also applicable.
  • control processing executed by the CPU reading the software (program) in each of the above embodiments may be executed by various processors other than the CPU.
  • the processor is a PLD (Programmable Logic Device) whose circuit configuration can be changed after manufacturing, such as an FPGA (Field-Programmable Gate Array), and an ASIC (Application Specific Integrated Circuit) to execute specific processing.
  • a dedicated electric circuit or the like which is a processor having a specially designed circuit configuration, is exemplified.
  • the control processing may be executed by one of these various processors, or a combination of two or more processors of the same or different type (for example, a plurality of FPGAs, a combination of a CPU and an FPGA, etc.). ) can be run.
  • the hardware structure of these various processors is an electric circuit in which circuit elements such as semiconductor elements are combined.
  • control program has been pre-stored (installed) in the storage 30D or ROM 30B, but the present invention is not limited to this.
  • the program may be provided in a form recorded on a recording medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), and a USB (Universal Serial Bus) memory.
  • the program may be downloaded from an external device via a network.
  • Robot system 20 Robot 21 Motor drive unit 30 Control device 31 Acquisition unit 32 Storage unit 33 Learning unit 34 Estimation unit 35 Control unit 40 Estimation model 41, 42 Nodes F, F1, F2 Finger AR Robot arm JT Joint GR Gripper M Motor S , S1, S2 Tactile sensor T Target

Landscapes

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

Abstract

制御装置は、対象物に作用するエンドエフェクタと、エンドエフェクタ又はロボット本体を駆動する駆動源と、エンドエフェクタに設けられた触覚センサと、を備えたロボットに接続され、駆動源を制御して対象物に作用を及ぼす制御装置であって、触覚センサを用いて、対象物から受ける接触力を予め定められた期間毎に取得する取得部と、入力された接触力に対して、所定の時期に対象物において所定の作用が生じるか否かを推定するモデルを有し、取得部により取得した接触力をモデルに入力して対象物に所定の作用が生じる時期を推定する推定部と、推定部により推定された推定結果に応じて、駆動源を制御する制御部と、を備える。

Description

制御装置、制御方法、及び制御プログラム
 本開示は、制御装置、制御方法、及び制御プログラムに関する。
 ロボットに設けられたグリッパを用いて、対象物に応じて把持力を制御して、対象物の把持を可能とする技術がある。
 例えば、特開2019-188587号公報には、柔らかい対象物を把持する場合において、対象物を撮影して得られた画像データから対象物の面積を取得し、取得した面積に応じたエア圧を供給することによって、エア圧に応じて屈折するグリッパを制御してグリッパにおける把持部の間隔、又はグリッパにおける把持力を変化させるロボット制御装置について開示されている。
 しかしながら、対象物を把持するロボットは、柔らかい対象物を把持するために把持力の制御を行う、及び柔らかい対象物を把持するために専用のグリッパを設ける等、特定の対象物に応じて特化して構成されていることがある。
 また、対象物に応じて把持力の制御を行う場合において同一の対象物であっても(例えば、野菜及び果物等の熟成具合に応じて)対象物の柔軟性が異なることがある。
 そのため、専用の柔軟なグリッパなしに、破損を生じさせずに、様々な脆弱物体を把持できなかった。
 本発明は、専用の柔軟なグリッパなしに、破損を生じさせずに、様々な脆弱物体を把持できる制御装置、制御方法、及び制御プログラムを提供することを目的とする。
 第1の態様の制御装置は、対象物に作用するエンドエフェクタと、前記エンドエフェクタ又はロボット本体を駆動する駆動源と、前記エンドエフェクタに設けられた触覚センサと、を備えたロボットに接続され、前記駆動源を制御して前記対象物に作用を及ぼす制御装置であって、前記触覚センサを用いて、前記対象物から受ける接触力を予め定められた期間毎に取得する取得部と、入力された接触力に対して、所定の時期に前記対象物において所定の作用が生じるか否かを推定するモデルを有し、前記取得部により取得した前記接触力を前記モデルに入力して前記対象物に前記所定の作用が生じる時期を推定する推定部と、前記推定部により推定された推定結果に応じて、前記駆動源を制御する制御部と、を備える。
 第2の態様の制御装置は、第1の態様に係る制御装置であって、前記取得部は、対象物に所定の作用が生じた際に得られた前記接触力の結果を示す作用結果をさらに取得し、取得した前記作用結果を用いて、前記モデルに前記所定の作用が生じる時期を推定するための機械学習を実行する学習部をさらに備える。
 第3の態様の制御装置は、第2の態様に係る制御装置であって、前記学習部は、前記作用結果から前記接触力の時系列特徴を検出し、検出した前記時系列特徴のうち、第1の条件を満たした時系列特徴に係る時期を、前記対象物に所定の作用が生じた時期として学習させる。
 第4の態様の制御装置は、第3の態様に係る制御装置であって、前記第1の条件を満たした時系列特徴は、前記接触力が閾値を超えた後に、最初に検出された時系列特徴である。
 第5の態様に係る制御装置は、第1の態様から第4の態様の何れか1つの態様に係る制御装置であって、前記モデルは、入力された前記接触力を用いて、前記接触力の時系列特徴、及び前記所定の時期における推定接触力を推定し、前記推定接触力に係る前記所定の時期が、前記接触力の時系列特徴における時期に対応する場合、前記所定の時期に前記所定の作用が生じると推定する。
 第6の態様に係る制御装置は、第5の態様に係る制御装置であって、前記モデルは、前記接触力の時系列特徴における時期を基点とした範囲を設定し、前記推定接触力における所定の時期が、前記範囲に含まれる場合、前記所定の作用が生じると推定する。
 第7の態様に係る制御装置は、第6の態様に係る制御装置であって、前記取得部は、前記対象物の特徴を示す特徴量をさらに取得し、前記モデルは、取得した前記特徴量に応じて、前記範囲を設定する。
 第8の態様に係る制御装置は、第1の態様から第7の態様の何れか1つの態様に係る制御装置であって、前記取得部は、前記エンドエフェクタに、複数の前記触覚センサが設けられ、前記触覚センサの各々を用いて、複数の前記接触力を取得する。
 第9の態様に係る制御装置は、第8の態様に係る制御装置であって、前記モデルは、前記複数の接触力の各々から、前記接触力の時系列特徴をそれぞれ推定し、推定した前記接触力の時系列特徴のうち、第2の条件を満たした時系列特徴を用いて、前記所定の作用が生じる時期を推定する。
 第10の態様に係る制御装置は、第9の態様に係る制御装置であって、前記第2の条件を満たした時系列特徴は、前記接触力が閾値を超えた後に、最初に検出された時系列特徴である。
 第11の態様に係る制御装置は、第1の態様から第10の態様の何れか1つの態様に係る制御装置であって、前記制御部は、前記所定の時期に前記所定の作用が生じると推定した場合、前記駆動源の駆動を停止する。
 第12の態様に係る制御方法は、対象物に作用するエンドエフェクタと、前記エンドエフェクタ又はロボット本体を駆動する駆動源と、前記エンドエフェクタに設けられた触覚センサと、を備えたロボットに接続され、前記駆動源を制御して前記対象物に作用を及ぼす制御装置における制御方法であって、前記触覚センサを用いて、前記対象物から受ける接触力を予め定められた期間毎に取得し、入力された接触力に対して、所定の時期に前記対象物において所定の作用が生じるか否かを推定するモデルを有し、取得した前記接触力を前記モデルに入力して前記対象物に所定の作用が生じる時期を推定し、推定された推定結果に応じて、前記駆動源を制御する。
 第13の態様に係る制御プログラムは、対象物に作用するエンドエフェクタと、前記エンドエフェクタ又はロボット本体を駆動する駆動源と、前記エンドエフェクタに設けられた触覚センサと、を備えたロボットに接続され、前記駆動源を制御して前記対象物に作用を及ぼす制御装置における制御プログラムであって、前記触覚センサを用いて、前記対象物から受ける接触力を予め定められた期間毎に取得し、入力された接触力に対して、所定の時期に前記対象物において所定の作用が生じるか否かを推定するモデルを有し、取得した前記接触力を前記モデルに入力して前記対象物に所定の作用が生じる時期を推定し、推定された推定結果に応じて、前記駆動源を制御する、処理をコンピュータに実行させる。
 本開示によれば、専用の柔軟なグリッパなしに、破損を生じさせずに、様々な脆弱物体を把持できる。
第1実施形態に係るロボットシステムの構成図である。 各実施形態に係るロボットシステムの機能ブロック図である。 第1実施形態に係るエンコーダ・デコーダモデルの一例を示す模式図である。 第1実施形態に係る推定した接触力の一例を示すグラフである。 各実施形態に係る制御装置の構成の一例を示すブロック図である。 第1実施形態に係るモデル生成処理の流れを示すフローチャートである。 第1実施形態に係る推定処理の流れを示すフローチャートである。 第2実施形態に係るロボットシステムの構成図である。 第2実施形態に係る推定した接触力の一例を示すグラフである。 第2実施形態に係るモデル生成処理の流れを示すフローチャートである。 第2実施形態に係る推定処理の流れを示すフローチャートである。 第3実施形態に係る推定した接触力の一例を示すグラフである。 第6実施形態に係るロボットシステムの構成図である。 第6実施形態に係る推定した接触力の一例を示すグラフである。 第7実施形態に係るRNNの一例を示す模式図である。
 以下、本開示の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されている場合があり、実際の比率とは異なる場合がある。
<第1実施形態>
 図1は、第1実施形態に係るロボットシステム10の構成図である。図1に示すように、ロボットシステム10は、ロボット20、及び制御装置30を備える。ロボットシステム10は、本実施形態では、対象Tをピッキングするピッキング装置として機能する。
 ロボット20は、ピッキング動作を行う際の運動制御の対象である機構部分としてのロボットアームARと、ロボットアームARの先端に取り付けられたグリッパGRと、を含む。
 グリッパGRは、対象物の一例としての対象Tを把持する2つの指F1、及び指F2を備える。なお、本実施形態では指の数が2つの場合について説明するが、指の数は2つに限られるものではなく、3つ以上の指を備えてもよい。また、指F1、F2は、本実施形態では一例として板状の部材で構成されるが、指F1、及び指F2の形状はこれに限られるものではない。
 また、グリッパGRは、指F1、及び指F2のうち少なくとも1つの指を駆動指として駆動するモータMを備える。モータMは、リニアガイドLGと接続されている。リニアガイドLGは、モータMの回転運動を直線運動に変換する変換機構を含む。ここで、グリッパGR、指F1、及び指F2は、「エンドエフェクタ」の一例である
 指F1、及び指F2は、リニアガイドLGに取り付けられている。リニアガイドLGは、モータMによって駆動され、モータMのZ軸を回転軸とした回転運動をX軸方向の直線運動に変換する。
 具体的には、例えばモータMが正転した場合は、リニアガイドLGは、指F1、及び指F2を閉じる方向、すなわち対象Tを把持する方向に駆動する。一方、モータMが逆転した場合は、リニアガイドLGは、指F1、及び指F2を開く方向、すなわち対象Tを放す方向に駆動する。なお、本実施形態では、モータMが回転すると、指F1、及び指F2が同時に駆動される構成の場合について説明するが、指F1、及び指F2のうち何れかの指のみが駆動される構成としてもよい。すなわち、本実施形態では、駆動指が指F1、及び指F2の両方の場合について説明するが、駆動指が指F1、及び指F2の一方のみでもよい。
 また、グリッパGRは、モータMを駆動するモータ駆動部21を備える(図2参照)。モータ駆動部21は、後述する制御部35から停止する指示を受信するまでモータMを等速度で駆動する。
 また、指F1、及び指F2の把持面には、触覚センサS1、及び触覚センサS2が各々設けられている。触覚センサS1、及び触覚センサS2は、指F1、及び指F2が対象Tを把持したときに触覚センサS1、及び触覚センサS2が対象Tから受ける接触力を検出する。
 なお、本実施形態に係る触覚センサSは、分布型触覚センサである形態について説明する。しかし、これに限定されない。触覚センサSは、単点型の触覚センサであってもよい。また、本実施形態では、指F1、及び指F2の両方に触覚センサSが設けられた構成、すなわち指F1、及び指F2の両方が触覚指である場合について説明する。しかし、これに限定されない。指F1、及び指F2の何れか一方にのみ触覚センサSが設けられた構成としてもよい。
 ここで、接触力とは、把持力の反力であり、把持力と向きが反対で大きさは同じである。また、把持力とは、駆動指又は触覚指が対象Tに加える力である。なお、本実施形態では、対象Tを把持せずに指F1、及び指F2同士が直接接触して互いに相手の指に力を加えている場合に相手の指に加える力も把持力と称する。また、把持力は指F1、及び指F2の各々に発生するが、重力の影響を考えない場合は、指F1、及び指F2の把持力は互いに反対向きで同じ大きさとなる。
 ロボット20は、一例として自由度が6の垂直多関節ロボット、水平多関節ロボット等が用いられるが、ロボットの自由度及び種類はこれらに限られるものではない。
 制御装置30は、ロボット20を制御する。一例として図2に示すように、制御装置30は、機能的には、取得部31、記憶部32、学習部33、推定部34、及び制御部35を備えている。また、推定部34は、破損が生じる時期を推定するための機械学習を行った推定モデル40を備えている。
 取得部31は、触覚センサS1、及び触覚センサS2を用いて、対象Tから受ける接触力を予め定められた期間毎に取得する。
 記憶部32は、検出結果として、ロボット20の稼働毎に取得部31が取得した接触力を記憶する。なお、本実施形態に係る検出結果は、グリッパGRによって、対象Tを破壊及び変形等の破損させた際に得られた接触力の時系列データである。ここで、検出結果は、「作用結果」の一例であり、対象Tを破壊及び変形等の破損は、「所定の作用」の一例である。
 学習部33は、学習フェーズにおいて、記憶部32に記憶されている検出結果を用いて、破損が生じる時期を推定するための機械学習を行った推定モデル40を生成する。具体的には、学習部33は、検出結果から時系列特徴を検出し、当該時系列特徴が生じる時期を学習させ、推定モデル40を生成する。なお、本実施形態に係る時系列特徴は、対象Tに破損が生じる、接触力が所定の閾値を超えた後に、最初に検出されたピーク値である。ここで、本実施形態では、複数の触覚センサSを用いていることから複数の検出結果を取得可能である。また、分布型触覚センサは、1回の稼働において複数の接触力を検出可能である。すなわち、学習部33は、1回の稼働において取得した複数の検出結果を用いて、機械学習を実行可能である。
 例えば、学習部33は、入力データとして、所定の期間における複数の接触力、及び教師データとして、所定の期間からδ秒後の接触力、及び対象Tに対する接触力のピーク値を用いて機械学習を実行し、推定モデル40を生成する。
 推定モデル40は、エンコーダ・デコーダモデルを用いたリカレントニューラルネットワーク(RNN:Recurrent Neural Network)である。RNNは、一例として図3に示すように、入力層、中間層(隠れ層)、及び出力層を備え、中間層において、処理済みのデータを異なるノード41に伝搬して処理を行う。また、エンコーダ・デコーダモデルは、中間層において、入力されたデータから特徴を抽出して予め定められた次元のベクトルに圧縮するエンコード処理と、圧縮された圧縮データに含まれる特徴を復号するデコード処理と、を行う。エンコーダ・デコーダモデルである推定モデル40は、過去の所定の期間における接触力を用いて、所定の時期における接触力、及び対象Tの状態の判定を推定して出力する。
 一例として、図4に示すように、入力データとして、現時点tまでの期間wに取得した接触力が入力された場合、推定モデル40は、現時点tからδ秒後に得られる接触力(以下、「推定接触力」という。)xtδ、及び対象Tの状態yを推定する。なお、本実施形態に係る対象Tの状態は、対象Tに破損が生じるか否かである。また、以下では、推定接触力xtδが得られる現時点tからδ秒後の時期を「所定の時期」という。
 具体的には、推定モデル40は、入力された複数の接触力を用いて、対象Tから受ける接触力を推定して接触力のピーク値xtpを特定する。推定モデル40は、特定した接触力のピーク値xtpが生じる時期tpを特定し、特定した時期tpを基点として、予め定められたマージンmの範囲を設定する。推定モデル40は、推定接触力xtδが得られる所定の時期tδが、時期tpを基点としたマージンmの範囲に含まれている場合、破損が生じると判定する。換言すると、推定モデル40は、以下の数式によって表される条件を満たす場合、所定の時期tδに破損が生じる(y=1)と判定し、満たさない場合、所定の時期tδに破損が生じない(y=0)と判定する。
 なお、本実施形態に係るマージンmは、予め定められている形態について説明した。しかし、これに限定されない。対象Tに応じて、マージンmを設定してもよい。例えば、対象Tの質量を計測し、質量に応じて、マージンmを設定してもよいし、対象Tに超音波を射出して得られた結果から密度を算出し、密度に応じてマージンmを設定してもよい。また、対象Tを撮影した画像から対象Tの大きさ、及び材質を推定し、推定した大きさ、及び材質に応じて、マージンmを設定してもよい。ここで、対象Tの質量、密度、大きさ、及び材質とは、「特徴量」の一例である。
 また、本実施形態では、分布型触覚センサである触覚センサS1、及び触覚センサS2を用いているため、1つの対象Tから複数の接触力が得られる。そのため、推定モデル40は、複数の接触力の各々から、それぞれ接触力が閾値を超えた後に最初に検出されたピーク値xtpを推定する。推定モデル40は、推定した複数の接触力のピーク値xtpのうち、最初に検出されたピーク値xtpを用いて、対象Tの状態を判定する。
 推定部34は、取得部31が取得した所定の期間における接触力を推定モデル40に入力して、対象Tの状態(所定の時期に破損が生じるか否か)の判定を行う。
 制御部35は、推定部34によって、所定の時期に破損が生じると判定された場合、モータ駆動部21にモータMを停止する指示を送信して、対象Tに生じる把持力を制御する。
 次に、図5を参照して、制御装置30のハードウェア構成について説明する。図5は、制御装置30のハードウェア構成を示すブロック図である。
 図5に示すように、制御装置30は、CPU(Central Processing Unit)30A、ROM(Read Only Memory)30B、RAM(Random Access Memory)30C、ストレージ30D、入力部30E、モニタ30F、通信インタフェース(I/F)30Gを有する。各構成は、バス30Hを介して相互に通信可能に接続されている。
 本実施形態では、ストレージ30Dには、制御プログラムが格納されている。CPU30Aは、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU30Aは、ストレージ30Dからプログラムを読み出し、RAM30Cを作業領域としてプログラムを実行する。CPU30Aは、ストレージ30Dに記録されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
 ROM30Bは、各種プログラム及び各種データを格納する。RAM30Cは、作業領域として一時的にプログラム又はデータを記憶する。ストレージ30Dは、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
 入力部30Eは、キーボード、及びマウス等のポインティングデバイスを含み、各種の入力を行うために使用される。モニタ30Fは、例えば、液晶ディスプレイであり、対象Tの把持状態等の各種の情報を表示する。モニタ30Fは、タッチパネル方式を採用して、入力部30Eとして機能してもよい。
 通信I/F30Gは、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI又はWi-Fi(登録商標)等の規格が用いられる。
 図2に示した制御装置30の各機能構成は、CPU30Aがストレージ30Dに記憶された制御プログラムを読み出し、RAM30Cに展開して実行することにより実現される。
 次に、図6及び図7を参照して、制御装置30の作用について説明する。
 図6は、制御装置30による推定モデル40を生成する処理の流れを示すフローチャートである。ユーザーが入力部30Eを操作してモデル生成処理の実行を指示すると、CPU30Aがストレージ30Dから制御プログラムを読み出して、RAM30Cに展開し実行することにより、モデル生成処理が実行される。
 ステップS101において、CPU30Aは、稼働回数に1を設定する。ここで、CPU30Aは、初期状態として、グリッパGRを開いた状態に設定する。
 ステップS102において、CPU30Aは、モータ駆動部21にモータMを駆動する指示を送信して、グリッパGRを等速度で閉じる。
 ステップS103において、CPU30Aは、対象Tを破損して触覚センサSから接触力を検出した検出結果を取得し、記憶する。
 ステップS104において、CPU30Aは、稼働回数が閾値以上であるか否かの判定を行う。稼働回数が閾値以上である場合(ステップS104:YES)、CPU30Aは、ステップS105に移行する。一方、稼働回数が閾値以上ではない(稼働回数が閾値未満である)場合(ステップS104:NO)、CPU30Aは、ステップS106に移行する。
 ステップS105において、CPU30Aは、記憶された検出結果を用いて、機械学習を実行し、推定モデル40を生成する。
 ステップS106において、CPU30Aは、モータ駆動部21にモータMを駆動する指示を送信してグリッパGRを開き、初期状態に設定する。ここで、破損した対象Tに代えて、新たな対象Tが設置される。
 ステップS107において、CPU30Aは、事象回数に1を加算して、ステップS102に移行する。
 次に、図7を参照して、対象Tに対して作用を及ぼす制御処理について説明する。図7は、制御装置30による制御処理の流れを示すフローチャートである。ユーザーが入力部30Eを操作して制御処理を指示すると、CPU30Aがストレージ30Dから制御プログラムを読み出して、RAM30Cに展開し実行することにより、制御処理が実行される。
 ステップS201において、CPU30Aは、モータ駆動部21にモータMを駆動する指示を送信して、グリッパGRを開いた状態である初期状態に設定し、グリッパGRを等速度で閉じる。
 ステップS202において、CPU30Aは、計測時間を初期化して、時間の計測を開始する。
 ステップS203において、CPU30Aは、触覚センサSから対象Tから受ける接触力を取得する。
 ステップS204において、CPU30Aは、計測時間が、所定の期間を経過したか否かの判定を行う。所定の期間を経過した場合(ステップS204:YES)、CPU30Aは、ステップS205に移行する。一方、所定の期間を経過していない(計測時間が所定の期間未満である)場合(ステップS204:NO)、CPU30Aは、ステップS203に移行して、接触力を取得する。
 ステップS205において、CPU30Aは、所定の期間に取得した接触力を用いて、所定時間後の対象Tの状態を推定する。
 ステップS206において、CPU30Aは、所定の時期に破損が生じるか否かの判定を行う。所定の時期に破損が生じる場合(ステップS206:YES)、CPU30Aは、ステップS207に移行する。一方、所定の時期に破損が生じない場合(ステップS206:NO)、CPU30Aは、ステップS202に移行して、計測時間を初期化して、時間の計測を開始する。
 ステップS207において、CPU30Aは、モータ駆動部21にモータMを停止する指示を送信して、グリッパGRを停止する。
 ステップS208において、CPU30Aは、モータ駆動部21にモータMを駆動する指示を送信して、対象Tを持ち上げる。
 以上説明したように、本実施形態によれば、専用の柔軟なグリッパなしに、破損を生じさせずに、様々な脆弱物体を把持できる。
<第2実施形態>
 第1実施形態では、グリッパGRに設けられた指の駆動を制御する形態について説明した。本実施形態では、ロボットに設けられたロボットアームARの駆動を制御する形態について説明する。
 なお、以下では、ロボットシステムの機能(図2参照)、エンコーダ・デコーダモデルを示す図(図3参照)、推定した接触力を示すグラフ(図4参照)、及び制御装置の構成(図5参照)は、第1実施形態と同様であるため、説明を省略する。
 図8は、第2実施形態に係るロボットシステム10の構成図である。図8に示すように、ロボットシステム10は、ロボット20、及び制御装置30を備える。本実施形態に係るロボットシステム10は、スイッチ等の対象Tを押下する入力装置として機能する。
 ロボット20は、押下動作を行う際の運動制御の対象である機構部分としてのロボットアームARと、ロボットアームARに接続されている関節JTと、を含む。
 ロボットアームARは、対象物の一例としての対象Tを押下する1つの指Fを備える。関節JTは、接続されているロボットアームARを駆動するモータMを備える。モータMは、駆動することによってロボットアームARの位置、及び方向を制御するサーボモータである。なお、本実施形態に係るロボット20は、モータMを駆動することによって、ロボットアームARの位置、及び方向を制御し、対象Tを等速度でX軸方向に押下する形態について説明する。しかし、これに限定されない。モータMは、ロボットアームARに設けられた指Fの伸縮を制御してもよいし、ロボット20を移動して位置を制御してもよい。
 また、指Fの接触面には、触覚センサSが設けられている。触覚センサSは、指Fが対象Tを押下したときに触覚センサSが対象Tから受ける接触力を検出する。
 すなわち、ロボット20は、各々の関節JTに設けられたモータMを駆動することにより、ロボットアームARに設けられた指Fの位置を制御して、対象Tを押下する。
 制御装置30は、ロボット20におけるロボットアームARの駆動を制御する。具体的には、図2に示す取得部31が、触覚センサSから接触力を取得し、推定部34が、取得した接触力を用いてスイッチの状態(スイッチが切り替わったか否か)を推定する。制御部35が、推定部34の推定結果に応じてモータMを停止する指示をモータ駆動部21に送信することにより、制御装置30は、ロボット20を制御する。
 一例として図9に示すように、スイッチ等の対象Tを押下する場合、対象Tから受ける接触力は、スイッチが切り替わる直前で極大となり、スイッチが切り替わった瞬間に極小へと変化する。
 そのため、推定部34は、推定モデル40を用いて、時系列特徴としてスイッチが切り替わる接触力の極小を推定し、対象Tの状態を推定する。具体的には、推定モデル40は、取得した接触力を用いて推定した接触力の極小値xtminiが生じる時期tminiを特定し、特定した時期tminiを基点として、予め定められたマージンmの範囲を設定する。推定モデル40は、所定の時期tδが、時期tminiを基点としたマージンmの範囲に含まれている場合、スイッチが切り替わったと判定する。
 図10は、制御装置30による推定モデル40を生成する処理の流れを示すフローチャートである。ユーザーが入力部30Eを操作してモデル生成処理の実行を指示すると、CPU30Aがストレージ30Dから制御プログラムを読み出して、RAM30Cに展開し実行することにより、モデル生成処理が実行される。なお、図10において、図6に示すモデル生成処理と同一のステップについては、図6と同一の符号を付して、その説明を省略する。
 ステップS108において、CPU30Aは、稼働回数に1を設定する。ここで、CPU30Aは、初期状態として、指Fが対象Tの正面に位置する状態にロボットアームARを設定する。
 ステップS109において、CPU30Aは、モータ駆動部21にモータMを駆動する指示を送信して、ロボットアームARを駆動する。
 ステップS110において、CPU30Aは、モータ駆動部21にモータMを駆動する指示を送信してロボットアームARを駆動し、指Fが対象Tの正面に位置する初期状態に設定する。ここで、切り替えられた対象Tは、切り替えられる前の状態に設定される。
 次に、図11を参照して、対象Tを押下する処理について説明する。図11は、制御装
置30による対象Tを押下する処理の流れを示すフローチャートである。ユーザーが入力部30Eを操作して押下処理を指示すると、CPU30Aがストレージ30Dから制御プログラムを読み出して、RAM30Cに展開し実行することにより、押下処理が実行される。なお、図11において、図7に示す押下処理と同一のステップについては、図7と同一の符号を付して、その説明を省略する。
 ステップS209において、CPU30Aは、モータ駆動部21にモータMを駆動する指示を送信して、初期状態に設定されたロボットアームARを駆動する 。
 ステップS210において、CPU30Aは、対象Tの状態が所定の時期に切り替わるか否かの判定を行う。所定の時期に切り替わる場合(ステップS210:YES)、CPU30Aは、ステップS211に移行する。一方、所定の時期に切り替わらない場合(ステップS210:NO)、CPU30Aは、ステップS202に移行して、計測時間を初期化して、時間の計測を開始する。
 ステップS211において、CPU30Aは、所定の時期になったか否かの判定を行う。所定の時期になった場合(ステップS211:YES)、CPU30Aは、ステップS212に移行する。一方、所定の時期になっていない場合(ステップS211:NO)、CPU30Aは、所定の時期になるまで待機する。
 ステップS212において、CPU30Aは、モータ駆動部21にモータMを停止する指示を送信して、ロボットアームARを停止する。
 以上説明したように、本実施形態によれば、専用の柔軟なグリッパなしに、破損を生じさせずに、様々な脆弱物体(スイッチ等を含む)を押下できる。
<第3実施形態>
 第2実施形態では、対象Tから受ける接触力の極小を推定する形態について説明した。本実施形態では、対象Tから受ける接触力の極大を推定する形態について説明する。
 推定モデル40は、図12に示す接触力の極大となる時期tmaxiを特定し、特定した時期tmaxiを基点として、予め定められたマージンmの範囲を設定する。推定モデル40は、所定の時期tδが、時期tmaxiを基点としたマージンmの範囲を超えた場合、スイッチが切り替わったと判定する。
<第4実施形態>
 第2実施形態、及び第3実施形態では、対象Tから受ける接触力の極小、及び極大を推定する形態について説明した。本実施形態では、対象Tから受ける接触力の変化の傾きを推定する形態について説明する。
 例えば、推定モデル40は、時系列における接触力を推定し、時系列特徴として、接触力の変化の傾き(接触力を時間tで1階微分した値)が0となる時期を推定する。図12において、接触力の変化の傾きが0となる時期は、接触力が極大、又は極小となる時期を示すため、推定モデル40は、当該時期を基点にしてマージンmを設定して、対象Tの状態を推定する。
<第5実施形態>
 第4実施形態では、接触力の変化の傾き(接触力を時間tで1階微分した値)が0となる時期を推定する形態について説明した。本実施形態では、接触力の変曲点となる時期を推定する形態について説明する。
 例えば、推定モデル40は、時系列における接触力を推定し、時系列特徴として、接触力の変曲点(接触力を時間tで2階微分した値が0)となる時期を推定する。図12において、接触力の変曲点となる時期は、接触力が極大となる時期と、極小となる時期と、の間に位置するため、推定モデル40は、当該時期を基点にして、対象Tの状態を推定する。例えば、推定モデル40は、所定の時期tδが、基点とした時期を超えた場合、対象Tが切り替わったと判定する。
<第6実施形態>
 第2実施形態から第5実施形態では、スイッチ等の対象Tを押下する形態について説明した。本実施形態では、タッチパネル等の対象Tを押下する形態について説明する。
 図13は、第6実施形態に係るロボットシステム10の構成図である。図13に示すように、ロボットシステム10は、ロボット20、及び制御装置30を備える。ロボットシステム10は、本実施形態では、タッチパネル等の対象Tを押下する入力装置として機能する。
 一例として図13に示すタッチパネル等の対象Tは、押下した際に接触した面が撓み、接触した位置の検出を行う。一例として示す図14に示すように、対象Tを押下した場合、撓みの限度までは対象Tに対して適度な負荷が掛かっている状態である。しかしながら、さらに力を加えて、対象Tの撓みの限度を超えて押下した場合、対象Tに加わる力は急激に大きくなる。対象Tに対して、さらに撓みの限度を超えて押下した場合、対象Tに過度な負荷が掛かり、対象Tに破損が生じる。
 そのため、推定モデル40は、時系列特徴として、対象Tの撓みの限度を示す接触力の変化点xtchを推定し、対象Tの状態を推定する。具体的には、推定モデル40は、取得した接触力を用いて、推定した接触力の変化点xtchが生じる時期tchを特定し、特定した時期tchを基点として、予め定められたマージンmの範囲を設定する。推定モデル40は、推定接触力xtδが得られる所定の時期tδが、時期tchを基点としたマージンmの範囲に含まれている場合、対象Tに過度な負荷が掛かり、対象Tに破損が生じると判定する。
<第7実施形態>
 第1実施形態から第6実施形態では、推定モデル40は、エンコーダ・デコーダモデルである形態について、説明した。本実施形態では、推定モデル40は、RNNである形態について説明する。
 一例として図15に示すように、RNNは、中間層において、ノード42で処理されたデータを他のノード42に伝達し、入力層から入力されたデータと、他のノード42から入力されたデータと、を用いて処理を行う。
 本実施形態に係る推定モデル40は、入力層から入力された接触力と、他のノード42が処理して入力されたデータ(例えば、推定した推定接触力、及び過去に入力された接触力等)と、を用いて、次の時期における推定接触力を推定する。この処理を中間層に含まれるノード42において繰り返し行うことによって、推定接触力xtδを推定する。
 ここで、入力層から入力される接触力に代えて、一のノード42が推定した推定接触力を入力することによって、接触力を繰り返し取得することなく、長期間先の所定の時期tδに係る推定接触力xtδを推定可能である。
 なお、本実施形態では、推定モデル40はRNNである形態について説明した。しかし、これに限定されない。推定モデル40は、多層パーセプトロン(ニューラルネットワーク)であってもよいし、サポートベクタマシーンであってもよいし、ランダムフォレストであってもよい。
<第8実施形態>
 第1実施形態から第7実施形態では、推定モデル40は、ノンパラメトリックな手法によって、推定接触力を推定する形態について説明した。本実施形態では、推定モデル40は、パラメトリックな手法によって、推定接触力を推定する形態について説明する。
 例えば、推定モデル40は、接触力を検出した検出結果を学習することにより、正規分布に基づいて、推定接触力を推定する。推定モデル40は、入力された接触力から対応する正規分布を推定し、当該正規分布の極大値を推定接触力xtδと推定する。
<第9実施形態>
 第1実施形態から第8実施形態では、推定モデル40は、ニューラルネットワーク等の機械学習を実行したモデルである形態について説明した。本実施形態では、推定モデル40は、統計に基づいた関数である形態について説明する。
 例えば、推定モデル40は、回帰分析を行う関数である。例えば、推定モデル40は、入力された複数の接触力を用いて、接触力の平均二乗誤差に対応する回帰直線を導出し、所定の時期tδに係る推定接触力xtδを推定する。
 さらに、関数として非線形関数への回帰、SVM(Support Vector Machine)、GPR(Gaussian Process Regression)、多項式関数への回帰も適用可能である。
 上記実施形態は、本開示の構成例を例示的に説明するものに過ぎない。本開示は上記の具体的な形態には限定されることはなく、その技術的思想の範囲内で種々の変形が可能である。
 なお、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した制御処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、制御処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
 また、上記各実施形態では、制御プログラムがストレージ30D又はROM30Bに予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
 本願は、2022年3月2日出願の日本国出願、特願2022-032176号の優先権を主張すると共に、その全体が参照により本明細書に取り込まれる。
10 ロボットシステム
20 ロボット
21 モータ駆動部
30 制御装置
31 取得部
32 記憶部
33 学習部
34 推定部
35 制御部
40 推定モデル
41、42 ノード
F、F1、F2 指
AR ロボットアーム
JT 関節
GR グリッパ
M モータ
S、S1、S2 触覚センサ
T 対象
 

Claims (13)

  1.  対象物に作用するエンドエフェクタと、前記エンドエフェクタ又はロボット本体を駆動する駆動源と、前記エンドエフェクタに設けられた触覚センサと、を備えたロボットに接続され、前記駆動源を制御して前記対象物に作用を及ぼす制御装置であって、
     前記触覚センサを用いて、前記対象物から受ける接触力を予め定められた期間毎に取得する取得部と、
     入力された接触力に対して、所定の時期に前記対象物において所定の作用が生じるか否かを推定するモデルを有し、前記取得部により取得した前記接触力を前記モデルに入力して前記対象物に前記所定の作用が生じる時期を推定する推定部と、
     前記推定部により推定された推定結果に応じて、前記駆動源を制御する制御部と、
     を備えた制御装置。
  2.  前記取得部は、対象物に所定の作用が生じた際に得られた前記接触力の結果を示す作用結果をさらに取得し、
     取得した前記作用結果を用いて、前記モデルに前記所定の作用が生じる時期を推定するための機械学習を実行する学習部をさらに備える請求項1に記載の制御装置。
  3.  前記学習部は、前記作用結果から前記接触力の時系列特徴を検出し、検出した前記時系列特徴のうち、第1の条件を満たした時系列特徴に係る時期を、前記対象物に所定の作用が生じた時期として学習させる請求項2に記載の制御装置。
  4.  前記第1の条件を満たした時系列特徴は、前記接触力が閾値を超えた後に、最初に検出された時系列特徴である
     請求項3に記載の制御装置。
  5.  前記モデルは、入力された前記接触力を用いて、前記接触力の時系列特徴、及び前記所定の時期における推定接触力を推定し、前記推定接触力に係る前記所定の時期が、前記接触力の時系列特徴における時期に対応する場合、前記所定の時期に前記所定の作用が生じると推定する
     請求項1から請求項4の何れか1項に記載の制御装置。
  6.  前記モデルは、前記接触力の時系列特徴における時期を基点とした範囲を設定し、前記推定接触力における所定の時期が、前記範囲に含まれる場合、前記所定の作用が生じると推定する
     請求項5に記載の制御装置。
  7.  前記取得部は、前記対象物の特徴を示す特徴量をさらに取得し、
     前記モデルは、取得した前記特徴量に応じて、前記範囲を設定する
     請求項6に記載の制御装置。
  8.  前記取得部は、前記エンドエフェクタに、複数の前記触覚センサが設けられ、前記触覚センサの各々を用いて、複数の前記接触力を取得する
     請求項1から請求項7の何れか1項に記載の制御装置。
  9.  前記モデルは、前記複数の接触力の各々から、前記接触力の時系列特徴をそれぞれ推定し、推定した前記接触力の時系列特徴のうち、第2の条件を満たした時系列特徴を用いて、前記所定の作用が生じる時期を推定する
     請求項8に記載の制御装置。
  10.  前記第2の条件を満たした時系列特徴は、前記接触力が閾値を超えた後に、最初に検出された時系列特徴である
     請求項9に記載の制御装置。
  11.  前記制御部は、前記所定の時期に前記所定の作用が生じると推定した場合、前記駆動源の駆動を停止する
     請求項1から請求項10の何れか1項に記載の制御装置。
  12.  対象物に作用するエンドエフェクタと、前記エンドエフェクタ又はロボット本体を駆動する駆動源と、前記エンドエフェクタに設けられた触覚センサと、を備えたロボットに接続され、前記駆動源を制御して前記対象物に作用を及ぼす制御装置における制御方法であって、
     前記触覚センサを用いて、前記対象物から受ける接触力を予め定められた期間毎に取得し、
     入力された接触力に対して、所定の時期に前記対象物において所定の作用が生じるか否かを推定するモデルを有し、取得した前記接触力を前記モデルに入力して前記対象物に所定の作用が生じる時期を推定し、
     推定された推定結果に応じて、前記駆動源を制御する、
     制御方法。
  13.  対象物に作用するエンドエフェクタと、前記エンドエフェクタ又はロボット本体を駆動する駆動源と、前記エンドエフェクタに設けられた触覚センサと、を備えたロボットに接続され、前記駆動源を制御して前記対象物に作用を及ぼす制御装置における制御プログラムであって、
     前記触覚センサを用いて、前記対象物から受ける接触力を予め定められた期間毎に取得し、
     入力された接触力に対して、所定の時期に前記対象物において所定の作用が生じるか否かを推定するモデルを有し、取得した前記接触力を前記モデルに入力して前記対象物に所定の作用が生じる時期を推定し、
     推定された推定結果に応じて、前記駆動源を制御する、
     処理をコンピュータに実行させる制御プログラム。
PCT/JP2023/005572 2022-03-02 2023-02-16 制御装置、制御方法、及び制御プログラム WO2023167003A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022032176A JP2023128087A (ja) 2022-03-02 2022-03-02 制御装置、制御方法、及び制御プログラム
JP2022-032176 2022-03-02

Publications (1)

Publication Number Publication Date
WO2023167003A1 true WO2023167003A1 (ja) 2023-09-07

Family

ID=87883446

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/005572 WO2023167003A1 (ja) 2022-03-02 2023-02-16 制御装置、制御方法、及び制御プログラム

Country Status (2)

Country Link
JP (1) JP2023128087A (ja)
WO (1) WO2023167003A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018092254A1 (ja) * 2016-11-17 2018-05-24 株式会社安川電機 把持力設定システム、把持力設定方法、及び把持力推定システム
WO2021080730A1 (en) * 2019-10-25 2021-04-29 Dexterity, Inc. Detecting slippage from robotic grasp
JP2021084210A (ja) * 2019-11-29 2021-06-03 東京ロボティクス株式会社 ロボット、エンドエフェクタ、システム、方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018092254A1 (ja) * 2016-11-17 2018-05-24 株式会社安川電機 把持力設定システム、把持力設定方法、及び把持力推定システム
WO2021080730A1 (en) * 2019-10-25 2021-04-29 Dexterity, Inc. Detecting slippage from robotic grasp
JP2021084210A (ja) * 2019-11-29 2021-06-03 東京ロボティクス株式会社 ロボット、エンドエフェクタ、システム、方法及びプログラム

Also Published As

Publication number Publication date
JP2023128087A (ja) 2023-09-14

Similar Documents

Publication Publication Date Title
Haddadin et al. Robot collisions: A survey on detection, isolation, and identification
JP4930100B2 (ja) 力触覚ディスプレイ、力触覚ディスプレイの制御方法、並びにコンピュータ・プログラム
Li et al. Gaussian process regression for sensorless grip force estimation of cable-driven elongated surgical instruments
Smith et al. Neural-network-based contact force observers for haptic applications
JP2012056074A (ja) 力またはインピーダンス制御ロボットの作業空間安全動作
JP2010280054A (ja) 粒子フィルタを使用した多指ロボットハンドのための接触状態推定
WO2022123849A1 (ja) ロボット、把持力制御装置、把持力制御方法、及び把持力制御プログラム
Saen et al. Action-intention-based grasp control with fine finger-force adjustment using combined optical-mechanical tactile sensor
JP2023086924A (ja) 制御方法、制御システム及びプログラム
Boukhnifer et al. $ H_ {\infty} $ Loop Shaping Bilateral Controller for a Two-Fingered Tele-Micromanipulation System
US8265792B2 (en) Method and apparatus for calibrating multi-axis load cells in a dexterous robot
WO2023167003A1 (ja) 制御装置、制御方法、及び制御プログラム
EP4011569A1 (en) Information processing device, information processing method, program, and robot
O'Brien et al. Force and slip sensing for a dextrous underwater gripper
EP4212291A1 (en) Robot system and picking method
Zaki et al. High performance robotic gripper based on choice of feedback variables
Ozawa et al. Multi-fingered dynamic blind grasping with tactile feedback in a horizontal plane
Zee et al. Shear force measurement using a rubber based tactile matrix sensor
JP7507398B2 (ja) 把持制御方法、プログラム、及び把持システム
Shauri et al. Application of 6-axis force torque (F/T) sensor for a three fingered robot hand impedance control
Abhinav et al. Real-Time intelligent gripping system for dexterous manipulation of industrial Robots
WO2023145675A1 (ja) 把持装置、把持システム及び把持装置の制御方法
Xia et al. A novel virtual torque sensor for rescue robots with harmonic drives
JP2022045771A (ja) ロボットシステム及びピッキング方法
Tawfik et al. ANN Control Based on Patterns Recognition for A Robotic Hand Under Different Load Conditions

Legal Events

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

Ref document number: 23763262

Country of ref document: EP

Kind code of ref document: A1