Processing device, end effector, and program

The robotic system addresses the challenge of varying material properties by acquiring and adapting gripping forces based on elasticity and viscosity, improving handling precision and reducing damage through impedance or admittance control.

WO2025070384A1PCT designated stage expired Publication Date: 2025-04-03KYOCERA CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/033921
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-29
Filing Date
2024-09-24
Publication Date
2025-04-03

AI Technical Summary

Technical Problem

Existing robotic systems lack the ability to accurately control gripping forces based on the elasticity and viscosity of the objects being handled, leading to potential damage or inadequate grasp on various materials.

Method used

A robotic system equipped with a processing device that acquires characteristic information such as elasticity and viscosity of an object through sensors, allowing the control unit to adjust gripping forces accordingly, using impedance or admittance control to ensure appropriate grip strength based on the object's properties.

Benefits of technology

The system effectively adapts gripping forces to match the object's properties, reducing the likelihood of damage and ensuring a secure grasp, enhancing the robot's ability to handle diverse materials.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024033921_03042025_PF_FP_ABST
    Figure JP2024033921_03042025_PF_FP_ABST
Patent Text Reader

Abstract

This processing device is provided with a control unit that has a holding unit capable of holding an object and that controls a robot capable of executing a prescribed task with respect to the object. The control unit has an acquisition unit. The acquisition unit acquires characteristic information including at least one piece of elasticity information corresponding to the elasticity of the object or viscosity information corresponding to the viscosity of the object on the basis of first position information indicating the position of the holding unit in a contact state in which the holding unit is in contact with the object, second position information indicating the position of the holding unit in a pressing state, in which the holding unit presses the object, from the contact state, and external force information indicating an external force applied to the holding unit in the pressing state.
Need to check novelty before this filing date? Find Prior Art

Description

Processing device, end effector and program

[0001] The present disclosure relates to robots.

[0002] Patent Document 1 describes a robot control technology.

[0003] JP 2013-113661 A

[0004] A processing device, an end effector, and a program are disclosed. In one embodiment, the processing device includes a holding unit capable of holding an object and a control unit that controls a robot capable of performing a predetermined task on the object. The control unit includes an acquisition unit. The acquisition unit acquires characteristic information including at least one of elasticity information corresponding to the elasticity of the object and viscosity information corresponding to the viscosity of the object based on first position information indicating the position of the holding unit in a contact state in which the holding unit is in contact with the object, second position information indicating the position of the holding unit in a pressurized state in which the holding unit pressurizes the object from the contact state, and external force information indicating the external force acting on the holding unit in the pressurized state.

[0005] In one embodiment, the processing device includes a holding unit capable of holding an object and a control unit that controls a robot capable of performing a predetermined task on the object. The control unit has an acquisition unit. The acquisition unit acquires characteristic information including at least one of elasticity information corresponding to the elasticity of the object and viscosity information corresponding to the viscosity of the object, based on change amount information indicating an amount of change in position of the holding unit when the holding unit changes from a contact state in which it is in contact with the object to a pressurized state in which it pressurizes the object, and external force information indicating an external force acting on the holding unit in the pressurized state.

[0006] In one embodiment, the control unit may control the holding unit based on the characteristic information.

[0007] In one embodiment, the end effector includes a holder controlled by the processing device.

[0008] In one embodiment, the program is a program for causing a computer device to function as the processing device.

[0009] In one embodiment, the processing device includes a control unit that controls a robot having a contact unit that applies pressure to and deforms an object, and the control unit controls the robot based on characteristic information about the object obtained from the degree of deformation of the object and the external force acting on the robot when the object is deformed.

[0010] In one embodiment, the processing device includes a holding unit capable of holding an object and a control unit that controls a robot capable of performing a predetermined task on the object. The control unit acquires at least one of elasticity information corresponding to the elasticity of the object and the holding unit and viscosity information corresponding to the viscosity of the object and the holding unit, and controls the robot based on the acquired at least one of the information.

[0011] 1 is a schematic diagram showing an example of the configuration of a processing device. FIG. 1 is a schematic diagram showing an example of the configuration of a robot system. FIG. 2 is a schematic diagram showing an example of the configuration of a portion of a robot system. FIG. 3 is a schematic diagram showing an example of the configuration of a portion of a robot system. FIG. 4 is a schematic diagram showing an example of the configuration of a portion of a robot system. FIG. 5 is a flowchart showing an example of the operation of a processing device. FIG. 6 is a schematic diagram showing an example of the configuration of a portion of a robot system. FIG. 7 is a schematic diagram showing an example of the configuration of a portion of a robot system. FIG. 8 is a flowchart showing an example of the operation of a processing device. FIG. 9 is a schematic diagram showing an example of the configuration of a portion of a robot system. FIG. 10 is a schematic graph showing an example of time-series data of force detection values. FIG. 11 is a schematic diagram showing an example of a robot.

[0012] 1 is a schematic diagram showing an example of the configuration of a processing device 1. The processing device 1 is capable of performing processing related to a robot 3 that performs an operation on at least one object 8. The object 8 may be, for example, an industrial product such as an electronic device or a screw, a food product such as a vegetable or bread, or a household item such as a diaper, a toothbrush, or a cup.

[0013] FIG. 2 is a schematic diagram showing an example of the configuration of a robot system 9 including a processing device 1 and a robot 3. The robot system 9 includes, for example, a robot 3, a processing device 1, and a control device 2. The control device 2 is, for example, a device that manages the overall operation of the robot 3. The robot 3 includes, for example, an arm 4 and an end effector 5 connected to the arm 4. The end effector 5 includes, for example, a holding mechanism 50 that holds an object 8. The holding mechanism 50 includes, for example, a holding unit 51 that can hold the object 8, and a drive unit 55 (see FIG. 3 described below) that drives the holding unit 51. The holding unit 51 holds the object 8 by, for example, grasping the object 8. The holding unit 51 that grasps the object 8 can also be referred to as a gripping unit. The holding unit 51 can also be referred to as a contact unit that comes into contact with the object 8.

[0014] The end effector 5 may include a member other than the holding unit 51. For example, the end effector 5 may include a processing member at the tip of a machine tool. The end effector 5 may also include, for example, a member for tightening screws, a member for painting, a member for welding, or a member for cutting. In this case, for example, the members included in the end effector 5 that perform various operations are contact parts that come into contact with an object. Furthermore, the work target of the members that perform various operations is the object 8.

[0015] The target object 8 may be made of one type of material or may be made of multiple types of materials. At least one type of material making up the target object 8 may include resin, metal, synthetic rubber, or other materials.

[0016] The robot 3 can move the object 8, for example, by moving the arm 4 while holding the object 8 with the holding mechanism 50. The robot 3 performs a task of, for example, holding each of a plurality of objects 8 placed on a workbench in turn with the holding mechanism 50 and moving each to a predetermined location. The end effector 5 equipped with the holding mechanism 50 is also called, for example, a hand or a robot hand.

[0017] The holding mechanism 50 may hold the object 8 by a method other than gripping the object 8. For example, the holding mechanism 50 may hold the object 8 by suctioning the object 8. In this case, the holding mechanism 50 can also be called a suction mechanism.

[0018] The control device 2 is capable of controlling, for example, the arm 4. The control device 2 can also be referred to as a processing device. The processing device 1 is capable of controlling, for example, the end effector 5. Specifically, the processing device 1 is capable of controlling the holding mechanism 50 of the end effector 5. The processing device 1 is also called, for example, a hand controller. The processing device 1 is capable of controlling the holding force of the holding mechanism 50 on the object 8. When the holding mechanism 50 grips the object 8, the processing device 1 is capable of controlling the gripping force of the holding mechanism 50 on the object 8. The processing device 1 may be provided inside the end effector 5 or outside the end effector 5. Hereinafter, the holding mechanism 50 that grips the object 8 may be referred to as the gripping mechanism 50.

[0019] 1, the processing device 1 includes, for example, a control unit 10, a storage unit 11, and an interface 12. The processing device 1 can also be considered, for example, a control circuit or a computer device.

[0020] The interface 12 is capable of exchanging signals with the control device 2. The control unit 10 is capable of exchanging signals with the processing device 1 through the interface 12. The interface 12 can also be referred to as, for example, an interface circuit.

[0021] The control unit 10 can generally manage the operation of the processing device 1 by controlling the other components of the processing device 1. The control unit 10 can also be referred to as a control circuit, for example. The control unit 10 includes at least one processor to provide control and processing power for performing various functions, as described in more detail below.

[0022] According to various embodiments, the at least one processor may be implemented as a single integrated circuit (IC) or as multiple communicatively connected integrated circuits ICs and / or discrete circuits. The at least one processor may be implemented according to various known techniques.

[0023] In one embodiment, a processor includes one or more circuits or units configured to perform one or more data computational procedures or processes, for example, by executing instructions stored in associated memory. In other embodiments, a processor may be firmware (e.g., discrete logic components) configured to perform one or more data computational procedures or processes.

[0024] According to various embodiments, the processor may include one or more processors, controllers, microprocessors, microcontrollers, application specific integrated circuits (ASICs), digital signal processors, programmable logic devices, field programmable gate arrays, or any combination of these devices or configurations, or other known devices and configurations, to perform the functions described below.

[0025] The control unit 10 may include, for example, a central processing unit (CPU) as a processor. The storage unit 11 may include a non-transitory recording medium readable by the CPU of the control unit 10, such as a read-only memory (ROM) and a random access memory (RAM). The storage unit 11 may include, for example, a non-volatile memory such as a non-volatile random access memory (NVRAM). The storage unit 11 stores, for example, a program 11a for controlling the processing device 1. Various functions of the control unit 10 are realized, for example, by the CPU of the control unit 10 executing the program 11a in the storage unit 11.

[0026] The configuration of the control unit 10 is not limited to the above example. For example, the control unit 10 may include multiple CPUs. The control unit 10 may also include at least one DSP (Digital Signal Processor). All or some of the functions of the control unit 10 may be realized by a hardware circuit that does not require software to realize the function. The storage unit 11 may also include a computer-readable non-transitory recording medium other than ROM and RAM. The storage unit 11 may also include, for example, a small hard disk drive or SSD (Solid State Drive).

[0027] When the CPU of the control unit 10 executes the program 11a in the storage unit 11, the control unit 10 forms, for example, a robot control unit 100 and an acquisition unit 150 as functional blocks. The robot control unit 100 can control the end effector 5. Specifically, the robot control unit 100 can control, for example, the gripping mechanism 50 (in other words, the holding mechanism 50) of the end effector 5. The robot control unit 100 can also be referred to as, for example, the gripping control unit 100 or the holding control unit 100. The acquisition unit 150 can acquire characteristic information regarding the object 8. The acquisition unit 150 can acquire, as the characteristic information, at least one of elasticity information corresponding to the elasticity of the object 8 and viscosity information corresponding to the viscosity of the object 8. The robot control unit 100 can control the gripping mechanism 50 based on the characteristic information acquired by the acquisition unit 150.

[0028] Fig. 3 is a schematic diagram showing an example of the configuration of a portion of the robot system 9. Fig. 4 is a schematic diagram showing an example of the configuration of the end effector 5. As shown in Figs. 3 and 4 , the holding mechanism 50 includes, for example, a holding unit 51 capable of holding an object 8, and a drive unit 55 that drives the holding unit 51. The holding unit 51 is capable of holding the object 8, for example, by gripping the object 8. Hereinafter, the holding unit 51 may be referred to as a gripping unit 51.

[0029] The gripper 51 includes, for example, a plurality of fingers 52, a plurality of protective members 53 provided on each of the fingers 52, and a first sensor 54 that detects a force acting on the gripper 51. The protective members 53 are provided, for example, on the tips of the fingers 52. A drive unit 55 drives the plurality of fingers 52. In the following, the robot system 9 will be described using an example in which the gripper 51 includes two fingers 52, but the number of fingers 52 may be three or more.

[0030] The two fingers 52 can move toward or away from each other. It can also be said that the two fingers 52 can open and close. The drive unit 55 drives the two fingers 52 so that the two fingers 52 move toward or away from each other. The gripping mechanism 50 can grip the object 8 with the two fingers 52 and release the grip of the object 8 with the two fingers 52. The two fingers 52 can grip the object 8 through the protective member 53.

[0031] The first sensor 54 is disposed at a position where it can detect the gripping force of the object 8 when the gripping unit 51 grips the object 8. The gripping unit 51 can grip the object 8 with, for example, its tip. The first sensor 54 is provided at, for example, the tip of the gripping unit 51.

[0032] The first sensor 54 is capable of detecting the holding force of the holding mechanism 50 on the object 8. The first sensor 54 is capable of detecting the gripping force of the gripping mechanism 50 on the object 8. The first sensor 54 has two detection units 54a provided at the tips of the two finger units 52, respectively. Each detection unit 54a is capable of detecting the force applied thereto. For example, the detection unit 54a is capable of detecting the contact pressure applied to the first sensor 54. The first sensor 54 may be, for example, a tactile sensor. The first sensor 54 may be an electrical resistance type, a capacitance type, a piezoelectric type, or an optical type.

