Program generation device and program generation method

The system addresses the issue of robot arm deflection by using a force sensor to calculate and compensate for positional offsets, ensuring accurate path generation and collision avoidance, thus enhancing processing precision.

CN115515761BActive Publication Date: 2025-07-15FANUC LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202180033515.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-05-11
Filing Date
2021-05-06
Publication Date
2025-07-15
Estimated Expiration
2041-05-06

AI Technical Summary

Technical Problem

In the prior art, the robot fails to effectively consider the amount of deflection in the processing process, resulting in a tool position offset, which may lead to misjudgment of singular points, limits or prohibited areas, and thus damage the tool or workpiece.

Method used

By detecting the pressing pressure and deflection amount at the front end of the robot, the spring constant is used to calculate the deflection amount offset, and a path program that takes into account the deflection amount is automatically generated to avoid approaching singular points, limits or prohibited areas.

Benefits of technology

The generated path program can consider the amount of deflection with high accuracy, avoid positional deviation between the tool and the workpiece, and ensure the safety and accuracy of the processing process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115515761B_ABST
    Figure CN115515761B_ABST
Patent Text Reader

Abstract

The present invention provides a program generation device that can automatically generate a path program with the amount of deflection estimated when the front end of a robot abuts against a workpiece. The program generation device includes: an acquisition unit that acquires path data indicating a path followed by the front end of the robot with respect to an object; a detection unit that detects a pressing force for pressing the front end of the robot against the object; a calculation unit that calculates a position offset amount by which the followed path is offset due to deflection of the front end of the robot based on the pressing force detected by the detection unit and a predetermined constant; and a generation unit that automatically generates a path program for controlling the movement path of the front end of the robot based on the path data acquired by the acquisition unit and the position offset amount calculated by the calculation unit.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a program generation device and a program generation method. Background Art

[0002] Conventionally, the following method (Patent Document 1) has been known: In a program generation device, in the machining deburring process of a robot, the actual ridge line of deburring is detected by a vision sensor, and a path program corresponding to the ridge line is created.

[0003] In addition, the following method is known: In the grinding process, the trajectory followed by the end effector is also detected by a vision sensor, and a path program corresponding to the trajectory is created.

[0004] In the above machining deburring process and grinding process, when the robot reaches its singularity, axis limits, set prohibited areas, etc. or passes near them, it alarms and stops. To avoid this situation, the motion trajectory is usually taught / set in such a way that it does not pass near the singularity, limit, or set prohibited area.

[0005] In addition, when automatically creating a path program based on the actual ridge line and trajectory, even if there is no problem in a certain individual workpiece, due to differences in the fixed position, size, and shape of the workpiece itself in other workpieces, it sometimes becomes an alarm for singularities and limits.

[0006] Prior Art Documents

[0007] Patent Documents

[0008] Patent Document 1: Japanese Unexamined Patent Application Publication No. 2015-009324 Summary of the Invention

[0009] Problems to be Solved by the Invention

[0010] In a system using the above path program, in the machining of a predetermined workpiece, for example, in the deburring process, the robot generates a force for pressing a tool against the workpiece. Therefore, in a state where the arm of the robot is flexed, the front end (end effector / machining tool) of the robot is in a position slightly indented into the workpiece.

[0011] However, in the path program that controls the movement path of the front end of the above robot, such a flexure amount is not estimated. Therefore, the actual position when the deburring robot presses the tool against the workpiece is shifted. It is pointed out that the determination of whether it has reached the singularity, axis limits, set prohibited areas, etc. cannot be correctly made, and the workpiece itself, the end effector (finger tip of the robot) / machining tool may be damaged.

[0012] In such a path program, it is desirable to consider the flexure amount of the front end of the robot when the front end of the robot abuts against the workpiece.

[0013] Means for Solving the Problem

[0014] The program generation device in the present disclosure includes: an acquisition unit that acquires path data indicating a path followed by the tip of a robot with respect to an object; a detection unit that detects the pressing force for pressing the tip of the robot against the object; a calculation unit that calculates a position offset amount by which the followed path is offset due to the deflection of the tip of the robot based on the pressing force detected by the detection unit and a predetermined constant; and a generation unit that automatically generates a path program for controlling the movement path of the tip of the robot based on the path data acquired by the acquisition unit and the position offset amount calculated by the calculation unit.

