CONTROL DEVICE, ROBOT CONTROL SYSTEM, PROGRAM, AND CONTROL METHOD

The control device determines workpiece type by calculating the center of gravity using a force sensor, addressing complexity and cost issues in systems with multiple workpiece types, ensuring accurate identification and reducing sensor requirements.

JP7615606B2Active Publication Date: 2025-01-17SINTOKOGIO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2020176894
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2020-10-21
Publication Date
2025-01-17
Estimated Expiration
2040-10-21

AI Technical Summary

Technical Problem

Existing workpiece discrimination systems become complex and costly as the number of workpiece types increases, due to the need for additional proximity sensors and increased wiring, maintenance, and management costs.

Method used

A control device and method that uses a robot with a force sensor to calculate the position of the workpiece's center of gravity, determining the type based on this position without requiring additional sensors, even as the number of workpiece types grows.

Benefits of technology

Enables accurate workpiece type determination without complicating the system configuration, reducing the need for additional sensors and simplifying maintenance, while also allowing for weight measurement and notification of abnormalities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007615606000001
    Figure 0007615606000001
  • Figure 0007615606000002
    Figure 0007615606000002
  • Figure 0007615606000003
    Figure 0007615606000003
Patent Text Reader

Abstract

To provide a robot control system with a simple configuration capable of determining types of workpieces regardless of the number of types of workpieces.SOLUTION: A robot (30) comprises: a hand portion (33) fixed to an arm portion (32) via a force sensor (34). One or more processors included in a control device (10) calculate a position of a center of gravity of a workpiece (90) held by the hand portion (33) or a position of a center of gravity of a system consisting of the workpiece (90) and the hand portion (33) on the basis of detected values of the force sensor (34), and determine a type of the workpiece (90) with reference to the calculated position of the center of gravity.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a technique for determining the type of a workpiece. [Background technology]

[0002] There are known techniques for identifying the type of workpiece. For example, Patent Document 1 describes a device that identifies the type of workpiece using multiple proximity switches. This device detects workpiece type identification dogs that are screwed into the workpiece in an arrangement pattern according to the type, using proximity switches arranged at positions opposite to the screw-in positions of each dog. This device then identifies the type of workpiece according to the combination of proximity switches that are turned on. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 02-9553 Summary of the Invention [Problem to be solved by the invention]

[0004] In the technology described in Patent Document 1, when the number of types of workpieces increases, the number of screw-in positions of the dogs increases to increase the number of arrangement patterns, and the number of proximity sensors required for discrimination increases. In this case, there is a problem that the wiring becomes complicated. There is also a problem that the cost of maintenance and management is high.

[0005] An aspect of the present invention aims to realize a technology for identifying the type of workpiece without complicating the configuration even when the number of types of workpieces increases. [Means for solving the problem]

[0006] In order to solve the above problems, a control device according to an embodiment of the present invention is a control device for controlling a robot, and includes one or more processors. The one or more processors execute a calculation process and a determination process. Also, a control method according to an embodiment of the present invention is a control method in which the one or more processors control a robot, and includes a calculation step and a determination step.

[0007] The robot includes an arm, a force sensor, and a hand fixed to the arm via the force sensor. In a calculation process (calculation step), the one or more processors calculate the position of the center of gravity of a workpiece held by the hand, or the position of the center of gravity of a system consisting of the workpiece and the hand, based on a detection value of the force sensor. In a discrimination process (discrimination step), the one or more processors discriminate the type of the workpiece by referring to the position of the center of gravity. Effect of the Invention

[0008] According to one aspect of the present invention, the type of workpiece is identified according to the position of the center of gravity of the workpiece, so that the type of workpiece can be identified without complicating the configuration even if the number of types of workpieces increases. [Brief description of the drawings]

[0009] [Figure 1] 1 is a schematic diagram showing a configuration of a robot control system according to an embodiment of the present invention; [Diagram 2] 1 is a block diagram showing a configuration of a robot control system according to an embodiment of the present invention. [Diagram 3] 3A to 3C are schematic diagrams showing specific examples of detection values ​​and connection forms of force sensors in one embodiment of the present invention. [Figure 4] 4 is a flowchart showing the flow of a control method according to one embodiment of the present invention. [Diagram 5] 5A to 5C are schematic diagrams illustrating a specific example of a calculation process according to an embodiment of the present invention. [Figure 6]FIG. 4 is a diagram illustrating an example of a type database according to an embodiment of the present invention. [Figure 7] FIG. 2 is a schematic diagram showing a state of a workpiece used in an embodiment of the present invention as viewed from above. [Figure 8] FIG. 2 is a schematic diagram showing a state in which a workpiece used in an embodiment of the present invention is viewed from below. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] [Embodiment] A robot control system 1 according to an embodiment of the present invention will be described in detail below.

[0011] <Overview of Robot Control System 1> The robot control system 1 is a system that controls a robot and determines the type of workpiece grasped by the robot. Here, the determination target is any one of multiple types of workpieces. In other words, the robot control system 1 determines which of multiple types the type of workpiece grasped by the robot is.

[0012] The robot to be controlled includes an arm, a force sensor, and a hand fixed to the arm via the force sensor. The robot control system 1 calculates the position of the center of gravity of a workpiece held by the hand, or the position of the center of gravity of a system consisting of the workpiece and the hand, based on the detection value of the force sensor, and identifies the type of the workpiece by referring to the calculated position of the center of gravity.

