ROBOT SYSTEM, METHOD, AND COMPUTER PROGRAM FOR PERFORMING SCRAPING PROCESS

A robot system includes a robot configured to move a scraper configured to scrape the surface, and a control device configured to control the robot. The control device is configured to execute the scraping process by moving the scraper in a direction along the surface while pressing the scraper against the surface by the robot, and during the execution of the scraping process, repeatedly increase and decrease a depth of scraping the surface by controlling a position of the robot so as to repeatedly increase and decrease a pressing force by which the robot presses the scraper against the surface.

FIELD OF THE INVENTION

The present disclosure relates to a robot system, a method, and a computer program for performing a scraping process.

BACKGROUND OF THE INVENTION

There is a known robot that performs a scraping process (e.g., Patent Document 1).

PATENT LITERATURE

Patent Document 1: JP 2004-042164 A

SUMMARY OF THE INVENTION

In the related art, a task of forming a plurality of unevennesses aligned in one direction on a surface of a workpiece by a scraping process is performed manually by an expert.

In one aspect of the present disclosure, a robot system configured to perform a scraping process to scrape and flatten a surface of a workpiece, includes a robot configured to move a scraper configured to scrape the surface, and a control device configured to control the robot, wherein the control device is configured to execute the scraping process by moving the scraper in a direction along the surface while pressing the scraper against the surface by the robot, and during the execution of the scraping process, repeatedly increase and decrease a depth of scraping the surface by controlling a position of the robot so as to repeatedly increase and decrease a pressing force by which the robot presses the scraper against the surface.

In another aspect of the present disclosure, a method of a scraping process to scrape and flatten a surface of a workpiece using a robot configured to move a scraper configured to scrape the surface of the workpiece, the method includes executing the scraping process by moving the scraper in a direction along the surface while pressing the scraper against the surface by the robot, and repeatedly increasing and decreasing, during the execution of the scraping process, a depth of scraping the surface by controlling a position of the robot so as to repeatedly increase and decrease a pressing force by which the robot presses the scraper against the surface.

According to the present disclosure, a recess with a plurality of valleys and crest portions aligned in one direction can be quickly formed by the operation of the robot. Thus, the cycle time of the scraping process can be reduced and a recess can be automatically formed with the same quality as the recess formed by an expert.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

Embodiments of the present disclosure will be described in detail below based on the drawings. Note that in the various embodiments described below, similar elements are denoted by the same signs, and overlapping descriptions are omitted. In the following description, the x-axis plus direction of a robot coordinate system C1in the drawings may be referred to as rightward, the y-axis plus direction as forward, and the z-axis plus direction as upward.

First, a robot system10according to one embodiment will be described with reference toFIGS.1and2. The robot system10is a system that performs the scraping process to scrape and flatten a surface Q of a workpiece W. The scraping process is a process to scrape the surface Q of the workpiece such that fine unevenness formed on the surface Q of the workpiece W has a dimension in a thickness direction of the workpiece W falling within a predetermined range (e.g., on the order of μm). This fine unevenness functions as a so-called “oil retention” configured to store a lubricating oil on the surface Q used as a sliding surface.

The robot system10includes a robot12, a force sensor14, a scraper16, and a control device18. In the present embodiment, the robot12is a vertical articulated robot and includes a robot base20, a turning body22, a lower arm24, an upper arm26, and a wrist28. The robot base20is fixed on the floor of the work cell. The turning body22is provided on the robot base20being turnable around the vertical axis.

The lower arm24is provided at the turning body22rotatably about the horizontal axis, and the upper arm26is rotatably provided at the tip of the lower arm24. The wrist28includes a wrist base28aprovided rotatably at the tip of the upper arm26and a wrist flange28bprovided at the wrist base28abeing rotatable about a wrist axis A1.

Each component (the robot base20, the turning body22, the lower arm24, the upper arm26, the wrist28) of the robot12is provided with a servo motor34(FIG.2). These servo motors34rotate each movable element (the turning body22, the lower arm24, the upper arm26, the wrist28, the wrist flange28b) of the robot12about the drive shaft in response to a command from the control device18. As a result, the robot12can move and arrange the scraper16at any position and any orientation.

The force sensor14detects a pressing force F by which the robot12presses the scraper16against the surface Q of the workpiece W. For example, the force sensor14is a six-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 wrist flange28band the scraper16. In the present embodiment, the force sensor14is arranged such that a center axis of the force sensor14coincides with the wrist axis A1.

The scraper16is fixed to the tip of the force sensor14and scrapes the surface of the workpiece W for the scraping process. Specifically, the scraper16includes a flexible handle portion30and a blade portion32fixed to the tip of the handle portion30. The handle portion30includes a base end fixed to the tip of the force sensor14and is connected to the wrist flange28bof the robot12via the force sensor14.

The handle portion30extends linearly along an axis line A2from the tip of the force sensor14. The blade portion32is made of a metal material (e.g., steel) having a higher stiffness than the handle portion30, and extends along the axis line A2from a base end32bto a tip32athereof. Note that the axis line A2may be substantially orthogonal to the wrist axis A1.

As illustrated inFIG.3, the tip32aof the blade portion32is curved to bulge outward from both ends of its width direction toward the center when viewed from the upper side (direction of arrow B inFIG.1). The scraper16presses the tip32aof the blade portion32thereof against the surface Q of the workpiece W and scrapes the surface Q with the tip32a.

The control device18controls the operation of the robot12. As illustrated inFIG.2, the control device18is a computer including a processor40, a memory42, an I/O interface44, an input device46, and a display device48. The processor40is communicatably connected to the memory42, the I/O interface44, the input device46, and the display device48via a bus50, and performs arithmetic processing for executing the scraping process while communicating with these components.

