Device for determining the position of a recess to be formed by a lapping process, robotic system and method
Patent Information
- Application Number
- CN202280010101.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-01-22
- Filing Date
- 2022-01-17
- Publication Date
- 2026-08-28
- Estimated Expiration
- 2042-01-17
AI Technical Summary
[0012] According to this disclosure, the position of the recess can be automatically determined on the surface of the workpiece, thus simplifying the operation required to start up the robot system for scraping.
Smart Images

Figure CN116783038B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to apparatus, robot systems, and methods for determining the location of recesses that should be formed on the surface of a workpiece by scraping. Background Technology
[0002] A robot for performing scraping processing is known (e.g., Patent Document 1).
[0003] Existing technical documents
[0004] Patent documents
[0005] Patent Document 1: Japanese Patent Application Publication No. 2004-042164 Summary of the Invention
[0006] The problem the invention aims to solve
[0007] Sometimes, scraping is performed repeatedly by robots by creating multiple recesses on the surface of a workpiece. There is a search for a simpler way to construct a robotic system capable of performing such scraping operations.
[0008] Solution for solving the problem
[0009] In one aspect of this disclosure, an apparatus is provided for determining the positions of a plurality of recesses formed on a surface by a scraping process performed by a robot using a scraping tool to flatten the surface of a workpiece. The apparatus comprises: an input receiving unit that receives input of shape information of a surface and pattern information of a plurality of recesses on the surface; and a position determining unit that automatically determines the position of each recess on the surface based on the shape information and pattern information received by the input receiving unit.
[0010] In another aspect of this disclosure, a method for determining the positions of a plurality of recesses, said recesses being formed on the surface by a scraping process in which a robot scrapes the surface of a workpiece using a scraping tool to make it flat, wherein in said method, a processor receives input of shape information of the surface and pattern information of the plurality of recesses on the surface, and the processor automatically determines the position of each recess on the surface based on the received shape information and pattern information.
[0011] The effects of the invention
[0012] According to this disclosure, the position of the recess can be automatically determined on the surface of the workpiece, thus simplifying the operation required to start up the robot system for scraping. Attached Figure Description
[0013] Figure 1 This is a schematic diagram of a robot system involved in one implementation method.
[0014] Figure 2 yes Figure 1 The diagram shows a block diagram of the robot system.
[0015] Figure 3 From Figure 1 Observe arrow B in the middle. Figure 1 An enlarged view of the scraper shown.
[0016] Figure 4 Showing will Figure 1 The scraping tool is shown pressed against the surface of the workpiece.
[0017] Figure 5 An example of a teaching point set for the surface of a workpiece is shown.
[0018] Figure 6 This is a diagram used to illustrate the speed command as a position control command and the speed command as a force control command.
[0019] Figure 7 This illustrates an example of the actual movement trajectory of the scraping tool during the scraping process.
[0020] Figure 8 The diagram schematically illustrates the state of the shank of the scraping tool during the scraping process.
[0021] Figure 9 The diagram illustrates a recess formed by scraping.
[0022] Figure 10 The diagram illustrates a recess formed by scraping.
[0023] Figure 11 An example of the shape of the surface of a workpiece is shown.
[0024] Figure 12 Another example showing the shape of the workpiece surface.
[0025] Figure 13 This is yet another example showing the shape of the surface of a workpiece.
[0026] Figure 14 This displays the translation pattern specified by the pattern information.
[0027] Figure 15 This displays the zigzag pattern specified by the pattern information.
[0028] Figure 16 It is a diagram used to illustrate the angle set by the angle information.
[0029] Figure 17 It is a diagram used to illustrate the offset distance set by the offset information.
[0030] Figure 18 This shows an example where the positions of multiple recesses are determined by translational patterns.
[0031] Figure 19 This shows an example where the positions of multiple recesses are determined by a serrated pattern.
[0032] Figure 20 The example shown illustrates how the positions of multiple recesses are determined by a translational pattern tilted at a 45° angle.
[0033] Figure 21 Is Figure 2 The diagram shown illustrates other functions of the control device 18 in the robot system.
[0034] Figure 22 This illustrates an example of the order used to determine the position of the recess.
[0035] Figure 23 It is shown Figure 21 The flowchart shows an example of the motion flow of the robot system.
[0036] Figure 24 It is shown Figure 21 The flowchart shows another example of the motion flow of the robot system.
[0037] Figure 25 Show Figure 24 An example of the process in step S27.
[0038] Figure 26 It is used for explanation Figure 24 The diagram for step S21 in the process.
[0039] Figure 27 It is used to explain in Figure 24 A diagram illustrating the method for determining the position of the recess in the process shown.
[0040] Figure 28 It is used to explain in Figure 24 A diagram illustrating the method for determining the position of the recess in the process shown.
[0041] Figure 29 It is used to explain in Figure 24 A diagram illustrating the method for determining the position of the recess in the process shown.
[0042] Figure 30 Shown in Figure 24 All locations of the recesses determined in the process shown.
[0043] Figure 31 Shown in Figure 24 The positions of the recesses determined in the process shown are the positions that have not been eliminated.
[0044] Figure 32 This is a diagram used to illustrate the position elimination conditions, showing the state in which the virtual occupied area of the recess that determines the position protrudes from the end edge of the workpiece surface.
[0045] Figure 33 This shows the state in which a processing area has been set on the surface of the workpiece.
[0046] Figure 34 This shows the state where a non-processed area is defined on the surface of the workpiece.
[0047] Figure 35 This shows another example of the actual movement trajectory of the scraping tool during the scraping process. Detailed Implementation
[0048] The embodiments of this disclosure will now be described in detail with reference to the accompanying drawings. Furthermore, in the various embodiments described below, the same reference numerals will be used to refer to the same elements, and repeated descriptions will be omitted. Additionally, in the following description, the positive x-axis direction of the robot coordinate system C1 in the figures will sometimes be referred to as the right, the positive y-axis direction as the front, and the positive z-axis direction as the top.
[0049] First, refer to Figure 1 and Figure 2 Let me describe a robot system 10 according to one embodiment. Robot system 10 is a system for performing scraping processing, which is used to scrape the surface Q of a workpiece W to make it flat. Scraping processing refers to the process of scraping the surface Q of the workpiece W to make the micro-unevennesses formed on the surface Q within a predetermined range (e.g., on the order of μm) in the thickness direction of the workpiece W. These micro-unevennesses function as so-called "oil reservoirs" for accumulating lubricating oil on the surface Q, which is used as a sliding surface.
[0050] For example, scraping includes roughing to reduce the minute irregularities formed when the surface of a workpiece is machined by a milling disc or the like to a first size (e.g., 10 μm or less), and finishing to reduce the minute irregularities to a second size (e.g., 5 μm or less) smaller than the first size after roughing.
[0051] The robot system 10 includes a robot 12, a force sensor 14, a scraping tool 16, and a control device 18. In this embodiment, the robot 12 is a vertical joint robot, which has a robot base 20, a rotating body 22, a lower arm 24, an upper arm 26, and a wrist 28. The robot base 20 is fixed to the floor of the workcell. The rotating body 22 is mounted on the robot base 20 in a manner that allows it to rotate about a vertical axis.
[0052] The lower arm portion 24 is rotatably mounted on the rotating body 22, and the upper arm portion 26 is rotatably mounted on the front end of the lower arm portion 24. The wrist portion 28 has a wrist base 28a, which is rotatably mounted on the front end of the upper arm portion 26; and a wrist flange 28b, which is rotatably mounted on the wrist base 28a about a wrist axis A1.
[0053] Servo motors 34 are installed in each of the components of robot 12 (robot base 20, rotating body 22, lower arm 24, upper arm 26, wrist 28). Figure 2 These servo motors 34, according to instructions from the control unit 18, cause the movable elements of the robot 12 (rotating body 22, lower arm 24, upper arm 26, wrist 28, wrist flange 28b) to rotate around the drive shaft. As a result, the robot 12 is able to move the scraping tool 16 and configure it to any position and posture.
[0054] Force sensor 14 is used to detect the pressing force F of the robot 12 pressing the scraping tool 16 against the surface of the workpiece W. For example, force sensor 14 is a six-axis force sensor having a cylindrical body and a plurality of strain gauges disposed on the body, and force sensor 14 is inserted between wrist flange 28b and scraping tool 16. In this embodiment, force sensor 14 is configured such that its central axis coincides with wrist axis A1.
[0055] A scraping tool 16 is fixed to the front end of a force sensor 14 for scraping the surface of a workpiece W. Specifically, the scraping tool 16 has a flexible shank 30 and a cutting edge 32 fixed to the front end of the shank 30. The base end of the shank 30 is fixed to the front end of the force sensor 14. The shank 30 extends linearly along axis A2 from the front end of the force sensor 14. The cutting edge 32 extends along axis A2 from its base end 32b to its front end 32a. Furthermore, axis A2 may be approximately orthogonal to wrist axis A1.
[0056] like Figure 3 As shown, from the top side ( Figure 1 As seen from the direction of arrow B in the diagram, the tip 32a of the cutting edge 32 bends outward from both ends toward the center in its width direction. The scraping tool 16 presses the tip 32a of the cutting edge 32 onto the surface Q of the workpiece W and scrapes the surface Q through the tip 32a.
[0057] Control device 18 controls the movements of robot 12. For example... Figure 2As shown, the control device 18 is a computer having a processor 40, a memory 42, an I / O interface 44, an input device 46, and a display device 48. The processor 40 may have a CPU or GPU, etc. The processor 40 is connected to the memory 42, the I / O interface 44, the input device 46, and the display device 48 via a bus 50 in a communicative manner. While communicating with these components, the processor 40 performs calculations for performing scraping processing.
[0058] The memory 42 includes RAM or ROM, etc., for temporarily or permanently storing various data used in the computational processing performed by the processor 40, as well as various data generated during the computational processing. The I / O interface 44 has, for example, an Ethernet port, a USB port, a fiber optic connector, or an HDMI terminal, and communicates with external devices via wired or wireless means under instructions from the processor 40. In this embodiment, the force sensor 14 and each servo motor 34 of the robot 12 are connected to the I / O interface 44 in a communicative manner.
[0059] The input device 46 includes a keyboard, mouse, or touch panel, enabling an operator to input data. The display device 48 includes a liquid crystal display or an organic EL display, which displays various data in a visually verifiable manner under instructions from the processor 40. Furthermore, the input device 46 or the display device 48 can be integrally assembled into the housing of the control device 18, or it can be separately mounted externally within the housing of the control device 18.
[0060] like Figure 1 As shown, a robot coordinate system C1 is established for the robot 12. The robot coordinate system C1 is a coordinate system used to control the movements of each movable element of the robot 12, and the robot coordinate system C1 is fixed relative to the robot base 20. In this embodiment, the robot coordinate system C1 is established for the robot 12 such 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.
[0061] On the other hand, a tool coordinate system C2 is established for the scraping tool 16. The tool coordinate system C2 is a coordinate system used to define the position and posture of the scraping tool 16 (or wrist flange 28b) in the robot coordinate system C1. In this embodiment, the tool coordinate system C2 is established for the scraping tool 16 such that its origin (so-called TCP) is located at the center of the front end 32a of the cutting edge 32 when the shank 30 is not bent, and its z-axis is parallel to the axis A2 (or the normal direction of the curved surface of the front end 32a at the center of the front end 32a).
[0062] When the scraping tool 16 is moved, the processor 40 of the control device 18 sets the tool coordinate system C2 in the robot coordinate system C1 so that the scraping tool 16 is configured in a manner represented by the position and posture of the set tool coordinate system C2 to generate instructions (position instructions, speed instructions, torque instructions, etc.) for each servo motor 34 of the robot 12.
[0063] In this way, the processor 40 positions the scraping tool 16 at any position and orientation in the robot coordinate system C1, thereby performing the scraping process. Thus, in this embodiment, the processor 40 serves as the robot control unit 52 that controls the actions of the robot 12 to perform the scraping process. Figure 2 To fulfill its function.
[0064] On the other hand, a sensor coordinate system C3 is set for the force sensor 14. The sensor coordinate system C3 is a coordinate system used to define the direction of the force acting on the force sensor 14. In this embodiment, the sensor coordinate system C3 is set for the force sensor 14 such that its origin is located at the center of the force sensor 14, and its z-axis is consistent with the wrist axis A1 (or its x-axis is parallel to the z-axis of the tool coordinate system C2).
[0065] exist Figure 4 The diagram shows the state in which the robot 12 brings the tip 32a of the blade 32 of the scraping tool 16 into contact with the surface Q of the workpiece W. When the robot 12 presses the tip 32a of the scraping tool 16 against the surface Q in a direction orthogonal to the surface Q with a pressing force F, the reaction force F' of the pressing force F is applied from the surface Q to the force sensor 14 via the scraping tool 16.
[0066] Each strain gauge of the force sensor 14 sends detection data corresponding to the force acting on the force sensor 14 at this time to the control device 18. The processor 40 calculates the force f acting on the force sensor 14 in the x-axis, y-axis, and z-axis directions of the sensor coordinate system C3, and the torque τ in the x-axis, y-axis, and z-axis directions around the force sensor 14, based on the detection data received from the force sensor 14 through the I / O interface 44. The processor 40 calculates the magnitude of the reaction force F' acting on the tip 32a of the cutting edge 32 in the direction orthogonal to the surface Q, based on the force f, the torque τ, and the current state data CD of the scraping tool 16.
[0067] The state data CD includes, for example, at least one of the following: the angle θ1 between axis A2 and surface Q; the distance d from wrist axis A1 (or the origin of sensor coordinate system C3) to the tip 32a of blade 32; position data representing the position and orientation of tool coordinate system C2 (or sensor coordinate system C3) in robot coordinate system C1; and bending data of handle 30 (e.g., the amount of bending or elastic modulus of handle 30). In this way, force sensor 14 detects the reaction force F' as the pressing force F, and control device 18 can determine the magnitude of the pressing force F (reaction force F') based on the detection data of force sensor 14.
[0068] Next, refer to Figures 5-7 To illustrate the scraping process performed by robot 12. For example... Figure 5 As shown, multiple teaching points TP1, TP2, and TP3 are set along the surface Q of the workpiece W at a known position located in the robot coordinate system C1. The multiple teaching points TP1, TP2, and TP3 should position the front end 32a (i.e., TCP) of the scraping tool 16 to perform scraping.
[0069] In this embodiment, teach point TP2 is positioned to the right of teach point TP1, and teach point TP3 is positioned to the upper right of teach point TP2. Furthermore, the positions of teach points TP1 and TP2 along the z-axis of the robot coordinate system C1 are approximately the same. These teach points TP... n (n = 1, 2, 3) are represented as the coordinates of the robot coordinate system C1.
[0070] During the scraping process, the processor 40 begins position control to generate parameters for the robot 12 to move the scraping tool 16 to the teach point TP. n Position control command PC n The processor 40 follows the position control instruction PC. n The servo motors 34 of the robot 12 are activated, thereby positioning the scraping tool 16 in the sequence of teach points TP1→TP2→TP3. Through this position control, the processor 40 causes the scraping tool 16 (specifically the front end 32a) to move along the path defined by the multiple teach points TP1→TP2→TP3. n The specified movement path MP moves.
[0071] Furthermore, in this embodiment, for ease of understanding, it is assumed that the surface Q of the workpiece W is approximately parallel to the xy plane of the robot coordinate system C1, and the direction MD of the movement path MP is approximately parallel to the xz plane of the robot coordinate system C1. Position control command PC n It has a function to move the scraping tool 16 (i.e., the wrist flange 28b of the robot 12) to the teaching point TP. n The speed V at that time P_nPC performs the prescribed speed command V_n .
[0072] After position control begins, the processor 40, following the position control command PC1, causes the robot 12 to move, thereby moving the scraping tool 16 toward the teach point TP1. When the front end 32a of the scraping tool 16 is positioned at the teach point TP1, as... Figure 6 As shown, the front end 32a moves upward from the surface Q.
[0073] When the scraping tool 16 reaches the teach point TP1, the processor 40 begins force control. After force control begins, the processor 40 uses the detection data from the force sensor 14 to control the pressing force F to the target value F. T The position of the wrist flange 28b (or TCP) of the robot 12 is controlled by the method of pressing the scraping tool 16 against the surface Q of the workpiece W.
[0074] Specifically, the processor 40 generates a force control instruction FC in force control, which is used to control the position of the wrist flange 28b (TCP) of the robot 12 to control the pressing force F (specifically the reaction force F') obtained based on the detection data of the force sensor 14 to the target value F. T Then, processor 40 adds the force control instruction FC to the position control instruction PC. n In this way, the servo motor 34 of robot 12 is used to perform actions.
[0075] Therefore, the processor 40 follows the position control instruction PC. n The scraping tool 16 (or wrist flange 28b) is moved in the direction MD of the movement path MP, and the scraping tool 16 is moved in the direction of approaching or separating from the surface Q of the workpiece W (i.e., the z-axis direction of the robot coordinate system C1) according to the force control command FC. The force control command FC has a velocity command FC. V The speed command FC V Used to specify the speed at which the scraping tool 16 moves in the z-axis direction of the robot coordinate system C1.
[0076] When the scraping tool 16 reaches the teach point TP1, the processor 40 generates the speed instruction PC. V_2 PC2 serves as the position control command for moving the scraping tool 16 toward the teach point TP2, and generates the speed command FC. V_0 As a force control command (FC). Figure 6 The diagram schematically illustrates the speed instruction PC generated by the processor 40 when the scraping tool 16 reaches the teach point TP1. V_2 and speed command FC V_0 .
[0077] After the scraping tool 16 reaches the teach point TP1, the processor 40 executes the speed command PC. V_2 The robot 12 is made to move the scraping tool 16 toward the teach point TP2 in accordance with the speed command PC. V_2 The corresponding (more specifically, the same) speed V P_2 Move in direction MD.
[0078] At the same time, processor 40 generates speed instruction FC V_0 To control the pressing force F to the target value F T and the speed command FC V_0 Added speed command PC for servo motor 34 V_2 In this way, the scraping tool 16 moves in the direction toward surface Q (i.e., downward) at the speed command FC. V_0 The corresponding (more specifically, the same) speed V F_0 Movement. As a result, robot 12 causes scraping tool 16 to move after passing teach point TP1. Figure 6 Move along the direction MD' in the middle.
[0079] exist Figure 7 The solid line shows the actual trajectory TR of the scraping tool 16 (specifically, the front end 32a) during the scraping process. After passing the teaching point TP1, the scraping tool 16 moves toward the surface Q along the trajectory TR, which is inclined at an angle θ2 relative to the surface Q, and abuts against the surface Q at position P1.
[0080] Here, when Figure 7 When the distances between the teaching point TP1 and position P1 in the robot coordinate system C1 along the x-axis and z-axis are set as distances x1 and z1 respectively, and these distances x1 and z1, and the velocity command PC are... V_2 (speed V) P_2 ) and speed command FC V_0 (speed V) F_0 It satisfies the following equation (1).
[0081] z1 / x1=FC V_0 / PC V_2 =V F_0 / V P_2 …(1)
[0082] Additionally, angle θ2, distances x1 and z1, and velocity command PC V_2 (speed V) P_2 ) and speed command FC V_0 (speed V) F_0 It satisfies the following equation (2).
[0083] θ2=tan-1 (z1 / x1)=tan -1 (FC V_0 / PC V_2 ) = tan -1 (V F_0 / V P_2 (2)
[0084] Therefore, when the processing conditions MC for scraping are assumed to be set as x1 = 10 [mm] and z1 = 5 [mm], the angle θ2 ≈ 26.6° can be determined according to equation (2). In this case, the speed V is set as the processing condition MC. P_2 (i.e., speed command PC) V_2 When the value is set to 100 [mm / sec], the velocity V can be calculated according to equation (1). F_0 (i.e., speed command FC) V_0 The value is determined to be 50 [mm / sec].
[0085] During the period when the scraping tool 16 is in contact with surface Q, the processor 40 moves the scraping tool 16 in the direction MD (i.e., to the right) according to the position control instruction PC2, and generates the speed instruction FC. V_1 As a means of controlling the pressing force F to a target value F through force control. T Force control command FC.
[0086] According to the speed command FC V_1 Position the wrist flange 28b of robot 12 along the z-axis of robot coordinate system C1 in accordance with the velocity command FC. V_1 The corresponding (more specifically, the same) speed V F_1 Displacement is performed. Here, the velocity command FC is generated during the period when the scraping tool 16 abuts against surface Q. V_1 (i.e., velocity V) F_1 The maximum value can be set to be higher than the speed command FC generated before the scraping tool 16 comes into contact with the surface Q. V_0 (i.e., velocity V) F_0 )big.
[0087] In this way, the scraping tool 16 is aligned with the target value F. T A pressing force F of the corresponding magnitude is applied while moving to the right along the surface Q, thereby performing a scraping process on the surface Q using the tip 32a of the scraping tool 16. Figure 8 The image shows the state of the scraping tool 16 during the scraping process. (Example) Figure 8As shown, during the scraping process, the robot 12 presses the tip 32a of the scraping tool 16 against the surface Q with a pressing force F, thereby causing the shank 30 of the scraping tool 16 to bend and flex in a downward bulging manner. In other words, the target value F of the force control... T It is set to a value that allows the shank to flex 30° during scraping.
[0088] Refer again Figure 7 When the scraping tool 16 (or wrist flange 28b) reaches the position corresponding to the teaching point TP2, the processor 40 terminates force control. On the other hand, the processor 40 generates a position control command PC3 to move the scraping tool 16 toward the teaching point TP3. The processor 40 causes the robot 12 to move according to the position control command PC3, thereby moving the scraping tool 16 to the upper right toward the teaching point TP3.
[0089] As a result, the scraping tool 16 moves to the upper right along a trajectory TR that is inclined at an angle θ3 relative to the surface Q of the workpiece W, and the tip 32a of the scraping tool 16 separates from the surface Q at position P2. Thus, the scraping tool 16 scrapes the surface Q from position P1 to position P2 over the entire distance x2, and the scraping process is completed. Furthermore, in this embodiment, the coordinates of position P2 in the x-axis direction of the robot coordinate system C1 are assumed to be approximately the same as the teaching point TP2. Afterwards, the scraping tool 16 reaches the teaching point TP3.
[0090] Here, when Figure 7 In this embodiment, the distance between the teaching point TP2 (or position P2) and the teaching point TP3 in the x-axis direction of the robot coordinate system C1 is set as distance x3, and the distance between the position P2 and the teaching point TP3 in the z-axis direction of the robot coordinate system C1 is set as distance z2. In this embodiment, distances x3 and z2 satisfy the following equation (3).
[0091] θ3=tan -1 (z2 / x3)…(3)
[0092] like Figure 9 and Figure 10 As shown, through this scraping process, a curved recess R is formed on surface Q, extending to the right from position P1 to position P2. Figure 9 and Figure 10 In the example shown, the recess R has a length x2 in the x-axis direction, a width y1 in the y-axis direction, and a depth z3 in the z-axis direction of the robot coordinate system C1.
[0093] In addition, Figure 9In the diagram, for ease of understanding, the depth z3 of the recess R is shown in a magnified image. However, it's important to understand that the actual depth z3 of the recess R is less than approximately 10 μm. Additionally, as... Figure 10 As shown, in the recess R, the midpoint P3 of the line connecting position P1 and position P2 is determined. Position P1, position P2, and midpoint P3 are each reference point RP in the robot coordinate system C1, representing the position of the recess R.
[0094] The processor 40 forms a plurality of recesses R on the surface Q of the workpiece W by repeatedly performing the scraping process described above. In this embodiment, the processor 40 determines the positions of the plurality of recesses R to be formed on the surface Q by the scraping process. This function will be explained below.
[0095] First, the processor 40 receives the shape information SI of surface Q as input. As an example of the shape information SI input, the operator operates the input device 46 of the control device 18 to input the coordinates P(x, y, z) of each vertex of surface Q in the robot coordinate system C1, as well as the information SI used to specify the shape of surface Q (quadrilateral, octagon, trapezoid, etc.). D As shape information SI.
[0096] exist Figure 11 An example of surface Q of workpiece W is shown. Figure 11 In the example shown, the operator operates the input device 46 to input the coordinates (x, y, y) of each vertex P11, P12, P13, and P14 of the rectangular surface Q in the robot coordinate system C1. 11 y 11 , z 11 P12(x) 12 y 12 , z 12 ), P13(x 13 y 13 , z 13 ) and P14(x 14 y 14 , z 14 (SI) is used as shape information.
[0097] Additionally, the operator operates the input device 46 to input information SI, which enables the processor 40 to recognize the order of vertices P11, P12, P13, and P14 as information used to specify the shape of surface Q. D .exist Figure 11In the example shown, the operator inputs the sequence of vertices P11→P12→P13→P14→P11 into the processor 40, so that the processor 40 can identify them in that order. The processor 40 then draws virtual lines in the robot coordinate system C1 in the order of vertices P11→P12→P13→P14, thereby identifying the shape of the rectangular surface Q.
[0098] Alternatively, the operator can also input information to specify the vertex to be set as the starting point for shape recognition and information to specify the direction for recognizing other vertices as the shape information SI. D For example, in Figure 11 In the example shown, the operator inputs information to identify the other vertices P12, P13, and P14 sequentially, starting from vertex P11, in a "clockwise direction" as viewed from above.
[0099] In this case, the processor 40 can identify the shape of the rectangular surface Q by drawing virtual lines starting from vertex P11 in the order of vertices P11→P12→P13→P14→P11. Furthermore, as information for specifying the direction of identifying other vertices, a "counter-clockwise direction" can also be specified. In this case, the processor 40 identifies each vertex starting from vertex P11 in the order of vertices P11→P14→P13→P12→P11.
[0100] exist Figure 12 In the example shown, the operator inputs the order of vertices P11→P13→P12→P14→P11 as information SI used to specify the shape of surface Q. D Therefore, as Figure 12 As shown, the processor 40 identifies the surface Q of the workpiece W as two triangular surfaces Q1 and Q2.
[0101] exist Figure 13 In the example shown, the operator inputs the coordinates P11(x) of each vertex P11 to P18 of the octagonal surface Q in the robot coordinate system C1. 11 y 11 , z 11 )~P18(x 18 y 18 , z 18 The input information SI is in the same order as the specified vertices P11→P12→P13→P14→P15→P16→P17→P18→P11. D This serves as shape information SI. Therefore, the processor 40 identifies... Figure 13 The octagonal surface Q is shown. Thus, the operator inputs the coordinates of each vertex of the shape of surface Q, along with information SI used to specify that shape. DAs shape information SI, the processor 40 is able to recognize surfaces Q of various shapes.
[0102] As another example of inputting shape information SI, the operator operates the input device 46 to input the workpiece W's drawing data (CAD data) from an external device (e.g., a CAD device or external memory) to the control device 18, and inputs information as shape information SI to specify the positional relationship between the model coordinate system C4 and the robot coordinate system C1, wherein the model coordinate system C4 is used to specify the position of the drawing data.
[0103] Alternatively, if the workpiece W's drawing data is pre-stored in the memory 42, the operator can operate the input device 46 to input information specifying the workpiece W's drawing data stored in the memory 42, as well as information specifying the positional relationship between the model coordinate system C4 and the robot coordinate system C1 of the drawing data, as shape information SI.
[0104] As another example of inputting shape information SI, the robot system 10 also includes a vision sensor (not shown) capable of capturing images of objects. This vision sensor can also input image data obtained by capturing the surface Q of the workpiece W into the control device 18 as shape information SI of the surface Q. Specifically, the vision sensor is, for example, a three-dimensional vision sensor or a two-dimensional camera. This vision sensor is mounted at a known position in the robot 12 and moved by the robot 12, or fixed at a known position in the robot coordinate system C1. The processor 40 can receive the shape information SI (image data) input from the vision sensor to obtain the coordinates of the surface Q in the robot coordinate system C1.
[0105] Thus, the processor 40 accepts the input of shape information SI via the input device 46 (or a vision sensor). Therefore, in this embodiment, the processor 40 serves as an input receiving unit 54 for accepting the input of shape information SI. Figure 2 The processor 40 performs its function. Based on the input shape information SI, it obtains the position of surface Q in robot coordinate system C1 (that is, the coordinates of the vertices and end edges). In this way, the position of surface Q in robot coordinate system C1 becomes known.
[0106] Additionally, the processor 40 receives input of pattern information PI for determining how the plurality of recesses R to be formed on surface Q should be arranged on surface Q. The pattern information PI includes, for example, pattern information PI1, spacing information PI2, angle information PI3, and offset information PI4. Pattern information PI1 specifies the type of pattern used to arrange the plurality of recesses R in a grid pattern along a defined row direction G and column direction H on surface Q.
[0107] exist Figure 14 The translational pattern is shown as an example of a pattern. Figure 14 In the translational pattern shown, multiple recesses R are arranged in a grid pattern along mutually orthogonal row directions G and column directions H. Furthermore, in Figure 14 In the example shown, the row direction G is determined to be parallel to the x-axis of the robot coordinate system C1, and the column direction H is determined to be parallel to the y-axis of the robot coordinate system C1. Figure 14 The concave part R in k_m Let R represent the concave portion R in the k-th row and m-th column. Figure 14 In the translation pattern shown, the reference points RP (positions P1, P2, and midpoint P3) of the recesses R arranged along the row direction G are in the same position in the column direction H, and the reference points RP of the recesses R arranged along the column direction H are in the same position in the row direction G.
[0108] exist Figure 15 The serrated pattern is shown as another example of a pattern. Figure 15 In the zigzag pattern shown, multiple recesses R are arranged in a grid pattern along the row direction G and the column direction H. However, the reference points RP of the recesses R arranged along the column direction H are all in the same position in the row direction G. On the other hand, the reference points RP of the recesses arranged along the row direction G are alternately offset by an offset amount Δ in the column direction H. Pattern information PI1 is used to specify the type of pattern, such as the "translation pattern" or "zigzag pattern" mentioned above.
[0109] Spacing information PI2 is used to set the spacing PT between two adjacent recesses R in the row direction G within a pattern (e.g., a translational pattern or a zigzag pattern) specified by pattern information PI1. G And the spacing PT between two adjacent recesses R in the column direction H. H Information.
[0110] In addition, Figure 15 In the serrated pattern shown, the offset Δ of the reference point RP (e.g., midpoint P3) of two adjacent recesses R in the row direction G can also be determined as the spacing PT in the column direction H. H The value obtained by multiplying by a specified coefficient ρ (0 ≤ ρ < 1). Figure 15 In the example shown, ρ = 0.5 (that is, Δ = PT) H / 2). This coefficient ρ can also be included in the pattern information PI1 or the spacing information PI2.
[0111] Angle information PI3 is used to set the angle θ4 between the row direction G or column direction H and the reference direction. (See reference...) Figure 16 To illustrate this angle θ4. In Figure 16In the example shown, the workpiece W is positioned at a known location in robot coordinate system C1 such that its long side is parallel to the x-axis of C1. In this case, for example, when the reference direction is defined as the x-axis of robot coordinate system C1, Figure 16 In the example shown, the tilt angle θ4 of the row direction G relative to the reference direction (x-axis direction) is determined.
[0112] With the row direction G and column direction H thus determined, multiple recesses R... Figure 16 The rows G and columns H are arranged in a grid pattern, tilted at an angle θ4 relative to the reference direction (x-axis direction). Angle information PI3 is used to set the angle θ4 as described above. Alternatively, angle θ4 can be defined as the angle of column direction H relative to the reference direction (x-axis direction). Furthermore, it should be understood that the y-axis direction of the robot coordinate system C1 can also be defined as the reference direction.
[0113] When the pattern type, spacing PT, and angle θ4 are determined using pattern information PI1, spacing information PI2, and angle information PI3, the positional relationship of multiple recesses R (specifically, reference points RP) on surface Q can be uniquely determined. That is, even if a recess R is placed at any position on surface Q, the positions of other recesses R can be uniquely determined.
[0114] Offset information PI4 is used to set the offset distance δ between the edge O of surface Q and the recess R. This offset distance δ represents the distance by which the recess R is offset relative to the edge O of the adjacent surface Q when determining the position of the recess R. (See reference...) Figure 17 This is to explain the offset distance δ.
[0115] exist Figure 17 In the example shown, the offset distance δ1 represents the distance between the leading edge O2 of surface Q and the position P1 (or midpoint P3) of the recess R adjacent to the leading edge O2. Additionally, the offset distance δ2 represents the shortest distance between the leading edge O2 and the outer edge of the recess R adjacent to the leading edge O2.
[0116] On the other hand, the offset distance δ3 represents the distance between the left edge O1 of surface Q and the midpoint P3 of the recess R adjacent to the left edge O1. In addition, the offset distance δ4 represents the shortest distance between the left edge O1 and the outer edge of the recess R adjacent to the left edge O1 (that is, the distance between the left edge O1 and the position P1).
[0117] Furthermore, although not illustrated, the offset distance δ1 can also define the rear edge O3 of surface Q. Figure 11 , Figure 13The offset distance δ2 can also define the distance between the outer edge of the rear end edge O3 and the position P1 (midpoint P3) of the recess R adjacent to the rear end edge O3. Additionally, the offset distance δ3 can also define the distance between the outer edge of the rear end edge O3 and the outer edge of the recess R adjacent to the rear end edge O3. Furthermore, the offset distance δ3 can also define the distance between the right end edge O4 of surface Q and the position P1 (midpoint P3). Figure 11 , Figure 13 The offset distance δ4 can also be defined as the shortest distance between the right edge O4 and the outer edge (i.e., position P2) or position P1 of the recess R adjacent to the right edge O4.
[0118] The operator uses the input device 46 of the control device 18 to input pattern information PI1, spacing information PI2, angle information PI3, and offset information PI4 as pattern information PI. The processor 40 functions as an input receiving unit 54, accepting the input of pattern information PI via the input device 46. In this way, the processor 40 acquires shape information SI and pattern information PI. Furthermore, the processor 40 can also cause the display device 48 to display an input screen for inputting shape information SI or pattern information PI.
[0119] The processor 40 automatically determines the positions of the various recesses R on surface Q based on the shape information SI and pattern information PI obtained from input from the operator. This function is explained below. As an example, suppose the input is... Figure 18 The shape information of the rectangular workpiece W shown is taken as shape information SI.
[0120] In this case, the processor 40 determines the position of the reference point RP of each recess R in the area of the surface Q at a known position configured in the robot coordinate system C1 based on the received pattern information PI1, spacing information PI2, angle information PI3 and offset information PI4, and obtains the position data (coordinates) of the reference point RP in the robot coordinate system C1.
[0121] In addition, Figure 18 In the example shown, the virtual occupied area of the concave region R that determines the reference point RP is represented by the dashed region R'. Figure 18 This example shows a pattern where a translational pattern is specified as pattern information PI1 and θ4 = 0° is specified as angle information PI3. For example, in Figure 18 In the example shown, the position P1 of the recess R is set as the reference point RP.
[0122] In this case, in order to determine the position P1 of the recess R, for example, the processor 40 determines the initial position P1 on the surface Q. _1 The initial position P1 _1It can determine the position where the offset distance δ1 specified by the offset information PI4 is separated from the leading edge O2 and the offset distance δ4 is separated from the left edge O1.
[0123] When the initial position P1 is determined _1 When the position is determined, the processor 40 can automatically determine other positions P1 as points arranged in a translational pattern that satisfy the condition of being within the region of surface Q and separated from the edge edges O1, O2, O3, and O4 by an offset distance δ1 and δ4 or more determined by the offset information PI4. Like this, as... Figure 18 As shown, the positions of multiple recesses R and P1 on the surface Q can be automatically determined.
[0124] Figure 19 This example shows a pattern where a serrated pattern is specified as pattern information PI1 and θ4 = 0° is specified as angle information PI3. Figure 19 In the example shown, processor 40, for example, sets the initial position P1 _1 The position is determined by separating the offset distance δ1 from the leading edge O2 and the offset distance δ4 from the left edge O1. When the initial position P1 is determined... _1 At that time, the processor 40 can automatically determine other positions P1 based on the pattern information PI.
[0125] Figure 20 This example shows a pattern where a translational pattern is specified as pattern information PI1 and θ4 = 45° is specified as angle information PI3. Figure 20 In the example shown, processor 40, for example, sets the initial position P1 _1 The position is determined by the offset distance δ1 separated from the rear end edge O3 and the offset distance δ4 separated from the left end edge O1.
[0126] When the initial position P1 is determined _1 At that time, the processor 40 can automatically determine other positions P1 based on the pattern information PI. _1 Thus, in this embodiment, the processor 40 serves as the position determination unit 56. Figure 2 The position determination unit 56 performs its function by automatically determining the position of each recess R on the surface Q based on the shape information SI and pattern information PI obtained from the input from the operator.
[0127] As described above, in this embodiment, the processor 40 functions as both an input receiving unit 54 and a position determining unit 56, for determining the positions (specifically, the coordinates of position P1) of the plurality of recesses R that the robot 12 should form on surface Q through scraping. Therefore, the input receiving unit 54 and the position determining unit 56 constitute a device 60 for determining the positions of the plurality of recesses R that should be formed on surface Q through scraping. Figure 2According to the device 60, the position of the recess R can be determined automatically, thus simplifying the operation required to start the robot system 10.
[0128] Next, refer to Figure 21 To illustrate other functions of the control device 18, in this embodiment, the processor 40 automatically generates the movement path MP of the robot 12 when forming the recess R. Specifically, the operator operates the input device 46 of the control device 18 to input the processing conditions MC for the robot 12 to perform the scraping process.
[0129] The machining conditions MC include the dimensional information DI of the recess R, the trajectory control information TI of the scraping tool 16 moving with the robot 12, and the instructions CM for the robot 12 to perform the scraping process. The dimensional information DI, for example, includes... Figure 9 and Figure 10 The length x2 (which is the distance x2 from position P1 to position P2), width y1, and depth z3 are shown.
[0130] The trajectory control information TI is used to specify the angle θ2 at which the robot 12 moves the scraping tool 16 and abuts against the surface Q during the scraping process. Figure 7 The trajectory control information TI includes the angle θ3 at which the scraping tool 16 leaves the surface Q. Specifically, the trajectory control information TI includes... Figure 7 The distances x1, z1, x3, and z2 are shown. The distances x1 and z1 are defined by an angle θ2 as shown in equation (2) above, and the distances x3 and z2 are defined by an angle θ3 as shown in equation (3) above.
[0131] In addition, the instructions CM for robot 12 include, for example, the aforementioned position control instructions PC. n (Speed Command PC) V_n (etc.) and force control command FC (speed command FC) V The processor 40 functions as an input receiving unit 54, receiving the input of machining conditions MC (dimensional information DI, trajectory control information TI, and instructions CM) via the input device 46.
[0132] Next, the processor 40 automatically generates the movement path MP of the robot 12 when forming the recess R, based on the processing conditions MC obtained from the operator's input and the position of the reference point RP (P1, P2, or P3) of the recess R determined by the position determination unit 56. For example, if the processor 40 determines the coordinates (X1, Y1, Z1) of the position P1 of the recess R as determined by the position determination unit 56, it calculates the position P2 in the robot coordinate system C1 based on the determined coordinates (X1, Y1, Z1) and the length x2 of the recess R contained in the dimension information DI of the processing conditions MC. Figure 7 The coordinates of (X1+x2, Y1, Z1) are given.
[0133] Then, the processor 40 calculates the coordinates (X1-x1, Y1, Z1+z1) of the teach point TP1 in the robot coordinate system C1 based on the coordinates of position P1 and the distances x1 and z1 contained in the trajectory control information TI, which serves as the machining condition MC. Additionally, the processor 40 calculates the coordinates (X1+x2+x3, Y1, Z1+z2) of the teach point TP3 in the robot coordinate system C1 based on the coordinates of position P2 and the distances x3 and z2 contained in the trajectory control information TI. Furthermore, the processor 40 calculates the coordinates of the teach point TP2 as the coordinates of the point that has moved upwards from position P2 by a distance z1 (X1+x2, Y1, Z1+z1).
[0134] In this way, the processor 40 automatically calculates the teaching point TP based on the determined position and size information DI (length x2) of the recess R and the trajectory control information TI (distance x1, z1, x3, z2). n As a result, the teaching point TP is automatically generated. n The prescribed movement path MP. Therefore, in this embodiment, the processor 40 serves as a path generation unit 58 that automatically generates the movement path MP. Figure 21 To fulfill its function.
[0135] Processor 40 calculates teaching point TP for each of the multiple recesses R to be formed. n To generate a movement path MP. As described above, in this embodiment, the device 60 includes an input receiving unit 54, a position determining unit 56, and a path generation unit 58. With this device 60, the teaching point TP for each recessed R-direction robot 12 can be omitted. n The robot system 10 automatically generates a work program PG for performing the scraping process based on the teaching operation. As a result, the startup time of the robot system 10 can be significantly reduced.
[0136] Furthermore, the processing conditions MC may also include information specifying the order OR for forming the multiple recesses R. In this case, the processor 40 may also function as a position determination unit 56, sequentially determining the positions of the reference points RP of the multiple recesses R according to the order OR. Figure 22 The image shows an example of an OR sequence.
[0137] according to Figure 22 In the example shown, processor 40 is at position P1 _1 Location P1 _2 Location P1 _3 ...position P1 _18 The position P1 is determined by the OR order of ..._i Then, the processor 40 machines the plurality of recesses R in the order OR. In addition, the machining condition MC may further include information specifying an order OR1 and an order OR2, wherein the order OR1 is used for determining the positions of the recesses R, and the order OR2 is used for forming the recesses R with determined positions.
[0138] Next, a description will be given of Figure 21 the method for performing scraping machining performed in the robot system 10 shown therein. The processor 40 causes the robot 12 to operate according to the operation program PG stored in the memory 42. Specifically, the operation program PG includes a position control program PG1 and a teaching point calculation program PG2, wherein the position control program PG1 is used to position the robot 12 at a teaching point TP n and the teaching point calculation program PG2 is configured to calculate the teaching point TP based on the dimension information DI and the trajectory control information TI n . An example of the position control program PG1 is schematically shown in Table 1 below.
[0139] [Table 1]
[0140] 2 MOVE[TP2] 3 MOVE[TP3]
[0141] Table 1
[0142] "MOVE[TP1]" in the position control program PG1 is a command for positioning the scraping tool 16 (or TCP) at the teaching point TP1. The processor 40 generates the above-mentioned position control command PC according to the position control program PG1 n . On the other hand, as described above, the teaching point calculation program PG2 is a computer program that causes the processor 40 to automatically calculate the teaching point TP according to the position data of the reference point RP (coordinates of the position P1), the dimension information DI (length x2) and the trajectory control information TI (distances x1, z1, x3, z2) n .
[0143] Next, with reference to Figure 23 , an example of the operation flow of scraping machining performed by the robot system 10 will be described. After the processor 40 receives inputs of shape information SI, pattern information PI (pattern information PI1, spacing information PI2, angle information PI3, offset information PI4) and machining conditions MC (dimension information DI, trajectory control information TI, command CM, order OR), the flow shown in Figure 23 is started when a scraping machining start instruction is received from an operator, a higher-level controller or a computer program (e.g., the operation program PG).
[0144] In step S1, the processor 40 determines the position P1 of the recess R to be determined _iThe number "i" is set to "1". In step S2, the processor 40 determines the position P1 of the i-th recess R. _i The position. For example, if the start time of step S2 is set to i=1, the processor 40 determines the position P1 of the first recess R according to the order OR specified by the processing conditions MC using the method described above. _1 ( Figure 22 The position of ).
[0145] In step S3, the processor 40 functions as the path generation unit 58, and for the i-th position P1 _i The concave part R is calculated as the teaching point TP. n Specifically, the processor 40 reads the teaching point calculation program PG2, and combines the size information DI (length x2), trajectory control information TI (distance x1, z1, x3, z2), and the position P1 determined in the most recent step S2. _i The coordinates are applied to the teaching point calculation program PG2, thereby automatically calculating the coordinates used to form the position P1 at the i-th position. _i The teaching point TP of the concave part R n (n = 1, 2, 3). Thus, the formation of P1 at position i is automatically generated. _i The movement path MP of the recess R Figure 5 ).
[0146] In step S4, processor 40 begins position control of robot 12. Specifically, processor 40 sequentially reads the command messages specified by position control program PG1 shown in Table 1 above to generate commands for moving scraping tool 16 toward the teach point TP specified by the command messages. n Position control command PC for movement n .
[0147] At this point, the processor 40 applies the coordinates of the teaching points TP1, TP2, and TP3 calculated in the most recent step S3 in the robot coordinate system C1 to [TP1], [TP2], and [TP3] in the position control program PG1, respectively. Thus, the processor 40 causes the robot 12 to move according to the position control program PG1, and begins to position the scraping tool 16 according to the sequence of teaching points TP1→TP2→TP3 calculated in the most recent step S3.
[0148] In step S5, the processor 40 determines whether the scraping tool 16 has reached the teaching point TP1. For example, the processor 40 calculates the position of the scraping tool 16 in the robot coordinate system C1 based on feedback FB from the rotation detectors (encoders, Hall elements, etc.) provided on each servo motor 34 of the robot 12, and can determine whether the scraping tool 16 has reached the teaching point TP1 based on the calculated position. If the processor 40 determines that the scraping tool 16 has reached the teaching point TP1 (i.e., "yes"), it proceeds to step S6; otherwise, if the processor 40 determines that the scraping tool 16 has not reached the teaching point TP1 (i.e., "no"), it repeats step S5.
[0149] In step S6, the processor 40 begins the force control described above. The result is as follows: Figure 7 As shown, the scraping tool 16 moves towards surface Q along a trajectory TR that is inclined at an angle θ2 relative to surface Q, and abuts against surface Q at position P1. In step S7, the processor 40 determines, based on feedback FB, whether the scraping tool 16 (or wrist flange 28b) has reached the position corresponding to the teaching point TP2. If the determination is "yes", the processor 40 proceeds to step S8; otherwise, if the determination is "no", step S7 is repeated.
[0150] In step S8, the processor 40 terminates force control. As a result, the scraping tool 16 moves to the upper right along a trajectory TR that is inclined at an angle θ3 relative to the surface Q of the workpiece W, and the tip 32a of the scraping tool 16 leaves the surface Q at position P2. In step S9, the processor 40 determines whether the scraping tool 16 has reached the teaching point TP3 based on the feedback FB. If the determination is "yes", the processor 40 proceeds to step S10; otherwise, if the determination is "no", step S9 is repeated.
[0151] In step S10, the processor 40 terminates position control. In step S11, the processor 40 determines the position P1 of the i-th recess R. _i The number "i" is incremented by "1" (i = i + 1). In step S12, the processor 40 determines the position P1 used to determine the i-th recess R. _i Is the number "i" greater than i? MAX .
[0152] The maximum value i MAX The maximum value i is used to specify the number of recesses R to be formed on surface Q (i.e., the number of scraping operations). MAX This information can be included in the sequential OR as a processing condition MC. Processor 40 determines that i>i MAX In the case of "yes", stop the action of robot 12 and end. Figure 23 The process shown, on the other hand, determines that i≤i MAX If (i.e., "No"), return to step S2.
[0153] In this way, processor 40 repeats the loop of steps S2 to S12 until it is determined to be "yes" in step S12. Processor 40 follows the sequence OR, for example... Figure 22 As shown, determine the position P1 of the recess R in sequence. _i And based on the determined position P1 of the concave portion R _i This controls the movement of robot 12, thereby sequentially forming multiple recesses R on surface Q. Furthermore, the order OR is not limited to... Figure 22 The example shown can be arbitrarily determined by the operator.
[0154] As described above, in this embodiment, the processor 40 can automatically determine the position of the recess R and automatically calculate the teaching point TP. n It can automatically generate job program PGs. Therefore, the task of generating job program PGs can be greatly simplified.
[0155] In addition, in this embodiment, the processor 40 updates the teach point TP specified by the position control program PG1 whenever a scraping process is performed. n (That is, the location data of command texts [TP1], [TP2], and [TP3]). Based on this structure, only a space is needed in memory 42 to store the teach point TP. n One register is used, and the teaching point TP is updated sequentially in that register. n That's sufficient. Therefore, it's not necessary to set teaching points TP for all concave portions R. n It is stored in memory 42, thus saving the capacity of memory 42 used.
[0156] Next, refer to Figure 24 To explain Figure 21 Another example of the scraping process executed by the robot system 10. After the processor 40 receives input of shape information SI, pattern information PI (pattern information PI1, spacing information PI2, angle information PI3, offset information PI4), and processing conditions MC (dimensional information DI, trajectory control information TI, instruction CM, sequence OR), the scraping process begins when the operator, the upper-level controller, or the computer program (e.g., job program PG) receives the scraping start instruction. Figure 24 The process is shown below.
[0157] Furthermore, in this embodiment, it is assumed that the operator input... Figure 13The shape information SI of the octagonal surface Q is shown. In step S21, the processor 40 functions as a position determination unit 56 to determine the position of the initial recess R. Specifically, firstly, as... Figure 26 As shown, the processor 40 sets the starting point P21 in the robot coordinate system C1. Here, the x-coordinate of the left endpoint of surface Q (vertices P11 and P18 in this embodiment) is set as X. α The y-coordinate of the front point (vertices P12 and P13 in this embodiment) is set to Y. α .
[0158] In this case, the processor 40 uses the offset distance δ specified by the offset information PI4 to determine the coordinates (X, Y, δ) of the starting point P21 in the xy plane of the robot coordinate system C1. 21 Y 21 ) is determined to be (X) 21 Y 21 )=(X α +δ4, Y α -δ1). Therefore, the starting point P21 is set to a position that is offset to the right by an offset distance δ4 from vertex P11 and offset backward by an offset distance δ1 from vertex P12.
[0159] Next, the processor 40 determines the position of the reference point RP of the initial recess R as the starting point P21. For example, if the position P1 of the recess R is used as the reference point RP, the processor 40 determines the position P1 of the initial recess R as the starting point P21. _1 coordinates (X1) _1 Y1 _1 The decision is (X1) _1 Y1 _1 )=(X 21 Y 21 )=(X α +δ4, Y α -δ1). The result is as follows: Figure 27 As shown, the initial position is P1 _1 The starting point P21 is determined. Processor 40 will then determine the position P1. _1 coordinates (X1) _1 Y1 _1 ) Stored in memory 42.
[0160] In step S22, the processor 40 determines the position P1 relative to the most recently determined position. _i Whether the entire area of the corresponding virtual occupied region R' is within the area of surface Q. Here, the virtual occupied region R' can be estimated based on the length x2 and width y1 of the recess R included in the size information DI.
[0161] Therefore, the processor 40 can determine the position P1 based on the size information DI (length x2, width y1). _i Use the coordinates to find the position P1 _i The corresponding virtual occupied area R' is located in the robot coordinate system C1. Then, the processor 40 can determine whether at least a portion of the virtual occupied area R' protrudes outward from the edge of the surface Q based on the obtained position of the virtual occupied area R' and the shape information SI of the surface Q.
[0162] If the processor 40 determines that the entire area of the virtual occupied region R' is within the area of the surface Q (i.e., "yes"), it proceeds to step S27. On the other hand, if it determines that at least a portion of the virtual occupied region R' protrudes outside the area of the surface Q (i.e., "no"), it eliminates (e.g., deletes from memory 42) the location P1 of the recently determined recess R. _i Then proceed to step S23.
[0163] In step S23, processor 40 determines the position of the recess R in the next column. For example, if processor 40 executes step S21 slightly before step S23, processor 40 will determine the position P1 of the next recess R. _2 The position P1 is determined from the position determined in the preceding step S23. _1 The column direction H is shifted by the spacing PT specified by the spacing information PI2. H The position after.
[0164] That is, the processor 40 will set the position P1 of the next recess R. _2 coordinates (X1) _2 Y1 _2 The decision is (X1) _2 Y1 _2 )=(X1 _1 Y1 _1 -PT H )=(X α +δ4, Y α -δ1-PT H The result is, as Figure 27 As shown, the position P1 of the second recess R _2 Determined to be from the first position P1 _1 It shifted backward by a distance PT H The position after.
[0165] Processor 40 repeats step S23 until it determines "yes" in step S24 (described later), thereby using the position P1 of the (i-1)th recess R. _i-1 coordinates (X1) _i-1 Y1 _i-1) and spacing PT H Let the position of the i-th concave part R be P1 _i coordinates (X1) _i Y1 _i The decision is (X1) _i Y1 _i )=(X1 _i-1 Y1 _i-1 -PT H ).
[0166] Like this, such as Figure 27 and Figure 28 As shown, the first position P1 is determined sequentially. _1 Second position P1 _2 Third position P1 _3 ...position i-1 P1 _i-1 and position i, P1 _i The processor 40 will determine the position P1 in step S23. _i coordinates (X1) _i Y1 _i ) Stored in memory 42.
[0167] In step S24, the i-th position P1 determined in the most recent step S23 is determined. _i Does it exceed the endpoint P22 in the y-axis direction? Here, the y-coordinate of the rear endpoints of surface Q (vertices P16 and P17 in this embodiment) is set as Y. β In this case, the endpoint P22 is determined to be at coordinates (X, Y). β The point (in other words, the point on the virtual line passing through vertices P16 and P17).
[0168] In step S24, the processor 40 is at the most recently determined position P1 _i y-coordinate: Y1 _i Satisfy Y1 _i ≤Y β In this case, it is determined that the position is P1. _i The endpoint P22 (i.e., "yes") has been exceeded. Then, processor 40 eliminates (e.g., removes from memory 42) the most recently determined position P1. _i Then proceed to step S25.
[0169] On the other hand, processor 40 satisfies Y1 _i >Y β If the condition is "no", then return to step S22. For example, in Figure 28 In the example shown, position P1 _i Located behind the finish line P22 (Y1) _i <Yβ Therefore, processor 40 eliminates position P1. _i Then proceed to step S25.
[0170] In step S25, the processor 40 determines the position of the recess R in the next row. For example, in the most recent step S23, it is set that... Figure 28 The position P1 at the end of the first row shown _i In this case, such as Figure 27 As shown, processor 40 will position P1 of the recess R in the second row. _i+1 The decision is made starting from position P1 at the beginning of the first line. _1 The displacement along the direction of travel G is equal to the spacing PT specified by the spacing information PI2. G The position after.
[0171] That is, the processor 40 will position P1 of the recess R in the second row. _i+1 coordinates (X1) _i+1 Y1 _i+1 The decision is (X1) _i+1 Y1 _i+1 )=(X1 _1 +PT G Y1 _1 The result is, as Figure 27 As shown, the position P1 of the (i+1)th concave portion R _i+1 It was decided to move to the first position P1 _1 The rightward offset is a distance from PT G The processor 40 will determine the position P1 as specified in step S25. _i+1 Stored in memory 42.
[0172] In step S26, the processor 40 determines the i-th position P1 determined in the most recent step S25. _i Does it exceed the endpoint P23 in the x-axis direction? Figure 29 An example of endpoint P23 is shown. Here, the x-coordinate of the right endpoint of surface Q (vertices P14 and P15 in this embodiment) is set as X. β In this case, the endpoint P23 is determined to be at coordinates (X). β The point (in other words, the point on the virtual line passing through vertices P14 and P15) of y (Y).
[0173] In step S26, the processor 40 is at the most recently determined position P1 _i x-coordinate: X1 _i Satisfy X1 _i ≥X β In this case, it is determined that the position is P1. _iThe endpoint P23 (i.e., "yes") has been exceeded. Then, processor 40 eliminates (e.g., removes from memory 42) the most recently determined position P1. _i and end Figure 24 The process is shown below.
[0174] On the other hand, processor 40 meets X1 _i <X β In the case of "No", the result is determined to be "No", and the process proceeds to step S22. For example, in Figure 29 In the example shown, position P1 _i Located to the right of the finish line P23 (X1) _i >X β Therefore, processor 40 eliminates position P1. _i and end Figure 24 The process is shown below.
[0175] If the determination is "yes" in step S22, in step S27, the processor 40 determines the position based on the most recently determined position P1. _i To perform scraping and grinding. Figure 25 Step S27 is shown in the diagram. Furthermore, in... Figure 25 In the process shown, for and Figure 23 The same process is assigned the same step number, and repeated descriptions are omitted.
[0176] After step S27 begins, in step S3, the processor 40 obtains the processing conditions MC based on the received input and the most recently determined position P1. _i To calculate the teaching point TP n And based on this teaching point TP n To perform steps S4 to S10, thereby forming the part from position P1 by scraping. _i Extend distance x2 to position P2 _i The concave portion R up to this point.
[0177] As described above, processor 40 determines the relationship with [other components] by executing steps S21, S23, and S25. Figure 30 The virtual region R' shown corresponds to position P1 _i To eliminate the determined position P1 _i The position P1 that is determined to be "no" in step S22. _i Therefore, the result is that it is aimed at... Figure 31 The virtual region R' shown corresponds to position P1 _i Proceed to step S27.
[0178] In this embodiment, the aforementioned starting point P21 ( Figure 27The configuration is such that the vertices P11 and P12 are offset by offset distances δ4 and δ1 respectively, thus making the position of the concave portion R in the first row P1 _i The offset distance δ4 is shifted to the right from the end edge O1, causing the position of the concave portion R in the first column to be P1. _i The positions of these recesses R are determined by offsetting a distance δ1 backward from the end edge O2. According to this embodiment, the processor 40 can automatically determine the positions of the recesses R and automatically calculate the teaching point TP. n To automatically generate job programs (PG).
[0179] Furthermore, it is important to understand that, through Figure 24 The process shown can determine the presentation Figure 15 The position of the recess R with the serrated pattern shown. Additionally, in Figure 24 In the illustrated process, the processor 40 can also determine the position P1 of the recess R in the next row in step S23. _i In step S25, the position P1 of the recess R in the next column is determined. _i In this case, the processor 40 sequentially determines the position P1 of the recess R along the row direction G. _i At the determined position P1 _i When the endpoint P23 is exceeded, the position P1 of the concave portion R in the first row of the next column is determined. _i .
[0180] In addition, Figure 23 or Figure 25 In the illustrated process, processor 40 may also omit step S8 and end position control and force control in step S10. That is, in this case, processor 40 performs position control and force control in parallel until it determines "yes" in step S9.
[0181] Furthermore, the pattern information PI may also include a position elimination condition CC, which is used to determine whether to eliminate the determined position when a portion of the virtual occupancy region R' of the recess R, for which the processor 40 has determined the position, protrudes outward from the end edge O of the surface Q. (See reference...) Figure 32 To explain why the condition CC is eliminated at this location. Figure 32 In the example shown, processor 40 determines the sixth position P1. _6 At that time, with position P1 _6 The corresponding virtual occupied area R' is part of the region J that protrudes backward from the rear end edge O3 of the workpiece W.
[0182] As in step S22 above, the processor 40 can determine the position P1 based on the size information DI (length x2, width y1). _6 Use the coordinates to determine the position P1_6 The position (coordinates) of the corresponding virtual occupied area R' in the robot coordinate system C1 is determined, and based on the position of the virtual occupied area R' and the shape information SI of the surface Q, the relationship with position P1 is determined. _6 Whether a portion of the corresponding virtual occupied area R' protrudes outward from the edge O1, O2, O3 or O4 of surface Q.
[0183] The position elimination condition CC is used to determine the position P1 determined. _i Whether the determined position P1 is eliminated when a portion of the corresponding virtual occupied region R' protrudes outward from the edge O1, O2, O3, or O4 of surface Q. _i For example, the elimination position P1 is determined as a position elimination condition CC when the virtual occupied region R' protrudes from the end edges O1, O2, O3, or O4 of surface Q. _i Under this condition, processor 40, in the same manner as in step S22 above where it was determined to be "no", eliminates the determined position P1. _i And decide the next position P1 _i+1 That is to say, in Figure 32 In the example shown, processor 40 eliminates the sixth position P1. _6 In this case, processor 40 does not execute the process for forming a position with the sixth location P1. _i Scratching of the recessed portion R.
[0184] Conversely, the location P1 is not eliminated when the virtual occupied region R' protrudes from the edge O1, O2, O3, or O4 of surface Q, as determined by the location elimination condition CC. _i Under this condition, the processor 40 will determine the position P1. _i The position data is stored in memory 42, and an action is taken to form a position P1. _i Scratching of the recessed portion R.
[0185] Here, through scraping and grinding, a process is formed that has... Figure 32 Position P1 _6 In the case of a recess R, stress concentration occurs at the rear end edge O3 of the surface Q abutted by the front end 32a of the scraping tool 16 during scraping, and the depth z3 of the recess R may be too large at the position of the rear end edge O3. To avoid this situation, the operator eliminates the stress at position P1. _6 The location elimination condition CC is determined by the method, thereby avoiding the formation of a recess R with an excessive depth z3 at the rear end edge O3.
[0186] On the other hand, when the line L connecting positions P1 and P2 of the formed recess R (that is, the trajectory TR of the front end 32a during the period of contact with surface Q) is approximately orthogonal to the end edges O1, O2, O3, or O4 of surface Q, the stress concentration generated at the end edges O1, O2, O3, or O4 can be mitigated when the recess R is formed by scraping. For example, in Figure 29 In the example, the line L connecting position P1 and position P2 is approximately orthogonal to the end edge O4 of surface Q.
[0187] In this case, even if the recess R is formed, the depth z3 may not be too large. Therefore, it is not necessary to eliminate the determined position P1. _i Therefore, the operator can allow the determined position P1 to be determined without eliminating the condition that the line L is approximately orthogonal to the end edges O1, O2, O3, or O4. _i The method determines the location elimination condition CC to form the concave R.
[0188] In this case, processor 40 determines position P1. _i When, determine that position P1 _i With position P2 _i Does the connecting line L have orthogonality to the end edges O1, O2, O3, or O4? Furthermore, the position elimination condition CC can also be determined to eliminate the determined recess R at position P1 only if the line L connecting positions P1 and P2 does not have orthogonality to the end edges O1, O2, O3, or O4. _i This condition.
[0189] Thus, according to this embodiment, the operator inputs the position elimination condition CC through the input device 46, thereby determining the position P1 determined by the position determination unit 56. _i When a portion of the corresponding virtual occupied region R' protrudes outward from the edge O, the location P1 can be arbitrarily eliminated. _i Instead of performing scraping or maintaining position P1 _i Perform scraping and grinding.
[0190] Furthermore, the position elimination condition CC can also be determined as being at the determined position P1. _i The corresponding virtual occupancy area R' protrudes outward from the end edge O of the workpiece W by a protrusion PA that exceeds the specified threshold PA. th Eliminate the determined position P1 under the condition _i This condition. For example, in Figure 32 In the example shown, the protrusion PA can also be determined as the distance y2 that region J protrudes forward from the rear end edge O3.
[0191] Alternatively, the protrusion PA can also be determined as the volume of region J or the area of region J in the xy plane of robot coordinate system C1. The processor 40 determines the position P1. _i The protrusion amount PA is calculated based on the position of the virtual occupied area R' in the robot coordinate system C1 and the shape information SI of the surface Q, and it is determined whether the protrusion amount PA exceeds the threshold PA. th (PA≥PA th Processor 40 eliminates the positional elimination condition CC only when the protrusion amount PA exceeds the threshold PA. th Eliminate the determined position P1 under the condition _i .
[0192] Furthermore, the pattern information PI may also include at least one of machining area setting information MI and non-machining area setting information NI, wherein the machining area setting information MI is used to set the machining area ME on the surface Q to be scraped, and the non-machining area setting information NI is used to set the non-machining area NE on the surface Q to be not scraped. Referring below... Figure 33 and Figure 34 This is to illustrate the processing area ME and the non-processing area NE.
[0193] exist Figure 33 In the example shown, a machining area ME is defined in the central region of surface Q. This machining area ME is the region of surface Q where a groove R should be formed by scraping. The machining area setting information MI contains information about the position (coordinates) of the robot coordinate system C1 used to set the machining area ME.
[0194] On the other hand, Figure 34 In the example shown, an unprocessed region NE is defined in the central area of surface Q. This unprocessed region NE is the area of surface Q from which the formation of recesses R by scraping should be avoided. The unprocessed region setting information NI contains information about the position (coordinates) of the robot coordinate system C1 used to define the unprocessed region NE.
[0195] The operator inputs either the processing area setting information MI or the non-processing area setting information NI as the pattern information PI. For example, ... Figure 33 and Figure 34 As shown, the operator inputs the coordinates of vertices P31, P32, P33, and P34 of the polygon used to divide the processing area ME or the non-processing area NE in the robot coordinate system C1, as well as information SI used to specify the shape of the polygon. D 'As processing area setting information MI or non-processing area setting information NI.
[0196] Information SI mentioned above D Similarly, the information SI used to specify the shape DFor example, it includes the order for identifying vertices 31, P32, P33, and P34 (e.g., "clockwise" or "counterclockwise"). Alternatively, if the machining area ME or the non-machining area NE is circular, the operator can also input the coordinates of the center point of the circle as machining area setting information MI or non-machining area setting information NI.
[0197] The processor 40 sets the machining area ME in the robot coordinate system C1 with reference to the machining area setting information MI, and functions as the position determination unit 56, determining the position of the recess R (the position of the reference point RP) within the set machining area ME. The result is as follows: Figure 33 As shown, the position of the recess R is determined within the processing area ME.
[0198] Alternatively, the processor 40 refers to the non-processing area setting information NI and sets the non-processing area NE in the robot coordinate system C1, and functions as the position determination unit 56 to determine the position of the recess R (e.g., position P1) in a manner that avoids the setting of the non-processing area NE. As a result, as... Figure 34 As shown, the position of the recess R is determined in the area on surface Q other than the non-machined area NE. For example, the operator can set holes, grooves, or protrusions formed on surface Q as non-machined areas NE based on the non-machined area setting information NI, thereby arbitrarily avoiding scraping of holes, grooves, or protrusions on surface Q.
[0199] Furthermore, the aforementioned offset information PI4 may also include information for setting the offset distance δ between the boundary line of the processed area NE or the unprocessed area NE and the recess R. In this case, the processor 40 determines the position of the recess R as the position after separating it from the boundary line of the processed area NE or the unprocessed area NE by the offset distance δ.
[0200] Additionally, the processor 40 can also accept the length x2 and width y1 of the recess R as inputs as the dimension information DI of the machining condition MC, and accept the offset distances δ2 and δ4. Figure 17 When the input is PI4 as offset information, the position of the recess R is determined by setting the distance between the corresponding virtual occupied area R' and the end edge O to an offset distance δ2 or δ4 or greater. As described above, the virtual occupied area R' can be estimated based on the length x2 and the width y1.
[0201] The processor 40 can also automatically determine other parameters in the machining condition MC based on a subset of parameters obtained from the operator's input. For example, suppose the operator sets the dimension information DI, which is the machining condition MC, to x1 = 10 [mm] and z1 = 5 [mm], and sets the instruction CM, which is the machining condition MC, to the speed instruction PC. V_2(speed V) P_2 The input is 100 mm / sec. In this case, the processor 40 can automatically input the speed command FC, which is the processing condition MC, based on the input data of the processing condition MC and the above equations (1) and (2). V _0(speed V) F_0 ) decided as FC V_0 =50 [mm / sec].
[0202] The aforementioned processing conditions MC may also include the target value F of the pressing pressure F. T Alternatively, regarding the machining conditions MC, the dimensional information DI (length x2, width y1, and depth z3), the trajectory control information TI (distance x1, z1, x3, and z2), and the command CM (position control command PC) can be included. n and force control command FC) and the target value F of force control T At least two of the data tables DT1, which are stored in association with each other, are stored in memory 42. For example, suppose the operator inputs depth z3 as the dimension information DI for the processing condition MC. In this case, the processor 40 can also retrieve from data table DT1 and automatically set the target value F corresponding to the input depth z3. T .
[0203] Furthermore, in the above embodiments, it is described that... Figure 7 As shown, at the end of the scraping process, the tip 32a of the scraping tool 16 reaches the teach point TP3, and the position P2 in the robot coordinate system C1 is approximately the same as the x-coordinate of the teach point TP2. However, in reality, sometimes at the end of the scraping process, the tip 32a of the scraping tool 16 shifts from the teach point TP3 (e.g., downwards), and sometimes the position P2 shifts from the teach point TP2 (e.g., to the right). Figure 35 Examples of this are shown in the text.
[0204] exist Figure 35 In the example shown, on the actual trajectory TR of the scraping tool 16 during the scraping process, when position P2 shifts to the right from the teaching point TP2 and the scraping tool 16 reaches the position corresponding to the teaching point TP3, the front end 32a of the scraping tool 16 is positioned at the trajectory endpoint P4 shifted downward from the teaching point TP3.
[0205] On the trajectory TR, the distance x2' between position P1 and teach point TP2 in the x-axis direction of robot coordinate system C1 is less than the length x2 of the formed recess R. This distance x2' is a parameter highly correlated with the length x2 and can be included in the dimensional information DI. Additionally, the distance x3' between position P2 and the trajectory endpoint P4 (or teach point TP3) in the x-axis direction of robot coordinate system C1 is less than the distance x3 between teach point TP2 and teach point TP3.
[0206] Furthermore, the distance z2' between position P2 and trajectory endpoint P4 along the z-axis of robot coordinate system C1 is less than the distance z2 between position P2 and teach point TP3. The distances x3 and z2 in the trajectory control information TI are parameters highly correlated with the actual trajectory TR distances x3' and z2', and can be included together with x3 and z2 in the trajectory control information TI.
[0207] For example in Figure 23 or Figure 25 In the process shown, it is possible to form a system where step S8 is omitted in processor 40 and position control and force control are terminated in step S10. Figure 35 The trajectory TR is shown. In this case, the operator operates the input device 46 to input the distance x2' and the length x2, width y1 and depth z3 of the recess R as dimension information DI, and input the distance x3 and z2 as trajectory control information TI.
[0208] Then, if the processor 40 determines the coordinates (X1, Y1, Z1) of the position P1 of the recess R in steps S2, S21, S23, or S25 above, in step S3 above, it calculates the coordinates (X1+x2', Y1, Z1+z1) of the teaching point TP2 according to the teaching point calculation program PG2, and calculates the coordinates (X1+x2'+x3, Y1, Z1+z2) of the teaching point TP3. In this way, the processor 40 can automatically calculate the teaching point TP for specifying the movement path MP based on the size information DI and the trajectory control information TI. n .
[0209] In addition, Figure 35 In the example shown, the length x2 of the concave portion R is compared with the distances x2', x3, and z2 (or representing the teaching point TP). n The data table DT2, which stores the teaching point position data relative to the reference point RP of the recess R, can also be stored in memory 42.
[0210] In this case, the operator may input the length x2 of the recess R as dimension information DI. The processor 40 retrieves the distances x2', x3, and z2 (or teach point position data) corresponding to the input length x2 from the data table DT2. Based on these distances x2', x3, and z2 (or teach point position data) and the position (position P1) of the recess R determined by the position determination unit 56, the processor 40 automatically calculates the teach point TP. n Position in robot coordinate system C1. For example, by experimental methods or simulation under specified machining conditions MC and teach point TP. n We conducted a trial scraping process, which enabled us to create the data sheet DT2.
[0211] Alternatively, a data table DT2' that associates length x2, distance x3', and z2' with distance x2', x3, and z2 (or teaching point position data) can also be stored in memory 42. In this case, the operator can also input the length x2 of the recess R as dimension information DI, and input the distance x3' and z2' as trajectory control information TI.
[0212] Then, the processor 40 can also retrieve the distances x2', x3, and z2 (or teaching point position data) corresponding to the input lengths x2, x3', and z2' from the data table DT2', and automatically calculate the teaching point TP based on these distances x2', x3, and z2 (or teaching point position data) and the position (position P1) of the recess R determined by the position determination unit 56. n Position in robot coordinate system C1.
[0213] Furthermore, the row direction G and column direction H are not limited to the example shown in the figure, and can be determined arbitrarily relative to surface Q. Additionally, in Figure 23 and Figure 24 The illustrated process describes how the teach point TP is updated each time a scraping process is performed. n However, this is not the only possibility. The processor 40 can also determine the positions of all recesses R before performing the scraping process, and calculate teaching points TP for all recesses R whose positions have been determined. n The position. Then, the processor 40 can also determine the position of all the recesses R and the teaching point TP calculated for all the recesses R. n After being stored in memory 42, the scraping process begins.
[0214] In addition, the patterns that can be specified by the pattern information PI1 are not limited to the translation patterns and serrated patterns mentioned above. For example, they can also have X-shaped patterns that overlap other recesses R in an X shape on one recess R, or random patterns that randomly configure the recesses R on the surface Q using a random number table, or other arbitrary patterns.
[0215] Furthermore, the above embodiment describes the case where the reference point RP representing the position of the recess R is set to position P1. However, it is not limited to this; for example, position P2 or midpoint P3 can also be used as the reference point, or any point whose position relative to the recess R is known can also be used.
[0216] Furthermore, in the above embodiments, it was described that the processor 40 determines the position of the recess R as the coordinates of the robot coordinate system C1. However, it is not limited to this; the processor 40 may also determine the coordinates as the workpiece coordinate system set for the workpiece W, the world coordinate system used to define the three-dimensional space of the work area, or the user coordinate system arbitrarily set by the operator, or any other arbitrary coordinate system. The present disclosure has been described above through embodiments, but the above embodiments do not limit the invention as claimed.
[0217] Explanation of reference numerals in the attached figures
[0218] 10: Robot system; 12: Robot; 16: Scraping tool; 18: Control device; 40: Processor; 52: Robot control unit; 54: Input receiving unit; 56: Position determination unit; 58: Path generation unit; 60: Device.
Claims
1. An apparatus for determining the positions of a plurality of recesses, said recesses being formed on the surface of a workpiece by a scraping process performed by a robot using a scraping tool to flatten the surface. The device includes: The input receiving unit accepts input of shape information of the surface and input of pattern information for determining the positional relationship of the various recesses disposed on the surface through an input device that allows the operator to input data; The position determination unit automatically determines the position of each of the recesses on the surface based on the shape information and pattern information received by the input receiving unit. as well as The determination unit, when the position determination unit determines a position, determines, based on the position and the shape information, whether a portion of the virtual occupied area of the recess at that position protrudes outward from the edge of the surface. If the determination unit determines that a position is protruding, the position determination unit eliminates one of the determined positions.
2. The apparatus for determining the positions of a plurality of recesses according to claim 1, wherein, The pattern information also includes spacing information. The spacing information is used to set the spacing between two adjacent recesses in the row or column direction.
3. The apparatus for determining the positions of a plurality of recesses according to claim 2, wherein, The pattern information also includes angle information, which is used to set the angle of the row direction or the column direction relative to a reference direction determined for the surface.
4. The apparatus for determining the positions of a plurality of recesses according to any one of claims 1 to 3, wherein, The pattern information also includes a position elimination condition, which is used to determine whether to eliminate the determined position if a portion of the virtual occupied area of the recess, for which the position is determined by the position determination part, protrudes outward from the end edge of the surface. If the determined position is determined to be salient in the position elimination condition and is determined to be prominent by the determination unit, the position determination unit eliminates one of the positions.
5. The apparatus for determining the positions of a plurality of recesses according to any one of claims 1 to 3, wherein, The pattern information also includes offset information, which is used to set the offset distance of the recess relative to the edge of the surface. The position determining unit determines the position by offsetting the recess relative to the end edge by the offset distance.
6. The apparatus for determining the positions of a plurality of recesses according to any one of claims 1 to 3, wherein, The pattern information also includes processing area setting information or non-processing area setting information. The processing area setting information is used to define the processing area on the surface where the scraping process should be performed. The non-processing area setting information is used to define non-processing areas on the surface where the scraping process is not performed. The position determination unit determines the position within the processing area or determines the position in a manner that avoids the non-processing area.
7. The apparatus for determining the positions of a plurality of recesses according to any one of claims 1 to 3, wherein, The input receiving unit also accepts inputs for the processing conditions used to cause the robot to perform the scraping process. The device also includes a path generation unit, which automatically generates a movement path for the robot when forming a recess based on the processing conditions accepted by the input acceptance unit and the position of a recess determined by the position determination unit.
8. The apparatus for determining the positions of a plurality of recesses according to claim 7, wherein, The processing conditions include the dimensional information of the recess and the trajectory control information. The trajectory control information is used to specify the angle at which the robot moves the scraping tool and contacts the surface during the scraping process. The path generation unit automatically calculates teaching points for defining the movement path based on the size information and the trajectory control information.
9. A robot system, comprising: A robot that moves the scraping tool; The apparatus for determining the position of a plurality of recesses according to any one of claims 1 to 8; and The robot control unit controls the robot's movements based on the position determined by the position determination unit to enable the scraping process to be performed.
10. A method for determining the positions of a plurality of recesses, said plurality of recesses being formed on a surface by a scraping process performed by a robot using a scraping tool to scrape the surface of a workpiece to make it flat, wherein in said method, The processor accepts input of shape information of the surface and input of pattern information for determining the positional relationship of the various recesses disposed on the surface via an input device that allows the operator to input data. The processor automatically determines the position of each of the recesses on the surface based on the received shape information and pattern information. When the processor determines a position, it uses the position and shape information to determine whether a portion of the virtual occupied area of the recess at that position protrudes outward from the edge of the surface. If it is determined that the portion protrudes outward from the end edge, the processor eliminates one of the determined positions.
Citation Information
Patent Citations
Cutting tool holder characterized by flexible structure and its use
JP2004042164A
Scraping method by m / C
JP1995001229A
Automatic work surface machining device
JP1995276206A
Scraping apparatus and scraping method, using robot
JP2016137551A