Track planning device and track planning method

The trajectory planning device for multiple robots in flexible production lines addresses the issue of prolonged working times by generating and selecting trajectory plans that avoid interference, resulting in reduced working times and improved productivity.

JP7691385B2Active Publication Date: 2025-06-11HITACHI LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2022030023
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-02-28
Publication Date
2025-06-11
Estimated Expiration
2042-02-28

AI Technical Summary

Technical Problem

Existing trajectory planning methods for multiple robots in flexible production lines generate circuitous trajectories without considering real-time positions of other robots, leading to prolonged working times and reduced productivity.

Method used

A trajectory planning device that allocates operations to multiple robots based on order information, target position information, and structure information, generating multiple trajectory plans that avoid interference in different ways and selecting the plan with the shortest working time.

Benefits of technology

The solution enables the generation of trajectory plans that avoid robot interference, thereby shortening working times and reducing teaching man-hours in flexible production environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007691385000001
    Figure 0007691385000001
  • Figure 0007691385000002
    Figure 0007691385000002
  • Figure 0007691385000003
    Figure 0007691385000003
Patent Text Reader

Abstract

To reduce operation time while avoiding mutual interference in a multiple arm robot line where a plurality of robot arms work in the same work area.SOLUTION: A trajectory planning device keeps order information representing an operation sequence related to a plurality of components, target position information including picking location and a placing location in an operation of the plurality of components, and structure information representing structures of a plurality of robots. The trajectory planning device assigns operations on the plurality of components to the plurality of robots so that the operations on the plurality of components are performed according to an order indicated by order information, and generates a trajectory plan for performing operations on an assigned component based on the target position information and the structure information for each of the plurality of robots. When an interference occurs between the plurality of robots, the trajectory planning device generates a plurality of trajectory plans including trajectory plans which avoid the interference through different methods, and selects any one of the plurality of trajectory plans based on operation times calculated related to the plurality of trajectory plans.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the trajectory planning technology of multiple robots.

Background Art

[0002] In a flexible line that responds immediately to changes in the production environment, it is required to dynamically change the work assignment to robots and the trajectories of multiple robots so that they do not interfere with each other. As the background art in this technical field, there is Japanese Patent Application Laid-Open No. 2019-193975 (Patent Document 1). This publication states that "when operating multiple robot arms in a real environment, robot trajectory generation is performed so that the possibility of their passing areas intersecting with each other can be significantly reduced. Generate an operation command list including the start points and end points of the trajectories of multiple robot arms (trajectory definition data generation process). Determine the order of generating each trajectory based on the operation command list (generation order determination process). For a specific robot arm in the operation command list, based on the start point and end point, perform trajectory generation so as to avoid the obstacle space registered in the obstacle memory regarding the trajectory generation of other robot arms (trajectory generation process). When the robot arm is operated along the generated trajectory, add the sweeping space swept by the body of the arm to the obstacle memory as the obstacle space that other robot arms should avoid (obstacle registration process)." (See the abstract).

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] Patent Document 1 describes generating a trajectory so as to bypass all the movement areas of other robots operating at the same timing in an environment where multiple robotic arms operate in the same work area. However, in the method of Patent Document 1, since a circuitous trajectory is generated without considering the positions of other robots at each time, the working time is prolonged and productivity is reduced. Also, the optimal combination that shortens the working time of part allocation and assembly order for multiple robots, which is a prerequisite for the work realized by the trajectory, is not considered.

[0005] Therefore, an object of the present invention is to select an optimal robot trajectory in consideration of the working time from among a plurality of interference avoidance trajectories in response to a production plan change.

Means for Solving the Problem

[0006] To solve the above problems, for example, the configuration described in the claims is adopted. This application includes a plurality of means for solving the above problems. If an example is given, it is a trajectory planning device having an arithmetic unit and a storage unit, wherein the storage unit holds order information indicating the order of operations for a plurality of parts, target position information including pick positions and place positions in the operations for the plurality of parts, and structure information indicating the structures of a plurality of robots, and the arithmetic unit allocates the operations for the plurality of parts to the plurality of robots so that the operations for the plurality of parts are executed in the order indicated by the order information, and for each of the plurality of robots, based on the target position information and the structure information, generates a trajectory plan for performing the operations for the allocated parts, and when interference occurs between the plurality of robots, generates a plurality of trajectory plans including trajectory plans for avoiding interference in different ways, and selects any one of the plurality of trajectory plans based on the lengths of the working times calculated for the plurality of trajectory plans. be holds, The order information includes information specifying a semi-order group composed of a plurality of the parts whose operation order can be exchanged, and the arithmetic unit allocates the operations for the plurality of parts to the plurality of robots so that the operations for the plurality of parts are executed in the order indicated by the order information, and for each of the plurality of robots, based on the target position information and the structure information, generates a trajectory plan for performing the operations for the allocated parts, and when interference occurs between the plurality of robots, generates a plurality of trajectory plans including trajectory plans for avoiding interference in different ways, and selects any one of the plurality of trajectory plans based on the lengths of the working times calculated for the plurality of trajectory plans. and the plurality of trajectory plans include a plurality of trajectory plans generated by changing the operation order of the plurality of parts belonging to the semi-order group This is characterized by.

Advantages of the Invention

[0007] According to one aspect of the present invention, it is possible to generate a trajectory plan that avoids interference between robots and realizes shortening of working time and reduction of teaching man-hours.

[0008] Problems, configurations, and effects other than those described above will be clarified by the description of the following embodiments.

Brief Description of the Drawings

[0009]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Mode for Carrying Out the Invention

[0010] Hereinafter, a trajectory planning device according to the present invention will be described based on embodiments with reference to the drawings.

[0011] FIG. 1 is a block diagram showing an example of the overall configuration of a trajectory planning device according to an embodiment of the present invention.

[0012] As shown in FIG. 1, the trajectory planning device 10 includes a work assignment unit 20, a work priority setting unit 30, an avoidance method-specific trajectory planning unit 40, a work assignment assembly order change unit 50, an operation selection unit 60, a generated trajectory display unit 70, a communication unit 80, a cell structure information storage unit 90, an assembly semi-order information storage unit 100, a part-specific robot target position information storage unit 110, a priority type-specific trajectory planning information storage unit 120, and a trajectory planning information storage unit 130.

[0013] The work assignment unit 20 generates work assignment information as a candidate plan based on cell structure information, part-specific robot target position information, and assembly semi-order information representing an exchangeable assembly order. The work priority setting unit 30 determines the priority of robots to be avoided from the assembly semi-order information when multiple robots work simultaneously, and generates initial trajectory planning information with priority without considering interference between robots. The avoidance method-specific trajectory planning unit 40 generates candidate trajectory plans for each avoidance method based on cell structure information, part-specific robot target position information, and assembly semi-order information.

