ROBOT SYSTEM, METHOD, AND COMPUTER PROGRAM FOR PERFORMING SCRAPING PROCESS
20230311317 · 2023-10-05
Assignee
Inventors
Cpc classification
B25J9/1633
PERFORMING OPERATIONS; TRANSPORTING
B26D3/08
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1664
PERFORMING OPERATIONS; TRANSPORTING
International classification
B26D3/08
PERFORMING OPERATIONS; TRANSPORTING
Abstract
There is a need for a technology for executing a high quality scraping process with a robot. A robot system includes a robot configured to move a scraper for scraping a surface of a workpiece and a control device configured to control the robot. The control device is configured to abut the scraper against the surface in a trajectory, which is inclined so as to form an acute angle with respect to the surface, by moving the scraper by the robot in a direction along the surface and in a direction toward the surface, and during the scraper abutting against the surface, control a position of the robot such that a pressing force, by which the robot presses the scraper against the surface, becomes a predetermined magnitude while moving the scraper by the robot in the direction along the surface, to perform the scraping process.
Claims
1. A robot system configured to perform a scraping process to scrape and smoothen a surface of a workpiece, the robot system comprising: a robot configured to move a scraper for scraping the surface; and a control device configured to control the robot, wherein the control device is configured to: abut the scraper against the surface in a trajectory, which is inclined so as to form an acute angle with respect to the surface, by moving the scraper by the robot in a direction along the surface and in a direction toward the surface; and during the scraper abutting against the surface, control a position of the robot such that a pressing force, by which the robot presses the scraper against the surface, becomes a predetermined magnitude while moving the scraper by the robot in the direction along the surface, to perform the scraping process.
2. The robot system of claim 1, further comprising a force sensor configured to detect the pressing force, wherein the control device controls the position of the robot by executing force control for controlling the pressing force to a target value corresponding to the predetermined magnitude based on detection data of the force sensor, during the scraper abutting against the surface.
3. The robot system of claim 2, wherein the control device is configured to: generate a position control command for sequentially moving the scraper to a plurality of teaching points which are predetermined along the surface; generate a force control command for starting the force control to move the scraper in the direction toward the surface, when the scraper is moved to a first teaching point separated from the surface; and abut the scraper against the surface in the inclined trajectory by moving the scraper from the first teaching point to a second teaching point in accordance with the position control command, and moving the scraper in the direction toward the surface in accordance with the force control command.
4. The robot system of claim 3, wherein the position control command includes a first speed command defining a speed for moving the scraper from the first teaching point to the second teaching point, wherein the force control command includes a second speed command defining a speed for moving the scraper in the direction toward the surface, and wherein the control device is configured to generate the first speed command and the second speed command such that the acute angle is within a predetermined range.
5. The robot system of claim 2, wherein the control device is configured to end the scraping process by moving the scraper in a direction away from the surface when or before the pressing force reaches the target value during execution of the force control.
6. The robot system of claim 2, wherein the control device is configured to continuously execute the scraping process such that the pressing force is continuously maintained at the target value after the pressing force reaches the target value by the force control.
7. The robot system of claim 1, wherein the control device is configured to end the scraping process by separating the scraper away from the surface in a trajectory, which is inclined so as to form an acute angle with respect to the surface, during execution of the scraping process.
8. The robot system of claim 1, wherein the scraper includes: a flexible handle connected to a hand-tip portion of the robot; and a blade portion fixed to a distal end of the handle and configured to scrape the surface, wherein the magnitude of the pressing force is determined such that the handle is bended when the blade portion is pressed against the surface during execution of the scraping process.
9. A method of performing a scraping process to scrape and smoothen a surface of a workpiece, using a robot configured to move a scraper for scraping the surface, the method comprising: abutting the scraper against the surface in a trajectory, which is inclined so as to form an acute angle with respect to the surface, by moving the scraper by the robot in a direction along the surface and in a direction toward the surface; and during the scraper abutting against the surface, controlling a position of the robot such that a pressing force, by which the robot presses the scraper against the surface, becomes a predetermined magnitude while moving the scraper by the robot in the direction along the surface, to perform the scraping process.
10. A computer-readable storage medium configured to store a computer program for causing a processor to execute the method of claim 9.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
[0034] Hereinafter, embodiments of the present disclosure are described in detail with reference to the drawings. In various embodiments described below, the same elements are denoted by the same reference signs, and redundant description will be omitted. In the following description, a positive x-axis direction of a robot coordinate system C1 may be referred to as rightward, a positive y-axis direction may be referred to as frontward, and a positive z-axis direction may be referred to as upward.
[0035] First, a robot system 10 according to an embodiment will be described with reference to
[0036] The fine unevenness serves as a so-called “oil retention” configured to store a lubricating oil. Here, the scraping process includes a rough process for making a fine unevenness formed when a surface of a workpiece is processed by a milling machine or the like to be a first dimension (e.g., 10 μm) or less, and a finishing process for making the fine unevenness to be a second dimension (e.g., 5 μm) or less which is smaller than the first dimension after the rough process.
[0037] The robot system 10 includes a robot 12, a force sensor 14, a scraper 16, and a control device 18. In the present embodiment, the robot 12 is a vertical articulated robot, and includes a robot base 20, a turning body 22, a lower arm 24, an upper arm 26, and a wrist 28. The robot base 20 is fixed on a floor of a work cell. The turning body 22 is provided at the robot base 20 to be turnable about a vertical axis.
[0038] The lower arm 24 is rotatably provided at the turning body 22 about a horizontal axis, and the upper arm 26 is rotatably provided at a distal end of the lower arm 24. The wrist 28 includes a wrist base 28a rotatably provided at a distal end of the upper arm 26, and a wrist flange 28b provided at the wrist base 28a to be rotatable about a wrist axis A1. In the present embodiment, the wrist flange 28b constitutes a hand-tip portion of the robot 12.
[0039] A servo motor 34 (
[0040] The force sensor 14 detects a pressing force F at which the robot 12 presses the scraper 16 against a surface of a workpiece. For example, the force sensor 14 is a 6-axis force sensor including a body having a cylindrical shape and a plurality of strain gauges provided at the body, and is interposed between the hand-tip portion 28b and the scraper 16. In the present embodiment, the force sensor 14 is arranged such that a center axis of the force sensor 14 coincides with the wrist axis A1.
[0041] The scraper 16 is fixed to a distal end of the force sensor 14, and scrapes a surface of a workpiece for the scraping process. Specifically, the scraper 16 includes a flexible handle 30 and a blade portion 32 fixed to a distal end of the handle 30. The handle 30 includes a proximal end fixed to the distal end of the force sensor 14, and is connected to the hand-tip portion 28b of the robot 12 via the force sensor 14. The handle 30 extends linearly along an axis A2 from the distal end of the force sensor 14. The blade portion 32 extends along the axis A2 from a proximal end 32b to a distal end 32a of the blade portion 32. Note that the axis A2 may be substantially orthogonal to the wrist axis A1.
[0042] As illustrated in
[0043] The control device 18 controls the operations of the robot 12. Specifically, the control device 18 is a computer including a processor 40, a memory 42, an I/O interface 44, an input device 46, and a display device 48. The processor 40 is communicably connected to the memory 42, the I/O interface 44, the input device 46, and the display device 48 via a bus 50 and performs arithmetic processing for executing the scraping process while communicating with these components.
[0044] The memory 42 includes a RAM, a ROM, or the like, and stores various types of data temporarily or permanently. The I/O interface 44 includes, for example, an Ethernet (trade name) port, a USB port, an optical fiber connector, or a HDMI (trade name) terminal and performs wired or wireless data communication with an external device under a command from the processor 40. In the present embodiment, each of the servo motors 34 of the robot 12 and the force sensor 14 are communicably connected to the I/O interface 44.
[0045] The input device 46 includes a keyboard, a mouse, a touch panel, or the like, and receives data input from an operator. The display device 48 includes a liquid crystal display, an organic EL display, or the like, and visibly displays various types of data under a command from the processor 40. The input device 46 or the display device 48 may be integrally incorporated in a housing of the control device 18, or may be externally mounted at the housing of the control device 18 as a component separate from the housing.
[0046] As illustrated in
[0047] On the other hand, a tool coordinate system C2 is set for the scraper 16. The tool coordinate system C2 is a coordinate system that defines a position and an orientation of the scraper 16 (or the hand-tip portion 28b) in the robot coordinate system C1. In the present embodiment, the tool coordinate system C2 is set with respect to the scraper 16 such that the origin of the tool coordinate system C2 (a so-called TCP) is arranged at the center of the distal end 32a of the blade portion 32 in a state in which the handle 30 is not bending and the z-axis of the tool coordinate system C2 is parallel to the axis A2 (or a normal direction of the curved surface of the distal end 32a at the center of the distal end 32a).
[0048] When moving the scraper 16, the processor 40 of the control device 18 sets the tool coordinate system C2 in the robot coordinate system C1, and generates commands to the respective servo motors 34 of the robot 12 such that the scraper 16 is arranged at a position and in an orientation represented by the set tool coordinate system C2. In this way, the processor 40 can arrange the scraper 16 at any position and in any orientation in the robot coordinate system C1.
[0049] 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 that defines a direction of a force acting on the force sensor 14. In the present embodiment, the sensor coordinate system C3 is set with respect to the force sensor 14 such that the origin of the sensor coordinate system C3 is arranged at the center of the force sensor 14 and the z-axis of the sensor coordinate system C3 coincides with the wrist axis A1 (or the x-axis of the sensor coordinate system C3 is parallel to the z-axis of the tool coordinate system C2).
[0050]
[0051] Each of the strain gauges of the force sensor 14 transmits detection data corresponding to the force acting on the force sensor 14 at this time to the control device 18. Based on the detection data received from the force sensor 14 via the I/O interface 44, the processor 40 obtains forces fin the x-axis direction, the y-axis direction, and the z-axis direction of the sensor coordinate system C3, and torques τ around the x-axis direction, the y-axis direction, and the z-axis direction acting on the force sensor 14 at this time. The processor 40 calculates a magnitude of the reaction force F′ acting on the distal end 32a of the blade portion 32 in a direction orthogonal to the surface Q1 based on the forces f, the torques τ, and state data CD of the scraper 16 at this time.
[0052] The state data CD includes, for example, at least one of an angle θ1 between the axis A2 and the surface Q1, a distance d from the wrist axis A1 (or the origin of the sensor coordinate system C3) to the distal end 32a of the blade portion 32, data indicating a position and an orientation of the tool coordinate system C2 (or the sensor coordinate system C3) in the robot coordinate system C1, and bending data of the handle 30 (for example, a bending amount or an elastic modulus of the handle 30). In this way, the force sensor 14 detects the reaction force F′ as the pressing force F, and the control device 18 can determine the magnitude of the pressing force F (the reaction force F′) based on the detection data of the force sensor 14.
[0053] Next, the scraping process executed by the robot system 10 will be described with reference to
[0054] In the present embodiment, the teaching point TP.sub.2 is set at a position separated toward lower right from the teaching point TP.sub.1, and the teaching point TP.sub.3 is set at a position separated rightward from the teaching point TP.sub.2. The positions of the teaching points TP.sub.2 and TP.sub.3 in the z-axis direction of the robot coordinate system C1 are substantially identical to each other. The teaching point TP.sub.4 is set at a position separated toward upper right from the teaching point TP.sub.3. These teaching points TP.sub.n (n=1, 2, 3, 4) are represented by coordinates in the robot coordinate system C1 and defined in a computer program CP for operating the robot 12.
[0055] The processor 40 starts a position control in performing the scraping process. Specifically, after starting the position control, the processor 40 generates position control commands PC for causing the robot 12 to move the scraper 16 to the plurality of teaching points TP.sub.n in sequence. Specifically, the processor 40 generates a position control command PC.sub.n for causing the distal end 32a of the scraper 16 to move from a teaching point TP.sub.n to a teaching point TP.sub.n+1.
[0056] The processor 40 causes the respective servo motors 34 of the robot 12 to operate in accordance with the position control command PC.sub.n, and thus the scraper 16 is positioned at the teaching points TP.sub.1.fwdarw.TP.sub.2.fwdarw.p TP.sub.3.fwdarw.TP.sub.4 in this order. Through the position control, the processor 40 causes the scraper 16 (specifically, the distal end 32a) to move along a movement path MP defined by the plurality of teaching points TP.sub.n.
[0057] In the present embodiment, for ease of understanding, the surface Q1 of the workpiece W1 is substantially parallel to an x-y plane of the robot coordinate system C1, and a direction MD of the movement path MP is substantially parallel to an x-z plane of the robot coordinate system C1. The position control command PC.sub.n includes a speed command PC.sub.V_n (a first speed command) defining a speed V.sub.P_n at which the scraper 16 (i.e., the hand-tip portion 28b of the robot 12) is moved from the teaching point TP.sub.n to the teaching point TP.sub.n+1.
[0058] After the start of the position control, the processor 40 starts a force control when the scraper 16 reaches the teaching point TP.sub.2 in
[0059] Specifically, in the force control, the processor 40 generates a force control command FC for controlling the position of the hand-tip portion 28b of the robot 12 (TCP) in order 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.sub.T. Then, the processor 40 adds the force control command FC to the position control command PC.sub.n to operate the servo motors 34 of the robot 12.
[0060] Accordingly, the processor 40 causes the scraper 16 (or the hand-tip portion 28b) to move in the direction MD in accordance with the position control command PC.sub.n and causes the scraper 16 to move in a direction approaching to or separating from the surface Q1 of the workpiece W1 (i.e., the z-axis direction of the robot coordinate system C1) in accordance with the force control command FC. The force control command FC includes a speed command FC.sub.V (a second speed command) defining a speed at which the scraper 16 is moved in the z-axis direction of the robot coordinate system C1.
[0061] When the scraper 16 reaches the teaching point TP.sub.2, the processor 40 generates a speed command PC.sub.V_2 as a position control command PC.sub.2 for causing the scraper 16 to move from the teaching point TP.sub.2 to the teaching point TP.sub.3, and generates a speed command FC.sub.V_0 as the force control command FC.
[0062] After the scraper 16 has reached the teaching point TP.sub.2, the processor 40 causes the robot 12 to operate in accordance with the speed command PC.sub.V_2 and the scraper 16 is moved in the direction MD from the teaching point TP.sub.2 to the teaching point TP.sub.3 at a speed V.sub.P_2 corresponding to (specifically, coincident with) the speed command PC.sub.V_2.
[0063] Along with this, the processor 40 generates the speed command FC.sub.V_0 and adds the generated speed command to the speed command PC.sub.V_2 for the servo motors 34 to move the scraper 16 in a direction toward the surface Q1 (i.e., downward) at a speed V.sub.F_0 corresponding to the speed command FC.sub.V_0. As a result, the robot 12 causes the scraper 16 to move in a direction MD′ in
[0064] In
[0065] In accordance with the speed command FC.sub.V_1, the position of the hand-tip portion 28b of the robot 12 is shifted in the z-axis direction of the robot coordinate system C1 at a speed V.sub.F_1 corresponding to the speed command FC.sub.V_1. Here, the maximum value of the speed command FC.sub.V_1 (i.e., the speed V.sub.F_1) generated during the scraper 16 abutting against the surface Q1 can be set to be larger than the speed command FC.sub.V_0 (i.e., the speed V.sub.F_0) generated before the scraper 16 abuts against the surface Q1.
[0066] In this way, the scraper 16 is moved rightward along the surface Q1 while being pressed at the pressing force F having a magnitude corresponding to the target value F.sub.T, and thereby the scraping process is executed to scrape the surface Q1 with the distal end 32a of the scraper 16.
[0067] Referring to
[0068] By the scraping process executed as described above, a recess R recessed in a curved shape is formed to extend rightward from the position P1 to the position P2 in the surface Q1 as illustrated in
[0069] In the present embodiment, the processor 40 generates the speed commands PC.sub.V_2 and FC.sub.V_0 such that the acute angle θ2 described above is within a predetermined range. Here, the inventor of the present invention found that an expert in a scraping process moves the blade portion 32 of the scraper 16 along a trajectory having an angle of 15° to 35° with respect to the surface Q1 of the workpiece W1 to cause the blade portion 32 to be abutting against the surface Q1.
[0070] Also, the inventor of the present invention acquired time change characteristic data of a pressing force F.sub.R at which the blade portion 32 of the scraper 16 is pressed against the surface Q1 of the workpiece W1 when the expert consecutively executes the scraping process. The time change characteristic is illustrated in
[0071] Here, when distances between the teaching point TP.sub.2 and the position P1 in
Z.sub.1/X.sub.1=FC.sub.V_0/PC.sub.V_2=V.sub.F_0/V.sub.P_2 (1)
[0072] Also, the acute angle θ2, the distance x.sub.1, the distance z.sub.1, the speed command PC.sub.V_2 (speed V.sub.P_2), and the speed command FC.sub.V_0 (speed V.sub.F_0) satisfy the following equation (2).
Θ2=TAN.sup.−1(Z.sub.1/X.sub.1)=TAN.sup.−1(FC.sub.V_0/PC.sub.V_2)=TAN.sup.−1(V.sub.F_0/V.sub.P_2 (2)
[0073] Thus, if x.sub.1=10 [mm] and z.sub.1=5 [mm] are set as machining conditions MC for the scraping process, then the acute angle θ2 can be determined to be θ2≈26.6° by the equation (2). In this case, as one of the machining conditions MC, when the speed V.sub.P_2 (i.e., the speed command PC.sub.V_2) is set to 100 [mm/sec] equal to the movement speed of the scraper 16 by the expert described above, the speed V.sub.F_0 (i.e., the speed command FC.sub.V_0) can be determined to be 50 [mm/sec] by the equation (1).
[0074] Alternatively, when θ2=25° and the speed command PC.sub.V_2 (speed V.sub.P_2)=100 [mm/sec] are set as the machining conditions MC, FC.sub.V_0 (speed V.sub.F_0)≈46.6 [mm/sec] can be determined by the equation (2). In this case, when z.sub.2=10 [mm] is set, x.sub.1≈21.4 [mm] can be determined by the equation (1).
[0075] In addition, as one of the machining conditions MC, the target value F.sub.T is set to a value appropriate for a material of the workpiece W1 and a target depth E of the recess R (e.g., 100 [N]). As described above, the machining conditions MC include the distance x.sub.1, the distance z.sub.1, the acute angle θ2, the speed V.sub.F_0 (speed command FC.sub.V_0), and the speed V.sub.P_2 (speed command PC.sub.V_2).
[0076] As a result of observation and careful study of the scraping process by the expert, the inventor of the present invention found that when the machining conditions MC are appropriately set, the acute angle θ2 can be controlled to be within a range of, for example, 15° to 35°, the pressing force F can be controlled to obtain the time change characteristic similar to that in
[0077]
[0078] The time change of the pressing force F during the scraping process by the robot 12 will be described in detail below with reference to
[0079] On the other hand, although the processor 40 generates the position control command PC.sub.2 (speed command PC.sub.V_2) for moving the scraper 16 from the teaching point TP.sub.2 to the teaching point TP.sub.3 as described above, the position control command PC.sub.2 becomes dominant over the force control command FC as the scraper 16 approaches the teaching point TP.sub.3, and the processor 40 causes the scraper 16 (hand-tip portion 28b) to move in a direction away from the surface Q1 of the workpiece W1 (i.e., upward) before reaching a position corresponding to the teaching point TP.sub.3. As a result, the magnitude of the pressing force F decreases rapidly after reaching a peak value F.sub.P illustrated in
[0080] Here, in the present embodiment, in order to make the length x.sub.2 of the recess R formed by the scraping process to be relatively short, a distance x.sub.3 between the teaching point TP.sub.2 and the teaching point TP.sub.3 in the x-axis direction of the robot coordinate system C1 is set to be relatively short. In this case, the processor 40 causes the scraper 16 to move upward before the pressing force F reaches the target value F.sub.T of the force control. Thus, in the present embodiment, the peak value F.sub.P is smaller than the target value F.sub.T.
[0081] Subsequently, the processor 40 causes the robot 12 to operate in accordance with the position control commands PC.sub.2 and PC.sub.3 such that the scraper 16 is moved toward upper right along the trajectory TR that is inclined to form the acute angle θ3, and when the scraper 16 is separated from the surface Q1 at the position P2, the pressing force F becomes zero. In this way, the processor 40 controls the pressing force F during the scraping process to have a predetermined magnitude as the characteristic illustrated in
[0082] Note that the “predetermined magnitude” of the pressing force F is not only the peak value F.sub.P, but also includes the time change characteristic illustrated in
[0083] Next, an example of the operation flow of the robot system 10 will be described with reference to
[0084] In step S1, the processor 40 determines whether or not an input of the machining conditions MC is received. For example, the processor 40 generates image data of an input screen for inputting the distance x.sub.1, the distance z.sub.1, the acute angle θ2, the speed V.sub.F_0 (speed command FC.sub.V_0), speed V.sub.P_2 (speed command PC.sub.V_2), and the target value F.sub.T described above as the machining conditions MC, and causes the display device 48 of the control device 18 to display the image data.
[0085] An operator operates the input device 46 of the control device 18 while viewing the input screen displayed at the display device 48 to input at least three data among the distance x.sub.1, the distance z.sub.1, the acute angle θ2, the speed V.sub.F_0 (speed command FC.sub.V_0), and the speed V.sub.P_2 (speed command PC.sub.V_2), and input the target value F.sub.T as the machining conditions MC. The processor 40 determines YES and proceeds to step S2 when the input data of the machining conditions MC is received from the input device 46, or determines NO and proceeds to step S3 when the input data of the machining conditions MC is not received.
[0086] In step S2, the processor 40 determines the machining conditions MC. For example, it is assumed that the operator inputs x.sub.1=10 [mm], z.sub.1=5 [mm], and V.sub.P_2 (PC.sub.V_2)=100 [mm/sec] as the machining conditions MC in step S1. In this case, from the input data of the machining conditions MC and the above-described equations (1) and (2), the processor 40 automatically determines θ2=26.6° and V.sub.F_0 (FC.sub.V_0)=50 [mm/sec] as the machining conditions MC.
[0087] In this way, in the present embodiment, depending on some parameters of the machining conditions MC input by and received from the operator, the processor 40 automatically determines other parameters of the machining conditions MC. Then, the processor 40 sets x.sub.1=10 [mm], z.sub.1=5 [mm], V.sub.P_2 (PC.sub.V_2)=100 [mm/sec], 02=26.6°, and V.sub.F_0 (FC.sub.V_0)=50 [mm/sec], and the target value F.sub.T as the machining conditions MC.
[0088] In step S3, the processor 40 determines whether or not a scraping process start command is received from the operator, a host controller, or a computer CP. The processor 40 determines YES and proceeds to step S4 when the scraping process start command is received, or determines NO and proceeds to step S6 when the scraping process start command is not received.
[0089] In step S4, the processor 40 determines whether or not all the machining conditions MC are set. Specifically, the processor 40 determines YES and proceeds to step S5 when all of the distance x.sub.1, the distance z.sub.1, the acute angle θ2, the speed V.sub.F_0 (speed command FC.sub.V_0), and the speed V.sub.P_2 (speed command PC.sub.V_2) are set as the machining conditions MC. On the other hand, the processor 40 determines NO and proceeds to step S7 when at least one of the distance x.sub.1, the distance z.sub.1, the acute angle θ2, the speed V.sub.F_0 (speed command FC.sub.V_0), and the speed V.sub.P_2 (speed command PC.sub.V_2) is not set as the machining conditions MC.
[0090] In step S5, the processor 40 executes the scraping process. The above-mentioned step S5 will be described below with reference to
[0091] Specifically, the processor 40 starts an operation of generating the above-described position control command PC.sub.n and starts an operation of causing the robot 12 to move the distal end 32a of the scraper 16 to the teaching points TP.sub.1.fwdarw.TP.sub.2.fwdarw.TP.sub.3.fwdarw.TP.sub.4 in this order.
[0092] In step S12, the processor 40 determines whether or not the scraper 16 has reached the teaching point TP.sub.2. For example, the servo motors 34 of the robot 12 are provided with rotation detectors (encoders, Hall elements, or the like) configured to detect the rotations (specifically, rotation angles or rotational positions) of the servo motors 34.
[0093] The processor 40 can acquire position data of the scraper 16 (specifically, TCP) in the robot coordinate system C1 based on feedback from the rotation detectors, and determine whether or not the scraper 16 has reached the teaching point TP.sub.2 based on the position data. The processor 40 proceeds to step S13 upon determining that the scraper 16 has reached the teaching point TP.sub.2 (i.e., YES), or loops step S12 upon determining that the scraper 16 has not reached the teaching point TP.sub.2 (i.e., NO).
[0094] In step S13, the processor 40 starts the force control. Specifically, the processor 40 starts an operation of generating the above-described force control command FC, and adds the force control command FC to the position control command PC.sub.n to operate the robot 12. Here, the speed command PC.sub.V_2=100 [mm/sec] and the speed command FC.sub.V_0=50 [mm/sec] are set as the machining conditions MC in step S2 described above.
[0095] Thus, the processor 40 generates the speed command PC.sub.V_2=100 [mm/sec] as the position control command PC.sub.2, and generates the speed command FC.sub.V_0=50 [mm/sec] as the force control command FC. By causing the robot 12 to operate in accordance with the speed commands PC.sub.V_2 and FC.sub.V_0, the processor 40 causes the scraper 16 to move in the direction MD at the speed V.sub.P_2=100 [mm/sec] and move downward at the speed V.sub.F_0=50 [mm/sec]. As a result, the scraper 16 moves toward the surface Q1 of the workpiece W1 along the trajectory TR (
[0096] In step S14, the processor 40 determines whether or not the pressing force F acquired based on the detection data of the force sensor 14 has become equal to or greater than a predetermined threshold value F.sub.th (F≥F.sub.th). The threshold value F.sub.th is set in advance by the operator as a value indicating that the distal end 32a of the scraper 16 has abutted against the surface Q1 of the workpiece W1. The processor 40 determines YES and proceeds to step S15 when F≥F.sub.th is satisfied, or determines NO and loops step S14 when F<F.sub.th is satisfied.
[0097] In step S15, the processor 40 switches the force control command FC. Specifically, the processor 40 switches the force control command FC, to be generated, from the speed command FC.sub.V_0 to the speed command FC.sub.V_1. After switching to the speed command FC.sub.V_1, the processor 40 generates the speed command FC.sub.V_1, and in order to control the pressing force F to the target value F.sub.T, the processor 40 causes the position of the hand-tip portion 28b of the robot 12 to shift in the z-axis direction of the robot coordinate system C1 at the speed V.sub.F_1 corresponding to the speed command FC.sub.V_1. As described above, the maximum value of the speed V.sub.F_1 (speed command FC.sub.V_1) can be greater than the speed V.sub.F_0(speed command FC.sub.V_0).
[0098] In step S16, the processor 40 determines whether or not the scraper 16 (or the hand-tip portion 28b) has reached a position corresponding to the teaching point TP.sub.4. Here, after the start of step S13, the processor 40 executes the position control and the force control in parallel, and thus the distal end 32a of the scraper 16 moves along the trajectory TR illustrated in
[0099] In step S16, the processor 40 determines whether or not the x-coordinate of the distal end 32a (or the hand-tip portion 28b) in the robot coordinate system C1 coincides with the x-coordinate of the teaching point TP.sub.4 based on the feedback from the rotation detectors described above. The processor 40 proceeds to step S17 upon determining YES, or loops step S16 upon determining NO.
[0100] Before YES is determined in step S16, the distal end 32a of the scraper 16 is separated from the surface Q1 of the workpiece W1 at the position P2 as described above. In step S17, the processor 40 ends the force control and the position control. One scraping process is completed in this way, and consequently the recess R is formed in the surface Q1 of the workpiece W1 as illustrated in
[0101] Referring to
[0102] On the other hand, when NO is determined in step S4, the processor 40 issues an alarm signal in step S7. For example, the processor 40 generates an alarm signal indicating “Please set machining conditions” by voice or image, and outputs the alarm signal to the operator via a speaker (not illustrated) or the display device 48 provided in the control device 18. Then, the processor 40 returns to step S1.
[0103] As described above, in the present embodiment, the processor 40 causes the robot 12 to bring the scraper 16 to abut against the surface Q1 of the workpiece W1 in the trajectory TR inclined at the acute angle θ2. Then, the processor 40 controls the pressing force F to a predetermined magnitude (
[0104] In addition, in the present embodiment, the processor 40 executes the force control based on the detection data of the force sensor 14 during the scraper 16 abutting against the surface Q1 of the workpiece W1, and thereby controls the position of the hand-tip portion 28b of the robot 12 in the z-axis direction of the robot coordinate system C1. According to this configuration, during the scraping process, the pressing force F can be controlled to be a predetermined magnitude as the characteristic illustrated in
[0105] Accordingly, the time change characteristic of the pressing force F during the scraping process executed by the robot 12 can be brought close to the time change characteristic of the pressing force F.sub.R by the expert (
[0106] In the present embodiment, the processor 40 causes the scraper 16 to move from the teaching point TP.sub.2 to the teaching point TP.sub.3 in accordance with the position control command PC.sub.2 (specifically, the speed command PC.sub.V_2) and causes the scraper 16 to move downward in accordance with the force control command FC (specifically, the speed command FC.sub.V_0), and thereby causes the scraper 16 to abut against the surface Q1 of the workpiece W1 in the trajectory TR inclined at the acute angle θ2.
[0107] Then, the processor 40 generates the speed commands PC.sub.V_2 and FC.sub.V_0 such that the acute angle θ2 is within a predetermined range (for example, 15° to 35°). According to this configuration, the acute angle θ2 of the trajectory TR can be controlled to be within a desired range with a high degree of accuracy by the position control command PC.sub.2 (speed command PC.sub.V_2) and the force control command FC (speed command FC.sub.V_0). Accordingly, the quality of the scraping process executed by the robot 12 can be more effectively brought close to the quality by the expert.
[0108] In the present embodiment, the processor 40 causes the scraper 16 to move in a direction away from the surface Q1 of the workpiece W1 (i.e., upward) before the pressing force F reaches the target value F.sub.T during the execution of the force control, and thereby ends the scraping process. According to this configuration, the time change characteristic of the pressing force F during one scraping process (
[0109] In the present embodiment, during the execution of the scraping process, the processor 40 separates the scraper 16 away from the surface Q1 of the workpiece W1 in the trajectory TR that is inclined to form the acute angle θ3 with respect to the surface Q1, and thereby ends the scraping. According to this configuration, the recess R can be formed in a curved shape, and thus the quality of the scraping process can be improved.
[0110] Note that the acute angle θ3 can be controlled by adjusting the positions of the teaching points TP.sub.3 and TP.sub.4, or by adjusting the angle between the movement path MP from the teaching point TP.sub.2 to the teaching point TP.sub.3 and the movement path MP from the teaching point TP.sub.3 to the teaching point TP.sub.4. As an example, the acute angle θ3 is controlled to be an angle of 14° to 20°.
[0111] In the present embodiment, the target value F.sub.T of the force control (i.e., the magnitude of the pressing force F) is defined such that the handle 30 bends as illustrated in
[0112] Note that the processor 40 may control the orientation of the wrist such that the axis A2 of the scraper 16 becomes parallel to the direction MD′ (i.e., the trajectory TR from the teaching point TP.sub.2 to the position P1) in
[0113] In the embodiment described above, a case has been described in which the processor 40 causes the scraper 16 to move upward before the pressing force F reaches the target value F.sub.T during the execution of the force control. However, no such limitation is intended, and the processor 40 may cause the scraper 16 to move upward when the pressing force F reaches the target value F.sub.T during the execution of the force control. In that case, while the time change characteristic of the pressing force F becomes similar to that in
[0114] As an example, the pressing force F can be controlled such that the peak value F.sub.P becomes equal to the target value F.sub.T by setting the distance x.sub.3 between the teaching point TP.sub.2 and the teaching point TP.sub.3 to be longer than that in the above-described embodiment. Alternatively, the processor 40 can also control the pressing force F such that the peak value F.sub.P becomes equal to the target value F.sub.T by increasing the speed command FC.sub.V_1 generated during the force control after the blade portion 32 abuts against the surface Q1 of the workpiece W1 (after YES is determined in step S14 described above).
[0115] Also, the processor 40 may continuously execute the scraping process such that the pressing force F is continuously maintained at the target value F.sub.T after the pressing force F reaches the target value F.sub.T by the force control. For example, when the distance x.sub.3 between the teaching point TP.sub.2 and the teaching point TP.sub.3 is set to be longer and the processor 40 executes the flows of the
[0116]
[0117] Next, as in the case of the embodiment described above, the processor 40 causes the scraper 16 to move upward before the scraper 16 reaches a position corresponding to the teaching point TP.sub.3 (specifically, a position below the teaching point TP.sub.3). As a result, the pressing force F rapidly decreases, and when the blade portion 32 of the scraper 16 is separated from the surface Q1 of the workpiece W1 at the position P2, the pressing force F becomes zero.
[0118] In this way, the processor 40 controls the pressing force F during the scraping process to have a predetermined magnitude as the characteristic illustrated in
[0119] Note that the teaching points TP.sub.n are not limited to the configuration illustrated in
[0120] Next, the operation flow of the robot system 10 for a case in which the teaching points TP.sub.n are set as illustrated in
[0121] After the start of step S5, the processor 40 executes steps S11 to S16 in the same manner as the embodiment described above. Accordingly, as illustrated in
[0122] During the scraper 16 abutting against the surface Q1, the processor 40 causes the scraper 16 to move in the direction MD (rightward) in accordance with the position control command PC.sub.2 and PC.sub.3 and generates the speed command FC.sub.V_1 for controlling the pressing force F to the target value F.sub.T through the force control.
[0123] Here, in the present embodiment, the processor 40 generates the force control command FC (specifically, the speed command FC.sub.V_1) and controls the position of the hand-tip portion 28b of the robot 12 such that the pressing force F reaches the peak value F.sub.P at a time point t2 at which the scraper 16 reaches a position corresponding to the teaching point TP.sub.3 and then the pressing force F becomes zero at a time point t3 at which the scraper 16 (specifically, the distal end 32a) reaches a position corresponding to the teaching point TP.sub.4 (specifically, a position below the teaching point TP.sub.4), i.e., at a time point at which YES is determined in step S16. In addition, the processor 40 generates the position control command PC.sub.3 and the force control command FC such that the scraper 16 is in a state of abutting against the surface Q1 of the workpiece W1 at the time point t3.
[0124] Referring to
[0125] In step S22, the processor 40 determines whether or not the scraper 16 has reached a position corresponding to the teaching point TP.sub.5. The processor 40 proceeds to step S23 upon determining YES, or loops step S22 upon determining NO. In step S23, the processor 40 ends the position control.
[0126] As described above, in the present embodiment, the force control is executed such that the pressing force F reaches the peak value F.sub.P at the time point t2 at which the scraper 16 reaches the teaching point TP.sub.3 and then the pressing force F becomes zero at the time point t3 at which the scraper 16 reaches the teaching point TP.sub.4. According to this configuration, the time change characteristic of the pressing force F illustrated in
[0127] Note that, in the above-described embodiment, the processor 40 may change the force control command depending on a thickness H of the workpiece W in the z-axis direction of the robot coordinate system C1. This function will be described below.
[0128] In the configuration illustrated in
[0129] When the processor 40 executes the scraping process on the workpiece W2, the distal end 32a of the scraper 16 passes through the position P1, and then abuts against a surface Q2 of the workpiece W2 at a position P1′ located at the lower right of the position P1. Then, as in the case of the above-described embodiment, the processor 40 starts an operation of causing the hand-tip portion 28b of the robot 12 to move upward before reaching the teaching point TP.sub.3, and thereby the scraper 16 is separated from the surface Q2 at a position P2′ located below the position P2.
[0130] The time change characteristic of the pressing force F when the scraping process is executed as described above is indicated by a solid line in
[0131] Thus, in the present embodiment, the processor 40 changes, depending on the thickness H of the workpiece W, the speed command FC.sub.V_1 (speed V.sub.F_1) to be generated during the force control. The speed command FC.sub.V_1 can be changed by changing a gain G, a maximum rotation speed V.sub.MAX of the servo motor 34, or a time constant T that are for generating the speed command FC.sub.V_1.
[0132] Here, the speed command FC.sub.V_1 is generated by multiplying the detection data of the force sensor 14 (or the pressing force F) by the gain G, and the gain G is a parameter that defines a response speed in operating the servo motor 34 by the force control. The time constant T defines a time required to accelerate and decelerate the speed V of the servo motor 34 from/to zero to/from the maximum rotation speed V.sub.MAX.
[0133] The speed command FC.sub.V_1 can be increased as the gain G and the maximum rotation speed V.sub.MAX are increased or as the time constant T is decreased, and thereby a gradient (differential value) of the time change characteristic of the pressing force F illustrated in
[0134] As an example, the memory 42 of the control device 18 stores in advance a data table DT1 indicating the relationship among a thickness H of the workpiece W, a gain G, a maximum rotation speed V.sub.MAX, and a time constant T. In the data table DT1, a gain G, a maximum rotation speed V.sub.MAX, and a time constant T, which can ensure a peak value F.sub.P having a sufficient magnitude during the execution of the force control, are stored in association with a thicknesses H. The data table DT1 can be created by accumulating datasets of a gain G, a maximum rotation speed V.sub.MAX, a time constant T, and a thickness H, for example, through an experimental technique or a simulation.
[0135] On the other hand, the operator measures the thickness H of the workpiece W before the processor 40 executes the flow illustrated in
[0136] Then, the processor 40 receives the input of the thickness H and determines YES in step S1. Next, in step S2, the processor 40 searches, in the data table DT1, for a gain G, a maximum rotational speed V.sub.MAX, and a time constant T, corresponding to the input thickness H, and sets the thickness H, the gain G, the maximum rotation speed V.sub.MAX, and the time constant T as the machining conditions MC. That is, in the present embodiment, the machining conditions MC further include a thickness H, a gain G, a maximum rotation speed V.sub.MAX, and a time constant T, in addition to a distance x.sub.1, a distance z.sub.1, an acute angle θ2, a speed V.sub.F_0 (speed command FC.sub.V_0), a speed V.sub.P_2 (speed command PC.sub.V_2), and a target value F.sub.T.
[0137] Then, after determining YES in step S14 in step S5, the processor 40 generates the speed command FC.sub.V_1 corresponding to the thickness H of the workpiece W by using the gain G, the maximum rotational speed V.sub.MAX, and the time constant T set in step S2, and thereby executes the force control.
[0138] As illustrated in
[0139] Note that, in the present embodiment, the gain G, the maximum rotation speed V.sub.MAX, and the time constant T have been exemplified as parameters for changing the speed command FC.sub.V_1. However, no such limitation is intended, and any parameters that can change the speed command FC.sub.V_1 may be used. Not limited to the speed command FC.sub.V_1, the processor 40 may change a torque command to the servo motor 34 depending on the thickness H of the workpiece W in order to cause the pressing force F to quickly reach the peak value F.sub.P during the force control.
[0140] Note that the processor 40 may change the positions of the teaching points TP.sub.3 and TP.sub.3 depending on the thickness H of the workpiece W instead of changing the speed command FC.sub.V_1 in order to ensure the peak value F.sub.P having a sufficient magnitude during the force control. This function will be described below with reference to
[0141] In the data table DT2, shift amounts δ.sub.3 and δ.sub.4 that can ensure a peak value F.sub.P having a sufficient magnitude during the execution of the force control are stored in association with a thicknesses H. The data table DT2 can be created by accumulating datasets of shift amounts δ.sub.3 and δ.sub.4, and a thickness H, for example, through an experimental technique or a simulation.
[0142] On the other hand, as in the case of the embodiment described above with reference to
[0143] Then. the processor 40 acquires position data (specifically, coordinates in the robot coordinate system C1) of a new teaching point TP.sub.3′ (
[0144] Thereafter, the processor 40 executes steps S3 to S7 in sequence to perform the scraping process. In
[0145] As illustrated in
[0146] In the above-described embodiments, cases have been described in which the thickness H of the workpiece W is measured by the operator. However, no such limitation is intended, and the processor 40 may acquire a thickness H when executing the first scraping process on the workpiece W. Specifically, upon determining YES in step S14, the processor 40 acquires a z-axis coordinate z.sub.2 of the distal end 32a (TCP) of the scraper 16 in the robot coordinate system C1 based on the feedback from the rotation detectors of the servo motors 34.
[0147] On the other hand, a z-axis coordinate z.sub.3 of a placement surface (not illustrated) on which the workpiece W is placed is previously known and stored in advance in the memory 42. The processor 40 can calculate the thickness H of the workpiece W by an equation H=z.sub.2−z.sub.3. Then, when performing the second scraping process on the workpiece W, the processor 40 may executes the force control to cause the pressing force F to reach the peak value F.sub.P by the method described above with reference to
[0148] Note that, in the embodiments described above, the processor 40 may automatically determine the target value F.sub.T of the force control depending on a target depth E of the recess R. This function will be described below. Here, the depth E of the recess R formed by the scraping process and the target value F.sub.T of the force control executed during the scraping process are highly correlated with each other. Specifically, the peak value F.sub.P of the pressing force F during the scraping process becomes higher as the target value F.sub.T is set to be higher, and thus the depth E of the recess R to be formed becomes deeper.
[0149] As an example, the memory 42 of the control device 18 stores in advance a data table DT3 in which a depth E and a target value F.sub.T (or a peak value F.sub.P) are stored in association with each other. The data table DT3 can be created by accumulating datasets of a depth E and a target value F.sub.T, for example, through an experimental technique or a simulation.
[0150] After the processor 40 starts the flow illustrated in
[0151] Then, after the start of step S13, the processor 40 executes the force control using the set target value F.sub.T, and thereby the recess R having the target depth E is formed. As described above, in the present embodiment, depending on the target depth E input by the operator, the processor 40 automatically determines the target value F.sub.T that can achieve the target depth E, and thereby executes the force control. According to this configuration, the depth E of the recess R formed by the scraping process can be controlled to a desired value.
[0152] Note that, in the embodiments described above, the processor 40 may automatically determine an incident angle θ2 depending on the target depth E of the recess R. This function will be described below. Here, the depth E of the recess R formed by the scraping process and the incident angle θ2 are highly correlated with each other. For example, the depth E of the recess R to be formed can become shallower as the incident angle θ2 is set to be smaller.
[0153] As an example, the memory 42 of the control device 18 stores in advance a data table DT4 in which a depth E and an incident angle θ2 are stored in association with each other. The data table DT4 can be created by accumulating datasets of a depth E and an incident angle θ2, for example, through an experimental technique or a simulation.
[0154] After the processor 40 starts the flow illustrated in
[0155] Next, in step S2, the processor 40 searches for an incident angle θ2 corresponding to the input target depth E in the data table DT4 and sets the incident angle θ2 as the machining conditions MC. Also, the processor 40 automatically sets the other one of the speed commands FC.sub.V_0 and PC.sub.V_2 (or distances x.sub.1 and z.sub.1) by the above-described equation (1).
[0156] In this way, in the present embodiment, depending on the target depth E input by the operator, the processor 40 automatically determines an incident angle θ2 that can achieve the target depth E, and automatically sets the incident angle θ2 as the machining conditions MC. According to this configuration, the depth E of the recess R formed by the scraping process can be controlled to a desired value.
[0157] Note that the data table DT4 may store, instead of an incident angle θ2, an angle θ1 described above in association with a target depth E. The angle θ1 is also highly correlated with the depth E of the recess R. In this case, in step S2, the processor 40 searches for an incident angle θ1 corresponding to the input target depth E in the data table DT4 and sets the incident angle θ1 as the machining conditions MC.
[0158] In the embodiments described above, cases have been described in which the processor 40 controls the pressing force F to have a predetermined magnitude during the scraping process (
[0159] In the configuration illustrated in
[0160] In this configuration, the processor 40 executes the position control to cause the scraper 16 to move to the teaching points TP.sub.11.fwdarw.TP.sub.12.fwdarw.TP.sub.13.fwdarw.TP.sub.14.fwdarw.TP.sub.15.fwdarw.TP.sub.16.fwdarw.TP.sub.17 in this order. Specifically, the processor 40 causes the robot 12 to move the scraper 16 from the teaching point TP.sub.11 to the teaching point TP.sub.12.
[0161] Accordingly, the scraper 16 moves in a direction along the surface Q1 of the workpiece W (rightward) and in a direction toward the surface Q1 (downward), and abuts against the surface Q1 of the workpiece W in a trajectory inclined at an incident angle θ2 at the teaching point TP.sub.12. In the present embodiment, the incident angle θ2 is defined by the movement path MP from the teaching point TP.sub.11 to the teaching point TP.sub.12.
[0162] Subsequently, the processor 40 causes the hand-tip portion 28b of the robot 12 to further move to the lower right toward positions corresponding to the teaching points TP.sub.13 and TP.sub.14, and then move to the upper right toward positions corresponding to the teaching points TP.sub.15 and TP.sub.16. During this, the processor 40 causes the distal end 32a of the scraper 16 to move rightward while the distal end 32a is pressed against the surface Q1 of the workpiece W at the pressing force F.
[0163] Then, the processor 40 causes the scraper 16 to move from the teaching point TP.sub.16 to the teaching point TP.sub.17, and thus the scraper 16 is separated from the surface Q1 in a trajectory that is inclined to form an acute angle θ3 with the surface Q1. Accordingly, the recess R having a length from the teaching point TP.sub.12 to the teaching point TP.sub.16 is formed in the surface Q1.
[0164] Here, by appropriately selecting positions of the teaching points TP.sub.n, the pressing force F during the execution of the scraping process can be controlled to have the time change characteristic illustrated in
[0165] The data table DT5 enables the setting of the position data of the teaching points TP.sub.n that can control the pressing force F during the execution of the scraping process to have a desired magnitude. By executing the position control in accordance with the teaching points TP.sub.n, the processor 40 can control the pressing force F during the scraping process to have a magnitude (time change characteristic) stored in advance in the data table DT5.
[0166] In the above-described embodiments, cases have been described in which the scraping process is executed once on the surface Q1 of the workpiece W. However, the processor 40 may repeatedly execute the scraping process a plurality of times in order to form a plurality of recesses R queuing in the surface Q of the workpiece W. In that case, a group of teaching points TP.sub.n illustrated in
[0167] For example, when a group of teaching points TP.sub.n (n=1 to 4) illustrated in
[0168] Note that the memory 42 may store in advance a data table DT6 of a distance x.sub.1 or z.sub.1 and a depth E of the recess R. Then, in step S2 described above, the processor 40 searches for a distance x.sub.1 or z.sub.1 corresponding to the input target depth E in the data table DT6 and sets them as the machining conditions MC. The distance x.sub.1 or z.sub.1 is also highly correlated with the depth E of the recess R to be formed.
[0169] In the above-described embodiments, cases have been described in which the teaching point TP.sub.2 is set such that the distal end 32a of the scraper 16 is separated upward from the surface Q1. However, no such limitation is intended, and the teaching point TP.sub.2 may be arranged at the same position as (or below) the surface Q1 in the robot coordinate system C1. In that case, the incident angle θ2 described above is defined by the movement path MP from the teaching point TP.sub.1 to the teaching point TP.sub.2.
[0170] For example, the force sensor 14 may be interposed between a work cell and the robot base 20, or may be provided at any portion of the robot 12. The force sensor 14 may be provided, not only at the robot 12, but also at the workpiece W side. For example, the pressing force F can be detected by interposing the force sensor 14 between the workpiece W and a placement surface on which the workpiece W is placed. The force sensor 14 is not limited to a six-axis force sensor, and may be, for example, a single-axis or a three-axis force sensor, or may be any sensor capable of detecting the pressing force F.
[0171] In the above-described embodiments, cases have been described in which the origin of the tool coordinate system C2 is arranged at the distal end 32a of the scraper 16. However, no such limitation is intended, and the origin of the tool coordinate system C2 may be arranged, for example, at the center of the hand-tip portion 28b (wrist flange), or may be arranged at any position as long as the position is previously known with respect to the hand-tip portion 28b.
[0172] In addition, the origin of the sensor coordinate system C3 may be arranged, not only at the center of the force sensor 14, but also at any position as long as the position is previously known with respect to the force sensor 14, and the axes of the sensor coordinate system C3 may be defined in any directions. Also, the origin of the robot coordinate system C1 may be arranged, not only at the center of the robot base 20, but also at any position as long as the position is previously known with respect to the robot 12, and the axes of the robot coordinate system C1 may be defined in any directions. Although the present disclosure is described above through the embodiments, the above-described embodiments do not limit the invention according to the claims.
REFERENCE SIGNS LIST
[0173] 10 ROBOT SYSTEM [0174] 12 ROBOT [0175] 14 FORCE SENSOR [0176] 16 SCRAPER [0177] 18 CONTROL DEVICE [0178] 40 PROCESSOR