Control device, robot system, and control method for enabling a robot to perform work on a workpiece

By generating movement instructions and determining the direction of pressing, the problem of inappropriate tool pressing in large workpiece operations is solved, and the work efficiency and cycle time are improved.

CN115666879BActive Publication Date: 2025-08-22FANUC LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202180037531.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-05-28
Filing Date
2021-05-24
Publication Date
2025-08-22
Estimated Expiration
2041-05-24

AI Technical Summary

Technical Problem

When working on large workpieces, it is difficult to properly press the tool on the workpiece while moving the robot and the workpiece with an additional shaft mechanism, resulting in low working efficiency.

Method used

The control device generates a movement command, and combines the additional axis movement amount and action plan data to determine the pressing direction of the tool, ensure that the tool moves along the work object part of the workpiece, and appropriately set the pressing direction.

Benefits of technology

It realizes efficient operation of large workpieces, shortens the working cycle time, and ensures the appropriateness of tool pressing direction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115666879B_ABST
    Figure CN115666879B_ABST
Patent Text Reader

Abstract

When it is desired to perform work on a workpiece using a tool of the robot while the robot and the workpiece are relatively moved by an additional axis mechanism, it is required to press the tool against the workpiece from an appropriate direction. A control device comprises: an additional axis movement amount acquisition unit (60) that acquires the additional axis movement amount; an instruction generation unit (62) that generates a movement instruction for the robot (12) based on motion plan data of the robot (12) and the additional axis movement amount; a vector acquisition unit (64) that acquires a vector in the direction of a work target portion of the workpiece based on the motion plan data or the additional axis movement amount; and a pressing direction determination unit (66) that uses the vector acquired by the vector acquisition unit (64) to determine the pressing direction in which the robot (12) presses the tool against the workpiece during the work.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a control device, a robot system, and a control method for causing a robot to perform an operation on a workpiece. Background Art

[0002] There is known a robot system that presses a tool of a robot against a workpiece to perform work (deburring, etc.) on the workpiece (for example, Patent Document 1).

[0003] Prior art literature

[0004] Patent Literature

[0005] Patent Document 1: Japanese Patent Application Laid-Open No. 2015-009324 Summary of the Invention

[0006] Problems to be solved by the invention

[0007] When working on a large workpiece, there is a demand to use a robot tool to perform work on the workpiece while the robot and the workpiece are relatively moved using an additional axis mechanism. In such cases, it is required to press the tool against the workpiece from an appropriate direction.

[0008] Means for solving problems

[0009] In one embodiment of the present disclosure, a control device performs an operation on the workpiece by pressing the robot's tool against the workpiece while causing the robot and the workpiece to move relative to each other through an additional axis mechanism. The control device includes: an additional axis movement amount acquisition unit, which acquires the additional axis movement amount caused by the additional axis mechanism to move the robot or the workpiece; an instruction generation unit, which generates a movement instruction for causing the robot to follow the movement of the robot or the workpiece performed by the additional axis mechanism and move the tool along the work object part based on action plan data and the additional axis movement amount used to cause the robot to perform an action to move the tool along the work object part of the workpiece; a vector acquisition unit, which acquires a vector in a direction along the work object part that is inclined corresponding to the additional axis movement amount relative to the movement vector of the tool moved by the robot according to the movement instruction based on the action plan data or the additional axis movement amount; and a pressing direction determination unit, which uses the vector acquired by the vector acquisition unit to determine the pressing direction in which the robot presses the tool against the workpiece during the operation.

[0010] In other embodiments of the present disclosure, in a method for performing an operation on a workpiece by pressing the tool of the robot against the workpiece while moving the robot and the workpiece relative to each other through an additional axis mechanism: an additional axis movement amount of the additional axis mechanism to move the robot or the workpiece is obtained; based on motion plan data for causing the robot to perform an action to move the tool along the work object part of the workpiece and the additional axis movement amount, a movement instruction is generated for causing the robot to follow the movement of the robot or the workpiece performed by the additional axis mechanism to move the tool along the work object part; based on the motion plan data or the additional axis movement amount, a vector is obtained in the direction of the work object part and is inclined correspondingly to the additional axis movement amount relative to the movement vector of the tool moved by the robot according to the movement instruction; and the pressing direction of the tool pressed against the workpiece by the robot during the operation is determined using the obtained vector.

[0011] Effects of the Invention

[0012] According to the present disclosure, by generating movement commands based on motion plan data and the additional axis movement amount, the tool can be moved along the work target area, following the movement of the robot or workpiece by the additional axis mechanism. This allows, for example, machining a large workpiece while the tool is moving, thereby reducing cycle time. Simultaneously, a vector along the work target area during operation is obtained and used to determine the pressing direction, thereby appropriately setting the direction in which the tool presses against the work target area. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1 This is a block diagram of a robot system according to one embodiment.

[0014] Figure 2 yes Figure 1 Schematic diagram of the robotic system shown.

[0015] Figure 3 This is a diagram for explaining action plan data.

[0016] Figure 4 It is schematically represented in Figure 2 The diagram shows the relationship between the movement path of the motion plan data, the additional axis movement amount, and the movement vector of the tool during operation in the robot system shown.

[0017] Figure 5 This is a diagram schematically showing the relationship between a vector along the direction of the work target site and the pressing direction determined by the vector.

[0018] Figure 6 This is a schematic diagram of a robot system according to another embodiment.

