Additive manufacturing system and control method thereof
The method and device for controlling multiple robots in additive manufacturing systems address misalignments by deriving and correcting positional deviations, enabling higher precision through robot switching for improved work quality.
Patent Information
- Application Number
- JP2022110499
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-07-08
- Publication Date
- 2025-10-22
- Estimated Expiration
- 2042-07-08
AI Technical Summary
In additive manufacturing systems where multiple robots work together, misalignments due to structural errors and postures lead to inaccuracies, necessitating a method to switch which robot performs operations based on the amount of misalignment for higher quality results.
A method and device for controlling multiple robots that involves acquiring path information, deriving deviation amounts from target positions, and selecting a robot to perform actions based on these deviations, using a database to correct positional errors and switch between robots as needed.
Enables higher precision in additive manufacturing by accurately switching between robots to minimize positional deviations and improve the quality of the work results.
Smart Images

Figure 0007758639000006 
Figure 0007758639000007 
Figure 0007758639000008
Abstract
Description
[Technical Field]
[0001] The present invention relates to a method for controlling multiple robots and a device for controlling multiple robots. [Background technology]
[0002] Conventionally, additive manufacturing (AM) objects have been manufactured by using a robot to build up weld beads. Furthermore, when welding is performed automatically, an operator must provide instructions on the welding path and posture beforehand. To improve the manufacturing accuracy, AM must be controlled by taking into account positional deviations caused by the robot's posture and structural errors.
[0003] For example, Patent Document 1 discloses a method for correcting the target position of a robot based on pre-stored motion errors. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 60-205713 Summary of the Invention [Problem to be solved by the invention]
[0005] In some configurations, such as the additive manufacturing described above, multiple robots share the work and perform operations to obtain a single work result. Such multiple robots are sometimes arranged so that their operating ranges partially overlap. Even within the same system, the amount of misalignment between the robots can vary depending on their structural errors, postures, and target positions. Therefore, in order to achieve higher quality operations, a method was needed to switch which robot to assign to an operation relative to a certain target position, taking into account the amount of misalignment between each of the multiple robots.
[0006] In view of the above problems, the present invention aims to switch and control multiple robots to obtain more accurate work results when multiple robots work together. [Means for solving the problem]
[0007] In order to solve the above problems, the present invention has the following configuration: That is, a method for controlling a plurality of robots each having a tool at the end of an arm, comprising: an acquiring step of acquiring path information indicating a target position where a tip end of an arm of the robot is located when the robot is operated; a deriving step of deriving a deviation amount from a target position of each of the plurality of robots when each of the plurality of robots is operated based on the target position indicated by the path information; a selection step of selecting, from the plurality of robots, a robot to be caused to perform an action along the path indicated by the path information, based on the deviation amounts of each of the plurality of robots derived in the derivation step; A control method comprising:
[0008] Another aspect of the present invention has the following configuration: A control device for a plurality of robots each having a tool at an end of an arm, comprising: an acquisition means for acquiring path information indicating a target position where the arm tip of the robot is located when the robot is operated; a derivation means for deriving a deviation amount from a target position of each of the plurality of robots when each of the plurality of robots is operated based on the target position indicated by the path information; a selection means for selecting, from the plurality of robots, a robot to be caused to perform an action along the path indicated by the path information, based on the deviation amounts of each of the plurality of robots derived by the derivation means; A control device having: [Effects of the Invention]
[0009] According to the present invention, it is possible to switch between multiple robots and perform work with higher precision. [Brief explanation of the drawings]
[0010] [Figure 1] 1 is a schematic configuration diagram showing an example of the configuration of an additive manufacturing system according to an embodiment of the present invention; [Figure 2A] FIG. 2 is a schematic diagram showing the concept of a DB configuration for deriving a correction amount according to an embodiment of the present invention. [Figure 2B] FIG. 4 is a table diagram showing an example of a DB configuration for deriving a correction amount according to an embodiment of the present invention. [Figure 3] FIG. 10 is a diagram showing an example of derivation of a correction amount according to an embodiment of the present invention. [Figure 4] FIG. 1 is a diagram for explaining overlapping of working ranges of a robot according to an embodiment of the present invention. [Figure 5A] FIG. 2 is a diagram for explaining a path for additive manufacturing according to an embodiment of the present invention. [Figure 5B] FIG. 10 is a diagram for explaining the amount of deviation on a path for additive manufacturing according to one embodiment of the present invention. [Figure 6A] 10A and 10B are diagrams for explaining differences in positional deviations between robots according to an embodiment of the present invention. [Figure 6B] 10A and 10B are diagrams for explaining differences in positional deviations between robots according to an embodiment of the present invention. [Figure 7A] 10A and 10B are diagrams for explaining the division of labor corresponding to the positional deviation of each robot according to an embodiment of the present invention. [Figure 7B] 10A and 10B are diagrams for explaining the division of labor corresponding to the positional deviation of each robot according to an embodiment of the present invention. [Figure 8] 10 is a flowchart of a robot switching process according to an embodiment of the present invention. [Figure 9] 10 is a flowchart of a process for deriving a deviation amount of a robot according to an embodiment of the present invention. [Figure 10] FIG. 2 is a schematic diagram showing an example of robot work allocation according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0011] Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. Note that the embodiment described below is one embodiment for explaining the present invention and is not intended to be interpreted as limiting the present invention. Furthermore, not all of the configurations described in each embodiment are necessarily essential configurations for solving the problems of the present invention. Furthermore, in each drawing, the same components are assigned the same reference numerals to indicate corresponding relationships.
[0012] First Embodiment A first embodiment of the present invention will be described below. Here, an additive manufacturing system capable of performing additive manufacturing will be described as an example. However, the present invention is not limited to this, as long as the essential parts of the present invention can be implemented in any configuration.
[0013] [System Configuration] Fig. 1 is a schematic diagram of an additive manufacturing system to which the present invention can be applied. In this embodiment, the additive manufacturing system is equipped with two welding robots, but Fig. 1 shows only one welding robot as an example. Also, although the information processing device for controlling the welding robots will be described as a single device controlling multiple welding robots 104, a separate control device may be provided for each welding robot, and these may be configured to work together.
[0014] The additive manufacturing system 1 according to this embodiment includes an additive manufacturing device 100 and an information processing device 200 that controls the additive manufacturing device 100. Fig. 1 shows a three-dimensional coordinate system represented by X, Y, and Z axes. The origin position of the three-dimensional coordinate system is not particularly limited, but can be set at any position, and the additive manufacturing system 1 performs additive manufacturing operations based on this origin position.
[0015] The additive manufacturing apparatus 100 includes a welding robot 104, a filler material supply unit 105 that supplies a filler material (welding wire) M to the torch 102, a robot controller 106 that controls the welding robot 104, and a power source 107.
[0016] The welding robot 104 is an articulated robot, and a torch 102 attached to the tip shaft supports a filler metal M so that the filler metal M can be continuously supplied. The torch 102 holds the filler metal M protruding from the tip. The position and posture of the torch 102 can be set arbitrarily in three dimensions within the range of the degrees of freedom of the robot arm that constitutes the welding robot 104.
[0017] The torch 102 has a shield nozzle (not shown) through which a shielding gas is supplied. The shielding gas blocks the atmosphere and prevents oxidation and nitridation of the molten metal during welding, thereby reducing welding defects. The arc welding method used in this embodiment may be either a consumable electrode method such as shielded metal arc welding or carbon dioxide gas arc welding, or a non-consumable electrode method such as TIG welding or plasma arc welding, and is selected appropriately depending on the additively shaped object W to be formed.
[0018] A shape sensor 101 that is movable to follow the movement of the torch 102 is provided near the torch 102. The shape sensor 101 detects the shape of the layered object W formed on the base 103. In this embodiment, the shape sensor 101 is capable of detecting the height, position, width, and the like of a weld bead 108 (also simply referred to as a "bead") that constitutes the layered object W. Information detected by the shape sensor 101 is transmitted to the information processing device 200. The configuration of the shape sensor 101 is not particularly limited, and it may be configured to detect the shape by contact (a contact sensor) or may be configured to detect the shape using a laser or the like (a non-contact sensor). The means for deriving the shape of the formed bead is not limited to the shape sensor 101 installed near the torch 102. For example, it may be configured to indirectly derive the shape of the formed bead. As an example, a database (DB) showing the profile of the welding current and the feed rate of the filler material M and the tendency of the bead height may be defined in advance, and the height of the formed bead may be derived based on the welding conditions during manufacturing.
[0019] In the welding robot 104, when the arc welding method is a consumable electrode type, a contact tip is placed inside the shield nozzle, and a filler material M to which a melting current is supplied is held by the contact tip. The torch 102 holds the filler material M and generates an arc from the tip of the filler material M in a shielding gas atmosphere. The filler material M is fed from a filler material supply unit 105 to the torch 102 by a feed mechanism (not shown) attached to a robot arm or the like. Then, as the torch 102 moves, the continuously fed filler material M is melted and solidified, and a linear weld bead 108, which is a molten solidified body of the filler material M, is formed on the base 103. The weld beads 108 are layered to form an additive manufacturing object W.
[0020] The heat source for melting the filler material M is not limited to the arc described above. For example, other types of heat sources may be used, such as a heating method that combines an arc and a laser, a heating method that uses plasma, or a heating method that uses an electron beam or a laser. When heating with an electron beam or a laser, the amount of heat can be controlled more precisely, and the state of the weld bead 108 can be maintained more appropriately, contributing to further improving the quality of the additive manufacturing object W.
[0021] Based on instructions from the information processing device 200, the robot controller 106 drives the welding robot 104 using a predetermined drive program to form an additive manufacturing object W on the base 103. That is, based on commands from the robot controller 106, the welding robot 104 moves the torch 102 while melting the filler material M with an arc. The power supply 107 is a welding power source that supplies the robot controller 106 with the power required for welding. The power supply 107 can operate in multiple control modes and can switch the power (current, voltage, etc.) when supplying power to the robot controller 106 depending on the control mode. The filler material supply unit 105 controls the supply and feed speed of the filler material M to the torch 102 of the welding robot 104 based on instructions from the information processing device 200.
[0022] The information processing device 200 may be, for example, an information processing device such as a PC (Personal Computer). Each function shown in FIG. 1 may be realized by a control unit (not shown) reading and executing a program for the function according to this embodiment stored in a storage unit (not shown). The storage unit may include a volatile storage area such as a random access memory (RAM), a non-volatile storage area such as a read-only memory (ROM) or a hard disk drive (HDD). Furthermore, the control unit may be a central processing unit (CPU), a graphical processing unit (GPU), or a general-purpose computing on graphics processing units (GPGPU).
[0023] The information processing device 200 includes a formation control unit 201, a power supply control unit 202, a feed control unit 203, a DB management unit 204, a shape data acquisition unit 205, a teaching data acquisition unit 206, a correction amount calculation unit 207, and a peripheral device control unit 208. The formation control unit 201 generates a control signal for the robot controller 106 during formation, based on design data (e.g., CAD / CAM data) of the additively formed object W to be formed. The control signal here includes the movement trajectory of the torch 102 by the welding robot 104, welding conditions for forming the weld bead 108, the feed rate of the filler material M by the filler material supply unit 105, and the like. The movement trajectory of the torch 102 is not limited to the trajectory of the torch 102 while forming the weld bead 108 on the base 103, but also includes, for example, the movement trajectory of the torch 102 to a start position for forming the weld bead 108.
[0024] The power supply control unit 202 controls the power supply (control mode) from the power supply 107 to the robot controller 106. Depending on the control mode, the current and voltage values and current waveform (pulse) when forming beads of the same shape may differ. In addition, the power supply control unit 202 timely acquires information on the current and voltage provided to the robot controller 106 from the power supply 107.
[0025] The feed control unit 203 controls the feed speed and timing of the filler material M by the filler material supply unit 105. The feed control of the filler material M here includes not only payout (forward feed) but also return (reverse feed). The DB management unit 204 manages the DB (database) according to this embodiment. The DB according to this embodiment includes a database that specifies the amount of correction for correcting positional deviation, which will be described later. The configuration of the DB will be described in detail later. The shape data acquisition unit 205 acquires shape data of the weld bead 108 formed on the base 103, which is detected by the shape sensor 101.
[0026] The teaching data acquisition unit 206 acquires teaching data including parameters taught by an operator via, for example, a teaching pendant (not shown). The modeling control unit 201 can model the layered object W by controlling the welding robot 104 using the design data and teaching data of the layered object W. In this embodiment, these data are collectively referred to as "lamination plan data." Note that the data included in the lamination plan data is not particularly limited. The correction amount calculation unit 207 derives the amount of deviation of positional deviation caused by manufacturing errors of the welding robot 104 through processing described below. Furthermore, the correction amount calculation unit 207 determines the amount of correction based on the derived amount of deviation, and determines which of the multiple welding robots 104 to use for modeling.
[0027] The peripheral device control unit 208 controls the operation of peripheral devices provided around the welding robot 104 included in the additive manufacturing system 1. Although not shown in FIG. 1 , peripheral devices include, for example, a positioner for adjusting the position and orientation of the base 103 on which the additive manufacturing object W is formed, and a slider that can slide the welding robot 104 in a predetermined direction. Therefore, the welding robot 104 may perform additive manufacturing operations in conjunction with these peripheral devices.
[0028] Furthermore, the coordinate system in the design data according to this embodiment is associated with the coordinate system of the welding robot 104, and three axes (X-axis, Y-axis, and Z-axis) of the coordinate system are set so that a three-dimensional position is defined with an arbitrary position as the origin. In this embodiment, two welding robots 104 are provided, and the coordinate systems of the respective welding robots 104 are associated with each other. Therefore, an absolute coordinate system commonly used by the two welding robots 104 may also be defined.
[0029] The additive manufacturing system 1 configured as described above melts the filler material M while moving the torch 102 by the welding robot 104 according to a movement trajectory of the torch 102 defined by the set design data, and supplies the molten filler material M onto the base 103. In this way, the multiple welding robots 104 form an additively manufactured object W in which multiple linear weld beads 108 are arranged and stacked on the top surface of the base 103.
[0030] [Database] In this embodiment, in the shape data for the additively manufactured object W indicated by the design data, points (hereinafter referred to as "specified points") on a route (hereinafter also referred to as "path") during modeling are specified. When the tip of the torch 102 is positioned at this specified point for modeling, positional deviation may occur due to manufacturing errors of the welding robot 104, etc. Therefore, in this embodiment, in order to derive the correction amount for correcting this positional deviation, a database (hereinafter also referred to as a "robot error map") is used that defines the correction amount for each coordinate and posture in a three-dimensional coordinate system. This database is defined in advance, for example, based on actual measurements when the tip of the torch 102 of the welding robot 104 is moved relative to the target coordinates.
[0031] 2A is a diagram showing the conceptual configuration of a robot error map according to this embodiment. As shown in FIG. 2A, in the robot error map 300, a correction amount is defined for each coordinate point 301 on a grid in three-dimensional space. In this case, the interval between the coordinate points is not particularly limited. Processing when a specified point included on the path of the design data has coordinates other than those defined in the robot error map 300 will be described later.
[0032] FIG. 2B is a table diagram showing an example of the configuration of the robot error map 300 according to this embodiment. In this embodiment, as parameters indicating the position and posture of the welding robot 104 during modeling, coordinate information (x, y, z) indicating the coordinates of the X-axis, Y-axis, and Z-axis of a three-dimensional coordinate system, and posture information (α, β, γ) indicating the rotation angles around the X-axis, Y-axis, and Z-axis of the tip end of the welding robot 104 (e.g., the torch 102), respectively, are used. Note that the coordinate information and posture information are not limited to those described above. For example, parameters (r, θ, z) corresponding to a cylindrical coordinate system may be used. Furthermore, the posture information may be defined based on the angle and position of each joint of the welding robot 104 holding the torch 102.
[0033] Also, dx, dy, and dz indicate the correction amounts for the X-axis, Y-axis, and Z-axis, respectively. In other words, the position of the tip is corrected assuming that a positional deviation occurs by the correction amounts shown here. In FIG. 2B, the correction amounts (dx, dy, dz) are defined corresponding to (x, y, z, α, β, γ). For example, (x 111 ,y 111 ,z 111 ,α 111 ,β 111 ,γ 111.1 )=(dx 111.1 ,dy 111.1 ,dz 111.1) is defined. The subscripts of each parameter are used to uniquely identify the position at the grid points shown in Figure 2A. In the example of Figure 2A, there are 27 grid points (i.e., coordinate points), which are set to identify the positions of the three axes. Furthermore, since the positional deviation may differ depending on the posture even for the same coordinate point, for convenience, the difference in posture is indicated by the decimal point of the subscript (.1, .2, ...).
[0034] The correction amount defined in robot error map 300 is not limited to the amount of deviation between the target position to be specified in the control of welding robot 104 and the tip position of torch 102. For example, it may be the amount of deviation between a trajectory (e.g., a straight line) that geometrically connects multiple target positions specified in the control and the trajectory that the tip of torch 102 actually passes through. Robot error maps for these correction amounts may be defined separately. The target positions of the specified points specified in the lamination plan data may be derived by referring to the former, and the area connecting the specified points may be derived by referring to the latter.
[0035] The robot error map 300 according to this embodiment may be updated as appropriate, and the method of updating is not particularly limited. Furthermore, the robot error map 300 may be updated when the configuration of the welding robot 104 changes or when a certain operating time has elapsed. Furthermore, since multiple welding robots 104 are used in this embodiment, multiple robot error maps are prepared corresponding to the respective welding robots.
[0036] Next, we will explain how to derive the correction amount for a designated point whose coordinates are not defined in the robot error map 300. First, if the designated point matches a coordinate point defined in the robot error map 300, the correction amount for the designated point can use the value in the robot error map 300. On the other hand, if the designated point does not match any of the coordinate points not defined in the robot error map 300, the correction amount is derived from the correction amounts of the coordinate points located around the designated point.
[0037] FIG. 3 is a conceptual diagram for explaining a method for deriving a correction amount according to this embodiment. Here, an example will be explained in which a designated point P corresponds to a coordinate for which a correction amount is not defined in the robot error map 300. The parameters of the designated point P are (x, y, z, α, β, γ). First, of the coordinate points defined in the robot error map 300, the coordinate point closest to the designated point P (hereinafter referred to as the "closest point") is identified. Here, the closest point is the coordinate point Q ijk,nearest The following description will be given assuming that:
[0038] From the robot error map 300, coordinate point Q ijk,nearest Here, we obtain the correction amount specified for the coordinate point Q ijk,nearest The correction amounts for the X, Y, and Z axes are dx(x ijk ,y ijk ,z ijk ,α ijk ,β ijk ,γ ijk ), dy(x ijk ,y ijk ,z ijk ,α ijk ,β ijk ,γ ijk ), dz(x ijk ,y ijk ,z ijk ,α ijk ,β ijk ,γ ijk ) is obtained. At this time, the specified point P and the coordinate point Q ijk,nearest If the distance between the coordinate point Q and the coordinate point Q is smaller than a predetermined threshold, ijk,nearest The same value as the correction amount defined for the specified point P is used as the correction amount for the specified point P. The predetermined threshold value for the distance between the points here may be defined in advance.
[0039] The coordinate point Q obtained from the robot error map 300 ijk,nearest Attitude condition θ q and the posture condition θ set for the specified point P p If different from the posture condition θ p For example, θ p =(α,β,γ),θ q= (αu, βv, γw), α=αu, β=βv, γ≠γw, and when linear interpolation is performed with respect to γ, the correction amount d can be derived using the following equation (1). d(γ)=(1-t)d(γ w1 )+td(γ w2 ) ···(1) However, 0 <t<1,γ w1 ≠γ w2 ,γ w1 <γ<γ w2 Let's say
[0040] Similarly, interpolation may be performed using bilinear interpolation (α=αi, β≠βi, γ≠γi) or intra-element interpolation (α≠αi, β≠βi, γ≠γi). These techniques are well known, and detailed explanations will be omitted here. Furthermore, the interpolation method is not limited to linear interpolation, and may be determined by defining a nonlinear function such as Lagrange interpolation.
[0041] On the other hand, the coordinate point Q, which is the closest point to the specified point P, ijk,nearest In this embodiment, if the distance between the specified point P and the coordinate points Q is equal to or greater than a predetermined threshold, a new correction amount is derived. ijk The correction amount corresponding to the specified point P is derived based on the correction amount for the multiple coordinate points Q ijk The coordinate point Q is the closest point to ijk,nearest For example, the eight coordinate points shown in FIG. 3 may be used. The multiple coordinate points of interest here may be coordinate points at other positions. For example, a total of six coordinate points may be used, including coordinate points on the front, back, left, right, and directly above and directly below the center point of the grid in FIG. 2A. Alternatively, multiple coordinate points included in the range of a sphere formed by a predetermined radius R with the specified point P as the center may be used.
[0042] In this case, for example, the least squares method may be used as a calculation method. First, the coordinate point Q ijkBased on this information, the following determinants (2) to (5) are defined. Here, A is a matrix indicating the coordinates of each designated point. Then, using the least squares method, the coefficient w is found from equation (6) to calculate the correction amount in the x-axis direction at designated point P, i.e., the amount of deviation b.
[0043]
number
[0044]
number
[0045]
number
[0046]
number
[0047]
number
[0048] Although the above formula is used to calculate the amount of deviation in the X-axis direction, it can also be calculated in the Y-axis and Z-axis directions in the same way.
[0049] Furthermore, although the above description has been given using an example of a deviation amount (correction amount) specific to the robot, the present invention is not limited to this. For example, a DB of deviation amounts (correction amounts) that takes into account structural errors of the slider on which the welding robot 104 is installed, a positioner provided at the position where the layered object W is to be manufactured, and the like may be further provided. The deviation amount may then be derived by combining these DBs.
[0050] [Misalignment amount for each welding robot] FIG. 4 is a schematic diagram illustrating the overlap of the ranges where modeling is possible by the multiple welding robots included in the additive manufacturing system 1 according to this embodiment. Here, two welding robots 104a and 104b are used as an example. The additively manufactured object W is assumed to be manufactured on a positioner 110. The welding robot 104 can assume various postures and can position its tip (e.g., the torch 102) at a desired position in three-dimensional space. In FIG. 4, a range 401 is shown as the operating range of the welding robot 104a located on the left side. In other words, the welding robot 104a can perform modeling in the range to the left of the boundary of the range 401. Meanwhile, in FIG. 4, a range 402 is shown as the operating range of the welding robot 104b located on the right side. In other words, the welding robot 104b can perform modeling in the range to the right of the boundary of the range 402. Therefore, in an overlapping area 403 in the three-dimensional space where the area 401 and the area 402 overlap, both the welding robots 104a and 104b can perform the modeling operation.
[0051] This embodiment deals with switching control of the welding robots during additive manufacturing within this overlapping range 403. As described above, each welding robot may have a different amount of deviation from a certain target position due to its structural error, posture, and other factors. In this embodiment, the quality of the additively manufactured object W is improved by selecting the welding robot 104 with the least amount of deviation to perform additive manufacturing. As described above, using the robot error map 300 makes it possible to correct for positional deviation. However, the smaller the correction, the less control required for returning to the original posture after the additive manufacturing operation. Therefore, it is more preferable to use the robot with the smaller correction amount, i.e., the smaller the positional deviation. Note that while two welding robots 104 are used as an example here, similar control is possible for more welding robots as long as there is an overlapping region.
[0052] 5A is a conceptual diagram showing an example of paths and designated points used when the tip of welding robot 104 performs additive manufacturing. Here, a path 500 extending along the X-axis direction will be described as an example, with four designated points 501, 502, 503, and 504 included in the path 500.
[0053] Figure 5B shows the amount of deviation in the X-axis direction at each specified point on the path 500 shown in Figure 5A for a certain welding robot 104. In Figure 5B, the horizontal axis represents the position in the X-axis direction, and the vertical axis represents the amount of deviation. Here, the explanation will be given assuming that the posture of the welding robot 104 is the same at each specified point.
[0054] 5B, the amount of deviation may vary depending on the position in the X direction. In this example, the amount of deviation for designated point 502 is the smallest, and the amount of deviation for designated point 504 is the largest. The relationship of the amount of deviation for each designated point differs for each welding robot 104.
[0055] 6A and 6B are graphs illustrating the difference in the amount of deviation between two welding robots 104. As an example, the following description will be given assuming that Fig. 6A shows the amount of deviation for welding robot 104a shown in Fig. 4, and Fig. 6B shows the amount of deviation for welding robot 104b shown in Fig. 4. In Fig. 6A and Fig. 6B, the horizontal axis indicates the position of a certain target position in the X direction, and the vertical axis indicates the amount of deviation in the Y direction.
[0056] Also, it is assumed that pass section 601 shown in Fig. 6A and pass section 602 shown in Fig. 6B represent the same section. Looking at the amount of deviation between pass section 601 and pass section 602, the amount of deviation shown in Fig. 6B represents a smaller value. In other words, it can be determined that for the pass section of interest, welding robot 104b is able to perform additive manufacturing with a smaller amount of deviation.
[0057] 7A and 7B are graphs illustrating the division of passes. In FIGS. 7A and 7B, the horizontal axis indicates the position of a certain target position in the X direction, and the vertical axis indicates the amount of deviation in the Y direction. Graph 701 indicates the amount of deviation for welding robot 104a shown in FIG. 4, and graph 702 indicates the amount of deviation for welding robot 104b shown in FIG. 4. Here, attention is focused on a certain pass section 703. Within pass section 703, the amount of deviation for welding robot 104a is smaller in part (graph 701), and the amount of deviation for welding robot 104b is smaller in another part (graph 702). In such cases, the pass section is divided according to the amount of deviation for the multiple welding robots 104. For example, pass section 703 shown in FIG. 7A may be divided into two pass sections, 703a and 703b, as shown in FIG. 7B.
[0058] The welding robots 104 are controlled to switch between the multiple welding robots 104 for each of the divided paths as described above to perform additive manufacturing. The division method here is not particularly limited. For example, the robots may be divided at a position where the amount of deviation changes, as shown in FIG. 7B. Alternatively, the robots may not be divided depending on the path position or the shape of the additive object.
[0059] [Processing flow] FIG. 8 is a flowchart of the welding robot switching control process according to this embodiment. This process flow is executed by the information processing device 200. For example, this process flow may be implemented by a processing unit such as a CPU included in the information processing device 200 reading out from a storage unit (not shown) and executing a program for implementing each part shown in FIG. 1. Furthermore, before this process flow is executed, it is assumed that a robot error map 300 is defined and stacking plan data for additive manufacturing is prepared. Note that this process flow may be executed in advance before the additive manufacturing operation is started, or may be executed in conjunction with the additive manufacturing operation. In this embodiment, two welding robots 104 are taken as an example and are described as robot A and robot B.
[0060] This processing flow assumes switching in the overlapping range of multiple welding robots 104 as shown in Fig. 4. Therefore, in the range where only one welding robot 104 can perform modeling, that welding robot 104 performs modeling, and the explanation here will be omitted.
[0061] In S801, the information processing apparatus 200 acquires information about a path for modeling from stacking plan data. As described above, a path is configured to include a plurality of designated points, and information about the designated points is acquired.
[0062] In S802, the information processing device 200 focuses on one path from among the paths acquired in S801 (hereinafter referred to as the "path of interest").
[0063] In S803, the information processing device 200 derives the amount of deviation of each of one or more designated points included in the path of interest for the robot A. Details of the processing of this step will be described with reference to FIG.
[0064] In S804, the information processing device 200 derives the amount of deviation of each of one or more designated points included in the path of interest for the robot B. Details of the processing of this step will be described with reference to FIG.
[0065] In S805, the information processing device 200 compares the deviation amount of robot A derived in S803 with the deviation amount of robot B derived in S804. This comparison may be performed using the integral value of the deviation amount obtained for each specified point included in the path of interest. Furthermore, since the deviation amount can be derived for each of the X-axis, Y-axis, and Z-axis, evaluation may be performed based on the deviation amounts in these three directions. Furthermore, of the three directions, the system or an operator may set which direction is given importance based on the position of the path, etc., and comparison may be performed according to the importance of that direction. As described above, processing may be performed to divide the path of interest according to the deviation amount.
[0066] In S806, the information processing device 200 selects a robot to process the target path based on the result of the comparison process in S805.
[0067] In S807, the information processing device 200 determines whether or not there is an unprocessed path. If there is an unprocessed path (YES in S807), the process of the information processing device 200 returns to S802, and the process is repeated focusing on the next path. If there is no unprocessed path (NO in S807), this processing flow ends.
[0068] (Displacement amount derivation process) 9 is a flowchart for deriving the amount of deviation of the welding robot 104 from a specified point according to this embodiment. This process corresponds to steps S803 and S804 in Fig. 8. The process contents of S803 and S804 are the same, but the welding robot 104 and the robot error map 300 that are the target are different.
[0069] In S901, the information processing device 200 acquires one designated point (hereinafter referred to as the "designated point of interest") from among the designated points included in the path of interest, and the parameters related to the additive manufacturing of that point. The parameters here are the six parameters (x, y, z, α, β, γ) as described above.
[0070] In S902, the information processing device 200 identifies the closest point to the specified point of interest from the robot error map 300 defined in advance for the welding robot 104, and acquires its correction amount information. The correction amount information here is three parameters, dx, dy, and dz, which are the correction amounts for the X-axis, Y-axis, and Z-axis, respectively. As described above, there are cases where the coordinates of the specified point of interest and the coordinates of the closest point coincide with each other.
[0071] In S903, the information processing device 200 determines whether the distance between the specified point of interest and the closest point is less than a predetermined threshold. The predetermined threshold here may be defined in advance. If the distance between the specified point of interest and the closest point is less than the predetermined threshold (YES in S903), the processing of the information processing device 200 proceeds to S904. On the other hand, if the distance between the specified point of interest and the closest point is equal to or greater than the predetermined threshold (NO in S903), the processing of the information processing device 200 proceeds to S905.
[0072] In S904, the information processing apparatus 200 sets the correction amount information of the closest point acquired in S902 as the amount of deviation of the specified point of interest. Then, the processing of the information processing apparatus 200 proceeds to S907.
[0073] In S905, the information processing device 200 identifies a plurality of neighboring coordinate points located near the specified point of interest from the robot error map 300, and acquires correction amount information for those neighboring coordinate points. The plurality of neighboring coordinate points may be, for example, the eight neighboring coordinate points shown in FIG. 3.
[0074] In S906, the information processing device 200 derives a correction amount for the specified point of interest based on the correction amount information of the multiple neighboring coordinate points acquired in S905. As described above, the derivation method here may be based on the least squares method. Then, the information processing device 200 sets the derived correction amount as the deviation amount of the specified point of interest. Then, the processing of the information processing device 200 proceeds to S907.
[0075] In S907, the information processing device 200 determines whether or not there are any unprocessed designated points among the designated points included in the target path. If there are any unprocessed designated points (YES in S907), the information processing device 200 returns to S901 and repeats the process. On the other hand, if there are no unprocessed designated points (NO in S907), this processing flow ends.
[0076] The designated points to be processed in the above flowchart may be all designated points included in the path indicated by the stacking plan data, or only some designated points included in the path. Also, correction may be performed only on the value of one of the X-axis, Y-axis, or Z-axis.
[0077] 8, the process in Fig. 9 is performed for each of the multiple welding robots 104 where there is an overlapping area for modeling. Furthermore, a control command that defines the operation of the actual additive manufacturing system 1 may be generated depending on the result of the above process.
[0078] [Control example] FIG. 10 is a schematic diagram showing an example of switching between multiple welding robots 104 for paths when manufacturing a layered object W using the control according to this embodiment. Here, two robots A and B are shown as an example of multiple welding robots 104. In this example, the layered object W is made up of eight paths Pa to Ph. FIG. 10 shows an example of the direction of path manufacturing. Through the processes shown in FIGS. 8 and 9 above, paths Pa, Pc, Pf, Pg, and Ph are manufactured by robot A. Paths Pb, Pd, and Pe are manufactured by robot B.
[0079] The order in which each path is formed may be based on the lamination plan data or may be adjusted based on the result of path allocation to the welding robots 104. For example, when one of the multiple welding robots 104 is forming a path, the other welding robots may be controlled to form paths that do not affect the formation of the path. At this time, the unselected welding robots may be controlled to wait.
[0080] As described above, according to this embodiment, when a plurality of robots work together to perform additive manufacturing, it is possible to switch between the plurality of robots so as to obtain a modeled object with higher accuracy.
[0081] <Other embodiments> In the above configuration, the deviation amount is calculated using the least squares method as shown in Equations (2) to (6). Alternatively, the deviation amount for the specified point P may be derived using a trained model obtained by machine learning. In this case, a trained model is generated by repeating a learning process in which, among the parameters of Equations (2) to (6), the parameters of the A matrix are used as inputs and the parameters of the b matrix (i.e., the deviation amount) are used as outputs. The machine learning here uses, for example, a deep learning technique using a neural network, and supervised learning will be described as an example. Note that the specific deep learning technique (algorithm) is not particularly limited, and a known method such as a convolutional neural network (CNN) may be used.
[0082] Note that the learning process does not necessarily have to be performed by the information processing device 200. For example, the information processing device 200 may be configured to provide learning data to a learning server (not shown) provided external to the information processing device 200, and to perform the learning process on the server side. Then, the server may be configured to provide a trained model to the information processing device 200 as needed. Such a learning server may be located on a network (not shown), such as the Internet, and the learning server and the information processing device 200 are connected to each other so as to be able to communicate with each other. In other words, the information processing device 200 may operate as a machine learning device, or an external device may operate as a machine learning device.
[0083] In the above embodiment, when controlling the allocation of welding robots 104 during additive manufacturing, real-time measured values may be used instead of robot error map 300. In this case, for example, a shape sensor 101 provided around torch 102 or a position detection function using torch 102 may be used. Then, the amount of deviation of welding robot 104 in a certain posture from the target position may be detected as appropriate, and the allocation of welding robots may be performed based on the result.
[0084] Furthermore, while the above example illustrates the division of one pass into multiple sections, this is not limiting. For example, in additive manufacturing, one pass may be very long. In such cases, the quality may be improved by dividing one pass into multiple sections shorter than a predetermined length. Similarly, when one pass is very short, multiple passes may be grouped together based on the relationship with surrounding passes, and the welding robot assignment may be determined for each group. In this way, the welding robot assignment is not limited to a section consisting of one pass, and the section may be controlled to be divided, enlarged, or reduced as appropriate. When the section is changed by division, enlargement, reduction, or the like, the deviation amount shown in Figures 8 and 9 may be calculated again.
[0085] In the above embodiment, a welding robot equipped with a torch has been described as an example, but the present invention is not limited to this. For example, the present invention can be applied to any configuration in which an arbitrary tool is installed at the tip of the robot instead of the torch and its position is corrected.
[0086] In addition, in the present invention, a program or application for realizing the functions of one or more of the above-mentioned embodiments can be supplied to a system or device using a network or a storage medium, etc., and one or more processors in the computer of the system or device can read and execute the program.
[0087] Alternatively, it may be realized by a circuit that realizes one or more functions (for example, an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array)).
[0088] As described above, the present specification discloses the following: (1) A method for controlling a plurality of robots each having a tool at the end of an arm, comprising: an acquiring step of acquiring path information indicating a target position where a tip end of an arm of the robot is located when the robot is operated; a deriving step of deriving a deviation amount from a target position of each of the plurality of robots when each of the plurality of robots is operated based on the target position indicated by the path information; a selection step of selecting, from the plurality of robots, a robot to be caused to perform an action along the path indicated by the path information, based on the deviation amounts of each of the plurality of robots derived in the derivation step; A control method comprising: This configuration allows multiple robots to be switched between to perform work with greater precision.
[0089] (2) A control method as described in (2), in which, in the selection process, a robot to perform an action along the path indicated by the path information is selected from among the plurality of robots based on the integral value of the deviation amount of each of the plurality of target positions indicated by the path information. According to this configuration, it is possible to select a robot that will perform an action with higher accuracy based on the integral value of the deviation amounts of a plurality of target positions.
[0090] (3) a modifying step of modifying one or more sections indicated by the path information into new sections by dividing, reducing, or expanding the sections; performing the processes in the derivation step and the selection step based on the target position included in the section changed in the change step; (1) The control method described above. This configuration makes it possible to adjust the path so that work can be performed with greater precision.
[0091] (4) The operation by the plurality of robots is additive manufacturing to manufacture an additively manufactured object, a detecting step of detecting shape information of the object formed by the robot and position information of the robot when the object is formed, In the deriving step, a deviation amount of the robot is derived based on the shape information and the position information; The control method according to (1), wherein the detection step, the derivation step, and the selection step are performed while the additive manufacturing object is being manufactured. According to this configuration, it is possible to perform additive manufacturing with higher accuracy by switching between multiple robots depending on the actual modeling results.
[0092] (5) The control method described in (1), further comprising a control step of causing the second robot to either print a second path different from the first path or wait, based on the distance between the tip of a first robot selected in the selection step as the robot to print the first path and a second robot not selected to print the first path. According to this configuration, it is possible to control the operation of the other robot while preventing interference with the selected robot, depending on the state of the other robot.
[0093] (6) A control device for a plurality of robots each having a tool at the end of an arm, an acquisition means for acquiring path information indicating a target position where the arm tip of the robot is located when the robot is operated; a derivation means for deriving a deviation amount from a target position of each of the plurality of robots when each of the plurality of robots is operated based on the target position indicated by the path information; a selection means for selecting, from the plurality of robots, a robot to be caused to perform an action along the path indicated by the path information, based on the deviation amounts of each of the plurality of robots derived by the derivation means; A control device having: This configuration allows multiple robots to be switched between to perform work with greater precision. [Explanation of symbols]
[0094] 1. Additive manufacturing system 100...Layered manufacturing device 101...Shape sensor 102...Torch 103...Bass 104...Welding robot 106...Robot controller 107…Power supply 108...weld bead 200...Information processing device 201...Modeling control unit 202...Power supply control unit 203...Feed control section 204...DB (Database) Management Department 205...Shape data acquisition unit 206...Teaching data acquisition unit 207…Correction amount calculation unit 208...Peripheral device control unit W...Layered object M…Filler metal
Claims
1. A control method for an additive manufacturing system including an information processing device that controls a plurality of robots each having a tool at an arm tip, comprising: an acquiring step of acquiring path information indicating a target position where a tip end of an arm of the robot is located when the robot is operated; a derivation step of deriving a correction amount for eliminating a deviation between the target position of each of the plurality of robots and the arm tip when each of the plurality of robots is operated based on the target position indicated by the path information; managing a database in which the correction amount derived based on a three-dimensional coordinate system of the space for additive manufacturing is defined for each piece of coordinate information and orientation information; a selection step of selecting, from the plurality of robots, a robot to be caused to perform an action along the path indicated by the path information, based on the correction amount for each of the plurality of robots derived in the derivation step and defined in the database, A control method for an additive manufacturing system, wherein the derivation process, when a coordinate point for which the correction amount is not defined in the database is a designated point of the arm tip, identifies the coordinate point closest to the designated point as the closest point, and obtains the correction amount defined for this closest point from the database.
2. 2. The control method according to claim 1, wherein in the selection step, a robot to perform an action in accordance with the path indicated by the path information is selected from the plurality of robots based on an integral value of the deviation amounts of each of the plurality of target positions indicated by the path information.
3. a modifying step of modifying one or more sections indicated by the path information into new sections by dividing, reducing, or expanding the sections; performing the processes in the derivation step and the selection step based on the target position included in the section changed in the change step; The control method according to claim 1 .
4. An additive manufacturing system including an information processing device that controls a plurality of robots each having a tool at the tip of an arm, an acquisition means for acquiring path information indicating a target position where the arm tip of the robot is located when the robot is operated; a derivation means for deriving a correction amount for eliminating a deviation between the target position of each of the plurality of robots and the arm tip when each of the plurality of robots is operated based on the target position indicated by the path information; a management means for managing a database in which the correction amount derived based on a three-dimensional coordinate system of the space for additive manufacturing is defined for each piece of coordinate information and orientation information; and a selection means for selecting, from the plurality of robots, a robot to be caused to perform an action along the path indicated by the path information, based on the correction amount for each of the plurality of robots derived by the derivation means and defined in the database, When a coordinate point for which the correction amount is not defined in the database is a designated point of the arm tip, the derivation means identifies the coordinate point closest to the designated point as the closest point, and obtains the correction amount defined for this closest point from the database.
Citation Information
Patent Citations
Hardware module, robotic system, and method for operating robotic system
CN111386179A
Correcting device of operation positioning error of industrial robot
JP1985205713A
Production of teaching data for plural robots
JP1990273807A
Pointing device
JP2005011037A
Manufacturing method of laminated molding and manufacturing apparatus
JP2019089100A