The memory42includes a RAM, a ROM, or the like, and temporarily or permanently stores various types of data used in the arithmetic processing executed by the processor40and various types of data generated during the arithmetic processing. The I/O interface44includes, for example, an Ethernet (trade name) port, a USB port, an optical fiber connector, or an HDMI (trade name) terminal, and performs wired or wireless data communication with an external device under a command from the processor40. In the present embodiment, each of the servo motors34of the robot12and the force sensor14are communicably connected to the I/O interface44.

The input device46includes a keyboard, a mouse, a touch panel, or the like, and allows the operator to input data. The display device48includes a liquid crystal display, an organic EL display, or the like, and visibly displays various types of data under a command from the processor40. The input device46or the display device48may be integrally incorporated in a housing of the control device18, or may be externally mounted at the housing of the control device18as a component separate from the housing.

As illustrated inFIG.1, a robot coordinate system C1is set for the robot12. The robot coordinate system C1is a coordinate system configured to control the operation of each movable element of the robot12and is fixed with respect to the robot base20. In the present embodiment, the robot coordinate system C1is set with respect to the robot12such that the origin of the robot coordinate system C1is arranged at the center of the robot base20and the z-axis of the robot coordinate system C1coincides with the turning axis of the turning body22.

On the other hand, a tool coordinate system C2is set for the scraper16. The tool coordinate system C2is a coordinate system that defines a position and an orientation of the scraper16(or wrist flange28b) in the robot coordinate system C1. In the present embodiment, the tool coordinate system C2is set with respect to the scraper16such that the origin of the tool coordinate system C2(so-called TCP) is arranged at the center of the tip32aof the blade portion32in a state in which the handle portion30is not bending and the z-axis of the tool coordinate system C2is parallel to the axis line A2(or a normal direction of the curved surface of the tip32aat the center of the tip32a).

When moving the scraper16, the processor40of the control device18sets the tool coordinate system C2in the robot coordinate system C1, and generates a command (position command, speed command, torque command, or the like) to each servo motor34of the robot12such that the scraper16is arranged at a position and an orientation represented by the set tool coordinate system C2. Thus, the processor40positions the scraper16in any position and any orientation in the robot coordinate system C1, thereby executing the scraping process.

On the other hand, a sensor coordinate system C3is set for the force sensor14. The sensor coordinate system C3is a coordinate system that defines a direction of a force acting on the force sensor14. In the present embodiment, the sensor coordinate system C3is set with respect to the force sensor14such that the origin of the sensor coordinate system C3is arranged at the center of the force sensor14and the z-axis of the sensor coordinate system C3coincides with the wrist axis A1(or the x-axis of the sensor coordinate system C3is parallel to the z-axis of the tool coordinate system C2).

FIG.4illustrates a state where the robot12presses the tip32aof the blade portion32of the scraper16against the surface Q of the workpiece W. When the robot12presses the tip32aof the scraper16against the surface Q in a direction orthogonal to the surface Q with the pressing force F, the reaction force F′ of the pressing force F is applied from the surface Q to the force sensor14via the scraper16.

Each of the strain gauges of the force sensor14transmit detection data corresponding to the force acting on the force sensor14at this time to the control device18. Based on the detection data received from the force sensor14via the I/O interface44, the processor40obtains 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 sensor14at this time. The processor40calculates the magnitude of the reaction force F′ acting on the tip32aof the blade portion32in a direction orthogonal to the surface Q based on the forces f, the torques τ, and state data CD of the scraper16at this time.

The state data CD includes, for example, at least one of an angle θ1between the axis line A2and the surface Q, a distance d from the wrist axis A1(or the origin of the sensor coordinate system C3) to the tip32aof the blade portion32, a position data indicating the position and the orientation of the tool coordinate system C2(or the sensor coordinate system C3) in the robot coordinate system C1, and a bending data (e.g., a bending amount or an elastic modulus, of the handle portion30) of the handle portion30. In this way, the force sensor14detects the reaction force F′ as the pressing force F, and the control device18can determine the magnitude of the pressing force F (reaction force F′) based on the detection data of the force sensor14.

Next, the scraping process executed by the robot12will be described with reference toFIGS.5to7. As illustrated inFIG.5, a plurality of teaching points TP1, TP2and TP3where the tip32a(i.e., TCP) of the scraper16is to be positioned for executing the scraping process are set along the surface Q of the workpiece W positioned at known positions in the robot coordinate system C1.

In the present embodiment, the teaching point TP2is set at a position separated rightward from the teaching point TP1, and the teaching point TP3is set at a position separated toward upper right of the teaching point TP2. The positions of the teaching points TP1and TP2in the z-axis direction of the robot coordinate system C1are substantially identical to each other. These teaching points TPn(n=1, 2, 3) are represented by coordinates in the robot coordinate system C1.

When performing the scraping process, the processor40starts a position control α and generates a position control command PCnto move the scraper16to a teaching point TPnby the robot12. The processor40positions the scraper16in the order of teaching points TP1→TP2→TP3, by operating each servo motor34of the robot12according to this position control command PCn. With this position control α, the processor40moves the scraper16(specifically, tip32a) along a movement path MP defined by the plurality of teaching points TPn.

In the present embodiment, for ease of understanding, it is assumed that the surface Q of the workpiece W is substantially parallel to an x-y plane of the robot coordinate system C1, and a direction MD of a movement path MP is substantially parallel to an x-z plane of the robot coordinate system C1. A position control command PCnincludes a speed command PCV_ndefining a speed VP_nat which the scraper16(i.e., wrist flange28bof the robot12) is moved to the teaching point TPn.

