Robot control device and control method, robot system, and device and method for generating robot motion program
By generating the robot's motion program and setting multiple target positions and additional target positions, the problem of robot target position deviation is solved, and complete coverage of the workpiece's operating object parts and improvement of finishing quality are achieved.
Patent Information
- Application Number
- CN202180028187.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-04-15
- Filing Date
- 2021-04-09
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2041-04-09
AI Technical Summary
The robot's target position deviates from the actual workpiece, and the robot cannot complete the work to the end of the work target area of the workpiece, resulting in an unworked part.
By generating a robot motion program, setting multiple target positions and additional target positions, and controlling the robot to continue working after reaching the final target position, the operation is ensured to cover the entire working area of the workpiece.
Ensure that the terminal of the workpiece's operating object part can reliably complete the operation, improve the workpiece's finishing quality, and prevent the occurrence of unoperated parts.
Smart Images

Figure CN115397631B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a robot control device and a control method, a robot system, and a device and a method for generating a robot motion program. Background Art
[0002] There is known a control device that positions a robot sequentially at a plurality of target positions and causes the robot to perform a predetermined task (for example, deburring) (for example, Patent Document 1).
[0003] Prior art literature
[0004] Patent Literature
[0005] Patent Document 1: Japanese Patent Application Laid-Open No. 2017-91269 Summary of the Invention
[0006] Problems to be solved by the invention
[0007] Conventionally, there have been cases where the target position of a robot deviated from the actual workpiece, and the robot was unable to complete the work to the end of the work target portion of the workpiece.
[0008] Means for solving problems
[0009] In one embodiment of the present disclosure, a control device of a robot includes: a robot control unit, which sequentially positions the robot at a plurality of target positions set according to shape data representing the shape of a workpiece, controls the robot to perform work along a work object portion of the workpiece, and after the robot reaches a final target position set corresponding to a terminal end of the work object portion in the shape data, the robot control unit controls the robot to continue working beyond the final target position.
[0010] In another embodiment of the present disclosure, a device for generating a motion program for a robot includes: a shape data acquisition unit, which acquires shape data representing the shape of a workpiece; a target position setting unit, which sets, based on the shape data, a plurality of target positions at which the robot should be positioned sequentially for operations on an operation object portion of the workpiece; an additional target position setting unit, which automatically sets an additional target position at a position that is a specified distance away from the last target position set by the target position setting unit corresponding to the terminal end of the operation object portion in the shape data in a specified extension direction; and a program generation unit, which generates a motion program that specifies a plurality of target positions and an additional target position.
[0011] In another embodiment of the present disclosure, regarding a method for controlling a robot, the robot is sequentially positioned at a plurality of target positions set according to shape data representing the shape of a workpiece, the robot is controlled to perform work along a work object portion of the workpiece, and after the robot reaches a final target position set corresponding to a terminal end of the work object portion in the shape data, the robot is controlled to continue working beyond the final target position.
[0012] In another embodiment of the present disclosure, regarding a method for generating a robot motion program, shape data representing the shape of a workpiece is obtained, multiple target positions of the robot that should be positioned sequentially for operations on an operation object portion of the workpiece are set according to the shape data, an additional target position is automatically set at a position that is a specified distance away from a last target position set corresponding to a terminal end of the operation object portion in the shape data in a specified extension direction, and an motion program that specifies multiple target positions and additional target positions is generated.
[0013] Effects of the Invention
[0014] According to the present disclosure, the work can be reliably completed up to the end of the work target portion, and the portion near the end can be prevented from being left unworked, thereby improving the finishing quality of the workpiece. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 This is a diagram of a robot system according to one embodiment.
[0016] Figure 2 yes Figure 1 Block diagram of the robotic system shown.
[0017] Figure 3 This is a diagram showing an example of a workpiece.
[0018] Figure 4 This is a diagram for explaining the error between the position of the work target portion obtained from the shape data and the position of the work target portion in the actual space.
[0019] Figure 5 This is a diagram schematically showing a state in which a target position is set for a work target portion acquired based on shape data.
[0020] Figure 6 Yes Figure 2 A flowchart showing an example of the flow of operations executed by the control device shown.
[0021] Figure 7 Yes Figure 2 A flowchart showing another example of the flow of operations executed by the control device shown.
[0022] Figure 8This is a block diagram of a robot system according to another embodiment.
[0023] Figure 9 Yes Figure 8 A flowchart showing an example of the flow of operations executed by the control device shown.
[0024] Figure 10 Yes Figure 8 A flowchart showing another example of the flow of operations executed by the control device shown.
[0025] Figure 11 This is a flowchart showing another example of the flow of operations executed by the control device.
[0026] Figure 12 This is a block diagram of a robot system according to another embodiment. DETAILED DESCRIPTION
[0027] Hereinafter, the embodiments of the present disclosure will be described in detail with reference to 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 A robot system 10 according to an embodiment will be described. The robot system 10 includes a robot 12 , a force sensor 14 , a vision sensor 16 , and a control device 18 .
[0028] In this embodiment, the robot 12 is a vertical multi-jointed robot having a robot base 20, a rotating body 22, a robot arm 24, a wrist 26, and an end effector 28. The robot base 20 is fixed to the floor of the work unit. The rotating body 22 is mounted on the robot base 20 so as to be rotatable about a vertical axis. The robot arm 24 has a lower arm 30 mounted on the rotating body 22 so as to be rotatable about a horizontal axis, and an upper arm 32 mounted rotatably at the distal end of the lower arm 30. The wrist 26 is mounted rotatably at the distal end of the upper arm 32 and rotatably supports the end effector 28.
[0029] The robot base 20, the rotary body 22, the robot arm 24, and the wrist 26 are each equipped with a servo motor 35 ( Figure 2 The servo motor 35 drives the movable elements of the robot 12 (i.e., the rotating body 22, the robot arm 24, and the wrist 26) according to the instructions from the control device 18. Through the operation of these movable elements, the robot 12 moves the end effector 28.
[0030] In this embodiment, the end effector 28 performs cutting to remove the RSpecifically, the end effector 28 includes a tool 34 and a tool driving unit 36 that drives the tool 34 to rotate around the axis A. The tool 34 is a deburring tool that cuts the workpiece W with its conical end portion. R The tool driving unit 36 includes, for example, a servo motor, and rotationally drives the tool 34 in response to a command from the control device 18 .
[0031] The robot coordinate system C1 is set for the robot 12 ( Figure 1 The robot coordinate system C1 is a control coordinate system used to automatically control the motion of each movable element of the robot 12 and is fixed in three-dimensional space. In this embodiment, the robot coordinate system C1 is set for the robot 12 so that its origin is located at the center of the robot base 20 and its z-axis is aligned with the rotation axis of the rotating body 22.
[0032] On the other hand, a tool coordinate system C2 is set for the tool 34. The tool coordinate system C2 is a control coordinate system used to control the position and posture of the tool 34 (i.e., the end effector 28) in the robot coordinate system C1. In this embodiment, the tool coordinate system C2 is set for the tool 34 so that its origin is located at the end point of the tool 34 and its z-axis is aligned with the axis A.
[0033] When moving the tool 34, the control device 18 sets the tool coordinate system C2 in the robot coordinate system C1 and controls the servo motors 35 of the robot 12 so that the tool 34 is positioned at the position and posture indicated by the set tool coordinate system C2. In this way, the control device 18 can position the tool 34 at any position and posture in the robot coordinate system C1.
[0034] The force sensor 14 detects the force applied to the workpiece W during operation (ie, deburring) by the robot 12. R Force F applied to tool 34. For example, force sensor 14 is a six-axis force sensor having a cylindrical main body and multiple strain gauges provided on the main body. In this embodiment, force sensor 14 is interposed between wrist 26 and end effector 28 (specifically, tool drive unit 36).
[0035] The vision sensor 16 is, for example, a two-dimensional camera or a three-dimensional vision sensor, and includes an optical system (collimating lens, focusing lens, etc.) and an imaging sensor (CCD, CMOS, etc.). The vision sensor 16 images an object and transmits the captured image data to the control device 18. The vision sensor 16 is fixed at a predetermined position relative to the end effector 28.
[0036] A sensor coordinate system C3 is set for the vision sensor 16. The sensor coordinate system C3 defines the coordinates of each pixel in the image data captured by the vision sensor 16. In this embodiment, the sensor coordinate system C3 is set for the vision sensor 16, with its origin located at the center of the light-receiving surface of the imaging sensor of the vision sensor 16, its x-axis and y-axis arranged parallel to the horizontal and vertical directions of the imaging sensor, respectively, and its z-axis aligned with the optical axis O of the vision sensor 16.
[0037] The positional relationship between the sensor coordinate system C3 and the tool coordinate system C2 is known through calibration. Therefore, the coordinates of the sensor coordinate system C3 of the image data captured by the vision sensor 16 can be transformed into the coordinates of the tool coordinate system C2 via the transformation matrix M1 obtained through calibration.
[0038] Furthermore, the coordinates of the tool coordinate system C2 can be transformed into the coordinates of the robot coordinate system C1 via a known transformation matrix M2, which is determined based on the position and orientation of the tool coordinate system C2 in the robot coordinate system C1 (i.e., the coordinates of the origin and the directions of each axis). Therefore, the coordinates of the sensor coordinate system C3 can be transformed into the coordinates of the robot coordinate system C1 via the transformation matrices M1 and M2. In this way, the vision sensor 16 is arranged in a known positional relationship with respect to the control coordinate system (robot coordinate system C1, tool coordinate system C2).
[0039] The control device 18 controls the operation of the robot 12, the force sensor 14, and the visual sensor 16. Specifically, the control device 18 is a computer including a processor 40, a storage unit 42, an I / O interface 44, an input device 46, and a display device 48. The processor 40 includes a CPU or a GPU, and is communicatively connected to the storage unit 42, the I / O interface 44, the input device 46, and the display device 48 via a bus 50. While communicating with the storage unit 42, the I / O interface 44, the input device 46, and the display device 48, the processor 40 performs computational processing to implement various functions described below.
[0040] The storage unit 42 includes RAM or ROM, etc., and temporarily or permanently stores various data. The I / O interface 44 includes, for example, an Ethernet (registered trademark) port, a USB port, a fiber optic connector, or an HFMI (registered trademark) terminal, and communicates data with external devices wirelessly or by wire under instructions from the processor 40. The servo motor 35, tool driver 36, force sensor 14, and vision sensor 16 are connected to the I / O interface 44 wirelessly or by wire to enable communication.
[0041] The input device 46 includes a keyboard, a mouse, or a touch panel, and receives input operations from the operator and sends the input information to the processor 40. The display device 48 includes an LCD or an organic EL display, and displays various information in response to instructions from the processor 40.
[0042] Figure 3 The workpiece W to be the work object of the robot 12 is shown. R In this embodiment, the workpiece W R Vertex D R Extend to vertex E R Edge F R The processor 40 makes the robot 12 move according to the operation program OP to remove the burrs from the workpiece W. R This operation program OP is stored in the storage unit 42 in advance.
[0043] Next, a method for generating the operation program OP in the robot system 10 will be described. First, the processor 40 obtains the workpiece W. R The workpiece model W obtained by modeling M For example, an operator operates a drawing device (CAD device, etc.) to create a workpiece model W. M The drawing data DD is supplied from the drawing making device to the control device 18.
[0044] The processor 40 obtains the drawing data DD via the I / O interface 44 and stores it in the storage unit 42. The drawing data DD is related to the workpiece W. R Therefore, the processor 40 serves as a shape data acquisition unit 102 ( Figure 2 ) to perform its function.
[0045] Next, the processor 40 receives the workpiece model W M Specifically, the processor 40 converts the workpiece model W M The workpiece model W is displayed on the display device 48, and the operator visually confirms the workpiece model W displayed on the display device 48. M , while operating the input device 46, inputting the workpiece model W M The middle will make the edge F R The edge model F obtained by modeling M The processor 40 converts the edge model F into the edge model F according to the input information from the operator. M Set as the work target part F in the drawing data DD M .
[0046] Next, the processor 40 processes the workpiece model W according toM Set the work target part F M , obtain the work object part F in the robot coordinate system C1 M Here, in this embodiment, in the actual space, the workpiece W R The working object part (edge) F R The workpiece W is extended parallel to the x-axis of the robot coordinate system C1. R The processor 40 can determine the known setup position in the robot coordinate system C1 based on the setup position data in the robot coordinate system C1 and the workpiece model W. M Get the work object part F in the robot coordinate system C1 M Position P FM 's data (specifically, coordinates).
[0047] Next, the processor 40 activates the visual sensor 16 to capture an image of the actual workpiece W. R The working object part (ie, edge) F R Specifically, the processor 40 obtains the position P of the robot coordinate system C1. FM The robot 12 is operated and the visual sensor 16 is positioned so that the work target part F R Shooting position that is within the field of vision.
[0048] Next, the processor 40 operates the visual sensor 16 to image the workpiece W. R At this time, in the image data ID captured by the visual sensor 16, the work target area F R As the work target part image ID F The image data ID captured by the visual sensor 16 and the workpiece W R The shape data corresponds to the shape.
[0049] The processor 40 functions as the shape data acquisition unit 102 and acquires the image data ID from the visual sensor 16. The processor 40 then analyzes the image data ID to extract the feature points that appear in the image data ID and determines the image ID of the work target part that appears in the image data ID. F .
[0050] Next, the processor 40 uses the above-mentioned transformation matrices M1 and M2 to transform the work target part image ID F The coordinates of the sensor coordinate system C3 are transformed into the robot coordinate system C1, and the work object part F in the robot coordinate system C1 is obtained. R Position P FIThus, in this embodiment, the processor 40 obtains the work target part F in the control coordinate system (robot coordinate system C1) based on the image data ID. R Position P FI Position acquisition unit 104 ( Figure 2 ) to perform its function.
[0051] Here, the processor 40 may obtain the work target area F based on the image data ID. R Position P FI and the workpiece W set in the actual space R The working part F R There is an error between the positions. Figure 4 This error will be described. Figure 4 The dotted line in the figure schematically represents the actual workpiece W in the robot coordinate system C1. R On the other hand, Figure 4 The solid line F I Indicates that the robot is at the position P obtained from the image data ID in the robot coordinate system C1. FI The working part F I .
[0052] like Figure 4 As shown, the work target part F obtained based on the image data ID I Terminal E I Compared with the actual workpiece W R The working part F R The terminal (i.e., vertex) E R The mutual deviation error δ. Such an error may be caused by the positioning accuracy of the robot 12 when the visual sensor 16 is configured at the shooting position, the detection accuracy of the visual sensor 16, the resolution of the image data ID, the actual workpiece W R With workpiece model W M The dimensional error of the workpiece W in the actual space R This is caused by errors in the setting position, etc.
[0053] Next, the processor 40 calculates the position P according to the obtained position FI , set for workpiece W R The robot 12 (specifically, the end point of the tool 34) should be positioned in sequence to obtain a plurality of target positions TP. n Specifically, the processor 40 sets the robot coordinate system C1 to correspond to the work object part F I Position P FI Corresponding to (for example, with position P FI Consistent, or from position P FIKeep a distance from the workpiece and follow the workpiece F I Automatically set multiple target positions TP n (n=1, 2, 3, ..., m-2, m-1, m).
[0054] Figure 5 The target position TP set in this way is schematically shown n Here, the processor 40 converts multiple target positions TP into n The final target position TP of the robot 12 should be positioned at the time of operation. m With the work object part F I Terminal E I In other words, the final target position TP m The work target part F in the image data ID R (ie, the work target part image ID F ) terminal E R Set accordingly.
[0055] Thus, in this embodiment, the processor 40 sets the target position TP based on the shape data (drawing data DD, image data ID). n The target position setting unit 106 ( Figure 2 ) function. The processor 40 sets each target position TP n Position data (coordinates) in the robot coordinate system C1 are stored in the storage unit 42 .
[0056] Here, it is assumed that the processor 40 generates a target position TP set as described above. n When the robot 12 reaches the final target position TP, m In this case, the final target position TP m From the actual workpiece W R Vertex E R Deviation error δ, therefore, the actual work target part F R Terminal E in R The vicinity of the workpiece may become unused.
[0057] In order to avoid such a situation, in this embodiment, the processor 40 sets the last target position TP m The additional target position TP is automatically set at a position away from the predetermined distance Δ in the predetermined extension direction ED. ASpecifically, the processor 40 first sets the extension direction ED. As an example, the processor 40 determines the work target part image ID by analyzing the image data ID. F End point E R The processor 40 determines the work target part image ID F The extending direction is set as the extension direction ED.
[0058] As another example, the processor 40 refers to the workpiece model W M Drawing data DD, the workpiece model W M The edge model F when configured at a known installation position in the robot coordinate system C1 M The extending direction of is set as the extension direction ED. In this way, in the case of these examples, the processor 40 sets the extension direction ED based on the shape data (image data ID, drawing data DD).
[0059] As another example, the processor 40 may also determine the final target position TP according to the setting. m , and than the final target position TP m Forward target position TP n (n<m) is used to set the extension direction ED. For example, the processor 40 determines the direction from the last target position TP m The target position TP immediately before m-1 To the final target position TP m Vector VD1.
[0060] The processor 40 sets the direction of the vector VD1 as the extension direction ED. In this example, the processor 40 sets the direction of the vector VD1 as the extension direction ED. n Thus, in this embodiment, the processor 40 sets the extension direction ED based on the shape data (image data ID, drawing data DD) or the target position TP. n The direction setting unit 108 ( Figure 2 ) to perform its function.
[0061] Next, the processor 40 moves from the final target position TP in the robot coordinate system C1. m The additional target position TP is automatically set to a position separated by a distance Δ from the set extension direction ED. A The distance Δ is determined in advance by the operator and stored in the storage unit 42. The processor 40 sets the additional target position TP to A The position data (coordinates) in the robot coordinate system C1 are stored in the storage unit 42. In this way, the processor 40 sets the additional target position TP. A The additional target position setting unit 110 ( Figure 2) to perform its function.
[0062] Next, the processor 40 uses the plurality of target positions TP n Position data (n=1 to m) and additional target position TP A The position data of these target positions TP is generated n And add target position TP A The operation program OP is a computer program that causes the robot 12 to execute a series of operations for work.
[0063] The target position TP is specified in the action program OP. n And add target position TP A Position data for the target location TP n Positioning command statement, 2 target position TP n and TP n+1 Thus, in this embodiment, the processor 40 serves as the program generating unit 112 ( Figure 2 ) to perform its function.
[0064] As described above, the processor 40 functions as the shape data acquisition unit 102, the position acquisition unit 104, the target position setting unit 106, the direction setting unit 108, the additional target position setting unit 110, and the program generation unit 112 to generate the action program OP. Therefore, the shape data acquisition unit 102, the position acquisition unit 104, the target position setting unit 106, the direction setting unit 108, the additional target position setting unit 110, and the program generation unit 112 constitute the device 100 ( Figure 2 ).
[0065] Next, refer to Figure 6 , an example of the action flow executed by the control device 18 is described. When the processor 40 receives a work start instruction from the operator, the upper controller or the computer program (for example, the above-mentioned action program OP), the operation starts. Figure 6 The process shown.
[0066] In step S1, the processor 40 starts to process the workpiece W. R Specifically, the processor 40 starts the following operations: the robot 12 is controlled according to the operation program OP, and the tool 34 is rotated and driven by the tool driving unit 36 while the tool 34 is rotated relative to the workpiece W. R While pressing the tool 34, the tool 34 (or the origin of the tool coordinate system C2) is moved to the target positions TP1, TP2, TP3, . . . TP mThus, the tool 34 is used to position the workpiece along the workpiece F. R Cutting workpiece W R Thus, in this embodiment, the processor 40 serves as the robot control unit 52 ( Figure 2 ) to perform its function.
[0067] In step S2, the processor 40 starts the profiling control. Specifically, the processor 40 continuously obtains data of the force F detected continuously (for example, periodically) by the force sensor 14. Thus, in this embodiment, the processor 40 serves as the force acquisition unit 54 ( Figure 2 ) to perform its function.
[0068] Then, the processor 40 moves the robot 12 relative to the workpiece W according to the force F obtained. R Pressing force F of the pressing tool 34 P Control to a predetermined target value F T For example, the processor 40 determines whether the magnitude of the force F obtained is within the target value F T The range predetermined as a benchmark [F th1 , F th2 ]Inside(F th1 ≤F≤F th2 ). Define the range [F th1 , F th2 The threshold F th1 and F th2 For example, as a satisfying F th1 ≤F T ≤F th2 The value of is determined in advance by the operator and stored in the storage unit 42.
[0069] Processor 40 in F th1 >F, it is judged as the pressing force F P Too small than the target value F T , the robot 12 is moved to move the tool 34 toward the workpiece W R direction (for example, the negative direction of the z-axis of the robot coordinate system C1) so that the workpiece W R Pressing force F P Increase.
[0070] In addition, the processor 40 is in the state where F>F th2 In the case of pressure F P Excessively greater than the target value F T , the robot 12 is moved to move the tool 34 away from the workpiece W Rdirection (for example, the positive direction of the z-axis of the robot coordinate system C1) so that the workpiece W R Pressing force F P Thus, the processor 40 executes the pressing force F P Controlled to target value F T Profiling control.
[0071] In step S3, the processor 40 determines whether the robot 12 has reached the final target position TP. m Specifically, the processor 40 receives a position feedback signal FB indicating the rotational position (or rotational angle) of the servo motor 35 from a rotation detector (encoder or Hall element, etc.) provided on each servo motor 35 of the robot 12. T .
[0072] The processor 40 can be based on the position feedback FB from each servo motor 35 T , find the position P of the tool 34 in the robot coordinate system C1 (or the origin of the tool coordinate system C2) T In step S3, the processor 40 determines the position P of the tool 34. T Is it consistent with the final target position TP m Consistent (or, whether it is the final target position TP m within the range determined as a benchmark).
[0073] The processor 40 determines that the position P T and the final target position TP m If the result is consistent (ie, yes), the process proceeds to step S4. On the other hand, if the result is determined to be position P T Did not reach the final target position TP m (ie, NO), the process loops to step S3. After the determination of YES in step S3, the processor 40 causes the robot 12 to move the tool 34 pressed against the workpiece W beyond the final target position TP. m And towards the additional target position TP A Move, and thus continue working.
[0074] In step S4, the processor 40 determines whether the magnitude of the force F recently obtained from the force sensor 14 is equal to the threshold value F. th0 Below. The threshold F th0 For example, the operator predetermines a value close to zero (F th1 >F th0 ≈0) and stored in the storage unit 42.
[0075] The processor 40 determines that the force F is the threshold F th0If the result is below (ie, yes), the process proceeds to step S6. On the other hand, if the force F is determined to be greater than the threshold value F th0 (ie, No), the process proceeds to step S5. Thus, in this embodiment, as the force determination unit 56 ( Figure 2 ) function, the force determination unit 56 determines that the robot 12 exceeds the final target position TP m During the operation, whether the force F is the threshold value F th0 the following.
[0076] In step S5, the processor 40 determines whether the robot 12 has reached the additional target position TP. A Specifically, the processor 40 determines the position feedback FB T The above position P is obtained T Whether to add target position TP A Consistent (or, whether the additional target position TP A within the range determined as a benchmark).
[0077] The processor 40 determines that the position P T and additional target position TP A If the result is consistent (ie, yes), the process proceeds to step S6. On the other hand, if the result is determined to be position P T Did not reach the additional target position TP A (ie, No), the process returns to step S4. Thus, the processor 40 loops through steps S4 and S5 and continues the process until a Yes determination is made in step S4 or S5.
[0078] In step S6, the processor 40 terminates the operation. Specifically, the processor 40 causes the robot 12 to move the tool 34 in a predetermined retraction direction (e.g., the positive z-axis direction of the robot coordinate system C1) to separate it from the workpiece W. The processor 40 also stops the operation of the tool driver 36, thereby stopping the rotation of the tool 34. Thus, the processor 40 terminates the operation on the workpiece W.
[0079] Thus, in this embodiment, the processor 40 is configured to execute the following operations when the robot 12 reaches the final target position TP: m After that, beyond the final target position TP m According to this structure, even if the error δ mentioned above occurs, the work can be completed until the work target part F is reached. R Terminal E R , preventing the terminal E R The vicinity of is not operated. Thus, the finishing quality of the workpiece W can be improved.
[0080] In addition, in this embodiment, the processor 40 follows then In addition, additional target position TP is specified A The action program OP causes the robot 12 to move, so that the robot 12 continues to work until the additional target position TP is reached. A According to this structure, the processor 40 can complete the work reliably and quickly through the robot 12 until the work target part F R Terminal E R .
[0081] In the present embodiment, it is determined in step S4 whether the force F is equal to the threshold value F. th0 If the result is yes, the operation is terminated (step S6). m Go to the additional target location TP A During the operation, the tool 34 may overtake the workpiece W in the positive direction of the x-axis of the robot coordinate system C1. R The working part F R Terminal E R In this case, the tool 34 is removed from the workpiece W. R Leave, therefore, from the workpiece W R The force F applied to the tool 34 decreases rapidly.
[0082] According to this embodiment, the force F is monitored to detect when the tool 34 exceeds the terminal E. R In the case of tool 34 exceeding terminal E R When the possibility of the robot 12 exceeding the terminal E is high (ie, when it is determined to be yes in step S4), the operation is terminated and the robot 12 is retreated. R The possibility of the robot 12 moving and interfering with surrounding objects can be reduced, and the work can be completed quickly, thereby reducing the cycle time of the work.
[0083] In addition, in this embodiment, the processor 40 assumes the functions of the device 100 having the shape data acquisition unit 102, the target position setting unit 106, the additional target position setting unit 110 and the program generation unit 112, and generates the action program OP. According to the device 100, it is possible to automatically generate a target position TP defined based on the shape data (drawing data DD, image data ID). n And add target position TP A Action program OP.
[0084] In addition, in this embodiment, the device 100 further includes a position acquisition unit 104 that acquires the work target part F in the control coordinate system (robot coordinate system C1) based on the image data ID. R Position P FI, the device 100 obtains the position P FI Set multiple target positions TP n According to this structure, multiple target positions TP can be n Set relative to the workpiece W actually set in the control coordinate system (robot coordinate system C1) R The working part F R By accurately matching to a certain extent, it is possible to prevent the above error δ from becoming too large.
[0085] In addition, in this embodiment, the device 100 further includes a direction setting unit 108 that sets the direction of the target position TP according to the shape data (drawing data DD, image data ID) or the target position TP. n According to this structure, the extension direction ED of the operation can be set to be substantially along the operation target part F. R Therefore, it is possible to extend along the working object part F R Continue the operation accurately until the terminal E R .
[0086] Next, refer to Figure 7 , another example of the action flow executed by the control device 18 is described. Figure 7 The process shown is similar to Figure 6 The difference of the flow shown is that it further includes steps S7 and S8. Specifically, when the processor 40 determines that it is yes in step S4, in step S7, it ends the profiling control started in step S2. As a result, the processor 40 does not move the tool 34 relative to the workpiece W. R Move forward or backward (for example, move in the z-axis direction of the robot coordinate system C1) to the additional target position TP A move.
[0087] In step S8, the processor 40 determines whether the robot 12 has reached the additional target position TP, similar to step S5. A If the judgment is yes, the process proceeds to step S6. On the other hand, if the judgment is no, the process loops to step S8. Thus, according to the present embodiment, when the robot 12 exceeds the final target position TP, m The force F during the continuous operation is the threshold F th0 Below (ie, tool 34 exceeds terminal E R ), the contour control is terminated. This prevents the processor 40 from executing unnecessary contour control, thereby reducing the amount of calculation of the processor 40 and reducing the possibility of interference between the robot 12 and the surrounding environment.
[0088] Next, refer to Figure 8, another function of the control device 18 will be described. In this embodiment, the control device 18 has the functions of the movement amount acquisition unit 58 and the movement determination unit 60 instead of the above-mentioned force determination unit 56. Figure 9 ,right Figure 8 An example of the operation flow executed by the control device 18 shown in FIG. Figure 9 In the process shown, Figure 6 The same steps in the flow chart are marked with the same step numbers and repeated descriptions are omitted.
[0089] exist Figure 9 After the process shown in the figure starts, the processor 40 executes the above steps S1 to S3. In this embodiment, after the processor 40 determines that it is yes in step S3, it continuously (for example, periodically) obtains the position of the robot 12 (specifically, the tool 34) relative to the workpiece W. R The amount of movement ξ of the pressing tool 34 in the direction PD (for example, the negative z-axis direction of the robot coordinate system C1 ).
[0090] Specifically, the processor 40 receives the position feedback FB from each servo motor 35. T Continuously obtain the above position P T , according to the position P T , the movement amount ξ of the robot 12 (end effector 28) in the direction PD is obtained. In this way, the processor 40 obtains the movement amount ξ during the robot 12 performs the work and stores it in the storage unit 42. Therefore, the processor 40 serves as the movement amount acquisition unit 58 ( Figure 8 ) performs the function. In addition, the processor 40 may also start the action of obtaining the movement amount ξ when the operation is started in step S1.
[0091] In step S9, the processor 40 determines whether the most recently acquired movement amount ξ exceeds a predetermined threshold value ξ. th The threshold ξ th The operator predetermines the value and stores it in the storage unit 42. When the movement amount ξ exceeds the threshold value ξ, the processor 40 th (ξ≥ξ th ) is judged to be yes, and the process proceeds to step S6. On the other hand, if the movement amount ξ does not exceed the threshold value ξ th (ξ<ξ th ) is judged to be negative, and the process proceeds to step S5. Thus, the processor 40 acts as the movement determination unit 60 ( Figure 8 ) function, the movement determination unit 60 determines that the robot 12 exceeds the final target position TP m While the operation is continuing, whether the movement amount ξ exceeds the threshold ξ th .
[0092] As described above, in this embodiment, the processor 40 determines in step S9 that the movement amount ξ exceeds the threshold value ξ. th In the case of the last target position TP, the operation is completed (step S6). m Go to the additional target location TP A During the operation, if the tool 34 exceeds the terminal E R , the tool 34 is rapidly displaced in the direction PD (for example, the negative z-axis direction of the robot coordinate system C1 ), thereby increasing the movement amount ξ in the direction PD.
[0093] According to this embodiment, the tool 34 is detected to have passed the terminal E by monitoring the movement amount ξ. R In the case of tool 34 exceeding terminal E R When the possibility of the robot 12 exceeding the terminal E is high (ie, when it is determined to be yes in step S9), the operation is terminated and the robot 12 is retreated. R The possibility of the robot 12 moving and interfering with surrounding objects can be reduced, and the work can be completed quickly, thereby reducing the cycle time of the work.
[0094] Next, refer to Figure 10 ,right Figure 8 Another example of the operation flow executed by the control device 18 shown in FIG. Figure 10 The process shown is similar to Figure 9 The flow shown differs in that it also includes steps S7 and S8. Specifically, if the processor 40 determines "yes" in step S9, it executes step S7 to terminate the contour control, and then executes step S8. This embodiment prevents the processor 40 from executing unnecessary contour control, thereby reducing the amount of computation required by the processor 40 and lowering the likelihood of interference between the robot 12 and surrounding objects.
[0095] In addition, Figure 8 In the embodiment shown, the processor 40 may obtain the speed or acceleration of the robot 12 (end effector 28) in the direction PD instead of (or in addition to) the movement amount ξ. Furthermore, the processor 40 may determine in step S9 whether the obtained speed or acceleration exceeds a predetermined threshold. R In the case of the robot 12, the speed or acceleration also increases. Therefore, by monitoring the speed or acceleration, it is possible to detect that the tool 34 exceeds the terminal E. R situation.
[0096] In the above embodiment, the processor 40 determines the target position TP in step S1. nAnd add target position TP A However, the processor 40 is not limited to this and can also perform the operation according to the unspecified additional target position TP. A The action program OP' is used to execute the job.
[0097] exist Figure 11 An example of such an action flow is shown in . For example, Figure 2 The processor 40 of the control device 18 is shown executing Figure 11 In addition, Figure 11 In the process shown, Figure 6 The same steps in the flow chart are marked with the same step numbers and repeated descriptions are omitted.
[0098] In step S1, the processor 40 controls the robot 12 according to the operation program OP' to start the operation. In the operation program OP', a plurality of target positions TP are defined. n (n=1, 2, 3, ..., m-2, m-1, m), on the other hand, the additional target position TP is not specified. A Afterwards, the processor 40 executes steps S2 to S4.
[0099] If the determination in step S4 is negative, the processor 40 continues the work by the robot 12 in step S10. Specifically, the processor 40 first determines the extension direction ED. As an example, the processor 40 obtains the movement direction of the robot 12 (tool 34) at the time when the determination in step S3 is positive (or when the determination in step S4 is negative).
[0100] For example, the processor 40 can be based on the position feedback FB T The above position P is obtained T The processor 40 determines the obtained moving direction as the extension direction ED. Alternatively, the processor 40 may determine the moving direction ED according to the shape data (image data ID, drawing data DD) or the target position TP in the same manner as the direction setting unit 108. n To determine the extension direction ED.
[0101] Then, the processor 40 moves the robot 12 in the determined extension direction ED and continues the rotation of the tool 34 by the tool driving unit 36, thereby continuing the rotation of the workpiece W. R Then, the processor 40 returns to step S4. Here, even if the robot 12 reaches the final target position TP m , at this time from the workpiece W R The force F applied to the tool 34 is greater than the threshold F th0 (F>F th0) in the case that the tool 34 does not exceed the terminal E R , the working part F R Terminal E R The vicinity of the device may be unused.
[0102] In this embodiment, when the robot 12 reaches the final target position TP m At the time point (i.e., the time point when it is determined to be yes in step S3), it is determined whether to continue the operation based on the magnitude of the force F. According to this structure, even if the additional target position TP is not specified, A The action program OP' executes the job and can reliably complete the job until the terminal E R .
[0103] Furthermore, in the above embodiment, the case where the device 100 is implemented in the control device 18 as a function executed by the processor 40 has been described. However, the present invention is not limited thereto, and the device 100 may be provided outside the control device 18. Figure 12 Indicates this way. Figure 12 The robot system 70 shown has, in addition to the robot 12 , the force sensor 14 , the vision sensor 16 , and the control device 18 described above, a design aid 72 .
[0104] The design support device 72 includes a CAD device 74 and a CAM device 76. The CAD device 74 receives the operator's operation and creates a workpiece model W. M The CAM device 76 is a device that generates a computer program based on the drawing data (3D CAD data).
[0105] In this embodiment, the device 100 is installed in the CAM device 76. The CAM device 76 receives the drawing data DD from the CAD device 74, and functions as a shape data acquisition unit 102, a position acquisition unit 104, a target position setting unit 106, a direction setting unit 108, an additional target position setting unit 110, and a program generation unit 112 to generate an operation program OP.
[0106] The design support device 72 is communicatively connected to the I / O interface 44 of the control device 18, and obtains the position data of the robot 12 and the image data ID captured by the vision sensor 16 from the control device 18. Furthermore, the design support device 72 transmits the generated operation program OP to the control device 18. The CAD device 74 and the CAM device 76 may be separate computers each having a processor (CPU, GPU, etc.) and a storage unit (ROM, RAM), or may be constituted by a single computer having a common processor and storage unit.
[0107] In the above-described embodiment, the processor 40 sets the target position TP based on the image data ID as the shape data. n However, the processor 40 is not limited to this and can also set the target position TP based on the drawing data DD as the shape data. n .
[0108] For example, the processor 40 may also generate a M The above position P is obtained FM , set the target position TP in the robot coordinate system C1 n With the position P FM In this case, the visual sensor 16 can be omitted from the robot systems 10 and 70 .
[0109] In addition, in the above embodiment, the force sensor 14 is described as being located between the wrist 26 and the end effector 28. However, it may be located at any location of the robot 12 (e.g., the robot base 20, the lower arm 30, or the upper arm 32). In addition, the force sensor 14 is not limited to a 6-axis force sensor. For example, it may include multiple torque sensors that are located at each servo motor 35 and detect the torque applied to the servo motor 35. The processor 40 can obtain torque (force) data from the multiple torque sensors and calculate the torque (force) from the workpiece W based on the torque. R A force F is applied to the tool 34 .
[0110] In addition, the force sensor 14 can also be omitted from the robot system 10, 70. For example, the processor 40 can also function as the force acquisition unit 54 to obtain the current feedback (disturbance torque) FB from each servo motor 35. C , according to the current feedback FB C To obtain force F.
[0111] In addition, you can also Figure 2 The control device 18 shown in the figure omits the force acquisition unit 54 and the force determination unit 56. In this case, Figure 6 Steps S2 and S4 are omitted in the process shown in FIG. Figure 8 The control device 18 shown in FIG. 1 omits the force acquisition unit 54, the movement amount acquisition unit 58, and the movement determination unit 60. In this case, Figure 9 The illustrated process omits steps S2 and S9.
[0112] In addition, the position acquisition unit 104 can also be omitted from the above-mentioned apparatus 100. For example, the processor 40 can also set the target position TP based on the drawing data DD as described above. nIn this case, the process of obtaining the work target part F in the control coordinate system from the image data ID can be omitted. R Position P FI process.
[0113] In addition, the direction setting unit 108 can also be omitted from the device 100. For example, in the embodiment described above, the work target area F R When the robot coordinate system C1 is arranged to extend parallel to the x-axis (in other words, in the work target area F R The extension direction ED can also be predetermined by the operator as the positive direction of the x-axis of the robot coordinate system C1 (the known extension direction). In this case, the extension direction ED can be omitted according to the shape data or the target position TP. n The process of setting the extension direction ED.
[0114] In the apparatus 100, the additional target position setting unit 110 may also change the distance Δ according to predetermined working conditions. The working conditions include, for example, the moving speed and moving path of the robot 12 (specifically, the tool 34), the workpiece W, and the position of the workpiece W. R specifications (size, shape, material, etc.), specifications of the visual sensor 16 (resolution of image data ID, size of the shooting sensor, etc.).
[0115] As an example, the processor 40 may also change the distance Δ according to the resolution so that the lower the resolution of the image data ID, the larger the distance Δ. The lower the resolution of the image data ID, the larger the error δ may be. Therefore, by increasing the distance Δ according to the lower resolution, it is possible to more reliably avoid the error δ at the work target part F. R Generates unfinished work.
[0116] As another example, the processor 40 may also change the distance Δ according to the moving speed so that the greater the moving speed of the robot 12, the smaller the distance Δ. If the moving speed is high, the moving distance of the robot 12 tends to increase. Therefore, by reducing the distance Δ according to the size of the moving speed, the tool 34 can be reduced from passing the terminal E. R The possibility of continuing the work.
[0117] In addition, the control coordinate system is not limited to the robot coordinate system C1 and the tool coordinate system C2. For example, a world coordinate system or a workpiece coordinate system can be set. The world coordinate system is a coordinate system that specifies the three-dimensional space of the working unit of the robot 12. The robot coordinate system C1 is fixed in the world coordinate system. In addition, the workpiece coordinate system specifies the workpiece W in the robot coordinate system C1 (or the world coordinate system). R The coordinate system of the position and posture.
[0118] In the above embodiment, the robot 12 performs the workpiece W R The deburring operation is described in detail, but the concept of the present disclosure can also be applied to positioning the robot 12 at multiple target positions TP n For example, the robot 12 can perform any operation on the workpiece W. R The surface of the workpiece can also be ground. R Laser processing (laser cutting, laser welding), or the workpiece W R As mentioned above, although this disclosure was demonstrated through embodiment, the said embodiment does not limit the invention of the claim.
[0119] Description of Reference Numerals
[0120] 10,70 Robotic System
[0121] 12 Robot
[0122] 14 Force Sensor
[0123] 16 Vision Sensors
[0124] 18 Control Device
[0125] 40 processors
[0126] 42 Storage
[0127] 52 Robot Control Unit
[0128] 54 Power Acquisition Department
[0129] 56 Strength Determination Department
[0130] 58 Movement amount acquisition unit
[0131] 60 Movement Determination Unit
[0132] 100 devices
[0133] 102 Shape data acquisition unit
[0134] 104 Position Acquisition Unit
[0135] 106 Target position setting unit
[0136] 108 Direction Setting Unit
[0137] 110 Added target position setting unit
[0138] 112 Program Generation Department.
Claims
1. A robot control device, characterized in that: The control device includes a robot control unit that sequentially positions the robot at a plurality of target positions set based on shape data representing the shape of a workpiece, and controls the robot to perform work along a work target portion of the workpiece. After the robot reaches the final target position set corresponding to the terminal end of the work target portion in the shape data, the robot control unit controls the robot to continue the work beyond the final target position.
2. The control device according to claim 1, characterized in that The control device further includes a storage unit storing an operation program that defines the plurality of target positions and an additional target position set at a position away from the last target position by a predetermined distance in a predetermined extension direction. The robot control unit operates the robot according to the operation program, and after the robot reaches the final target position, the robot continues the operation until reaching the additional target position.
3. The control device according to claim 1 or 2, characterized in that: The robot control unit performs the work by pressing the tool of the robot against the workpiece. The control device also has: a force acquisition unit that acquires data of a force applied from the workpiece to the robot when the robot performs the work; The force determination unit determines whether the force is equal to or less than a predetermined threshold value while the work is continued beyond the final target position.
4. The control device according to claim 3, characterized in that When the force determination unit determines that the force is equal to or less than the threshold value, the robot control unit ends the work.
5. The control device according to claim 3, characterized in that The robot control unit performs contour control to control the pressing force of the tool pressed by the robot against the workpiece to a predetermined target value based on the force acquired by the force acquisition unit during the execution of the work. When the force determination unit determines that the force is equal to or less than the threshold value, the robot control unit ends the contour control.
6. The control device according to claim 1 or 2, characterized in that: The robot control unit performs the work by pressing the tool of the robot against the workpiece. The control device also has: a movement amount acquisition unit configured to acquire a movement amount of the robot in a direction in which the tool is pressed against the workpiece when the robot performs the work; The movement determination unit determines whether the movement amount exceeds a predetermined threshold value while the operation is continued beyond the final target position.
7. The control device according to claim 6, characterized in that When the movement determination unit determines that the movement amount exceeds the threshold value, the robot control unit ends the work.
8. The control device according to claim 6, characterized in that The control device further includes a force acquisition unit that acquires data of a force applied from the workpiece to the robot when the robot performs the work. During the execution of the operation, the robot control unit performs contour control to control the pressing force of the tool pressed by the robot against the workpiece to a predetermined target value based on the force acquired by the force acquisition unit. When the movement determination unit determines that the movement amount exceeds the threshold value, the robot control unit ends the contour control.
9. A robot system, characterized in that: have: Robots; and The control device according to any one of claims 1 to 8.
10. A device for generating a robot motion program, characterized in that: The device has: a shape data acquisition unit that acquires shape data representing the shape of the workpiece; a target position setting unit that sets, based on the shape data, a plurality of target positions at which the robot should be positioned sequentially for performing work on a work target portion of the workpiece; an additional target position setting unit that automatically sets an additional target position at a position that is separated by a predetermined distance in a predetermined extension direction from the last target position set by the target position setting unit corresponding to the terminal end of the work target portion in the shape data; A program generating unit generates the operating program that defines the plurality of target positions and the additional target position.
11. The device according to claim 10, characterized in that The shape data acquisition unit acquires image data of the workpiece captured by a visual sensor as the shape data, wherein the visual sensor is arranged in a known positional relationship with respect to a control coordinate system for controlling the robot. The apparatus further includes a position acquisition unit configured to acquire a position of the work target portion in the control coordinate system based on the image data. The target position setting unit sets the plurality of target positions based on the position of the work target portion acquired by the position acquisition unit.
12. The device according to claim 10 or 11, characterized in that The apparatus further includes a direction setting unit configured to set the extension direction based on the shape data or the target position.
13. A robot control method, characterized in that: The robot is sequentially positioned at a plurality of target positions set according to shape data representing the shape of a workpiece, and the robot is controlled to perform work along a work target portion of the workpiece. After the robot reaches the final target position set corresponding to the terminal end of the work target portion in the shape data, the robot is controlled to continue the work beyond the final target position.
14. A method for generating a robot motion program, characterized in that: Acquire shape data representing the shape of the workpiece, A plurality of target positions where the robot should be positioned sequentially for working on a working target portion of the workpiece are set based on the shape data. automatically setting an additional target position at a position separated by a predetermined distance in a predetermined extension direction from the last target position set corresponding to the terminal end of the work target portion in the shape data; The operation program that defines the plurality of target positions and the additional target position is generated.
Citation Information
Patent Citations
Machining tool
JP2017091269A
Operation teaching method for working robot
JP1994262562A
Flexible controller for robot
JP1997179632A
Visual sensor and deburring device provided with force sensor
JP2015009324A