[0015] Advantageous Effects of the Invention

[0016] According to one aspect, when the tip of the robot abuts against the workpiece, a path program that takes into account the amount of deflection due to deflection can be automatically generated. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 It is a block diagram for explaining the structure of the robot device showing the present embodiment.

[0018] Figure 2 It shows Figure 1 a diagram showing the position coordinates of the sampling points for measuring the amount of deflection of the calculation unit shown.

[0019] Figure 3 It is a flowchart for explaining the control process of the program generation device showing the present embodiment.

[0020] Figure 4 It shows based on Figure 1 a schematic top view of the prism path of the path program generated by the program generation unit shown.

[0021] Figure 5 It is a block diagram for explaining the structure of the program generation device showing the present embodiment.

[0022] Figure 6 It is a schematic diagram for explaining the deburring process of the robot showing the present embodiment.

[0023] Figure 7 It is a schematic diagram for explaining the deburring process of the robot showing the present embodiment.

[0024] Figure 8 It is a schematic diagram for explaining the deburring process of the robot showing the present embodiment.

[0025] Figure 9It is a flowchart for explaining the control process of the program generation device representing this embodiment.

[0026] Figure 10 It is a schematic diagram for explaining the deburring process of the robot representing this embodiment.

[0027] Figure 11 It is a flowchart for explaining the control process of the program generation device representing this embodiment.

[0028] Figure 12 It is a schematic diagram for explaining the grinding process of the robot representing this embodiment. Detailed Embodiment

[0029] Hereinafter, embodiments of the present disclosure will be described.

[0030] [First Embodiment]

[0031] Figure 1 It is a block diagram for explaining the structure of the robot device representing this embodiment. Hereinafter, a program generation device and a program method for generating a path program applied to the robot device 1 will be described in detail. This example shows the case where a predetermined tool is, for example, a deburring tool.

[0032] The robot device shown in this embodiment includes: a robot device 1, a control device 2 of the robot device 1, a robot wrist (end effector) 3, a force sensor 4, and a deburring tool 5. The deburring tool 5 processes a workpiece 7 shown, for example, in the following Figure 6 etc. The workpiece 7 has a positioning error, and there are also deviations in shape and size.

[0033] In addition, the control device 2 is composed of a force control unit 21, a storage unit 22, a calculation unit 23, an acquisition unit 24, a program generation unit 25, and a program execution unit 26.

[0034] Furthermore, the control device 2 has an input unit 11 and a display unit 12 via an interface not shown. The robot device 1 has a drive unit 1A, and performs the processing of the deburring tool 5 according to an instruction from the force control unit 21. The input unit 11 inputs the deflection amount of the robot wrist (end effector) 3 measured by the operator.

[0035] The storage unit 22 can update and store the deburring processing program, grinding processing program, and parameters (shape, size, material) of each workpiece required for each processing program generated by the program generation unit 25.

[0036] The acquisition unit 24 communicates with a predetermined CAD system (not shown), acquires path data of the end effector 3 that moves when machining an object to be machined (workpiece W), and stores it in the storage unit 22. The calculation unit 23 calculates the amount of deflection corresponding to the pressing force detected by the force sensor 4 using the spring constant stored as described later, and stores it in the storage unit 22. The program generation unit 25 generates a path program obtained by correcting the machining path data stored in the storage unit 22 according to the calculated amount of deflection. The program execution unit 26 executes the corrected path program, thereby controlling the force control unit 21 and the drive unit 1A, and controlling the movement path of the front end of the robot device 1 equipped with a predetermined tool.

[0037] In Figure 1 In the example of the robot device shown, the calculation unit 23 calculates the amount of deflection based on the spring constant k stored in the storage unit 22 as described later and the pressing amount detected by the force sensor 4. Next, the program generation unit 25 generates a path program that takes into account the amount of deflection based on the path data (CAD data) stored in the storage unit 22 and the calculated amount of deflection.