After starting the position control α, the processor40moves the scraper16to the teaching point TP1by operating the robot12according to a position control command PC1. When the tip32aof the scraper16is arranged at the teaching point TP1, as illustrated inFIG.6, the tip32aseparates upward from the surface Q.

When the scraper16reaches the teaching point TP1, the processor40starts a force control β. After starting the force control β, the processor40controls the position of the wrist flange28b(or TCP) of the robot12based on the detection data of the force sensor14such that the pressing force F at which the robot12presses the scraper16against the surface Q of the workpiece W is controlled to a predetermined target value φ.

Specifically, in the force control β, the processor40generates a force control command FC for controlling the position of the wrist flange28b(TCP) of the robot12in order to control the pressing force F (specifically, reaction force F′) acquired based on the detection data of the force sensor14to the target value φ. The processor40then adds the force control command FC to the position control command PCnto operate the servo motors34of the robot12.

Accordingly, the processor40moves the scraper16(or the wrist flange28b) in the direction MD of the movement path MP along the surface Q according to the position control command PCn, and moves the scraper16in the direction (i.e., the z-axis direction of the robot coordinate system C1) approaching to or leaving from the surface Q of the workpiece W according to the force control command FC.

The force control command FC includes a force command FCFdefining the target value φ and a speed command FCVthat specifies the speed at which the scraper16is moved in the z-axis direction of the robot coordinate system C1in order to make the pressing force F reach the target value φ. In the force control β, the processor40first generates the force command FCF, and then generates the speed command FCVbased on the pressing force F, which is acquired from the detection data of the force sensor14, and the force command FCF. The processor40then moves the scraper16(wrist flange28b) in the z-axis direction of the robot coordinate system C1by operating the robot12according to the speed command FCV.

When the scraper16reaches the teaching point TP1, the processor40generates a speed command PCV_2as a position control command PC2to move the scraper16to the teaching point TP2, and generates a speed command FCV_0as the force control command FC.FIG.6schematically illustrates the speed commands PCV_2and FCV_0generated by the processor40when the scraper16reaches the teaching point TP1.

After the scraper16has reached the teaching point TP1, the processor40causes the robot12to operate in accordance with the speed command PCV_2to move the scraper16toward the teaching point TP2and along the surface Q in the direction MD at a speed VP_2. corresponding to (specifically, coinciding with) the speed command PCV_2.

Along with this, the processor40generates the speed command FCV_0to control the pressing force F to the target value φ, and by adding the generated speed command to the speed command PCV_2to the servo motors34, moves the scraper16in the direction toward the surface Q (i.e., downward) with a speed VF_0corresponding to (specifically, coinciding with) the speed command FCV_0. As a result, the robot12moves the scraper16in the direction MD′ inFIG.6after passing through the teaching point TP1.

FIG.7illustrates with a solid line an actual trajectory TR that is followed by the scraper16(specifically, tip32a) in the scraping process. After passing through the teaching point TP1, the scraper16moves toward the surface Q in the trajectory TR inclined to form an angle θ2(<90 degrees) with respect to the surface Q and abuts on the surface Q at a position P1.

Here, when the distances between the teaching point TP1and the position P1inFIG.7, in the x-axis and z-axis directions of the robot coordinate system C1, are a distance x1and a distance z1, respectively, the distance x1and the distance z1, the speed command PCV_2(speed VP_2), and the speed command FCV_0(speed VF_0) satisfy the following equation (1):

Further, the angle θ2, the distance x1and the distance z1, the speed command PCV_2(speed VP_2), and the speed command FCV_0(speed VF_0) satisfy the following equation (2):

Thus, when assuming that a machining condition MC of the scraping process is set to x1=10 mm and z1=5 mm, it can be determined from the equation (2) that angle θ2≈26.6 degrees. In this case, when the speed VP_2(i.e. speed command PCV_2) is set to 100 mm/sec as the machining condition MC, the speed VF_0(i.e., the speed command FCV_0) can be determined as 50 mm/sec from equation (1). Thus, by appropriately setting the distance x1and the distance z1, the speed command PCV_2(the speed VP_2), and the speed command FCV_0(the speed VF_0) as the machining condition MC, the angle θ2can be controlled to a desired range (e.g., 15 degrees to 35 degrees).

While the scraper16is abutting against the surface Q, the processor40moves the scraper16in the direction MD (i.e., rightward) according to the position control command PC2and generates the speed command FCV_1as the force control command FC for controlling the pressing force F to the target value φ by the force control β. In accordance with this speed command FCV_1, the position of the wrist flange28bof the robot12is shifted in the z-axis direction of the robot coordinate system C1at a speed VF_1corresponding to (specifically, coinciding with) the speed command FCV_1.

Here, the maximum value of the speed command FCV_1(i.e., the speed VF_1) generated while the scraper16is abutting against the surface Q can be set to be larger than the speed command FCV_0(i.e., the speed VF_0) generated before the scraper16abuts against the surface Q. Thus, the processor40, by the robot12, moves the scraper16rightward along the surface Q while pressing the scraper16with the pressing force F of a magnitude corresponding to the target value φ, thereby executing the scraping process to scrape the surface Q by the tip32aof the scraper16.

When the scraper16(or the wrist flange28b) reaches a position corresponding to the teaching point TP2, the processor40terminates the force control β and generates a position control command PC3to move the scraper16to the teaching point TP3. The processor40then moves the scraper16to upper right toward the teaching point TP3by operating the robot12according to the position control command PC3.

As a result, the scraper16moves toward upper right in the trajectory TR inclined to form an angle θ3(<90 degrees) with respect to the surface Q of the workpiece W, and the tip32aof the scraper16separates away from the surface Q at a position P2. Thus, the scraper16scrapes the surface Q from the position P1to the position P2over a distance x2and the scraping process ends. In the present embodiment, it is assumed that the coordinate of the position P2in the x-axis direction of the robot coordinate system C1is substantially identical to that of the teaching point TP2. The scraper16then reaches the teaching point TP3(or a position just below it).