[0019] Figure 7It is schematically represented in Figure 6 The diagram shows the relationship between the movement path of the motion plan data, the additional axis movement amount, and the movement vector of the tool during operation in the robot system shown.

[0020] Figure 8 This is a schematic diagram of a robot system according to another embodiment.

[0021] Figure 9 yes Figure 8 Block diagram of the robotic system shown. DETAILED DESCRIPTION

[0022] Hereinafter, the embodiments of the present disclosure will be described in detail based on the accompanying drawings. In addition, in the various embodiments described below, the same elements are marked with the same reference numerals and repeated descriptions are omitted. Figure 1 as well as Figure 2 Next, a robot system 10 according to an embodiment will be described. The robot system 10 includes a robot 12 , an additional axis mechanism 14 , and a control device 50 .

[0023] like Figure 2 As shown, in this embodiment, the robot 12 is a vertical multi-jointed robot having a base 16, a rotating body 18, a robot arm 20, a wrist 22, an end effector 24, and a force sensor 26. The base 16 is fixed to the floor of the work unit, and the rotating body 18 is mounted on the base 16 so as to be rotatable about a vertical axis. The robot arm 20 has a lower arm 28 mounted on the rotating body 18 so as to be rotatable about a horizontal axis, and an upper arm 30 mounted rotatably at the front end of the lower arm 28. The wrist 22 is mounted rotatably at the front end of the upper arm 30 and rotatably supports the end effector 24.