[0014] The operation assignment and assembly order changing unit 50 changes the operation assignment to the robot and the pattern of the assembly order based on the semi-assembly order information. The operation selection unit 60 selects the pattern that results in the shortest operation time from the trajectory plans of the generated avoidance methods, the operation assignment, and the pattern of the change in the assembly order. The generated trajectory display unit 70 displays the generated trajectory on the screen. The communication unit 80 is connected to the screen display device 13 and the screen operation device 14.

[0015] The cell structure information storage unit 90 stores cell structure information in which a model of the double-arm robot cell of the line is described. The semi-assembly order information storage unit 100 stores information indicating that either of the parts of the product called the semi-assembly order may be assembled first, the assembly order numbers of the respective parts, and information in which the robot names in charge of the respective parts are described. The part-specific robot target position information storage unit 110 stores part-specific robot target position information representing the robot target positions when operating the respective parts. The priority type-specific trajectory plan information storage unit 120 stores priority type-specific trajectory plan information for each trajectory or avoidance method generated without considering interference between robots. The trajectory plan information storage unit 130 stores trajectory plan information in which the trajectory plan used in the selected operation assignment and assembly order is saved.

[0016] The trajectory planning device 10 may be realized by, for example, a computer having an arithmetic unit 11, a storage unit 12, and a communication unit 80. In this example, the arithmetic unit 11 is a processor that executes a program stored in the storage unit 12. The operation assignment unit 20, the operation priority setting unit 30, the avoidance method-specific trajectory planning unit 40, the operation assignment and assembly order changing unit 50, the operation selection unit 60, and the generated trajectory display unit 70 are realized by the arithmetic unit 11 executing the program.

[0017] The storage unit 12 includes a main storage device such as a DRAM and an auxiliary storage device such as a hard disk drive or a solid state drive, and stores programs executed by the arithmetic unit 11, data used in the processing of the arithmetic unit 11, and the like. The cell structure information storage unit 90, the assembly semi-order information storage unit 100, the part-specific robot target position information storage unit 110, the priority type-specific trajectory planning information storage unit 120, and the trajectory planning information storage unit 130 are storage areas within the storage unit 12.

[0018] The screen display device 13 may be a device included in a computer that implements the trajectory planning device 10, or may be a device included in another computer that communicates with the computer that implements the trajectory planning device 10. The screen operation device 14 includes devices for inputting information, such as a keyboard, a mouse, or a touch sensor. The screen operation device 14 may be a device included in a computer that implements the trajectory planning device 10, or may be a device included in another computer that communicates with the computer that implements the trajectory planning device 10. Further, the screen operation device 14 may be integrated with the screen display device 13, such as a so-called touch panel.

[0019] FIG. 2 is a flowchart showing an example of the flow of the trajectory generation process in the trajectory planning device 10 according to an embodiment of the present invention. Hereinafter, the flow of the process in the trajectory planning device 10 will be described with reference to FIGS. 1 and 2.

[0020] <Work assignment unit> In the first step shown in FIG. 2, the work assignment unit 20 outputs the robot in charge of each part to the assembly semi-order information from the cell structure information in which the work target robot is described and the assembly semi-order information in the assembly semi-order information in which the parts to be assembled are described (step S100).

[0021] By the processing of the work assignment unit 20, the part assignment for each robot to be in charge of work can be automatically generated as an initial plan. Therefore, the work assignment design man-hours of the user can be reduced.

[0022] Figure 3 is a flowchart showing an example of the processing flow of the work allocation unit 20 according to an embodiment of the present invention.

[0023] Referring to Figure 3, the details of the work allocation process in step S100 of Figure 2 will be described. As shown in Figure 3, the work allocation unit 20 generates work allocation information based on the cell structure information stored in the cell structure information storage unit 90 in advance and the assembly semi-order information stored in the assembly semi-order information storage unit 100.

[0024] First, in step S101, the work allocation unit 20 acquires cell structure information from the cell structure information storage unit 90.

[0025] Here, the format of the cell structure information is not limited. Here, as an example, an example using electronic drawing information (such as 3DCAD) including component configurations, positions, and 3D polygon information (such as STL and DAE formats) of robots, pedestals, jigs, etc. that make up the cell as the cell structure information will be described.

[0026] Next, in step S102, the work allocation unit 20 acquires assembly semi-order information from the assembly semi-order information storage unit 100.

[0027] Figure 4 is an explanatory diagram showing an example of the assembly semi-order information acquired from the assembly semi-order information storage unit 100 according to an embodiment of the present invention.

[0028] An assembly semi-order information table 100a, which is an example of the assembly semi-order information, has a part name column 100b, an assembly semi-order part group number column 100c, an assembly order number column 100d, and a work allocation robot name column 100e.

[0029] The part name column 100b stores information for identifying the part name of the part to be assembled.

[0030] The assembly semi-order part group number column 100c stores information for specifying the assembly semi-order part group number to which the part specified in the part name column 100b belongs.

[0031] In the assembly sequence number column 100d, information for specifying the assembly sequence number of the parts specified in the part name column 100b is stored.

[0032] In the work assignment robot name column 100e, information for specifying the robot name assigned to the work of the parts specified in the part name column 100b is stored.

[0033] Here, the semi-assembly order part groups must be assembled in the order of the semi-assembly order part group numbers. However, it is assumed that the parts belonging to each semi-assembly order group can be assembled in any order. In the example of FIG. 4, for semi-assembly order group numbers 1 to 4, since each group has only one of parts A to D, they are assembled in the order of parts A, B, C, D. For parts E and F belonging to semi-assembly order group number 5, it shows that either can be assembled first. In the following description, an example of assembling in the order of parts F, E is shown.

[0034] Next, in step S103, the work assignment unit 20 generates a work assignment to the initial robot candidates based on the cell structure information and the semi-assembly order information.

[0035] Here, as work assignment methods, a method of assigning parts at a distance close to each robot, or a method of calculating the work time when each robot performs the assembly work of each part without considering object interference and assigning the parts to the robot with the shortest work time, etc. General methods can be used. However, the work assignment method is not limited to these, and any method can be used.

[0036] Next, in step S104, the work assignment unit 20 outputs the semi-assembly order information with the work assignment robot name input to the semi-assembly order information storage unit 100.

[0037] After that, the execution of the flowchart of the work assignment process ends.

[0038] In the processes from step S200 to S6 by the subsequent operation priority setting unit 30, for each assembly semi-order part group whose assembly order can be changed, changes in the track plan and work assignment, as well as changes in the assembly order, are processed.

[0039] <Operation priority setting unit> In step S200 shown in FIG. 2, the operation priority setting unit 30 sets the tracks of other robots and parts that must be avoided during the assembly operation of the parts assigned to a certain robot.