[0013] In such a robot control system 1, since the type of workpiece is identified according to the position of the center of gravity of the workpiece, even if the number of types of workpieces increases, there is no need to increase the number of force sensors required for identification. As a result, even if the number of types of workpieces increases, the robot control system 1 can identify the type of workpiece without complicating the configuration.

[0014] <Configuration of robot control system 1> The configuration of the robot control system 1 will be described with reference to Figures 1 and 2. Figure 1 is a schematic diagram showing the configuration of the robot control system 1. Figure 2 is a block diagram showing the configuration of the robot control system 1.

[0015] 1 and 2, the robot control system 1 includes a dedicated controller 10, a robot controller 20, and a robot 30. The robot control system 1 is a system that determines the type of a workpiece 90 gripped by the robot 30. The dedicated controller 10 is an example of a control device in the present invention.

[0016] (Configuration of Robot 30) The robot 30 includes a base 31, an arm unit 32, a hand unit 33, and a force sensor .

[0017] The base 31 is placed on a placement surface of the robot 30. The placement surface is, for example, a floor or the like, but is not limited to this. The base 31 may be movable on the placement surface based on the control of the robot controller 20.

[0018] The arm unit 32 includes four arms. The base end of each arm is connected to the tip end of the other arm or to the base 31 so as to be rotatable around a determined axis. Based on the control of the robot controller 20, the rotation of each arm is controlled at the connection portion, thereby controlling the trajectory of the tip end of the entire arm unit 32.

[0019] The hand unit 33 is fixed to the arm unit 32 via a force sensor 34. The hand unit 33 includes a base unit 331 and a pair of fingers 332a, 332b connected to the base unit 331. The hand unit 33 performs an opening operation to move the fingers 332a, 332b away from each other and a closing operation to move the fingers 332a, 332b closer to each other, based on the control of the robot controller 20. The hand unit 33 grips the workpiece 90 by opening and closing the fingers 332a, 332b. Hereinafter, opening and closing the fingers 332a, 332b will also be described as opening and closing the hand unit 33.

[0020] The force sensor 34 detects the direction and magnitude of the force and moment acting on itself. The detection value of the force sensor 34 will be described with reference to FIG. 3. FIG. 3 is a schematic diagram for explaining a specific example of the detection value and connection form of the force sensor 34. As shown in FIG. 3, the force sensor 34 is a six-axis force sensor that detects the magnitude (Fx, Fy, Fz) of the force acting in each direction of three axes (x-axis, y-axis, z-axis) and the magnitude (Mx, My, Mz) of the moment around each axis. Hereinafter, Fx, Fy, Fz, Mx, My, Mz will also be referred to as force components or simply as detection values.

[0021] 3, the force sensor 34 has a surface 341 and a surface 342. The force sensor 34 also has a strain body (not shown) that connects a member having the surface 341 and a member having the surface 342. The force sensor 34 calculates the values ​​of each component of the force acting on itself by detecting the deformation of the internal strain body.

[0022] An example of a connection form in which "the hand unit 33 is fixed to the arm unit 32 via the force sensor 34" will be described with reference to Fig. 3. As shown in Fig. 3, a tip 321 of the entire arm unit 32 is fixed to a surface 342 of the force sensor 34. A base 331 of the hand unit 33 is fixed to a surface 341 of the force sensor 34. As a result, when an external force is applied to the workpiece 90 while the hand unit 33 is gripping the workpiece 90, the external force is also applied to the force sensor 34. Therefore, when an external force is applied to the workpiece 90, the force sensor 34 detects the values ​​of each component of the force acting on itself.

[0023] (Configuration of robot controller 20) The robot controller 20 is a device that controls the overall operation of the robot 30. As shown in Fig. 2, the robot controller 20 includes a processor 21, a primary memory 22, a secondary memory 23, a communication interface (IF) 24, and an input / output interface (IF) 25. The processor 21, the primary memory 22, the secondary memory 23, the communication interface 24, and the input / output interface 25 are connected to each other via a bus.

[0024] A program P2 is stored in the secondary memory 23. The program P2 is a program for causing the processor 21 to execute processing for controlling the overall movement of the robot 30. The processor 21 loads the program P2 stored in the secondary memory 23 onto the primary memory 22. The processor 21 then executes processing for controlling the overall movement of the robot 30 in accordance with instructions contained in the program P2 loaded onto the primary memory 22. The processing for controlling the overall movement of the robot 30 will be described in detail later.

[0025] Examples of devices that can be used as the processor 21 include a central processing unit (CPU), a graphic processing unit (GPU), a digital signal processor (DSP), a micro processing unit (MPU), a floating point number processing unit (FPU), a physics processing unit (PPU), a microcontroller, or a combination of these. The processor 21 is also called a "computing device."

