Mobile devices, systems, and machine tools equipped with robots
By arranging recognition patterns within the machine tool processing area and using cameras for posture compensation, the problem of insufficient robot operation accuracy was solved, enabling efficient and reliable unattended production.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-10
- Publication Date
- 2026-04-03
Smart Images

Figure CN114728414B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a machine tool for processing workpieces, a robot for operating the machine tool, a mobile device having a robot mounted thereon and configured to move to an operating position relative to the machine tool, and a system including these elements. Background Technology
[0002] A known example of the aforementioned system is disclosed in Japanese unexamined patent application No. 2017-132002 (Patent Document 1 listed below). The system is configured such that an automated guided vehicle (AGV) with a robot mounted thereon moves to an operating position relative to the machine tool, where the robot performs operations on the machine tool, such as the installation and removal of workpieces.
[0003] Such a system enables a single robot, moved by an automated guided vehicle (AGV), to perform operations such as installing and removing workpieces on more than one machine tool. Therefore, compared to systems where the robot is fixed relative to the machine tool, the freedom in machine tool arrangement is increased, making it possible to create machine tool layouts that improve productivity. Furthermore, because a single robot can operate on multiple machine tools, equipment costs are reduced compared to traditional systems where robots are arranged in a fixed manner.
[0004] However, since automated guided vehicles (AGVs) are configured to move themselves using wheels, they cannot always stop at the operating position with high positioning accuracy. Therefore, in order for the robot to accurately perform operations on the machine tool, it is necessary to compare the robot's posture with a reference posture when the AGV is positioned at the operating position. This reference posture is set during so-called teaching and serves as a control reference. The amount of error between the robot's posture and the reference posture is detected, and the robot's operating posture is compensated based on the detected error.
[0005] A known technique for robot posture compensation, as a position compensation method, is disclosed in Japanese unexamined patent application No. 2016-221622 (Patent Document 2 listed below). Specifically, the position compensation method is configured such that a visual target consisting of two calibration marks is arranged on the outer surface of a machine tool, an image of the visual target is captured by a camera arranged on a movable part of the robot, the relative positional relationship between the robot and the machine tool is measured based on the captured image and the position and orientation of the camera, and the robot's operating posture is compensated based on the measured positional relationship.
[0006] Reference List
[0007] Patent documents
[0008] [Patent Document 1] Japanese Unexamined Patent Application Publication No.: 2017-132002
[0009] [Patent Document 2] Japanese Unexamined Patent Application Publication No.: 2016-2216220007
[0010] However, in the aforementioned traditional position compensation methods, for example, when a robot's hand or similar object is inserted into a machine tool to install or remove a workpiece on the machine tool's chuck or similar object, the robot's posture for performing the installation or removal is not accurately compensated.
[0011] Specifically, since automated guided vehicles (AGVs) are configured to move by operating wheels with relatively high degrees of freedom, they have the following characteristics: the robot mounting surface is easy to tilt towards the ground, and the tilt of the robot mounting surface is easy to change due to changes in the robot's posture, in other words, due to changes in the robot's center of gravity.
[0012] Therefore, when the robot is in the posture of inserting its hand into the machine tool to install or remove a workpiece, in other words, when the robot's arm is largely suspended outside the automated guided vehicle, the tilt of the robot's mounting surface is greater than when the robot's hand is outside the machine tool and the arm is not suspended outside the automated guided vehicle or is only suspended to a very slight degree.
[0013] Therefore, in the traditional position compensation method described above, a visual target as a calibration mark is arranged on the outer surface of the machine tool, and the position compensation amount (attitude compensation amount) of the robot is obtained when the robot is outside the machine tool. If the robot's hand is inside the machine tool, the robot's posture when installing or removing workpieces cannot be accurately compensated based on the obtained position compensation amount.
[0014] Furthermore, when the robot's posture during workpiece installation or removal is not accurately compensated, the position of the robot's hand relative to the chuck is inaccurate. For example, if the clamping portion of the chuck has a very small margin of motion (stroke), i.e., a very small clearance relative to the workpiece to be clamped, such as in a chuck chuck, the chuck may not be able to reliably clamp the workpiece.
[0015] Furthermore, if the installation or removal of workpieces cannot be carried out reliably, the availability of the system will be reduced. Such a system cannot achieve a high level of unattended operation with good production efficiency.
[0016] Furthermore, the position compensation method disclosed in Patent Document 2 is configured to allow the camera to capture images of the two calibration marks separately; therefore, the robot requires a long operation time to capture images of the calibration marks, which reduces the system's production efficiency. Summary of the Invention
[0017] In view of these circumstances, the present invention provides a system, a mobile device, and a machine tool, as described in the appended claims.
[0018] Beneficial effects of the invention
[0019] According to the present invention, the robot's posture is compensated for using a recognition map arranged in the machine tool in which the robot actually operates; therefore, the robot's posture is accurately compensated. This enables the robot to accurately perform operations requiring high operational precision. Attached Figure Description
[0020] Figure 1 This is a schematic diagram of the system configuration plan according to an embodiment of the present invention.
[0021] Figure 2 This is a principle block diagram of the system configuration according to an embodiment of the present invention.
[0022] Figure 3 This is a schematic diagram of the structure of the automated guided vehicle and robot in an embodiment of the present invention.
[0023] Figure 4 This is a schematic diagram used to describe the image capture posture of the robot in an embodiment of the present invention.
[0024] Figure 5 This is a schematic diagram of the identification of graphics in an embodiment of the present invention.
[0025] Figure 6 This is a schematic diagram used to describe the compensation amount calculation method in the embodiments of the present invention.
[0026] Figure 7 This is a schematic diagram used to describe the compensation amount calculation method in the embodiments of the present invention.
[0027] Figure 8 This is a schematic diagram used to describe the compensation amount calculation method in the embodiments of the present invention.
[0028] Figure 9 This is a schematic diagram used to describe the position compensation in the embodiments of the present invention.
[0029] Figure 10 It is a diagram that displays the arrangement and changes of the identification graphics in the machine tool. Detailed Implementation
[0030] Specific embodiments of the present invention will now be described with reference to the accompanying drawings.
[0031] <First Example>
[0032] like Figure 1 and Figure 2As shown, the system 1 of the first embodiment of the present invention includes a machine tool 10, a material storage 20 and a product storage 21 as peripheral devices, an automated guided vehicle 35, a robot 25 mounted on the automated guided vehicle 35, a camera 31 connected to the robot 25, and a controller 40 for controlling the robot 25 and the automated guided vehicle 35.
[0033] In the first embodiment, the machine tool is configured to have identification patterns arranged within it. A particularly preferred configuration is that the identification patterns are arranged within the machining area.
[0034] The robot mounting and moving device in the first embodiment includes a robot having a camera, a hand unit, a first arm unit, and a second arm unit, a control unit for controlling the position of the robot hand unit, and a moving unit for mounting the robot on it. The moving unit is configured to move around the machine tool.
[0035] like Figure 4 As shown, machine tool 10 is an NC (numerical control) vertical lathe with a vertically arranged spindle 11. A chuck 12 for clamping workpiece W (W') is connected to the spindle 11. Machine tool 10 is capable of turning workpiece W (W'). Near the spindle 11, machine tool 10 has a tool presetter 13. The tool presetter 13 has a contactor 14 and a support rod 15 supporting the contactor 14. The support rod 15 can enter and exit the machining area along the axis of the spindle 11. On its end face located on one side of the machining area, there is a display panel 16 made of ceramic. The display panel 16 is decorated with... Figure 5 The identification graphic is shown. Note that display panel 16 is arranged on a horizontal plane.
[0036] Please note, Figure 4 The display shows that the support rod 15 and contactor 14 have been moved into the processing area. After the support rod 15 and contactor 14 are moved out of the processing area so that the contactor 14 and display panel 16 are retracted into a storage space, the shutter 17 is closed to isolate the contactor 14 and display panel 16 from the processing area.
[0037] Note further that the recognition pattern in this example has a matrix structure with multiple two-dimensionally arranged square pixels, each displayed in either white or black. Figure 5 In this context, pixels displayed in black are filled with shadows. Examples of recognition patterns include so-called "AR tags" and "April Tags." Furthermore, when using small recognition patterns, measures can be taken, such as placing a lens on the recognition pattern, so that the camera 31, described later, can capture a magnified image of the recognition pattern.
[0038] exist Figure 1In the middle, the material storage 20 is placed on the left side of the machine tool 10. The material storage 20 stores the material (unprocessed workpiece W) to be processed in the machine tool 10. The product storage 21 is placed in... Figure 1 On the right side of the machine tool 10. The product storage unit 21 stores the finished products or semi-finished products (processed workpieces W') processed in the machine tool 10.
[0039] like Figure 1 As shown, the automated guided vehicle 35 has a mounting surface 36 as its top surface, on which the robot 25 is mounted. Furthermore, the automated guided vehicle 35 has an operation panel 37, which the operator can carry with them. The operation panel 37 has input and output units for inputting and outputting data, operation units for manually operating the automated guided vehicle 35 and the robot 25, and a display capable of showing images on it.
[0040] Furthermore, the automated guided vehicle 35 has sensors (e.g., a rangefinder using a laser beam) to identify its position within the factory, and is configured to move trackless within the factory, including areas housing the machine tool 10, material storage 20, and product storage 21, under the control of the controller 40. In this embodiment, the automated guided vehicle 35 can be moved to operating positions relative to the machine tool 10, material storage 20, and product storage 21, respectively.
[0041] like Figure 1 and Figure 3 As shown, the robot 25 in this embodiment is an articulated robot with three arms, namely a first arm 26, a second arm 27, and a third arm 28. The third arm 28 has a hand 29 connected to its distal end as an end effector, and a camera 31 connected to its distal end via a support rod 30.
[0042] Please note that robot 25 is not limited to this configuration. Robot 25 only needs to have (i) a camera 31, (ii) a hand unit for grasping workpieces or tools, (iii) a second arm unit movably connected to the hand unit, and (iv) a first arm unit movably connected to the second arm unit. Compared to robot 25 in this embodiment, hand 29 corresponds to the hand unit, second arm 27 and joints rotatably (movably) connected to second arm 27 correspond to the second arm unit, and first arm 26 and joints rotatably (movably) connected to first arm 26 correspond to the first arm unit. Please note that third arm 28 and joints rotatably and reciprocally (movably) coupled to third arm 28 can be considered to correspond to the second arm unit. That is, although robot 25 in this embodiment has three arms, robot 25 only needs to have at least two arms.
[0043] like Figure 2 As shown, the controller 40 in this embodiment comprises an operating program memory 41, a movement position memory 42, an operating posture memory 43, a map information memory 44, a reference image memory 45, a manual operation control unit 46, an automatic operation control unit 47, a map information generator 48, a position recognition unit 49, a compensation calculator 50, and an input and output interface 51. The controller 40 is connected to the machine tool 10, the material memory 20, the product memory 21, the robot 25, the camera 31, the automated guided vehicle 35, and the operation panel 37 via the input and output interface 51. Note that the controller 40 is not limited to this configuration. The controller 40 only needs to have at least one control unit that controls the position of the hand unit of the robot 25; other memories and units can be included in other devices.
[0044] Note that the controller 40 is composed of a computer including a CPU, RAM, and ROM. The manual operation control unit 46, the automatic operation control unit 47, the map information generator 48, the position recognition unit 49, the compensation calculator 50, and the input and output interface 51 are functionally implemented by a computer program to execute the processes described later. The operation program memory 41, the movement position memory 42, the operation posture memory 43, the map information memory 44, and the reference image memory 45 are composed of suitable storage media, such as RAM. In this embodiment, the controller 40 is connected to the automated guided vehicle 35 and, through suitable communication means, to the machine tool 10, the material memory 20, and the product memory 21, and is connected via wires or wirelessly to the robot 25, the camera 31, the automated guided vehicle 35, and the operation panel 37. However, the controller 40 is not limited to this configuration and can be located at a suitable location outside the automated guided vehicle 35. In this case, the controller 40 is connected to the aforementioned components through suitable communication means.
[0045] The manual operation control unit 46 is a functional unit that enables the automated guided vehicle 35, robot 25, and camera 31 to operate according to the operation signals input by the operator through the operation panel 37. In other words, the operator can manually control the automated guided vehicle 35, robot 25, and camera 31 through the operation panel 37, which is controlled by the manual operation control unit 46.
[0046] The operating program memory 41 is a functional unit that stores automatic operating programs for automating the operation of the automated guided vehicle 35 and the robot 25 during production, and map generation programs for automating the operation of the automated guided vehicle 35 during the generation of map information for the factory, which will be described later. The automatic operating programs and map generation programs are stored in the operating program memory 41, for example, through input and output units on the operation panel 37.
[0047] The automated operation program contains command codes regarding the target location to which the automated guided vehicle 35 moves, the speed of the automated guided vehicle 35, and the direction of the automated guided vehicle 35. The automated operation program also contains command codes regarding the sequential operations performed by the robot 25 and command codes for making the camera 31 function. The map generation program contains instruction codes that enable the automated guided vehicle 35 to travel trackless throughout the factory so that the map information generator 48 can generate map information.
[0048] The map information storage unit 44 is a functional unit that stores map information including the layout information of machines, equipment, instruments, etc. (hereinafter collectively referred to as "equipment") arranged in the factory where the automated guided vehicle 35 travels. The map information is generated by the map information generator 48.
[0049] Under the control of the automatic operation control unit 47 of the controller 40, the map information generator 48, according to the map generation program stored in the operation program memory 41, drives the automated guided vehicle 35 and obtains spatial information of the factory from distance data detected by sensors. This program will be described in detail later. The map information generator 48 also identifies the planar shapes of equipment arranged in the factory, and, for example, identifies the location, planar shape, etc. (arrangement information) of specific equipment arranged in the factory (in this example, machine tool 10, material storage 20, and product storage 21) based on the previously registered planar shapes of the equipment. The map information generator 48 stores the obtained spatial information and arrangement information as map information of the factory in the map information memory 44.
[0050] The location identification unit 49 is a functional unit that identifies the location of the automated guided vehicle 35 in the factory based on distance data detected by sensors and factory map information stored in the map information memory 44. Based on the location of the automated guided vehicle 35 identified by the location identification unit 49, the automatic operation control unit 47 controls the operation of the automated guided vehicle 35.
[0051] The movement position memory 42 is a functional unit that stores specific movement positions. A movement position is a specific target position that the automated guided vehicle 35 moves to, and corresponds to the instruction codes described above in the operating program. Movement positions include the operating positions set relative to the machine tool 10, material memory 20, and product memory 21. It should be noted that, for example, the movement positions are set as follows: the automated guided vehicle 35 is manually operated via the operation panel 37, causing it to move to each target position under the control of the manual operation control unit 46. The position data identified by the position recognition unit 49 at each target position is stored in the movement position memory 42. This operation is generally referred to as a "teach operation".
[0052] The operation posture memory 43 is a functional unit that stores data about the posture (operation posture) of the robot 25, which is sequentially loaded into it as the robot 25 operates in a predetermined sequence. The operation posture corresponds to the instruction codes contained in the operation program. This operation posture data consists of the rotation angle data of the joints (motors) of the robot 25 in each target posture. During teaching operations using the operation panel 37, the robot 25 operates under the control of the manual operation control unit 46, and this rotation angle data is obtained by manually loading the robot 25 into each target posture. The obtained rotation angle data is stored as operation posture data in the operation posture memory 43.
[0053] The specific operating postures of robot 25 are set relative to each of material storage 20, machine tool 10, and product storage 21. For example, a set of extraction postures is set relative to material storage 20. This set of extraction postures includes an operation start posture (extraction start posture) for starting extraction to material storage 20, an operation position (extraction posture) for hand 29 to grasp the unprocessed workpiece W stored in material storage 20 and extract the unprocessed workpiece W from material storage 20, and a posture for completing extraction (extraction end posture; in this embodiment, this posture is the same as the extraction start posture).
[0054] Relative to the machine tool 10, a set of workpiece removal postures for removing the machined workpiece W' from the machine tool 10 and a set of workpiece mounting postures for fixing the unmachined workpiece W onto the machine tool 10 are provided.
[0055] Specifically, the workpiece removal posture set includes, for example, an operation start posture before insertion into the machine tool 10, a posture for moving the hand 29 and camera 31 to the machining area of the machine tool 10, positioning the camera 31 directly opposite the recognition pattern on the support rod 15, and bringing the camera 31 in to capture an image of the recognition pattern (image capture posture; see image capture posture). Figure 4 The camera 31 has several orientations: a positioning for positioning the hand 29 opposite the machined workpiece W' clamped by the chuck 12 of the machine tool 10 (removal preparation orientation); a positioning for moving the hand 29 toward the chuck 12 and grasping the machined workpiece W' clamped by the chuck 12 (grasping orientation); a positioning for removing the hand 29 from the chuck 12 and pulling the machined workpiece W' out of the chuck 12 (pulling orientation); and a positioning for removing the hand 29 and the camera 31 out of the machine tool 10 (operation end orientation). Note that when facing a horizontally arranged recognition pattern, the camera 31 is positioned so that its lens is substantially parallel to the recognition pattern.
[0056] The workpiece mounting posture set includes, for example, the operation start posture before insertion into the machine tool 10, moving the hand 29 and camera 31 to the machining area of the machine tool 10, positioning the camera 31 directly opposite the recognition pattern on the support rod 15, and causing the camera 31 to capture an image of the recognition pattern (image capture posture; see image capture posture). Figure 4 The positions are as follows: the unprocessed workpiece W held by the hand 29 is positioned opposite the chuck 12 of the machine tool 10 (connection preparation posture); the position where the hand 29 is moved toward the chuck 12 to clamp the unprocessed workpiece W (connection posture); the position where the hand 29 is removed from the chuck 12 (removal posture); and the position where the hand 29 and the camera 31 are removed from the machine tool 10 (operation end posture).
[0057] A set of storage postures is set relative to the product storage 21. The set of storage postures includes an operation start posture (storage start posture) for starting to store in the product storage 21, an operation posture (storage posture) for storing the processed workpiece W' grasped by the hand 29 into the product storage 21, and a posture for completing storage (storage completion posture; in this embodiment, this posture is the same as the storage start posture).
[0058] The automatic operation control unit 47 is a functional unit that enables the automated guided vehicle 35, robot 25, and camera 31 to operate according to the automatic operation program or map generation program stored in the operation program memory 41. During this process, data stored in the movement position memory 42 and operation posture memory 43 are used as needed.
[0059] The reference image memory 45 is a functional unit that, during teaching operations, when the automated guided vehicle 35 is positioned at an operating position relative to the machine tool 10 and the robot 25 is in an image capture posture, causes the camera 31 to capture an image of the recognition pattern on the support rod 15 of the tool presetter 13 and store it in the reference image memory 45 as a reference image.
[0060] When robot 25 operates automatically according to the automatic operation program stored in operation program memory 41 under the control of automatic operation control unit 47, once camera 31 captures an image of the recognition pattern while robot 25 is in an image capture posture, compensation calculator 50 estimates, based on the current image of the captured recognition pattern and the reference image (the image captured during the teaching operation) stored in reference image memory 45, the positional error of camera 31 on two axes that are mutually orthogonal and set in a plane parallel to the recognition pattern, and the rotational error of camera 31 about a vertical axis orthogonal to the plane between the current posture of robot 25 and the posture of robot 25 during the teaching operation. Based on the estimated error amounts, compensation calculator 50 calculates the compensation amount for the motion portion of robot 25's operating posture.
[0061] Figure 6 The image shown is a reference image of the recognition pattern captured by camera 31 during the teaching operation. Figure 6 The solid rectangular lines in the image represent the field of view of camera 31, or in other words, the outline of the reference image. Figure 7 This displays the current image of the recognition pattern captured during automated operation, depicted as a solid line. Note that in... Figure 7 In the image, solid rectangles represent the outline of the current image, while dashed and dotted rectangles represent the outline of the reference image. Figure 7 The display shows that the current image is offset from the reference image because the current image capture posture of robot 25 is offset from the image capture posture of robot 25 during the teaching operation.
[0062] The compensation calculator 50 first analyzes the data captured during the teaching operation. Figure 6 The reference image shown allows for the calculation of the teaching position (x-axis and y-axis) of camera 31 in the robot coordinate system (x-axis and y-axis coordinate system). teach y teach rz teach For example, based on the reference image, in other words, the graphic coordinate system (x, y) set from the recognition graphics on the frame of camera 31. t axis and y t (x-axis coordinate system). Teaching position of camera 31 (x-axis coordinate system). teach y teach rz teach ) is based on the graphical coordinate system (x t axis and y t The x-axis is calculated using a predetermined transformation between the x-axis coordinate system and the robot coordinate system (x-axis and y-axis coordinate systems). Note that the x-axis and y-axis are orthogonal to each other and parallel to the recognition pattern, serving as the coordinate axes of robot 25 during teaching operations, while rz is the rotation angle of camera 31 around the z-axis, which is orthogonal to both the x-axis and y-axis. Further note that in this embodiment, x... t axis, y t The axes, x-axis, and y-axis are all set on a horizontal plane (this also applies to the x′ and y′ axes described later).
[0063] Subsequently, the compensation calculator 50 analyzes the current image in the same manner, thereby adjusting the image coordinate system (x, y) based on the aforementioned transformation and the image coordinate system set from the recognized image on the frame of the camera 31. t axis and y t The system calculates the current position (x-axis and y-axis coordinates) of camera 31 in the robot's coordinate system. curr y curr rz curr), for use by robot 25 in teaching operations.
[0064] Subsequently, the compensation calculator 50 estimates the position error Δx, Δy and rotation error Δrz between the taught position and the current position of the camera 31 in the x-axis and y-axis coordinate systems according to the formulas 1 to 3 below.
[0065] (Formula 1)
[0066] Δx=x curr -x teach
[0067] (Formula 2)
[0068] Δy=y curr -y teach
[0069] (Formula 3)
[0070] Δrz=rz curr -rz teach
[0071] Below, as Figure 7 As shown, the current coordinate system of robot 25 is referred to as the "x′ and y′ axis coordinate system". It is assumed that during the teaching operation, there is a relationship between the x′ and y′ axis coordinate system of robot 25 and the x′ and y′ axis coordinate system as follows: Figure 8 The translation error t shown x , t y Then, the current position (x', y') of camera 31 in the x′ and y′ coordinate system can be calculated using Formula 4 below. Note that x and y in Formula 4 represent the teaching position (x', y') of camera 31 in the x′ and y′ coordinate system. teach y teach ), which is one of the known initial settings.
[0072] (Formula 4)
[0073]
[0074] Translation error t x , t y The translation error t can be calculated using Formula 5 below, which is derived by transforming Formula 4. The compensation calculator 50 calculates the translation error t using Formula 5. x t y And the translation error t x t y The rotational error Δrz is set as the compensation amount in the operating posture.
[0075] (Formula 5)
[0076]
[0077] The current position (x', y') of camera 31 in the x' and y' coordinate system matches the current position (x+Δx, y+Δy) of camera 31 in the x and y coordinate system.
[0078] The automatic operation control unit 47 compensates for the position of the robot 25's hand 29 in each operating posture in which the robot 25 operates the machine tool 10, based on the compensation amount calculated by the compensation amount calculator 50. For example, in a set of workpiece removal postures, there are removal preparation posture, gripping posture and pulling posture, and in a set of workpiece installation postures, there are installation preparation posture, installation posture and removal posture.
[0079] For example, when the hand 29 of the robot 25 is positioned relative to the chuck 12, the position of the hand 29 in the x' and y' axis coordinate system, that is, in the current coordinate system of the robot 25, is compensated so that it matches the position of the hand 29 in the x' and y' axis coordinate system during the teaching operation.
[0080] This method of compensation is in Figure 9 This was explained in [the text]. Figure 9 In the middle, location xp p yp p and location xp c yp c These represent the positions set for the hand 29 in the x-axis and y-axis coordinate systems, which serve as the robot's coordinate system, respectively, during the teaching operation. The position xp of the hand 29 to be located from its pose during image capture. p yp p Positioned relative to the xp drive 12 setting c yp c When the automated guided vehicle 35 and robot 25, positioned at the operating position, do not move, the hand 29 moves from position xp. p yp p Move to location xp c yp c .
[0081] exist Figure 9 In the middle, position xp' p yp' p This indicates the position of hand 29 in the x' and y' coordinate system during image capture pose estimation. This coordinate system is the robot coordinate system in the current operation. The position xp' in the x' and y' coordinate system... p yp p 'Corresponds to position xp in the above teaching operation' p yp p Relative to position xp p ypp There are positional errors Δx and Δy, and rotational errors Δrz, because the automated guided vehicle 35 and robot 25, positioned at their operating positions, have positional offsets. The position xp' in the x' and y' axis coordinate systems... c yp' c Corresponding to the position xp mentioned above c yp c There is a deviation from the actual position of the chuck 12. Therefore, the automatic operation control unit 47 calculates the translation error t based on the compensation calculator 50. x , t y The compensation position xph' is calculated using the rotation error Δrz and formula 6 below. c yph' c And move hand 29 to the compensation position xph' c yph' c The automatic operation control unit 47 also compensates for the rotational posture of the hand 29 around the z-axis based on the rotational error Δrz.
[0082] (Formula 6)
[0083]
[0084] The location data is xph' c yph' c The data is converted into angle data for the joints of robot 25 according to a predetermined transformation.
[0085] Furthermore, robot 25 is controlled according to the angle data.
[0086] By analogy with Formula 6, Formula 7 is derived below, which can be used to calculate the position of the hand 29 in each operating posture of the robot 25 used to operate the machine tool 10 during the teaching operation. i yp i compensation position xph' i yph' i The automatic operation control unit 47 compensates for the rotational posture of the hand 29 around the z-axis based on the rotational error Δrz, and moves the hand 29 to the calculated compensation position xph'. i yph' i In Formula 7, i is a natural number equal to or greater than 1. (Formula 7)
[0087]
[0088] According to this implementation plan, system 1 with the above configuration performs unmanned and automated production in the following manner.
[0089] In other words, the automatic operation program stored in the operation program memory 41 is executed under the control of the automatic operation control unit 47 of the controller 40, so that, for example, the automated guided vehicle 35 and the robot 25 operate in accordance with the automatic operation program in the following manner.
[0090] First, the automated guided vehicle 35 moves to the operating position set relative to the machine tool 10, and the robot 25 enters an operating start posture with a workpiece removal posture. At this time, the machine tool 10 has completed the predetermined machining operation, its door cover has been opened so that the robot 25 can enter the machining area, and the support rod 15 of the tool presetter 13 has moved into the machining area after receiving the command from the automatic operation control unit 47.
[0091] Subsequently, robot 25 enters an image capture posture, and camera 31 captures an image of the recognition pattern arranged on support rod 15. Once camera 31 captures the image of the recognition pattern, compensation calculator 50 estimates the positional error Δx, Δy, and rotational error Δrz between the current image capture posture of robot 25 and the image capture posture of robot 25 during teaching operation, based on the captured image of the recognition pattern and the reference image stored in reference image memory 45, according to formulas 1 to 3 above. Based on the estimated error amounts, compensation calculator 50 calculates the translational error compensation t for the subsequent operation posture of a set of workpiece removal postures of robot 25 according to formulas 4 and 5 above. x , t y And the rotational error compensation amount Δrz.
[0092] Based on the compensation amount calculated by the compensation amount calculator 50, the automatic operation control unit 47 compensates for the position of the hand 29 according to the above formula 7, and compensates for the rotational position of the hand 29 around the Z-axis in each subsequent operation posture, namely the removal preparation posture, gripping posture, pulling posture, and operation completion posture of a set of workpiece removal postures, so that the hand 29 can grip the machined workpiece W' clamped by the chuck 12 of the machine tool 10 and remove the machined workpiece W' from the machine tool 10. Note that after the robot 25 enters the gripping posture, the automatic operation control unit 47 transmits a chuck 12 opening command to the machine tool 10 to open the chuck 12.
[0093] Subsequently, the automatic operation control unit 47 moves the automated guided vehicle 35 to an operating position relative to the product memory 21, and causes the robot 25 to sequentially enter a storage start posture for starting storage in the product memory 21, a storage posture for storing the processed workpiece W' grasped by the hand 29 into the product memory 21, and a storage end posture for completing storage. Therefore, the processed workpiece grasped by the hand 29 is stored in the product memory 21.
[0094] Subsequently, the automatic operation control unit 47 moves the automated guided vehicle 35 to an operating position relative to the material storage 20, and causes the robot 25 to sequentially enter an extraction start posture for observing the material storage 20 for retrieval, an extraction posture for the hand 29 to grasp the unprocessed workpiece W stored in the material storage 20 and retrieve the unprocessed workpiece W from the material storage 20, and an extraction end posture for completing the extraction. Thus, the unprocessed workpiece is grasped by the hand 29.
[0095] Subsequently, the automatic operation control unit 47 moves the automated guided vehicle 35 back to the operating position set relative to the machine tool 10, and causes the robot 25 to enter the starting operating posture of the workpiece mounting posture set. Then, the automatic operation control unit 47 causes the robot 25 to enter the image capture posture, and the camera 31 captures an image of the recognition pattern arranged on the support rod 15. Once the camera 31 captures the image of the recognition pattern, the compensation calculator 50, based on the captured image of the recognition pattern and the reference image stored in the reference image memory 45, estimates the positional error Δx, Δy and rotational error Δrz between the current image capture posture of the robot 25 and the image capture posture of the robot 25 during the teaching operation, according to formulas 1 to 3 above. Based on the estimated error amounts, the compensation calculator 50 calculates the translational error compensation t for the subsequent operating posture of the robot 25 in the workpiece mounting posture set according to formulas 4 and 5 above. x , t y And the rotational error compensation amount Δrz.
[0096] Subsequently, based on the compensation amount calculated by the compensation amount calculator 50, the automatic operation control unit 47 compensates for the position of the hand 29 according to the aforementioned formula 7, and compensates for the rotational position of the hand 29 around the Z-axis in each subsequent operation posture, namely, the installation preparation posture, installation posture, removal posture, and operation completion posture in a set of workpiece installation postures of the robot 25, so that the robot 25 can install the unprocessed workpiece W held by the hand 29 onto the chuck 12 of the machine tool 10, and then remove it from the machine tool 10. Afterwards, the automatic operation control unit 47 sends a machining start command to the machine tool 10, causing the machine tool 10 to perform the machining operation. Note that after the robot 25 enters the installation posture, the automatic operation control unit 47 sends a chuck close command to the machine tool 10 to close the chuck 12, thereby clamping the unprocessed workpiece W by the chuck 12.
[0097] By repeating the above series of processes, System 1 continuously performs unattended and automated production.
[0098] According to this embodiment, system 1 is configured to compensate for the operating posture of robot 25 by using a recognition pattern set in the machining area of machine tool 10, which is actually operated by robot 25; therefore, the operating posture of robot 25 is accurately compensated. This enables robot 25 to accurately perform operations requiring high operational precision.
[0099] Because robot 25 performed its operations accurately, system 1 operated with high availability and without unnecessary interruptions. Therefore, system 1 achieved a highly reliable and efficient unmanned system.
[0100] Furthermore, System 1 is configured such that, as the robot 25 operates according to the operating procedure, an image of the recognized pattern is captured by a camera in a single operation. Therefore, System 1 is able to perform accurate compensation in a shorter time than conventional systems.
[0101] Furthermore, in this embodiment, the identification pattern is arranged on the support rod 15 of the tool presetter 13, which is positioned outside the machining area when machining is performed on the machine tool 10; therefore, it can prevent the identification pattern from being contaminated by chips or similar materials generated during machining. Thus, the compensation is performed accurately.
[0102] Furthermore, the recognition pattern in this embodiment has a matrix structure with multiple pixels arranged in two dimensions; therefore, the estimation of position error Δx, Δy and rotation error Δrz has high accuracy and repeatability.
[0103] <Second Embodiment>
[0104] Next, a second embodiment of the present invention will be described. The system configured according to the second embodiment... Figure 2 The reference number 1' is used in the middle. For example... Figure 2 As shown, System 1' according to the second embodiment has a controller 40' including a compensation calculator 50', the configuration of which differs from that in System 1 according to the first embodiment. Other components are the same as those in System 1 according to the first embodiment. Therefore, descriptions of components other than the compensation calculator 50' are omitted in the following description. Note that in this embodiment, when the robot 25 is in an image capture posture, it is preferable that the camera 31 is positioned directly opposite the recognition pattern as described in the first embodiment above, because this allows for highly accurate compensation. However, the camera 31 may not be positioned directly opposite the recognition pattern, but rather enter a posture in which the image acquisition optical axis of the camera 31 is tilted relative to the recognition pattern, because such a posture allows for practical compensation.
[0105] According to this embodiment, the compensation amount calculator 50' is configured to calculate the position error and rotation error of the camera 31 between the current posture of the robot 25 and the posture of the robot 25 obtained in the teaching operation by using a method obtained by summarizing the error amount calculation method used in the compensation amount calculator 50, and to compensate for each operating posture of the robot 25 based on the calculated position error and rotation error.
[0106] Specifically, the compensation calculator 50' performs the following process based on the current image of the recognition pattern captured during automatic operation and the reference image stored in the reference image memory 45 (the image of the recognition pattern captured during teaching operation): estimating the positional error of the camera 31 on the x, y, and z axes, and the rotational error of the camera 31 around the x, y, and z axes between the current pose of the robot 25 and the pose of the robot 25 obtained during teaching operation; and compensating for each operational pose of the robot 25 based on the estimated positional and rotational error amounts. The x and y axes are orthogonal to each other and are positioned in a plane parallel to the recognition pattern, and the z axis is orthogonal to both the x and y axes.
[0107] (Preliminary processing)
[0108] First, the compensation calculator 50' obtains a preliminary coordinate transformation matrix based on the reference image captured during the teaching operation. This is used to transform the coordinate system from the camera coordinate system corresponding to camera 31 to the graphic coordinate system corresponding to the recognized graphic. Note that this coordinate transformation matrix... It can be obtained from, for example, the internal parameters of camera 31, the size of the recognized pattern, and the isotope matrix, center coordinates, and angular coordinates identified from the recognized pattern.
[0109] The camera coordinate system is a three-dimensional coordinate system set relative to the planar image sensor group of camera 31; for example, its origin is at the center of the image sensor group. The image coordinate system is a three-dimensional coordinate system set relative to the image being recognized; for example, its origin is at the center of the image being recognized. The robot coordinate system, which will be described later, is a three-dimensional coordinate system set for controller 40' to control robot 25, and its origin is at an appropriate location.
[0110] Subsequently, the compensation calculator 50' calculates the compensation amount based on the obtained coordinate transformation matrix. The position of image acquisition camera 31 in the camera coordinate system during teaching. Formula 8 calculates the position of camera 31 in the graphical coordinate system during teaching.
[0111] (Formula 8)
[0112]
[0113] (Calculation of camera position during teaching)
[0114] Subsequently, the compensation calculator 50' calculates the position of the camera 31 in the teaching robot coordinate system according to the following formula 9.
[0115] (Formula 9)
[0116]
[0117] Subsequently, the compensation calculator 50' calculates a coordinate transformation matrix. It is used in Equation 10 below to perform the transformation from the teaching camera coordinate system to the teaching robot coordinate system.
[0118] (Formula 10)
[0119]
[0120] Here, the rotation angles around the x-axis, y-axis, and z-axis It is based on a rotation matrix Rotation matrix elements Calculated.
[0121] It is important to note that It is a coordinate transformation matrix used for transformation from the graphical coordinate system to the teach pendant coordinate system. For example, it is based on the coordinate transformation matrix below used for transformation from the graphical coordinate system to the teach camera coordinate system. And the coordinate transformation matrix used to transform from the teaching camera coordinate system to the teaching robot coordinate system. It is obtained from formula 11.
[0122] (Formula 11)
[0123]
[0124] (Calculation of camera position during automatic operation)
[0125] Subsequently, the compensation calculator 50' obtains the coordinate transformation matrix for transforming from the camera coordinate system to the graphic coordinate system in a similar manner to the above, based on the current image of the recognition graphic captured during automatic operation (actual operation). Subsequently, based on the current image of the recognized graphic, the compensation calculator 50' calculates the current camera position in the graphic coordinate system according to the following formula 12. The current camera position in the teaching robot coordinate system is calculated according to Formula 13 below.
[0126] (Formula 12)
[0127]
[0128] (Formula 13)
[0129]
[0130] Subsequently, the compensation calculator 50' calculates a coordinate transformation matrix for transforming from the current camera coordinate system to the teach robot coordinate system according to formula 14 below.
[0131] (Formula 14)
[0132]
[0133] Here, the rotation angles around the x-axis, y-axis, and z-axis It is based on a rotation matrix Rotation matrix elements Calculated.
[0134] (Calculation of error)
[0135] Subsequently, based on the angle of the teaching camera calculated in the teaching robot coordinate system And the current camera angle calculated in the teaching robot coordinate system. The compensation calculator 50' calculates the differences between them, thereby calculating the rotational errors Δrx, Δry, and Δrz around the x-axis, y-axis, and z-axis.
[0136]
[0137]
[0138]
[0139] Subsequently, based on the calculated rotation errors Δrx, Δry, and Δrz, the compensation calculator 50' calculates the rotation matrix between the teach robot coordinate system and the current robot coordinate system according to the following formula 15. That is, the rotational error between them. And calculate the translation matrix from the teach robot coordinate system to the current robot coordinate system according to Formula 16 below. That is, the positional error between them.
[0140] (Formula 15)
[0141]
[0142] (Formula 16)
[0143]
[0144] (Calculation of compensation amount)
[0145] Subsequently, based on the calculated error, the compensation calculator 50' calculates a compensation amount according to the following formula 17. Perform attitude compensation.
[0146] (Formula 17)
[0147]
[0148] The automatic operation control unit 47 determines the position of the hand 29 in each subsequent operating posture of the robot 25 based on the compensation amount calculated by the compensation amount calculator 50', according to the following formula 18. Compensation will be provided.
[0149] (Formula 18)
[0150]
[0151] <Third Embodiment>
[0152] The system configured according to the third embodiment of the present invention is in Figure 2 The reference number "1" is used to indicate this. For example... Figure 2 As shown, system 1 according to the third embodiment "has a controller 40", including a compensation calculator 50" and an operating program memory 41", the configuration of which differs from that of systems 1 and 1' according to the first and second embodiments. Other components are the same as those of systems 1 and 1' according to the first and second embodiments. Therefore, descriptions of components other than the compensation calculator 50" and the operating program memory 41" are omitted in the following description.
[0153] In this embodiment, the operating program memory 41" stores an automatic operating program different from that in the first and second embodiments. The difference between the automatic operating program in this embodiment and those in the first and second embodiments lies in that, during the operation of the machine tool 10 by the robot 25, the image capture of the recognized pattern is performed twice consecutively. Specifically, the automatic operating program in this embodiment is set to: perform a first image capture to calculate the positional errors of the x-axis and y-axis and the rotational errors around the z-axis; then perform a second image capture, whereby the robot 25's image capture posture is compensated based on the calculated positional and rotational errors to calculate the positional errors of the z-axis and the rotational errors around the x-axis and y-axis.
[0154] The compensation amount calculator 50" is configured to perform "preliminary processing" and "calculation of camera position during teaching", which is the same as that performed in the compensation amount calculator 50' in the second embodiment, and to calculate the compensation amount based on each image captured during the first and second image capture processes performed under the control of the automatic operation control unit 47.
[0155] (Initial calculation of compensation amount)
[0156] The compensation calculator 50 performs "preliminary processing", "calculation of camera position during teaching", "calculation of camera position during automatic operation", "calculation of error amount", and "calculation of compensation amount". These are the same as the description of the compensation calculator 50 in the second embodiment, which calculates the position error amount on the x-axis and y-axis and the rotation error amount around the z-axis based on the image captured during the first image capture process, and calculates the compensation amount used to compensate for the calculated error amount.
[0157] In this process, the "preliminary processing," "calculation of camera position during teaching," "calculation of camera position during automatic operation," "calculation of error," and "calculation of compensation" are performed using the camera positions in the graphic coordinate system and the camera positions in each robot coordinate system, as shown below:
[0158]
[0159]
[0160] Therefore, only the position error Δx on the x-axis, the position error Δy on the y-axis, and the rotation error Δrz around the z-axis are obtained, and the compensation amount for the error is calculated according to the above formula 17. The automatic operation control unit 47 compensates for the image capture posture of the robot 25 according to the above formula 18 during the second image capture process.
[0161] (Second calculation of compensation amount)
[0162] Subsequently, the compensation calculator 50 performs "preliminary processing", "calculation of camera position during teaching", "calculation of camera position during automatic operation", "calculation of error amount" and "calculation of compensation amount" on the image captured during the second image capture process, thereby calculating the position error amount on the x-axis, y-axis and z-axis and the rotation error amount around the x-axis, y-axis and z-axis, and calculates the compensation amount for the calculated error amount.
[0163] In this process, the "preliminary processing," "calculation of camera position during teaching," "calculation of camera position during automatic operation," "calculation of error," and "calculation of compensation" are performed using the camera positions in the graphic coordinate system and the various robot coordinate systems as examples, as detailed below:
[0164]
[0165]
[0166] Therefore, the position error Δx on the x-axis, the position error Δy on the y-axis, the position error Δz on the z-axis, the rotation error Δrx around the x-axis, the rotation error Δry around the y-axis, and the rotation error Δrz around the z-axis are obtained, and the compensation amount of the error is calculated according to Formula 17 above. The automatic operation control unit 47 compensates for the posture of the robot 25 according to Formula 18 above. Note that the compensation amounts of the position error Δx on the x-axis, the position error Δy on the y-axis, and the rotation error Δrz around the z-axis can remain at the values calculated in the first calculation, or the sum of the values calculated in the first and second calculations can replace the value calculated in the first calculation.
[0167] The reason for this two-step calculation of compensation is as follows: When acquiring and recognizing the image, the position of the recognized image is far from the center of the field of view of the camera 31. There is a tendency that the position data on the z-axis obtained from the image coordinate system changes greatly around the rotation data of the x-axis and y-axis. This tendency will reduce the position accuracy on the x-axis and y-axis.
[0168] Therefore, as described above, in the first calculation, compensation amounts for the position errors Δx and Δy on the x and y axes and the rotation error Δrz around the z axis are calculated, and the image capture posture of the robot 25 is compensated based on the calculated compensation amounts so that the identified pattern is positioned at the center of the field of view of the camera 31. Subsequently, based on the captured image with the identified pattern positioned at the center of the field of view of the camera 31, compensation amounts for the position error Δz on the z axis and the rotation errors Δrx and Δry around the x and y axes are calculated in the second compensation. This process allows for precise calculation of the position errors on the x, y, and z axes, as well as the rotation errors Δrx, Δry, and Δrz around the x, y, and z axes, thus ensuring precise calculation of the compensation amounts for these errors. Therefore, the posture of the robot 25 is controlled with high precision.
[0169] <Fourth Embodiment>
[0170] In the above embodiment, positional errors Δx, Δy, and rotational errors Δrz are calculated to compensate for the posture of the moving device on which robot 25 is mounted. However, the present invention is not limited to this configuration. One possible configuration is in which a first identification position, serving as a reference position for the identification pattern, and a second identification position, serving as the position of the identification pattern calculated from an image containing the identification pattern, are used to obtain the target position, for example, the workpiece, and to compensate for the position of the hand 29 of robot 25. That is, in this configuration, the target position can be obtained directly without calculating the positional errors Δx, Δy, and rotational errors Δrz.
[0171] Furthermore, the above embodiments are primarily described using the installation and removal of workpieces as examples. However, the invention is not limited to this. Besides workpieces, the target can also be a tool, an ATC camera, or a measuring device. The target should be understood as an object that can be mounted and used on a machine tool. Such an object can be moved by a mobile device equipped with a robot.
[0172] The mobile device equipped with the robot first memorizes a first identification position through training. This identification position is the location of an identification pattern arranged on a first and second axis within the machine tool, these axes being positioned in a plane parallel to the identification pattern (e.g., the position coordinates of the identification pattern relative to the two axes in that plane). The first identification position is information associated with a first device position, which is the location of the mobile device equipped with the robot for performing operations such as removing a target, such as a workpiece, tool, ATC camera, or measuring device, from the machine tool, or loading a target, such as a workpiece, tool, ATC camera, or measuring device, into the machine tool. The first and second axes need to intersect each other, but do not necessarily need to be orthogonal. The first and second axes only need to provide information that allows for the identification of the position (coordinates) in the plane. Of course, orthogonal x-axis and y-axis are preferred. Note that in this embodiment, the first device position of the mobile device equipped with the robot includes position information for position changes (such as rotation).
[0173] The first identification position is associated with a target position, which is a location of the target. The target position can be the position information of the target itself, such as the position of the tool or the position of the workpiece, or the position information of the connection position, such as the workpiece connection position of the spindle to which the workpiece is connected, or the tool connection position of the spindle or tool holder to which the tool is connected, or the position information of the removal position.
[0174] For example, the moving device of the mounting robot moves from the front of the second machine tool to the front of the first machine tool, where a workpiece is attached and stops. The position where the moving device of the mounting robot stops is called the second device position. If the second device position is the same as the first device position, the workpiece can be mounted without compensation. The moving device of the mounting robot can move to a position different from the first device position and stop there. In this case, the workpiece mounting position relative to the second device position is different from the workpiece mounting position relative to the first device position. Therefore, compensation for the position of the hand device is required.
[0175] Therefore, the moving device of the installation robot captures an image using a camera at the second device position. When the image captured by the camera of the moving device of the installation robot contains a recognition pattern, the moving device of the installation robot obtains a second recognition position of the recognition pattern at the second device position. Based on the memorized first recognition position and the second recognition position obtained by using the image captured by the camera, the moving device of the installation robot obtains target position information for the second device position. Based on the obtained target position information, the moving device of the installation robot compensates for the position of the robot's hand device by (a) movement on a first axis in the plane including the recognition pattern, (b) movement on a second axis in the plane, and (c) rotational movement in the plane, and installs the workpiece grasped by the hand device into a predetermined position in the machine tool.
[0176] For example, with the first and second axes designated as X1 and Y1 respectively, and the origin at the first device position, the first identification position can be represented as (x1, y1, rz1). This first identification position is associated with the target position (x11, y11, rz11). With the first and second axes designated as X2 and Y2 respectively, and the origin at the second device position, the second identification position can be represented as (x2, y2, rz2). If the second identification position is the same as the first identification position, (x2, y2, rz2) is the same as (x1, y1, rz1). Therefore, relative to the second device position, the target position is the same as the position information (x11, y11, rz11).
[0177] However, as mentioned above, the mobile device for installing the robot moves between machine tools, and the position of the second device sometimes differs from that of the first device. Here, we describe a case where the first identification position is (x1, y1, 0 (rz1 = 0)) and the target position is (x11, y11, rz11). In this case, the first axis and the second axis are designated as the X2 axis and the Y2 axis, respectively, with the origin at the second device position, and the second identification position is not (x2, y2, rx2). This is because the first and second identification positions are the same in actual space, but they differ in the position of the mobile device for installing the robot (especially the position of the moving part of the mobile device). In particular, the orientation of the mobile device is different.
[0178] Therefore, in this embodiment, based on (i) the relationship between the second identification position (x2, y2, rz2) and the first and second axes, which are respectively designated as the X2 axis and the Y2 axis, and (ii) the first identification position (x1, y1, 0), the target position (x22, y22, rz22) is obtained according to the matrix used to convert the position information into the target position. This target position is the position in the X2-Y2 coordinate system defined by the X2 axis and the Y2 axis. The matrix used for conversion is prepared in advance and stored in the mobile device of the robot. According to the obtained position information (x22, y22, rz22) of the target position on the X2 axis and the Y2 axis, the control unit compensates for the position of the robot's hand unit by (b) movement on the X2 axis in the plane, (c) movement on the Y2 axis in the plane, and rotational movement in the plane including the identification pattern, and controls the hand unit to change the workpiece or tool or the like.
[0179] In this embodiment, a matrix for converting position information into a target position (x22, y22, rz22) is pre-stored in the mobile device of the robot installation, and the target position is obtained by using this matrix. However, the invention is not limited to this configuration. For example, a table containing position information of the position (x2, y2, rz2) of the recognition pattern obtained from an image captured by a camera and position information of the target position (x22, y22, rx22) corresponding to this position information (second recognition position) can be pre-stored in the mobile device of the robot installation.
[0180] Furthermore, in this embodiment, the position compensation of the hand unit does not calculate three error quantities: position error Δx, Δy, and rotation error Δrz. However, one possible configuration is that the position error quantities Δx and Δy are not calculated, but the rotation error quantity Δrz is calculated. For example, based on the transformation matrix between the first and second identification positions, the target, i.e., the workpiece, is calculated at the X coordinate (x22), Y coordinate (y22), and rotation error quantity Δrz at the second device position. By adding the rotation error quantity Δrz to the rotation position (rz11) of the target position at the first identification position, the target position (x22, y22, rz11 + Δrz) can be obtained.
[0181] In this embodiment, the position information uses three pieces of information: the x-coordinate, the y-coordinate, and the rotation coordinate (or rotation amount). However, the invention is not limited to this. For example, six pieces of information (x, y, z, rx, ry, rz) can be used, i.e., three coordinates (x, y, z) and three rotation coordinates or rotation amounts (rx, ry, rz). The number of pieces of information can be selected or adjusted as needed. For example, one possible configuration is that, as the target position, (i) position information (x22, y22, z11, rx11, ry11, rz11+Δrz) or (ii) position information (x22, y22, z11, 0, 0, rz11+Δrz) is output or obtained. In the case of position information (x22, y22, z11, 0, 0, rz11+Δrz), z11 is left because there is a position on the z-axis. When the reference is set to 0, rx11 and ry11 are both 0, and they will not change from 0 because there is no change in motion on the plane. Therefore, they can be set to 0. This position information can be used, but another possible configuration is that, in this configuration, the information about 0 is removed, and four pieces of information (x22, y22, x11, rz11+Δrz) are output or obtained as the target position.
[0182] Please note that although various variations have been described, in each variation, the position of the hand unit is compensated in a plane (x, y, rz) including the recognition pattern, as described in the above embodiments. Therefore, the common effect of all embodiments and variations is that the position compensation of the hand unit is performed with high accuracy within the plane including the recognition pattern.
[0183] Embodiments of the present invention have been described herein. However, the present invention should not be construed as being limited to the embodiments described herein, and can be implemented in various ways.
[0184] For example, in the above embodiment, the recognition pattern has a matrix structure with multiple pixels arranged in two dimensions. However, the recognition pattern is not limited to such a pattern, and can also be any other suitable pattern that allows the calculation of the compensation amount of the robot 25's pose based on the captured image.
[0185] Furthermore, in the first embodiment, the system is configured such that a first axis and a second axis in the plane including the identified graphic are designated as the x-axis and y-axis, respectively, and the rotation axis in the plane is defined as the z-axis, compensating for position errors of the x-axis and y-axis and rotation errors about the z-axis. However, the invention is not limited to this configuration. Depending on the position of the identified graphic, the compensation amount calculator 50 can designate either the first axis or the second axis as the z-axis. In this case, the compensation amount calculator 50 can be configured to estimate the amount of position error in the z-axis and calculate the compensation amount for the position error in the z-axis, and the automatic operation control unit 47 can be configured to compensate the position of the robot 25 in each operating posture based on the calculated compensation amount in the z-axis. Note that the amount of position error on the z-axis can be calculated, for example, based on the magnification of a reference image and the current image.
[0186] Furthermore, the above-described embodiments present an example configuration using an automated guided vehicle (AGV) 35. However, the invention is not limited to such a configuration; the AAV 35 can be replaced with a transfer device that can be moved by a human operator, such as a horse-drawn carriage. In this case, a configuration can be adopted in which a robot 25 is mounted on the transfer device, and the transfer device is manually moved to an operating position relative to the machine tool 10, so that the robot 25 can install or remove workpieces from the machine tool 10.
[0187] Furthermore, in the above embodiments, a vertical lathe was described as an example of a machine tool. However, the present invention is not limited to vertical lathes, but can also be applied to any other known type of machine tool, such as horizontal lathes, vertical machining centers, horizontal machining centers, or combined machine tools including tool spindles and workpiece spindles.
[0188] For example, in such Figure 10 In the case of the horizontal lathe 100 shown, which includes a tool spindle 105 with a rotating cutting tool, the lathe 100 can be configured such that the display panel 16 is horizontally supported by a bracket 106, and the bracket 106 is connected to the tool spindle 105. In this configuration, when the lathe 100 is performing a machining operation, the bracket 106 is stored in the tool magazine as a tool storage unit, and when the robot 25 is operating, the bracket 106 is retrieved from the tool magazine and connected to the tool spindle 105. Note that in Figure 10In the figure, reference numeral 101 indicates a first spindle, reference numeral 103 indicates a second spindle, and these spindles are arranged coaxially and facing each other. Furthermore, reference numeral 102 indicates a first chuck connected to the first spindle 101, and reference numeral 104 indicates a second chuck connected to the second spindle 103. Additionally, reference numeral 107 indicates a tool holder, reference numeral 108 indicates a turret connected to the tool holder 107, and reference numeral 109 indicates a support fixture connected to the outer surface of the turret 108 to support the workpiece W.
[0189] Furthermore, in the above embodiments, the robot coordinate system is set up such that the X-axis (x' axis) and Y-axis (y' axis) extend horizontally, and the Z-axis extends vertically. However, the present invention is not limited to this configuration. The direction of the coordinate axes can be freely set. This also applies to the coordinate axes for recognizing graphics, i.e., the X... t axis and Y t axis.
[0190] As stated above, the description of the embodiments is not restrictive but illustrative in all respects. Those skilled in the art will be able to make appropriate changes and modifications. The scope of the invention is not defined by the embodiments described above, but by the appended claims. Furthermore, the scope of the invention includes all modifications made within the scope equivalent to that of the claims.
Claims
1. A machine tool system equipped with a robot, characterized in that, include: A machine tool for performing pre-planned processing on a workpiece; A robot has a camera for image capture and a working part that acts on a workpiece and operates a machine tool, and the camera is configured to move to the machining area of the machine tool when capturing and recognizing a graphic. A mobile device on which a robot is mounted and configured to move to an operating position relative to the machine tool; And a controller configured to, according to an operation program containing predetermined operation commands, cause the robot to sequentially enter an operation start posture, an image capture posture for facing a recognition pattern arranged in the machine tool for posture compensation and capturing an image of the recognition pattern, and one or more operation postures for causing the action parts to act on the workpiece. By teaching the robot, the starting posture, image capture posture, and one or more operation postures can be set in advance. The identified graphic is formed on a predetermined plane and set in the machining area of the machine tool; The controller is configured as follows: During the teaching operation, the camera captures images of the recognized shapes as reference images while the robot is in an image capture posture. When the robot performs actual operations according to the operating procedure, based on the reference image and the image of the recognition pattern captured by the camera after the robot enters the image capture posture from the operation start posture when the mobile device is in the operation position, the positional error of the camera on the first axis and the second axis, as well as the rotational error of the camera around the third axis, are estimated between the robot's current posture and the robot's posture in the teaching operation. The first and second axes are orthogonal to each other and are set in a plane parallel to the recognition pattern; the third axis is orthogonal to the first and second axes. Based on the estimated error, calculate the compensation amount of the actuator in one or more operating postures; based on the calculated compensation amount, compensate the position of the actuator in each of the one or more operating postures. The first axis and the second axis are the X-axis and Y-axis of the X-axis and Y-axis coordinate system corresponding to the robot's posture during the teaching operation, respectively. The third axis is the Z-axis, which is orthogonal to the X-axis and Y-axis; and the controller is configured to estimate the position error Δx, Δy of the camera in the X-axis and Y-axis coordinate systems and the rotation error Δrz of the camera about the Z-axis. Based on the estimated position error Δx, Δy and rotation error Δrz, calculate the translation error tx, ty between the current position of the active component and its position in the X-axis and Y-axis coordinate systems according to the following formula; Where x and y represent the camera's position in the x-axis and y-axis coordinate system during the teaching operation, and x' and y' represent the camera's current position in the x-axis and y-axis coordinate system corresponding to the robot's current posture. Furthermore, the position of the compensating action component is determined in each of one or more operating postures based on the calculated translation error tx, ty and rotation error Δrz.
2. The system according to claim 1, characterized in that, The mobile device is an automated guided vehicle controlled by a controller and configured to move to an operating position relative to the machine tool under the control of the controller.
3. The system according to claim 1, characterized in that, The recognition pattern has a matrix structure with multiple pixels arranged in two dimensions.
4. A machine tool system equipped with a robot, characterized in that, include: A machine tool for performing pre-planned processing on a workpiece; A robot has a camera for image capture and a working part that acts on a workpiece and operates a machine tool, and the camera is configured to move to the machining area of the machine tool when capturing and recognizing a graphic. A mobile device on which a robot is mounted and configured to move to an operating position relative to the machine tool; And a controller configured to, according to an operation program containing predetermined operation commands, cause the robot to sequentially enter an operation start posture, an image capture posture for facing a recognition pattern arranged in the machine tool for posture compensation and capturing an image of the recognition pattern, and one or more operation postures for causing the action parts to act on the workpiece. By teaching the robot, the starting posture, image capture posture, and one or more operation postures can be set in advance. The identified graphic is formed on a predetermined plane and set in the machining area of the machine tool; The controller is configured as follows: During the teaching operation, the camera captures images of the recognized shapes as reference images while the robot is in an image capture posture. When the robot performs actual operations according to the operating procedure, based on the reference image and the image of the recognition pattern captured by the camera after the robot enters the image capture posture from the operation start posture when the mobile device is in the operation position, the positional error of the camera on the first axis and the second axis, as well as the rotational error of the camera around the third axis, are estimated between the robot's current posture and the robot's posture in the teaching operation. The first and second axes are orthogonal to each other and are set in a plane parallel to the recognition pattern; the third axis is orthogonal to the first and second axes. Based on the estimated error, calculate the compensation amount of the actuator in one or more operating postures; based on the calculated compensation amount, compensate the position of the actuator in each of the one or more operating postures. The controller is configured to, after calculating the estimated position error of the camera on the first axis and the second axis and the estimated rotation error of the camera around the third axis, compensate the robot's image capture posture based on the estimated position error of the first axis and the second axis and the estimated rotation error around the third axis, and enable the robot to enter the compensated image capture posture. Then, the camera captures an image of the identified pattern; Based on the captured images of the recognized patterns and reference images, estimate the camera's positional error on the third axis, the camera's rotational error around the first axis, and the camera's rotational error around the second axis between the robot's current pose and the robot's pose during the teaching operation. Based on the estimated positional errors on the first, second, and third axes and the estimated rotational errors around the first, second, and third axes, compensate for the position of the active component in each of one or more operating poses.
Citation Information
Patent Citations
Production system
CN114340842A