[0024] The base 16, the rotating body 18, the robot arm 20, and the wrist 22 each have a built-in servo motor 36 ( Figure 1 The servo motor 36 drives each movable element of the robot 12 (ie, the rotating body 18 , the robot arm 20 , and the wrist 22 ) in accordance with a command from the control device 50 .

[0025] The end effector 24 includes a tool drive unit 32 and a tool 34. The tool 34 is mounted on the tool drive unit 32 so as to be rotatable about the axis A1. In this embodiment, the tool 34 is a deburring tool (abrasive material, etc.) that uses its conical tip to cut a convex portion formed on the workpiece W (so-called deburring). The tool drive unit 32 includes a spindle motor or an air cylinder, etc., and is connected to the tip of the wrist 22 via the force sensor 26. The tool drive unit 32 drives the tool 34 to rotate about the axis A1 in response to a command from the control device 50.

[0026] The force sensor 26 is interposed between the wrist 22 and the end effector 24 (specifically, the tool drive unit 32). The force sensor 26 is, for example, a six-axis force sensor having multiple strain gauges, and detects the force F applied from the workpiece W to the tool 34 while the tool 34 is machining the workpiece W.

[0027] A robot coordinate system C1 is set in the robot 12. The robot coordinate system C1 is a control coordinate system used to automatically control the motion of each movable element of the robot 12. In the present embodiment, the robot coordinate system C1 is fixed in three-dimensional space, with its origin located at the center of the base 16 and its z-axis aligned with the rotation axis of the rotating body 18.

[0028] On the other hand, a tool coordinate system C2 is set for the end effector 24 (specifically, the tool 34). The tool coordinate system C2 is a control coordinate system for automatically controlling the position of the end effector 24 (tool 34) in the robot coordinate system C1. Furthermore, in this specification, "position" sometimes refers to both position and posture. In this embodiment, the tool coordinate system C2 is set for the end effector 24 (tool 34) such that its origin (or TCP) is located at a predetermined position of the end effector 24 (e.g., the leading end point of the tool 34) and its z-axis is aligned with the axis A1.

[0029] The control device 50 sends instructions to each servo motor 36 of the robot 12 so that the end effector 24 (tool 34) is configured at a position represented by the tool coordinate system C2 set in the robot coordinate system C1, and the end effector 24 (tool 34) is positioned at an arbitrary position in the robot coordinate system C1 through the movement of each movable element of the robot 12.

[0030] The additional axis mechanism 14 moves the robot 12 relative to the workpiece W. Specifically, the additional axis mechanism 14 is, for example, a belt conveyor and includes a movable portion 38 and a drive mechanism 40 for driving the movable portion 38. The movable portion 38 is, for example, a timing belt and is mounted on a base frame (not shown) so as to be movable along the axis A2.

[0031] The driving mechanism 40 has a servo motor 42 ( Figure 1) and a power transmission unit 44. The servo motor 42 rotates its output shaft (not shown) in response to a command from the control device 50. The power transmission unit 44, which includes, for example, a speed reducer, a pulley, or a ball screw mechanism, transmits the rotational force of the output shaft of the servo motor 42 to the movable unit 38, thereby moving the movable unit 38 in the direction of the axis A2. The workpiece W is placed on the movable unit 38 using, for example, a fixture (not shown). The additional axis mechanism 14 moves the movable unit 38, thereby causing the workpiece W to move relative to the robot 12 along the axis A2.

[0032] An additional-axis coordinate system C3 is established in the additional-axis mechanism 14. The additional-axis coordinate system C3 is a control coordinate system used to automatically control the position of the workpiece W mounted on the movable portion 38. In this embodiment, the additional-axis coordinate system C3 is established in the additional-axis mechanism 14 so that its y-axis is parallel to the axis A2. The positional relationship between the additional-axis coordinate system C3 and the robot coordinate system C1 is established through calibration, and the coordinates of the additional-axis coordinate system C3 and the robot coordinate system C1 can be transformed into each other using a known transformation matrix.

[0033] The control device 50 controls the operation of the robot 12 and the additional axis mechanism 14. Specifically, the control device 50 is a computer having a processor 52, a memory 54, and an I / O interface 56. The processor 52 includes a CPU or a GPU, and is communicatively connected to the memory 54 and the I / O interface 56 via a bus 58. The processor 52 performs computational processing to implement the various functions of the control device 50 described below.

[0034] The memory 54 includes RAM or ROM, etc., and temporarily or permanently stores various data. The I / O interface 56 includes, for example, an Ethernet (registered trademark) port, a USB port, an optical fiber connector, or an HDMI (registered trademark) terminal, and communicates data with external devices wirelessly or by wire in accordance with instructions from the processor 52. The force sensor 26 and servo motors 36 and 42 are connected to the I / O interface 56 in a manner that enables wireless or wired communication.

[0035] Next, the functions of the control device 50 will be described. The control device 50 causes the robot 12 to move relative to the workpiece W via the additional axis mechanism 14, while causing the robot 12 to perform a machining operation (i.e., deburring) by pressing the rotating tool 34 against the workpiece W. In this embodiment, the robot 12 uses the tool 34 to perform a machining operation (deburring) along the edge D of the workpiece W, from vertex B to vertex C. That is, the edge D serves as the target area of ​​the workpiece W.

[0036] As a preparatory step before performing work on the workpiece W, the control device 50 obtains motion plan data PD. The motion plan data PD is used to cause the robot 12 to perform an operation to move the tool 34 along the work target portion D, and includes a plurality of target positions TP at which the robot 12 should position the tool 34 (or TCP) during the operation. n Data, and 2 target locations TP n With TP n+1 The moving path between MP n .

[0037] Figure 3 The target position TP set for the work target part D is schematically shown. n and the moving path MP n (n=1, 2, 3, ...) The motion plan data PD includes the target position TP in the robot coordinate system C1. n Position data, movement path MP n The robot 12 moves the tool 34 along the movement path MP n Moving speed V n .

[0038] As an example, the target position TP n Position data and movement path MP n The data can be obtained by teaching the actual robot 12 an operation to move the tool 34 along the work target area D of the workpiece W (so-called online teaching). Specifically, the additional axis mechanism 14 first causes the workpiece W to remain stationary at a reference position RP relative to the robot 12. This reference position RP can be expressed as a coordinate in the y-axis direction of the additional axis coordinate system C3.

[0039] Then, the operator uses a teaching device (so-called teaching pendant) or a tablet terminal device to jog the robot 12, and teaches the robot 12 the operation of moving the tool 34 from the vertex B to the vertex C along the work target part D of the workpiece W that is stationary at the reference position RP. In this way, the target position TP is obtained. n Position data and movement path MP n data.

[0040] As another example, the target position TP n Position data and movement path MP n The data can also be obtained through simulation (so-called offline teaching). In this simulation, the model of the robot 12, the model of the additional axis mechanism 14, and the model of the workpiece W arranged in a virtual space are used to simulate and perform the same teaching as the online teaching, thereby obtaining the target position TP. n Position data and movement path MPn data.

[0041] Then, the operator sets the speed V in consideration of various working conditions (cycle time, type of workpiece W, etc.). n In this way, the target position TP is generated. n , moving path MP n and speed V n The processor 52 of the control device 50 obtains the motion plan data PD and stores it in the memory 54.

[0042] Thus, in this embodiment, the motion plan data PD is generated based on the workpiece W stationary at the reference position P0 in the robot coordinate system C1. Therefore, the motion plan data PD causes the robot 12 to execute an operation to move the tool 34 along the work target portion D of the workpiece W stationary in the robot coordinate system C1.

[0043] After acquiring the motion plan data PD, upon receiving a work start command from an operator, a host controller, or a computer program, the processor 52 begins the motion flow for performing a work (deburring) on ​​the workpiece W. First, the processor 52 positions the workpiece W at the reference position RP using the additional axis mechanism 14 and positions the tool 34 at the target position TP1 using the robot 12.

[0044] Next, the processor 52 activates the tool drive unit 32 to begin rotating the tool 34. Furthermore, the processor 52 initiates the feed of the workpiece W via the additional axis mechanism 14. Specifically, the processor 52 activates the drive mechanism 40 to move the movable unit 38, thereby initiating the transport of the workpiece W in the positive y-axis direction of the additional axis coordinate system C3. Simultaneously, the processor 52 initiates the movement of the tool 34 along the work target area D by the robot 12 in accordance with the motion plan data PD.

[0045] Specifically, the processor 52 generates a movement instruction CA1 for moving the tool 34 (or TCP) from the target position TP1 to the target position TP2 along the movement path MP1 based on the position data of the target positions TP1 and TP2 and the data of the movement path MP1 from the target position TP1 to the target position TP2 included in the action plan data PD.

[0046] Meanwhile, the processor 52 obtains the additional-axis movement amount α1 of the workpiece W moved by the additional-axis mechanism 14 from the start of the operation of the additional-axis mechanism 14. This additional-axis movement amount α1 may be, for example, the movement command CB1 (position command, speed command, etc.) sent by the processor 52 to the servo motor 42 of the additional-axis mechanism 14. Alternatively, the additional-axis movement amount α1 may be a physical quantity (such as a distance) calculated based on the movement command CB1.

[0047] Alternatively, the additional axis movement amount α1 may be a physical quantity obtained from feedback (rotation angle, etc.) of a rotation detector (encoder, Hall element, etc.) that detects the rotation of the servo motor 42, or may be a physical quantity detected by a displacement sensor that can detect the displacement amount of the movable part 38 in the y-axis direction of the additional axis coordinate system C3. Thus, in this embodiment, the processor 52 serves as the additional axis movement amount acquisition unit 60 ( Figure 1 ) to perform its function.

[0048] The processor 52 then generates a movement command CC1 for moving the tool 34 by the additional axis movement amount α1 in the positive y-axis direction of the additional axis coordinate system C3. The processor 52 then generates a movement command CD1 (=movement command CA1 + movement command CC1) by adding the movement command CC1 generated based on the additional axis movement amount α1 to the movement command CA1 generated based on the motion plan data PD.

[0049] The processor 52 transmits the generated movement command CD1 to each servo motor 36 of the robot 12 , and the robot 12 moves the tool 34 according to the movement command CD1 . Figure 4 The diagram schematically illustrates movement vector VA1 when robot 12 moves tool 34 according to movement command CD1. Movement vector VA1 corresponds to the sum of a vector in the direction along workpiece D based on movement command CA1 and a vector in the direction of additional-axis movement amount α1 (i.e., the positive y-axis direction of additional-axis coordinate system C3) based on movement command CC1.

[0050] In this manner, the processor 52 operates the robot 12 according to the movement command CD1, and moves the tool 34 along the work target portion D following the movement of the workpiece W by the additional axis mechanism 14. As a result, the tool 34 reaches a corrected target position TP2' that has been corrected so as to be offset from the target position TP2 predetermined in the motion plan data PD in the positive y-axis direction of the additional axis coordinate system C3 by a distance corresponding to the additional axis movement amount α1.

[0051] Thereafter, the processor 52 executes the following operation every time the calibration target position TP is reached: n '(n≥3), the following process is repeated. That is, when the tool 34 reaches the calibration target position TP n ', the processor 52 generates a plan for moving the tool 34 along the movement path MP based on the motion plan data PD. n From the target position TP n Move to the target position TP n+1 Mobile Instructions CA n .

[0052] On the other hand, the processor 52 functions as an additional axis movement amount acquisition unit 60, which acquires the amount of movement of the tool 34 when the tool 34 is moved from the calibration target position TP. n-1 '(Target position TP1 in case of n=2) Move to the corrected target position TP n During the period of ', the additional axis mechanism 14 moves the workpiece W by an additional axis movement amount α n Then, the processor 52 generates an additional axis movement amount α for moving the tool 34 in the y-axis direction of the additional axis coordinate system C3. n Move instruction CC n Then, the processor 52 generates the movement instruction CA based on the action plan data PD. n Add the additional axis movement α n Generated movement instruction CC n , to generate the movement instruction CD n (=Move command CA n +Move command CC n ).

[0053] The processor 52 generates a movement instruction CD. n The robot 12 moves the tool 34. As a result, Figure 4 The motion vector VA in n As shown, the tool 34 arrives to move from the target position TP n+1 The offset in the positive direction of the y-axis of the additional axis coordinate system C3 is equivalent to the additional axis movement amount Σα n The distance is corrected to the target position TP after correction n+1 '.

[0054] In addition, the processor 52 may also be configured to generate a calibration signal when the tool 34 reaches the calibration target position TP. n ', the additional axis movement amount acquisition unit 60 functions to acquire the amount of movement of the tool 34 from the calibration target position TP. n-2 'Move to the calibration target position TP n-1 During the period of ', the additional axis mechanism 14 moves the workpiece W by an additional axis movement amount α n-1 .

[0055] Furthermore, the processor 52 may also generate an additional axis movement amount α for moving the tool 34 in the y-axis direction of the additional axis coordinate system C3. n-1 Move instruction CC n-1 Furthermore, the processor 52 may also generate the movement instruction CA based on the action plan data PD. n Add the additional axis movement α n-1 Generated movement instruction CC n-1 , to generate the movement instruction CD n (=Move command CAn +Move command CC n-1 ) and follow the generated movement instruction CD n (=CA n +CC n-1 ) enables the robot 12 to move the tool 34.

[0056] Thus, in this embodiment, the processor 52 acts as the instruction generating unit 62 ( Figure 1 ) functions, the instruction generating unit 62 is based on the action plan data PD and the additional axis movement amount α n , such as the motion vector VA n As shown in FIG. 1 , a movement command CD is generated for moving the tool 34 along the work target portion D following the movement of the workpiece W by the additional axis mechanism 14. n .

[0057] The tool 34 is moved in the direction of the vector VA n During the operation, the processor 52 controls the pressing force PF of the robot 12 pressing the tool 34 to the work target portion D of the workpiece W to a predetermined target value PF. T Here, in this embodiment, the processor 52 makes the tool 34 reach the calibration target position TP n ' cycle, determines the robot 12 to the workpiece W of the target part D pressing tool 34 pressing direction DR n .

[0058] To determine the pressing direction DR n The processor 52 first obtains the vector VB of the tool 34 along the direction of the work target portion D of the workpiece W it abuts against. n As an example, the processor 52 causes the tool 34 to reach the calibration target position TP. n ' (or before and after), obtain vector VB n As the movement path MP predetermined in the action plan data PD n-1 (or MP n ) direction vector.

[0059] As mentioned above, the moving path MP n-1 The movement path MP is obtained by teaching the robot 12 an operation to move the tool 34 along the work target portion D of the workpiece W that is stationary relative to the robot coordinate system C1. n-1 The direction becomes along the tool 34 to reach the correction target position TP n' is the direction (substantially parallel direction) of the work target part D that the tool 34 contacts. In this example, the processor 52 calculates the direction of the work target part D based on the action plan data PD (specifically, the movement path MP n-1 ) Get vector VB n .

[0060] As another example, the processor 52 may also cause the tool 34 to reach the calibration target position TP. n ', according to the movement vector VA of the tool 34 n-1 and additional axis movement α n-1 To obtain vector VB n Here, the processor 52 can obtain the correction target position TP based on feedback from a rotation detector (encoder, Hall element, etc.) that detects the rotation of the servo motor 36 of the robot 12, for example. n-1 ' and TP n 'Coordinates in the robot coordinate system C1, and use these coordinates to calculate the movement vector VA n-1 .

[0061] In addition, the processor 52 determines whether the additional axis mechanism 14 moves the workpiece W by the additional axis movement amount α. n-1 The movement vector α n-1 The movement vector α n-1 For example, the workpiece W can be moved by the additional axis movement amount α in the additional axis mechanism 14. n-1 The processor 52 sends a movement instruction CB to the servo motor 42. n-1 , or the feedback of the rotation detector of the servo motor 42.

[0062] The processor 52 then calculates the movement vector VA of the tool 34 from n-1 Subtract additional axis movement α n-1 The movement vector α n-1 , to find the vector VB n (=VA n-1 ﹣α n-1 In this example, the processor 52 calculates the additional axis movement amount α based on the additional axis movement amount α. n-1 Get vector VB n .

[0063] The robot 12 follows the movement instruction CD n-1 The movement vector VA for moving the tool 34 n-1 , the vector VB obtained as above n and additional axis movement α n-1 Thus, in this embodiment, the processor 52 acts as a controller based on the motion plan data PD or the additional axis movement amount α. n-1 Get vector VBn The vector acquisition unit 64 ( Figure 1 ) to perform its function.

[0064] Next, the processor 52 uses the obtained vector VB n To determine the pressing direction DR n Specifically, the processor 52 performs the vector VB n Multiply by the known rotation vector RV to find the value relative to the vector VB n A vector is tilted at a predetermined angle θ toward the inner side of the workpiece W, and the direction of this vector is determined as the pressing direction DR. n In addition, the angle θ can be arbitrarily set by changing the parameters of the rotation vector RV.

[0065] Figure 5 Schematically shows the vector VB n and pressing direction DR n .exist Figure 5 In the example shown, the angle θ is set to 90° (ie, the pressing direction DR n With Vector VB n Thus, in this embodiment, the processor 52 uses the vector VB n To determine the pressing direction DR n The pressing direction determining unit 66 ( Figure 1 ) to perform its function.

[0066] In addition, the processor 52 moves the tool 34 from the calibration target position TP n 'To the correction target position TP n+1 During the movement, the robot 12 presses the workpiece W in the determined pressing direction DR. n The tool 34 is pressed. Meanwhile, the force sensor 26 continuously detects the force F applied from the workpiece W to the tool 34 during this period.

[0067] The processor 52 functions as a command generating unit 62 and generates a command for controlling the pressing force PF applied from the tool 34 to the workpiece W to a target value PF based on the force F obtained from the force sensor 26. T Furthermore, in addition to the above-mentioned movement instruction CD, the processor 52 n In addition, a force control command CE is sent to each servo motor 36 of the robot 12 , and the operation of the robot 12 is controlled according to the force control command CE.

[0068] Thus, the robot 12 follows the movement instruction CD n Move the tool 34 from the calibration target position TP n 'To the correction target position TP n+1'Move, and at the same time according to the force control instruction CE, the position of the tool 34 is displaced, for example, in the y-axis direction of the additional axis coordinate system C3. n 'To the correction target position TP n+1 During the movement, the processor 52 executes the operation to make the pressing force PF and the target value PF T Consistent force control.

[0069] It should be understood that the processor 52 can also perform force control while the tool 34 is being moved from the target position TP1 to the corrected target position TP2'. For example, the operator may predetermine the pressing direction DR1 during the movement of the tool 34 from the target position TP1 to the corrected target position TP2' as the direction of the movement path MP1.

[0070] As described above, in this embodiment, the processor 52 performs the operation based on the motion plan data PD and the additional axis movement amount α. n To generate the movement instruction CD n , the tool 34 can be moved along the work target portion D following the movement of the workpiece W by the additional axis mechanism 14. According to this configuration, when machining a large workpiece W, for example, the workpiece W can be machined while being moved by the tool 34, thereby reducing the cycle time.

[0071] At the same time, the processor 52 obtains the vector VB along the direction of the work target part D during the work n , and use this vector VB n To determine the pressing direction DR n Here, it is assumed that the moving vector VA n As a reference, the pressing direction of the tool 34 is set to be aligned with the movement vector VA n In the case of a direction perpendicular to the workpiece D, the pressing direction is not perpendicular to the workpiece D but is tilted. In this case, the tool 34 cannot be properly pressed against the workpiece W. According to this embodiment, since the vector VB is along the direction of the workpiece D during operation, n Determine the pressing direction DR based on n , so the pressing direction DR can be set appropriately n , for example, the pressing direction DR n It is perpendicular to the work target portion D (the aforementioned θ=90°).

[0072] In addition, as an example of this embodiment, the processor 52 obtains the above-mentioned vector VB n As the movement path MP included in the action plan data PD n-1 (or MP nAccording to this structure, the processor 52 can easily and quickly obtain the vector VB n .

[0073] On the other hand, as another example of this embodiment, the processor 52 calculates the movement vector VA of the tool 34 by n-1 Subtract the additional axis movement α n-1 The movement vector α n-1 To find the vector VB n Here, the processor 52 periodically receives feedback from the rotation detectors of the servo motors 36 and 42 during operation and uses it to control the robot 12. In addition, the additional axis movement amount α is also obtained from such feedback. n-1 , Correct target position TP n-1 ' and TP n According to this embodiment, the vector VB can be obtained by using the feedback obtained as a normal operation. n .

[0074] In addition, in the above embodiment, the case where the additional axis mechanism 14 moves the workpiece W in the positive direction of the y-axis of the additional axis coordinate system C3 is described. However, it should be understood that even in the case where the additional axis mechanism 14 moves the workpiece W in the negative direction of the y-axis of the additional axis coordinate system C3, the above method can be used to similarly issue the movement command CD. n Generation, vector VB n Acquisition and pressing direction DR n decision.

[0075] Furthermore, in the above-described embodiment, a case has been described where the additional axis mechanism 14 moves the workpiece W relative to the robot 12 . However, the additional axis mechanism 14 may also move the robot 12 relative to the workpiece W. Figure 6 This method is shown in Figure 6 In the robot system 10' shown, the robot 12 (specifically, the base portion 16) is fixed to the movable portion 38 of the additional axis mechanism 14. Figure 1 The robotic system 10 shown is identical.

[0076] In the robot system 10', the robot coordinate system C1 moves in the y-axis direction of the additional-axis coordinate system C3 in response to the additional-axis mechanism 14 moving the movable unit 38. The robot coordinate system C1 and the additional-axis coordinate system C3 can be transformed into each other via a transformation matrix corresponding to the position of the origin of the robot coordinate system C1 in the additional-axis coordinate system C3.

[0077] The functions of the control device 50 of the robot system 10' will be described below. First, as a preparatory step, the control device 50 obtains motion plan data PD. This motion plan PD is generated by teaching the robot 12 an operation for moving the tool 34 along the work target portion D of the workpiece W while the additional axis mechanism 14 holds the robot 12 stationary at a reference position RP relative to the workpiece W. The motion plan PD includes a target position TP. n , moving path MP n and speed V n (n=1, 2, 3...) data.

[0078] At the start of the operation, the processor 52 positions the robot 12 at the reference position RP via the additional axis mechanism 14, and positions the tool 34 at the target position TP1 via the robot 12. After the operation starts, the processor 52 starts moving the robot 12 (i.e., the robot coordinate system) in the positive direction of the y-axis of the additional axis coordinate system C3 via the additional axis mechanism 14, and generates a movement command CA1 for moving the tool 34 (or TCP) from the target position TP1 to the target position TP2 along the movement path MP1 based on the motion plan data PD.

[0079] On the other hand, the processor 52 functions as an additional axis movement amount acquisition unit 60, which acquires the additional axis movement amount β1 ( Figure 7 ). Similar to the above-mentioned embodiment, the additional axis movement amount β1 may be a movement instruction to the servo motor 42 (or a physical quantity obtained based on the movement instruction), or a physical quantity obtained based on a detection value of a rotation detector or a displacement sensor.

[0080] In this embodiment, the processor 52 generates a movement command CC1 for moving the tool 34 by the additional axis movement amount -β1, which is the inverted direction (i.e., sign) of the acquired additional axis movement amount β1. The processor 52 then adds the movement command CC1 generated based on the additional axis movement amount -β1 to the movement command CA1 generated based on the motion plan data PD to generate a movement command CD1 (= movement command CA1 + CC1). The processor 52 transmits the generated movement command CD1 to each servo motor 36 of the robot 12, and the robot 12 moves the tool 34 according to the movement command CD1.

[0081] Figure 7 The movement vector VA1 of the tool 34 at this time is schematically shown. Figure 7The movement vector VA1 shown is the sum of the vector in the direction along the work target part D based on the movement command CA1 and the vector in the direction of the additional axis movement amount -β1 (i.e., the negative y-axis direction of the additional axis coordinate system C3) based on the movement command CC1. In other words, the movement vector VA1 is obtained by subtracting the vector of the additional axis movement amount β1 from the vector of the movement command CA1.

[0082] In this manner, the processor 52 operates the robot 12 according to the movement command CD1, causing the tool 34 to follow the movement of the workpiece W by the additional axis mechanism 14 and move along the work target portion D to reach the corrected target position TP2'. The corrected target position TP2' is offset in the negative y-axis direction of the additional axis coordinate system C3 by a distance corresponding to the additional axis movement amount -β1 relative to the target position TP2 in the robot coordinate system C1 at that moment (i.e., the moment the robot coordinate system C1 is moved by the additional axis mechanism 14).

[0083] The processor 52 reaches the correction target position TP n That is, when the correction target position TP is reached, the process is repeated. n ', the processor 52 generates a movement instruction CA based on the action plan data PD n On the other hand, the additional axis movement amount acquisition unit 60 functions to acquire the amount of movement of the tool 34 from the calibration target position TP. n-1 'Move to the calibration target position TP n The additional axis movement amount β of the workpiece W moved by the additional axis mechanism 14 during the period n .

[0084] Then, the processor 52 generates a value for moving the tool 34 so as to obtain the additional axis movement amount β. n Additional axis movement after sign reversal -β n Move instruction CC n , by moving the instruction CA n Add the movement command CC n To generate the movement instruction CD n The processor 52 generates a movement instruction CD. n The robot 12 is caused to move the tool 34 .

[0085] The results, such as Figure 7 The motion vector VA in n As shown, the tool 34 reaches the calibration target position TP n+1 Correction target position TP n+1 'Relative to the target position TP in the robot coordinate system C1 at this moment n+1 The offset to the negative direction of the y-axis of the additional axis coordinate system C3 is equal to the additional axis movement amount Σ(-β n) a considerable distance.

[0086] On the other hand, the processor 52 moves the tool 34 to the calibration target position TP in the same manner as in the above-mentioned embodiment. n ' cycle, determines the robot 12 to the workpiece W of the target part D pressing tool 34 pressing direction DR n Specifically, the processor 52 functions as a vector acquisition unit 64 to acquire a vector VB along the direction of the work target part D. n As an example, the processor 52 obtains the vector VB n As a moving path MP n-1 (or MP n ) direction vector.

[0087] As another example, the processor 52 calculates the movement vector VA of the tool 34 by n-1 Add additional axis movement β n-1 The moving vector β n-1 (In other words, from the motion vector VA n-1 Subtract additional axis movement - β n-1 The moving vector) is used to find the vector VB n (=VA n-1 +β n-1 ). The vector VB n With respect to the robot 12 following the movement instruction CD n-1 The movement vector VA of the moving tool 34 n-1 , according to the additional axis movement β n-1 And tilted.

[0088] Then, the processor 52 functions as the pressing direction determination unit 66 in the same manner as in the above-mentioned embodiment, and uses the acquired vector VB n To determine the pressing direction DR n The processor 52 moves the tool 34 from the calibration target position TP n 'To the correction target position TP n+1 During the movement, the robot 12 is used to press the workpiece W in the determined pressing direction DR. n The tool 34 is pressed and the pressing force PF is controlled to the target value PF. T force control.

[0089] According to this embodiment, similarly to the above-mentioned embodiment, based on the motion plan data PD and the additional axis movement amount α n Generate move instruction CD n , so that the tool 34 can follow the movement of the robot 12 by the additional axis mechanism 14 and move along the work target part D, thereby reducing the cycle time and using the vector VBn Determine the pressing direction DR n , can appropriately set the pressing direction DR for the work target part D n .

[0090] Alternatively, the robot 12 and the workpiece W may be independently moved by a plurality of additional axis mechanisms. Figure 8 and Figure 9 This method is shown. Figure 8 and Figure 9 The robot system 10" shown in the figure includes a robot 12, additional axis mechanisms 14A and 14B, and a control device 50. The additional axis mechanisms 14A and 14B have respective Figure 2 as well as Figure 6 The additional shaft mechanism 14 shown has the same structure.

[0091] The control device 50 (specifically, the processor 52) of the robot system 10 drives the drive mechanism 40A based on the additional axis coordinate system C3_A of the additional axis mechanism 14A to transport the workpiece disposed on the movable portion 38A along the axis A2_A, and drives the drive mechanism 40B based on the additional axis coordinate system C3_B of the additional axis mechanism 14B to transport the robot 12 disposed on the movable portion 38B along the axis A2_B.

[0092] In this embodiment, the processor 52 moves the workpiece W by the additional axis mechanism 14A and moves the robot 12 by the additional axis mechanism 14B during operation. Figure 2 The embodiment shown and Figure 6 The method combination described in the embodiment shown in the figure can also be used by the processor 52 to execute the movement instruction CD n Generation, vector VB n Acquisition and pressing direction DR n decision.

[0093] Specifically, the processor 52 functions as the additional axis movement amount acquisition unit 60, and calculates the additional axis movement amount α by which the workpiece W is moved in the y-axis direction of the additional axis coordinate system C3_A by the additional axis mechanism 14A. n The additional axis movement amount β is added to move the robot 12 in the y-axis direction of the additional axis coordinate system C3_B by the additional axis mechanism 14B. n The additional axis movement amount after the sign of the additional axis movement amount is reversed - β1 (in other words, the additional axis movement amount α n Subtract additional axis movement β n ), to calculate the synthetic additional axis movement γ n =α n -β1. The processor 52 can calculate the additional axis movement amount γ based on the resultant nTo move the command CD n Generation, vector VB n Acquisition and pressing direction DR n decision.

[0094] Furthermore, in the above-mentioned embodiment, the target position TP included in the motion plan data PD is obtained in advance by teaching the robot 12. n However, multiple target positions TP n At least one of the positions may be an interpolated target position calculated based on a target position previously obtained through teaching of the robot 12 .

[0095] For example, the target position TP n and target position TP n+3 is obtained in advance by teaching the robot 12, and on the other hand, the target position TP is located therebetween. n+1 and target position TP n+2 It can also be based on the target position TP n and target position TP n+3 The position data of the interpolation target position obtained based on the target position taught in this way is also included in the motion plan data PD.

[0096] In the above embodiment, the tool 34 is a deburring tool and the robot 12 performs deburring on the workpiece W. However, the present invention is not limited thereto and the tool 34 may be any type of tool (e.g., a cutting tool) that is pressed against the workpiece W to perform a predetermined operation.

[0097] In addition, the additional axis mechanism 14 is not limited to a belt conveyor, and can also be, for example, a workpiece conveying device having a movable worktable and a ball screw mechanism that drives the worktable in a predetermined direction, or a traveling device having a track and a trolley that travels on the track, etc., any type of mechanism that can move the workpiece W relative to the robot 12.

[0098] In the above embodiment, the control device 50, which is a single computer, controls the robot 12 and the additional axis mechanism 14. However, the robot system 10, 10', or 10" may also include a first control device 50A that controls the robot 12 and a second control device 50B that controls the additional axis mechanism 14. In this case, the rotation detector of the servo motor 42 may be connected to the first control device 50A to provide feedback (rotation angle, etc.) to the first control device 50A.

[0099] In this case, the control devices 50A and 50B are connected to each other so as to be able to communicate with each other and perform the various functions described above while communicating with each other. In this case, either the control devices 50A or 50B can also function as the additional axis movement amount acquisition unit 60, the command generation unit 62, the vector acquisition unit 64, and the pressing direction determination unit 66.

[0100] Alternatively, the first control device 50A may implement at least one of the functions of the additional-axis movement amount acquisition unit 60, the command generation unit 62, the vector acquisition unit 64, and the pressing direction determination unit 66, while the second control device 50B may implement functions different from those of the first control device 50A among the additional-axis movement amount acquisition unit 60, the command generation unit 62, the vector acquisition unit 64, and the pressing direction determination unit 66. The present disclosure has been described above using embodiments, but the aforementioned embodiments do not limit the scope of the invention to which protection is claimed.

[0101] Explanation of symbols

[0102] 10, 10', 10" robot systems

[0103] 12 robots

[0104] 14 additional axis mechanism

[0105] 26 force sensors

[0106] 50, 50A, 50B control devices

[0107] 52 processors

[0108] 60 Additional axis movement amount acquisition unit

[0109] 62 instruction generation unit

[0110] 64 vector acquisition unit

[0111] 66: pressing direction determining unit.

Claims

1. A control device that moves a robot relative to a workpiece by means of an additional axis mechanism and simultaneously presses a tool of the robot against the workpiece to perform work on the workpiece, characterized in that: The control device comprises: an additional axis movement amount acquisition unit that repeatedly acquires an additional axis movement amount caused by the additional axis mechanism to move the robot or the workpiece; a command generating unit for repeatedly generating, based on motion plan data for causing the robot to execute an motion of moving the tool along the work target portion of the workpiece and the additional-axis motion amount, a movement command for causing the robot to follow the movement of the robot or the workpiece by the additional-axis mechanism and to move the tool along the work target portion each time the additional-axis motion amount acquiring unit acquires the additional-axis motion amount; a vector acquisition unit for acquiring, based on the motion plan data or the additional axis movement amount, a vector in a direction along the work target part, the vector being inclined according to the additional axis movement amount with respect to the movement vector of the tool moved by the robot in accordance with the movement command, each time the robot is moved to a correction target position by the movement command generated by the command generation unit; as well as A pressing direction determination unit determines a pressing direction in which the robot presses the tool against the workpiece during the operation, using the vector acquired by the vector acquisition unit, each time the robot is moved to the calibration target position.

2. The control device according to claim 1, characterized in that The motion plan data includes a plurality of target positions where the robot should position the tool during the motion and a moving path between two target positions. The vector acquisition unit acquires a vector in the direction of the movement path as the vector.

3. The control device according to claim 2, characterized in that The position data of the plurality of target positions and the data of the movement path are acquired by teaching the operation to the robot in a state where the robot or the workpiece is stationary using the additional axis mechanism.

4. The control device according to claim 1, characterized in that The vector acquisition unit obtains the vector by subtracting a movement vector obtained by moving the robot or the workpiece by the additional axis movement amount through the additional axis mechanism from the movement vector of the tool.

5. The control device according to any one of claims 1 to 4, characterized in that: The pressing direction determination unit determines a direction perpendicular to the vector as the pressing direction.

6. The control device according to any one of claims 1 to 4, characterized in that: The command generation unit further generates a force control command for controlling the pressing force of the tool used by the robot to press the workpiece in the pressing direction determined by the pressing direction determination unit to a predetermined target value.

7. A robot system, characterized in that: have: A robot having a tool; an additional axis mechanism for enabling relative movement between the robot and the workpiece; and The control device according to any one of claims 1 to 6.

8. A control method for performing work on a workpiece by pressing a tool of the robot against the workpiece while moving the robot and the workpiece relative to each other via an additional axis mechanism, characterized in that: The method comprises: repeatedly obtaining an additional axis movement amount by which the additional axis mechanism moves the robot or the workpiece; repeatedly generating, based on motion plan data for causing the robot to execute an action of moving the tool along a work target portion of the workpiece and the additional axis movement amount, a movement instruction for causing the robot to follow a movement of the robot or the workpiece by the additional axis mechanism and move the tool along the work target portion whenever the additional axis movement amount is obtained; each time the robot is moved to a correction target position by the generated movement command, obtaining, based on the motion plan data or the additional axis movement amount, a vector along the direction of the work object part that is tilted according to the additional axis movement amount with respect to a movement vector of the tool moved by the robot in accordance with the movement command; and Each time the robot is moved to the calibration target position, the obtained vector is used to determine a pressing direction in which the robot presses the tool against the workpiece during the operation.

Citation Information

Patent Citations

  • Visual sensor and deburring device provided with force sensor

    JP2015009324A

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

    CN109922931A

  • Computer assisted teaching arrangement for conveyor line operation

    US4086522A