[0026] Moreover, examples of devices that can be used as the primary memory 22 include, for example, semiconductor RAM (Random Access Memory). The primary memory 22 is sometimes called a "main memory". Examples of devices that can be used as the secondary memory 23 include, for example, flash memory, HDD (Hard Disk Drive), SSD (Solid State Drive), ODD (Optical Disk Drive), FDD (Floppy (registered trademark) Disk Drive), or a combination of these. The secondary memory 23 is sometimes called an "auxiliary memory". The secondary memory 23 may be built in the robot controller 20, or may be built in another computer (for example, a computer constituting a cloud server) connected to the robot controller 20 via the communication interface 24. In this embodiment, the storage in the robot controller 20 is realized by two memories (the primary memory 22 and the secondary memory 23), but is not limited to this. That is, the storage in the robot controller 20 may be realized by one memory. In this case, for example, one storage area of ​​the memory may be used as the primary memory 22 and another storage area of ​​the memory may be used as the secondary memory 23.

[0027] The communication interface 24 is an interface for communicating with the dedicated controller 10. Specific examples of the communication interface 24 include interfaces such as USB (Universal Serial Bus), ATA (Advanced Technology Attachment), SCSI (Small Computer System Interface), and PCI (Peripheral Component Interconnect). Other specific examples of the communication interface 24 include interfaces such as Ethernet (registered trademark), Wi-Fi (registered trademark), and serial communication systems. Specific examples of a network system connecting the communication interface 24 and a communication interface 14 described later include a PAN (Personal Area Network), a LAN (Local Area Network), a CAN (Campus Area Network), a MAN (Metropolitan Area Network), a WAN (Wide Area Network), a GAN (Global Area Network), or an internetwork including these networks. The internetwork may be an intranet, an extranet, or the Internet. The dedicated controller 10 may be connected to an input / output interface 25.

[0028] The arm unit 32 and the hand unit 33 are connected to the input / output interface 25 via their respective drive units (not shown). Examples of the input / output interface 25 include interfaces such as Universal Serial Bus (USB), Advanced Technology Attachment (ATA), Small Computer System Interface (SCSI), and Peripheral Component Interconnect (PCI). Examples of the input / output interface 25 include interfaces such as serial communication, Ethernet, DeviceNet, CC-Link, PROFIBUS, EtherNet / IP, and EtherCat (Ethernet for Control Automation Technology). One or both of the arm unit 32 and the hand unit 33 may be connected to the communication interface 24 via a drive unit.

[0029] (Processing for controlling the overall operation of the robot 30) The process in which the robot controller 20 controls the operation of the entire robot 30 includes a movement control process, a grip control process, and a grip force control process. The movement control process is a process for moving the tip 321 of the entire arm unit 32. When the tip 321 moves, the hand unit 33 fixed to the tip 321 via the force sensor 34 also moves. Hereinafter, moving the tip 321 is also described as moving the hand unit 33. The processor 21 moves the hand unit 33 by transmitting control information to a drive unit that drives each connecting portion of the arm unit 32. The processor 21 may move the hand unit 33 to a position indicated by information received from outside. The processor 21 may also move the hand unit 33 in a direction indicated by information received from outside.

[0030] The gripping control process is a process for causing the hand unit 33 to grip the workpiece 90. The processor 21 performs the gripping control process by combining a lifting process for lifting and lowering the tip 321 of the arm unit 32 and an opening and closing process for opening and closing the hand unit 33. The processor 21 performs the lifting process by transmitting control information to a drive unit that drives each connecting portion of the arm unit 32. The processor 21 also performs the opening and closing process by transmitting control information to a drive unit that drives the finger units 332a and 332b.

[0031] The gripping force control process is a process for controlling the gripping force of the hand unit 33. The processor 21 performs the gripping force control process by transmitting control information to a drive unit that drives the finger units 332a and 332b.

[0032] (Configuration of dedicated controller 10) The dedicated controller 10 is a device that executes each process for determining the type of the workpiece 90. The dedicated controller 10 calculates the position of the center of gravity of the workpiece 90 held by the hand unit 33, or the position of the center of gravity of a system consisting of the workpiece 90 and the hand unit 33, based on the detection value of the force sensor 34. The dedicated controller 10 also determines the type of the workpiece 90 by referring to the calculated position of the center of gravity.

[0033] 2, the dedicated controller 10 includes a processor 11, a primary memory 12, a secondary memory 13, a communication interface 14, and an input / output interface 15. The processor 11, the primary memory 12, the secondary memory 13, the communication interface 14, and the input / output interface 15 are connected to each other via a bus.

[0034] The secondary memory 13 stores a program P1 and a type database (DB). The program P1 is a program for causing the processor 11 to execute a control method S, which will be described later. The processor 11 loads the program P1 stored in the secondary memory 13 onto the primary memory 12. The processor 11 then executes each step included in the control method S according to instructions included in the program P1 loaded onto the primary memory 12. The type database DB is information referenced by the processor 11 executing the control method S. Details of the type database will be described later.

[0035] Examples of devices that can be used as the processor 11 include a central processing unit (CPU), a graphic processing unit (GPU), a digital signal processor (DSP), a micro processing unit (MPU), a floating point number processing unit (FPU), a physics processing unit (PPU), a microcontroller, or a combination of these. The processor 11 is also called a "computing device."