[0038] In addition, the CAD data acquired by the acquisition unit 24 is obtained by processing the graphic data and image data of the workpiece W to be machined, for example, by using a tracking instruction or the like to track the path pressed by the tool, or by automatically performing raster-vector conversion processing. In the present embodiment, the path data in which the end effector, which is the front end of the robot device 1, follows the ridge line of the object (workpiece W), or the straight path that linearly moves on the plane of the object, is set as the CAD data.

[0039] Thereby, regardless of whether the predetermined tool mounted on the end effector 3 is a deburring tool or a grinding tool, a path program adaptable to any amount of deflection can be generated.

[0040] The program generation unit 25, which is a generation unit, automatically generates a path program for controlling the movement trajectory of the end effector 3 of the robot device 1 according to the path data followed by the end effector 3 of the robot device 1 stored in the storage unit 22, and stores it in the storage unit 22.

[0041] As a detection unit, the force sensor 4 detects the pressing force on the predetermined tool mounted on the end effector of the robot device 1 that presses the workpiece W, and outputs it to the force control unit 21 and the calculation unit 23. In addition, when the data of the force sensor 4 is analog, the amount of deflection is output as digital data via an A / D converter (not shown).

[0042] The calculation unit 23 calculates the position offset of the path deviation following the arm deflection of the robot device 1 based on the pressing force detected by the force sensor 4 and a predetermined constant (spring constant), and stores the calculation result in the storage unit 22. In addition, the details of the calculation of the position offset will be described later.

[0043] The program generation unit 25 reads out the deflection amount of each workpiece stored in the storage unit 22, generates a path program obtained by correcting the machining path data based on the deburring process stored in the storage unit 22 in advance, and stores it in the storage unit 22.

[0044] The force control unit 21 outputs drive control information for performing deburring in a three-dimensional manner to the drive unit 1A of the robot device 1 according to the corrected path program stored in the storage unit 22. The drive unit 1A of the robot device 1 performs three-dimensional movement of the robot arm and drives a predetermined tool, such as the deburring tool 5, based on the drive control information output from the force control unit 21 and the machining control information of the vision sensor 8, the force sensor 4, etc.

[0045] [First spring constant calculation example]

[0046] Hereinafter, Figure 1 the spring constant calculation process of the calculation unit 23 shown will be described.

[0047] The calculation unit 23 actually measures the deflection amount corresponding to the pressing force in the XYZ directions at a representative position and posture (for example, all of J1 to J6 are 0) of the robot device 1. Here, the pressing force is obtained from the output of the force sensor 4. The calculation unit 23 calculates the spring constant k (k = F / L) according to L = F / k (spring constant) on the assumption that the pressing force F and the deflection amount L are in a proportional relationship.

[0048] In this example, the value of the spring constant k corresponding to the predetermined tool is calculated based on the pressing force F sensed by the force sensor 4 and the measured deflection amount L. In addition, when it is assumed that there is no proportional relationship, the function F is obtained. The program generation unit 25 uses the spring constant k or the function F at all positions and postures.

[0049] In addition, the calculation unit 23 stores the calculated spring constant k corresponding to the predetermined tool as a spring constant table in the storage unit 22 according to the information of the robot device 1 and each tool.

[0050] [Second spring constant calculation example]

[0051] Figure 2 is a diagram showing Figure 1 the position coordinates of the sampling points of the measured deflection amount of the calculation unit 23 shown. The black circles in the figure represent the sampling points of the measured deflection amount.

[0052] In Figure 2 In the example shown, the calculation unit 23 preset multiple points within the operation range of the robot device 1, for example, setting grid points at equal intervals in the XYZ axis directions. At the position and posture of the robot device 1 at each sampling point, the operator actually measures the amount of deflection corresponding to the pressing force in the XYZ directions. Similar to the first deflection amount calculation example, the calculation unit 23 calculates the spring constant kxyz or the function fxyz corresponding to the predetermined tool at this sampling point through calculation, and stores it in the storage unit 22.

[0053] In addition, instead of actually measuring the amount of deflection as in the above calculation example, it can be calculated through simulation. The amount of deflection generally varies according to the model of the robot, so it is carried out according to the model of the robot to be used. Specifically, a physical model considering the characteristics such as the link lengths of the robot, the masses and inertias of various components, and the reducers of each axis is made, and the amount of deflection corresponding to the pressing force applied to the front end and end effector of the robot is calculated through simulation. Here, the spring constant is actually measured.