[0040] The operation priority setting unit 30 can automatically set the tracks of other robots and parts that must be avoided by using the operation time of the initial type of track generated without considering the interference between robots. By setting this, it is possible to prevent the operation time of the robot with a higher priority from being extended by the avoidance operation, and to automatically generate a track plan for performing the assembly operation with a shorter operation time.

[0041] FIG. 5 is a flowchart showing an example of the processing flow of the operation priority setting unit 30 according to an embodiment of the present invention.

[0042] Referring to FIG. 5, the details of the operation priority setting process in step S200 will be described. As shown in FIG. 5, the operation priority setting unit 30 generates an operation priority based on the cell structure information stored in the cell structure information storage unit 90, the assembly semi-order information stored in the assembly semi-order information storage unit 100, and the part-by-part robot target position information stored in the part-by-part robot target position information storage unit 110.

[0043] First, in step S201, the operation priority setting unit 30 acquires the assembly semi-order information from the assembly semi-order information storage unit 100, the cell structure information from the cell structure information storage unit 90, the part-by-part robot target position information from the part-by-part robot target position information storage unit 110, and the operation assignment information from the operation assignment information storage unit.

[0044] FIG. 6 is an explanatory diagram showing an example of part-specific robot target position information acquired from the part-specific robot target position information storage unit 110 according to an embodiment of the present invention.

[0045] A part-specific robot target position information table 110a, which is an example of part-specific robot target position information, has a part name column 110b, a pick position x column 110c, a pick position y column 110d, a pick position z column 110e, a place position x column 110f, a place position y column 110g, and a place position z column 110h.

[0046] The part name column 110b stores information for specifying a part name that can identify the part name of the part to be assembled.

[0047] The pick position x column 110c stores information for specifying the robot target x coordinate position when the robot picks the part specified in the part name column 110b.

[0048] The pick position y column 110d stores information for specifying the robot target y coordinate position when the robot picks the part specified in the part name column 110b.

[0049] The pick position z column 110e stores information for specifying the robot target z coordinate position when the robot picks the part specified in the part name column 110b.

[0050] The place position x column 110f stores information for specifying the robot target x coordinate position when the robot places the part specified in the part name column 110b.

[0051] The place position y column 110g stores information for specifying the robot target y coordinate position when the robot places the part specified in the part name column 110b.

[0052] The place position z column 110h stores information for specifying the robot target z coordinate position when the robot places the part specified in the part name column 110b.

[0053] Next, in step S202, the work priority setting unit 30 generates a trajectory plan to be executed without considering the interference between robots for the movement of all the parts included in the semi-assembly order part group to be planned, based on the semi-assembly order information, the cell structure information, and the robot target position information for each part, and calculates the operation time.

[0054] Here, when generating a trajectory without considering the interference between robots, an example using a general trajectory planning method (such as Probabilistic Roadmap Method (PRM), Rapidly-Exploring Random Tree (RRT), Covariant Hamiltonian Optimization for Motion Planning (CHOMP), etc.) will be described, but the method of trajectory planning is not limited.

[0055] Next, in step S203, the work priority setting unit 30 calculates the work start time of each part by adding up the work times of the parts assigned to each robot in the work order.

[0056] FIG. 7 is an explanatory diagram of an example of the calculation result of the work start time of each part by the work priority setting unit 30 according to an embodiment of the present invention.

[0057] The calculation result 1100a shown in FIG. 7 shows the result of calculating the work start time of each part by adding up the work times of the parts assigned to each robot in the work order.

[0058] According to the calculation result 1100a illustrated in FIG. 7, first, robots A, B, and C start working on parts A, B, and C, respectively. After that, the work of robot A on part A ends first, and the work on part D starts. Next, the work of robot B on part B ends, and the work on part E starts. Next, the work of robot C on part C ends, and the work on part F starts. Next, the work of robot A on part D ends, and the work on part G starts.

[0059] Next, in step S204, the work priority setting unit 30 identifies other robots and parts that work simultaneously during the working time based on the work start time and working time of a certain part.

[0060] The calculation result 1100b shown in FIG. 7 is an example of the result of identifying other robots and parts that work simultaneously when planning the trajectory of the robot B for the part H. When the robot B starts working on the part H after finishing the work on the part E, the operation of the part H of the robot B is executed in the time zone shown by the ellipse, that is, in the time zone corresponding to the length of the working time of the part H after the robot B finishes the work on the part E. At the work start time of the part H of the robot B shown in FIG. 7, since the part G of the robot A and the part F of the robot C are working, they can be identified as other robots and parts that work simultaneously during the work of the part H of the robot B. Therefore, the work priority setting unit 30 identifies the part G of the robot A and the part F of the robot C that are working as the trajectory of the combination of the robot and the part that the trajectory planning of the part H of the robot B avoids.

[0061] Next, in step S205, the work priority setting unit 30 outputs each trajectory plan that is executed without considering the interference between robots generated as the initial type of trajectory plan in step S202, and the other robots and part names that the trajectory avoids, to the priority type-specific trajectory plan information in the priority type-specific trajectory plan information storage unit 120. Here, the trajectory is information composed of the information of each robot posture for moving the hand to each via point position group that interpolates between the initial hand position and the target hand position of the robot, and the time when the hand reaches each via point.

[0062] FIG. 8 is an explanatory diagram showing an example of the priority type-specific trajectory plan information of the embodiment of the present invention.

[0063] The prioritized type-specific trajectory plan information table 120a, which is an example of prioritized type-specific trajectory plan information, has a planned robot name column 120b, a planned part name column 120c, a trajectory type column 120d, an avoidance robot column 120e, an avoidance part column 120f, an ID column 120g, a passing time column 120h, a J1 column 120i, a J2 column 120j, a J3 column 120k, and a Jn column 120l.

[0064] In the robot name column 120b, information for specifying the robot name that can identify the robot targeted by the trajectory plan is stored.

[0065] In the part name column 120c, information for specifying the part name that can identify the part targeted by the trajectory plan is stored.

[0066] In the trajectory type column 120d, information for specifying the type name of the trajectory is stored. Specifically, it is specified whether it is an initial type of trajectory generated without considering interference between robots, a trajectory to which an interference avoidance method by deceleration is applied, a trajectory to which an interference avoidance method by temporary stop is applied, or a trajectory to which an interference avoidance method by detour is applied.

[0067] In the avoidance robot column 120e, information for specifying the name of the robot that the trajectory specified by the robot specified in the planned robot name column 120b and the part name specified in the planned part name column 120c should avoid is stored.

[0068] In the avoidance part column 120f, information for specifying the name of the part that the trajectory specified by the robot specified in the planned robot name column 120b and the part name specified in the planned part name column 120c should avoid is stored.