[0033] The first sensor 54 detects the gripping force of the gripping mechanism 50 on the object 8 (in other words, the gripping force of the gripping unit 51 on the object 8) by detecting the force applied to the two detection units 54a. It can also be said that the first sensor 54 detects the force applied to the object 8 when the object 8 is gripped by the gripping mechanism 50. The first sensor 54 outputs a detection value a1 of the gripping force (also referred to as a first detection value). It can also be said that the first detection value a1 is the detection result of the gripping force by the first sensor 54. The first detection value a1 can also be said to be a detected gripping force. The first detection value a1 may be, for example, a value obtained by adding together the forces detected by the two detection units 54a. Furthermore, the first detection value a1 may be, for example, an average value of the forces detected by the two detection units 54a. The unit of the first detection value a1 is, for example, N (Newton). In other words, the gripping force detected by the first sensor 54 is a force in units of Newtons. The first sensor 54 repeatedly outputs a first detection value a1. The first detection value a1 may be torque. In this case, the first sensor 54 can also be called a torque sensor. The unit of torque is Nm (Newton-meter).

[0034] It can also be said that the first sensor 54 detects an external force acting on the robot 3. Specifically, it can also be said that the first sensor 54 detects an external force acting on the gripping unit 51 of the robot 3. In the present disclosure, an external force is an external force acting on the robot 3 that does not include gravity. It can also be said that the first detection value a1 is a detection value of the external force acting on the gripping unit 51.

[0035] A protective member 53 is individually positioned on each detection unit 54a. The detection unit 54a detects the force acting on the object 8 through the protective member 53 above it. When the two finger units 52 grasp the object 8, the two protective members 53 come into contact with the object 8. The object 8 is sandwiched between the two protective members 53. The protective members 53 can protect the detection units 54a. The protective members 53 can also mitigate collisions between the gripping unit 51 and the object 8. The protective members 53 also make the object 8 less likely to be damaged when the gripping unit 51 grasps the object 8. The protective members 53 are made of an elastic material such as synthetic rubber. The first sensor 54 detects the gripping force (in other words, the holding force) of the object 8 through the protective members 53. It can also be said that the first sensor 54 detects an external force acting on the gripping unit 51 through the protective members 53. Note that the gripping unit 51 does not necessarily have to include the protective members 53. Hereinafter, the term "gripping force" simply refers to the force with which the gripping mechanism 50 grips the object 8 .

[0036] The drive unit 55 includes, for example, a motor 56, a gear 57, an encoder 58, and a motor driver 59 that drives the motor 56. The drive unit 55 drives the two fingers 52 based on a control signal output by the robot control unit 100. The distance between the two fingers 52 is controlled by driving the two fingers 52 based on the control signal. It can also be said that the positional relationship between the two fingers 52 is controlled by driving the two fingers 52 based on the control signal. It can also be said that the position of each finger 52 is controlled by driving the two fingers 52 based on the control signal. The robot control unit 100 can control the gripper 51 through the drive unit 55.

[0037] The motor 56 drives the two fingers 52 through a gear 57. The two fingers 52 can move closer to or farther away from each other by being driven by the motor 56. The distance between the two fingers 52 changes when the two fingers 52 are driven by the motor 56. The encoder 58 is a rotary encoder that detects the rotational position of the motor 56 (also referred to as the motor rotational position). The encoder 58 outputs a detection signal a3 indicating the detection result of the rotational position of the motor 56 to the robot control unit 100. The motor driver 59 drives the motor 56 based on a control signal output by the robot control unit 100. The motor driver 59 controls the rotation of the motor 56 based on the control signal from the robot control unit 100. The position of each finger 52 is controlled when the motor 56 is driven based on the control signal.

[0038] When the robot 3 moves the object 8, the control device 2 sets the position of the arm 4 so that the object 8 is located between the two spaced apart finger units 52. The robot control unit 100 then controls the drive unit 55 using a control signal, causing the two fingers 52 to approach each other and grasp the object 8. At this time, the gripping force of the two fingers 52 on the object 8 is appropriately controlled by the robot control unit 100. Then, with the object 8 being grasped by the two fingers 52, the position of the arm 4 is controlled by the control device 2, causing the object 8 grasped by the two fingers 52 to move to a predetermined location. While the object 8 is being moved, the gripping force of the gripping mechanism 50 on the object 8 is controlled by the robot control unit 100.

[0039] When the object 8 has moved to a predetermined location, the robot control unit 100 controls the gripping mechanism 50 to release its grip on the object 8. Thereafter, the position of the arm 4 is controlled by the control device 2, causing the gripping mechanism 50 to return to the work table, and the next object 8 is positioned between the two separated fingers 52. Next, the robot control unit 100 causes the gripping mechanism 50 to grip the next object 8. Thereafter, the position of the arm 4 is controlled by the control device 2, causing the next object 8 to move to a predetermined location. Thereafter, the robot 3 operates in the same manner, gripping each of the multiple objects 8 on the work table in turn and moving them to the predetermined location.

[0040] The robot control unit 100 controls the gripping force by controlling the distance between the two fingers 52. For example, when the two fingers 52 are gripping the object 8, the gripping force increases as the distance between the two fingers 52 decreases, and decreases as the distance between the two fingers 52 increases. When the object 8 is gripped by the gripping unit 51, the object 8 and the two protective members 53 in contact with it undergo, for example, elastic deformation.

[0041] The robot control unit 100 controls the gripping mechanism 50 after the control device 2 sets the position of the arm 4 so that the target object 8 is located between the two fingers 52. Hereinafter, the process in which the control device 2 sets the position of the arm 4 so that the target object 8 is located between the two fingers 52 will be referred to as gripping arm setting. After performing the gripping arm setting, the control device 2 notifies the processing device 1 that the gripping arm setting has been performed. The robot control unit 100 of the processing device 1 that has been notified that the gripping arm setting has been performed generates a control signal for controlling the rotational position of the motor 56 based on the first detection value a1 output by the first sensor 54 and the detection signal a3 output by the encoder 58. The robot control unit 100 then outputs the control signal to the motor driver 59 to control the rotational position of the motor 56. By controlling the rotational position of the motor 56, the spacing between the two fingers 52 (in other words, the positions of the fingers 52) is controlled. The robot control unit 100 controls the gripping force of the gripping mechanism 50 on the object 8 based on the first detection value a1 and the detection signal a3.

[0042] The robot control unit 100 is capable of, for example, performing force control of the robot 3. Specifically, the robot control unit 100 is capable of performing force control to control the gripping force of the gripping mechanism 50 of the robot 3. By performing force control of the gripping mechanism 50, the robot control unit 100 causes the gripping mechanism 50 to appropriately grip the object 8. The robot control unit 100 may perform impedance control of the gripping mechanism 50 or may perform admittance control of the gripping mechanism 50.

[0043] <Example of Impedance Control> Fig. 3 shows an example of the configuration of the robot control unit 100 (also referred to as the robot control unit 100A) that performs impedance control of the gripping mechanism 50. Fig. 3 shows an example of the configuration of the robot control unit 100A when the robot control unit 100A causes the gripping mechanism 50 to grip the object 8.

[0044] 3 , the robot control unit 100A includes, as functional blocks, for example, a first controller 101, a second controller 102, subtractors 103, 104, and 105, a position acquisition unit 106, and a conversion unit 107. Note that all or some of the functions of the first controller 101 may be realized by a hardware circuit that does not require software to realize the function. The same applies to the second controller 102, the subtractors 103, 104, and 105, the position acquisition unit 106, and the conversion unit 107.

[0045] The robot control unit 100A controls the gripping mechanism 50 so that the gripping force approaches a target value t1 (also referred to as a force target value t1). It can also be said that the robot control unit 100A controls the gripping unit 51 so that the gripping force approaches the force target value t1. Specifically, the force target value t1 is changed depending on the distance between the two fingers 52 (also referred to as a finger distance). For example, the robot control unit 100A reduces the force target value t1 as the finger distance decreases. In other words, the robot control unit 100A reduces the force target value t1 as the amount of penetration (also referred to simply as a penetration amount) of the gripping unit 51 into the object 8 increases. In other words, the robot control unit 100A reduces the force target value t1 as the amount of deformation of the object 8 gripped by the two fingers 52 increases. This allows the gripping mechanism 50 to grip a softer object 8 with a smaller gripping force. That is, the gripping mechanism 50 can grip the object 8 with a gripping force that corresponds to the softness of the object 8. As a result, when the gripping mechanism 50 grips the object 8, the object 8 is less likely to be damaged due to excessive deformation.

[0046] In the robot system 9, for example, an outer major loop and an inner minor loop are formed by the robot control unit 100A and the gripping mechanism 50. The major loop is formed from a loop that runs from the subtractor 103 through the conversion unit 107, the first controller 101, the subtractor 104, the subtractor 105, the second controller 102, the motor driver 59, the motor 56, the encoder 58, and the position acquisition unit 106, and returns to the subtractor 103. On the other hand, the minor loop is formed from a loop that runs from the subtractor 105 through the second controller 102, the motor driver 59, the motor 56, the encoder 58, the gear 57, and the gripping unit 51, and returns to the subtractor 105.

[0047] The position acquisition unit 106 determines the motor rotation position based on the detection signal a3 output by the encoder 58. Then, the position acquisition unit 106 outputs the determined motor rotation position as a detection value a2 (also referred to as a second detection value a2) of the position of a predetermined part of the robot 3. The second detection value a2 is measured in degrees (°), for example.

[0048] Here, the positions of the two finger portions 52 (in other words, the distance between the two finger portions 52) are determined by the motor rotation position. Therefore, it can be said that the motor rotation position represents the positions of the two finger portions 52. In this example, the predetermined portions are the two finger portions 52, and the second detection value a2 is the detection value of the positions of the two finger portions 52. The second detection value a2 can also be said to be the detection value of the distance between the two finger portions 52. The second detection value a2 can also be said to be the detection value of the position of the grip portion 51. The position acquisition unit 106 repeatedly outputs the second detection value a2.

[0049] The subtractor 103 subtracts the second detection value a2 from the reference value r1. The subtractor 103 then outputs a deviation a4 obtained by subtracting the second detection value a2 from the reference value r1. The subtractor 103 repeatedly outputs the deviation a4.

[0050] As the reference value r1, for example, the second detection value a2 when the gripping portion 51 comes into contact with the object 8 (more specifically, the second detection value a2 when the two protective members 53 provided on the gripping portion 51 come into contact with the object 8) is used. In other words, as the reference value r1, for example, the motor rotation position when the gripping portion 51 comes into contact with the object 8 is used. The reference value r1 indicates the finger position when the gripping portion 51 comes into contact with the object 8. It can also be said that the reference value r1 indicates the finger spacing when the gripping portion 51 comes into contact with the object 8. Hereinafter, contact of the gripping portion 51 with the object 8 may be referred to as object contact. Furthermore, a state in which the gripping portion 51 as a contact portion is in contact with the object 8 may be referred to as a contact state.

[0051] The deviation a4 is a value obtained by subtracting the current second detection value a2 from the second detection value a2 at the time of contact with the object or in the contact state. Therefore, the deviation a4 indicates the amount of change in the finger position from the time of contact with the object or in the contact state. In other words, the deviation a4 can be said to indicate the amount of change in the finger position when the gripping portion 51 presses the object 8 or in the pressure state, based on the time of contact with the object or in the contact state. The deviation a4 can also be said to indicate the amount of decrease in the finger spacing from the time of contact with the object. The deviation a4 can also be said to indicate the amount of penetration. The deviation a4 can also be said to indicate the amount of deformation of the object 8 and the protective member 53. Hereinafter, the deviation a4 may be referred to as the position deviation a4.

[0052] The conversion unit 107 converts the position deviation a4 into a reduction amount a5 of the force target value t1 of the grip force and outputs the result. The reduction amount a5 of the force target value t1 indicates how much the force target value t1 is to be reduced. The conversion unit 107 can also be considered an acquisition unit that determines the reduction amount a5 of the force target value t1 based on the position deviation a4. The conversion unit 107 repeatedly outputs the reduction amount a5. The force target value t1 and the reduction amount a5 are expressed in units of, for example, Newtons.

[0053] Here, the Laplace transforms of the position deviation a4 and the decrease amount a5 in the time domain are represented by functions A4(s) and A5(s), respectively. That is, the position deviation a4 and the decrease amount a5 converted from the time domain to the s domain are represented by functions A4(s) and A5(s), respectively. The relationship between functions A4(s) and A5(s) is represented, for example, by the following equation (1):

[0054]

[0055] (M1·s) in equation (1) 2 +D1·s+K1) represents the transfer function of the conversion unit 107. M1, D1, and K1 in equation (1) represent the inertia parameter (also called the inertia coefficient), the viscosity parameter (also called the viscosity coefficient), and the stiffness parameter (also called the stiffness coefficient), respectively. The stiffness parameter is sometimes called the elastic parameter.

[0056] The inertia parameter M1 may be set based on, for example, the weights of the object 8 and the gripping unit 51. Specifically, the inertia parameter M1 may be set based on, for example, the weight of the object 8 and the weights of the fingers 52 and the protective member 53 of the gripping unit 51. The viscosity parameter D1 may be set based on, for example, the viscosity of the object 8 and the gripping unit 51. Specifically, the viscosity parameter D1 may be set based on, for example, the viscosity of the object 8 and the viscosity of the fingers 52 and the protective member 53 of the gripping unit 51. The stiffness parameter K1 may be set based on, for example, the elasticity of the object 8 and the gripping unit 51. Specifically, the stiffness parameter K1 may be set based on, for example, the elasticity of the object 8 and the elasticity of the fingers 52 and the protective member 53 of the gripping unit 51.

