Molding system provided with molding machine and molded article removal device
10343318 ยท 2019-07-09
Assignee
Inventors
Cpc classification
B29C37/0007
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1664
PERFORMING OPERATIONS; TRANSPORTING
B29C45/7626
PERFORMING OPERATIONS; TRANSPORTING
B29C45/14032
PERFORMING OPERATIONS; TRANSPORTING
B29C45/4225
PERFORMING OPERATIONS; TRANSPORTING
International classification
B29C45/42
PERFORMING OPERATIONS; TRANSPORTING
B29C45/14
PERFORMING OPERATIONS; TRANSPORTING
B29C37/00
PERFORMING OPERATIONS; TRANSPORTING
B25J9/04
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A molding system capable of performing highly accurate work on a molded article with a molded article removal device. The molding system includes a molding machine, a molded article removal device capable of removing a master work installed in a mold of the molding machine, a measurement section configured to measure a position of the master work when the master work is removed by the molded article removal device, a displacement calculation section configured to calculate a difference between a reference position and a detected position of the master work measured by the measurement section as a displacement, and a correction section configured to, on the basis of the displacement calculated by the displacement calculation section, correct a work position for when the molded article removal device performs work on a molded article.
Claims
1. A molding system, comprising: a molding machine in which a mold is installed; a molded article removal device capable of removing a master work attached to the mold; a measurement section configured to: measure, as a reference position, a position of the master work held by the molded article removal device when the molded article removal device removes the master work attached to a mold installed at a predetermined suitable position with respect to the molding machine and is arranged at a predetermined measurement position; and measure, as a detected position, a position of the master work held by the molded article removal device when the molded article removal device removes the master work attached to a mold installed in the molding machine after measuring the reference position and removing the mold installed at the suitable position from the molding machine, and is arranged at the measurement position; a displacement calculation section configured to calculate a difference between the reference position and the detected position measured by the measurement section, as a displacement amount; and a correction section configured to correct a work position in a molded article molded by the molding machine with the mold installed in the molding machine after measuring the reference position, based on the displacement amount calculated by the displacement calculation section, the work position being a position where the molded article removal device carries out a work on the molded article.
2. The molding system of claim 1, wherein the molded article removal device repeatedly carries out removing the master work attached to the mold, after the measurement section measures the reference position, wherein the measurement section measures the detected position each time the molded article removal device removes the master work attached to the mold, wherein the displacement calculation section calculates the displacement amount each time the measurement section measures the detected position, wherein the molding system further comprising: a displacement difference calculation section configured to calculate a displacement difference which is a difference between a first displacement amount calculated by the displacement calculation section and a second displacement amount calculated by the displacement calculation section prior to the first displacement amount; and a determination section configured to determine whether the displacement difference calculated by the displacement difference calculation section is equal to or less than a predetermined threshold value.
3. The molding system of claim 1, wherein the correction section corrects a removal position as the work position where the molded article removal device removes the molded article in the mold, based on the displacement amount.
4. The molding system of claim 1, wherein the correction section corrects an insertion position as the work position where the molded article removal device inserts an insert part into the molded article in the mold, based on the displacement amount.
5. The molding system of claim 1, wherein the molded article removal device is a robot.
6. The molding system of claim 1, wherein the measurement section includes an imaging section capable of imaging the master work.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The above-described or other objects, features and advantages of the invention will become more apparent from the following description of the embodiments in connection with the accompanying drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
DETAILED DESCRIPTION
(23) Below, embodiments of the invention are described in detail with reference to the drawings. Note that, in the various embodiments described below, similar elements are assigned the same reference numerals, and repetitive descriptions thereof will be omitted. Herein, the robot coordinate system C.sub.R in
(24) First, a molding system 10 according to an embodiment will be described with reference to
(25) The molding machine 12 is e.g. an injection molding machine or a die cast molding machine, and includes a mold installation portion 20 and a mold 22.
(26) The mold 22 is formed with a cavity 26 into which material such as resin is injected. The molding machine 12 fills the cavity 26 of the mold 22 with the material, and molds a molded article. In this embodiment, the cavity 26 is a space having a hexagonal prism shape.
(27) The robot 14 is a vertical articulated robot, and includes a robot base 28, a revolving drum 30, a robot arm 32, a wrist 34, and an end effector 36. The robot base 28 is fixed on a floor of a work cell. The revolving drum 30 is mounted on the robot base 28 so as to be able to revolve about a vertical axis.
(28) The robot arm 32 includes an upper arm 38 rotatably coupled to the revolving drum 30 and a forearm 40 rotatably coupled to a distal end of the upper arm 38. The wrist 34 is attached to a distal end of the forearm 40, and supports the end effector 36 so as to be rotatable about three axes.
(29) In this embodiment, the end effector 36 includes an adsorption surface 36a (not illustrated), and is able to adsorb and hold a master work 54 and a molded article described below by the adsorption surface 36a.
(30) The adsorption surface 36a is composed of e.g. an air suction device, an electromagnet, or a sucker. Alternatively, the end effector 36 may include a gripper (not illustrated) able to grip an insert part described below, wherein the gripper may be a robot hand including openable and closeable fingers.
(31) The robot 14 includes a plurality of servomotors 42 (
(32) The robot coordinate system C.sub.R is set as an automatic control-coordinate system for controlling the components of the robot 14. The robot controller 18 operates the components of the robot 14 with reference to the robot coordinate system C.sub.R. For example, the z-axis of the robot coordinate system C.sub.R is arranged parallel with the vertical direction of real space, and the revolving drum 30 is rotated about the z-axis of the robot coordinate system C.sub.R.
(33) On the other hand, a tool coordinate system C.sub.T is set for the end effector 36. The tool coordinate system C.sub.T is an automatic control-coordinate system which defines the position and orientation of the end effector 36 in the robot coordinate system C.sub.R.
(34) For example, the tool coordinate system C.sub.T is set such that the origin of the tool coordinate system C.sub.T is arranged at the center of the adsorption surface 36a of the end effector 36, and the z-axis of the tool coordinate system C.sub.T is orthogonal to the adsorption surface 36a.
(35) The robot controller 18 operates the revolving drum 30, the robot arm 32, and the wrist 34 in the robot coordinate system C.sub.R so as to match the position and orientation of the end effector 36 with those defined by the tool coordinate system C.sub.T. In this way, the end effector 36 is positioned at any position and orientation in the robot coordinate system C.sub.R.
(36) The measurement section 16 is e.g. a vision sensor, and includes an imaging section capable of imaging an article. The imaging section includes an imaging element such as a charge-coupled device (CCD) or complementary metal oxide semiconductor (CMOS) sensor. The measurement section 16 images an article and sends the image data thereof to the robot controller 18 in accordance with a command from the robot controller 18. Note that, the function of the measurement section 16 will be described below.
(37) The robot controller 18 directly or indirectly controls each component of the robot 14. Specifically, as illustrated in
(38) The CPU 44 is communicably connected to the storage 46, the I/O interface 48, and the drive section 50 via a bus 52, and carries out various processes described below while communicating with these components.
(39) The storage 46 includes an electrically erasable/recordable nonvolatile memory such as EEPROM (registered trademark), and stores constants, variables, setting values, programs, and the like necessary for the CPU 44 to execute the various processes such that these data are not lost when the molding system 10 is shut down.
(40) Additionally, the storage 46 includes a RAM such as DRAM or SRAM capable of high-speed reading/writing, and temporarily stores data necessary for the CPU 44 to execute the various processes. Further, the constants, variables, setting values, parameters, programs, and the like stored in the nonvolatile memory are appropriately loaded onto the RAM, and the CPU 44 uses the data loaded onto the RAM to execute the various processes.
(41) The I/O interface 48 is communicably connected to the measurement section 16, and receives data from the measurement section 16 in accordance with a command from the CPU 44. The I/O interface 48 may be constituted by e.g. an ethernet port or a USB port, and communicate with the measurement section 16 via wired communication. Alternatively, the I/O interface 48 may communicate with the measurement section 16 via Wi-Fi or wireless LAN by wireless communication.
(42) The drive section 50 drives each servomotor 42 built in the robot 14 in accordance with a command from the CPU 44. Specifically, the drive section 50 includes e.g. an inverter or servo amplifier, and sends a command (speed command, torque command, etc.) to each servomotor 42 so as to drive the servo motor 42.
(43) The molding system 10 evaluates a displacement amount of the position of the mold 22 installed in the mold installation portion 20 from a suitable position, with using the master work 54 (
(44) More specifically, the master work 54 includes a front surface 56, a rear surface 58 opposite the front surface 56, and a side surface 60 extending between the front surface 56 and the rear surface 58. Each of the front surface 56 and the rear surface 58 has a shape of a hexagon coinciding with the cavity 26. The side surface 60 is a tubular surface of hexagonal prism shape, and extends over the circumference of the master work 54.
(45) Next, the operation of the molding system 10 will be described. When the molding system 10 is operated, a reference position measuring flow illustrated in
(46) For example, the suitable position is determined as a position of the mold 22 with respect to the mold installation portion 20 in which the upper surface of the mold 22 is horizontal when the mold 22 is installed in the mold installation portion 20.
(47) In step S2, the user or the robot 14 fits the master work 54 into the cavity 26 of the mold 22 installed at the suitable position. At this time, the master work 54 is fit into the cavity 26 such that the rear surface 58 of the master work 54 faces a bottom surface of the cavity 26, and the front surface 56 of the master work 54 faces the outside. This state is illustrated in
(48) In this embodiment, when the master work 54 is fit into the cavity 26 as illustrated in
(49) In step S3, the CPU 44 of the robot controller 18 carries out a master work removal operation of removing the master work 54 from the mold 22. Specifically, the CPU 44 operates the robot 14 as described below in accordance with a robot program.
(50) First, the CPU 44 sets the tool coordinate system C.sub.T as illustrated in
(51) Further, the z-axis of the tool coordinate system C.sub.T is orthogonal to the front surface 56 of the master work 54 (i.e., the x-z plane of the robot coordinate system C.sub.R). Further, a projection point of one corner A of the master work 54 when the corner A is projected on the x-y plane of the tool coordinate system C.sub.T is arranged on the x-axis of the tool coordinate system C.sub.T.
(52) Then, the CPU 44 sends a command to each servomotor 42 built in the robot 14 through the drive section 50 so as to arrange the end effector 36 at a position and orientation defined by the tool coordinate system C.sub.T illustrated in
(53) When the end effector 36 is arranged at the position and orientation defined by the tool coordinate system C.sub.T illustrated in
(54) Then, the CPU 44 operates the end effector 36 so as to adsorb the front surface 56 of the master work 54 by the adsorption surface 36a. Then, the CPU 44 sets the tool coordinate system C.sub.T as illustrated in
(55) In the example illustrated in
(56) Then, the CPU 44 sends a command to each servomotor 42 through the drive section 50 so as to arrange the end effector 36 at a position and orientation defined by the tool coordinate system C.sub.T illustrated in
(57) As a result, the end effector 36 and the master work 54 are disposed upward of the measurement section 16, as illustrated in
(58) The robot program is constructed by teaching the above-mentioned master work removal operation to the robot 14, and is pre-stored in the storage 46. The robot program includes a command to be sent to each servomotor 42 from the CPU 44 in order to carry out the master work removal operation.
(59) Thus, in this embodiment, the robot 14 functions as a molded article removal device configured to remove the master work 54 attached to the mold 22.
(60) In step S4, the CPU 44 operates the measurement section 16 so as to measure a reference position of the master work 54. Specifically, the CPU 44 sends a position-measurement command to the measurement section 16. The measurement section 16 images the master work 54 in the state illustrated in
(61) An example of the image imaged by the measurement section 16 is illustrated in
(62) The CPU 44 receives the image 62 via the I/O interface 48, and stores in the storage 46 the position of the master work 54 in the image 62 as the reference position. In this way, the measurement section 16 measures the reference position of the master work 54 by imaging the master work 54 held by the robot 14.
(63) After the flow illustrated in
(64) In order to address this, the molding system 10 according to this embodiment calculates such a displacement amount from the suitable position by comparing the position of the mold 22 with the reference position of the master work 54 acquired in the above-described step S4.
(65) Then, on the basis of the calculated displacement amount, the molding system 10 corrects the work position in the molded article where the robot 14 carries out a work on the molded article molded by the molding machine 12 with the mold 22.
(66) The work position correction operation will be described below with reference to
(67) In step S21, the user fixes the mold 22 in the mold installation portion 20. Below, a case is described where the mold 22 is fixed in the mold installation portion 20 in a skewed manner as illustrated in
(68) In step S22, the user or the robot 14 fits the master work 54 into the cavity 26 of the mold 22 illustrated in
(69) Specifically, the CPU 44 sets the tool coordinate system C.sub.T such that the position of the origin and the axial directions thereof are the same as those illustrated in
(70) As illustrated in
(71) Then, the CPU 44 sends a command to each servomotor 42 built in the robot 14 through the drive section 50 so as to arrange the end effector 36 at a position and orientation defined by the tool coordinate system C.sub.T illustrated in
(72) When the end effector 36 is arranged at the position and orientation defined by the tool coordinate system C.sub.T illustrated in
(73) Then, the CPU 44 operates the end effector 36 so as to adsorb the front surface 56 of the master work 54 by the adsorption surface 36a. Then, the CPU 44 sets the tool coordinate system C.sub.T such that the position of the origin and the axial directions thereof are the same as those illustrated in
(74) Then, the CPU 44 sends a command to each servomotor 42 through the drive section 50 so as to arrange the end effector 36 at a position and orientation defined by the set tool coordinate system C.sub.T.
(75) As a result, as illustrated in
(76) In step S24, the CPU 44 operates the measurement section 16 so as to measure the position of the master work 54. Specifically, the CPU 44 sends a position-measurement command to the measurement section 16. When receiving the position-measurement command from the CPU 44, the measurement section 16 images the master work 54 held by the end effector 36 as illustrated in
(77) An example of the image imaged by the measurement section 16 at this time is illustrated in
(78) As illustrated in
(79) For example, if the image 64 is represented as coordinates in the x-y plane of the tool coordinate system C.sub.T, the center of the reference position 54 is defined as the origin (0, 0). On the other hand, the coordinates of the center O of the master work 54 are (x.sub.1, y.sub.1). Accordingly, the distance is (x.sub.1.sup.2+y.sub.1.sup.2).sup.1/2.
(80) Further, an angle about the z-axis of the tool coordinate system C.sub.T is formed between an imaginary line D.sub.D, which connects the center O and the corner A of the master work 54, and the x-axis of the tool coordinate system C.sub.T (i.e., the imaginary line that connects the center and the corner A of the reference position 54).
(81) The measurement section 16 sends the captured image 64 to the I/O interface 48. The CPU 44 receives the image 64 via the I/O interface 48, and stores in the storage 46 the position of the master work 54 in the image 64 as a detected position.
(82) In step S25, the CPU 44 calculates the difference between the reference position and the detected position as the displacement amount. Specifically, the CPU 44 reads out from the storage 46 the reference position of the master work 54 in the image 62 stored in step S4 and the detected position of the master work 54 in the image 64 stored in step S24.
(83) As an example, the CPU 44 analyses the image 62 illustrated in
(84) On the other hand, the CPU 44 analyses the image 64 illustrated in
(85) In addition, the CPU 44 analyses the image 62 illustrated in
(86) On the other hand, the CPU 44 analyses the image 64 illustrated in
(87) Then, the CPU 44 stores the calculated vector V (x.sub.1, y.sub.1) and the angle in the storage 46. Thus, in this embodiment, the CPU 44 functions as a displacement calculation section 66 (
(88) In step S26, the CPU 44 corrects the work position in the molded article where the robot 14 carries out a work (e.g., removing the molded article, or inserting an insert part into the molded article) on the molded article in step 33 described below.
(89) As an example, the CPU 44 corrects the robot program such that the position of the tool coordinate system C.sub.T to be set when carrying out the work on the molded article in following step S33 is moved by the displacement amount calculated in step S25.
(90) Here, it is assumed that the CPU 44 sets the tool coordinate system C.sub.T when the robot 14 carries out the work on the molded article in the following step S33 as illustrated in
(91) In this case, the CPU 44 moves the origin (i.e., the z-axis) of the tool coordinate system C.sub.T to be set in the following step S33 from the position illustrated in
(92) Additionally, the CPU 44 rotates the tool coordinate system C.sub.T to be set in the following step S33 from the position illustrated in
(93) As another example, the CPU 44 may arrange the end effector 36 at the position and orientation defined by the tool coordinate system C.sub.T set as illustrated in
(94) In this case, the CPU 44 moves the end effector 36 arranged at the tool coordinate system C.sub.T illustrated in
(95) Together with this, the CPU 44 rotates the end effector 36 about the z-axis by the angle in the direction of the arrow E in
(96) After the execution of the flow illustrated in
(97) In step S32, the CPU 44 determines whether or not it receives a work command for carrying out the work on the molded article from the user, host controller, or a molding program. The work command includes a command for causing the robot 14 to carry out the work of removing the molded article from the mold 22, or inserting an insert part into the molded article in the mold 22, for example.
(98) When the CPU 44 determines that it receives the work command (i.e., determines YES), the CPU 44 proceeds to step S33. On the other hand, when the CPU 44 determines that it does not receive the work command (i.e., determines NO), the CPU 44 proceeds to step S34.
(99) In step S33, the CPU 44 carries out the work on the molded article. As an example, if the robot program is corrected so as to change the setting of the tool coordinate system C.sub.T in the above-mentioned step S26, the CPU 44 sets the tool coordinate system C.sub.T as illustrated in
(100) Then, the CPU 44 arranges the end effector 36 at the position and orientation defined by the tool coordinate system C.sub.T, and adsorbs the front surface of the molded article by the adsorption surface 36a of the end effector 36. Then, the CPU 44 operates the robot 14 so as to remove the molded article held by the end effector 36 from the mold 22.
(101) Here, the position (removal position) in the molded article where the adsorption surface 36a adsorbs the molded article is corrected in accordance with the displacement amount calculated in step S25. Accordingly, even if the mold 22 is installed in a skewed manner as illustrated in
(102) Alternatively, the CPU 44 arranges the end effector 36 at the position and orientation defined by the tool coordinate system C.sub.T illustrated in
(103) Here, the insertion position where the end effector 36 inserts the insert part into the molded article is corrected in accordance with the displacement amount calculated in step S25. Accordingly, even if the mold 22 is installed in a skewed manner as illustrated in
(104) As another example, if the robot program is corrected so as to move the end effector 36 in the above-mentioned step S26, the CPU 44 sets the tool coordinate system C.sub.T as illustrated in
(105) Then, the CPU 44 operates the robot 14 so as to move the end effector 36 by the vector V (x.sub.1, y.sub.1) in the x-y plane of the tool coordinate system C.sub.T and rotate the end effector 36 about the z-axis by the angle in the direction of the arrow E in
(106) Thereby, since the work position where the end effector 36 works on the molded article in this step S33 can be corrected in accordance with the displacement amount calculated in step S25, it is possible to arrange the end effector 36 at the same position and orientation with respect to the molded article, even if the mold 22 is installed in a skewed manner.
(107) In step S34, the CPU 44 determines whether or not it receives an operation end command from the user, host controller, or molding program. If the CPU 44 determines that it receives the operation end command (i.e. determines YES), the CPU 44 stops the robot 14 and ends the flow illustrated in
(108) As described above, in this embodiment, the CPU 44 calculates the displacement amount (vector V, angle ) between the reference position measured when the master work 54 installed at the suitable position is removed and the detected position measured when the master work 54 installed after the measurement of the reference position is removed (step S25).
(109) Then, on the basis of the calculated displacement amount, CPU 44 corrects the work position (the removal position, the insertion position) where the robot 14 carries out the work (removing the molded article, inserting the insert part) on the molded article in step S33 (step S26).
(110) According to this configuration, it is possible to automatically correct the work position of the robot 14 in accordance with the displacement amount from the suitable position of the mold 22, without repeatedly teaching the robot 14 the operation of step S33 each time the mold 22 is installed in the mold installation portion 20. Therefore, it is possible to cause the robot 14 to carry out the work on the work position with high accuracy.
(111) Further, according to this embodiment, since the work position of the robot 14 can be corrected with the measurement section 16 and the robot 14 which functions as the molded article removal device, the configuration of the molding system 10 can be made compact.
(112) Furthermore, if an existing mold is used, it is not necessary to machine the mold for correcting the work position. Further, since the measurement section 16 is arranged outside of the mold, this embodiment can be used for a mold in which sufficient space for the focal point of the measurement section 16 cannot be taken.
(113) Next, a molding system 70 according to another embodiment will be described below with reference to
(114) Similarly to the above-mentioned CPU 44, the CPU 74 is communicably connected to the storage 46, the I/O interface 48, and the drive section 50 via the bus 52. The CPU 44 carries out the various processes described below while communicating with these components.
(115) Next, the operation of the molding system 70 will be described with reference to
(116) Note that, in the flow illustrated in
(117) Here, in the flow illustrated in
(118) After the n-th time of steps S22 and S23 is executed, in step S41, the CPU 74 functions as the displacement calculation section 66 (
(119) Specifically, by the method similar to the above-mentioned embodiment, the CPU 74 calculate the vector V.sub.n (x.sub.n, y.sub.n) and the angle .sub.n as the displacement amount, from the reference position included in the image (e.g., image 62) obtained in the above-mentioned step S4 and the detected position included in the image (e.g., image 64) obtained in step S24 of the n-th time.
(120) Additionally, the CPU 44 calculates the distance .sub.n=(x.sub.n.sup.2+y.sub.n.sup.2).sup.1/2 between the reference position and the detected position from the calculated vector V.sub.n (x.sub.n, y.sub.n). The CPU 74 stores the calculated vector V.sub.n (x.sub.n, y.sub.n), angle .sub.n, and distance .sub.n in the storage 46.
(121) In step S42, the CPU 74 functioning as the correction section 68 (
(122) In step S43, the CPU 74 calculates a displacement difference. Specifically, the CPU 74 reads out from the storage 46 the distance .sub.n-1=(x.sub.n-1.sup.2+y.sub.n-1.sup.2).sup.1/2 stored in step S41 executed the (n1)-th time and the distance .sub.n=(x.sub.n.sup.2+y.sub.n.sup.2).sup.1/2 stored in step S41 executed the n-th time.
(123) Then, the CPU 74 calculates the difference .sub.n between the distance .sub.n-1 and the distance .sub.n as the displacement difference .sub.n (i.e., .sub.n=|.sub.n.sub.n-1|=|(x.sub.n.sup.2+y.sub.n.sup.2).sup.1/2(x.sub.n-1.sup.2+y.sub.n-1.sup.2).sup.1/2|). Thus, in this embodiment, the CPU 74 functions as a displacement difference calculation section 76 (
(124) In step S44, the CPU 74 determines whether or not the displacement difference .sub.n calculated in the most-recent step S43 is equal to or less than a predetermined threshold value (.sub.n). The threshold value is predetermined for the displacement difference .sub.n, and stored in the storage 46.
(125) If the displacement difference .sub.n calculated in the most-recent step S43 is equal to or less than the predetermined threshold value (.sub.n), the CPU 74 determines YES, and ends the flow illustrated in
(126) Thus, in this embodiment, the CPU 74 functions as a determination section 78 (
(127) As stated above, in this embodiment, the CPU 74 repeats a loop of steps S22 to S44 until the displacement difference .sub.n calculated in step S43 is equal to or less than the predetermined threshold value . The technical significance of this operation will be described below.
(128) A molded article, which has a curved front surface that faces the outside of the mold 22, may be molded. In this case, the front surface 56 of the master work 54 corresponding to such a molded article is also a curved surface. If the end effector 36 of the robot 14 adsorbs thus-curved front surface 56 of the master work 54, the position where the end effector 36 adsorbs the front surface 56 may change due to the curved shape of the front surface 56, each time step S23 in
(129) By such a change in the adsorption position, an error due to the curved shape of the front surface 56 may be included in the displacement amount calculated in step S41.
(130) As a result of thorough research, the inventors discovered that such an error can be gradually reduced by repeatedly carry out a series of operations of removing the master work (step S23), measuring the detected position (step S24), and calculating the displacement (step S41).
(131) In this embodiment, the CPU 74 repeatedly carries out a loop of steps S22 to S44 in
(132) Thereby, the error in the displacement amount caused by the shape of the molded article can be reduced, and the displacement amount can be calculated with higher accuracy. Accordingly, it is possible to cause the robot 14 to carry out the work on the work position with highly accuracy in step S33, irrespective of the shape of the molded article.
(133) Note that, in the flow illustrated in
(134) However, the CPU 74 may judge that the error in the displacement amount is reduced to be within an allowable range when the number of times the CPU 74 carries out steps S22 to S42 reaches a predetermined number.
(135) Below, an alternative example of the work position correction operation illustrated in
(136) After step S42, in step S51, the CPU 74 increments the execution number n, which indicates the number of times the CPU 74 executes steps S22 to S42, by 1 (i.e., n=n+1).
(137) For example, when the CPU 74 executes the first loop of step S22 to S52, the CPU 74 increments the execution number n from 0 to 1 in this step S51. The CPU 74 stores the incremented execution number n in the storage 46.
(138) In step S52, the CPU 74 determines whether or not the execution number n is greater than a predetermined threshold value . The threshold value is predetermined by the user as an integer greater than 1 (e.g., =10), and stored in the storage 46.
(139) In this step S52, the CPU 74 reads out from the storage 46 the threshold value and the execution number n currently stored in the storage 46. Then, the CPU 74 compares the execution number n with the threshold value , and determines whether or not the execution number n is greater than the threshold value .
(140) If the execution number n is greater than the threshold value (n>), the CPU 74 determines YES and ends the flow illustrated in
(141) Thus, in the flow illustrated in
(142) According to this configuration, similarly to the flow illustrated in
(143) Next, another alternative example of the work position correction operation illustrated in
(144) After step S42, in step S61, the CPU 74 operates the robot 14 so as to fit the master work 54, which has been removed in step S23, into the cavity 26 again.
(145) For example, if the robot program is corrected to change the setting of the tool coordinate system C.sub.T in the above-mentioned step S42, the CPU 74 sets the post-change tool coordinate system C.sub.T (
(146) Next, the CPU 74 sends a command to each servomotor 42 built in the robot 14 via the drive section 50 so as to arrange the end effector 36 at a position and orientation defined by the post-change tool coordinate system C.sub.T, and fits the master work 54 into the cavity 26.
(147) In step S62, the CPU 74 determines whether or not the master work 54 is appropriately fit into the cavity 26. If the error in the displacement amount calculated in the most-recent step S41 is sufficiently small, it is possible to appropriately fit the master work 54 into the cavity 26 when carrying out step S61 in accordance with the work position (i.e., the post-change tool coordinate system C.sub.T) corrected in step S42.
(148) On the other hand, if the error in the displacement amount calculated in the most-recent step S41 is large, the master work 54 can not be appropriately fit into the cavity 26 even when carrying out step S61 in accordance with the corrected work position (i.e., the post-change tool coordinate system C.sub.T).
(149) In the flow illustrated in
(150) As an example, the CPU 74 monitors feedback from each servomotor 42 (e.g., feedback current, load torque, etc.) during the execution of step S61. In this step S62, the CPU 74 determines whether or not the feedback is within a predetermined allowable range.
(151) If the master work 54 can not be appropriately fit into the cavity 26 during the execution of step S61, the master work 54 engages the front surface of the mold 22, thereby the master work 54 can not smoothly be pushed into the cavity 26. In this case, the load torque acting on each servomotor 42 increases, thereby the feedback from each servomotor 42 abnormally fluctuates.
(152) The CPU 74 can determine whether or not the master work 54 is appropriately fit into the cavity 26 during the execution of step S61, by determining whether the feedback from each servomotor 42 is within a predetermined allowable range.
(153) If the feedback is within the allowable range until the end of step S61, the CPU 74 determines YES, and ends the flow illustrated in
(154) Thus, in the flow illustrated in
(155) According to this configuration, similarly to the flow illustrated in
(156) Note that, in step S4 described above, the CPU 44 may analyze the image 62 illustrated in
(157) In this case, in step S25, the CPU 44 may analyze the image 64 illustrated in
(158) Then, the CPU 44 may calculate the vector V (x.sub.Rx.sub.D, y.sub.Ry.sub.D) from the coordinates P.sub.R to the coordinates P.sub.D as the displacement mount indicative of the difference in the x-y plane between the reference position and the detected position.
(159) Further, in step S25 described above, the CPU 44 may calculate the displacement mount on the basis of a mark or shape provided on the master work 54, instead of the corner A or the imaginary line D.
(160) Such an embodiment will be described with reference to
(161) In the above-mentioned step S25, the CPU 44 may detect the point 82 instead of the above-mentioned corner A, and calculate the coordinates P (x, y) of the tool coordinate system C.sub.T of the detected point 82. Further, in the above-mentioned step S25, the CPU 44 may detect the straight line 84 instead of the above-mentioned imaginary lines D.sub.R, D.sub.D, and calculate the angle between the straight line 84 of the reference position and the straight line 84 of the detected position, as the displacement amount.
(162) On the other hand, in the master work 54 illustrated in
(163) Further, in step S25, the CPU 44 may detect the notch 82 instead of the above-mentioned imaginary lines D.sub.R, D.sub.D, and calculate the angle between the extension direction of the notch 82 of the reference position and the extension direction of the notch 82 of the detected position, as the displacement amount.
(164) Note that, a sensor coordinate system may be set for the measurement section 16, and in step S4 described above, the CPU 44 may detect a characteristic point (e.g., the center or the corner A) of the master work 54 in the image 62 illustrated in
(165) In this embodiment, in step S25, the CPU 44 analyzes the image 64 illustrated in
(166) Then, the CPU 44 may calculate the vector V (x.sub.Rx.sub.D, y.sub.Ry.sub.D) from the coordinates P.sub.R to the coordinates P.sub.D as the displacement amount indicative of the difference between the reference position and the detected position in the x-y plane of the sensor coordinate system. For example, the sensor coordinate system may be set similarly as the tool coordinate system C.sub.T illustrated in
(167) Further, the measurement section 16 is not limited to an imaging section, but may include any sensor able to detect the shape of the master work 54, such as a laser displacement sensor. Further, the end effector 36 may be a robot hand including fingers capable of opening and closing.
(168) Further, instead of the robot 14, a loader may be applied so as to constitute the molded article removal device, for example. Further, the cavity 26 and the master work 54 are not limited to a hexagonal prism shape, but may be of any shape.
(169) The invention has been described above using embodiments of the invention. However, the embodiments described above are not intended to limit the scope of the claims of the invention. Combinations of the configurations described in the embodiments of the invention are included in the technical scope of the invention. However, not all such combinations are imperative for solving the problem of the invention. As will be apparent to one skilled in the art, various changes and modifications can be made to the embodiments described above.
(170) Also, it should be understood that the order of execution of the processing including the operations, procedures, steps, processes, and stages of the devices, systems, programs, and methods described in the claims, specification, and drawings may be performed in any order unless before or prior to and other such expressions are used or the output of a prior process is used in the following process. In describing the operation flow in the claims, specification, and drawings, for convenience, first, next, then, and other such expressions are used; however, this does not mean that the order of execution has to be carried out in such a specific order.