[0069] In the ID column 120g, information for specifying the number of the passing point of the robot end effector of the trajectory specified by the robot specified in the planned robot name column 120b and the part name specified in the planned part name column 120c is stored.

[0070] In the passing time column 120h, information specifying the hand arrival time of the robot specified in the planned robot name column 120b, the part name specified in the planned part name column 120c, and the passing point specified in the ID column 120g is stored.

[0071] In the J1 column 120i to Jn column 120l, information indicating the joint angles of the robot joints J1 to Jn is stored as information indicating the posture of the robot at each time of the generated trajectory plan. In the example of FIG. 8, the J1 joint angle, J2 joint angle, J3 joint angle, and Jn joint angle are displayed, and others are omitted. Actually, all the joint angles of the robot corresponding to each passing point of the planned trajectory are stored. Also, in the example of FIG. 8, the joint angles at each time in the initial trajectory plan are shown. However, when a trajectory plan for avoiding interference is generated in subsequent processing, information on the joint angles at each time in the generated trajectory plan is added, and information indicating the avoidance method is stored in the trajectory type column 120d corresponding to those joint angles.

[0072] In the example of FIG. 8, in the J1 column 120i of the initial trajectory, information specifying the J1 joint angle of the robot when moving the hand to the passing point specified by the robot specified in the planned robot name column 120b, the part name specified in the planned part name column 120c, and the ID column 120g is stored.

[0073] In the J2 column 120j of the initial trajectory, information specifying the J2 joint angle of the robot when moving the hand to the passing point specified by the robot specified in the planned robot name column 120b, the part name specified in the planned part name column 120c, and the ID column 120g is stored.

[0074] In the J3 column 120k of the initial trajectory, information specifying the J3 joint angle of the robot when moving the hand to the passing point specified by the robot specified in the planned robot name column 120b, the part name specified in the 120c of the planned part name column, and the ID column 120g is stored.

[0075] In the Jn column 120l of the initial trajectory, information for specifying the Jn joint angle of the robot when moving the hand to the waypoint specified by the robot specified in the planned robot name column 120b, the part name specified in the planned part name column 120c, and the ID column 120g is stored.

[0076] Here, according to the work order of the parts assigned to multiple robots, for example, when multiple robots start working on parts belonging to the same semi-order group at the same work start time, either robot may start working first. For example, by increasing the work priority for the robot with a longer distance to the target position, the robot that starts working first may be determined. The avoidance robot column 120e and the avoidance part column 120f in FIG. 8 corresponding to the robot and part with a high work priority are blank, and there is no trajectory of other robots to avoid. In this case, when the trajectory for the work of the robot and the part and the trajectory for the work of other robots and other parts interfere, the trajectory for the work of other parts of other robots becomes the target for change for interference avoidance.

[0077] After that, the execution of the flowchart of the work priority setting process ends.

[0078] <Trajectory Planning Unit by Avoidance Method> In the procedure of S300 shown in FIG. 2, the trajectory planning unit 40 by avoidance method plans trajectories for different interference avoidance methods between robots.

[0079] In step S300, the trajectory planning unit 40 by avoidance method automatically generates trajectory plans for different interference avoidance methods (for example, detour avoidance, pause avoidance, deceleration avoidance, etc. described later) for simultaneous interference avoidance of robots. By generating this trajectory by avoidance method as a candidate trajectory, it becomes possible to select each trajectory by avoidance method in the process after step S300. By selecting the optimal trajectory from within the options, the work time for the entire assembly work can be shortened.

[0080] FIG. 9 is a flowchart showing an example of the processing flow of the trajectory planning unit 40 by avoidance method according to an embodiment of the present invention.

[0081] Referring to FIG. 9, the details of the avoidance method-specific trajectory planning process in step S300 will be described. As shown in FIG. 9, the avoidance method-specific trajectory planning unit 40, based on the component-specific robot target position information stored in the component-specific robot target position information storage unit 110 and the priority type-specific trajectory planning information stored in the priority type-specific trajectory planning information storage unit 120, identifies the trajectories of other robots that the combinations of robots and components with low work priorities avoid during operation, and generates an avoidance method-specific candidate trajectory plan that heads towards the target position while avoiding those trajectories.

[0082] Here, as an avoidance method, when it is likely to collide with other robots, the avoidance method-specific trajectory planning unit 40 uses a detour avoidance method in which it works while detouring in the avoiding direction, a temporary stop avoidance method in which it temporarily stops and waits until it moves to a position where it does not collide with other robots, and a deceleration avoidance method in which it decelerates and moves so as not to collide with other robots. However, an interference avoidance method between other robots may be added according to the embodiment, and the present invention does not limit the interference avoidance method to be used.

[0083] In the avoidance method-specific trajectory planning process in step S300, as shown in FIG. 9, based on the component-specific robot target position information and the priority type-specific trajectory planning information, trajectory planning information for each avoidance method is generated for the combinations of the robots and components that are the targets of trajectory planning.

[0084] First, in step S301, the avoidance method-specific trajectory planning unit 40 acquires the component-specific robot target position information stored in the component-specific robot target position information storage unit 110 and the priority type-specific trajectory planning information stored in the priority type-specific trajectory planning information storage unit 120.

[0085] Next, in step S302, for each combination of the robots and parts to be subject to the trajectory plan, the trajectory plan for the combination of other robots and parts to be avoided set by the above-described operation priority setting unit 30 is divided by the trajectory planning unit 40 for each avoidance method into a trajectory in which the posture at the operation start time of the combination of the robots and parts to be subject to the trajectory plan becomes the start posture, and the remaining trajectory (i.e., the trajectory until it reaches the start posture).

[0086] FIG. 10 is an explanatory diagram showing an example of dividing the trajectory plan of other robots by the trajectory planning unit 40 for each avoidance method according to an embodiment of the present invention. In this example, a combination of robot B and part H shown in an elliptical shape is set as the current trajectory planning target in step S302.

[0087] First, for the combination of robot B and part H within the work schedule 1200a, the information in the avoidance robot column 120e and the avoidance part column 120f in the row where the planned robot name 120b in the priority type-based trajectory planning information shown in FIG. 8 is robot B and the planned part name 120c is part H is referred to. The work schedule 1200a in FIG. 10 is based on the calculation result 1100b shown in FIG. 7 and corresponds to the example of the priority type-based trajectory planning information shown in FIG. 8. From the information in the avoidance robot column 120e and the avoidance part column 120f in FIG. 8, the combination of robot A and part G and the combination of robot C and part F are specified as the avoidance targets. Since the operations of these specified combinations are started earlier than the operation of the combination of robot B and part H which is the trajectory planning target, the operation priorities of the combinations of other robots and parts specified from the information where their operation priorities are referred to are higher than the operation priority of the combination of robot B and part H. Therefore, the combination of robot A and part G and the combination of robot C and part F are specified as the combinations of robots and parts that must be operated earlier by avoiding on the robot B side, and their trajectories become the trajectories to be avoided.