[0057] When converting the position deviation a4 into the reduction amount a5, the converter 107 first performs a Laplace transform on the position deviation a4 in the time domain to obtain a function A4(s) in the s domain. Next, the converter 107 uses the obtained function A4(s) and equation (1) to obtain a function A5(s). The converter 107 then performs an inverse Laplace transform on the s domain function A5(s) to obtain the reduction amount a5 in the time domain. This converts the position deviation a4 in degrees (°) into a reduction amount a5 in Newtons.

[0058] As can be seen from equation (1), the relationship between the amount of decrease in the finger spacing indicated by the position deviation a4 and the amount of decrease a5 in the force target value t1 is determined by the inertia parameter M1, the viscosity parameter D1, and the stiffness parameter K1. In other words, the amount by which the force target value t1 should be decreased in response to the amount by which the finger spacing is decreased is determined by the inertia parameter M1, the viscosity parameter D1, and the stiffness parameter K1.

[0059] The first controller 101 performs predetermined processing on the reduction amount a5 to improve the characteristics (e.g., stability, responsiveness, and final error) of the major loop. The first controller 101 is also referred to as a compensator, for example. The first controller 101 outputs the reduction amount a5 after the predetermined processing as a reduction amount a6. The first controller 101 may have, for example, a proportional controller, an integrator, or a differentiator. The first controller 101 may perform, for example, gain compensation, phase lead compensation, phase lag compensation, or other processing on the reduction amount a5. The first controller 101 may perform PID control or LQR control. The first controller 101 repeatedly outputs the reduction amount a6. Note that the "P" in "PID" is an abbreviation for "Proportional," the "I" in "PID" is an abbreviation for "Integral," and the "D" in "PID" is an abbreviation for "Derivative." Furthermore, LQR is an abbreviation for Linear Quadratic Regulator.

[0060] The subtractor 104 subtracts the reduction amount a6 from the force target value t1 to reduce the force target value t1. The subtractor 104 then outputs the reduced force target value t1, i.e., the value obtained by subtracting the reduction amount a6 from the force target value t1, as the corrected force target value t2. The subtractor 104 repeatedly outputs the corrected force target value t2.

[0061] The position deviation a4 output from the subtractor 103 can be regarded as the amount of change in the positions of the two fingers 52 (in other words, the predetermined parts). It can also be said that the subtractor 103 determines the amount of change in the positions of the two fingers 52 based on the second detection value a2. It can also be said that the configuration including the conversion unit 107, the first controller 101, and the subtractor 104 changes the force target value t1 based on the amount of change in the positions determined by the subtractor 103.

[0062] The subtractor 105 subtracts the first detected value a1 of the current grip force from the correction force target value t2. The subtractor 105 then outputs a deviation a8 obtained by subtracting the first detected value a1 from the correction force target value t2. The subtractor 105 repeatedly outputs the deviation a8. The deviation a8 indicates the difference between the correction force target value t2 and the current grip force. Hereinafter, the deviation a8 may be referred to as the force deviation a8.

[0063] The second controller 102 generates a control signal a9 for changing the gripping force by the amount of the force deviation a8 and outputs the control signal a9 to the motor driver 59. The motor driver 59 drives the motor 56 based on the control signal a9, thereby controlling the gripping force to approach the corrective force target value t2.

[0064] The second controller 102 also serves to improve the characteristics of the minor loop (e.g., stability, responsiveness, and final error). The second controller 102 is also called a compensator, for example. The second controller 102 may have, for example, a proportional controller, an integrator, or a differentiator. The second controller 102 may have, for example, a gain compensation function, a phase lead compensation function, or a phase lag compensation function. The second controller 102 may perform PID control or LQR control.

[0065] In the robot control unit 100A having the above configuration, as the finger spacing decreases, the decrease amount a6 of the force target value t1 increases, and the correction force target value t2 decreases. In other words, the correction force target value t2 decreases in accordance with the decrease amount of the finger spacing. Ideally, as the finger spacing decreases, the difference between the correspondingly decreasing correction force target value t2 and the first detection value a1 indicating the current grip force matches, and the gripping mechanism 50 maintains the finger spacing at that time. The finger spacing maintained by the gripping mechanism 50 is a value corresponding to the softness of the object 8. Ideally, as the amount of penetration increases, the difference between the correspondingly decreasing correction force target value t2 and the first detection value a1 indicating the current grip force matches, and the gripping mechanism 50 grasps the object 8 so that the amount of penetration at that time is maintained. Ideally, as the deformation of the object 8 increases, the difference between the correspondingly decreasing correction force target value t2 and the first detection value a1 indicating the current gripping force will match, and the object 8 will be grasped by the gripping mechanism 50 so as to maintain the deformation of the object 8 at that time. In this way, the robot control unit 100A controls the force of the gripping mechanism 50, so that the object 8 is grasped with an appropriate gripping force according to its softness.

[0066] Next, the acquisition unit 150 will be described. The acquisition unit 150 acquires characteristic information about the object 8 based on a detected value of an external force acting on the gripper 51 of the robot 3 while the robot 3 is performing an operation on the object 8 and a detected value of the finger position of the robot 3 while the robot 3 is performing the operation. The characteristic information is, for example, at least one of elasticity information corresponding to the elasticity of the object 8 and viscosity information corresponding to the viscosity of the object 8. The detected value of the external force acting on the gripper 51 of the robot 3 while the robot 3 is performing an operation on the object 8 is, for example, a first detected value a1 obtained when the robot 3 is performing an operation on the object 8. The detected value of the finger position of the robot 3 while the robot 3 is performing an operation on the object 8 is, for example, a second detected value a2 obtained when the robot 3 is performing an operation on the object 8. The first detected value a1, which is the detected value of the external force, is also referred to as external force information indicating the external force acting on the gripper 51 (in other words, the holding unit 51). The second detected value a2, which is the detected value of the finger position, is also referred to as position information indicating the position of the gripper 51 (in other words, the holding unit 51).

[0067] Hereinafter, simply referring to elasticity information means elasticity information corresponding to the elasticity of the object 8. Furthermore, simply referring to viscosity information means viscosity information corresponding to the viscosity of the object 8. Below, an example of the case where the acquisition unit 150 acquires elasticity information will be described.

[0068] 3, the acquisition unit 150 includes, for example, a determination unit 151 and a calculation unit 152. Note that all or some of the functions of the determination unit 151 may be realized by a hardware circuit that does not require software to realize the function. The same applies to the calculation unit 152.

[0069] The determination unit 151 determines whether the gripper 51 has come into contact with the object 8. When the determination unit 151 determines that the gripper 51 has come into contact with the object 8, the determination unit 151 stores a position detection value a2 at that time in the storage unit 11. If the position detection value a2 when the gripper 51 has come into contact with the object 8 is referred to as a contact position detection value a2, the determination unit 151 stores the contact position detection value a2 in the storage unit 11. The contact position detection value a2 in the storage unit 11 is set to a reference value r1 used by the robot control unit 100A. The contact position detection value a2 is also referred to as first position information in a contact state in which the gripper 51, as a contact unit, has come into contact with the object 8.

[0070] The determination unit 151 may determine whether the gripping unit 51 has come into contact with the object 8 based on the force detection value a1. In this case, the determination unit 151 may determine that the gripping unit 51 has come into contact with the object 8, for example, when the force detection value a1 becomes equal to or greater than a threshold value after the control device 2 has performed gripping arm setting. The determination unit 151 may also determine whether the gripping unit 51 has come into contact with the object 8 based on the position detection value a2. In this case, the determination unit 151 may repeatedly calculate the amount of change in the finger spacing within a predetermined time period based on the position detection value a2 after the control device 2 has performed gripping arm setting. Then, the determination unit 151 may determine that the gripping unit 51 has come into contact with the object 8 when the amount of change in the finger spacing within the predetermined time period becomes equal to or less than a threshold value.

[0071] If the robot system 9 includes a camera capable of capturing an image of the gripper 51 gripping the object 8, the determination unit 151 may determine whether the gripper 51 has come into contact with the object 8 based on an image (also referred to as a camera image) captured by the camera. The camera may be an overhead camera with a fixed position and orientation, or may be fixed to the end effector 5.

[0072] Furthermore, the determination unit 151 determines whether the gripping force with which the gripping unit 51 grips the object 8 has stabilized. At this time, the gripping unit 51 is in a pressurized state in which it presses the object 8 more than in a contact state, based on the contact state in which it is in contact with the object 8. When the determination unit 151 determines that the gripping force has stabilized, it stores the force detection value a1 and position detection value a2 at that time in the storage unit 11. If the force detection value a1 and position detection value a2 when the gripping force has stabilized are referred to as the stable force detection value a1 and stable position detection value a2, respectively, the determination unit 151 stores the stable force detection value a1 and stable position detection value a2 in the storage unit 11. The stable force detection value a1 is also referred to as external force information in a pressurized state. The stable position detection value a2 is also referred to as second position information in a pressurized state in which the gripping unit 51 presses the object 8.

[0073] The determination unit 151 may determine whether the grip force is stable based on, for example, the force detection value a1 and the correction force target value t2. In this case, the determination unit 151 repeatedly calculates the difference between the force detection value a1 and the correction force target value t2. Then, the determination unit 151 determines that the grip force is stable when the calculated difference remains equal to or less than a threshold value for a predetermined period of time or longer.

[0074] The fact that the gripping force has stabilized can be said to mean that the gripping force has converged to the corrected force target value t2. Furthermore, the fact that the gripping force has stabilized can be said to mean that gripping of the object 8 by the gripping mechanism 50 has been completed. The stable force detection value a1 stored in the memory unit 11 indicates the stable value of the gripping force, in other words, the convergence value of the gripping force. Furthermore, the stable force detection value a1 can be said to indicate the gripping force when gripping of the object 8 by the gripping mechanism 50 has been completed. Furthermore, the stable force detection value a1 can be said to be the value when the force detection value a1 has stabilized (in other words, the stable value of the force detection value a1), or the convergence value of the force detection value a1.

[0075] The calculation unit 152 calculates elasticity information based on the contact position detection value a2, the stable position detection value a2, and the stable force detection value a1 stored in the storage unit 11. Here, the contact position detection value a2 is represented by a2x. The stable position detection value a2 is represented by a2y, and the stable force detection value a1 is represented by a1y. Elasticity information is represented by Z1. The calculation unit 152 calculates the elasticity information Z1 using, for example, the following equation (2):

[0076]

[0077] As shown in equation (2), the value obtained by dividing the stable force detection value a1y by the difference value obtained by subtracting the contact position detection value a2x from the stable position detection value a2y becomes the elasticity information Z1.

[0078] When the difference value obtained by subtracting the contact position detection value a2x from the stable position detection value a2y is set to d2, the elasticity information Z1 is expressed by the following equation (3).

[0079]

[0080] The difference value d2 indicates the amount of change in the finger spacing from the time of contact with the object until the gripping force stabilizes (in other words, the amount of change in the finger spacing from the time of contact with the object until the gripping force converges). The difference value d2 can also be said to indicate the amount of deformation of the object 8, the two protective members 53, and the two fingers 52 when the gripping mechanism 50 completes gripping of the object 8. Elasticity information Z1, which is a value obtained by dividing the stable force detection value a1y by the difference value d2, indicates the relationship between the gripping force of the object 8 and the amount of deformation of the object 8, the protective members 53, and the fingers 52. In other words, the elasticity information Z1 indicates the degree of elastic deformation of the object 8, the protective members 53, and the fingers 52 depending on the level of gripping force. The elasticity information Z1 expressed by equations (2) and (3) is elasticity information corresponding to the elasticity of the object 8, the protective members 53, and the fingers 52.

[0081] The difference value d2 can also be said to be the amount of change in the position detection value a2 when an external force is applied to the gripping unit 51. The calculation unit 152 acquires the elasticity information Z1 based on the amount of change in the position detection value a2 when an external force is applied to the gripping unit 51. The difference value d2 can also be said to be the amount of change in the position detection value a2 when force control (e.g., impedance control) of the gripping mechanism 50 is performed. The stable force detection value a1y can also be said to be the convergence value of the force detection value a1 during force control of the gripping mechanism 50. Therefore, the calculation unit 152 can also be said to acquire the elasticity information Z1 based on the amount of change in the position detection value a2 when force control of the gripping mechanism 50 is performed and the convergence value of the force detection value a1 during the force control.

[0082] The difference value d2 can also be said to be change amount information that indicates the amount of change in the position of the holding unit 51 when the holding unit 51 changes from a contact state in which it is in contact with the object 8 to a pressurized state in which it pressurizes the object 8. If the position of the holding unit 51 in the contact state is called a first position, the difference value d2 can also be said to be change amount information that indicates the amount of change in the position of the holding unit 51 from the first position when the holding unit 51 changes from the contact state to a pressurized state in which it pressurizes the object 8.