[0036] Moreover, examples of devices that can be used as the primary memory 12 include, for example, semiconductor RAM (Random Access Memory). The primary memory 12 is sometimes called a "main memory device." Examples of devices that can be used as the secondary memory 13 include, for example, flash memory, HDD (Hard Disk Drive), SSD (Solid State Drive), ODD (Optical Disk Drive), FDD (Floppy (registered trademark) Disk Drive), or a combination of these. The secondary memory 13 is sometimes called an "auxiliary memory device." The secondary memory 13 may be built in the dedicated controller 10, or may be built in another computer (for example, the robot controller 20, or a computer constituting a cloud server) connected to the dedicated controller 10 via the communication interface 14 or the input / output interface 15. In this embodiment, the storage in the dedicated controller 10 is realized by two memories (the primary memory 12 and the secondary memory 13), but is not limited to this. That is, the storage in the dedicated controller 10 may be realized by one memory. In this case, for example, one storage area of ​​the memory may be used as the primary memory 12 and another storage area of ​​the memory may be used as the secondary memory 13.

[0037] The communication interface 14 is an interface for communicating with the robot controller 20. Specific examples of the communication interface 14 include interfaces such as USB (Universal Serial Bus), ATA (Advanced Technology Attachment), SCSI (Small Computer System Interface), and PCI (Peripheral Component Interconnect). Other specific examples of the communication interface 14 include interfaces such as Ethernet (registered trademark), Wi-Fi (registered trademark), and serial communication systems. As described above, specific examples of a network system that connects the communication interface 14 and the communication interface 24 include a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), a global area network (GAN), or an internetwork including these networks. The internetwork may be an intranet, an extranet, or the Internet. The robot controller 20 may be connected to the input / output interface 15.

[0038] A force sensor 34 is connected to the input / output interface 15. Examples of the input / output interface 15 include interfaces such as Universal Serial Bus (USB), Advanced Technology Attachment (ATA), Small Computer System Interface (SCSI), and Peripheral Component Interconnect (PCI). Examples of the input / output interface 15 include interfaces such as serial communication, Ethernet (registered trademark), USB, A / D converter, and Ethernet for Control Automation Technology (EtherCat). The force sensor 34 may be connected to the communication interface 14 or the input / output interface 25.

[0039] <Flow of control method S> A control method S executed by the processor 11 in the robot control system 1 will be described with reference to Fig. 4. Fig. 4 is a flowchart showing the flow of the control method S. As shown in Fig. 4, the control method S includes steps S101 to S110.

[0040] (Step S101) In step S101, the processor 11 moves the hand unit 33 to a gripping position of the workpiece 90. The gripping position is determined in advance. For example, the gripping position is above the arrangement position of the workpiece 90 before gripping.

[0041] Specifically, the processor 11 transmits information indicating the gripping position to the robot controller 20 and requests the robot controller 20 to perform movement control processing to that position. When the processor 21 of the robot controller 20 receives the request for movement control processing, the processor 21 moves the hand unit 33 to the gripping position.

[0042] (Step S102) In step S102, the processor 11 resets the force sensor 34. The force sensor 34 outputs zero as each detection value in the state at the time of reset.

[0043] (Step S103) In step S103, the processor 11 causes the hand unit 33 to grip the workpiece 90. Specifically, the processor 11 requests the robot controller 20 to perform gripping control processing. When the processor 21 of the robot controller 20 receives the request for gripping control processing, it opens the hand unit 33 and lowers it to the arrangement position of the workpiece 90. Then, the processor 21 closes the hand unit 33 to grip the workpiece 90, and raises it to the original gripping position.

[0044] Here, the portion where the hand unit 33 grips the workpiece 90 is assumed to be substantially the same for all workpieces 90 of the same type. Here, the "portion where the workpiece 90 is gripped" refers to the portion where the finger units 332a, 322b come into contact when gripping the workpiece 90. For example, for the same type of workpiece 90, the placement position before gripping and the above-mentioned gripping position are determined in advance, and the type of workpiece 90 is placed at the placement position with a predetermined part facing a predetermined direction. In this case, if the hand unit 33 descends from the gripping position to the placement position to grip the workpiece 90, the portion where the hand unit 33 grips the workpiece 90 of the same type will be substantially the same.

[0045] Also, in this step, the processor 11 controls the gripping force with which the hand unit 33 grips the workpiece 90 to a predetermined magnitude. The predetermined magnitude may be a set value. The predetermined magnitude may also be the magnitude of the gripping force applied when the same or another workpiece 90 was gripped most recently. The predetermined magnitude may also be a value calculated from the magnitude of the gripping force applied to each of the multiple workpieces 90 gripped in the past.

[0046] When the processing of this step is completed, the workpiece 90 is held and suspended by the hand unit 33. If the workpiece 90 is not suspended, the processor 11 requests the robot controller 20 to perform a movement control process to move (e.g., raise) the hand unit 33 until the workpiece 90 is suspended.

[0047] (Step S104) In step S104, the processor 11 acquires a detection value from the force sensor 34. Since the workpiece 90 is suspended, gravity acts on the workpiece 90. As a result, an external force is also applied to the force sensor 34, and the force sensor 34 detects each component of the force.

[0048] (Step S105) In step S105, the processor 11 calculates the position of the center of gravity and the weight of the workpiece 90 based on the detection value of the force sensor 34. The processing of this step is an example of the calculation processing in the present invention.