In the present embodiment, while executing the scraping process from the position P1to the position P2, the processor40repeatedly controls the position of the wrist flange28bof the robot12so as to repeatedly increase and decrease the pressing force F, thereby repeatedly increasing and decreasing a depth Z of scraping the surface Q. This function will be described below with reference toFIG.8.

FIG.8illustrates an example of the time change characteristics of the pressing force F during execution of the scraping process. In the example illustrated inFIG.8, the pressing force F, during the scraping process, changes repeatedly increasing and decreasing between a first force F1and a second force F2(>0) which is smaller than the first force F1. In the present embodiment, the processor40increases and decreases the pressing force F as illustrated inFIG.8by the force control β executed during the scraping process.

As an example of the force control β, the processor40generates the force command FCFas the force control command FC as follows: That is, after the start of the force control β, the processor40generates a force command FCFthat specifies the initial target value φ0for the pressing force F, and operates the robot12according to the force command FCF. With this, the scraper16abuts against the surface Q at the position P1as illustrated inFIG.7, and the pressing force F starts to increase and reaches the second force F2at a time point t1.

The processor40then generates a force command FCFto increase the pressing force F by a change amount ΔF in a predetermined time period τ1from the time point t1and then decrease it by a change amount ΔF in a predetermined time period τ2thereafter. Note that the time period τ1and the time period τ2may be set to the same time period (τ1=τ2) or to different time periods (τ1<τ2, or τ1>τ2).

This increases the pressing force F to the first force F1(=F2+ΔF) at the time point t22(=t1+τ1), at which the time period τ1has elapsed from the time point t1, and then decreases to the second force F2at a time point t2(=t2+τ2). Thus, a first peak FP1waveform in the time change characteristics of the pressing force F illustrated inFIG.8is formed during the period from the time point t1to the time point t3.

The processor40then generates a force command FCFto repeat the cycle of increasing the pressing force F by a change amount ΔF for the time period τ1and then decreasing it by a change amount ΔF for the time period τ2. By controlling the position of the wrist flange28bof the robot12according to the force command FCFthus generated, the pressing force F changes periodically such that the waveform of a peak FPn(n=1, 2, 3) of the pressing force F is formed in a cycle T (=τ1+τ2), as illustrated inFIG.8.

Thus, in this case, the processor40is changing the target value φ of the pressing force F, in the force control β, between the first target value φ1(=F1), which is increased by a change amount ΔF from the pressing force F at the time point t1, and the second target value φ2_1(=F2), which is decreased by a change amount ΔF from the pressing force F at the time point t2. The initial target value φ0described above may be set to the force F1or F2, or to any value of the force.

As another example of the force control β, the processor40may generate the force command FCFas the force control command FC as follows: That is, after the start of the force control β, the processor40generates a force command FCFto specify the first target value φ1_2corresponding to the first force F1. By operating the robot12according to this force command FCF, the scraper16abuts against the surface Q at the position P1and the pressing force F reaches the second force F2at the time point t1and then reaches the first force F1at the time point t2.

Then, at the time point t2, the processor40generates a force command FCFto specify the second target value φ2_2(<φ1_2) corresponding to the second force F2. By operating the robot12according to this force command FCF, the pressing force F decreases from the time point t2to reach the second force F2at the time point t3. At this time point t3, the processor40again specifies the first target value φ1_2in the force command FCF.

The processor40, in the generated force command FCF, then repeats the cycle of specifying the second target value φ2_2after the time period τ1and specifying the first target value φ1_2after the time period τ2. Thus, in the force control β, the processor40periodically changes the target value φ of the pressing force F between the first target value φ1_2and the second target value φ2_2, which is smaller than the first target value φ1_2. As a result, the pressing force F can be changed by the cycle T as illustrated inFIG.8.

Note that the first target value φ1_2used in this example may be the same value as the first force F1(φ1_2=F1) or may be larger than the first force F1(φ1_2>F1). When φ1_2>F1, the pressing force F does not reach the first target value φ1_2at the time point t2and the processor40generates a force command FCFspecifying the second target value φ2_2before the pressing force F reaches the first target value φ1_2.

In addition, the second target value φ2_2may be the same value as the second force F2(φ2_2=F2) or smaller value than the second force F2(φ2_2<F2). When φ2_2<F2, the pressing force F does not reach the second target value φ2_2at the time point t3and the processor40generates a force command FCFspecifying the first target value φ1_2before the pressing force F reaches the second target value φ2_2.

As still another example of the force control β, the processor40may generate a force command FCFsuch that the target value φ of the pressing force F changes over time with time change characteristics corresponding to the characteristics illustrated inFIG.8. For example, the processor generates a force command FCFsuch that the target value φ is gradually changed over time with a predetermined control cycle T′(<<T). Thus, the target value φ can be periodically changed between the first target value φ1and the second target value φ2such that the target value φ becomes time change characteristics corresponding to the characteristics illustrated inFIG.8.

As described above, in the present embodiment, the processor40increases and decreases the pressing force F by repeatedly increasing and decreasing the target value φ of the pressing force F in the force control β.FIG.9illustrates an example of a recess R formed on the surface Q by the scraping process method according to the present embodiment. According to the present embodiment, periodically increasing and decreasing the pressing force F during execution of the scraping process (in other words, during pressing the scraper16against the surface Q and moving it in the direction MD), depth Z of scraping the surface Q periodically increases and decreases as illustrated inFIG.9.