[0083] In this way, in this example, the elasticity information Z1 can be appropriately acquired using the robot 3. That is, the characteristic information can be appropriately acquired based on the first position information, the second position information, and the external force information. Furthermore, the characteristic information can be appropriately acquired based on the change amount information and the external force information.

[0084] The robot control unit 100A can control the gripping mechanism 50 (in other words, the gripping unit 51) based on the elasticity information Z1, the force detection value a1, and the position detection value a2 acquired by the acquisition unit 150. For example, in the robot control unit 100A, the conversion unit 107 sets the stiffness parameter K1 in the above equation (1) based on the elasticity information Z1 acquired by the acquisition unit 150. The conversion unit 107 then calculates the reduction amount a5 based on the stiffness parameter K1 set based on the elasticity information Z1. A method for determining the stiffness parameter K1 based on the elasticity information Z1 will be described in detail later.

[0085] <Example of Operation of Robot Control Unit and Acquisition Unit> When the robot 3 starts working, the robot control unit 100A first sets the inertia parameter M1, viscosity parameter D1, and stiffness parameter K1 to initial values. Then, the robot control unit 100A controls the gripping mechanism 50 using the initial inertia parameter M1, viscosity parameter D1, and stiffness parameter K1 to cause the gripping mechanism 50 to grip the first object 8. The acquisition unit 150 acquires elasticity information Z1 when the gripping mechanism 50 grips the first object 8. The conversion unit 107 sets the stiffness parameter K1 based on the elasticity information Z1 acquired by the acquisition unit 150. Thereafter, when causing the gripping mechanism 50 to grip a second or subsequent object 8, the robot control unit 100A controls the gripping mechanism 50 using the stiffness parameter K1 set based on the elasticity information Z1 and the initial values ​​of the inertia parameter M1 and viscosity parameter D1.

[0086] Furthermore, the robot control unit 100A controls the gripping force of the gripping mechanism 50 by keeping the force target value t1 constant without changing it until the gripping unit 51 comes into contact with the object 8. After the gripping unit 51 comes into contact with the object 8, the robot control unit 100A controls the gripping force of the gripping mechanism 50 by decreasing the force target value t1 in accordance with the deviation a4, as shown in FIG.

[0087] 5 is a flowchart showing an example of the operation of the control unit 10, which includes the robot control unit 100B and the acquisition unit 150, when the control unit 10 acquires elasticity information Z1 and sets the stiffness parameter K1 based on the acquired elasticity information Z1. The series of processes shown in FIG. 5 is executed, for example, when the robot 3 starts working and the first object 8 is grasped by the gripping mechanism 50. The control unit 10 can execute the series of processes shown in FIG. 5 without interrupting the gripping operation of the gripping mechanism 50, for example.

[0088] When the robot 3 starts working and the gripping mechanism 50 grips the first object 8, the robot control unit 100A disables the output of the first controller 101 and forcibly sets it to zero in step s1. The configuration of the robot control unit 100A with the output of the first controller 101 disabled is equivalent to the configuration shown in FIG. 6. As shown in FIG. 6, the subtractor 105 outputs the value obtained by subtracting the force detection value a1 from the force target value t1 as the deviation a8 to the second controller 102. The robot control unit 100A with the output of the first controller 101 disabled controls the gripping force so that it approaches a constant force target value t1. After step s1, the robot control unit 100A starts controlling the gripping mechanism 50.

[0089] After step s1, in step s2, if the determination unit 151 of the acquisition unit 150 determines that the gripping unit 51 has come into contact with the target object 8, step s3 is executed. In step s3, the determination unit 151 stores the contact position detection value a2x in the memory unit 11. After step s3, in step s4, the robot control unit 100A sets the reference value r1 input to the subtractor 103 to the contact position detection value a2x in the memory unit 11.

[0090] Next, in step s5, the robot control unit 100A enables the output of the first controller 101. When the output of the first controller 101 becomes enabled, a decrease amount a6 output from the first controller 101 is input to the subtractor 104, and a corrective force target value t2 output from the subtractor 104 is input to the subtractor 105. The conversion unit 107 calculates the decrease amount a5 using the initial values ​​of the inertia parameter M1, viscosity parameter D1, and stiffness parameter K1. In controlling the grip force of the object 8, M1·s in equation (1) 2 Since the influence of M1·s in the equation (1) is small, the initial value of the inertia parameter M1 is set to, for example, zero. 2 is set to zero. In this example, the viscosity of the object 8 is unknown, and the initial value of the viscosity parameter D1 is set based only on, for example, the known viscosity of the protective member 53. In this example, the initial value of the stiffness parameter K1 is set based only on, for example, the known elasticity of the protective member 53. When the acquisition unit 150 acquires elasticity information Z1 corresponding to the elasticity of the object 8, the finger 52, and the protective member 53, the value of the stiffness parameter K1 is changed from the initial value to a value set based on the elasticity information Z1. The initial values ​​of the viscosity parameter D1 and the stiffness parameter K1 are set based on, for example, the known specifications of the material of the protective member 53.

[0091] In this example, the values ​​of the inertia parameter M1 and the viscosity parameter D1 are not changed from their initial values. If the viscosity of the finger 52 is known, the initial value of the viscosity parameter D1 may be set based only on the known viscosity of the protective member 53 and the finger 52. Alternatively, the initial value of the viscosity parameter D1 may be zero. If the elasticity of the finger 52 is known, the initial value of the stiffness parameter K1 may be set based only on the known elasticity of the protective member 53 and the finger 52.

[0092] After step s5, if the determination unit 151 determines in step s6 that the gripping force has stabilized, step s7 is executed. In step s7, the determination unit 151 stores the stable force detection value a1y and the stable position detection value a2y in the memory unit 11. After the gripping force has stabilized, that is, after the force detection value a1 has converged, the position of the arm 4 is controlled by the control device 2, and the first object 8 gripped by the gripping mechanism 50 moves to a predetermined location.

[0093] After step s7, in step s8, the calculation unit 152 calculates the elasticity information Z1 based on the contact position detection value a2x, the stable position detection value a2y, and the stable force detection value a1y in the storage unit 11 as described above.

[0094] Next, in step s9, the conversion unit 107 sets a stiffness parameter K1 based on the elasticity information Z1 acquired in step s8. In this example, the range in which the value of the elasticity information Z1 can be obtained is divided into multiple partial ranges. A set value of the stiffness parameter K1 is individually associated with each of the multiple partial ranges. Correspondence information indicating the correspondence between the multiple partial ranges and the multiple set values ​​of the stiffness parameter K1 is stored in the storage unit 11. The correspondence information is generated, for example, based on the results of experiments or simulations. The conversion unit 107 acquires a set value corresponding to the partial range to which the value of the elasticity information Z1 acquired in step s8 belongs, based on the correspondence information in the storage unit 11. Then, the conversion unit 107 changes the value of the stiffness parameter K1 from the initial value to the acquired set value. As a result, the stiffness parameter K1 is determined based on the elasticity information Z1. In grip control of the second and subsequent objects 8, the value set based on the elasticity information Z1 is used as the value of the stiffness parameter K1. In the grip control of the second and subsequent objects 8, the initial values ​​are continuously used as the values ​​of the inertia parameter M1 and the viscosity parameter D1.

[0095] As described above, in the robot control unit 100A, the subtractor 103 determines the amount of position change of the two fingers 52 (in other words, the predetermined parts or the holding unit 51) based on the second detection value a2. Then, the configuration including the conversion unit 107, the first controller 101, and the subtractor 104 changes the force target value t1 based on the amount of position change determined by the subtractor 103 and the elasticity information Z1 acquired by the acquisition unit 150.

[0096] In this example, the calculation unit 152 can acquire the elasticity information Z1 corresponding to the elasticity of the object 8 and the holding unit 51, thereby eliminating the need to previously input information indicating the elasticity of the holding unit 51 into the processing device 1. Furthermore, when the end effector 5 is replaced, the calculation unit 152 can acquire the elasticity information Z1 corresponding to the elasticity of the holding unit 51 of the replaced end effector 5, thereby allowing the holding unit 51 of the replaced end effector 5 to appropriately hold the object 8.

[0097] The conversion unit 107 may multiply the value of the elasticity information Z1 by a predetermined coefficient and set the result as the set value of the stiffness parameter K1.

[0098] Furthermore, for example, if the object 8 is a hard object made of metal or the like, the difference value d2 calculated by the calculation unit 152 (i.e., the denominator values ​​of equations (2) and (3)) may be zero. If the difference value d2 is zero, the upper limit of the set value may be set for the stiffness parameter K1 in step s9. In this case, the viscosity parameter D1 may be set to zero.

[0099] Alternatively, the conversion unit 107 may calculate the decrease amount a5 using the initial value of the stiffness parameter K1, and the first controller 101 may correct the decrease amount a5 calculated by the conversion unit 107 based on the elasticity information Z1, thereby performing impedance control similar to that in the case where the stiffness parameter K1 is set based on the elasticity information Z1 as shown in Fig. 3. In this case, the control signal a9 generated by the second controller 102 when the first controller 101 corrects the decrease amount a5 based on the elasticity information Z1 will be the same as the control signal a9 generated in the example of Fig. 3.

[0100] Here, the reduction amount a5 calculated using the stiffness parameter K1 set based on the elasticity information Z1 is referred to as the reduction amount a5 based on the elasticity information Z1. Furthermore, the reduction amount a5 calculated using the initial value of the stiffness parameter K1 is referred to as the reduction amount a5 based on the initial value. The first controller 101 corrects the reduction amount a5 based on the initial value based on the elasticity information Z1 so that the corrected reduction amount a5 based on the initial value matches the reduction amount a5 based on the elasticity information Z1. That is, the first controller 101 corrects the reduction amount a5 based on the initial value based on the elasticity information Z1 so that the corrected reduction amount a5 based on the initial value matches the reduction amount a5 based on the elasticity information Z1. The first controller 101 then performs a predetermined process on the corrected reduction amount a5 based on the initial value to improve the characteristics of the major loop. The corrected reduction amount a5 based on the initial value after the predetermined process is input to the subtractor 104 as the reduction amount a6.

[0101] 7, the conversion unit 107 may calculate the decrease amount a5 using the initial value of the stiffness parameter K1, and the correction unit 110 may correct the force deviation a8 based on the elasticity information Z1, thereby performing impedance control similar to that in the case where the stiffness parameter K1 is set based on the elasticity information Z1. The correction unit 110 corrects the force deviation a8, which is the deviation between the changed force target value t1 and the detected force value a1, based on the elasticity information Z1. The control signal a9 generated in the example of FIG. 7 is the same as the control signal a9 generated in the example of FIG. 3.

[0102] Here, the force deviation a8 calculated using the reduction amount a5 based on the elasticity information Z1 is referred to as the force deviation a8 based on the elasticity information Z1. Also, the force deviation a8 calculated using the reduction amount a5 based on the initial value is referred to as the force deviation a8 based on the initial value. The force deviation a8 based on the initial value is the force deviation a8 when the reduction amount a5 based on the initial value is output from the conversion unit 107.

[0103] The correction unit 110 corrects the force deviation a8 based on the initial value based on the elasticity information Z1 so that the force deviation a8 based on the corrected initial value matches the force deviation a8 based on the elasticity information Z1. In other words, the correction unit 110 corrects the force deviation a8 based on the initial value based on the elasticity information Z1 so that the force deviation a8 based on the corrected initial value matches the force deviation a8 based on the elasticity information Z1. The second controller 102 generates a control signal a9 for changing the grip force by the amount of the force deviation a8 based on the corrected initial value. As a result, the robot control unit 100A changes the positions of the two fingers 52 (in other words, predetermined portions) based on the force deviation a8 based on the corrected initial value.

[0104] 8, the conversion unit 107 may calculate the decrease amount a5 using the initial value of the stiffness parameter K1, and the correction unit 111 may correct the detected force value a1 based on the elasticity information Z1, thereby performing impedance control similar to that in the case where the stiffness parameter K1 is set based on the elasticity information Z1. In the example of FIG. 8, the subtractor 105 outputs, as the force deviation a8, a value obtained by subtracting the detected force value a1 corrected by the correction unit 111 (also referred to as the first corrected detected force value a1) from the corrected force target value t2 in the case where the conversion unit 107 outputs the decrease amount a5 based on the initial value to the second controller 102. The control signal a9 generated in the example of FIG. 8 is the same as the control signal a9 generated in the example of FIG. 3.

[0105] Here, the deviation a8 obtained by subtracting the first corrected force detected value a1 from the correction force target value t2 (also referred to as the correction force target value t2 based on the initial value) when the conversion unit 107 outputs the decrease amount a5 based on the initial value is referred to as the deviation a8 based on the first corrected force detected value a1. The correction unit 111 corrects the detected force value a1 based on the elasticity information Z1 so that the force deviation a8 based on the first corrected force detected value a1 matches the force deviation a8 based on the elasticity information Z1. In other words, the correction unit 110 corrects the detected force value a1 based on the elasticity information Z1 so that the deviation a8 obtained by subtracting the first corrected force detected value a1 from the correction force target value t2 based on the initial value matches the force deviation a8 based on the elasticity information Z1.