[0054] Figure 3 It is a flowchart for explaining the control process of the program generation device according to the present embodiment. In addition, ST1 to ST5 represent each step, and each step is realized by loading the control program stored in the ROM or the like into the RAM by a CPU (not shown) and executing it. This example corresponds to the program generation process in the processing of pressing the tool against the workpiece.

[0055] First, when reading out the path data corresponding to the predetermined tool from the storage unit 22, for example, the path data following the contour path or the path data following the straight path, the program generation unit 25 makes a path program according to the path data and temporarily stores it in the storage unit 22 (ST1). Here, the path data is pre-made by a CAD system (not shown), obtained by the acquisition unit 24, and stored in the storage unit 22. In addition, this path data is data that does not consider the amount of deflection of the front end portion.

[0056] Next, the calculation unit 23 calculates the amount of deflection generated when pressing the predetermined tool against the workpiece W through calculation processing, based on the identification information of the robot device 1, the dimensions and material of the workpiece W, etc., referring to the spring constant table for the predetermined tool stored in the storage unit 22, and using the spring constant k corresponding to the predetermined tool read out and the pressing force of the predetermined tool detected by the force sensor 4.

[0057] The program generation unit 25 makes a new path program obtained by correcting the path data of the path program for the predetermined tool previously stored in the storage unit 22 according to the calculated amount of deflection (ST3).

[0058] Next, the program generation unit 25 analyzes the newly created path program to determine whether there is a portion close to a singular point of the robot device 1, a limit value of each drive axis, or other prohibited areas (ST4). Here, if the program generation unit 25 determines that there is a portion close to a singular point of the robot device 1, a limit value of each drive axis, or other prohibited areas, the process proceeds to ST5.

[0059] Then, the program generation unit 25 generates a route program that uses the location specified in step ST4 as an end point and retreats from the end point along a designated route (ST5), and ends the process. The generated final route program is stored in the storage unit 22.

[0060] On the other hand, in step ST4 , when the program generation unit 25 determines that there is no location close to a singularity point of the robot device 1 , a limit value of each drive axis, or other prohibited areas, the processing ends.

[0061] Figure 4 It means according to Figure 1 The schematic top view of the ridgeline path of the path program generated by the program generation unit 25 is shown. The outer side of the black circle in the figure is a point on the track without considering the deflection, and the inner side is a point on the track considering the deflection. The dotted line represents the track connecting the tip position of the deburring tool 5 considering the deflection.

[0062] Thus, the amount of deflection generated when the deburring tool 5 mounted on the robot device 1 comes into contact with the workpiece W is taken into consideration, and therefore, the workpiece W can be deburred with high accuracy without positional deviation.

[0063] [Effects of the First Embodiment]

[0064] According to the present embodiment, it is possible to automatically generate a path program corrected according to the amount of deflection caused by deflection of the arm of the robot that occurs when a predetermined tool attached to the robot is actually pressed against a workpiece.

[0065] [Second embodiment]

[0066] In the above-mentioned embodiment, the case of generating a path program is described, and the path program is obtained by correcting the path data of the predetermined tool pressed on the workpiece, which is acquired and stored by the acquisition unit 24 from the CAD system, according to the deflection amount of the arm of the robot device 1. Hereinafter, an embodiment of generating a path program based on the path data of the tool obtained by the visual sensor 8 and the deflection amount of the arm of the robot device 1 obtained by calculation is described in detail. Hereinafter, an example is described in which the path followed by the deburring tool 5 when moving in the deburring process is set to a path moving along the edge line on the workpiece W.

[0067] [Path Program Generation Process Taking the Deburring Process as an Example]

[0068] Figure 5 is a block diagram for explaining the structure of the program generation device representing this embodiment. In addition, the same parts as Figure 1 are labeled with the same reference numerals, and their descriptions are omitted. The vision sensor 8 is disposed on the upper side of the workpiece W so as to be movable in three dimensions, and detects the deburring ridge line of the object (workpiece W) by photographing the ridge line path followed by the end effector at the front end of the robot device 1.