More specifically, the recess R extends rightward from the position P1to the position P2, in which a plurality of valleys En(n=1, 2, 3) and a plurality of crest portions Gnare formed to be aligned in the x-axis direction of the robot coordinate system C1. The valley Encorresponds to the position where the pressing force F becomes the first force F1(first target value φ1) in the characteristics illustrated inFIG.8, and its depth Z in the recess R becomes maximum.

On the other hand, a crest portion Gncorresponds to the position where the pressing force F becomes the second force F2(second target value φ2) in the characteristics illustrated inFIG.8, and its depth Z in the recess R becomes minimum. In the present embodiment, since the second force F2is greater than zero, depth Z (i.e., the distance between the surface Q and the crest portion Gnin the z-axis direction of the robot coordinate system C1) of the crest portion Gnis greater than zero (i.e., the crest portion Gnis located below the surface Q). InFIG.9, the depth Z of the recess R is illustrated enlarged for ease of understanding, but it should be understood that the depth Z is actually in the order of Ξm.

In the present embodiment, the recess R extending from the position P1to the position P2and including a plurality of valleys Enand crest portions Gntherein can be formed by a single scraping process. Here, in the related art, when an expert of the scraping process forms a plurality of valleys Enaligned in one direction by the scraping process as illustrated inFIG.9, it is necessary to repeat the action of pushing the scraper against the surface Q with a strong force to scrape the surface Q and then moving the scraper away from the surface Q, in order to form one valley En. Such a task imposes heavy labor on an expert and requires a lot of time.

According to the present embodiment, the recess R as illustrated inFIG.9, which has been formed by an expert repeatedly scraping the surface Q with a scraper, can be quickly formed by the operation of the robot12. Thus, the cycle time of the scraping process can be reduced and the recess R can be automatically formed with the same quality as the recess formed by an expert.

Additionally, in the present embodiment, the processor40increases and decreases the pressing force F by executing the force control β while executing the scraping process, and repeatedly increasing or decreasing the target value φ in the force control β. Specifically, in the force control β, the processor40changes the target value φ between the first target value φ1(φ1_1, φ1_2) and the second target value φ2(φ2_1, φ2_2). With this configuration, the pressing force F can be precisely controlled to change over time with the characteristics illustrated inFIG.8. Thus, the depth Z of the recess R can be managed with high precision.

In addition, in the present embodiment, the processor40moves the scraper16in the direction MD while pressing it against the surface Q by executing the position control α with the force control β. With this configuration, the trajectory TR of the scraper16can be controlled with high precision. Also, in the present embodiment, the processor40increases and decreases the pressing force F periodically (specifically, with a cycle T). With this configuration, the recess R can be formed in which the valleys Enare aligned by equal interval in the x-axis direction of the robot coordinate system C1.

Note that the first target value φ1(φ1_1, φ1_2, ΔF) described above may be determined as the value by which the handle portion30can be bent when the blade portion32is pressed against the surface Q with the first force F1during the scraping process.FIG.11schematically illustrates the bending state of the handle portion30during the scraping process. In the example illustrated inFIG.11, the robot12presses the tip32aof the scraper16against the surface Q with the first force F1, which causes the handle portion30of the scraper16to bend and curve to bulge downward. Note that the second target value φ2(φ2_1, φ2_2, ΔF) may be determined such that the handle portion30of the scraper16bends even when the scraper16is pressed against the surface Q by the second force F2.

Here, the memory42may store in advance a target value setting program PG1for changing the target value φ as described above. In this case, after starting the force control β, the processor40determines the target value φ according to the target value setting program PG1and generates a force command FCFto specify the target value φ.

The mode of increasing and decreasing the pressing force F (target value φ) during the scraping process is not limited to the example illustrated inFIG.8. Other modes of increasing and decreasing the pressing force F (target value φ) are described below with reference toFIGS.12to15. In the example illustrated inFIG.12, the processor40changes the pressing force F between the first force F1and the second force F2(<F1) with a cycle T.

Here, the second force F2illustrated inFIG.12is set higher than the second force F2illustrated inFIG.8. According to the example illustrated inFIG.12, the depth Z of the crest portion Gnof the formed recess R can be made relatively large. The processor40can control the pressing force F in a manner similar to the force control β described with reference toFIG.8such that the pressing force F has the time change characteristics illustrated inFIG.12.

In the example illustrated inFIG.13, during the scraping process, the pressing force F changes repeatedly increasing and decreasing between the first force F1and the second force F2, but is maintained at the first force F1for a predetermined time period τ3. As an example of the force control β for increasing and decreasing the pressing force F as illustrated inFIG.13, after the start of the force control β, the processor40generates a force command FCFthat specifies the initial target value φ0and operates the robot12according to the force command FCF, as in the embodiments described above. This causes the pressing force F to reach the second force F2at the time point t1.

The processor40then generates a force command FCFto increase the pressing force F from the time point t1by a change amount ΔF in the time period τ1, maintain the pressing force F over a predetermined time period τ3, and then decrease the pressing force F by a change amount ΔF in the time period τ3. As a result, the pressing force F increases to the first force F1from the time point t1to the time point t2(=t1+τ1), is maintained at the first force F1from the time point t2to the time t3(=t2+τ3), and then decreases to the second force F2from the time point t3to the time point t4(=t3+τ2). Thus, a waveform of the first peak FP1in the time change characteristics of the pressing force F illustrated inFIG.13is formed during the period from the time point t1to the time point t4.

The processor40then generates a force command FCFto repeat the cycle of increasing the pressing force F by a change amount ΔF in the time period τ1, maintaining the pressing force F for the time period τ3, and then decreasing the pressing force F by a change amount ΔF in the time period τ2. By controlling the position of the robot12according to the force command FCFthus generated, the pressing force F changes periodically between the first force F1and the second force F2such that the waveform of the peak FPn(n=1, 2, 3) of the pressing force F is formed by a cycle T (=τ1+τ2+τ3) as illustrated inFIG.13.