[0106] <Example of Admittance Control> Fig. 9 is a schematic diagram showing an example of the configuration of the robot control unit 100 (robot control unit 100B) that performs admittance control of the gripping mechanism 50. Fig. 9 shows an example of the configuration of the robot control unit 100B when the robot control unit 100B causes the gripping mechanism 50 to grip the target object 8.

[0107] 9 , the robot control unit 100B that performs admittance control includes, as functional blocks, for example, a third controller 203, a fourth controller 204, a subtractor 205, an adder 206, a subtractor 207, a conversion unit 208, and the above-mentioned position acquisition unit 106. Note that all or some of the functions of the third controller 203 may be realized by a hardware circuit that does not require software to realize the function. The same applies to the fourth controller 204, the subtractor 205, the adder 206, the subtractor 207, and the conversion unit 208.

[0108] The robot control unit 100B controls the gripping mechanism 50 so that the gripping force approaches a target value t21 (also referred to as a force target value t21). In the admittance control performed by the robot control unit 100B, the force target value t21 is constant.

[0109] In this example, the major loop is made up of a loop that runs from the subtractor 205 through the conversion unit 208, the third controller 203, the adder 206, the subtractor 207, the fourth controller 204, the motor driver 59, the motor 56, the encoder 58, the gear 57, and the gripper 51, and returns to the subtractor 205. On the other hand, the minor loop is made up of a loop that runs from the subtractor 207 through the fourth controller 204, the motor driver 59, the motor 56, the encoder 58, and the position acquisition unit 106, and returns to the subtractor 207.

[0110] The subtractor 205 subtracts the detected force value a1 from the target force value t21. The subtractor 205 then outputs a deviation a24 (also referred to as a force deviation a24) obtained by subtracting the detected force value a1 from the target force value t21. The subtractor 205 repeatedly outputs the force deviation a24. The force deviation a24 indicates the difference between the target force value t21, which is the target value for the gripping force, and the current gripping force. The units of the target force value t21 and the force deviation a24 are, for example, Newtons.

[0111] The conversion unit 208 converts the force deviation a24 into a position change amount a25 and outputs it. The position change amount a25 is the amount of change in the motor rotation position required to change the gripping force by the original force deviation a24. The conversion unit 208 repeatedly outputs the position change amount a25. The gripping force of the gripping mechanism 50 on the object 8 is controlled in accordance with the position change amount a25. The unit of the position change amount a25 is, for example, degrees (°).

[0112] The position change amount a25 can also be said to indicate the amount of change in finger spacing required to change the grip force by the force deviation a24. When the conversion unit 208 calculates the position change amount a25, it can also be said that the conversion unit 208 is calculating the amount of change in finger spacing required to change the grip force by the force deviation a24. The position change amount a25 can also be said to indicate the amount of change in the positions of the two fingers 52 (in other words, the predetermined portions or holding portions 51) required to change the grip force by the force deviation a24. The position change amount a25 can also be said to indicate the amount of change in the positions of the two fingers 52 (in other words, the predetermined portions or holding portions 51). When the conversion unit 208 calculates the position change amount a25, it can also be said that the conversion unit 208 is calculating the amount of change in the positions of the two fingers 52 (in other words, the predetermined portions or holding portions 51) required to change the grip force by the force deviation a24.

[0113] Here, the Laplace transforms of the force deviation a24 and the position change a25 in the time domain are expressed as functions A24(s) and A25(s), respectively. The relationship between the functions A24(s) and A25(s) is expressed, for example, by the following equation (4).

[0114]

[0115] 1 / (M2·s) in equation (4) 2 +D2·s+K2) represents the transfer function of the conversion unit 208. M2, D2, and K2 in equation (4) represent the inertia parameter (also referred to as the inertia coefficient), the viscosity parameter (also referred to as the viscosity coefficient), and the stiffness parameter (also referred to as the stiffness coefficient), respectively.

[0116] The inertia parameter M2 may be set based on, for example, the weights of the object 8, the finger 52, and the protective member 53, similar to the inertia parameter M1 in equation (1). The viscosity parameter D2 may be set based on, for example, the viscosity of the object 8, the finger 52, and the protective member 53, similar to the viscosity parameter D2 in equation (2). The stiffness parameter K1 may be set based on, for example, the elasticity of the object 8, the finger 52, and the protective member 53, similar to the stiffness parameter K1 in equation (1).

[0117] When converting the force deviation a24 into the position change amount a25, the conversion unit 208 first performs a Laplace transform on the force deviation a24 in the time domain to obtain a function A24(s) in the s domain. Next, the conversion unit 208 uses the obtained function A24(s) and equation (4) to obtain a function A25(s). The conversion unit 208 then performs an inverse Laplace transform on the s-domain function A25(s) to obtain the position change amount a25 in the time domain. This converts the force deviation a24 in Newton units into a position change amount a25 in degrees (°).

[0118] The third controller 203 performs predetermined processing on the position change amount a25 to improve the characteristics (e.g., stability, responsiveness, and final error) of the major loop. The third controller 203 is also referred to as a compensator, for example. The third controller 203 outputs the position change amount a25 after the predetermined processing as a position change amount a26. Like the first controller 101, the third controller 203 may have, for example, a proportional controller, an integrator, or a differentiator. The third controller 203 may perform, for example, gain compensation, phase lead compensation, phase lag compensation, or other processing on the position change amount a25. The third controller 203 repeatedly outputs the position change amount a26. The third controller 203 may perform PID control or LQR control.

[0119] The adder 206 adds the position change amount a26 to the reference value r21. The adder 206 then outputs a calculated value a27 obtained by adding the position change amount a26 to the reference value r21. The adder 206 repeatedly outputs the calculated value a27.

[0120] The subtractor 207 subtracts the position detection value a2, which indicates the current rotational position of the motor, from the calculated value a27. The subtractor 207 then outputs a deviation a28 obtained by subtracting the position detection value a2 from the calculated value a27. The subtractor 207 repeatedly outputs the deviation a28. Hereinafter, the deviation a28 may be referred to as the position deviation a28.

[0121] The fourth controller 204 generates a control signal a29 for changing the motor rotational position by an amount corresponding to the position deviation a28 and outputs the control signal a29 to the motor driver 59. The motor driver 59 drives the motor 56 based on the control signal a29, thereby performing force control on the gripping mechanism 50 so that the first detection value a1 approaches the force target value t21. In other words, the gripping mechanism 50 is force-controlled so that the gripping force of the gripping mechanism 50 on the object 8 approaches the force target value t21.

[0122] Similar to the second controller 102, the fourth controller 204 also serves to improve the characteristics (e.g., stability, responsiveness, and final error) of the minor loop. The fourth controller 204 is also referred to as a compensator, for example. The fourth controller 204 may have, for example, a proportional controller, an integrator, or a differentiator. The fourth controller 204 may have, for example, a gain compensation function, a phase lead compensation function, or a phase lag compensation function. The fourth controller 204 may perform PID control or LQR control.

[0123] When the robot control unit 100 performs admittance control of the gripping mechanism 50, the determination unit 151 of the acquisition unit 150 may determine whether the gripping force has stabilized, for example, based on the force detection value a1 and the force target value t21. In this case, the determination unit 151 repeatedly calculates the difference between the force detection value a1 and the force target value t21. The determination unit 151 then determines that the gripping force has stabilized if the calculated difference remains below a threshold value for a predetermined period of time or longer. The stabilization of the gripping force can be understood as, for example, the gripping force converging to the force target value t21.

[0124] Similar to the robot control unit 100A shown in FIG. 3 and other figures, the robot control unit 100B can control the gripping mechanism 50 (in other words, the gripping unit 51) based on the elasticity information Z1, the force detection value a1, and the position detection value a2 acquired by the acquisition unit 150. For example, in the robot control unit 100B, the conversion unit 208 sets the stiffness parameter K2 in the above equation (4) based on the elasticity information Z1 acquired by the acquisition unit 150. The conversion unit 208 then calculates the position change amount a25 based on the stiffness parameter K2 set based on the elasticity information Z1. An example of the operation of the robot control unit 100B will be described below.

[0125] When the robot 3 starts working, the robot control unit 100B first sets the inertia parameter M2, the viscosity parameter D2, and the stiffness parameter K2 to initial values. Then, the robot control unit 100B controls the gripping mechanism 50 using the initial values ​​of the inertia parameter M2, the viscosity parameter D2, and the stiffness parameter K2 to cause the gripping mechanism 50 to grip the first object 8. As described above, the acquisition unit 150 acquires elasticity information Z1 when the gripping mechanism 50 grips the first object 8. The conversion unit 208 sets the stiffness parameter K2 based on the elasticity information Z1 acquired by the acquisition unit 150. Thereafter, when the robot control unit 100B causes the gripping mechanism 50 to grip the second or subsequent object 8, it controls the gripping mechanism 50 using the stiffness parameter K2 set based on the elasticity information Z1 and the initial values ​​of the inertia parameter M2 and the viscosity parameter D2.

[0126] Furthermore, the robot control unit 100B performs position control to bring the motor rotation position closer to a reference value r21, for example, until the gripping unit 51 comes into contact with the object 8. Then, after the gripping unit 51 comes into contact with the object 8, the robot control unit 100B performs force control to bring the gripping force closer to a force target value t1.

[0127] 10 is a flowchart showing an example of the operation of the control unit 10, which includes a robot control unit 100B and an acquisition unit 150, when the control unit 10 acquires elasticity information Z1 and sets a stiffness parameter K2 based on the acquired elasticity information Z1. The series of processes shown in Fig. 10 is executed, for example, when the robot 3 starts working and the first object 8 is grasped by the gripping mechanism 50. The control unit 10 can execute the series of processes shown in Fig. 10 without interrupting the gripping operation of the gripping mechanism 50, for example.

[0128] When the robot 3 starts working and the gripping mechanism 50 grips the first object 8, the robot control unit 100B disables the output of the third controller 203 and forcibly sets it to zero in step s21. The configuration of the robot control unit 100B with the output of the third controller 203 disabled is equivalent to the configuration shown in FIG. 11 . As shown in FIG. 11 , the subtractor 207 subtracts the position detection value a2 from the reference value r21 and outputs the resulting value as the deviation a28 to the fourth controller 204. The robot control unit 100B with the output of the third controller 203 disabled controls the gripping mechanism 50 so that the motor rotational position approaches the reference value r21. In this case, the reference value r21 can be considered a target value for the motor rotational position. The reference value r21 can also be considered to indicate a target value for the positions of the two fingers 52. The reference value r21 can also be considered to indicate a target value for the finger spacing.

[0129] After step s21, in step s22, the robot control unit 100B sets a reference value r21 for position control of the gripping mechanism 50. For example, the robot control unit 100B sets the reference value r21 to a motor rotation position where the distance between the two fingers 52 is zero. After step s22, the robot control unit 100B starts controlling the gripping mechanism 50.

[0130] After step s22, if the determination unit 151 of the acquisition unit 150 determines in step s23 that the gripping unit 51 has come into contact with the target object 8, step s24 is executed. In step s24, the determination unit 151 stores the contact position detection value a2x in the storage unit 11. After step s24, in step s25, the robot control unit 100B sets a reference value r21 for force control of the gripping mechanism 50. For example, the robot control unit 100B sets the contact position detection value a2x in the storage unit 11 as the reference value r21 for force control of the gripping mechanism 50. The contact position detection value a2x is also referred to as first position information in a contact state in which the gripping unit 51 comes into contact with the target object 8.

[0131] Next, in step s26, the robot control unit 100 enables the output of the third controller 203. When the output of the third controller 203 becomes enabled, a position change amount a26 output from the third controller 203 is input to the adder 206, and a calculated value a27 output from the adder 206 is input to the subtractor 207. The conversion unit 208 calculates a position change amount a25 using the initial values ​​of the inertia parameter M2, viscosity parameter D2, and stiffness parameter K2. In controlling the grip force of the object 8, M2·s in equation (4) 2 Since the influence of M2 is small, the initial value of the inertia parameter M2 is set to, for example, zero. 2 is set to zero, for example. The initial value of the viscosity parameter D2 is set, for example, based only on the known viscosity of the protective member 53. The initial value of the stiffness parameter K2 is set, for example, based only on the known elasticity of the protective member 53. When the acquisition unit 150 acquires elasticity information Z1 corresponding to the elasticity of the object 8, the finger 52, and the protective member 53, the value of the stiffness parameter K2 is changed from the initial value to a value set based on the elasticity information Z1.

[0132] The values ​​of the inertia parameter M2 and the viscosity parameter D2 are not changed from their initial values. If the viscosity of the finger 52 is known, the initial value of the viscosity parameter D2 may be set based only on the known viscosity of the protective member 53 and the finger 52. Alternatively, the initial value of the viscosity parameter D2 may be zero. If the elasticity of the finger 52 is known, the initial value of the stiffness parameter K2 may be set based only on the known elasticity of the protective member 53 and the finger 52.

[0133] After step s26, if the determination unit 151 determines in step s27 that the gripping force has stabilized, step s28 is executed. At this time, the gripping unit 51 is in a pressurized state in which it presses the object 8 more than in the contact state, based on the contact state in which it is in contact with the object 8. In step s28, the determination unit 151 stores the stable force detection value a1y and the stable position detection value a2y in the memory unit 11. After the gripping force has stabilized, the position of the arm 4 is controlled by the control device 2, and the first object 8 gripped by the gripping mechanism 50 moves to a predetermined location. The stable force detection value a1y is also referred to as external force information in a pressurized state. The stable position detection value a2y is also referred to as second position information in a pressurized state in which the gripping unit 51 presses the object 8.