[0069] In this embodiment, the calculation unit 23 calculates the amount of deflection by calculating based on the force pressing on the workpiece detected by the force sensor 4 and the spring constant for the deburring tool 5 stored. The program generation unit 25 creates a path program of path data obtained by actually photographing a predetermined process, such as the deburring process, by the vision sensor 8, and stores it in the storage unit 22. Then, the program generation unit 25 creates a new path program based on the path program stored in the storage unit 22 and the amount of deflection.

[0070] In addition, when the program generation unit 25 analyzes the deburring ridge line data detected by the vision sensor 8 and automatically creates a path program based on the ridge line data, if it approaches a singularity, the limit value of each axis, or other set prohibited regions, it creates a path program that takes this place as an end point and retreats from the path specified thereafter.

[0071] Similarly, the program generation unit 25 creates the following path program: temporarily follows the retreating trajectory, leaves a predetermined distance from the singularity, the limit of each axis, or the prohibited region, and then returns to the trajectory detected by the vision sensor 8 again.

[0072] In addition, during the deburring process, a pressing force is generated by the robot device 1, so the arm of the robot device 1 deflects.

[0073] Therefore, in this embodiment, it is desirable to perform the determination of singularities and limits at the position where the amount of deflection is corrected. Hereinafter, the amount of deflection of the robot at this position and posture is obtained in advance, or is calculated by the above function. Hereinafter, the deburring process of the robot device 1 applying this embodiment will be described with reference to the drawings.

[0074] Figures 6 to 8 is a schematic diagram for explaining the deburring process of the robot representing this embodiment, Figure 6 shows the state where the deburring tool approaches the starting point of the deburring track, Figure 7 shows the state where the automatically generated track passes near the singularity, Figure 8 shows the retreating track (dashed line) away from the singularity.

[0075] The robot device 1 in this example is overall controlled for the machining process and the program generation process via a predetermined interface connected to the control device 2.

[0076] The deburring device includes: a robot device 1, a control device 2 of the robot device 1, a robot wrist (end effector) 3, a force sensor 4, a deburring tool 5, a workpiece 7, and a vision sensor 8. In addition, there are positioning errors in the workpiece 7, and there are also deviations in shape and size. Further, the deburring part 6 corresponds to the part (ridge line) of the workpiece 7 where the deburring tool 5 performs machining.

[0077] The robot device 1 is composed of an articulated robot having a plurality of arm parts. A force sensor 4 is provided at the front end of the arm part of the robot device 1, and the deburring tool 5 is mounted on the force sensor 4. The robot device 1 rotates the electric motors (servo motors) provided at each joint according to the control signal output from the control device 2, and thus can take various positions and postures. The robot device 1 is not limited to the illustrated device, and can also be applied to any robot having a known form.

[0078] The deburring tool 5 is a tool generally used for removing the burrs of the workpiece W, and is not limited to a specific form. For example, there are cutters, grinders, etc. The deburring tool 5 is fixed to the robot wrist 3 of the robot device 1 and moves together with the robot wrist 3 as the robot device 1 moves.

[0079] In addition, the control device 2 has an input unit 11 and a display unit 12 connected via an interface not shown. The robot device 1 has a drive unit 1A, and when a machining start instruction is received from the input unit 11, it performs the machining process of the deburring tool 5 according to the instruction from the force control unit 21.

[0080] The storage unit 22 can update and store the path program for deburring machining, the path program for grinding machining, and the parameters (shape, size, material) of each workpiece required for each machining program generated by the program generation unit 25.

[0081] In addition, the program generation unit 25 analyzes the deburring ridge line data (path data) photographed and detected by the vision sensor 8, and automatically creates a path program for the robot wrist (end effector) 3 to follow this ridge line data. At this time, when the end effector 3 approaches a singularity point, the limit value of each axis, or other set prohibited areas, the program generation unit 25 creates a path program that uses its coordinate value as an end point and makes the end effector 3 retreat along a specified path thereafter.

[0082] That is, the program generation unit 25 creates a path program in which the end effector 3 retreats from the end point at which the path obtained by correcting the path followed by the end effector with the calculated position offset approaches a singularity of the robot device 1, the limit values of the respective drive axes, or a set prohibited area, along a specified path.