[0049] (Specific example of calculation process) A specific example of the calculation process will be described with reference to FIG. 5. FIG. 5 is a schematic diagram for explaining a specific example of the calculation process. The upper part of FIG. 5 is a view of the workpiece 90 and the force sensor 34 held by the hand unit 33 as viewed from the y-axis positive direction. The lower part of FIG. 5 is a view of the workpiece 90 and the force sensor 34 held by the hand unit 33 as viewed from the z-axis negative direction. Note that in FIG. 5, the hand unit 33 is omitted from illustration for the sake of simplicity. The vertical downward direction is the z-axis positive direction. Point O is the point at which the workpiece 90 is fixed to the force sensor 34. Point G is the center of gravity of the workpiece 90. The position of point G is expressed as (x1, y1, z1) in a three-dimensional coordinate system with point O as the origin.

[0050] For example, the processor 11 calculates x1 and y1 using the following equations (1) and (2) based on the detection values ​​when the hand unit 33 is stationary.

[0051] x1=My / Fz (1) y1=Mx / Fz (2) Here, " / " indicates division. Also, the units of Mx and My are "N·m" (Newton meters), and the unit of Fz is "N" (Newton). In this case, the units of x1 and y1 are "m" (meters).

[0052] Furthermore, for example, the processor 11 calculates z1 by the following formula (3) based on the detection value obtained by moving the hand unit 33 in the y-axis direction. Here, when the hand unit 33 is moved in the y-axis direction from a stationary state, a moment about the x-axis is applied to the force sensor 34.

[0053] z1 = ΔMx / (Fz / g) (3) Here, ΔMx represents the amount of displacement from Mx obtained in a stationary state. Also, g represents the acceleration when the hand unit 33 is moved. The unit of ΔMx is "N·m", and the unit of g is "m / s 2 " In this case, the unit of z1 is "m" (meters). Note that z1 can also be calculated by moving the hand unit 33 from a stationary state in the x-axis direction. In this case, a moment about the y-axis is applied to the force sensor 34. Therefore, in this case, the processor 11 can use ΔMy instead of ΔMx in equation (3).

[0054] Also, for example, the processor 11 calculates Fz, among the detection values ​​of the force sensor 34, as the weight as it is.

[0055] Strictly speaking, the position of the center of gravity calculated by the above-mentioned calculation process is the position of the center of gravity and weight of the system consisting of the workpiece 90 and the hand unit 33, and is different from the true position of the center of gravity and the true weight of the workpiece 90. However, if the difference is sufficiently small, the calculated position of the center of gravity and weight can be regarded as the position of the center of gravity and weight of the workpiece 90. Alternatively, even if the difference cannot be ignored, information related to the system consisting of each type of workpiece 90 and the hand unit 33 can be stored in a type database described later.

[0056] (Step S106) In step S106, the processor 11 refers to the calculated position and weight of the center of gravity to determine the type of the workpiece 90. The process of this step is an example of the determination process of the present invention.

[0057] (Specific example of discrimination process) A specific example of the discrimination process will be described with reference to FIG. 6. FIG. 6 is a diagram for explaining an example of a type database. In FIG. 6, the type database stores information indicating the type of workpiece 90, a reference value of the weight of the workpiece 90 of the type, a reference value of the position of the center of gravity, and a magnitude of the gripping force in association with each other. For example, the reference value of the weight of a workpiece 90 of the type "OBJ1" is w1, and the reference value of the position of the center of gravity is (x1, y1, z1). The magnitude of the gripping force suitable for a workpiece 90 of the type "OBJ1" is f1. For example, the reference value of the weight of a workpiece 90 of the type "OBJ2" is w2, and the reference value of the position of the center of gravity is (x2, y2, z2). The magnitude of the gripping force suitable for a workpiece 90 of the type "OBJ2" is f1.

[0058] In this way, the type database stores the reference value of the weight, the reference value of the position of the center of gravity, and the appropriate magnitude of the gripping force for each type OBJi (i=1, 2, ...) of the workpieces 90 to be discriminated. Details of the gripping force will be described later.

[0059] The processor 11 refers to the type database, identifies a type in which the position of the center of gravity and the weight calculated in step S105 are within a predetermined range from their respective reference values, and determines that type as the type of the workpiece 90. Furthermore, if the processor 11 cannot identify a type in which the position of the center of gravity and the weight calculated in step S105 are within a predetermined range from their respective reference values, it determines that the type is not any of the types.

[0060] The reference value of the weight and the reference value of the position of the center of gravity registered in advance in the type database may be values ​​calculated by the processor 11 in the same manner as in step S105 with the reference workpiece 90 held by the hand unit 33. This enables the discrimination process in this step regardless of whether the difference between the position and weight of the center of gravity of the system consisting of the hand unit 33 and the workpiece 90 and the true position and weight of the center of gravity of the workpiece 90 is sufficiently small or not.

[0061] (Step S107) In step S107, the processor 11 determines whether or not the type of the workpiece 90 has been identified. If the determination in step S107 is Yes, the processor 11 executes the processes in the following steps S108 to S109. If the determination in step S107 is No, the processor 11 executes the process in step S110, which will be described later.