As another example of the force control β, after the start of the force control β, the processor40specifies the first target value φ1_2corresponding to the first force F1in the force command FCFand operates the robot12according to the force command FCF. This causes the pressing force F to reach the second force F2at the time point t1and then reach the first force F1at the time point t2.

Then, in the force command FCF, the processor40continuously specifies the first target value φ1_2from the time point t2to the time point t3and specifies the second target value φ2_2at the time point t2. By operating the robot12in accordance with such a force command FCF, the pressing force F is maintained in the first force F1from the time point t2to the time point t3and then decreases from the time point t3to reach the second force F2at the time point t4.

At this time point t4, the processor40again specifies the first target value φ1_2in the force command FCF. The processor40then repeats the cycle in the force command FCFby specifying the second target value φ2_2after the time period τ1+τ3and specifying the first target value φ1_2after the time period τ2. As a result, the pressing force F can be changed by the cycle T between the first force F1and the second force F2, as illustrated inFIG.13.

As still another example of the force control β, in the force command FCF, the processor40may gradually and temporally change the target value φ of the pressing force F with a control cycle T′(<<T) to correspond to the time change characteristics illustrated inFIG.13. According to the force control β illustrated inFIG.13, the recess R including the valley Enextending linearly parallel to the x-axis of the robot coordinate system C1, can be formed.

In the example illustrated inFIG.14, the processor40changes the peak value of the first force F1for each cycle T. Specifically, the processor40maintains the pressing force F at a force F1_Ain the waveform of the 2 m−1-th peak FP2 m−1(m is a positive integer) inFIG.14, while maintaining the pressing force F at a force F1_B(<F1_A) in the waveform of the 2m-th peak FP2m.

The method of the force control β illustrated inFIG.14differs from that inFIG.13in the following respects: That is, the processor40switches, for each cycle T, the first target value φ1(φ1_1, φ1_2) specified by the force command FCFbetween the target value φ1_Acorresponding to the force F1_Aand the target value φ1_B(<φ1_A) corresponding to the force F1_B.

In the example illustrated inFIG.14, the recess R can be formed including a first valley Ell A extending linearly and a second valley En_Bextending linearly with a depth shallower than that of the first valley En_A. Note that the processor40may generate a force command FCFin a manner to maintain the pressing force F at the force F1_Bin the waveform of the 2 m−1-th peak FP2 m−1inFIG.14, while maintaining the pressing force F at the force F1_Ain the waveform of the 2m-th peak FP2m.

In the example illustrated inFIG.15, the processor40maintains the pressing force F at the first force F1for a predetermined period as inFIG.13, but the second force F2illustrated inFIG.15is set higher than the second force F2illustrated inFIG.13. According to the example illustrated inFIG.15, the depth Z of the crest portion Gnof the formed recess R can be made relatively large. The processor40can control the pressing force F to have the time change characteristics illustrated inFIG.15by executing the force control β described with reference toFIG.13.

The processor40may automatically determine at least one of the machining conditions MC according to the data input from the operator. For example, in addition to the angle θ2, distances x1and z1, the speed command PCV_2(the speed VP_2), the speed command FCV_0(speed VF_0) illustrated inFIG.7, the machining condition MC include at least one of the conditions including the length x2of the recess R to be formed, a number k and the depth Z of the valley En(or crest portion Gn) to be formed in the recess R (FIG.9), a distance X between two the crest portions Gnand Gn+1(or two valleys Enand En+1) adjacent to each other in the x-axis direction of the robot coordinate system C1(FIG.9), a cycle T to change the pressing force F, the target value φ of the force control β, and a gain Ga determining the control responsiveness of the robot12.

As an example, the operator operates the input device46and inputs the speed command PCV_2(the speed VP_2), the length x2of the recess R, the number k, and the depth Z, as the machining condition MC. In this case, the processor40automatically determines the distance X by calculating X=x2/k (or its approximate value) from the input lengths x2and the number k.

Additionally, the processor40automatically determines the target value φ from the depth Z that is input. For example, the memory42may store in advance a data table DT1in which the first target value φ1and the depth Z of the valley En(or the second target value φ2and the depth Z of the crest portion Gn) are stored in association with each other. In this case, the processor40can automatically determine the target value φ by retrieving the target value φ1(or φ2) corresponding to the input depth Z from the data table DT1.

Furthermore, the processor40automatically determines, from the distance X (=x2/k) determined as described above and the speed command PCV_2(the speed VP_2) that is input, the cycle T as T=X/PCV_2(=X/VP_2). Here, whether the robot12can change the pressing force F with the determined cycle T (in other words, the wrist flange28bis moved up and down for the cycle T) depends on the gain Ga. Specifically, the higher the gain Ga, the faster the control responsiveness of the robot12, and the robot12can move the wrist flange28bup and down at higher speeds.

When determining the cycle T, the processor40may automatically determine the gain Ga with which the robot12can operate at the cycle T. In this case, when a feasible gain Ga for achieving the determined cycle T cannot be set (For example, when the gain Ga goes beyond a range of configurable gain Ga), the processor40may issue an alarm signal reporting that.

As another example, the operator may input the gain Ga in place of the speed command PCV_2(the speed VP_2) described above as the machining condition MC. In this case, the processor40may automatically determine the cycle T from an input gain Ga. For example, the memory42may store in advance a data table DT2in which the gain Ga and the cycle T are stored in association with each other.