[0083] Similarly, the program generation unit 25 creates the following path program: the end effector 3 follows an orbit that temporarily retreats from the workpiece W, leaves a predetermined distance from the singularity or the limit of each axis or the prohibited area, and then returns to the orbit detected by the vision sensor 8 again.

[0084] In addition, during the deburring process, a pressing force is generated by the robot device 1, so the arm of the robot device 1 flexes. Therefore, in the present embodiment, it is desirable to determine the singularity and the limit at the position where the amount of flexure is corrected.

[0085] Figure 9 It is a flowchart for explaining the control process of the program generation device according to the present embodiment. In addition, ST11 to ST15 represent each step, and each step is realized by a CPU (not shown) loading a control program stored in a ROM or the like onto a RAM and executing it. This example corresponds to the program generation process in deburring.

[0086] First, the vision sensor 8 captures an image of the workpiece W, senses the path following the ridge line of the workpiece W, and outputs it to the program generation unit 25. The program generation unit 25 analyzes the path data of the workpiece W output from the vision sensor 8 to create a path program, and temporarily stores it in the storage unit 22 (ST11).

[0087] Next, the calculation unit 23 calculates the amount of flexure generated when the deburring tool 5 presses the workpiece W by calculation processing, referring to the spring constant table for the deburring tool 5 stored in the storage unit 22, using the spring constant k corresponding to the deburring tool 5 read out and the pressing force of the deburring tool 5 detected by the force sensor 4, based on the identification information of the robot device 1, the dimensions, material, etc. of the workpiece W (ST12).

[0088] The program generation unit 25 creates a new path program for the deburring tool by correcting the path data of the path program for the deburring tool previously stored in the storage unit 22 based on the calculated amount of flexure (ST13).

[0089] Next, the program generation unit 25 analyzes the created path program for deburring and determines whether there is a part that approaches a singularity of the robot device 1, the limit values of the respective drive axes, or other prohibited areas (ST14).

[0090] Here, if the program generation unit 25 determines that there is a location close to a singular point of the robot device 1, a limit value of each drive axis, or other prohibited areas, the process proceeds to ST15. The program generation unit 25 then creates a path program (ST15) that uses the location determined in step ST4 as an end point and retreats from the end point along a specified path, and the process ends. The created final path program is stored in the storage unit 22.

[0091] On the other hand, in step ST14 , when the program generation unit 25 determines that there is no location close to a singularity point of the robot device 1 , a limit value of each drive axis, or other prohibited areas, the processing ends.

[0092] Figure 10 This is a schematic diagram for explaining a deburring process of the robot device 1 according to the present embodiment.

[0093] This example shows a process of deburring the circumferential portion of the workpiece W according to a circular track in a state where the deburring tool 5 is installed in the robot device 1. The imaginary track 10 is a track located inside the workpiece W and is a track that imaginarily represents the deflection amount caused by the pressing force. The program generation unit 25 generates a path program that is a deburring path obtained by correcting the deflection amount shown by the imaginary track 10 (indicated by a dotted line).

[0094] [Effects of the Second Embodiment]

[0095] According to the present embodiment, the deburring path program can perform deburring processing according to the ridgeline path taking into consideration the deflection amount of the arm of the robot device 1 with high accuracy.

[0096] [Third Embodiment]

[0097] In the above embodiment, the program generation process based on the deflection correction in the deburring process is described, but when the robot device 1 performs the grinding process, the same deflection phenomenon also occurs when the tool of the robot device 1 contacts the workpiece W. An example in which the path along which the grinding tool moves in the grinding process is set as a straight path along which the grinding tool moves straightly on the surface of the workpiece W is described.

[0098] Therefore, instead of deburring in the second embodiment, the pressing amount of the robot device 1 at a specific position and posture in the grinding process may be measured to generate a path program in the grinding process corrected by the deflection amount.

[0099] In the present embodiment, when the visual sensor 8 captures and detects the shape and surface of the workpiece to be ground by the grinding tool and automatically creates a grinding path program, the program generation unit 25 creates a path program in which if the end effector 3 approaches a singularity, the limit value of each axis, or other set prohibited regions, the coordinate values thereof are set as end points, and the end effector 3 retreats along a path specified thereafter. That is, the program generation unit 25 creates a path program in which the coordinate values when the path obtained by correcting the path followed by the end effector 3 using the calculated position offset approaches a singularity through which the end effector 3 of the robot device 1 passes, the limit value of each drive axis, or a set prohibited region are set as end points, and the grinding tool retreats from the end points along a specified path.