[0134] After step s28, in step s29, the calculation unit 152 calculates the elasticity information Z1 as described above based on the contact position detection value a2x, the stable position detection value a2y, and the stable force detection value a1y stored in the storage unit 11. That is, the calculation unit 152 acquires characteristic information based on the first position information, the second position information, and the external force information. It can also be said that the calculation unit 152 acquires characteristic information based on the change amount information and the external force information.

[0135] Next, in step s30, the conversion unit 208 sets a stiffness parameter K2 based on the elasticity information Z1 acquired in step s29. The conversion unit 208 uses, for example, the value of the elasticity information Z1 acquired in step s29 as the value of the stiffness parameter K2 as is. In grip control of the second and subsequent objects 8, the value of the elasticity information Z1 is used as is as the value of the stiffness parameter K2. Note that in grip control of the second and subsequent objects 8, the initial values ​​continue to be used as the values ​​of the inertia parameter M2 and the viscosity parameter D2.

[0136] As can be understood from the above description, in the robot control unit 100B, the configuration including the conversion unit 208 and the third controller 203 determines the required change in the position of the two fingers 52 (in other words, the predetermined portions or the holding units 51) based on the deviation a24 between the force target value t21 and the detected force value a1 and the elasticity information Z1 determined by the acquisition unit 150. In the above example, the required change in the position of the two fingers 52 is expressed as the change in the motor rotation position. Then, the configuration including the adder 206, the subtractor 207, and the fourth controller 204 changes the positions of the two fingers 52 (in other words, the predetermined portions or the holding units 51) based on the determined required change and the position detection value a2.

[0137] As described above, if the difference value d2 is zero, the upper limit of the set value may be set to the stiffness parameter K2 in step s30. In this case, the viscosity parameter D2 may be set to zero.

[0138] Alternatively, the converter 208 may calculate the position change amount a25 using the initial value of the stiffness parameter K2, and the third controller 203 may correct the position change amount a25 calculated by the converter 208 based on the elasticity information Z1, thereby performing admittance control similar to that in the case where the stiffness parameter K2 is set based on the elasticity information Z1. In this case, the control signal a29 generated by the fourth controller 204 when the third controller 203 corrects the position change amount a25 based on the elasticity information Z1 will be the same as the control signal a29 generated in the example of FIG. 9 .

[0139] Here, the position change amount a25 calculated using the value of the stiffness parameter K2 set based on the elasticity information Z1 is referred to as the position change amount a25 based on the elasticity information Z1. Similarly, the position change amount a25 calculated using the initial value of the stiffness parameter K2 is referred to as the position change amount a25 based on the initial value. The third controller 203 corrects the position change amount a25 based on the initial value based on the elasticity information Z1 so that the corrected position change amount a25 based on the initial value matches the position change amount a25 based on the elasticity information Z1. That is, the third controller 203 corrects the position change amount a25 based on the initial value based on the elasticity information Z1 so that the corrected position change amount a25 based on the initial value matches the position change amount a25 based on the elasticity information Z1. The third controller 203 then performs a predetermined process on the corrected position change amount a25 based on the initial value to improve the characteristics of the major loop. The corrected position change amount a25 based on the initial value after the predetermined process is input to the adder 206 as the position change amount a26.

[0140] 12, the conversion unit 208 may calculate the position change amount a25 using the initial value of the stiffness parameter K2, and the correction unit 210 may correct the detected force value a1 based on the elasticity information Z1, thereby performing admittance control similar to that in the case where the stiffness parameter K2 is set based on the elasticity information Z1. The control signal a29 generated in the example of FIG. 12 is the same as the control signal a29 generated in the example of FIG. 9.

[0141] 12 , subtractor 205 subtracts detected force value a1 corrected by correction unit 210 (second corrected detected force value a1) from target force value t1, and outputs the resultant value as force deviation a24. Converter 208 converts force deviation a24 output from subtractor 205 into position change amount a25 using the initial values ​​of inertia parameter M2, viscosity parameter D2, and stiffness parameter K2. Position change amount a25 calculated in this manner is referred to as position change amount a25 based on second corrected detected force value a1.

[0142] The correction unit 210 corrects the force detection value a1 based on the elasticity information Z1 so that the position change amount a25 based on the second corrected force detection value a1 matches the position change amount a25 based on the elasticity information Z1. In other words, the correction unit 210 corrects the force detection value a1 based on the elasticity information Z1 so that the position change amount a25 calculated by the conversion unit 208 based on the force deviation a24 obtained by subtracting the second corrected force detection value a1 from the force target value t21 and the initial values ​​of the inertia parameter M2, viscosity parameter D2, and stiffness parameter K2 matches the position change amount a25 based on the elasticity information Z1.

[0143] In the robot control unit 100B shown in FIG. 12, the configuration consisting of the subtractor 205, the conversion unit 208, the third controller 203, the adder 206, the subtractor 207, and the fourth controller 204 can be said to change the positions of the two finger portions 52 (in other words, predetermined parts) based on the force detection value a1 corrected by the correction unit 210 and the position detection value a2.

[0144] In the above example, the acquisition unit 150 acquires only the elasticity information out of the elasticity information and the viscosity information, but it is also possible to acquire the viscosity information.

[0145] When the acquisition unit 150 acquires viscosity information, for example, before the robot 3 performs an actual task, the operation mode of the control unit 10 of the processing device 1 is set to a viscosity information acquisition mode. In the viscosity information acquisition mode, the robot control unit 100, for example, controls the position of the gripping mechanism 50 and causes the gripping mechanism 50 to perform an operation to grip the object 8. In the viscosity information acquisition mode, the acquisition unit 150 acquires viscosity information while the position of the gripping mechanism 50 is being controlled by the robot control unit 100. After the control device 2 sets the object 8 to be located between the two fingers 52 that are spaced apart, for example, the operation mode of the control unit 10 is set to the viscosity information acquisition mode by a user operation on the processing device 1.

[0146] Fig. 13 is a flowchart showing an example of the operation of the control unit 10 in the viscosity information acquisition mode. The robot control unit 100 provided in the control unit 10 in the viscosity information acquisition mode has, for example, the configuration shown in Fig. 11 above. As described above, the configuration shown in Fig. 11 is substantially the same as the configuration shown in Fig. 9 in which the output of the third controller 203 is disabled and set to zero. In the control unit 10 in the viscosity information acquisition mode, the robot control unit 100 controls the position of the gripping mechanism 50 so that the motor rotation position approaches the reference value r21.

[0147] 13 , in the control unit 10 in the viscosity information acquisition mode, the robot control unit 100 initializes a reference value r1 in step s51. In step s51, the robot control unit 100 sets a motor rotation position such that the distance between the two fingers 52 is zero to a reference value r21. After step s51, in step s52, the robot control unit 100 starts position control of the gripping mechanism 50.

[0148] After step s52, if the determination unit 151 of the acquisition unit 150 determines in step s53 that the gripping unit 51 has come into contact with the object 8, step s54 is executed. In step s54, the robot control unit 100 maintains the control signal a29 supplied to the motor driver 59, and stops the movement of the two finger units 52 at the location where the gripping unit 51 has come into contact with the object 8.

[0149] Next, in step s55, the determination unit 151 stores the contact position detection value a2x (in other words, first position information) in the storage unit 11. After step s55, in step s56, the robot control unit 100 resets the reference value r21. In step s56, the robot control unit 100 sets the reference value r21 to, for example, a value obtained by adding a predetermined value d3 to the contact position detection value a2x stored in the storage unit 11. Then, in step s57, the robot control unit 100 starts position control of the gripping mechanism 50 using the reference value r1 reset in step s56. As a result, the position of the gripping mechanism 50 is controlled so that the motor rotation position approaches the reset reference value r1, that is, the value obtained by adding the predetermined value d3 to the contact position detection value a2x.

[0150] The predetermined value d3 can be said to be the amount of change in the position detection value a2 from the time of contact with the object until the position control of the gripping mechanism 50 by the robot control unit 100 converges. The predetermined value d3 can also be said to indicate the amount of change in the finger spacing from the time of contact with the object until the position control of the gripping mechanism 50 by the robot control unit 100 converges. The predetermined value d3 can also be said to indicate the amount of penetration of the gripping portion 51 into the object 8 when the position control of the gripping mechanism 50 converges. In other words, the predetermined value d3 indicates the degree to which the gripping portion 51 penetrates into the object 8 in the position control of the gripping mechanism 50. The predetermined value d3 can also be said to indicate the amount of deformation of the object 8, the protective member 53, and the finger portions 52 when the position control of the gripping mechanism 50 converges. In other words, the predetermined value d3 indicates the degree to which the object 8 and the protective member 53 are deformed in the position control of the gripping mechanism 50.

[0151] The predetermined value d3 can also be said to be change amount information that indicates the amount of change in the position of the holding unit 51 when the holding unit 51 changes from a contact state in which it is in contact with the object 8 to a pressurizing state in which it pressurizes the object 8. If the position of the holding unit 51 in the contact state is called a first position, the predetermined value d3 can also be said to be change amount information that indicates the amount of change in the position of the holding unit 51 from the first position when the holding unit 51 changes from the contact state to a pressurizing state in which it pressurizes the object 8.

[0152] When the position control of the gripping mechanism 50 starts in step s57, in step s58, the determination unit 151 starts storing the time-series data of the force detection value a1 in the storage unit 11. That is, the determination unit 151 starts storing the force detection value a1 repeatedly output by the first sensor 54 in the storage unit 11.

[0153] Fig. 14 is a schematic graph showing an example of time-series data of the detected force value a1 stored in the storage unit 11. The horizontal and vertical axes of Fig. 14 represent time and the detected force value a1, respectively. The left end of the horizontal axis (i.e., the time axis) of Fig. 14 indicates the timing at which position control of the gripping mechanism 50 starts in step s57.

[0154] 14 , when the gripping portion 51 comes into contact with the object 8 and position control of the gripping mechanism 50 begins, the detected force value a1 gradually increases due to the elasticity of the object 8 and the protective member 53. Then, when the position control of the gripping mechanism 50 converges, the detected force value a1 indicates a maximum value max. Thereafter, the detected force value a1 gradually decreases due to the viscosity of the object 8 and the protective member 53.

[0155] After step s58, in step s59, the calculation unit 152 acquires elasticity information Z1 based on the maximum value max of the time-series data of the force detection value a1 stored in the storage unit 11 and a predetermined value d3. For example, the calculation unit 152 divides the maximum value max by the predetermined value d3 to obtain the elasticity information Z1. In this case, the elasticity information Z1 is expressed by the following equation (5).

[0156]

[0157] The elasticity information Z1 expressed by equation (5), like the elasticity information Z1 expressed by equations (2) and (3) above, indicates the degree of elastic deformation of the object 8, the protective member 53, and the finger portion 52 depending on the degree of gripping force, and can be said to be elasticity information corresponding to the elasticity of the object 8, the protective member 53, and the finger portion 52.

[0158] In this way, in this example, the acquisition unit 150 acquires the elasticity information Z1 based on the predetermined value d3, which is the amount of change in the position detection value a2 when position control of the gripping mechanism 50 of the robot 3 is performed, and the maximum value max of the force detection value a1 during the position control. In other words, the acquisition unit 150 acquires the elasticity information Z1 based on the amount of change information and the external force information.

[0159] After step s59, in step s60, the calculation unit 152 calculates viscosity information Y1 based on the elasticity information Z1 calculated in step s59 and the time-series data of the detected force value a1 in the storage unit 11.

[0160] In step s60, the calculation unit 152 calculates the time t1 (see FIG. 14 ) required for the detected force value a1 to decrease from its maximum value max to 1 / e times the maximum value max based on the time-series data of the detected force value a1. e represents Napier's constant. The first sensor 54 repeatedly outputs the detected force value a1, for example, at a predetermined interval. The calculation unit 152 recognizes in advance the predetermined interval at which the first sensor 54 outputs the detected force value a1, and calculates the time t1 based on the predetermined interval and the time-series data of the detected force value a1. The calculation unit 152 then divides the value of the elasticity information Z1 calculated in step s59 by the time t1 to obtain viscosity information Y1. The viscosity information Y1 is expressed by the following equation (6):

[0161]

[0162] The viscosity information Y1 shown in FIG. 6 is viscosity information according to the viscosity of the object 8, the protective member 53, and the finger portion 52, and is a value indicating the viscosity of the object 8, the protective member 53, and the finger portion 52.

[0163] In this way, in this example, the acquisition unit 150 acquires the viscosity information Y1 based on the change over time in the force detection value a1 when the position of the gripping mechanism 50 is controlled.

[0164] After step s60, the operation mode of the robot control unit 100 is released from the viscosity information acquisition mode. Thereafter, the robot 3 starts working, and the robot control unit 100 controls the gripping mechanism 50 based on the elasticity information Z1 and viscosity information Y1 acquired by the acquisition unit 150, the force detection value a1, and the position detection value a2. At this time, the robot control unit 100 may perform impedance control of the gripping mechanism 50 as in the example shown in FIG. 3 or the like, or may perform admittance control of the gripping mechanism 50 as shown in FIG. 9 or the like.