[0088] Then, for the operation start time of component H, the avoidance method-specific trajectory planning unit 40 divides the trajectories of the combination of robot A and component G and the combination of robot C and component F, as shown in the operation schedule 1200b, into a trajectory starting from the operation start time of component H and the trajectory before it.

[0089] Next, in step S303, the avoidance method-specific trajectory planning unit 40 generates an interference avoidance trajectory for the detour method.

[0090] Here, the interference avoidance trajectory of the detour method in this embodiment is generated by sequentially comparing the operations of other robots at a certain time with the movable directions of the robot whose trajectory is to be planned. When interference cannot be avoided in the current movable direction, it moves in the avoidance direction from the passing position at a time before the current avoidance start time. As a result, it is possible to generate a trajectory that gently detours and avoids without generating deceleration due to a sudden change in direction. Therefore, when general interference is predicted, compared with the method of suddenly decelerating by suddenly changing the direction to avoid, and the method of generating a trajectory that detours around all the areas through which the trajectories of other robots operating simultaneously pass, it is possible to generate a trajectory with a shorter working time.

[0091] FIG. 11 is a flowchart showing an example of the details of the process (step S303) in which the avoidance method-specific trajectory planning unit 40 of the embodiment of the present invention generates an interference avoidance trajectory.

[0092] First, in step S1301, the avoidance method-specific trajectory planning unit 40 generates a reach position that moves a specified distance in the target position direction within an arbitrary movable range from the current position in the work space.

[0093] FIG. 12 is an explanatory diagram showing an example of the reach position generated by the detour method trajectory planning unit 40 of the embodiment of the present invention.

[0094] The generation example 1200a in FIG. 12 is an example in which a reach position that has moved a specified distance within the movable range from the current position is generated. By restricting the movable range with respect to the current position, it is possible to prevent the robot from suddenly changing direction and decelerating or stopping.

[0095] Next, in step S1302, the avoidance method-specific trajectory planning unit 40 calculates the arrival time at the arrival position.

[0096] Here, as a method for calculating the arrival time, a method of calculating the arrival posture at the arrival position of a general robot by inverse kinematics calculation and using the joint speed, joint acceleration specifications, and the amount of joint rotation angle up to the arrival posture, or a method of calculating using the robot end effector speed and acceleration specifications and the end effector movement distance to the arrival position will be described as examples, but the arrival time calculation method is not limited to these.

[0097] Next, in step S1303, the avoidance method-specific trajectory planning unit 40 acquires the posture of the other robot at the arrival time calculated in step S1302 from the trajectory of the avoidance target segmented in step S302.

[0098] Next, in step S1304, the avoidance method-specific trajectory planning unit 40 determines whether the arrival posture of the robot at the arrival time interferes with the posture of the other robot. If there is interference, the process proceeds to step S1305. If there is no interference, the process proceeds to step S1309.

[0099] Next, in step S1305, the avoidance method-specific trajectory planning unit 40 calculates an avoidance direction vector from the movable range at the current position, the current position, and the movement direction of the other robot at the arrival time, and moves an arbitrary distance in the direction of the interference avoidance direction vector.

[0100] The generation example 1200b in FIG. 12 is an example of generating an avoidance direction vector, which is performed in step S1305. For the vector representing the moving direction of other robots at the arrival time, within the movable range from the current position of the robot, the avoidance direction vector is set by an arbitrary avoidance angle in the direction opposite to the vector representing the moving direction of other robots (a direction including at least a component in the opposite direction).

[0101] Next, in step S1306, the trajectory planning unit 40 for each avoidance method determines whether the posture of the robot after movement interferes with the posture of other robots. If there is interference, the process proceeds to step S1307. If there is no interference, the process proceeds to step S1309.

[0102] Next, in step S1307, the trajectory planning unit 40 for each avoidance method generates a reach position by moving from the past waypoint immediately before the current position in the direction of the avoidance direction vector.

[0103] The generation example 1200c in FIG. 12 shows an example of generating a reach position by moving from a past waypoint in the direction of the avoidance direction vector, which is performed in step S1307. Thereby, it is possible to start avoidance with respect to other robots from waypoints and times before the current time, and it is possible to prevent sudden direction changes and deceleration immediately before a collision while avoiding.

[0104] Next, in step S1308, the trajectory planning unit 40 for each avoidance method determines whether the posture of the robot after movement interferes with the posture of other robots. If there is interference, the process proceeds to step S1307.

[0105] By transitioning back to step S1307, the waypoint can be reset from the past waypoint, and the trajectory can be updated to an interference avoidance trajectory without sudden direction changes. If there is no interference, the process proceeds to step S1309.

[0106] Next, in step S1309, the path planning unit 40 for each avoidance method determines whether the robot posture after movement has reached the target position. If it has reached, the processing flow of the path planning unit 40 for each avoidance method ends. If it has not reached, the process transitions to step S1302, and with the robot posture after the above movement as the new current position, the processes after step S1302 are executed. By repeating this process until the target position is reached, waypoints to the target position are generated.

[0107] Next, in step S304, the path planning unit 40 for each avoidance method generates an interference avoidance path with a deceleration method.

[0108] Here, as an interference avoidance path planning method with a deceleration method, a general example will be described in which it is determined whether interference occurs between robots at the passing time of each waypoint of the path, and if interference occurs, the moving speed up to the waypoint where interference occurs is decelerated to avoid interference. However, the method of the interference avoidance path planning with a deceleration method is not limited.

[0109] Next, in step S305, the path planning unit 40 for each avoidance method generates an interference avoidance path with a stop method.

[0110] Here, as an interference avoidance path planning method with a stop method, a general example will be described in which it is determined whether interference occurs between robots at the passing time of each waypoint of the path, and if interference occurs, the robot is stopped for an arbitrary time at the waypoint at the previous time before interference to avoid interference. However, the method of the interference avoidance path planning with a stop method is not limited.

[0111] Next, in step S306, the path planning unit 40 for each avoidance method outputs the paths of each interference avoidance method generated to the priority type-specific path planning information storage unit 120.

[0112] In step S1 shown in FIG. 2, the trajectory planning device 10 determines whether the number of parts in the assembly semi-ordered part group currently being planned is more than 1. If the number of parts is more than 1, the process transitions to step S400. If the number of parts is 1, the process transitions to step S3.

[0113] In step S3 shown in FIG. 2, the trajectory planning device 10 determines whether trajectory generation has been completed for all robot allocation patterns for the parts of the assembly semi-ordered part group that is currently the planning target (when transitioning to this step S3, since the number of parts in the assembly semi-ordered part group that is the planning target is 1, that part). If it is completed, it transitions to step S500, and if it is not completed, it transitions to step S4.