[0062] (Step S108) In step S108, the processor 11 adjusts the gripping force of the hand unit 33 to a magnitude corresponding to the type determined by the determination process. The process of this step is an example of the adjustment process of the present invention. Specifically, the processor 11 acquires the magnitude of the gripping force corresponding to the determined type by referring to the type database. The processor 11 also requests a gripping force control process by transmitting the acquired magnitude of the gripping force to the robot controller 20. When the processor 21 of the robot controller 20 receives the request for the gripping force control process, it controls the gripping force of the hand unit 33 to the received magnitude. Here, in step S103, the hand unit 33 was controlled to grip the workpiece 90 with a gripping force of a predetermined magnitude. By executing this step, the gripping force of the hand unit 33 is changed from the predetermined magnitude to a magnitude corresponding to the type.

[0063] (Grip force according to type of workpiece 90) As described above, the type database stores information indicating the magnitude of the gripping force according to the type of the workpiece 90. For example, if the gripping force is insufficient compared to the weight of the workpiece 90, the workpiece 90 may fall from the hand unit 33. Therefore, the heavier the workpiece 90 is, the greater the gripping force required. Also, for example, if the gripping force is too large compared to the softness of the workpiece 90, the workpiece 90 may be damaged, such as scratched. Therefore, the softer the workpiece 90 is, the smaller the gripping force required to grip it. In this way, the appropriate magnitude of the gripping force is determined according to the type of the workpiece 90.

[0064] (Step S109) In step S109, the processor 11 transports the workpiece 90. Specifically, the processor 11 requests a movement control process by transmitting a target position of the workpiece 90 to the robot controller 20. When the processor 21 of the robot controller 20 receives the request for the movement control process, it moves the hand unit 33 to the target position. After executing the process of step S109, the processor 11 ends the control method S.

[0065] (Step S110) In step S110, the processor 11 executes a notification process to notify the occurrence of an abnormality. This step is executed when it is determined that No is in step S107, that is, when the type of the workpiece 90 cannot be determined in the discrimination process. For example, the processor 11 may output information indicating the occurrence of an abnormality to an output device such as a display, a speaker, etc. Also, for example, the processor 11 may send an e-mail including information indicating the occurrence of an abnormality. In this case, the e-mail address of the destination is registered in advance. After executing the process of step S110, the processor 11 ends the control method S.

[0066] <Effects of this embodiment> The robot control system 1 according to the present embodiment described above distinguishes the type of workpiece 90 according to the position of the center of gravity of the workpiece 90, and therefore does not need to increase the number of force sensors 34 even if the number of types to be distinguished increases. As a result, this embodiment can distinguish the type of workpiece 90 without complicating the configuration even if the number of types of workpiece 90 increases.

[0067] Furthermore, in this embodiment, the weight can be measured in the process of identifying the type of workpiece 90. In other words, the type and weight of the workpiece 90 can be obtained by simply gripping the workpiece 90 once with the hand unit 33. Therefore, when it is necessary to obtain the weight of the workpiece 90, it is not necessary to have the hand unit 33 grip the workpiece 90 separately. This makes it possible to reduce the possibility of damage to the workpiece 90 or the hand unit 33 due to an increase in the number of gripping times.

[0068] Furthermore, in this embodiment, the type of workpiece 90 can be easily identified simply by having the hand unit 33 grip the workpiece 90. For example, when using a vision sensor to detect the workpiece 90 and identify its type, it is necessary to satisfy certain constraints (for example, adjustment of the surrounding brightness, amount of dust, etc.) at the time of detection. In contrast, in this embodiment, it is sufficient to simply have the hand unit 33 grip each type of workpiece 90. Therefore, the type of workpiece 90 can be more easily identified.

[0069] Furthermore, this embodiment can notify the user of the possibility that an abnormality has occurred in the workpiece 90 or the hand unit 33. Examples of abnormalities that may occur include cases where the workpiece 90 is defective, where the part gripped by the hand unit 33 is different from that expected, or where the hand unit 33 is broken. In such cases, there is a high possibility that at least one of the position and weight of the center of gravity calculated in the calculation process will be outside a predetermined range from the reference value. For this reason, this embodiment can notify the user of the possibility that such an abnormality has occurred.

[0070] Furthermore, in this embodiment, the possibility of damage to the workpiece 90, the hand unit 33, facilities, etc. can be reduced by adjusting the gripping force on the workpiece 90 to an appropriate magnitude. Specifically, for example, it is possible to reduce the occurrence of events such as the workpiece 90 dropping due to an excessively small gripping force, damage to the workpiece 90 due to the drop, and damage to facilities, or damage to the workpiece 90 and the hand unit 33 due to an excessively large gripping force.

[0071] [Example] An embodiment in which the type of the workpiece 90 is identified using the robot control system 1 will be described.

[0072] (90 types of work) The workpiece 90 used in the embodiment will be described with reference to FIG. 7 and FIG. 8. FIG. 7 is a schematic diagram showing the state of each type of workpiece 90 used in the embodiment as viewed from above. FIG. 8 is a schematic diagram showing the state of a certain type of workpiece 90 as viewed from below. In the embodiment, nine types of workpieces 90 (OBJ1 to OBJ9) were prepared one by one. Hereinafter, each type of workpiece 90 will be described as OBJi (i=1, 2, ..., 9). In addition, the surface of the workpiece 90 of OBJi that can be seen from above will be described as the "front surface", and the surface that can be seen from below will be described as the "rear surface". As shown in FIG. 7, the number "i" is drawn on the front surface of OBJi. The area of ​​OBJi that includes the upper part of the number "i" will be described as the upper area, and the area of ​​OBJi that includes the lower part of the number "i" will be described as the lower area. In addition, as shown in FIG. 8, a weight is attached to the rear surface of OBJi. The weights are attached to the lower region of OBJi. By making the weights of the weights attached to each OBJi different, the weights of each OBJi are made different. For example, OBJ2 is 30 grams heavier than OBJ1. Similarly, OBJ3 to OBJ9 are each 30 grams heavier than OBJ2 to OBJ8. Also, the position of the center of gravity of each OBJi is different. Also, in the type database, the reference value of the weight, the reference value of the position of the center of gravity, and the magnitude of the gripping force are registered for each of OBJ1 to OBJ9.

