The present disclosure relates to a robot system, a method, and a computer program for performing a scraping process.
There is a known robot that performs a scraping process (e.g., Patent Document 1).
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.
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 C1 in 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 system 10 according to one embodiment will be described with reference to
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 the floor of the work cell. The turning body 22 is provided on the robot base 20 being turnable around the vertical axis.
The lower arm 24 is provided at the turning body 22 rotatably about the horizontal axis, and the upper arm 26 is rotatably provided at the tip of the lower arm 24. The wrist 28 includes a wrist base 28a provided rotatably at the tip of the upper arm 26 and a wrist flange 28b provided at the wrist base 28a being rotatable about a wrist axis A1.
Each component (the robot base 20, the turning body 22, the lower arm 24, the upper arm 26, the wrist 28) of the robot 12 is provided with a servo motor 34 (
The force sensor 14 detects a pressing force F by which the robot 12 presses the scraper 16 against the surface Q of the workpiece W. For example, the force sensor 14 is 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 flange 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.
The scraper 16 is fixed to the tip of the force sensor 14 and scrapes the surface of the workpiece W for the scraping process. Specifically, the scraper 16 includes a flexible handle portion 30 and a blade portion 32 fixed to the tip of the handle portion 30. The handle portion 30 includes a base end fixed to the tip of the force sensor 14 and is connected to the wrist flange 28b of the robot 12 via the force sensor 14.
The handle portion 30 extends linearly along an axis line A2 from the tip of the force sensor 14. The blade portion 32 is made of a metal material (e.g., steel) having a higher stiffness than the handle portion 30, and extends along the axis line A2 from a base end 32b to a tip 32a thereof. Note that the axis line A2 may be substantially orthogonal to the wrist axis A1.
As illustrated in
The control device 18 controls the operation of the robot 12. As illustrated in
The memory 42 includes a RAM, a ROM, or the like, and temporarily or permanently stores various types of data used in the arithmetic processing executed by the processor 40 and various types of data generated during the arithmetic processing. The I/O interface 44 includes, 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 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.
The input device 46 includes a keyboard, a mouse, a touch panel, or the like, and allows the operator to input data. 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.
As illustrated in
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 wrist flange 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 (so-called TCP) is arranged at the center of the tip 32a of the blade portion 32 in a state in which the handle portion 30 is not bending and the z-axis of the tool coordinate system C2 is parallel to the axis line A2 (or a normal direction of the curved surface of the tip 32a at the center of the tip 32a).
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 a command (position command, speed command, torque command, or the like) to each servo motor 34 of the robot 12 such that the scraper 16 is arranged at a position and an orientation represented by the set tool coordinate system C2. Thus, the processor 40 positions the scraper 16 in any position and any orientation in the robot coordinate system C1, thereby executing the scraping process.
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).
Each of the strain gauges of the force sensor 14 transmit 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 the magnitude of the reaction force F′ acting on the tip 32a of the blade portion 32 in a direction orthogonal to the surface Q based on the forces f, the torques τ, and state data CD of the scraper 16 at this time.
The state data CD includes, for example, at least one of an angle θ1 between the axis line A2 and the surface Q, a distance d from the wrist axis A1 (or the origin of the sensor coordinate system C3) to the tip 32a of the blade portion 32, 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 portion 30) of the handle portion 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 (reaction force F′) based on the detection data of the force sensor 14.
Next, the scraping process executed by the robot 12 will be described with reference to
In the present embodiment, the teaching point TP2 is set at a position separated rightward from the teaching point TP1, and the teaching point TP3 is set at a position separated toward upper right of the teaching point TP2. The positions of the teaching points TP1 and TP2 in the z-axis direction of the robot coordinate system C1 are 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 processor 40 starts a position control α and generates a position control command PCn to move the scraper 16 to a teaching point TPn by the robot 12. The processor 40 positions the scraper 16 in the order of teaching points TP1→TP2→TP3, by operating each servo motor 34 of the robot 12 according to this position control command PCn. With this position control α, the processor 40 moves the scraper 16 (specifically, tip 32a) 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 PCn includes a speed command PCV_n defining a speed VP_n at which the scraper 16 (i.e., wrist flange 28b of the robot 12) is moved to the teaching point TPn.
After starting the position control α, the processor 40 moves the scraper 16 to the teaching point TP1 by operating the robot 12 according to a position control command PC1. When the tip 32a of the scraper 16 is arranged at the teaching point TP1, as illustrated in
When the scraper 16 reaches the teaching point TP1, the processor 40 starts a force control β. After starting the force control β, the processor 40 controls the position of the wrist flange 28b (or TCP) of the robot 12 based on the detection data of the force sensor 14 such that the pressing force F at which the robot 12 presses the scraper 16 against the surface Q of the workpiece W is controlled to a predetermined target value φ.
Specifically, in the force control β, the processor 40 generates a force control command FC for controlling the position of the wrist flange 28b (TCP) of the robot 12 in order to control the pressing force F (specifically, reaction force F′) acquired based on the detection data of the force sensor 14 to the target value φ. The processor 40 then adds the force control command FC to the position control command PCn to operate the servo motors 34 of the robot 12.
Accordingly, the processor 40 moves the scraper 16 (or the wrist flange 28b) in the direction MD of the movement path MP along the surface Q according to the position control command PCn, and moves the scraper 16 in 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 FCF defining the target value φ and a speed command FCV that specifies the speed at which the scraper 16 is moved in the z-axis direction of the robot coordinate system C1 in order to make the pressing force F reach the target value φ. In the force control β, the processor 40 first generates the force command FCF, and then generates the speed command FCV based on the pressing force F, which is acquired from the detection data of the force sensor 14, and the force command FCF. The processor 40 then moves the scraper 16 (wrist flange 28b) in the z-axis direction of the robot coordinate system C1 by operating the robot 12 according to the speed command FCV.
When the scraper 16 reaches the teaching point TP1, the processor 40 generates a speed command PCV_2 as a position control command PC2 to move the scraper 16 to the teaching point TP2, and generates a speed command FCV_0 as the force control command FC.
After the scraper 16 has reached the teaching point TP1, the processor 40 causes the robot 12 to operate in accordance with the speed command PCV_2 to move the scraper 16 toward the teaching point TP2 and 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 processor 40 generates the speed command FCV_0 to control the pressing force F to the target value φ, and by adding the generated speed command to the speed command PCV_2 to the servo motors 34, moves the scraper 16 in the direction toward the surface Q (i.e., downward) with a speed VF_0 corresponding to (specifically, coinciding with) the speed command FCV_0. As a result, the robot 12 moves the scraper 16 in the direction MD′ in
Here, when the distances between the teaching point TP1 and the position P1 in
z1/x1=FCV_0/PCV_2=VF_0/VP_2 (1)
Further, the angle θ2, the distance x1 and 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):
θ2=tan−1(z1/x1)=tan−(FCV_0/PCV_2)=tan−(VF_0/VP_2) (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 x1 and 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 θ2 can be controlled to a desired range (e.g., 15 degrees to 35 degrees).
While the scraper 16 is abutting against the surface Q, the processor 40 moves the scraper 16 in the direction MD (i.e., rightward) according to the position control command PC2 and generates the speed command FCV_1 as 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 flange 28b of the robot 12 is shifted in the z-axis direction of the robot coordinate system C1 at a speed VF_1 corresponding 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 scraper 16 is 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 scraper 16 abuts against the surface Q. Thus, the processor 40, by the robot 12, moves the scraper 16 rightward along the surface Q while pressing the scraper 16 with the pressing force F of a magnitude corresponding to the target value φ, thereby executing the scraping process to scrape the surface Q by the tip 32a of the scraper 16.
When the scraper 16 (or the wrist flange 28b) reaches a position corresponding to the teaching point TP2, the processor 40 terminates the force control β and generates a position control command PC3 to move the scraper 16 to the teaching point TP3. The processor 40 then moves the scraper 16 to upper right toward the teaching point TP3 by operating the robot 12 according to the position control command PC3.
As a result, the scraper 16 moves 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 tip 32a of the scraper 16 separates away from the surface Q at a position P2. Thus, the scraper 16 scrapes the surface Q from the position P1 to the position P2 over a distance x2 and the scraping process ends. In the present embodiment, it is assumed that the coordinate of the position P2 in the x-axis direction of the robot coordinate system C1 is substantially identical to that of the teaching point TP2. The scraper 16 then reaches the teaching point TP3 (or a position just below it).
In the present embodiment, while executing the scraping process from the position P1 to the position P2, the processor 40 repeatedly controls the position of the wrist flange 28b of the robot 12 so 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 to
As an example of the force control β, the processor 40 generates the force command FCF as the force control command FC as follows: That is, after the start of the force control β, the processor 40 generates a force command FCF that specifies the initial target value φ0 for the pressing force F, and operates the robot 12 according to the force command FCF. With this, the scraper 16 abuts against the surface Q at the position P1 as illustrated in
The processor 40 then generates a force command FCF to increase the pressing force F by a change amount ΔF in a predetermined time period τ1 from the time point t1 and then decrease it by a change amount ΔF in a predetermined time period τ2 thereafter. Note that the time period τ1 and the time period τ2 may 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 τ1 has elapsed from the time point t1, and then decreases to the second force F2 at a time point t2 (=t2+τ2). Thus, a first peak FP1 waveform in the time change characteristics of the pressing force F illustrated in
The processor 40 then generates a force command FCF to repeat the cycle of increasing the pressing force F by a change amount ΔF for the time period τ1 and then decreasing it by a change amount ΔF for the time period τ2. By controlling the position of the wrist flange 28b of the robot 12 according to the force command FCF thus 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 in
Thus, in this case, the processor 40 is 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 φ0 described above may be set to the force F1 or F2, or to any value of the force.
As another example of the force control β, the processor 40 may generate the force command FCF as the force control command FC as follows: That is, after the start of the force control β, the processor 40 generates a force command FCF to specify the first target value φ1_2 corresponding to the first force F1. By operating the robot 12 according to this force command FCF, the scraper 16 abuts against the surface Q at the position P1 and the pressing force F reaches the second force F2 at the time point t1 and then reaches the first force F1 at the time point t2.
Then, at the time point t2, the processor 40 generates a force command FCF to specify the second target value φ2_2 (<φ1_2) corresponding to the second force F2. By operating the robot 12 according to this force command FCF, the pressing force F decreases from the time point t2 to reach the second force F2 at the time point t3. At this time point t3, the processor 40 again specifies the first target value φ1_2 in the force command FCF.
The processor 40, in the generated force command FCF, then repeats the cycle of specifying the second target value φ2_2 after the time period τ1 and specifying the first target value φ1_2 after the time period τ2. Thus, in the force control β, the processor 40 periodically changes the target value φ of the pressing force F between the first target value φ1_2 and 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 in
Note that the first target value φ1_2 used 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_2 at the time point t2 and the processor 40 generates a force command FCF specifying the second target value φ2_2 before the pressing force F reaches the first target value φ1_2.
In addition, the second target value φ2_2 may 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_2 at the time point t3 and the processor 40 generates a force command FCF specifying the first target value φ1_2 before the pressing force F reaches the second target value φ2_2.
As still another example of the force control β, the processor 40 may generate a force command FCF such that the target value φ of the pressing force F changes over time with time change characteristics corresponding to the characteristics illustrated in
As described above, in the present embodiment, the processor 40 increases and decreases the pressing force F by repeatedly increasing and decreasing the target value φ of the pressing force F in the force control β.
More specifically, the recess R extends rightward from the position P1 to the position P2, in which a plurality of valleys En (n=1, 2, 3) and a plurality of crest portions Gn are formed to be aligned in the x-axis direction of the robot coordinate system C1. The valley En corresponds to the position where the pressing force F becomes the first force F1 (first target value φ1) in the characteristics illustrated in
On the other hand, a crest portion Gn corresponds to the position where the pressing force F becomes the second force F2 (second target value φ2) in the characteristics illustrated in
In the present embodiment, the recess R extending from the position P1 to the position P2 and including a plurality of valleys En and crest portions Gn therein 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 En aligned in one direction by the scraping process as illustrated in
According to the present embodiment, the recess R as illustrated in
Additionally, in the present embodiment, the processor 40 increases 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 processor 40 changes 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 in
In addition, in the present embodiment, the processor 40 moves the scraper 16 in 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 scraper 16 can be controlled with high precision. Also, in the present embodiment, the processor 40 increases 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 En are 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 portion 30 can be bent when the blade portion 32 is pressed against the surface Q with the first force F1 during the scraping process.
Here, the memory 42 may store in advance a target value setting program PG1 for changing the target value φ as described above. In this case, after starting the force control β, the processor 40 determines the target value φ according to the target value setting program PG1 and generates a force command FCF to 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 in
Here, the second force F2 illustrated in
In the example illustrated in
The processor 40 then generates a force command FCF to increase the pressing force F from the time point t1 by 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 F1 from the time point t1 to the time point t2 (=t1+τ1), is maintained at the first force F1 from the time point t2 to the time t3 (=t2+τ3), and then decreases to the second force F2 from the time point t3 to the time point t4 (=t3+τ2). Thus, a waveform of the first peak FP1 in the time change characteristics of the pressing force F illustrated in
The processor 40 then generates a force command FCF to 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 robot 12 according to the force command FCF thus generated, the pressing force F changes periodically between the first force F1 and the second force F2 such 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 in
As another example of the force control β, after the start of the force control β, the processor 40 specifies the first target value φ1_2 corresponding to the first force F1 in the force command FCF and operates the robot 12 according to the force command FCF. This causes the pressing force F to reach the second force F2 at the time point t1 and then reach the first force F1 at the time point t2.
Then, in the force command FCF, the processor 40 continuously specifies the first target value φ1_2 from the time point t2 to the time point t3 and specifies the second target value φ2_2 at the time point t2. By operating the robot 12 in accordance with such a force command FCF, the pressing force F is maintained in the first force F1 from the time point t2 to the time point t3 and then decreases from the time point t3 to reach the second force F2 at the time point t4.
At this time point t4, the processor 40 again specifies the first target value φ1_2 in the force command FCF. The processor 40 then repeats the cycle in the force command FCF by specifying the second target value φ2_2 after the time period τ1+τ3 and specifying the first target value φ1_2 after the time period τ2. As a result, the pressing force F can be changed by the cycle T between the first force F1 and the second force F2, as illustrated in
As still another example of the force control β, in the force command FCF, the processor 40 may 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 in
In the example illustrated in
The method of the force control β illustrated in
In the example illustrated in
In the example illustrated in
The processor 40 may 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 x1 and z1, the speed command PCV_2 (the speed VP_2), the speed command FCV_0 (speed VF_0) illustrated in
As an example, the operator operates the input device 46 and inputs the speed command PCV_2 (the speed VP_2), the length x2 of the recess R, the number k, and the depth Z, as the machining condition MC. In this case, the processor 40 automatically determines the distance X by calculating X=x2/k (or its approximate value) from the input lengths x2 and the number k.
Additionally, the processor 40 automatically determines the target value φ from the depth Z that is input. For example, the memory 42 may store in advance a data table DT1 in which the first target value φ1 and the depth Z of the valley En (or the second target value φ2 and the depth Z of the crest portion Gn) are stored in association with each other. In this case, the processor 40 can 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 processor 40 automatically 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 robot 12 can change the pressing force F with the determined cycle T (in other words, the wrist flange 28b is 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 robot 12, and the robot 12 can move the wrist flange 28b up and down at higher speeds.
When determining the cycle T, the processor 40 may automatically determine the gain Ga with which the robot 12 can 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 processor 40 may 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 processor 40 may automatically determine the cycle T from an input gain Ga. For example, the memory 42 may store in advance a data table DT2 in which the gain Ga and the cycle T are stored in association with each other.
In this case, the processor 40 can automatically determine the cycle T by retrieving the cycle T corresponding to the input gain Ga from the data table DT2. The data table DT2 may store the smallest cycle TMIN feasible for the corresponding gain Ga as the cycle T. This cycle TMIN can minimize the cycle time of the scraping process.
Then, the processor 40 automatically 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 processor 40 can 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 system 10.
A scraping process method executed by the robot system 10 is now described with reference to
This step S1 will be described with reference to
In step S12, the processor 40 determines whether the scraper 16 has reached the teaching point TP1. For example, the servo motor 34 of the robot 12 is 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 motor 34.
The processor 40 acquires position data of the scraper 16 (specifically, TCP) in the robot coordinate system C1 based on feedback from the rotation detector, and can determine, from the position data, whether the scraper 16 has reached the teaching point TP1. When determining that the scraper 16 has reached the teaching point TP1 (i.e., YES), the processor 40 proceeds to the step S13, or when determining that the scraper 16 has not reached the teaching point TP1 (i.e., NO), the processor 40 loops through the step S12.
In step S13, the processor 40 starts the first force control β1. Specifically, the processor 40 generates a force command FCF specifying a target value φ3 for the first force control β1. The processor 40 generates the speed command FCV_0 based on the force command FCF, and operates the robot 12 by adding the speed command FCV_0 as the force control command FC to the speed command PCV_2 as the position control command PCn. As a result, the scraper 16 abuts on the surface Q at the position P1 with the trajectory TR (
Here, the processor 40 maintains the pressing force F constant by the first force control β1 during execution of the scraping process from the position P1 to the position P2 in step S1 (rough machining).
In step S14, the processor 40 determines whether the scraper 16 (or wrist flange 28b) has reached the position corresponding to the teaching point TP2. When determining YES, the processor 40 proceeds to step S15, or when determining NO, loops through step S14.
In step S15, the processor 40 terminates the first force control β1. After step S15, the processor moves the scraper 16 toward upper right along the trajectory TR inclined at angle θ3 as illustrated in
In step S16, the processor 40 determines whether the scraper 16 has reached the teaching point TP3. When determining YES, the processor 40 proceeds to step S17, or when determining NO, loops through step S16. Then, in step S17, the processor 40 terminates the position control α.
Referring again to
This step S2 will be described with reference to
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 in
In the flow illustrated in
For example, the target value setting program PG1 is a computer program for which an algorithm for generating the target value φ is specified, while the work program PG2 is a computer program for which the position data of the teaching point TPn and the command statements for executing the position control α and the force control β are specified. These target value setting program PG1 and work program PG2 may be stored in the memory 42 as separate computer programs from each other, or may be integrated into one computer program and stored in the memory 42.
Note that in the embodiment described above, the processor 40 may execute an operation of swinging the scraper 16 (wrist flange 28b) in the y-axis direction of the robot coordinate system C1 during execution of the scraping process in synchronization with an operation of repeatedly increasing and decreasing the pressing force F.
For example, the processor 40 may synchronize increasing and decreasing the pressing force F with the swing of the scraper 16 such that the pressing force F reaches the first force F1 in
In the embodiment described above, the case where the processor 40 increases and decreases the pressing force F by executing the force control β, is described. However, without limiting to this, the processor 40 can also repeatedly increase and decrease the pressing force F by executing only the position control α. This function will be described with reference to
In the configuration illustrated in
In the example illustrated in
Here, by properly selecting the positions of the teaching points TPn (n=11, 12, 13 . . . ) illustrated in
In this case, the memory 42 may store in advance a data table DT3 in 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 device 46 and 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 processor 40 may automatically set the teaching points TPn as illustrated in
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 processor 40 may 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 TPn illustrated in
In addition, in
Similarly, a second force F21 of the waveform of the i-th peak FPi may be different from the second force F2i+1 of the waveform of i+1-th peak FPi+1. In this case, the processor 40 changes 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 τ1 forming the i-th peak FPi may have a different period from the cycle Ti+1 forming the i+1-th peak FPi+1.
The force controls β in
For example, the processor 40 may change the depth Z of the crest portion Gn by executing the force control β illustrated in
In the embodiment described above, as illustrated in
Furthermore, the force sensor 14 may be interposed, for example, between the work cell and the robot base 20, or may be provided at any part 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. 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.
The robot 12 is 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.
Number | Date | Country | Kind |
---|---|---|---|
2020-219442 | Dec 2020 | JP | national |
This is the U.S. National Phase application of PCT/JP2021/047417, filed Dec. 21, 2021, which claims priority to Japanese Patent Application No. 2020-219442, filed Dec. 28, 2020, the disclosures of each of these applications being incorporated herein by reference in their entireties for all purposes.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2021/047417 | 12/21/2021 | WO |