[0100] Similarly, the program generation unit 25 creates the following path program: through the trajectory in which the end effector 3 temporarily retreats from the workpiece W, after the end effector 3 leaves a predetermined distance from the singularity, the limit of each axis, or the prohibited region, it returns again to the trajectory sensed by the visual sensor 8.

[0101] In addition, during grinding, a pressing force is generated by the robot device 1, so the arm of the robot device 1 flexes. Therefore, in the present embodiment, it is desirable to perform the determination of singularities and limits also at the position where the amount of flexure is corrected.

[0102] [Path Program Generation Processing Taking the Grinding Process as an Example]

[0103] Figure 11 This is a flowchart for explaining the control process of the program generation device according to the present embodiment. In addition, ST21 to ST25 represent each step, and each step is implemented by a CPU (not shown) loading a control program stored in a ROM or the like onto a RAM and executing it. This example corresponds to the program generation processing in grinding.

[0104] First, the visual sensor 8 captures an image of the workpiece W and outputs path data following a straight line path along the shape and surface of the workpiece W to the program generation unit 25. The program generation unit 25 analyzes the detected path data output from the visual sensor 8 to create a path program and temporarily stores it in the storage unit 22 (ST21).

[0105] Next, the calculation unit 23 calculates the amount of flexure generated when pressing the grinding tool against the workpiece W through calculation processing, based on the identification information of the robot device 1, the dimensions and material of the workpiece W, etc., referring to the spring constant table for the grinding tool stored in the storage unit 22, and using the spring constant k corresponding to the grinding tool read out and the pressing force of the grinding tool detected by the force sensor 4 (ST22).

[0106] The program generation unit 25 creates a new grinding path program (ST23) by correcting the path data of the grinding path program previously stored in the storage unit 22 based on the calculated amount of deflection.

[0107] Next, the program generation unit 25 analyzes the newly created grinding path program to determine whether there are any parts close to the singularity points of the robot device 1, the limit values of each drive axis, or other prohibited areas (ST24).

[0108] Here, when the program generation unit 25 determines that there are parts close to the singularity points of the robot device 1, the limit values of each drive axis, or other prohibited areas, the process proceeds to ST25. And the program generation unit 25 creates a path program that takes the location determined in step ST4 as the end point and retreats from this end point along a specified path (ST25), and ends the process. In addition, the final path program created is stored in the storage unit 22.

[0109] On the other hand, in step ST24, when the program generation unit 25 determines that there are no parts close to the singularity points of the robot device 1, the limit values of each drive axis, or other prohibited areas, the process ends.

[0110] Figure 12 It is a schematic diagram for explaining the grinding process of the robot device 1 of the present embodiment.

[0111] This example shows a process in which, in a state where a grinding tool is installed on the robot device 1, a combination of moving in a straight path in the left - right direction and moving in a straight path in the up - down direction on the upper surface of the workpiece W is continuously performed according to the grinding path 11A. The imaginary path 12A is an orbit inside the workpiece W and is an imaginary path representing the amount of deflection caused by the pressing force. The program generation unit 25 generates a path program, which is the grinding path 11A obtained by correcting the amount of deflection shown by the imaginary path 12A.

[0112] [Effects of the Third Embodiment]

[0113] According to the present embodiment, the grinding path program can perform grinding processing with high precision based on the processing orbit considering the amount of deflection of the robot device 1.

[0114] In addition, in each of the above embodiments, the case where the control device 2 generates the path program has been described, but it may also be configured to be implemented by a program managed by an OS installed in a data processing device, a so - called personal computer, which is connected to the control device 2 via a predetermined interface.

[0115] In addition, in the above-described embodiment, an example of creating a path program by taking a deburring process or a grinding process as an example has been described. However, as long as it is a process of pressing a certain tool against a workpiece, it can also be applied to other processes.

[0116] Moreover, in the above-described embodiment, an example of calculating the deflection amount by a calculation formula after actually measuring the pressing amount has been shown. However, it may also be configured to create a path program and verify it on a simulator (PC) that stores the path data, deflection amount, etc. shown in this embodiment to simulate the deflection state.