[0073] (Discrimination results in the examples) In this embodiment, the robot control system 1 was used to grasp nine types of workpieces 90 in a random order and to identify their types. In addition, by referring to the identified types and the calculated positions of the centers of gravity, the workpieces 90 were transported so as to be arranged in ascending order of the number "i" with the same orientation. As a result, the workpieces 90 could be arranged in ascending order of the number "i" with the same orientation. That is, in this embodiment, the types of all the workpieces 90, OBJ1 to OBJ9, could be correctly identified.

[0074] [Modifications] In the above-described embodiment, the number of joints in the arm unit 32 is not limited to three. For example, the arm unit 32 may be a joint arm in which two arms are connected by one joint, or a multi-joint arm in which three or five or more arms are connected by two or four or more joints.

[0075] In the above-described embodiment, the number of fingers of the hand unit 33 is not limited to two. For example, the hand unit 33 may have three or more fingers.

[0076] In the above-described embodiment, the force sensor 34 may be built into the arm unit 32 or the hand unit 33. The force sensor 34 may be formed integrally with the arm unit 32 or the hand unit 33.

[0077] Furthermore, in the above-described embodiment, the processor 11 may calculate the position of the center of gravity using other calculation methods that use the detection values ​​of the force sensor 34 to calculate the position of the center of gravity, without being limited to the above-described formulas (1) to (3).

[0078] In the above-described embodiment, the force sensor 34 does not necessarily have to detect all six-axis components. For example, when the above-described formulas (1) to (3) are used, the force sensor 34 only needs to detect at least the three components Fz, Mx, and My. The force components detected by the force sensor 34 are not limited to these, and it is sufficient that the force sensor 34 detects at least the components necessary for the calculation method of the center of gravity position.

[0079] In the above-described embodiment, the dedicated controller 10 may execute part of the processing executed by the robot controller 20. The robot controller 20 may execute part of the processing executed by the dedicated controller 10. In this case, the control device of the present invention includes a plurality of processors 11 and 21. In this case, the control method of the present invention is executed by the plurality of processors 11 and 21. The dedicated controller 10 and the robot controller 20 may be integrally formed.

[0080] 〔summary〕 A control device according to a first aspect is a control device for controlling a robot, and includes one or more processors. The robot includes an arm unit, a force sensor, and a hand unit fixed to the arm unit via the force sensor. The one or more processors execute a calculation process and a discrimination process. The calculation process is a process for calculating the position of the center of gravity of a workpiece held by the hand unit, or the position of the center of gravity of a system consisting of the workpiece and the hand unit, based on a detection value of the force sensor. The discrimination process is a process for discriminating the type of the workpiece by referring to the position of the center of gravity.

[0081] With the above configuration, the type of workpiece is identified based on the position of the center of gravity of the workpiece, so even if the number of types to be identified increases, there is no need to increase the number of force sensors required for identification. As a result, even if the number of types of workpieces increases, the type of workpiece can be identified without complicating the configuration.

[0082] The control device according to aspect 2 has the following features in addition to the features of the control device according to aspect 1. That is, in the control device according to aspect 2, the one or more processors further calculate the weight of the workpiece or the weight of the system based on the detection value in the calculation process. Also, the one or more processors further refer to the weight in the discrimination process to discriminate the type of the workpiece.

[0083] With the above configuration, the weight is also referred to in addition to the position of the center of gravity, so the type of workpiece can be determined with greater accuracy.

[0084] The control device according to aspect 3 has the following features in addition to the features of the control device according to aspect 1 or aspect 2. That is, in the control device according to aspect 3, the one or more processors further execute a notification process for notifying the occurrence of an abnormality when the type of the workpiece cannot be determined in the determination process.

[0085] Here, in cases where the type of workpiece cannot be identified, it is possible that an abnormality has occurred, such as the workpiece being defective, the part that the hand unit grips being different from what was expected, or the hand unit being broken, etc. With the above configuration, it is possible to notify the user of the possibility that such an abnormality has occurred.

[0086] The control device according to aspect 4 has the following features in addition to the features of the control device according to any one of aspects 1 to 3. That is, in the control device according to aspect 4, the one or more processors further execute an adjustment process to adjust the gripping force of the hand unit to a magnitude according to the type determined by the determination process.

[0087] With the above configuration, the hand unit grips the workpiece with an appropriate gripping force according to the type of workpiece, which reduces the occurrence of events such as the workpiece falling from the hand unit, damage to equipment due to the workpiece falling, damage to the workpiece, or damage to the hand unit.