[0114] In step S4 shown in FIG. 2, the trajectory planning device 10 performs a reassignment to the robots for which trajectory planning has not yet been generated for the parts of the assembly semi-ordered part group that is currently the planning target, transitions back to step S200, and enters the flow of performing trajectory planning.

[0115] <Work assignment and assembly order change section> In step S400 shown in FIG. 2, the work assignment and assembly order change section 50 changes the combination of work assignment and assembly order.

[0116] By using the assembly semi-order information, the work assignment and assembly order change section 50 can generate combinations of candidate work assignments and candidate assembly orders based on the semi-order information. Therefore, in the subsequent operation selection section step S500 and the overall processing flow of the trajectory planning device, it becomes possible to select the optimal combination from within the candidate combinations, and the working time of the entire assembly operation can be shortened.

[0117] In step S400, the work assignment and assembly order change section 50 generates patterns of work assignment and assembly order changes for which trajectory planning has not been performed in order to generate the trajectory plans for all patterns of work assignment and assembly order changes for the current assembly semi-ordered part group that is the trajectory planning target in step S300.

[0118] The work assignment and assembly order change section 50 sets the all-pattern trajectory generation completion flag to OFF if the trajectory plans for all patterns of work assignment and assembly order changes for the current assembly semi-ordered part group that is the trajectory planning target have not been completed, and sets it to ON if they have been completed.

[0119] After that, the operation assignment and assembly order change process ends.

[0120] Next, in step S2 of the overall processing flow shown in FIG. 2, the operation assignment and assembly order change unit 50 determines whether the all-pattern trajectory generation completion flag is ON. If it is ON, the process proceeds to step S500. If the all-pattern trajectory generation completion flag is not ON (that is, the trajectory plans for all patterns are not completed), the process proceeds to step S300 by the operation priority setting unit, and the process proceeds to the flow of making trajectory plans for the operation assignments and assembly order patterns for which no trajectory plan has been made.

[0121] <Operation selection unit> In step S500 shown in FIG. 2, the operation selection unit 60 selects the trajectory plan, operation assignment, and assembly order with the shortest operation time for each avoidance method.

[0122] By the processing of the operation selection unit 60, an optimal combination can be selected from the candidate combinations of the operation assignment, assembly order, and trajectory plan for each avoidance method generated by the above-described operation assignment and assembly order change process, and the operation time for the entire assembly work can be shortened.

[0123] FIG. 13 is a flowchart showing an example of the processing flow of the operation selection unit 60 according to an embodiment of the present invention.

[0124] Referring to FIG. 13, the details of the operation selection process in step S500 will be described. As shown in FIG. 13, the operation selection unit 60 updates the assembly order and operation assignment information in the priority type-specific trajectory plan information based on the assembly semi-order information stored in the assembly semi-order information storage unit 100 and the type-specific priority type-specific trajectory plan information stored in the priority type-specific trajectory plan information storage unit 120, and outputs the selected trajectory plan for each avoidance method as trajectory plan information.

[0125] First, in step S501, the operation selection unit 60 acquires the priority type-specific trajectory plan information for each avoidance method.

[0126] Next, in step S502, the operation selection unit 60 obtains the working time of the parts assigned to each robot from the type-specific trajectory plan information with priority for each avoidance method for each combination pattern of the work assignment, assembly order, and avoidance method-specific alternative trajectory within the current semi-assembled order parts group.

[0127] Next, in step S503, the operation selection unit 60 compares the working times of the parts assigned to each robot in each combination obtained in step S502, and selects the pattern that minimizes the working time up to the current semi-assembled order parts group.

[0128] Next, in step S504, the operation selection unit 60 copies the trajectory plan information of the avoidance method selected in step S503 from the type-specific trajectory plan information with priority to the trajectory plan information storage unit 140, and outputs it to the trajectory plan information storage unit 130.

[0129] Next, in step S505, the operation selection unit 60 outputs the assembly semi-order information updated with the work assignment and assembly order selected in step S503 to the assembly semi-order information storage unit 100.

[0130] After that, the execution of the flowchart of the operation selection process ends.

[0131] Next, in step S5 shown in FIG. 2 described above, it is determined whether the operation selection of all the semi-assembled order parts groups is completed. If the operation selection of all the semi-assembled order parts groups is completed, the execution of the flowchart of the trajectory plan generation process ends. If the operation selection of all the semi-assembled order parts groups is not completed, the process proceeds to step S6, the number of the semi-assembled order parts group to be planned is incremented by 1, and the process proceeds to step S200 by the work priority setting unit. As a result, for each semi-assembled order parts group, the trajectory plan, work assignment, and assembly order change are executed in order within the overall flow of the trajectory planning device.

[0132] When the trajectory plan is completed, the generated trajectory display unit 70 displays the assembly semi-order information, the type-specific trajectory plan information with priorities, and the trajectory plan information on the screen display device 13 connected to the communication unit 80.

[0133] FIG. 14 is an explanatory diagram showing an example of a screen displayed by the screen display device 13 according to an embodiment of the present invention.

[0134] Specifically, FIG. 14 shows an example of a display screen for the assembly semi-order information, the type-specific trajectory plan information with priorities, and the trajectory plan information. The display screen 1500a includes a display of the assembly order information, the type-specific trajectory plan information with priorities, and the trajectory plan information, an area 1500b where the work order of each component can be changed on the screen, an area 1500c where the trajectory plan of each robot can be reproduced and displayed for the entire cell, and an area 1500d where the trajectory plan for each combination of robot and component can be reproduced according to the avoidance method.

[0135] According to the embodiment described above, based on the assembly semi-order, by optimizing both the assembly order, the work assignment, and the multi-robot trajectories that avoid interference with each other, shortening of the total work time and reduction of teaching man-hours are achieved. Although the present invention has been specifically described based on the embodiments, it goes without saying that the present invention is not limited to the above-described embodiments of the invention and can be modified within the scope not departing from the gist thereof in the trajectory planning device.

[0136] Also, the system according to the embodiment of the present invention may be configured as follows.

[0137] (1) A trajectory planning device (e.g., trajectory planning device 10) having a calculation unit (e.g., calculation unit 11) and a storage unit (e.g., storage unit 12), wherein the storage unit holds order information indicating the order of operations for a plurality of parts (e.g., information stored in the assembly semi-order information storage unit 110), target position information including pick positions and place positions in operations for the plurality of parts (e.g., information stored in the part-by-robot target position information storage unit 110), and structure information indicating the structures of a plurality of robots (e.g., information stored in the cell structure information storage unit 90). The calculation unit allocates operations for the plurality of parts to the plurality of robots so that the operations for the plurality of parts are executed according to the order indicated by the order information (e.g., step S100). For each of the plurality of robots, based on the target position information and the structure information, a trajectory plan for performing the allocated operations on the parts is generated (e.g., step S300). When interference occurs between the plurality of robots, a plurality of trajectory plans including a trajectory plan for avoiding interference in different ways are generated (e.g., steps S301 - S306). Based on the lengths of the operation times calculated for the plurality of trajectory plans, one of the plurality of trajectory plans is selected (e.g., step S500).

