Path design system, path design method and program
The path design system optimizes painting paths for multiple robot arms by dividing the surface into linear areas, assigning them to robot arms, and using heuristic methods to minimize work time and collision risks, addressing the unique challenges of painting work.
Patent Information
- Application Number
- JP2024024542
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-21
- Publication Date
- 2025-09-02
AI Technical Summary
Existing path design methods for multiple robot arms in welding work are not applicable to painting work due to differences in robot arm movement and painting conditions, such as constant speed of the vehicle body and painting sequence, which affect paint quality.
A path design system that optimizes painting paths for multiple robot arms by dividing the painting surface into linear areas, assigning these areas to robot arms, determining painting orders, and using a search unit to find optimal solutions considering constraints and constraints violations, employing heuristic and metaheuristic methods to minimize total work time and penalties for constraint violations.
Automatically designs optimal painting paths for multiple robot arms, accounting for painting-specific conditions, reducing collision risks and total work time while maintaining paint quality.
Smart Images

Figure 2025127691000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a route design system, a route design method, and a program. [Background technology]
[0002] In the car body painting process at automobile production plants, multiple robotic arms simultaneously spray paint onto a single car body. In this process, the robotic arms must operate to avoid collisions between each other and complete their work while the car moving down the line is still within the paintable range. Furthermore, the robotic arms must operate while taking into account the unique constraints of the painting process, such as limiting the order in which the paint is applied to ensure the quality of the finished paint. For this reason, the motion design of robotic arms is currently carried out by skilled specialist engineers using simulators, taking weeks to months. Therefore, there is a need for a system that can automatically design the motion of multiple robotic arms.
[0003] Research is being conducted on path design using multiple robot arms for welding work (see, for example, Non-Patent Document 1). Research is also being conducted on path design using multiple robot arms for painting work (see, for example, Non-Patent Document 2). According to this research, a 3D path design was successfully created for six robot arms, avoiding collisions between the arms, using a path design method that uses as input settings such as a CAD model of the car body, the installation positions of the robot arms, and the range of motion. [Prior art documents] [Non-patent literature]
[0004] [Non-Patent Document 1] Spensieri, D. et al.: An iterative approach for collision free routing and scheduling in multirobot stations, IEEE Transactions on Automation science and Engineering, Vol. 13, No. 2,pp. 950-962 (2015) [Non-patent document 2] Zbiss, K. et al.: Automatic Collision-Free Trajectory Generation for Collaborative Robotic Car-Painting, IEEE Access, Vol. 10, pp. 9950-9959 (2022) Summary of the Invention [Problem to be solved by the invention]
[0005] Welding work, in which a robot arm is stationary, is performed fundamentally different from painting work, in which the robot arm moves at a constant speed. For this reason, it is difficult to apply the path design method using multiple robot arms intended for welding work, as disclosed in Non-Patent Document 1, to painting work.
[0006] The research disclosed in Non-Patent Document 2 does not take into consideration conditions specific to painting work, such as conditions under which the vehicle body moves at a constant speed or conditions for the painting sequence to improve the quality of the paint.
[0007] The present invention has been made in light of the above-mentioned circumstances, and aims to provide a path design system, a path design method, and a program that can automatically design an optimal painting path for multiple robot arms that paint an object, taking into account conditions specific to the painting work. [Means for solving the problem]
[0008] In order to achieve the above object, a route design system according to a first aspect of the present invention comprises: A path planning system for planning painting paths for a plurality of robot arms that paint an object, comprising: The system is provided with a search unit that assigns linear painting areas, which are areas with lengths obtained by dividing the painting surface of the object, to cities defined in the delivery planning problem as points without length or size, and that includes a route on the painting area from one end to the other end and a route from the other end of the painting area to one end of another painting area, and that allocates the painting areas to one of the robot arms as a solution to the problem of optimizing the painting route that visits each of the painting areas once, determines the painting order of the painting areas assigned to the robot arms, and finds an optimal solution for a series of painting routes from the start of work to the completion of work by the robot arms that circulate around the painting areas in the painting order.
[0009] The search unit searching for the optimal solution so as to observe the constraints imposed on the robot arms in the painting work on the surface to be painted and to shorten the total work time from when the multiple robot arms start to when they finish the painting work; This may also be the case.
[0010] The search unit If a violation of the constraint occurs for the candidate solution of the optimal solution, a repair process is performed to resolve the violation by changing the value of a variable of the candidate solution related to the violation. This may also be the case.
[0011] The search unit When the constraint is that the painting area within the movable range of the robot arm is assigned to the robot arm, the repair process involves replacing the painting area that is not within the movable range of the assigned robot arm with the painting area assigned to another robot arm, and changing the values of the variables of the solution candidate. This may also be the case.
[0012] The search unit When the constraint is that the same robot arm paints the adjacent painting areas consecutively, the repair process involves changing the assignment and the painting order to change the values of the variables of the solution candidate so that the same robot arm paints the adjacent painting areas consecutively. This may also be the case.
[0013] an objective function is formulated as a linear sum of a first term representing the length of the total work time and at least one second term representing the magnitude of a penalty for violating the constraint; The search unit Searching for the optimal solution so that the value of the objective function becomes small; This may also be the case.
[0014] The search unit a high-level solver that searches for the assignment and the painting order so that the painting path approaches the optimal solution; a lower solver that searches for the painting path according to the assignment and the painting order searched by the upper solver; This may also be the case.
[0015] the high-level solver uses heuristic or metaheuristic methods to find the assignment and the painting order; This may also be the case.
[0016] The lower solver uses a greedy algorithm to find the painting path. This may also be the case.
[0017] The object is a car body. This may also be the case.
[0018] A route design method according to a second aspect of the present invention comprises: A path design method executed by a path design system that designs painting paths for multiple robot arms that paint an object, comprising: Linear painting areas, which are areas with length obtained by dividing the painting surface of the object, are matched to cities defined by points with no length or size in the delivery planning problem, and as a solution to the problem of optimizing the painting route that visits each of the painting areas once, the painting areas are assigned to one of the robot arms, and the painting order of the painting areas assigned to the robot arms is determined, and a search process is performed to find an optimal solution for a series of painting routes from the start of work to the completion of work by the robot arms that circulate around the painting areas in the painting order.
[0019] A program according to a third aspect of the present invention comprises: A computer that designs painting paths for multiple robot arms that paint an object, The linear painting areas, which are areas with length obtained by dividing the painting surface of the object, are corresponding to cities defined by points without length or size in the delivery planning problem, and the painting route includes a route on the painting area from one end to the other end and a route from the other end of the painting area to one end of another painting area, and visits each painting area once.As a solution to the problem of optimizing the painting route, the painting area is assigned to one of the robot arms, and the painting order of the painting areas assigned to the robot arms is determined, and the robot arm is made to function as a search unit that finds an optimal solution for a series of painting routes from the start of work to the completion of work by the robot arm that circulates the painting areas in the painting order. [Effects of the Invention]
[0020] The path design system, path design method, and program of the present invention can automatically design optimal painting paths on an object for multiple robot arms that paint the object, taking into account conditions specific to the painting work. [Brief explanation of the drawings]
[0021] [Figure 1] 1 is a block diagram showing the configuration of a vehicle body painting system. [Figure 2] FIG. 2 is a block diagram showing the functional configuration of the route design system of FIG. 1. [Figure 3] 1A is a diagram showing an example of a painting area, and FIG. 1B is a diagram showing an example of a data string that is an independent variable of an objective function. [Figure 4] 1A is a diagram showing an example of a painting area and a part of a painting path, and FIG. 1B is a diagram showing an example of a painting path for each robot arm. [Figure 5] 1A is a schematic diagram showing constraints on the range of motion of a robot arm, and FIG. 1B is a schematic diagram showing constraints on collisions between robot arms. [Figure 6] 1A is a diagram showing an example of a plurality of panels divided from a painting surface, and FIG. 1B is a diagram showing an example of changing the assignment of painting paths for the same panel. [Figure 7] FIG. 2 is a block diagram showing the hardware configuration of the route design system of FIG. 1. [Figure 8] 2 is a flowchart of a search process executed by the route design system of FIG. 1. [Figure 9] 1A is a diagram showing an example of a painting route designed by an engineer, and FIG. 1B is a diagram showing an example of a painting route designed by the route design system of FIG. 1. DETAILED DESCRIPTION OF THE INVENTION
[0022] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In each drawing, the same or equivalent parts are denoted by the same reference numerals. In the following embodiments, the terms "have," "include," or "contain" also mean "consist of" or "consist of."
[0023] [Body painting system] As shown in Fig. 1, the vehicle body painting system 100 is a system that paints a vehicle body 2 manufactured in an automobile manufacturing plant. In this embodiment, the object is the vehicle body 2. The vehicle body painting system 100 includes a conveying means 3, a plurality of robot arms 4, a controller 5, a design information database 6, and a route design system 1.
[0024] [Transportation means] The conveying means 3 conveys the vehicle body 2 along the painting process line. The conveying means 3 is, for example, a belt conveyor that can carry and convey the vehicle body 2, and sends the vehicle body 2 from right to left in Figure 1 at a constant conveying speed V.
[0025] [Robot arm] The multiple robot arms 4 are installed in positions where they can paint the vehicle body 2 transported by the transport means 3. The robot arms 4 have multiple joints with built-in motors (not shown). A paint nozzle is attached to the tip of each robot arm 4. The robot arms 4 can paint the vehicle body 2 by driving the motor to move the paint nozzle within a predetermined range. Although FIG. 1 shows four robot arms 4 installed in a row, it is sufficient for multiple robot arms 4 to be installed. In reality, the robot arms 4 are arranged on both the left and right sides of the vehicle body 2.
[0026] [controller] The controller 5 is a control device that controls the transport means 3 and the multiple robot arms 4 to paint the vehicle body 2. The position and posture of the vehicle body 2 transported by the transport means 3 and the positions of the tips of the multiple robot arms 4 are detected by a sensor (not shown) at intervals of, for example, 1 / 100 seconds. The detected position and posture of the vehicle body 2 and the positions of the tips of the multiple robot arms 4 are detected according to an absolute coordinate system whose origin is the reference position of the factory. Based on the position and posture of the vehicle body 2 and the positions of the tips of the multiple robot arms 4, the controller 5 controls the multiple robot arms 4 so that the painting positions where the painting target should be located relative to the painting nozzles move along the painting path P on the vehicle body 2.
[0027] [Design Information Database] The design information database 6 stores information necessary for manufacturing the vehicle body 2, in this case, painting. The information stored in the design information database 6 includes information about the vehicle body 2, the conveying means 3, and the robot arm 4.
[0028] The information about the vehicle body 2 includes the position and shape of the surface S to be painted on the vehicle body 2. The position and shape of the surface S to be painted are determined in a coordinate system that has the center of gravity of the vehicle body 2 as its origin and is defined by the posture of the vehicle body 2. The controller 5 can determine the position and shape of the area of the surface S to be painted in the absolute coordinate system based on the position and posture of the vehicle body 2 and the position and shape of the surface S to be painted relative to the center of gravity of the vehicle body 2. Furthermore, the controller 5 can align the painting position where the object to be painted should be located relative to the painting nozzle with the painting path P on the vehicle body 2 based on the position and shape of the area of the surface S to be painted in the absolute coordinate system and the positions of the tips of the multiple robot arms 4.
[0029] The information on the transport means 3 and the robot arm 4 includes information such as the installation positions of the transport means 3 and the robot arm 4, and the movable range of the robot arm 4. Information such as the installation positions of the transport means 3 and the robot arm 4, the transport speed V of the transport means 3, the movement speed of the robot arm 4, and the movable range of the robot arm 4 is defined in an absolute coordinate system with the factory reference position as the origin.
[0030] In this embodiment, the four robot arms 4 are assigned identification information A, B, C, and D, and can be identified by this identification information. Hereinafter, when distinguishing between the individual robot arms 4, they will be referred to as arm A, B, C, and D as appropriate. Information such as the installation position of each of arms A, B, C, and D and the range of motion of each of arms A, B, C, and D is registered in the design information database 6. From this information, it is possible to determine whether or not arms A, B, C, and D may collide with each other, and if there is a possibility of the arms colliding with each other, the area in which the collision may occur.
[0031] [Route Design System 1] The path design system 1 designs a painting path P for multiple robot arms 4 that paint a vehicle body 2. This painting path P is a path based on the relative positional relationship between the robot arms 4 and the vehicle body 2. In the path design system 1, the painting surface S of the vehicle body 2 is divided into straight or curved, i.e., linear painting areas L with a certain length, and the robot arms 4 paint the painting surface S by passing through a series of painting paths P that include multiple painting areas L. Taking into consideration the quality of the painting, the painting areas L are specified so that the same components are painted consecutively and so that each component, such as a door or fender panel, extends as horizontally as possible.
[0032] As shown in Fig. 1, the route planning system 1 includes a search unit 10. The search unit 10 assigns painting areas L obtained by dividing the painting surface S of the vehicle body 2 to one of the robot arms 4 (see Fig. 3(A)), determines the painting order (see Fig. 3(A)) of the painting areas L assigned to the robot arms 4, and finds an optimal solution for a series of painting routes (see Figs. 4(A) and 4(B)) from the start of work to the completion of work by the robot arms 4 patrolling the painting areas L in the determined painting order, by formulating the solution as a problem similar to a delivery planning problem (a combinatorial optimization problem).
[0033] The delivery planning problem is a problem of finding the lowest-cost route among routes that visit all cities exactly once using multiple vehicles under various constraints. In a typical delivery planning problem, only the locations of cities are given as a component of the problem, and the shapes and sizes of the cities are ignored. However, this route design system 1 associates linear painting areas L with cities defined by points with no length or size, and associates routes between cities with routes between painting areas L. This formulates the problem of designing a painting route P that visits each painting area L exactly once as an optimization problem similar to the delivery planning problem. For example, as shown in FIG. 4(A), the search unit 10 associates the painting areas L with cities (1 to 9), as shown in FIG. 4(B), and assigns the painting areas L to each robot arm 4 (arms A to D). Then, from among the painting routes P that circulate through the assigned painting areas L, the search unit 10 searches for the painting route P for the multiple robot arms 4 that minimizes the cost. In this problem, the city is represented as a line segment, so the object of optimization is not only how to travel around the city, but also which direction to go along that line. According to this painting path P, each painting area L is painted only once by one of the robot arms 4.
[0034] The search unit 10 searches for an optimal solution that satisfies the constraints imposed on the robot arms 4 during the painting work on the surface S, while also shortening the total work time from when the multiple robot arms 4 start to finish the painting work. The search unit 10 shortens the total work time, and the constraints imposed on the robot arms 4 during the painting work on the surface S include, for example, increasing the number of painting paths P that fall within the range of motion assigned to each robot arm 4, preventing collisions between the robot arms 4, and increasing the number of adjacent painting areas L that are painted by the same robot arm 4. The search unit 10 finds the above-mentioned optimal solution based on an objective function f(x) formulated by the total work time and constraints using a solution representation similar to that of the delivery planning problem. In other words, the cost of a series of painting path problems is determined based on the total work time and constraints such as whether the painting path P is within the range of motion of the robot arms 4, the possibility of collisions between the robot arms 4, and whether adjacent painting areas L on the surface S of the vehicle body 2 are painted by the same robot arm 4. The search unit 10 searches for an optimal solution so that the value of the objective function f(x), which represents the cost, is as small as possible. During this search, if a violation of the constraints occurs in a candidate solution for the optimal solution, the search unit 10 executes a repair process to resolve the violation by changing the values of the variables of the candidate solution related to the violation. The objective function f(x) and the repair process will be described later. Figure 4(B) shows an example of a painting path P corresponding to arms A, B, C, and D based on the obtained optimal solution. The lowest area on the surface S is assigned to arm D, and arms A, B, and C are assigned to the three areas arranged from bottom to top. In this embodiment, the painting path P is basically designed so that the surface S is painted from bottom to top, but painting from top to bottom may also be performed.
[0035] As shown in FIG. 2, the route design system 1 includes a search unit 10 and a painting area division unit 9. The painting area division unit 9 reads the position and shape of the painting surface S of the vehicle body 2 transported by the transport means 3 from the design information database 6, and divides the painting surface S into painting areas L based on the read position and shape, as shown in FIG. 3(A). Each divided painting area L is assigned unique identification information. In this embodiment, this identification information is represented by natural numbers 1, 2, 3, ... as shown in FIG. 3(A). As shown in FIG. 2, the painting area division unit 9 generates identification numbers for the divided painting areas L and position information of the painting areas L, i.e., position information of the point clouds on the painting areas L, in association with each other, and outputs the generated information to the search unit 10.
[0036] As shown in FIG. 2 , the search unit 10 includes an upper solver 11 and a lower solver 12. The upper solver 11 searches for an allocation of painting areas L to the robot arms 4 and an order in which the painting areas L are painted so that the painting path P approaches an optimal solution. When solving a delivery planning problem, the upper solver 11 needs to determine which end of the linear painting area L (city) the robot arms 4 will arrive at in the painting path design problem. The upper solver 11 also needs to create a detailed plan including the position of each robot arm 4 at each time. For this reason, in this embodiment, the lower solver 12 searches for the painting path P according to the allocation of painting areas L and the painting order of the painting areas L searched by the upper solver 11. The upper solver 11 evaluates the painting path P searched by the lower solver 12. In this way, the search unit 10 searches for an optimal solution for the painting path P of the multiple robot arms 4 using the hierarchically connected upper solvers 11 and lower solvers 12.
[0037] The upper solver 11 searches for the assignment and painting order using a heuristic or metaheuristic method. By leaving the detailed route design to the lower solver 12, the problem solved by the upper solver 11 can be considered to be similar to a delivery planning problem, and various algorithms for solving delivery planning problems can be used. In this embodiment, the upper solver 11 calculates a genetic algorithm, which is one of the evolutionary computing algorithms, to search for the assignment and painting order. In addition, the lower solver 12 searches for the painting route P using a greedy method.
[0038] The lower-level solver 12 includes a simulator. Based on the assignment of the multiple painting areas L and the painting order, the simulator performs simulation calculations to derive the shortest painting path P for each robot arm 4 on the vehicle body 2 transported by the transport means 3. Through this simulation calculation, the lower-level solver 12 generates the painting path P for the robot arm 4 based on the position information of the painting areas L associated with the identification numbers. As a result, the lower-level solver 12 can calculate not only the total working time of the multiple robot arms 4, but also whether the painting area L is within the movable range of the assigned robot arm 4 at a certain time, whether there is a possibility that it will enter the movable range thereafter, the time period during which the painting area L is not within the movable range of the assigned robot arm 4, the distance between the robot arms 4, and the like. The lower-level solver 12 can also calculate whether collisions between the robot arms 4 and other objects, such as the vehicle body 2, are avoided.
[0039] The upper solver 11 assigns multiple painting areas L obtained by dividing the painting surface S of the vehicle body 2 in the painting area dividing unit 9 to one of the robot arms 4. FIG. 3B shows an example of a data string x indicating the assignment to the robot arms 4. As shown in FIG. 3B, the data string x lists the identification numbers of the painting areas L in a row. In the data string x shown in FIG. 3B, the painting areas L assigned to Arm A, Arm B, Arm C, and Arm D are listed in this order. For example, the painting areas L with identification numbers 2, 7, 6, ... are assigned to Arm A, the painting areas L with identification numbers 10, 4, 12, ... are assigned to Arm B, the painting areas L with identification numbers 3, 9, 11, ... are assigned to Arm C, and the painting areas L with identification numbers 20, 21, 22, ... are assigned to Arm D. In the data string x, the identification numbers of each element are assigned so that they do not overlap.
[0040] This data string not only indicates the allocation of painting areas L to arms A to D, but also the painting order for each arm A to D. For example, arm A paints the painting areas L in the order of identification numbers 2, 7, 6, .... The same is true for arms B, C, and D. In this way, data string x represents both the allocation of painting areas L (cities) and the painting order.
[0041] This data string x corresponds to the argument (explanatory variable) x of the above objective function f(x). The argument x can be generalized by the following formula: x={x1,x2,…,x N}, (x i ≠x j ,∀i,j={1,…,N}) where x1, x2, …, x N is the identification number of the painting area L, and N is the number of painting areas L. Here, x1, x2, ..., x N is divided into the following for each robot arm 4: x1~x N / Narms :Arm A x N / Narms+1 ~x 2N / Narms :Arm B x 2N / Narms+1 ~x 3N / Narms :Arm C x 3N / Narms+1 ~x N :Arm D Narms is the number of robot arms 4, and in this embodiment, Narms is 4. This data string is set so that each robot arm 4 patrols the same number of painting regions.
[0042] It is not necessary to assign the same number of painting areas L to each arm. By introducing dummy identification numbers for the painting areas L, it is possible to assign different numbers of painting areas L to each robot arm. In this case, N is the number of painting areas plus the number of dummies. The more dummies there are, the more bias in the number of painting areas between the arms is allowed.
[0043] The objective function f(x) is defined by the following formula: f(x)=max{t a (x)+p r (x)+p c (x)} a is 1, 2, …, Narms. Thus, the objective function f(x) is a (x), p r (x), p c (x) is formulated as a linear sum of the first term on the right-hand side, t a (x) is a term that represents the total working time that the robot arm 4 takes to pass through the painting path P from the start of the work to the end of the work. a The operating time from the start of work to the completion of work of the robot arm 4, which is calculated by the simulator of the lower solver 12, can be directly substituted into (x). The operating time can be calculated from the position information (travel distance) of the painting path P of the robot arm 4, travel speed, travel acceleration, etc. The remaining two terms on the right-hand side, p r (x), p c (x) is the second term that represents the magnitude of the penalty for violating the constraint. At least one second term can be provided.
[0044] [Restrictions on arm movement range] p r (x) is a term of the penalty function that represents the magnitude of the penalty for the painting area L not being within the movable range of the robot arm 4. That is, p r (x) is a term indicating a constraint on the movable range of the robot arm 4, and the constraint is defined by the following equation. subject to d(r a,k ,o a )≦R a Here, as shown in Figure 5(A), r a,k is the painting position of the robot arm (arm a) at time k, and o a is the movable center of arm a, and d(r a,k ,o a ) is the position r of arm a a,k and movable center o a The constraint on the movable range of arm a is that the painting position (coordinates of arm a) of arm a at time k is the distance between the movable center o a Range of motion R a The distance is within
[0045] Considering that the vehicle body 2 to be painted moves at a constant speed, the search unit 10 deals with this constraint in three ways. The upper solver 11 performs a process of replacing the painting area L assigned to arm a that is not within its range of motion throughout the entire work time with the painting area L assigned to another robot arm 4. In other words, the assigned painting areas L are exchanged between the robot arms 4 (arm a and another arm). In this way, when the search unit 10 is constrained to assign the painting area L that is within the range of motion of the robot arm 4 to that robot arm 4, it performs a repair process of replacing the painting area L assigned to the robot arm 4 that is not within the range of motion of that robot arm 4 with the painting area assigned to the other robot arm 4, and changing the values of the variables of the solution candidates for the optimal solution.
[0046] In addition, as shown in FIG. 5(A), when arm a is supposed to visit a certain painting area L (city), if the painting area L1 has not yet entered the range of movement of arm a and is in a position where it will enter the range of movement of arm a later, the simulator of the lower solver 12 of the search unit 10 performs a simulation calculation of a painting path P in which arm a waits until the target painting area L1 enters the range of movement. On the other hand, for a painting area L2 that has been transported and moved outside the range of movement of arm a, the simulator of the lower solver 12 puts arm a into a waiting state when it is determined that the assigned painting area L2 cannot be painted, and does not perform any further painting, and excludes the painting area L2 from the painting path P. The search unit 10 calculates a penalty p according to the total number of painting areas following the assigned but not visited painting area L2 and the time of constraint violation. a By adding (x) to the objective function f(x), the occurrence of violations of constraints regarding the movable range of the robot arm 4 is suppressed.
[0047] penalty function p r (x) can be defined, for example, by the following formula: p a (x)=t vio ×500+n unvisits x10 4 where t vio is the penalty incurred when the robot arm 4 goes outside the movable range of the painting area L while painting the painting area L, and is the time required to paint the part of the painting area L that is outside the movable range, and n unvisits is the total number of painting areas after painting area L2 that was excluded from the allocation because it went outside the movable range of the robot arm 4. The values of these second terms are calculated by the simulator of the lower solver 12.
[0048] [Constraints on collisions between arms] p c (x) is a term of the penalty function that indicates the magnitude of the penalty for collision between the robot arms 4. That is, p c(x) is a constraint condition regarding collisions between arms and is defined by the following equation. subject to d(r a,k ,r b,k )≦R collision Here, a and b are 1, 2, ..., Narms, and a≠b. As shown in Figure 5(B), the constraint on collision between arms is that the distance between two different robot arms 4 is always within a specified distance R collision It is to be greater than.
[0049] The constraint regarding collisions between the robot arms 4 is intended for an environment in which multiple robot arms 4 are installed with sufficient spacing between them, and since the frequency with which violations of this constraint occur is relatively low, the search unit 10 determines the time at which a violation of this constraint is confirmed, and calculates a penalty function p c (x) is added to the objective function f(x) to suppress the occurrence of violations.
[0050] penalty function p c (x) can be defined, for example, by the following formula: p c (x)=t cor x10 3 where t cor is the time when the constraints on collisions between the robot arms 4 are violated. cor is calculated by the simulator of the lower solver 12.
[0051] t obtained for each robot arm 4 a (x)+p r (x)+p c The maximum value of (x) is f(x). The search unit 10 searches for an optimal solution for the painting path P so that the value of the objective function f(x) becomes small.
[0052] [Constraints on painting order] In addition, a constraint on the painting order is imposed on the search for the optimal solution. This constraint is set to maintain the quality of the painting by painting from the bottom up of the car body 2. Painting on the vertical surfaces of the car body 2 requires painting from bottom to top sequentially while moving the robot arm 4 back and forth horizontally, and it is necessary to avoid reversing the painting order on the same panel.
[0053] Regarding this constraint, as shown in FIG. 6(A), the painting surface S is divided into a plurality of panels c (c=1, 2, 3, 4). c,1 , s c,2 , s c,l , ···) is located at the top as the subscript l increases, and the painted area L(s c,l ) is painted at e(s c,l ) and the adjacent painted areas L(s c,l-1 , s c,l ), basically e(p c,l-1 ) <e(p c,l ), but here, violations are allowed up to τ times (for example, τ=1) for each panel c depending on the installation situation of the robot arm 4. c(e(p c,l-1 )≧e(p c,l ))≦τ That is, the above formula is the time when the upper painted area L is painted e(p c,l ) the time when the adjacent painted area in the lower row is painted e(p c,l-1 The constraint is that the number of times that ) comes later must be τ or less. The allocation of the painting area L to arms A, B, C, and D is as shown in Figure 4(B) based on the constraint that painting is basically done from bottom to top.
[0054] Another constraint on the painting order is that the same robot arm 4 consecutively paints adjacent painting areas L. In this case, when the constraint is that the same robot arm 4 consecutively paints adjacent painting areas L, the searching unit 10 may change the assignment and painting order and change the values of the variables of the solution candidate as a repair process so that the same robot arm 4 consecutively paints adjacent painting areas L.
[0055] If a violation of the constraints regarding the painting order is confirmed, the upper solver 11 of the search unit 10 performs a repair process to change the assignment and painting order so that the painting surface S is painted from bottom to top and so that the same robot arm 4 consecutively paints adjacent painting areas L. For example, if the assignment and painting order of the painting areas L on a certain panel vary in the vertical direction as shown in the left diagram of Figure 6(B), the upper solver 11 performs the above-mentioned correction to change the assignment of the painting areas L to the robot arms 4 and the painting order so that adjacent painting areas L are assigned to the same robot arm 4 and the painting surface S is painted from bottom to top even between the same robot arm 4 or different robot arms 4, as shown in the right diagram of Figure 6(B).
[0056] In this way, the search unit 10 (upper solver 11 and lower solver 12) optimizes the individual x corresponding to a solution candidate that defines the allocation of painting areas L (cities) and the painting order so that each robot arm 4 paints consecutive painting areas L in succession.
[0057] [Hardware configuration] The route design system 1 shown in Fig. 1 is realized, for example, by a computer having the hardware configuration shown in Fig. 7 executing a software program. Specifically, the route design system 1 is made up of a CPU (Central Processing Unit) 21 that controls the entire device, a main memory 22 that operates as a work area for the CPU 21, an external memory 23 that stores programs 29 and the like to be executed by the CPU 21, an operation unit 24, a display unit 25, an input / output unit 26, and an internal bus 28 that connects these together.
[0058] The CPU 21 executes the program 29 to realize the functions of the route design system 1 (the painting area dividing unit 9 and the searching unit 10).
[0059] The main memory 22 is composed of RAM (Random Access Memory) etc. A program 29 to be executed by the CPU 21 is loaded into the main memory 22 from the external memory 23. The main memory 22 is also used as a working area (temporary data storage area) for the CPU 21.
[0060] The external memory 23 is configured by a nonvolatile memory such as a flash memory, a hard disk, etc. The external memory 23 stores in advance a program 29 to be executed by the CPU 21.
[0061] The operation unit 24 is made up of devices such as a keyboard and a mouse, and an interface device that connects these devices to the internal bus 28 .
[0062] The display unit 25 is composed of a display device such as a CRT (Cathode Ray Tube) or a liquid crystal monitor.
[0063] The input / output unit 26 is an interface for transmitting and receiving data to and from external devices. Information sent from the design information database 6 is input via the input / output unit 26, and information on the painting path P of the robot arm 4 is output to the controller 5 via the input / output unit 26.
[0064] The functions of the route design system 1 can be implemented in a computer system consisting of one or more computers, each including one or more processors and one or more storage devices, including a non-transitory storage medium. The multiple computers communicate with each other via a communication network, thereby realizing the functions of the route design system 1. For example, some of the functions of the route design system 1 may be implemented in one computer, and other parts may be implemented in other computers.
[0065] Next, we will explain the search process for an optimal solution executed by the search unit 10 of the route design system 1. As a premise, at the start of this search process, it is assumed that the painting area dividing unit 9 has divided the painting surface S of the vehicle body 2 to form multiple painting areas L, and that data pairs of identification information and position information for each painting area L have been input to the search unit 10.
[0066] As shown in FIG. 8, in the search process, the upper solver 11 first generates solution candidates x that determine the allocation of the robot arm 4 and the painting order of the painting area L (step S1). The upper solver 11 generates solution candidates (individuals) x using a genetic algorithm. The upper solver 11 generates multiple solution candidates x using the position of the painting area L (city) as input. The upper solver 11 then performs repair processing on the solution candidates x that do not satisfy the constraints from among the multiple generated solution candidates x. For example, the upper solver 11 performs repair processing to change the allocation and painting order of the solution candidates x so that the painting surface S is painted from bottom to top. The upper solver 11 also replaces the painting area L that will not fall within the movement range of the robot arm 4 within the entire work time with a painting area L that may fall within the movement range assigned to another robot arm 4. However, if the information required for repair processing is not available, such as the first time, such repair processing is not performed. Information on the solution candidates x that ultimately remain after such repair processing is sent to the lower solver 12.
[0067] Next, the lower-level solver 12 uses a greedy algorithm to generate a painting route P that visits the assigned painting areas L (cities) in order for the generated solution candidate x (step S2). Unlike general delivery planning problems, the painting area L corresponding to a city is linear. Therefore, in order to generate the painting route P, the lower-level solver 12 needs to determine which of the two end points of the painting area L the robot arm 4 will arrive at (see FIG. 4(A)). When the robot arm 4 has finished moving from one end point of the painting area L to the other end point, it considers painting of that painting area L to be complete and moves on to the end point of the next painting area L. The lower-level solver 12 generates the painting route P by assuming that the robot arm 4 will move to the end point of the destination painting area L that has the shortest travel distance (see FIG. 4(A)).
[0068] Next, the lower solver 12 calculates the t of the objective function f(x) for each robot arm 4. a (x), p r (x) and p c The information required to calculate (x) is calculated (step S3). The calculated information includes the total work time (operating time) t that the robot arm 4 takes to move along the painting path P from the starting point to the end point. a (x) is the time t required to paint a part of the painting area L that is out of the movable range of the robot arm 4 when the painting area L goes out of the movable range of the robot arm 4 while the robot arm 4 is painting the painting area L. vio , the number of assigned but unvisited painting regions L n unvisits , the distance between two different robot arms 4 is a specified distance R collision There is a time when:
[0069] Next, the upper solver 11 a (x), p r (x) and p cBased on the information required to calculate (x), the value of the objective function f(x) is calculated and the solution candidate x is evaluated (step S4). After the evaluation, the upper solver 11 determines whether the number of generations of the solution candidate (individual) x has reached a predetermined number (step S5). If it has not reached a predetermined number (step S5; No), the upper solver 11 generates a new solution candidate x using a genetic algorithm (step S1). At this time, the upper solver 11 performs a repair process to change the allocation of the solution candidate x and the painting order so that the robot arm 4 paints the painting area L from bottom to top. Furthermore, the upper solver 11 replaces the painting area L that will not fall within the movable range of the robot arm 4 within the entire working time with a painting area L that may fall within the movable range assigned to another robot arm 4.
[0070] After the evaluation, if the number of generations reaches a predetermined number (step S5; Yes), the upper solver 11 outputs the painting path P for each robot arm 4 with the best evaluation value (step S6). After step S6 is completed, the path design system 1 ends the search process for the optimal solution. Note that in step S5, the search process may be terminated when a specified time has elapsed or when the solution has not been improved even after a certain number of generations have elapsed.
[0071] In this way, the route planning system 1 corresponds linear painting areas L, which are areas with length obtained by dividing the painting surface S of the vehicle body 2, to cities defined as points with no length or size in the delivery planning problem, visits each city once, and as a solution to the problem of optimizing the painting route P that passes through the city, assigns the painting areas L to one of the robot arms 4, determines the painting order of the painting areas assigned to the robot arms 4, and performs a search process to find the optimal solution for the series of painting routes P from the start of work to the completion of work by the robot arms 4 that circulate around the painting areas L in the painting order.
[0072] FIG. 9(A) shows a painting path P designed by an engineer, and FIG. 9(B) shows a painting path P designed by the path design system 1 for the same vehicle body 2. In FIGS. 9(A) and 9(B), the shading of the line segments representing the painting path P is changed for each assigned robot arm 4. As can be seen by comparing FIGS. 9(A) and 9(B), the painting path P designed by the path design system 1 is similar to the painting path P designed manually, and its operating time is shorter than that of the manual one.
[0073] As described above in detail, the route design system 1 according to this embodiment corresponds linear painting areas L, which are areas with length obtained by dividing the painting surface S in the route design system 1, to cities defined as points without length or size in the delivery planning problem, and as a solution to the problem of visiting each city once and optimizing the painting route P through the city, the system assigns the painting areas L to one of the robot arms 4, determines the painting order of the painting areas L assigned to the robot arms 4, and includes a search unit 10 that finds an optimal solution for a series of painting routes from the start of work to the completion of work by the robot arms 4 circulating the painting areas L in the painting order. The route design system 1 optimizes the painting route P circulating the painting areas L in the painting order by considering the routes within the painting area L, treating the linear painting areas L, which are routes specific to painting work, as a delivery measurement problem in which the system likens the painting areas L to cities. Therefore, it is possible to automatically design an optimal painting route P for multiple robot arms 4 that paint the vehicle body 2, taking into account the conditions specific to the painting work.
[0074] The upper solver 11 uses a genetic algorithm, a representative algorithm in evolutionary computing, which makes it easier to find a solution close to a globally optimal solution regardless of the problem characteristics compared to other computational methods. The lower solver 12 determines a detailed painting path P for the robot arm 4 using a greedy algorithm and calculates the operating time of the robot arm 4. The detailed painting path P is generated by repeatedly moving the robot arm 4 in a straight line toward the next painting area L. This system handles various constraints, including those specific to painting work, and can handle these constraints individually in the processes within the upper solver 11 and the lower solver 12 (simulator) by taking into account the characteristics of the constraints. Painting is preferably performed by spraying paint while the robot arm 4 and the vehicle body 2 move in a straight line horizontally. Therefore, in this route planning system 1, the horizontally extending straight-line painting area L, i.e., a line segment, is fitted to a city, and the painting path P is optimized as a problem similar to a delivery planning problem. This enables uniform painting without unevenness on the painted surface S.
[0075] The upper solver 11 determines only the allocation of painting areas L (cities) and the order of visits (painting order), while the lower solver 12 determines only which end point of each painting area L to start painting from. In this way, by dividing the processing between the upper solver 11 and the lower solver 12, there is no need to change the optimization method when adding constraints or changing the simulator.
[0076] The constraints can include any conditions that are taken into account in automobile production sites. Examples of constraints include the following: (1) Paint all parts of the vehicle body 2. In this case, the painting area L is not excluded. (2) The vehicle body 2 moves in a straight line at a constant speed. (3) The painting area L is painted at once along a predetermined straight line or curve at a predetermined speed. (4) The robot arm 4 must not collide with the vehicle body 2. (5) When not painting, the movement speed of the robot arm 4 is set to a predetermined speed or less.
[0077] Although the above embodiment describes the case where one painting surface S is generated, it is also applicable to the case where multiple painting surfaces S are painted. That is, the route design system 1 makes it possible to design, in a short time, a painting route P similar to a painting route designed by a professional engineer, whether it is a two-dimensional painting route P or a three-dimensional painting route P.
[0078] Furthermore, the combinatorial optimization method used in the upper solver 11 is not limited to the genetic algorithm. Other heuristic methods (nearest neighbor method, saving method, etc.) may be used as the combinatorial optimization method, or other metaheuristic methods (particle swarm optimization, ant colony optimization, etc.) may be used as the combinatorial optimization method.
[0079] Furthermore, although the above embodiment has been described with reference to the case where an automobile is painted, the present invention is not limited to this. The object to be painted may be, for example, a railroad car, a ship, or any other object other than an automobile.
[0080] The hardware and software configurations of the route design system 1 are merely examples and can be changed and modified as desired.
[0081] The core processing portion of the route design system 1, which is composed of the CPU 21, main memory 22, external memory 23, operation unit 24, display unit 25, input / output unit 26, and internal bus 28, etc., can be realized using an ordinary computer system rather than a dedicated system. For example, a computer program for executing the above operations may be stored and distributed on a computer-readable recording medium (flexible disk, CD-ROM, DVD-ROM, etc.), and the route design system 1 that executes the above processing may be configured by installing the computer program on a computer. Alternatively, the route design system 1 may be configured by storing the computer program in a storage device of a server device on a communication network such as the Internet, and then downloading the program into an ordinary computer system.
[0082] When the functions of the route design system 1 are realized by sharing the functions between an OS (operating system) and an application program, or by cooperation between the OS and the application program, only the application program portion may be stored in a recording medium or storage device.
[0083] It is also possible to superimpose a computer program on a carrier wave and distribute it over a communications network. For example, the computer program may be posted on a bulletin board system (BBS) on the communications network and distributed over the network. The computer program may then be started and executed under the control of an operating system in the same way as any other application program, thereby enabling the above-mentioned processing to be performed.
[0084] This invention allows various embodiments and modifications without departing from the broad spirit and scope of this invention. Furthermore, the above-described embodiments are intended to explain this invention and do not limit the scope of this invention. That is, the scope of this invention is defined by the claims, not the embodiments. Various modifications made within the scope of the claims and the meaning of the invention equivalent thereto are considered to be within the scope of this invention. [Industrial Applicability]
[0085] The present invention can be applied to designing a painting path when painting an object with multiple robot arms. [Explanation of symbols]
[0086] 1 Path design system, 2 Car body, 3 Transport means, 4 Robot arm, 5 Controller, 6 Design information database, 9 Paint area division unit, 10 Search unit, 11 Upper solver, 12 Lower solver, 21 CPU, 22 Main memory, 23 External memory, 24 Operation unit, 25 Display unit, 26 Input / output unit, 28 Internal bus, 29 Program, 100 Car body painting system, L, L1, L2 Paint area, P Paint path, S Painted surface
Claims
1. A path planning system for planning painting paths for a plurality of robot arms that paint an object, comprising: a search unit that assigns the linear painting areas, which are areas having a length obtained by dividing the surface of the object to be painted, to cities defined by points having no length or size in the delivery planning problem, and that allocates the painting areas to one of the robot arms as a solution to a problem of optimizing the painting path that visits each of the painting areas once, includes a path on the painting area from one end to the other end and a path from the other end of the painting area to one end of another painting area, and determines the painting order of the painting areas assigned to the robot arms, and obtains an optimal solution for a series of painting paths from the start of work to the completion of work by the robot arms that circulate around the painting areas in the painting order; Route design system.
2. The search unit searching for the optimal solution so as to observe the constraints imposed on the robot arms in the painting work on the surface to be painted and to shorten the total work time from when the multiple robot arms start to when they finish the painting work; The route design system according to claim 1 .
3. The search unit If a violation of the constraint occurs for the candidate solution of the optimal solution, a repair process is performed to resolve the violation by changing the value of a variable of the candidate solution related to the violation. The route design system according to claim 2 .
4. The search unit When the constraint is that the painting area within the movable range of the robot arm is assigned to the robot arm, the repair process involves replacing the painting area that is not within the movable range of the assigned robot arm with the painting area assigned to another robot arm, and changing the values of the variables of the solution candidate. The route design system according to claim 3 .
5. The search unit When the constraint is that the same robot arm paints the adjacent painting areas consecutively, the repair process involves changing the assignment and the painting order to change the values of the variables of the solution candidate so that the same robot arm paints the adjacent painting areas consecutively. The route design system according to claim 3 .
6. an objective function is formulated as a linear sum of a first term representing the length of the total work time and at least one second term representing the magnitude of a penalty for violating the constraint; The search unit Searching for the optimal solution so that the value of the objective function becomes small; The route design system according to claim 2 .
7. The search unit a high-level solver that searches for the assignment and the painting order so that the painting path approaches the optimal solution; a lower solver that searches for the painting path according to the assignment and the painting order searched by the upper solver; The route design system according to any one of claims 1 to 6.
8. the high-level solver uses heuristic or metaheuristic methods to find the assignment and the painting order; The route design system according to claim 7 .
9. The lower solver uses a greedy algorithm to find the painting path. The route design system according to claim 7 .
10. The object is a car body. The route design system according to claim 1 .
11. A path design method executed by a path design system that designs painting paths for multiple robot arms that paint an object, comprising: a search process is performed to find an optimal solution for a series of painting paths from the start of work to the completion of work by the robot arms that circulate the painting areas in the painting order, by assigning linear painting paths, which are areas with lengths obtained by dividing the painting surface of the object, to cities defined by points with no length or size in the delivery planning problem, and including a path on the painting area from one end to the other end and a path from the other end of the painting area to one end of another painting area, and visiting each of the painting areas once. Route design methods.
12. A computer that designs painting paths for multiple robot arms that paint an object, a search unit that assigns the linear painting areas, which are areas having a length obtained by dividing the surface of the object to be painted, to cities defined by points having no length or size in the delivery planning problem, and that allocates the painting areas to any of the robot arms as a solution to a problem of optimizing the painting path that visits each of the painting areas once, including a path on the painting area from one end to the other end and a path from the other end of the painting area to one end of another painting area, and determines the painting order of the painting areas assigned to the robot arms, and functions as a search unit that obtains an optimal solution for a series of painting paths from the start of work to the completion of work by the robot arms that circulate around the painting areas in the painting order; program.