[0117] In addition, the present disclosure is not limited to the above-described embodiment, and changes (programs, storage media) and improvements within the scope that can achieve the object of the present disclosure are also included in the present disclosure.

[0118] Symbol Explanation

[0119] 1 Robot

[0120] 2 Control Device (Control Unit)

[0121] 3 Robot Wrist (End Effector)

[0122] 4 Force Sensor (Detection Unit)

[0123] 5 Deburring Tool

[0124] 7 Workpiece (Object)

[0125] 8 Vision Sensor (Sensing Unit)

[0126] 21 Force Control Unit

[0127] 22 Storage Unit

[0128] 23 Calculation Unit

[0129] 24 Communication Unit (Acquisition Unit)

[0130] 25 Program Generation Unit (Generation Unit)

Claims

1. A program generation device, characterized in that, comprising: an acquisition unit that acquires path data indicating a path followed by the front end of a robot with respect to an object; a detection unit that detects a pressing force for pressing the front end of the robot against the object; a calculation unit that calculates a position offset amount by which the followed path is offset due to flexure of the front end of the robot, based on the pressing force detected by the detection unit and a predetermined constant; a generation unit that automatically generates a path program for controlling a movement path of the front end of the robot, based on the path data acquired by the acquisition unit and the position offset amount calculated by the calculation unit; and a sensing unit that senses the path followed by the front end of the robot with respect to the object and outputs the path data, wherein the generation unit generates a path program in which coordinate values when a path obtained by correcting the path followed by the front end of the robot by the position offset amount approaches a singularity point of the robot, a limit value of each drive axis, or a set prohibited area are set as end points, and causes the front end of the robot to retreat from the end points along a specified path, automatically generates a path program for controlling a movement path of the front end of the robot, based on the path data output by the sensing unit and the position offset amount calculated by the calculation unit, and generates a path program for causing the front end of the robot to return to the followed path sensed by the sensing unit after the front end of the robot has retreated a predetermined distance from the end points.

2. The program generation device according to claim 1, wherein the program generation device comprises a storage unit that stores a predetermined constant obtained based on a flexure amount generated when the front end of the robot presses the object as measured and the pressing force detected by the detection unit.

3. The program generation device according to claim 1 or 2, wherein a predetermined tool mounted on the front end of the robot is a deburring tool.

4. The program generation device according to claim 1 or 2, wherein a predetermined tool mounted on the front end of the robot is a grinding tool.

5. A program generation method, characterized in that, comprising: an acquisition step of acquiring path data indicating a path followed by the front end of a robot with respect to an object; a detection step of detecting a pressing force for pressing the front end of the robot against the object; a storage step of storing a predetermined constant obtained based on a flexure amount generated when the front end of the robot presses the object as measured and the pressing force detected in the detection step; a calculation step of calculating a position offset amount by which the followed path is offset due to flexure of the front end of the robot, based on the pressing force detected in the detection step and the predetermined constant; a generation step of automatically generating a path program for controlling a movement path of the front end of the robot, based on the path data acquired in the acquisition step and the position offset amount calculated in the calculation step; and a sensing step of sensing the path followed by the front end of the robot with respect to the object and outputting the path data, In the generation step, the coordinate value when the path obtained by correcting the path followed by the front end of the robot by the position offset approaches a singular point of the robot, a limit value of each drive axis, or a set prohibited area is set as an end point, and a path program for retracting the front end of the robot from this end point along a specified path is generated. According to the path data output in the sensing step and the position offset calculated in the calculation step, a path program for automatically controlling the movement path of the front end of the robot is generated, and a path program for returning the front end of the robot to the path followed sensed in the sensing step after the front end of the robot has retracted a predetermined distance from the end point is generated.

Citation Information

Patent Citations

  • Visual sensor and deburring device provided with force sensor

    JP2015009324A

  • Work position detecting device for force control robot

    JP1993329787A

  • Deflection correction device and deflection correction method

    JP2004299010A

  • Deburring device including visual sensor and force sensor

    US20150005923A1

  • Navigation by bending forces

    US20180014887A1