[0138] This makes it possible to generate a trajectory plan that avoids interference between robots and shortens the operation time.

[0139] (2) In the above (1), the plurality of trajectory plans include a trajectory plan for avoiding interference by one of the two robots where interference occurs bypassing the other robot (e.g., step S303).

[0140] This makes it possible to generate a trajectory plan for avoiding interference between robots.

[0141] (3) In the above (2), the trajectory plan includes information indicating the postures of the waypoints of the robot for each time (for example, the information of each waypoint in the priority type-specific trajectory plan information in FIG. 8), and the calculation unit determines, among the waypoints of one robot, the moving direction from the waypoint at the time immediately before the waypoint where interference with the other robot occurs, within the movable range of one robot, and changes it to a direction including a component in the direction opposite to the moving direction of the other robot, thereby generating a trajectory plan for avoiding interference (for example, step S1305).

[0142] Thus, it is possible to generate a trajectory plan for avoiding interference between robots without performing a sudden direction change or the like immediately before a collision.

[0143] (4) In the above (3), if the calculation unit changes the moving direction from the waypoint at the time immediately before the waypoint where interference with the other robot occurs and the interference with the other robot is not eliminated, the calculation unit further changes the moving direction from the waypoint at the time before that, within the movable range of one robot, and to a direction including a component in the direction opposite to the moving direction of the other robot, thereby generating a trajectory plan for avoiding interference (for example, step S1307).

[0144] Thus, it is possible to generate a trajectory plan for avoiding interference between robots without performing a sudden direction change or the like immediately before a collision.

[0145] (5) In the above (2), the plurality of trajectory plans further include at least one of a trajectory plan for avoiding interference by one robot decelerating and a trajectory plan for avoiding interference by one robot temporarily stopping (for example, steps S304, S305).

[0146] Thus, it is possible to generate a plurality of trajectory plans for avoiding interference in different ways.

[0147] (6) In the above (2), one of the robots is the robot with the later start time of the operation on the component being performed at the time when interference occurs, among the two robots where interference occurs.

[0148] Accordingly, a trajectory plan for avoiding interference can be generated according to a predetermined assembly order.

[0149] (7) In the above (2), the order information includes information specifying a semi-order group composed of a plurality of parts whose work order can be exchanged. In two robots where interference occurs, if the parts being worked on at the time of interference belong to the same semi-order group and the start times of the work are the same, one of the robots is the robot closer to the part being worked on at the time of interference among the two robots where interference occurs.

[0150] Accordingly, a trajectory plan for avoiding interference can be generated so as to shorten the overall working time.

[0151] (8) In the above (1), the order information includes information specifying a semi-order group composed of a plurality of parts whose work order can be exchanged, and the plurality of trajectory plans include a plurality of trajectory plans generated by changing the work order of the plurality of parts belonging to the semi-order group (for example, step S400).

[0152] Accordingly, a plurality of trajectory plans can be generated and the one with a short working time can be selected.

[0153] (9) In the above (1), the plurality of trajectory plans include a plurality of trajectory plans in which the assignment of work to parts for each of the plurality of robots is different, and is a trajectory planning device characterized by this.

[0154] Accordingly, a plurality of trajectory plans can be generated and the one with a short working time can be selected.

[0155] (10) In the above (1), the calculation unit selects the trajectory plan with the shortest calculated working time among the plurality of trajectory plans (for example, step S503).

[0156] As a result, it is possible to generate a trajectory plan that avoids interference between robots and shortens the working time.

[0157] (11) In the above (1), the trajectory planning device is connected to a display device (for example, the screen display device 13), and the calculation unit transmits data (for example, the data for the display in FIG. 14) for displaying at least any one of the operations of the robot based on a plurality of trajectory plans to the display device.

[0158] As a result, the user can confirm the generated trajectory plan.

[0159] (12) In the above (11), the calculation unit transmits data (for example, the data for the display in FIG. 14) for displaying at least any one of the operations of the robot based on the trajectory plan with the shortest calculated working time among the plurality of trajectory plans, or the operation of the robot based on the trajectory plan selected by the user to the display device.

[0160] As a result, the user can confirm the generated trajectory plan.

[0161] (13) In the above (11), the trajectory planning device is connected to an operating device (for example, the screen operating device 14) that receives an operation by the user, and the calculation unit changes the trajectory plan based on the information input from the user via the operating device.

[0162] As a result, the user can confirm the generated trajectory plan and make changes to it.

[0163] Note that the present invention is not limited to the above-described embodiments and includes various modifications. For example, the above-described embodiments have been described in detail for better understanding of the present invention, and are not necessarily limited to those having all the configurations described. Also, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. Further, for a part of the configuration of each embodiment, addition, deletion, or replacement with other configurations is possible.

[0164] In addition, each of the above configurations, functions, processing units, processing means, etc. may be realized in hardware by designing a part or all of them, for example, by means of an integrated circuit. Also, each of the above configurations, functions, etc. may be realized in software by a processor interpreting and executing a program for realizing each function. Information such as a program, table, file, etc. for realizing each function can be stored in a storage device such as a non-volatile semiconductor memory, a hard disk drive, an SSD (Solid State Drive), or a computer-readable non-transitory data storage medium such as an IC card, an SD card, or a DVD.

[0165] Also, the control lines and information lines show those considered necessary for explanation, and not necessarily all the control lines and information lines are shown on the product. In fact, it may be considered that almost all the configurations are interconnected.

Explanation of Reference Numerals

[0166] 10... Orbit planning device, 13... Screen display device, 14... Screen operation device, 20... Work assignment unit, 30... Work priority setting unit, 40... Orbit planning unit by avoidance method, 50... Work assignment assembly order change unit, 60... Operation selection unit, 70... Generated orbit display unit, 80... Communication unit, 90... Cell structure information storage unit, 100... Assembly semi-order information storage unit, 110... Robot target position information storage unit by part, 120... Orbit planning information storage unit with priority by type, 130... Orbit planning information storage unit

Claims