In this case, the processor40can automatically determine the cycle T by retrieving the cycle T corresponding to the input gain Ga from the data table DT2. The data table DT2may store the smallest cycle TMINfeasible for the corresponding gain Ga as the cycle T. This cycle TMINcan minimize the cycle time of the scraping process.

Then, the processor40automatically determines the speed command PCV_2(the speed VP_2) as PCV_2(VP_2)=X T from the cycle T and the distance X determined as described above. As described above, the processor40can automatically determine other parameters of the machining conditions MC according to some parameters of the machining conditions MC input by the operator. This configuration simplifies the task of launching the robot system10.

A scraping process method executed by the robot system10is now described with reference toFIGS.16to18. The flow illustrated inFIG.16starts when the processor40receives a scraping process start command from the operator, the host controller or a work program PG2. In step S1, the processor40executes rough machining. Rough machining is, for example, a scraping process in order to reduce the fine unevenness, which is formed when the surface Q is machined with a milling machine or the like, to the first dimension (e.g., 10 μm) or less.

This step S1will be described with reference toFIG.17. In step S11, the processor40starts the position control α. Specifically, the processor40starts the operation of generating the position control command PCndescribed above, and starts the operation of moving the tip32aof the scraper16by the robot12in the order of teaching point TP1→TP2→ and TP3(FIG.7).

In step S12, the processor40determines whether the scraper16has reached the teaching point TP1. For example, the servo motor34of the robot12is provided with a rotation detector (encoder or Hall element, or the like) that detects the rotation (specifically, rotation angles or rotational positions) of the servo motor34.

The processor40acquires position data of the scraper16(specifically, TCP) in the robot coordinate system C1based on feedback from the rotation detector, and can determine, from the position data, whether the scraper16has reached the teaching point TP1. When determining that the scraper16has reached the teaching point TP1(i.e., YES), the processor40proceeds to the step S13, or when determining that the scraper16has not reached the teaching point TP1(i.e., NO), the processor40loops through the step S12.

In step S13, the processor40starts the first force control β1. Specifically, the processor40generates a force command FCFspecifying a target value φ3for the first force control β1. The processor40generates the speed command FCV_0based on the force command FCF, and operates the robot12by adding the speed command FCV_0as the force control command FC to the speed command PCV_2as the position control command PCn. As a result, the scraper16abuts on the surface Q at the position P1with the trajectory TR (FIG.7) inclined at the angle θ2.

Here, the processor40maintains the pressing force F constant by the first force control β1during execution of the scraping process from the position P1to the position P2in step S1(rough machining).FIG.19illustrates the time change characteristics of the pressing force F in the first force control β1. As illustrated inFIG.19, in the first force control β1, the processor40controls the position of the wrist flange28bof the robot12to maintain the pressing force F at a predetermined target value φ3(=F3) without increasing or decreasing the pressing force F as illustrated inFIGS.8and12to15.

In step S14, the processor40determines whether the scraper16(or wrist flange28b) has reached the position corresponding to the teaching point TP2. When determining YES, the processor40proceeds to step S15, or when determining NO, loops through step S14.

In step S15, the processor40terminates the first force control β1. After step S15, the processor moves the scraper16toward upper right along the trajectory TR inclined at angle θ3as illustrated inFIG.7by operating the robot12in accordance with the position control command PC3, and as a result, the scraper16separates away from the surface Q of a workpiece W1at the position P2and the rough machining is finished. By this rough machining, the flatness of the surface Q can be enhanced such that the fine unevenness on the surface Q is equal to or less than the first dimension.

In step S16, the processor40determines whether the scraper16has reached the teaching point TP3. When determining YES, the processor40proceeds to step S17, or when determining NO, loops through step S16. Then, in step S17, the processor40terminates the position control α.

Referring again toFIG.16, in step S2, the processor40executes finish machining. Finish machining is a scraping process to reduce the fine unevenness, which is formed on the surface Q after the rough machining, to less than the second dimension (e.g., 5 μm), which is smaller than the first dimension, and to form a recess to function as the oil retention described above.

This step S2will be described with reference toFIG.18. The flow illustrated inFIG.18differs from the flow illustrated inFIG.17at step S13′. Specifically, after determining YES in step S12, the processor40starts the second force control β2in step S13′. In this second force control β2, the processor40repeatedly increases and decreases the pressing force F by executing the force control β described above inFIGS.8and12to15.

Thus, in the present embodiment, by executing step S2(finish machining) after step S1(rough machining) that increases the flatness of the surface Q to a certain extent by scraping the surface Q, the flatness of the surface Q can be further increased and the recess R, which functions as an oil retention, can be formed as illustrated inFIG.9. This allows the robot system10to automatically execute rough machining and finish machining continuously.

In the flow illustrated inFIG.16, step S2may be executed first and then step S1may be executed. In addition, the processor40may alternately execute steps S1and S2a plurality of times. The processor40executes the flow illustrated inFIG.16according to the target value setting program PG1and the work program PG2, described above.

For example, the target value setting program PG1is a computer program for which an algorithm for generating the target value φ is specified, while the work program PG2is a computer program for which the position data of the teaching point TPnand the command statements for executing the position control α and the force control β are specified. These target value setting program PG1and work program PG2may be stored in the memory42as separate computer programs from each other, or may be integrated into one computer program and stored in the memory42.

Note that in the embodiment described above, the processor40may execute an operation of swinging the scraper16(wrist flange28b) in the y-axis direction of the robot coordinate system C1during execution of the scraping process in synchronization with an operation of repeatedly increasing and decreasing the pressing force F.FIG.20illustrates an example of a trajectory TR′ of the scraper16when the scraper16is swung in this manner.