[0165] In this example, the calculation unit 152 can acquire viscosity information Y1 corresponding to the viscosities of the object 8 and the holding unit 51, thereby eliminating the need to previously input information indicating the viscosity of the holding unit 51 into the processing device 1. Furthermore, when the end effector 5 is replaced, the calculation unit 152 can acquire elasticity information Z1 corresponding to the viscosity of the holding unit 51 of the replaced end effector 5, thereby allowing the object 8 to be appropriately held by the holding unit 51 of the replaced end effector 5.

[0166] In step s59, the calculation unit 152 may calculate the convergence position detection value by adding a predetermined value d3 to the contact position detection value a2x. The convergence detection value can be considered as second position information indicating the position of the holding unit 51 in a pressurized state in which the holding unit 51 pressurizes the object 8 from the contact state. The calculation unit 152 may then calculate the elasticity information Z1 by dividing the value obtained by subtracting the contact position detection value a2x from the calculated convergence detection value (i.e., the predetermined value d3) by the maximum value max. In this case, the calculation unit 152 may acquire characteristic information including the elasticity information Z1 and the viscosity information Y1 based on the first position information, the second position information, and the external force information.

[0167] <Example of Impedance Control Based on Elasticity Information and Viscosity Information> When the robot control unit 100A shown in FIG. 3 controls the impedance of the gripping mechanism 50, the conversion unit 107 may determine the stiffness parameter K1 and the viscosity parameter D1 in the above formula (1) based on the elasticity information Z1 and the viscosity information Y1 acquired by the acquisition unit 150. In this case, for example, the range in which the elasticity information Z1 can take values ​​is divided into a plurality of first partial ranges, and the range in which the viscosity information Y1 can take values ​​is divided into a plurality of second partial ranges. Then, set values ​​of the stiffness parameter K1 and the viscosity parameter D1 are individually associated with each combination of the first partial ranges and the second partial ranges. The storage unit 11 stores correspondence information indicating these correspondences. The converter 107 acquires, based on the correspondence relationship information in the memory 11, set values ​​of the stiffness parameter K1 and the viscosity parameter D1 corresponding to the combination of the first partial range to which the value of the elasticity information Z1 acquired by the acquirer 150 belongs and the second partial range to which the value of the viscosity information Y1 acquired by the acquirer 150 belongs. Then, the converter 107 sets the values ​​of the stiffness parameter K1 and the viscosity parameter D1 to the acquired set values.

[0168] In addition, the conversion unit 107 may multiply the value of the elasticity information Z1 by a predetermined coefficient to obtain the setting value of the stiffness parameter K1, and may multiply the value of the viscosity information Y1 by a predetermined coefficient to obtain the setting value of the viscosity parameter D1.

[0169] Alternatively, the conversion unit 107 may calculate the decrease amount a5 using the initial values ​​of the stiffness parameter K1 and the viscosity parameter D1, and the first controller 101 may correct the decrease amount a5 calculated by the conversion unit 107 based on the elasticity information Z1 and the viscosity information Y1, thereby performing impedance control similar to that in the case where the stiffness parameter K1 and the viscosity parameter D1 are set based on the elasticity information Z1 and the viscosity information Y1. In this case, the control signal a9 generated by the second controller 102 when the first controller 101 corrects the decrease amount a5 based on the elasticity information Z1 and the viscosity information Y1 will be the same as the control signal a9 generated by the second controller 102 when the conversion unit 107 sets the stiffness parameter K1 and the viscosity parameter D1 based on the elasticity information Z1 and the viscosity information Y1.

[0170] 7 , the conversion unit 107 may calculate the decrease amount a5 using the initial values ​​of the stiffness parameter K1 and the viscosity parameter D1, and the correction unit 110 may correct the force deviation a8 based on the elasticity information Z1 and the viscosity information Y1, thereby performing impedance control similar to that in the case where the stiffness parameter K1 and the viscosity parameter D1 are set based on the elasticity information Z1 and the viscosity information Y1. In this case, the control signal a9 generated by the second controller 102 when the correction unit 110 corrects the force deviation a8 based on the elasticity information Z1 and the viscosity information Y1 will be the same as the control signal a9 generated by the second controller 102 when the conversion unit 107 sets the stiffness parameter K1 and the viscosity parameter D1 based on the elasticity information Z1 and the viscosity information Y1.

[0171] 8 , the conversion unit 107 may calculate the decrease amount a5 using the initial values ​​of the stiffness parameter K1 and the viscosity parameter D1, and the correction unit 111 may correct the detected force value a1 based on the elasticity information Z1 and the viscosity information Y1, thereby performing impedance control similar to that in the case where the stiffness parameter K1 and the viscosity parameter D1 are set based on the elasticity information Z1 and the viscosity information Y1. In this case, the control signal a9 generated by the second controller 102 when the correction unit 111 corrects the detected force value a1 based on the elasticity information Z1 and the viscosity information Y1 will be the same as the control signal a9 generated by the second controller 102 when the conversion unit 107 sets the stiffness parameter K1 and the viscosity parameter D1 based on the elasticity information Z1 and the viscosity information Y1.

[0172] 9 performs admittance control of the gripping mechanism 50, the conversion unit 208 may determine the stiffness parameter K2 and the viscosity parameter D2 in the above formula (4) based on the elasticity information Z1 and the viscosity information Y1 acquired by the acquisition unit 150. For example, the conversion unit 208 may use the value of the elasticity information Z1 acquired by the acquisition unit 150 as the value of the stiffness parameter K2, and may use the value of the viscosity information Y1 acquired by the acquisition unit 150 as the value of the viscosity parameter D2, without modification.

[0173] Alternatively, the converter 208 may calculate the position change amount a25 using the initial values ​​of the stiffness parameter K2 and the viscosity parameter D2, and the third controller 203 may correct the position change amount a25 calculated by the converter 208 based on the elasticity information Z1 and the viscosity information Y1, thereby performing admittance control similar to that in the case where the stiffness parameter K2 and the viscosity parameter D2 are set based on the elasticity information Z1 and the viscosity information Y1. In this case, the control signal a29 generated by the fourth controller 204 when the third controller 203 corrects the position change amount a25 based on the elasticity information Z1 and the viscosity information Y1 will be the same as the control signal a29 generated by the fourth controller 204 when the converter 208 sets the stiffness parameter K2 and the viscosity parameter D2 based on the elasticity information Z1 and the viscosity information Y1.

[0174] 12 , the conversion unit 208 may calculate the position change amount a25 using the initial values ​​of the stiffness parameter K2 and the viscosity parameter D2, and the correction unit 210 may correct the detected force value a1 based on the elasticity information Z1 and the viscosity information Y1, thereby performing admittance control similar to that in the case where the stiffness parameter K2 and the viscosity parameter D2 are set based on the elasticity information Z1 and the viscosity information Y1. In this case, the control signal a29 generated by the fourth controller 204 when the correction unit 210 corrects the detected force value a1 based on the elasticity information Z1 and the viscosity information Y1 will be the same as the control signal a29 generated by the fourth controller 204 when the conversion unit 208 sets the stiffness parameter K2 and the viscosity parameter D2 based on the elasticity information Z1 and the viscosity information Y1.

[0175] If the gripping unit 51 does not include the protective member 53, the elasticity information Z1 acquired by the acquiring unit 150 will be information corresponding to the elasticity of only the object 8 and the finger portions 52 among the object 8, the protective member 53, and the finger portions 52. Furthermore, the viscosity information Y1 acquired by the acquiring unit 150 will be information corresponding to the viscosity of only the object 8 and the finger portions 52 among the object 8, the protective member 53, and the finger portions 52.

[0176] 13, step s60 may not be executed and viscosity information Y1 may not be calculated. Also, in the example of Fig. 13, step s59 may not be executed and elasticity information Z1 may not be calculated. In this case, in step s60, the calculation unit 152 may, for example, divide the maximum value max by a value obtained by multiplying a predetermined value d3 by the time t1, and use the value obtained thereby as viscosity information Y1.

[0177] In the above example, the position acquisition unit 106 determines the motor rotation position based on the detection signal a3, but it may also determine the positions of the two finger units 52 based on the detection signal a3. For example, the position acquisition unit 106 may determine the finger spacing as the positions of the two finger units 52. In this case, the position detection value a2 is the finger spacing. The unit of the position detection value a2 may be mm (millimeters), cm (centimeters), or m (meters).

[0178] Furthermore, in the above example, elasticity information and viscosity information are acquired in the control of the end effector 5 , but elasticity information and viscosity information may be acquired in the control of the arm 4 .

[0179] 15, consider a case in which the robot 3 performs a task of inserting a rod-shaped object 8a gripped by the gripper 51 into a hole 8bb in the top surface of a plate-shaped object 8b by moving the arm 4. The robot 3 inserts the object 8a into the hole 8bb while pressing it against the top surface of the object 8b.

[0180] 14 , the control device 2 functions similarly to the robot control unit 100 and acquisition unit 150 described above to control the arm 4. In the example of FIG. 14 , the first sensor 54 is capable of detecting a force applied to the end effector 5. The unit of the force detection value output by the first sensor 54 may be N (Newton) or Nm (Newton-meter). The first sensor 54 may be located, for example, between the end effector 5 and the arm 4.

[0181] The control device 2 determines, for example, the position of the tip of the end effector 5 connected to the arm 4 based on a detection signal output by an encoder that detects the rotational position of a motor that rotates the joint of the arm 4. Then, the control device 2 generates a position detection value that indicates the determined position of the tip of the end effector 5. Since the position of the tip of the end effector 5 changes depending on the position (in other words, the posture) of the arm 4, it can also be said that the position detection value indicates the position of the arm 4.

[0182] The control device 2 can acquire elasticity information corresponding to the elasticity of the objects 8a and 8b based on the position detection value and the force detection value output by the first sensor, similarly to the acquisition unit 150. The control device 2 may acquire elasticity information, for example, in a manner similar to the example of FIG. 10 described above. In this case, the control device 2 acquires the position detection value when the object 8a contacts the upper surface of the object 8b as the contact position detection value. The control device 2 also acquires the position detection value when the force detection value stabilizes after pressing the object 8a against the object 8b (in other words, the position detection value when the force detection value converges) as the stable position detection value. The control device 2 also acquires the value when the force detection value stabilizes, i.e., the convergence value of the force detection value, as the stable force detection value. When the object 8a is pressed against the object 8b, the objects 8a and 8b elastically deform. Then, the control device 2, for example, divides the stable force detection value by the value obtained by subtracting the contact position detection value from the stable position detection value, and uses the result as elasticity information corresponding to the elasticity of the objects 8a and 8b.

[0183] The control device 2 may also acquire elasticity information and viscosity information in a manner similar to the example of FIG. 13 described above. In this case, when the object 8a contacts the object 8b, the control device 2 controls the arm 4 to move the position of the tip of the end effector 5 by a predetermined value (also referred to as a predetermined distance) so as to press the object 8a against the object 8b. This predetermined value indicates the amount of deformation of the object 8a and the object 8b. The control device 2 also acquires time-series data of the force detection values ​​after the object 8a contacts the object 8b. The control device 2 then acquires the elasticity information and viscosity information based on the predetermined value by which the tip of the end effector 5 is moved and the acquired time-series data, in a manner similar to when the acquisition unit 150 acquires the elasticity information and viscosity information based on the predetermined value d3 and the time-series data of the force detection value a1.

[0184] In addition, when the robot 3 controls the arm 4 to use one object held by the end effector 5 to remove burrs (in other words, protrusions) that have occurred on another object or to polish the other object, the control device 2 may acquire elasticity information and viscosity information and control the arm 4 based on the acquired elasticity information and viscosity information.

[0185] As described above, the processing device 1 of the robot system 9 of the present disclosure has an acquisition unit 150 that acquires characteristic information about the object 8 based on first position information indicating the position of the contact portion (e.g., the holding unit 51) in a contact state in which the contact portion is in contact with the object 8, second position information indicating the position of the contact portion in a pressurized state in which the contact portion pressurizes the object from the contact state, and external force information indicating the external force acting on the robot 3 in the pressurized state.

[0186] In other words, the processing device 1 of the present disclosure includes a control unit 10 that controls a robot 3 having a contact unit (e.g., a holding unit 51) that applies pressure to and deforms an object 8, and the control unit 10 includes an acquisition unit 150 that acquires characteristic information about the object 8 based on the degree of deformation of the object 8 (e.g., a difference value d2 or a predetermined value d3) and the external force acting on the robot 3 when the object 8 is deformed.

[0187] As described above, the robot system, processing device, and control device have been described in detail, but the descriptions in this specification are illustrative in all aspects and the disclosure is not limited thereto. Furthermore, various examples in this specification can be applied in combination unless they are mutually inconsistent. It is understood that countless examples not illustrated can be envisioned without departing from the scope of this disclosure.

