DEVICE, ROBOT SYSTEM, AND METHOD FOR DETERMINING POSITION OF RECESSED PORTION TO BE FORMED BY SCRAPING
20240051138 ยท 2024-02-15
Assignee
Inventors
Cpc classification
B23D79/06
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1679
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1664
PERFORMING OPERATIONS; TRANSPORTING
B25J15/0019
PERFORMING OPERATIONS; TRANSPORTING
G05B19/42
PHYSICS
B23D79/02
PERFORMING OPERATIONS; TRANSPORTING
International classification
B23D79/06
PERFORMING OPERATIONS; TRANSPORTING
B25J11/00
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A device for determining the positions of a plurality of recessed portions to be formed on a surface of a workpiece by means of scraping, in which a robot uses a scraper to shave the surface of the workpiece to make the same flat, is provided with: an input accepting unit for accepting input of shape information of the surface and pattern information of the plurality of recessed portions on the surface; and a position determining unit for automatically determining the position of each recessed portion on the surface on the basis of the shape information and the pattern information accepted by the input accepting unit.
Claims
1. A device configured to determine positions of a plurality of recesses to be formed on a surface of a workpiece by a scraping process in which a robot scrapes the surface with a scraper in order to flatten the surface, the device comprising: an input receiving section configured to receive input of shape information of the surface and pattern information of the plurality of recesses on the surface; and a position determination section configured to automatically determine the position of each of the plurality of recesses on the surface, based on the shape information and the pattern information received by the input receiving section.
2. The device of claim 1, wherein the pattern information includes: design information for specifying a type of design for arranging the plurality of recesses to align in a lattice pattern in a row direction and a column direction which are defined on the surface; and pitch information for setting a pitch between two of the plurality of recesses adjacent to each other in the row direction or the column direction.
3. The device of claim 2, wherein the pattern information further includes angle information for setting an angle of the row direction or the column direction with respect to a reference direction defined for the surface.
4. The device of claim 1, wherein the pattern information further includes a position cancel condition for defining whether to cancel the position which has been determined by the position determination section when a part of a virtual occupied region of the recess, the position of which has been determined by the position determination section, protrudes outward from an end edge of the surface.
5. The device of claim 1, wherein the pattern information further includes offset information for setting an offset distance of the recess with respect to an end edge of the surface, and wherein the position determination section determines the position such that the recess is displaced from the end edge by the offset distance.
6. The device of claim 1, wherein the pattern information further includes: machining region setting information for setting, on the surface, a machining region where the scraping process is to be executed; or non-machining region setting information for setting, on the surface, a non-machining region where the scraping process is not to be executed, wherein the position determination section is configured to: determine the position within the machining region; or determine the position so as to avoid the non-machining region.
7. The device of claim 1, wherein the input receiving section further receives input of a machining condition for causing the robot to execute the scraping process, and wherein the device further comprises a path generation section configured to, based on the machining condition received by the input receiving section and the position of one recess determined by the position determination section, automatically generate a movement path of the robot when forming the one recess.
8. The device of claim 7, wherein the machining condition includes: dimensional information of the recess; and trajectory control information for specifying an angle, by which the robot moves and contacts the scraper with the surface in the scraping process, and wherein the path generation section automatically calculates teaching points which define the movement path, based on the dimensional information and the trajectory control information.
9. A robot system, comprising: a robot configured to move a scraper; the device of claim 1; and a robot controller configured to control an operation of the robot to execute the scraping process, based on the position determined by the position determination section.
10. A method of determining positions of a plurality of recesses to be formed on a surface of a workpiece by a scraping process in which a robot scrapes the surface with a scraper in order to flatten the surface, the method comprising: receiving, by a processor, input of shape information of the surface and pattern information of the plurality of recesses on the surface; and automatically determining, by the processor, the position of each of the plurality of recesses on the surface, based on the received shape information and the pattern information.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
[0044] Hereinafter, 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 sometimes referred to as rightward, the y-axis plus direction as forward, and the z-axis plus direction as upward.
[0045] First, a robot system 10 according to one embodiment will be described with reference to
[0046] For example, the scraping process includes a rough machining for making a fine unevenness formed when a surface of a workpiece is machined by a milling machine or the like to be a first dimension (e.g., 10 m) or less, and a finish machining for making the minute unevenness to be a second dimension (e.g., 5 m) or less which is smaller than the first dimension after the rough machining.
[0047] The robot system 10 includes a robot 12, a force sensor 14, a scraper 16, and the 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.
[0048] 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 turnable about a wrist axis A1.
[0049] 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 (
[0050] The force sensor 14 detects a pressing force F by which the robot 12 presses the scraper 16 against the surface 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.
[0051] 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 handle portion 30 with flexibility 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. The handle portion 30 extends linearly along an axis line A2 from the tip of the force sensor 14. The blade portion 32 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.
[0052] As illustrated in
[0053] The control device 18 controls the operation of the robot 12. As illustrated in
[0054] 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 apparatus 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.
[0055] 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.
[0056] As illustrated in
[0057] On the other hand, the scraper 16 is provided with a tool coordinate system C2. The tool coordinate system C2 is a coordinate system that specifies 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) thereof is arranged at the center of the tip 32a of the blade portion 32 in a state where 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).
[0058] 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.
[0059] 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. In this way, in the present embodiment, the processor 40 functions as a robot controller 52 (
[0060] On the other hand, the force sensor 14 is provided with a sensor coordinate system C3. 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).
[0061]
[0062] 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 acquires forces fin the x-axis direction, the y-axis direction, and the z-axis direction of the sensor coordinate system C3, and the 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 Q1 based on the forces f, the torques , and condition data CD of the scraper 16 at this time.
[0063] The condition 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 acquire the magnitude of the pressing force F (reaction force F) based on the detection data of the force sensor 14.
[0064] Next, the scraping process executed by the robot 12 will be described with reference to
[0065] In the present embodiment, a teaching point TP.sub.2 is set at a position separated rightward from the teaching point TP.sub.1, and the teaching point TP.sub.3 is set at a position separated toward the upper right of the teaching point TP.sub.2. The positions of respective teaching points TP.sub.1 and TP.sub.2 in the z-axis direction of the robot coordinate system C1 are substantially identical to each other. These teaching points TP.sub.n (n=1, 2, 3) are represented by coordinates in the robot coordinate system C1.
[0066] When performing the scraping process, the processor 40 starts a position control and generates a position control command PC.sub.n to move the scraper 16 to a teaching point TP.sub.n by the robot 12. The processor 40 positions the scraper 16 in the order of teaching points TP.sub.1.fwdarw.TP.sub.2.fwdarw.TP.sub.3 by operating each servo motor 34 of the robot 12 according to this position control command PC.sub.n. 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 TP.sub.n.
[0067] In the present embodiment, for ease of understanding, it is assumed that the surface Q of the workpiece W is substantially parallel to the x-y plane of the robot coordinate system C1, and a direction MD of the movement path MP is substantially parallel to the x-z plane of the robot coordinate system C1. A position control command PC.sub.n includes a speed command PC.sub.V_n that specifies a speed V.sub.P_n at which the scraper 16 (i.e., wrist flange 28b of the robot 12) is moved to the teaching point TP.sub.n.
[0068] After starting the position control, the processor 40 moves the scraper 16 to the teaching point TP.sub.1 by operating the robot 12 according to a position control command PC.sub.1. When the tip 32a of the scraper 16 is arranged at the teaching point TP.sub.1, as illustrated in
[0069] When the scraper 16 reaches the teaching point TP.sub.1, 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 target value F.sub.T.
[0070] 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 F.sub.T. The processor 40 then adds the force control command FC to the position control command PC.sub.n to operate the servo motors 34 of the robot 12.
[0071] Accordingly, the processor 40 moves the scraper 16 (or the wrist flange 28b) in the direction MD of the movement path MP according to the position control command PC.sub.n, and moves the scraper 16 in the direction (i.e., the z-axis direction of the robot coordinate system C1) approaching to or separating from the surface Q of the workpiece W according to the force control command FC. The force control command FC includes a speed command FCv specifying the speed at which the scraper 16 is moved in the z-axis direction of the robot coordinate system C1.
[0072] When the scraper 16 reaches the teaching point TP.sub.1, the processor 40 generates a speed command PC.sub.V_2 as a position control command PC.sub.2 to move the scraper 16 to the teaching point TP.sub.2, and generates a speed command FC.sub.V_0 as the force control command FC.
[0073] After the scraper 16 has reached the teaching point TP.sub.1, the processor 40 causes the robot 12 to operate in accordance with the speed command PC.sub.V_2 to move the scraper 16 toward the teaching point TP.sub.2 in the direction MD in a speed V.sub.P_2 corresponding to (specifically, coinciding with) the speed command PC.sub.V_2.
[0074] Along with this, the processor 40 generates the speed command FC.sub.V_0 to control the pressing force F to the target value F.sub.T, and by adding the generated speed command to the speed command PC.sub.V_2 to the servo motors 34, moves the scraper 16 in the direction toward the surface Q (i.e., downward) with a speed V.sub.F_0 corresponding to (specifically, coinciding with) the speed command FC.sub.V_0. As a result, the robot 12 moves the scraper 16 in the direction MD in
[0075]
[0076] Here, when the distances between the teaching point TP.sub.1 and a position P1 in
Z1/x1=FC.sub.V_0/PC.sub.V_2=V.sub.F_0/V.sub.P_2(1)
[0077] Further, the angle 2, the distance x1 and the distance z1, the speed command PC.sub.V_2 (speed V.sub.P_2), and the speed command FC.sub.V_0 (speed V.sub.F_0) satisfy the following equation (2):
2=tan.sup.1(z1/x1)=tan.sup.1(FC.sub.V_0/PC.sub.V_2)=tan.sup.1(V.sub.F_0/V.sub.P_2)(2)
[0078] 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 226.6 degrees. In this case, when the speed V.sub.P_2 (i.e. speed command PC.sub.V_2) is set to 100 mm/sec as the machining condition MC, the speed V.sub.F_0 (i.e., speed command FC.sub.V_0) can be determined as 50 mm/sec from equation (1).
[0079] While the scraper 16 is in contact with the surface Q, the processor 40 moves the scraper 16 in the direction MD (i.e., rightward) according to the position control command PC.sub.2 and generates the speed command FC.sub.V_1 as the force control command FC for controlling the pressing force F to the target value F.sub.T by the force control.
[0080] In accordance with this speed command FC.sub.V_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 V.sub.F_1 corresponding to (specifically, coinciding with) the speed command FC.sub.V_1. Here, the maximum value of the speed command FC.sub.V_1 (i.e., speed V.sub.F_1) generated while the scraper 16 is in contact with the surface Q can be set to be larger than the speed command FC.sub.V_0 (i.e., speed V.sub.F_0) generated before the scraper 16 contacts the surface Q.
[0081] Thus, the scraper 16 is moved rightward along the surface Q while being pressed with the pressing force F of a magnitude corresponding to the target value F.sub.T, thereby the scraping process that scrapes the surface Q by the tip 32a of the scraper 16 is executed.
[0082] Again referring to
[0083] As a result, the scraper 16 moves toward the upper right in the trajectory TR inclined to form an angle 3 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 the teaching point TP.sub.2. Then scraper 16 then reaches the teaching point TP.sub.3.
[0084] Here, when the distance in the x-axis direction of the robot coordinate system C1 between the teaching point TP.sub.2 (or, position P2) and the teaching point TP.sub.3 in
3=tan.sup.1(z2/x3)(3)
[0085] With the scraping process executed in this manner, a recess R that is a curving concave is formed on the surface Q so as to extend rightward from the position P1 to the position P2, as illustrated in
[0086] In
[0087] The processor 40 forms a plurality of recesses R on the surface Q of the workpiece W by repeatedly executing the scraping process as described above. Here, in the present embodiment, the processor 40 determines the positions of the plurality of recesses R to be formed on the surface Q by the scraping process. This function will be described below.
[0088] First, the processor 40 receives an input of shape information SI of the surface Q. As an example of the input of the shape information SI, the operator inputs, by operating the input device 46 of the control device 18, the coordinate P (x, y, z) in the robot coordinate system C1 of each apex of the surface Q and information SID for specifying the shape (quadrangle, octagon, trapezoid, or the like) of the surface Q as the shape information SI.
[0089]
[0090] The operator also inputs, by operating the input device 46, as the information SID for specifying the shape of the surface Q, an order of each apex P11, P12, P13 and P14 to make the processor 40 recognize the order. In the case of the example illustrated in
[0091] Alternatively, the operator may input, as the information SID for specifying the shape, information for specifying an apex as the start point of the shape recognition and information for specifying directions for recognizing the other apexes. For example, in the case of the example illustrated in
[0092] In this case, the processor 40 can recognize the shape of the rectangular surface Q by drawing a virtual line in the order of the apexes P11.fwdarw.P12.fwdarw.P13.fwdarw.P14.fwdarw.P11, with the apex P11 as the start point. Note that counterclockwise direction may be specified as information for specifying the direction for recognizing the other apexes. In this case, the processor 40 recognizes each apex in the order of the apexes P11.fwdarw.P14.fwdarw.P13.fwdarw.P12.fwdarw.P11, with the apex P11 as the start point.
[0093] In the example illustrated in
[0094] In the example illustrated in
[0095] As another example of inputting shape information SI, the operator inputs, by operating the input device 46, the drawing data (CAD data) of the workpiece W from an external apparatus (e.g., a CAD device or an external memory) into the control device 18 as the shape information SI, and inputs information for specifying the positional relationship between a model coordinate system C4 that specifies the position of the drawing data and the robot coordinate system C1.
[0096] Alternatively, when the drawing data of the workpiece W is stored in the memory 42 in advance, the operator may input, by operating the input device 46, information for specifying the drawing data of the workpiece W stored in the memory 42 as the shape information SI and information for specifying the positional relationship between the model coordinate system C4 of the drawing data and the robot coordinate system C1.
[0097] As still another example of inputting the shape information SI, the robot system 10 further includes a vision sensor (not illustrated) that can image an object, and the vision sensor may input, as the shape information SI of the surface Q, the image data imaging the surface Q of the workpiece W into the control device 18. Specifically, the vision sensor is, for example, a three-dimensional vision sensor or a two-dimensional camera, which is attached at a known position in the robot 12 and moved by the robot 12, or fixed at a known position in the robot coordinate system C1. The processor 40 can receive the input of shape information SI (image data) from the vision sensor and acquire the coordinates of the surface Q in the robot coordinate system C1.
[0098] Thus, the processor 40 receives the input of the shape information SI through the input device 46 (or a vision sensor). Consequently, in the present embodiment, the processor 40 functions as an input receiving section 54 (
[0099] The processor 40 also receives the input of pattern information PI that determines how the plurality of recesses R to be formed on the surface Q are arranged on the surface Q. The pattern information PI includes, for example, design information PI1, pitch information PI2, angle information PI3, and offset information PI4. The design information PI1 is information for specifying the type of design for arranging a plurality of recesses R to align in a lattice pattern in a row direction G and a column direction H which are defined on the surface Q.
[0100]
[0101]
[0102] Pitch information PI2 is information for setting a pitch PT.sub.G between two recesses R adjacent to each other in the row direction G and a pitch PT.sub.H between two recesses R adjacent to each other in the column direction H, in the design (e.g., a translational design or a staggered design) specified by the design information PI1.
[0103] In the staggered design illustrated in
[0104] The angle information PI3 is information for setting the angle 4 of the row direction G or column direction H with respect to the reference direction. This angle 4 will be described with reference to
[0105] When the row direction G and the column direction H are defined in this way, the plurality of recesses R are arranged in a lattice pattern to align in the row direction G and column direction H that are inclined by the angle 4 with respect to the reference direction (x-axis direction) as illustrated in
[0106] Once the design type, pitch PT, and angle 4 are determined by the design information PI1, the pitch information PI2, and the angle information PI3, the positional relationship of the plurality of recesses R (specifically, reference points RP) on the surface Q can be uniquely determined. That is, when one recess R is arranged at an arbitrary position on the surface Q, the positions of the other recesses R can be uniquely determined.
[0107] The offset information PI4 is information for setting the offset distance between an end edge O of the surface Q and a recess R. This offset distance indicates the distance by which a recess R is shifted with respect to the adjacent end edge O of the surface Q when the position of the recess R is determined. This offset distance will be described with reference to
[0108] In the example illustrated in
[0109] On the other hand, an offset distance 3 indicates the distance between a left end edge O1 of the surface Q and the midpoint P3 of the recess R adjacent to the left end edge O1. An offset distance 4 indicates the minimum distance between the left end edge O1 and the outer edge of the recess R adjacent to the left end edge O1 (i.e., the distance between the left end edge O1 and the position P1).
[0110] Although not illustrated, the offset distance 1 may specify the distance between the rear end edge O3 (
[0111] The operator inputs, by operating the input device 46 of the control device 18, the design information PI1, the pitch information PI2, the angle information PI3 and the offset information PI4, as the pattern information PI. The processor 40, functioning as the input receiving section 54, receives the input of the pattern information PI through the input device 46. Thus, the processor 40 obtains the shape information SI and the pattern information PI. Note that the processor 40 may cause the display device 48 to display an input screen for inputting the shape information SI or pattern information PI.
[0112] The processor 40 automatically determines the position of each recess R on the surface Q based on the shape information SI and pattern information PI which are received by the input from the operator. This function will be described below. As an example, it is assumed that the shape information of the rectangular workpiece W illustrated in
[0113] In this case, based on the received design information PI1, the pitch information PI2, the angle information PI3 and the offset information PI4, the processor 40 determines the position of the reference point RP of each recess R in the region of the surface Q arranged at a known position in the robot coordinate system C1, and acquires the position data (coordinate) of the reference point RP in the robot coordinate system C1.
[0114] In the example illustrated in
[0115] In this case, in order to determine the positions P1 of the recesses R, the processor 40, for example, determines an initial position P1.sub._1 on the surface Q. The initial position P1.sub._1 can be determined as a position away from the front end edge O2 by the offset distance 1 specified in the offset information PI4 and away from the left end edge O1 by the offset distance 4.
[0116] Once the position of this initial position P1.sub._1 is determined, the processor 40 can automatically determine the other positions P1 as the points aligned in a translational design that satisfies the condition that the points are located within the region of the surface Q and separated from the respective end edges O1, O2, O3 and O4 by the offset distance 1 and 4 or more as specified in the offset information PI4. Thus, as illustrated in
[0117]
[0118]
[0119] Once the initial position P1.sub._1 is determined, the processor 40 can automatically determine the other positions P1 from the pattern information PI. Thus, in the present embodiment, the processor 40 functions as a position determination section 56 (
[0120] As described above, in the present embodiment, the processor 40 functions as the input receiving section 54 and the position determination section 56 to determine the positions (specifically, coordinates of positions P1) of the plurality of recesses R to be formed, by the robot 12, on the surface Q with the scraping process. Thus, the input receiving section 54 and the position determination section 56 constitute a device 60 (
[0121] Next, other functions of the control device 18 will be described with reference to
[0122] The machining condition MC includes dimensional information DI of the recesses R, trajectory control information TI of the scraper 16 moved by the robot 12, and a command CM for causing the robot 12 to execute the scraping process. The dimensional information DI includes, for example, a length x2 (i.e., distance x2 from the position P1 to the position P2), a width y1, and a depth z3 as illustrated in
[0123] The trajectory control information TI specifies, in the scraping process, the angle 2 (
[0124] In addition, the command CM to the robot 12 includes, for example, the above-described position control command PC.sub.n (speed command PC.sub.V_n, or the like) and the force control command FC (speed command FC.sub.V, or the like). The processor 40, functioning as the input receiving section 54, receives the input of the machining condition MC (dimensional information DI, trajectory control information TI, command CM) through the input device 46.
[0125] The processor 40 then automatically generates, based on the machining condition MC received by the input from the operator and the position of the reference point RP (P1, P2 or P3) of one recess R determined by functioning as position determination section 56, the movement path MP of the robot 12 when forming the one recess R. For example, when determining the coordinate (X1, Y1, Z1) of the position P1 of a recess R as position determination section 56, the processor 40 acquires the coordinate (X1+x2, Y1, Z1) of the position P2 (
[0126] Then, the processor 40 acquires the coordinate (X1x1, Y1, Z1+z1) of the teaching point TP.sub.1 in the robot coordinate system C1 from the coordinate of the position P1 and the distances x1 and z1 included in the trajectory control information TI as the machining condition MC. The processor 40 also acquires the coordinate (X1+x2+x3, Y1, Z1+z2) of the teaching point TP.sub.3 in the robot coordinate system C1 from the coordinate of the position P2 and the distances x3 and z2 included in the trajectory control information TI. The processor 40 also acquires the coordinate of the teaching point TP.sub.2 as a coordinate (X1+x2, Y1, Z1+z1) spaced upward by the distance z1 from the position P2.
[0127] Thus, the processor 40 automatically calculates the teaching point TP.sub.n based on the determined position of the recess R, the dimensional information DI (length x2), and the trajectory control information TI (distance x1, z1, x3, z2), and as a result, automatically generates the movement path MP defined by the teaching points TP.sub.n. Consequently, in the present embodiment, the processor 40 functions as a path generation section 58 (
[0128] The processor 40 calculates the teaching point TP.sub.n for each of the plurality of recesses R to be formed and generates the movement path MP. As described above, in the present embodiment, the device 60 includes the input receiving section 54, the position determination section 56, and the path generation section 58. The device 60 allows to eliminate the task of teaching the robot 12 about the teaching point TP.sub.n for each recess R, and automatically create a work program PG for executing the scraping process. Thus, the task involved in launching the robot system 10 can be significantly reduced.
[0129] Note that the machining condition MC may further include information for specifying an order OR in which a plurality of recesses R are formed. In this case, the processor 40 may function as the position determination section 56 to determine, one by one, the positions of the respective reference points RP of the plurality of recesses R according to the order OR.
[0130] According to an example illustrated in
[0131] Next, a method of executing a scraping process in the robot system 10 illustrated in
TABLE-US-00001 TABLE 1 1 MOVE [TP1] 2 MOVE [TP2] 3 MOVE [TP3]
[0132] MOVE[TP1] in the position control program PG1 is a statement for positioning the scraper 16 (or TCP) to the teaching point TP.sub.1. The processor 40 generates the position control command PC.sub.n described above according to the position control program PG1. On the other hand, the teaching point calculation program PG2, as described above, is a computer program for causing the processor 40 to automatically calculate the teaching point TP.sub.n from the position data of the reference point RP (coordinate of the position P1), the dimensional information DI (length x2) and the trajectory control information TI (distances x1, z1, x3, z2).
[0133] Next, referring to
[0134] In step S1, the processor 40 sets the number i identifying the position P1.sub._i of the recess R to be determined to 1. In step S2, the processor 40 determines position of the position P1.sub._i of the i-th recess R. For example, when i=1 is set at the start of this step S2, the processor 40 determines position of the position P1.sub._1 (
[0135] In step S3, the processor 40, functioning as the path generation section 58, calculates the teaching point TP.sub.n for the recess R having the i-th position P1.sub._i. Specifically, the processor 40 reads the teaching point calculation program PG2 and automatically calculates the teaching point TP.sub.n (n=1, 2, 3) for forming the recess R having the i-th position P1.sub._i by applying the coordinate of the position P1.sub._i determined in the most recent step S2 and the dimensional information DI (length x2) and the trajectory control information TI (distances x1, z1, x3, z2) to the teaching point calculation program PG2. Thus, the movement path MP (
[0136] In step S4, the processor 40 starts position control of the robot 12. Specifically, the processor 40 sequentially reads the statements specified in the position control program PG1 indicated in Table 1 above and generates a position control command PC.sub.n to move the scraper 16 to the teaching point TP.sub.n, specified in the statement.
[0137] At this time, the processor 40 respectively applies the coordinate in the robot coordinate system C1 of the teaching points TP.sub.1, TP.sub.2, and TP.sub.3 calculated in the most recent step S3 to [TP1], [TP2], and [TP3] in the position control program PG1. Thus, the processor 40 operates the robot 12 according to the position control program PG1 and starts position control to position the scraper 16 in the order of teaching points TP.sub.1.fwdarw.TP.sub.2.fwdarw.TP.sub.3 calculated in the most recent step S3.
[0138] In step S5, the processor 40 determines whether the scraper 16 has reached the teaching point TP.sub.1. For example, the processor 40 can acquire the position of the scraper 16 in the robot coordinate system C1 based on a feedback FB from the rotation detector (encoder, Hall element, or the like) provided in each servo motor 34 of the robot 12, and from the acquired position, the processor 40 can determine whether the scraper 16 has reached the teaching point TP.sub.1. When determining that the scraper 16 has reached the teaching point TP.sub.1 (i.e., YES), the processor 40 proceeds to step S6, while when determining that the scraper 16 has not reached the teaching point TP.sub.1 (i.e., NO), loops step S5.
[0139] In step S6, the processor 40 starts the force control described above. As a result, the scraper 16 moves toward the surface Q in the trajectory TR inclined to form an angle 2 with respect to the surface Q and contacts the surface Q at the position P1, as illustrated in
[0140] In step S8, the processor 40 terminates force control. As a result, the scraper 16 moves toward the upper right in the trajectory TR inclined to form an angle 3 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 the position P2. In step S9, the processor 40 determines, based on the feedback FB, whether the scraper 16 has reached the teaching point TP.sub.3. When determining YES, the processor 40 proceeds to step S10, while when determining NO, loops step S9.
[0141] In step S10, the processor 40 terminates position control. In step S11, the processor 40 increments the number i identifying the position P1.sub._i of the i-th recess R by 1 (i=i+1). In step S12, the processor 40 determines whether the number i identifying the position P1.sub._i of the i-th recess R becomes i>i.sub.MAX.
[0142] This maximum value i.sub.MAX specifies the number of the recesses R (i.e., the number of times to execute scraping process) to be formed on the surface Q and can be included in the information of the order OR as the machining condition MC. When determining i>i.sub.MAX (i.e., YES), the processor 40 stops the operation of the robot 12 and terminates the flow illustrated in
[0143] Thus, the processor 40 repeatedly executes the loop of steps S2 to S12 until determining YES in step S12, determines the position P1.sub._i of the recess R in order according to the order OR, for example, as illustrated in
[0144] As described above, in the present embodiment, the processor 40 can automatically determine the position of the recess R and automatically generate the work program PG by automatically calculating the teaching point TP.sub.n. Thus, the task of creating the work program PG can be greatly simplified.
[0145] In the present embodiment, the processor 40 updates the position data of the teaching point TP.sub.n (i.e., the statements [TP1], [TP2], and [TP3]) specified in the position control program PG1 every time the scraping process is executed. According to this configuration, one register for storing the teaching point TP.sub.n is provided in the memory 42, and the teaching point TP.sub.n is sequentially updated in the one register. Thus, the teaching points TP.sub.n for all recesses R do not need to be stored in the memory 42, thereby saving the capacity of the memory 42 used.
[0146] Next, with reference to
[0147] In the present embodiment, it is assumed that the operator inputs the shape information SI of the octagonal surface Q illustrated in
[0148] In this case, the processor 40 defines the coordinate (X.sub.21, Y.sub.21) of the start point P21 in the x-y plane of the robot coordinate system C1 by using the offset distance specified in the offset information PI4, as (X.sub.21, Y.sub.21)=(X.sub.+4, Y.sub.601). Thus, the start point P21 is set at a position displaced by the offset distance 4 rightward from the apex P11 and displaced by the offset distance 1 backward from the apex P12.
[0149] The processor 40 then determines the position of the reference point RP of the initial recess R as the start point P21. For example, when the position P1 of the recess R is used as the reference point RP, the processor 40 determines the coordinate (X1.sub._1, Y.sub._1) of the position P1.sub._1 of the initial recess R as (X1.sub._1, Y.sub._1)=(X.sub.21, Y.sub.21)=(X.sub.+4, Y.sub.1). As a result, the initial position P1.sub._1 is determined as the start point P21 as illustrated in
[0150] In step S22, the processor 40 determines whether the entire area of the virtual occupied region R corresponding to the most recently determined position P1.sub._i is within the region of the surface Q. Here, the virtual occupied region R can be estimated from the length x2 and width y1 of the recess R included in the dimensional information DI.
[0151] Thus, the processor 40 can acquire the position (coordinate) in the robot coordinate system C1 of the virtual occupied region R corresponding to the position P1.sub._i, from the dimensional information DI (Length x2, width y1) and the coordinate of the determined position P1.sub._i. The processor 40 can then determine, from the position of the virtual occupied region R acquired and the shape information SI of the surface Q, whether at least a part of the virtual occupied region R protrudes outward from the end edge of the surface Q.
[0152] When determining that the entire area of the virtual occupied region R is within the region of the surface Q (i.e., YES), the processor 40 proceeds to step S27, while when determining that at least a part of the virtual occupied region R protrudes outside the region of the surface Q (i.e., NO), cancels the position P1.sub._i of the recess R determined most recently (e.g., erase from the memory 42) and proceeds to step S23.
[0153] In step S23, the processor 40 determines the position of the recess R in the next column. For example, when the processor 40 has executed step S21 just before this step S23, the processor 40 determines the position P1.sub._2 of the next recess R to be in the position which is shifted in the column direction H by the pitch PT.sub.H specified in the pitch information PI2 from the position P1.sub._1 determined in the just before step S21.
[0154] That is, the processor 40 determines the coordinate (X1.sub._2, Y1.sub._2) of the position P1.sub._2 of the next recess R, as (X1.sub._2, Y1.sub._2)=(X1.sub._1, Y1.sub._1PT.sub.H)=(X.sub.+4, Y.sub.1PT.sub.H). As a result, as illustrated in
[0155] The processor 40 determines the coordinate (X1.sub._i, Y1.sub._i) of the position P1.sub._i of the i-th recess R, as (X1.sub._i, Y1.sub._i)=(X1.sub._i1, Y1.sub._i1PT.sub.H) by using the coordinate (X1.sub._i1, Y1.sub._i1) of the position P1.sub._i1 of the i1-th recess R and the pitch PT.sub.H, by repeatedly executing step S23 until determining YES in step S24 described later.
[0156] Thus, as illustrated in
[0157] In step S24, it is determined whether the i-th position P1.sub._i determined in the most recent step S23 exceeds the end point P22 in the y-axis direction. Here, it is assumed that the y coordinate of the rear edge point (in the present embodiment, apexes P16 and P17) of the surface Q is Y.sub.. In this case, the end point P22 is defined as the point of the coordinate (X, Y.sub.) (in other words, a point on a virtual line passing through the apexes P16 and P17).
[0158] In this step S24, the processor 40 determines that when the y coordinate Y1.sub._i of the most recently determined position P1.sub._i satisfies Y1.sub._iY.sub., the position P1.sub._i has exceeded the end point P22 (i.e., YES). The processor 40 then cancels (e.g., erase from the memory 42) the most recently determined position P1.sub._i and proceeds to step S25.
[0159] On the other hand, when Y1.sub._i>Y.sub. is satisfied, the processor 40 determines NO and returns to step S22. For example, in the case of the example illustrated in
[0160] In step S25, the processor 40 determines the position of a recess R in the next row. For example, it is assumed that in the most recent step S23, the position P1.sub._i of the rear end of the first row illustrated in
[0161] That is, the processor 40 determines the coordinate (X1.sub._i+1, Y1.sub._i+1) of the position P1.sub._i+1 of the recess R in the second row as (X1.sub._i+1, Y1.sub._i+1)=(X1.sub._1+PT.sub.G, Y1.sub._1). As a result, as illustrated in
[0162] In step S26, the processor 40 determines whether the i-th position P1.sub._i determined in the most recent step S25 has exceeded the end point P23 in the x-axis direction. An example of the end point P23 is illustrated in
[0163] In this step S26, the processor 40 determines that when the x coordinate X1.sub._i of the most recently determined position P1.sub._i satisfies X1.sub._iX.sub., the position P1.sub._i has exceeded the end point P23 (i.e., YES). The processor 40 then cancels (e.g., erase from the memory 42) the most recently determined position P1.sub._i and terminates the flow illustrated in
[0164] On the other hand, when X1.sub._i<X.sub. is satisfied, the processor 40 determines NO and proceeds to step S22. For example, in the case of the example illustrated in
[0165] When determining YES in step S22, the processor 40 executes in step S27 the scraping process based on the most recently determined position P1.sub._i. This step S27 is illustrated in
[0166] After the start of step S27, the processor 40, in step S3, calculates the teaching point TP.sub.n based on the machining condition MC for which the input has been received, and the most recently determined position P1.sub._i, and executes steps S4 to S10 based on the teaching point TP.sub.n to form, by the scraping process, the recess R extending from the position P1.sub._i to the position P2.sub._i by the distance x2.
[0167] As described above, the processor 40 determines the position P1.sub._i corresponding to the virtual region R illustrated in
[0168] In the present embodiment, since the start point P21 (
[0169] It will be recognized that the flow illustrated in
[0170] In the flow illustrated in
[0171] Note that the pattern information PI may further include a position cancel condition CC for defining whether to cancel the determined position when a part of the virtual occupied region R of the recess R whose position has been determined by the processor 40 protrudes outward from the end edge O of the surface Q. This position cancel condition CC will be described with reference to
[0172] As in step S22 above, the processor 40 can acquire the position (coordinate) in the robot coordinate system C1 of the virtual occupied region R corresponding to the position P1.sub._6 from the dimensional information DI (length x2, width y1) and the coordinate of the determined position P1.sub._6, and determine, from the position in the virtual occupied region R and the shape information SI of the surface Q, whether a part of the virtual occupied region R corresponding to the position P1.sub._6 protrudes outward from the end edge O1, O2, O3 or O4 of the surface Q.
[0173] The position cancel condition CC determines whether to cancel the determined position P1.sub._i when a part of the virtual occupied region R corresponding to the determined position P.sub._i protrudes outward from the end edge O1, O2, O3 or O4 of the surface Q. For example, when a condition is set, as the position cancel condition CC, to cancel the position P1.sub._i in the case where the virtual occupied region R protrudes from the end edge O1, O2, O3 or O4 of the surface Q, the processor 40 cancels the determined position P1.sub._i and determines the next position P1.sup._i+1 as with a case where it is determined NO in the step S22 described above. That is, in the example illustrated in
[0174] On the other hand, when a condition is set, as the position cancel condition CC, that the position P1.sub._i is not canceled when the virtual occupied region R protrudes from the end edge O1, O2, O3 or O4 of the surface Q, the processor 40 holds the position data of the determined position P1.sub._i in the memory 42 and executes the scraping process to form the recess R having the position P1.sub._i.
[0175] Here, when the recess R having the position P1.sub._6 in
[0176] On the other hand, when a line L (i.e., the trajectory TR of the tip 32a while the tip 32a is in contact with the surface Q) connecting the position P1 and the position P2 of the recess R to be formed is substantially orthogonal to the end edge O1, O2, O3 or O4 of the surface Q, the stress concentration that occurs at the end edge O1, O2, O3 or O4 when the recess R is formed by the scraping process can be mitigated. For example, in the case of the example in
[0177] In such a case, the formation of this recess R may not cause the depth z3 to be excessive, and thus it may not be necessary to cancel the determined position P1.sub._i. Consequently, the operator can allow the recess R to be formed by setting the position cancel condition CC to not cancel the determined position P1.sub._i when the line L is substantially orthogonal to the end edge O1, O2, O3 or O4.
[0178] In this case, when determining the position P1.sub._i, the processor 40 determines whether the line L connecting the positions P1.sub._i and the position P2.sub._i is orthogonal to the end edge O1, O2, O3 or O4. The position cancel condition CC may be set as a condition that the position P1.sub._i of the determined recess R is canceled only when the line L connecting the position P1 and the position P2 is not orthogonal to the end edge O1, O2, O3 or O4.
[0179] Thus, the present embodiment enables the operator, by inputting the position cancel condition CC through the input device 46, to arbitrarily select whether to cancel the position P1.sub._i and not execute the scraping process, or to hold the position P1.sub._1 and execute the scraping process when a part of the virtual occupied region R corresponding to the position P1.sub._i determined by the position determination section 56 protrudes outward from the end edge O.
[0180] The position cancel condition CC may be set as a condition that the determined position P1.sub._i is canceled, when the protrusion amount PA by which the virtual occupied region R corresponding to the determined position P1.sub._i protrudes outward from the end edge O of the workpiece W, exceeds a predetermined threshold value PA.sub.th. For example, in the example illustrated in
[0181] Alternatively, the protrusion amount PA may be defined as the volume of the region J or the area of the region J in the x-y plane of the robot coordinate system C1. When determining the position P1.sub._i, the processor 40 calculates the protrusion amount PA from the position of the virtual occupied region R in the robot coordinate system C1 and the shape information SI of the surface Q, and determines whether the protrusion amount PA exceeds the threshold value PA.sub.th (PAPA.sub.th). According to the position cancel condition CC, the processor 40 cancels the determined position P1.sub._i only when the protrusion amount PA exceeds the threshold value PA.sub.th.
[0182] The pattern information PI may further include at least one of machining region setting information MI, which sets a machining region ME where the scraping process is to be executed on the surface Q, and non-machining region setting information NI, which sets a non-machining region NE where the scraping process is not to be executed on the surface Q. The machining region ME and the non-machining region NE will be described below with reference to
[0183] In the example illustrated in
[0184] On the other hand, in the example illustrated in
[0185] The operator inputs the machining region setting information MI or the non-machining region setting information NI as the pattern information PI. For example, as the machining region setting information MI or the non-machining region setting information NI, the operator inputs the coordinate in robot coordinate system C1 of each apex P31, P32, P33 and P34 of a polygon that defines the machining region ME or the non-machining region NE and information SI.sub.D that specifies the shape of the polygon, as illustrated in
[0186] The information SI.sub.D specifying the shape, like the information SI.sub.D described above, includes an order of (e.g., clockwise direction or counterclockwise direction), for example, the apexes 31, P32, P33 and P34 to be recognized. Alternatively, when the machining region ME or non-machining region NE is circular, the operator may input the coordinate of the center point and the diameter of the circle as the machining region setting information MI or the non-machining region setting information NI.
[0187] The processor 40 refers to the machining region setting information MI to set the machining region ME in the robot coordinate system C1, and functions as the position determination section 56 to determine the positions of the recesses R (the positions of the reference points RP) in the machining region ME that is set. As a result, the positions of the recesses R are determined in the machining region ME, as illustrated in
[0188] Alternatively, the processor 40 refers to the non-machining region setting information NI to set the non-machining region NE in the robot coordinate system C1, and functions as the position determination section 56 to determine the positions of the recesses R (e.g., position P1) avoiding the non-machining region NE that is set. As a result, the positions of the recesses R are determined in a region other than non-machining region NE on the surface Q, as illustrated in
[0189] The offset information PI4 described above may further include information for setting an offset distance between the boundary line of the machining region ME or non-machining region NE and the recess R. In this case, the processor 40 determines the position of the recess R as a position apart from the boundary line of the machining region ME or the non-machining region NE by the offset distance .
[0190] In addition, the processor 40 may determine the position of the recess R such that the distance between the corresponding virtual occupied region R and the end edge O is the offset distance 2 or 4 or more when receiving the input of the length x2 and width y1 of the recess R as the dimensional information DI of the machining condition MC and the input of the offset distances 2 and 4 (
[0191] The processor 40 may automatically determine other parameters in the machining condition MC according to some parameters of the machining condition MC for which the input has been received from the operator. For example, it is assumed that the operator inputs, as the machining condition MC, the dimensional information DI as x1=10 mm and z1=5 mm, and the command CM as the speed command PC.sub.V_2 (speed V.sub.P_2)=100 mm/sec. In this case, the processor 40 can automatically determine the speed command FC.sub.V_0 (speed V.sub.F_0) as the machining condition MC from the input data of the machining condition MC and the above equations (1) and (2), as FC.sub.V_0=50 mm/sec
[0192] The machining condition MC described above may further include the target value F.sub.T of the pressing force F. Additionally, as for the machining condition MC, a data table DT1, in which at least two of the dimensional information DI (length x2, width y1, and depth z3), the trajectory control information TI (distance x1, z1, x3 and z2), the command CM (position control command PC.sub.n and force control command FC) and the target value F.sub.T of force control are stored in association with each other, may be stored in the memory 42. As an example, it is assumed that the operator inputs the depth z3 as the dimensional information DI of the machining condition MC. In this case, the processor 40 may automatically set the target value F.sub.T corresponding to the input depth Z3 by retrieving from the data table DT1.
[0193] In the above embodiment, as illustrated in
[0194] In the example illustrated in
[0195] In this trajectory TR, the distance x2 in the x-axis direction of the robot coordinate system C1 between the position P1 and the teaching point TP.sub.2 becomes smaller than the length x2 of the recess R formed. This distance x2 is a parameter that has a high degree of correlation with the length x2 and can be included in the dimensional information DI. In addition, the distance x3 in the x-axis direction of the robot coordinate system C1 between the position P2 and the trajectory end point P4 (or teaching point TP.sub.3) becomes smaller than the distance x3 between the teaching point TP.sub.2 and the teaching point TP.sub.3.
[0196] Furthermore, the distance z2 in the z-axis direction of the robot coordinate system C1 between the position P2 and the trajectory end point P4 becomes smaller than the distance z2 between the position P2 and the teaching point TP.sub.3. The distances x3 and z2 as the trajectory control information TI are parameters that have a high degree of correlation with the distances x3 and z2 of the actual trajectory TR, and the distances x3 and z2 can be included in the trajectory control information TI together with the distances x3 and z2.
[0197] The trajectory TR illustrated in
[0198] When the processor 40 determines the coordinate (X1, Y1, Z1) of the position P1 of the recess R in the above steps S2, S21, S23 or S25, the processor 40 acquires the coordinate of the teaching point TP.sub.2 as a coordinate (X1+x2, Y1, Z1+z1) and the coordinate of the teaching point TP.sub.3 as a coordinate (X1+x2+x3, Y1, Z1+z2) in the above step S3 according to the teaching point calculation program PG2. Thus, the processor 40 can automatically calculate the teaching point TP.sub.n defining the movement path MP based on the dimensional information DI and the trajectory control information TI.
[0199] In the example illustrated in
[0200] In this case, the operator may input the length x2 of the recess R as the dimensional information DI, and the processor 40 may retrieve, from the data table DT2, the distances x2, x3 and z2 (or teaching point position data) corresponding to the input length x2, and automatically calculate the position of the teaching point TP.sub.n in the robot coordinate system C1 from the distance x2, x3 and z2 (or teaching point position data) and the position of the recess R (position P1) determined by functioning as the position determination section 56. This data table DT2 can be created, for example, by attempting the scraping process at a predetermined machining condition MC and the teaching point TP.sub.n by experimental methods or simulation.
[0201] Alternatively, a data table DT2, in which the length x2, distances x3 and z2 and distances x2, x3 and z2 (or teaching point position data) are stored in association with each other, may be stored in the memory 42. In this case, the operator may input the length x2 of the recess R as the dimensional information DI and the distances x3 and z2 as the trajectory control information TI.
[0202] The processor 40 may then retrieve, from the data table DT2, distances x2, x3 and z2 (or teaching point position data) corresponding to the lengths x2, x3 and z2, and automatically calculate the position of the teaching point TP.sub.n in the robot coordinate system C1 from the distances x2, x3 and z2 (or teaching point position data) and the position of the recess R (position P1) determined by functioning as position determination section 56.
[0203] Note that the row direction G and column direction H are not limited to the illustrated examples, and may be set in any direction with respect to the surface Q. In the flow illustrated in
[0204] Furthermore the design that can be specified in the design information PI1 is not limited to the translational design and staggered design described above, but may have any other design, such as, for example, an X-shaped design in which another recess R is superimposed on one recess R in an X-shape, or a random design in which the recesses R are randomly arranged on the surface Q by using a random number table or the like.
[0205] In the above embodiment, the case where the reference point RP indicating the position of the recess R is set to the position P1, is described. However, not limited to this, for example, the position P2 or midpoint P3 may be used as the reference point, or any point whose position with respect to the recess R is known may be used.
[0206] In the above embodiment, the case where the processor 40 determines the position of the recess R as the coordinate of the robot coordinate system C1, is described. However, not limited to this, the processor 40 may determine, for example, as a coordinate of any other coordinate systems, such as a workpiece coordinate system set for the workpiece W, a world coordinate system specifying the three-dimensional space of the work cell, or a user coordinate system set arbitrarily by the operator. Although the present disclosure has been described through the embodiments, the above-described embodiments do not limit the invention claimed in the claims.
REFERENCE SIGNS LIST
[0207] 10: Robot system [0208] 12: Robot [0209] 16: Scraper [0210] 18: Control device [0211] 40: Processor [0212] 52: Robot controller [0213] 54: Input receiving section [0214] 56: Position determination section [0215] 58: Path generation section [0216] 60: Device