For example, the processor40may synchronize increasing and decreasing the pressing force F with the swing of the scraper16such that the pressing force F reaches the first force F1inFIG.8when the scraper16reaches a swing peak point P3at rear side and a swing peak point P4at front side on the trajectory TR′ illustrated inFIG.20, and the pressing force F reaches the second force F2inFIG.8when the scraper16reaches the midpoint between the swing peak points P3and P4. With this configuration, the recess R, which includes the valleys Enaligned in staggered manner in the x-axis direction of the robot coordinate system C1, can be formed.

In the embodiment described above, the case where the processor40increases and decreases the pressing force F by executing the force control β, is described. However, without limiting to this, the processor40can also repeatedly increase and decrease the pressing force F by executing only the position control α. This function will be described with reference toFIG.21.

In the configuration illustrated inFIG.21, teaching points TP11, TP12, TP13, TP14, TP15, TP16. . . are set along the surface Q of the workpiece W. Here, a teaching point TP12is arranged at the same position in the z-axis direction as the surface Q in the robot coordinate system C1, and the teaching points TP13, TP14, TP15, TP16are arranged below the surface Q in the robot coordinate system C1. In addition, the teaching points TP13and TP15are located below the teaching points TP14and TP16.

In the example illustrated inFIG.21, the processor40executes the position control α to move the scraper16by the robot12in the order of teaching points TP11→TP12→TP13→TP14→TP15→TP16. Thus, the scraper16abuts against the surface Q at the teaching point TP12. The processor40then moves the wrist flange28bof the robot12to respective positions corresponding to the teaching points TP13, TP14, TP15, and TP16in order, thereby moving the scraper16rightward along the surface Q while pressing it against the surface Q. Thus, the scraping process can be executed.

Here, by properly selecting the positions of the teaching points TPn(n=11, 12, 13 . . . ) illustrated inFIG.21, the pressing force F can be controlled to have the time change characteristics illustrated inFIGS.8and12to15while the scraping process is executed. For example, the teaching point TPnis set appropriately such that the pressing force F reaches the first force F1inFIG.8when the wrist flange28breaches respective positions corresponding to the teaching points TP13and TP15, and the pressing force F reaches the second force F2inFIG.8when the wrist flange28breaches respective positions corresponding to the teaching points TP14and TP16.

In this case, the memory42may store in advance a data table DT3in which the machining condition MC described above and the position data of the teaching points TPn(coordinates of the robot coordinate system C1) are stored in association with each other. The operator then operates the input device46and inputs at least one of, for example, the length x2, the depth Z, the distance X, and the target value φ as the machining condition MC. The processor40may automatically set the teaching points TPnas illustrated inFIG.21according to the machining condition MC that has been input.

Note that in the embodiment described above, the case of executing one scraping process on the surface Q of the workpiece W is described. However, the processor40may repeatedly execute the scraping process a plurality of times, for example, to form a plurality of recesses R aligned in the y-axis direction of the robot coordinate system C1. In this case, a group of teaching points TPnillustrated inFIG.5orFIG.21is set for each of the plurality of recesses R to be formed.

In addition, inFIGS.8and12to15, the first force F1or the second force F2may change for each cycle T. For example, in the force control β illustrated inFIG.8, a first force F L of the waveform of an i-th peak FPi(i=1, 2, 3 . . . ) may be different from the first force F1i+1of the waveform of the i+1-th peak FPi+1.

Similarly, a second force F21of the waveform of the i-th peak FPimay be different from the second force F2i+1of the waveform of i+1-th peak FPi+1. In this case, the processor40changes the first target value φ1(or second target value φ2) of the force control β to correspond to the first force F1i(or second force F2i) for each cycle T. The cycle T may also be changed for each peak FPi. That is, a cycle τ1forming the i-th peak FPimay have a different period from the cycle Ti+1forming the i+1-th peak FPi+1.

The force controls β inFIGS.8and12to15can also be combined. For example, after the start of the force control β, the processor40may execute one of the force controls β inFIGS.8and12to for a predetermined period of time, and then execute another one of the force controls β inFIGS.8and.12to15.

For example, the processor40may change the depth Z of the crest portion Gnby executing the force control β illustrated inFIG.12after executing the force control β illustrated inFIG.8. Alternatively, the processor40may change the depth Z of the valley Enand the crest portion Gnby executing the force control β illustrated inFIG.14orFIG.15after executing the force control β illustrated inFIG.13. With this configuration, recess R of various shapes can be formed.

In the embodiment described above, as illustrated inFIG.7, a case, where the tip32aof the scraper16reaches the teaching point TP3at the end of the scraping process, and the x coordinate of the position P2and the teaching point TP2in the robot coordinate system C1are substantially identical, is described. However, it should be understood that in practice, at the end of the scraping process, the tip32aof the scraper16may deviate from the teaching point TP3(e.g., downward) and the position P2may deviate from the teaching point TP2(e.g., to the x-axis plus direction of the robot coordinate system C1).

Furthermore, the force sensor14may be interposed, for example, between the work cell and the robot base20, or may be provided at any part of the robot12. The force sensor14may be provided, not only at the robot12, but also at the workpiece W side. For example, the pressing force F can be detected by interposing the force sensor14between the workpiece W and a placement surface on which the workpiece W is placed.

The force sensor14is 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. In addition, the origin of the sensor coordinate system C3may be arranged, not only at the center of the force sensor14, but also at any position as long as the position is previously known with respect to the force sensor14, and the axes of the sensor coordinate system C3may be defined in any directions.

The robot12is not limited to a vertical articulated robot, and may be any type of robot, for example, a horizontal articulated robot, a parallel link robot, or may be a movement machine including a plurality of ball screw mechanisms. Although the present disclosure has been described above through the embodiments, the above embodiments are not intended to limit the invention as set forth in the claims.

REFERENCE SIGNS LIST