[0188] For example, in the robot system 9, the processing device 1 and the control device 2 may be configured as a single control device. Furthermore, at least some of the functions of the control unit 10 of the processing device 1 may be realized by the control device 2. For example, the control device 2 may control the gripping mechanism 50 instead of the processing device 1. In this case, the control device 2 may receive elasticity information and viscosity information from the processing device 1 and control the gripping mechanism 50 based on the received elasticity information and viscosity information. Furthermore, at least one of the processing device 1 and the control device 2 may control the robot 3 via a network including the Internet or the like. In this case, at least one of the processing device 1 and the control device 2 may be configured as, for example, a cloud server. The cloud server may be realized by multiple computer devices. Furthermore, the robot system 9 may include, in addition to the processing device 1 and the control device 2, a second control device having a robot control unit that controls the gripping mechanism 50, like the robot control unit 100. The second control device may be a cloud server.

[0189] For example, although the above description has been given taking the holding portion 51 as an example of the contact portion that comes into contact with the object 8, the contact portion does not have to be the holding portion 51. For example, the contact portion may be a rod-shaped member provided on the end effector 5 separately from the holding portion 51, or may be a rod-shaped member provided on the arm 4 separately from the end effector 5.

[0190] For example, in the above description, an example has been described in which at least one of elasticity information corresponding to the elasticity of the object 8 and viscosity information corresponding to the viscosity of the object 8 is acquired as the characteristic information. However, the characteristic information is not limited to these. For example, the control unit 10 may acquire material information indicating the material of the object 8 as the characteristic information. The material of the object 8 refers to, for example, the material constituting the object 8, such as metal, plastic, or food. In this case, for example, the control unit 10 has an AI (artificial intelligence) model, such as a neural network, in which the relationship between the first position information, second position information, and external force information and the material information is learned by machine learning. The control unit 10 may then input the acquired first position information, second position information, and external force information into the AI ​​model, and use the material information output from the AI ​​model in response to the input as the characteristic information regarding the object 8.

[0191] For example, in the above example, the processing device 1 acquires characteristic information based on the first position information, the second position information, and the external force information, and controls the robot 3 based on the acquired characteristic information. However, the method of controlling the robot 3 is not limited to this. For example, the control unit 10 may control the robot 3 based on the first position information, the second position information, and the external force information without acquiring characteristic information. In this case, for example, the memory unit 11 stores correspondence information indicating a correspondence between the first position information, the second position information, and the external force information and the control information of the robot 3 associated therewith. The control unit 10 acquires control information for the robot 3 corresponding to the acquired first position information, the second position information, and the external force information from the correspondence information stored in the memory unit 11. Then, the control unit 10 may control the robot 3 based on the acquired control information.

[0192] Furthermore, since the contact area of ​​the holding unit 51 with the object 8 increases as the finger spacing of the holding unit 51 narrows, the control unit 10 may use, instead of the first position information, the contact area of ​​the holding unit 51 with the object 8 in a contact state in which the holding unit 51 is in contact with the object 8 (also referred to as the first contact area), and may use, instead of the second position information, the contact area of ​​the holding unit 51 with the object 8 in a pressurized state in which the holding unit 51 pressurizes the object 8 (also referred to as the second contact area) to obtain the characteristic information. In this case, for example, the end effector 5 may be provided with a touch sensor that detects contact of the object 8 with the protective member 53, and the control unit 10 may obtain the first contact area and the second contact area based on a detection signal from the touch sensor.

[0193] The control unit 10 may also store characteristic information about the object 8 and the type of the object 8 in the storage unit 11 in association with each other. In this case, for example, the control unit 10 performs object recognition to identify the type of the object 8. The control unit 10 may perform object recognition using, for example, machine learning. The control unit 10 then associates the type of the object 8 identified by object recognition with the acquired characteristic information about the object 8 and stores them in the storage unit 11. After that, the control unit 10 performs object recognition to identify the type of the object 8, and checks whether characteristic information corresponding to the identified type is stored in the storage unit 11. If characteristic information corresponding to the identified type is stored in the storage unit 11, the control unit 10 controls the robot 3 based on the characteristic information. On the other hand, if characteristic information corresponding to the identified type is not stored in the storage unit 11, the control unit 10 acquires characteristic information about the object 8. The control unit 10 then controls the robot 3 based on the acquired characteristic information. The control unit 10 also associates the identified type of the object 8 with the acquired characteristic information about the object 8 and stores them in the storage unit 11. Thereafter, the control unit 10 operates in the same manner.

[0194] The control unit 10 may also acquire the characteristic information each time the gripping mechanism 50, the holding unit 51, or the contact unit is replaced or changed. Furthermore, even if the characteristic information regarding the target object 8 is stored, the control unit 10 may acquire the characteristic information each time the gripping mechanism 50 or the like is replaced or changed.

[0195] Furthermore, the control unit 10 may identify soft portions and hard portions of the object 8 based on the acquired identification information about the object 8. In this case, for example, the control unit 10 causes the holding unit 51 to execute a holding process in which the holding unit 51 holds the object 8 multiple times before an operation is performed on the object 8. At this time, the control unit 10 changes the location on the object 8 held by the holding unit 51 between the multiple holding processes. The control unit 10 acquires elasticity information about the object 8 each time a holding process is performed. Then, the control unit 10 determines, among the locations of the object 8 held by the holding unit 51 in the multiple holding processes, locations where the value indicated by the elasticity information acquired when the holding unit 51 held the location is greater than a first threshold value as hard portions of the object 8. On the other hand, the control unit 10 determines, among the locations of the object 8 held by the holding unit 51 in the multiple holding processes, locations where the value indicated by the elasticity information acquired when the holding unit 51 held the location is smaller than a second threshold value as soft portions of the object 8. The second threshold value is, for example, a value smaller than the first threshold value. When causing the robot 3 to perform a task, the control unit 10 may cause the holding unit 51 to hold a hard portion of the identified object 8 .

[0196] Furthermore, the control unit 10 may detect the stable position based on the amount of displacement of the object in the direction of gravity when the object is lifted slightly while slightly changing the gripping force, for example.

[0197] Furthermore, in the above example, the amount of change of the finger is obtained by the subtractor 103a, but the amount of change of the finger may also be determined, for example, from an image captured by a camera.

[0198] This disclosure includes the following:

[0199] In one embodiment, (1) the processing device has a holding unit capable of holding an object and includes a control unit that controls a robot capable of performing a predetermined task on the object, and the control unit has an acquisition unit that acquires characteristic information including at least one of elasticity information corresponding to the elasticity of the object and viscosity information corresponding to the viscosity of the object based on first position information indicating the position of the holding unit in a contact state in which the holding unit is in contact with the object, second position information indicating the position of the holding unit in a pressurized state in which the holding unit pressurizes the object from the contact state, and external force information indicating the external force acting on the holding unit in the pressurized state.

[0200] (2) The processing device has a holding unit capable of holding an object and a control unit that controls a robot that can perform a specified task on the object, and the control unit has an acquisition unit that acquires characteristic information including at least one of elasticity information corresponding to the elasticity of the object and viscosity information corresponding to the viscosity of the object based on change amount information that indicates the amount of change in the position of the holding unit when the holding unit changes from a contact state in which it is in contact with the object to a pressure state in which it pressurizes the object, and external force information that indicates the external force acting on the holding unit in the pressure state.

[0201] (3) In the processing device of (1) or (2) above, the control unit controls the holding unit based on the characteristic information.

[0202] (4) A processing device according to any one of (1) to (3) above, wherein the elasticity information is information corresponding to the elasticity of the object and the holding part, and the viscosity information is information corresponding to the viscosity of the object and the holding part.

[0203] (5) In the processing device of (3) above, the control unit calculates the required change in the position of the holding unit based on the deviation between the target value of the external force and the first detection value of the external force and the characteristic information, and changes the position of the holding unit based on the required change and the second detection value of the position of the holding unit.

[0204] (6) In the processing device of (3) above, the control unit corrects the first detection value of the external force based on the characteristic information, and changes the position of the holding part based on the corrected first detection value and a second detection value of the position of the holding part.

[0205] (7) In the processing device of (3) above, the control unit controls the holding unit so that the first detection value of the external force approaches a target value, and changes the target value based on the amount of change in the second detection value of the position of the holding unit and the characteristic information.

[0206] (8) In the processing device of (3) above, the control unit controls the holding unit so that the first detection value of the external force approaches a target value, changes the target value based on the amount of change in the second detection value of the position of the holding unit, corrects the deviation between the target value and the first detection value after the change based on the characteristic information, and changes the position of the holding unit based on the deviation after the correction.

[0207] (9) In the processing device of (3) above, the control unit controls the holding unit so that the first detection value of the external force approaches a target value, changes the target value based on the amount of change in the second detection value of the position of the holding unit, corrects the first detection value based on the characteristic information, and changes the position of the holding unit based on the deviation between the target value after the change and the first detection value after the correction.

[0208] (10) The end effector includes the holding unit controlled by any one of the processing devices (3) and (5) to (9) above.

[0209] (11) The program is a program for causing a computer device to function as the processing device described in any one of (1) to (9) above.

[0210] (12) The processing device includes a control unit that controls a robot having a contact part that applies pressure to and deforms an object, and the control unit controls the robot based on characteristic information about the object obtained from the degree of deformation of the object and the external force acting on the robot when the object is deformed.

[0211] (13) The processing device has a holding unit capable of holding an object and a control unit that controls a robot capable of performing a specified task on the object, and the control unit acquires at least one of elasticity information corresponding to the elasticity of the object and the holding unit and viscosity information corresponding to the viscosity of the object and the holding unit, and controls the robot based on the acquired at least one of the pieces of information.

[0212] REFERENCE SIGNS LIST 1 Processing device 2 Control device (processing device) 3 Robot 8, 8a, 8b Object 11a Program 52 Finger portion 100, 100A, 100B Robot control unit 150 Acquisition unit a1 First detected value (force detected value) a2 Second detected value (position detected value)

Claims

1. A processing device comprising a holding unit capable of holding an object and a control unit for controlling a robot capable of performing a specified task on the object, wherein the control unit has an acquisition unit for acquiring characteristic information including at least one of elasticity information corresponding to the elasticity of the object and viscosity information corresponding to the viscosity of the object based on first position information indicating the position of the holding unit in a contact state in which the holding unit is in contact with the object, second position information indicating the position of the holding unit in a pressurized state in which the holding unit pressurizes the object from the contact state, and external force information indicating the external force acting on the holding unit in the pressurized state.

2. A processing device comprising a holding unit capable of holding an object and a control unit for controlling a robot capable of performing a specified task on the object, wherein the control unit has an acquisition unit for acquiring characteristic information including at least one of elasticity information corresponding to the elasticity of the object and viscosity information corresponding to the viscosity of the object, based on change amount information indicating the amount of change in position of the holding unit when the holding unit changes from a contact state in which it is in contact with the object to a pressurized state in which the holding unit pressurizes the object, and external force information indicating the external force acting on the holding unit in the pressurized state.

3. A processing device according to claim 1 or 2, wherein the control unit controls the holding unit based on the characteristic information.

4. A processing device according to any one of claims 1 to 3, wherein the elasticity information is information corresponding to the elasticity of the object and the holding part, and the viscosity information is information corresponding to the viscosity of the object and the holding part.

5. A processing device as described in claim 3, wherein the control unit determines a required amount of change in the position of the holding part based on the deviation between the target value of the external force and the first detection value of the external force and the characteristic information, and changes the position of the holding part based on the required amount of change and the second detection value of the position of the holding part.

6. A processing device according to claim 3, wherein the control unit corrects a first detection value of the external force based on the characteristic information, and changes the position of the holding part based on the corrected first detection value and a second detection value of the position of the holding part.

7. A processing device according to claim 3, wherein the control unit controls the holding unit so that the first detection value of the external force approaches a target value, and changes the target value based on the amount of change in the second detection value of the position of the holding unit and the characteristic information.

8. A processing device according to claim 3, wherein the control unit controls the holding unit so that a first detection value of the external force approaches a target value, changes the target value based on an amount of change in a second detection value of the position of the holding unit, corrects the deviation between the target value and the first detection value after the change based on the characteristic information, and changes the position of the holding unit based on the deviation after the correction.

9. A processing device as described in claim 3, wherein the control unit controls the holding unit so that the first detection value of the external force approaches a target value, changes the target value based on an amount of change in the second detection value of the position of the holding unit, corrects the first detection value based on the characteristic information, and changes the position of the holding unit based on a deviation between the target value after the change and the first detection value after the correction.

10. An end effector having the holding portion controlled by the processing device according to any one of claims 3 and 5 to 9.

11. A program for causing a computer device to function as the processing device according to any one of claims 1 to 9.

12. A processing device comprising a control unit that controls a robot having a contact unit that applies pressure to an object and deforms it, wherein the control unit controls the robot based on characteristic information about the object obtained from the degree of deformation of the object and the external force acting on the robot when the object is deformed.

13. A treatment device having a holding part capable of holding an object and comprising a control part for controlling a robot capable of performing a specified task on the object, wherein the control part acquires at least one of elasticity information corresponding to the elasticity of the object and the holding part and viscosity information corresponding to the viscosity of the object and the holding part, and controls the robot based on the acquired at least one of the pieces of information.

Citation Information

Patent Citations

  • Robot control device, robot system, robot, robot control method, and program

    JP2015074063A

  • Robot control device, robot control method, robot system and computer program

    JP2017177294A

  • Hold control method, program, and holding system

    JP2021171879A