1. A trajectory planning device having a calculation unit and a memory unit, wherein the memory unit holds order information indicating the order of operations for a plurality of parts, target position information including pick positions and place positions in the operations for the plurality of parts, and structure information indicating the structures of a plurality of robots, the order information includes information specifying a semi-order group consisting of the plurality of parts whose operation order can be exchanged, the calculation unit, allocates the operations for the plurality of parts to a plurality of robots so that the operations for the plurality of parts are executed according to the order indicated by the order information, for each of the plurality of robots, generates a trajectory plan for performing the allocated operations on the parts based on the target position information and the structure information, when interference occurs between the plurality of robots, generates a plurality of trajectory plans including a trajectory plan for avoiding the interference in different ways, selects any one of the plurality of trajectory plans based on the lengths of the operation times calculated for the plurality of trajectory plans, the plurality of trajectory plans include a plurality of trajectory plans generated by changing the operation order of the plurality of parts belonging to the semi-order group, and a trajectory planning device characterized by this.

2. The trajectory planning device according to claim 1, wherein the plurality of trajectory plans include a trajectory plan for avoiding the interference by one of the two robots where the interference occurs bypassing the other robot, and a trajectory planning device characterized by this.

3. The trajectory planning device according to claim 2, the trajectory plan includes information indicating the postures of the waypoints of the robot at each time, the calculation unit changes the moving direction from the waypoint at the time immediately before one of the waypoints where interference with the other robot occurs among the waypoints of the one robot to a direction within the movable range of the one robot and including a component in a direction opposite to the moving direction of the other robot, thereby generating a trajectory plan for avoiding the interference, and a trajectory planning device characterized by this.

4. The trajectory planning device according to claim 3, When the calculation unit changes the moving direction from the waypoint at the time immediately before one of the waypoints where interference with the other robot occurs, and the interference with the other robot is not eliminated, the calculation unit further changes the moving direction from the waypoint at the previous time to a direction within the movable range of the one robot and including a component in a direction opposite to the moving direction of the other robot, thereby generating a trajectory plan for avoiding the interference. The trajectory planning device is characterized by this.

5. The trajectory planning device according to claim 2, wherein the plurality of trajectory plans further include at least one of a trajectory plan for avoiding the interference by decelerating the one robot and a trajectory plan for avoiding the interference by temporarily stopping the one robot. The trajectory planning device is characterized by this.

6. A trajectory planning device having a calculation unit and a storage unit, wherein the storage unit holds order information indicating the order of operations for a plurality of parts, target position information including pick positions and place positions in the operations for the plurality of parts, and structure information indicating the structures of a plurality of robots, and the calculation unit allocates the operations for the plurality of parts to a plurality of robots so that the operations for the plurality of parts are executed in the order indicated by the order information, generates, for each of the plurality of robots, a trajectory plan for performing the operation for the allocated part based on the target position information and the structure information, when interference occurs between the plurality of robots, generates a plurality of trajectory plans including trajectory plans for avoiding the interference in different ways, selects one of the plurality of trajectory plans based on the lengths of the operation times calculated for the plurality of trajectory plans, wherein the plurality of trajectory plans include a trajectory plan for avoiding the interference by one of the two robots where the interference occurs bypassing the other robot, and the one robot is the robot with the later start time of the operation for the part being performed at the time when the interference occurs among the two robots where the interference occurs. The trajectory planning device is characterized by this.

7. A trajectory planning device having a calculation unit and a storage unit, The memory unit holds order information indicating the order of operations for a plurality of parts, target position information including pick positions and place positions in the operations for the plurality of parts, and structure information indicating the structures of a plurality of robots. The order information includes information specifying a semi-order group consisting of a plurality of the parts whose operation order can be exchanged. The arithmetic unit allocates the operations for the plurality of parts to a plurality of robots so that the operations for the plurality of parts are executed according to the order indicated by the order information. For each of the plurality of robots, based on the target position information and the structure information, generates a trajectory plan for performing the operations for the allocated parts. When interference occurs among the plurality of robots, generates a plurality of trajectory plans including trajectory plans for avoiding interference in different ways. selects any one of the plurality of trajectory plans based on the lengths of the operation times calculated for the plurality of trajectory plans. The plurality of trajectory plans includes a trajectory plan in which one of the two robots where the interference occurs avoids the interference by bypassing the other robot. In the two robots where the interference occurs, when the parts that are the targets of the operations being performed at the time when the interference occurs belong to the same semi-order group and the start times of the operations are the same, the one robot is the robot that is closer to the part that is the target of the operation being performed at the time when the interference occurs among the two robots where the interference occurs. A trajectory planning device characterized by this.

8. A trajectory planning device according to claim 1, wherein the plurality of trajectory plans includes a plurality of trajectory plans in which the allocation of the operations for the parts to each of the plurality of robots is different. A trajectory planning device characterized by this.

9. A trajectory planning device according to claim 1, wherein the arithmetic unit selects the trajectory plan with the shortest calculated operation time among the plurality of trajectory plans. A trajectory planning device characterized by this.

10. A trajectory planning device according to claim 1, connected to a display device, wherein the arithmetic unit transmits data for displaying at least any one of the operations of the robots based on the plurality of trajectory plans to the display device. A trajectory planning device characterized by this.

11. A trajectory planning device according to claim 10, The calculation unit transmits data for displaying at least one of the operations of the robot based on the trajectory plan with the shortest calculated working time among the plurality of trajectory plans or the operations of the robot based on the trajectory plan selected by the user to the display device. A trajectory planning device characterized by that.

12. The trajectory planning device according to claim 10, Connected to an operating device that receives operations by the user, The calculation unit changes the trajectory plan based on information input from the user via the operating device. A trajectory planning device characterized by that.

13. A trajectory planning method executed by a trajectory planning device having a calculation unit and a storage unit, The storage unit holds order information indicating the order of operations for a plurality of parts, target position information including pick positions and place positions in the operations for the plurality of parts, and structure information indicating the structures of a plurality of robots. The order information includes information specifying a semi-order group composed of a plurality of the parts whose operation order can be exchanged. The trajectory planning method includes A procedure in which the calculation unit assigns operations for the plurality of parts to a plurality of robots so that the operations for the plurality of parts are executed in the order indicated by the order information; A procedure in which the calculation unit generates, for each of the plurality of robots, a trajectory plan for performing the assigned operations on the parts based on the target position information and the structure information, and when interference occurs between the plurality of robots, generates a plurality of trajectory plans including a trajectory plan for avoiding interference in different ways; A procedure in which the calculation unit selects one of the plurality of trajectory plans based on the lengths of the working times calculated for the plurality of trajectory plans; The plurality of trajectory plans include a plurality of trajectory plans generated by changing the order of operations of the plurality of parts belonging to the semi-order group. A trajectory planning method characterized by that.

Citation Information

Patent Citations

  • Optical distance detector

    JP1987066104A

  • Automatic generation method for moving path of robot manipulator

    JP1997034524A

  • Autonomous mobile robot device and method of avoiding collision due to sudden appearance in the device

    JP2010055498A

  • Robot track generation method and robot track generation device

    JP2017131973A

  • Robot track generation method, robot track generation device, and manufacturing method

    JP2019193975A