[0088] The control device according to aspect 5 has the following features in addition to the features of the control device according to any one of aspects 1 to 4. That is, in the control device according to aspect 5, the force sensor is a 6-axis force sensor.

[0089] With the above configuration, the type of workpiece can be identified by referring to the position of the center of gravity of the workpiece calculated based on the detection value of the six-axis force sensor.

[0090] A robot control system according to a sixth aspect includes the control device according to any one of the first to fifth aspects and the robot.

[0091] With the above configuration, the same effects as those of the control device according to the first aspect are achieved.

[0092] A program according to a seventh aspect is a program for operating the control device according to any one of the first to fifth aspects, and causes the one or more processors to execute the processes.

[0093] With the above configuration, the same effects as those of the control device according to the first aspect are achieved.

[0094] A control method according to an eighth aspect is a control method in which one or more processors control a robot, and includes a calculation step and a discrimination step. The robot also includes an arm unit, a force sensor, and a hand unit fixed to the arm unit via the force sensor. In the calculation step, the one or more processors calculate the position of the center of gravity of a workpiece held by the hand unit, or the position of the center of gravity of a system consisting of the workpiece and the hand unit, based on a detection value of the force sensor. In the discrimination step, the one or more processors discriminate the type of the workpiece by referring to the position of the center of gravity.

[0095] With the above configuration, the same effects as those of the control device according to the first aspect are achieved. [Explanation of symbols]

[0096] 1. Robot Control System 10 Dedicated Controller 20 Robot Controller 11, 21 Processors 12, 22 Primary memory 13, 23 Secondary memory 14, 24 Communication Interface 15, 25 Input / Output Interface 30. Robot 31 Pedestal 32 Arm section 33 Hand section 34 Force Sensor 90 Work

Claims

1. A control device for controlling a robot, the control device comprising one or more processors, the robot includes an arm unit, a force sensor, and a hand unit fixed to the arm unit via the force sensor; The one or more processors: a calculation process for calculating a position of a center of gravity of a workpiece held by the hand unit, or a position of a center of gravity of a system consisting of the workpiece and the hand unit, based on a detection value of the force sensor; A discrimination process for discriminating the type of the workpiece by referring to the position of the center of gravity; Run In the calculation process, the one or more processors calculate a position of the center of gravity based on a detection value obtained from the force sensor when the hand unit is stationary and a detection value obtained from the force sensor by moving the hand unit in a horizontal direction from a stationary state when the workpiece is held and suspended by the hand unit, In the calculation process, the one or more processors further calculate a weight of the workpiece or a weight of the system based on the detection value, In the discrimination process, the one or more processors discriminate the type of the workpiece by further referring to the weight, The one or more processors: further performing an adjustment process for adjusting the gripping force of the hand unit to a magnitude corresponding to the type determined by the determination process; In the discrimination process, the one or more processors refer to a type database that stores a reference value of the weight of the workpiece, a reference value of the position of the center of gravity, and a magnitude of the gripping force in association with each other, and identify the type of the workpiece by identifying a type in which the calculated position of the center of gravity and weight are within a predetermined range from each reference value, and acquire the magnitude of the gripping force by referring to the type database. Control device.

2. The one or more processors: The control device according to claim 1 , further comprising a notification process for notifying an occurrence of an abnormality when the type of the workpiece cannot be determined in the determination process.

3. The control device according to claim 1 , wherein the force sensor is a six-axis force sensor.

4. A robot control system comprising: the control device according to claim 1; and the robot.

5. 4. A program for operating the control device according to claim 1, the program causing the one or more processors to execute each of the processes.

6. A control method in which one or more processors control a robot, comprising: the robot includes an arm unit, a force sensor, and a hand unit fixed to the arm unit via the force sensor; a calculation step in which the one or more processors calculate a position of a center of gravity of a workpiece held by the hand unit, or a position of a center of gravity of a system consisting of the workpiece and the hand unit, based on a detection value of the force sensor; The one or more processors include a determination step of determining the type of the workpiece by referring to the position of the center of gravity, In the calculation step, the one or more processors calculate the position of the center of gravity based on a detection value obtained from the force sensor when the hand unit is stationary and a detection value obtained from the force sensor by moving the hand unit in a horizontal direction from a stationary state while the workpiece is held and suspended by the hand unit, In the calculation step, the one or more processors further calculate a weight of the workpiece or a weight of the system based on the detection value, In the determining step, the one or more processors determine the type of the workpiece by further referring to the weight, the one or more processors further execute an adjustment step of adjusting a gripping force of the hand unit to a magnitude corresponding to the type determined in the determination step, In the discrimination step, the one or more processors refer to a type database that stores a reference value of the weight of the workpiece, a reference value of the position of the center of gravity, and a magnitude of the gripping force in association with each other, and identify the type of the workpiece by identifying a type in which the calculated position of the center of gravity and weight are within a predetermined range from each reference value, and acquire the magnitude of the gripping force by referring to the type database. Control methods.

Citation Information

Patent Citations

  • Automatic discriminating device for kind of work

    JP1990009553A

  • Holding method for joint element of manipulator

    JP1992129691A

  • Robot hand posture controller

    JP1995227779A

  • Hand for working robot, working robot, working robot controlling device, and external memory device storing processing program for working robot

    JP2003094377A

  • Control device of robot carrying work

    JP2014210311A