WO2023162300A1 - 軌道計画装置及び軌道計画方法 - Google Patents

軌道計画装置及び軌道計画方法 Download PDF

Info

Publication number
WO2023162300A1
WO2023162300A1 PCT/JP2022/033033 JP2022033033W WO2023162300A1 WO 2023162300 A1 WO2023162300 A1 WO 2023162300A1 JP 2022033033 W JP2022033033 W JP 2022033033W WO 2023162300 A1 WO2023162300 A1 WO 2023162300A1
Authority
WO
WIPO (PCT)
Prior art keywords
trajectory
robot
work
trajectory planning
robots
Prior art date
Application number
PCT/JP2022/033033
Other languages
English (en)
French (fr)
Inventor
直宏 林
信昭 中須
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Publication of WO2023162300A1 publication Critical patent/WO2023162300A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine

Definitions

  • the present invention relates to trajectory planning technology for multiple robots.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2019-193975. This publication states, "When a plurality of robot arms are operated in a real environment, the robot trajectory is generated so as to significantly reduce the possibility that their passage areas intersect with each other.
  • trajectory definition data generation step Determine the order of each trajectory generation based on the motion command list (generation order determination step).Regarding a specific robot arm in the motion command list, the starting point and Based on the end point, a trajectory is generated so as to avoid the obstacle space registered for the trajectory generation of another robot arm in the obstacle memory (trajectory generation process). The sweep space swept by the arm skeleton is added to the obstacle memory as an obstacle space to be avoided by other robot arms (obstacle registration process).” (See abstract).
  • Patent Document 1 JP-A-2019-193975
  • Patent Document 1 describes that in an environment where multiple robot arms operate in the same work area, a trajectory is generated so as to bypass all the movement areas of other robots working at the same timing.
  • a detour trajectory is generated without considering the positions of the other robots at each time, so the work time is extended and the productivity is lowered.
  • the optimal combination that shortens the work time for parts allocation and assembly order for multiple robots, which is a premise of the work realized on the track, is not considered.
  • the present application includes a plurality of means for solving the above problems.
  • One example is a trajectory planning apparatus having a calculation section and a storage section, wherein the storage section stores operations for a plurality of parts. Order information indicating an order, target position information including pick positions and place positions in operations for the plurality of parts, and structure information indicating structures of a plurality of robots are held, and the calculation unit stores the order information indicated by the order information.
  • 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
  • FIG. 4 is a flow chart showing an example of the flow of trajectory generation processing in the trajectory planning device of the embodiment of the present invention
  • 4 is a flow chart showing an example of the flow of processing of the work assignment unit according to the embodiment of the present invention
  • FIG. 5 is an explanatory diagram showing an example of assembly partial order information acquired from an assembly partial order information storage unit according to the embodiment of this invention
  • It is a flowchart which shows the example of the flow of a process of the work priority setting part of the Example of this invention.
  • FIG. 5 is an explanatory diagram showing an example of robot target position information for each part acquired from the robot target position information storage unit for each part according to the embodiment of this invention
  • FIG. 7 is an explanatory diagram of an example of calculation results of work start times for each component by the work priority setting unit according to the embodiment of this invention
  • FIG. 4 is an explanatory diagram showing an example of type-specific trajectory planning information with priority according to the embodiment of the present invention
  • It is a flowchart which shows the example of the flow of a process of the trajectory planning part classified by avoidance method of the Example of this invention.
  • FIG. 10 is an explanatory diagram showing an example of segmentation of trajectory plans for other robots by the trajectory planning unit for each avoidance method according to the embodiment of the present invention
  • 9 is a flow chart showing a detailed example of processing for generating an interference avoidance trajectory by the trajectory planning unit for each avoidance method according to the embodiment of the present invention
  • FIG. 5 is an explanatory diagram showing an example of arrival positions generated by the trajectory planning unit for each avoidance method according to the embodiment of the present invention
  • 4 is a flow chart showing an example of the flow of processing of an action selection unit according to an embodiment of the present invention
  • FIG. 4 is an explanatory diagram showing an example of a screen displayed by the screen display device according to the embodiment of the present invention
  • 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.
  • the trajectory planning apparatus 10 includes a work allocation unit 20, a work priority setting unit 30, a trajectory planning unit by avoidance method 40, a work allocation assembly order changing unit 50, and an operation selecting unit 60. , a generated trajectory display unit 70, a communication unit 80, a cell structure information storage unit 90, an assembly partial order information storage unit 100, a part-by-part robot target position information storage unit 110, and a priority type-by-type trajectory plan information storage unit. 120 and a trajectory plan information storage unit 130 .
  • the work allocation unit 20 generates work allocation information as a candidate plan based on the cell structure information, the robot target position information for each part, and the assembly partial order information expressing the replaceable assembly order.
  • the work priority setting unit 30 determines the priority of the robots to be avoided from the assembly partial order information, and generates initial trajectory plan information with priority that does not consider interference between robots. do.
  • the trajectory planning unit 40 for each avoidance method generates a candidate trajectory plan for each avoidance method based on the cell structure information, the robot target position information for each part, and the assembly semi-order information.
  • the work allocation and assembly order change unit 50 changes the pattern of work allocation and assembly order to robots based on the partial assembly order information.
  • the operation selection unit 60 selects a pattern that provides the shortest work time from the generated trajectory plans, work assignments, and assembly order change patterns for each avoidance method.
  • the generated trajectory display unit 70 displays the generated trajectory on the screen.
  • the communication unit 80 connects with the screen display device 13 and the screen operation device 14 .
  • the cell structure information storage unit 90 stores cell structure information that describes the model of the multi-arm robot cell of the line.
  • the assembly partial order information storage unit 100 there are described information, called an assembly partial order, which indicates which part of the product can be assembled first, the assembly order number of each part, and the name of the robot in charge of each part. The information and information obtained are stored.
  • the part-by-part robot target position information storage unit 110 stores part-by-part robot target position information representing the robot target position when operating each part.
  • the type-by-type trajectory plan information storage unit 120 with priority stores type-by-type trajectory plan information with priority for each trajectory or avoidance method generated without considering interference between robots.
  • the trajectory plan information storage unit 130 stores trajectory plan information that stores the trajectory plan used in the selected work assignment and assembly order.
  • the trajectory planning device 10 may be implemented by a computer having, for example, the calculation unit 11, the storage unit 12, and the communication unit 80.
  • the calculation unit 11 is a processor that executes programs stored in the storage unit 12 .
  • the work allocation unit 20, the work priority setting unit 30, the trajectory planning unit 40 for each avoidance method, the work allocation assembly sequence changing unit 50, the motion selection unit 60, and the generated trajectory display unit 70 are executed by the calculation unit 11 by executing the program. Realized.
  • 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 calculation unit 11 and data used for processing of the calculation unit 11. do.
  • a cell structure information storage unit 90 , an assembly partial order information storage unit 100 , a part-by-part robot target position information storage unit 110 , a priority type-by-type trajectory plan information storage unit 120 , and a trajectory plan information storage unit 130 are stored in the storage unit 12 . storage area.
  • the screen display device 13 may be a device included in the 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 a device for inputting information such as a keyboard, mouse or touch sensor.
  • the screen operation device 14 may be a device included in the 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 may be integrated with the screen display device 13, such as a so-called touch panel.
  • FIG. 2 is a flowchart showing an example of the flow of trajectory generation processing in the trajectory planning device 10 of the embodiment of the present invention. The flow of processing in the trajectory planning device 10 will be described below with reference to FIGS. 1 and 2.
  • FIG. 2 is a flowchart showing an example of the flow of trajectory generation processing in the trajectory planning device 10 of the embodiment of the present invention. The flow of processing in the trajectory planning device 10 will be described below with reference to FIGS. 1 and 2.
  • FIG. 2 is a flowchart showing an example of the flow of trajectory generation processing in the trajectory planning device 10 of the embodiment of the present invention. The flow of processing in the trajectory planning device 10 will be described below with reference to FIGS. 1 and 2.
  • FIG. 2 is a flowchart showing an example of the flow of trajectory generation processing in the trajectory planning device 10 of the embodiment of the present invention. The flow of processing in the trajectory planning device 10 will be described below with reference to FIGS. 1 and 2.
  • the work allocation unit 20 selects each part based on the cell structure information describing the robot to be worked on and the assembly sequence information in the assembly sequence information describing the parts to be assembled.
  • the robot in charge is output to the assembly partial order information (step S100).
  • FIG. 3 is a flow chart showing an example of the processing flow of the work allocation unit 20 according to the embodiment of the present invention.
  • the work assignment unit 20 performs the following operations based on the cell structure information stored in advance in the cell structure information storage unit 90 and the assembly partial order information stored in the assembly partial order information storage unit 100. Generate work assignment information.
  • step S ⁇ b>101 the work allocation unit 20 acquires cell structure information from the cell structure information storage unit 90 .
  • the format of the cell structure information is not limited, but here, as an example, it includes part configurations, positions, and three-dimensional polygon information (STL, DAE format, etc.) of robots, pedestals, jigs, etc. that make up the cell.
  • STL three-dimensional polygon information
  • An example using electronic drawing information (3D CAD, etc.) as cell structure information will be described.
  • step S 102 the work assignment unit 20 acquires assembly partial order information from the assembly partial order information storage unit 100 .
  • FIG. 4 is an explanatory diagram showing an example of assembly partial order information acquired from the assembly partial order information storage unit 100 according to the embodiment of the present invention.
  • An assembly partial order information table 100a which is an example of assembly partial order information, has a part name column 100b, an assembly partial order part group number column 100c, an assembly order number column 100d, and an operation assignment robot name column 100e.
  • the part name column 100b stores information identifying the part name of the part to be assembled.
  • the assembly partial order part group number column 100c stores information specifying the assembly partial order part group number to which the part specified in the part name column 100b belongs.
  • the assembly order number column 100d stores information specifying the assembly order number of the part specified in the part name column 100b.
  • the work assignment robot name column 100e stores information specifying the robot name assigned to the work of the part specified in the part name column 100b.
  • assembly semi-ordered part groups must be assembled in the order of the assembly semi-ordered part group number, but the parts belonging to each assembly semi-ordered group can be assembled in any order.
  • assembly partial order groups numbered 1 to 4 have only one part, parts A to D, belonging to each group. This indicates that either part E or part F belonging to number 5 can be assembled first. In the following description, an example in which parts F and E are temporarily assembled in this order will be shown.
  • step S103 the work assignment unit 20 generates work assignments for the robots as an initial plan based on the cell structure information and assembly partial order information.
  • a work allocation method a method of allocating parts at a short distance to each robot, or a method of calculating the work time when each robot assembles each part without considering object interference, and calculating the work time How to assign parts to robots that were short. Common methods can be used. However, the work allocation method is not limited to these, and any method can be used.
  • step S104 the work assignment unit 20 outputs the assembly partial order information in which the work assignment robot name is input to the assembly partial order information storage unit 100.
  • step S200 shown in FIG. 2 the work priority setting unit 30 sets the trajectories of other robots and parts that must be avoided during the assembly work of parts assigned to a certain robot.
  • the work priority setting unit 30 first automatically sets the trajectories of other robots and parts that should be automatically avoided by using the work time of the initial type trajectory generated without considering the interference between robots. can be done. By setting this, it is possible to prevent the work time of the robot having a high priority from being extended due to the avoidance movement, and automatically generate a trajectory plan for assembly work in a shorter work time.
  • FIG. 5 is a flow chart showing an example of the processing flow of the work priority setting unit 30 according to the embodiment of the present invention.
  • the work priority setting unit 30 stores the cell structure information stored in the cell structure information storage unit 90, the assembly sequence information stored in the assembly sequence information storage unit 100, the part-specific robot Based on the part-by-part robot target position information stored in the target position information storage unit 110, work priority is generated.
  • the work priority setting unit 30 receives the assembly partial order information from the assembly partial order information storage unit 100, the cell structure information from the cell structure information storage unit 90, and the robot target position information storage unit 110 for each part.
  • the robot target position information for each part is obtained from the work allocation information storage unit.
  • FIG. 6 is an explanatory diagram showing an example of part-by-part robot target position information acquired from the part-by-part target robot position information storage unit 110 according to the embodiment of the present invention.
  • a part-specific robot target position information table 110a which is an example of part-specific robot target position information, includes a part name column 110b, a pick position x column 110c, a pick position y column 110d, a pick position z column 110e, and a place position x. It has a column 110f, a place position y column 110g, and a place position z column 110h.
  • the part name column 110b stores information specifying a part name that can identify the name of the part to be assembled.
  • the pick position x column 110c stores information specifying the robot target x-coordinate position when the robot picks the part specified in the part name column 110b.
  • the pick position y column 110d stores information specifying the target y-coordinate position of the robot when the robot picks the part specified in the part name column 110b.
  • the pick position z column 110e stores information specifying the robot target z coordinate position when the robot picks the part specified in the part name column 110b.
  • the place position x column 110f stores information specifying the robot target x-coordinate position when the robot places the part specified in the part name column 110b.
  • the place position y column 110g stores information specifying the target y-coordinate position of the robot when the robot places the part specified in the part name column 110b.
  • the place position z column 110h stores information specifying the robot's target z-coordinate position when the robot places the part specified in the part name column 110b.
  • step S202 the work priority setting unit 30 determines all parts included in the assembly partial order parts group to be planned based on the assembly partial order information, the cell structure information, and the part-specific robot target position information. Regarding movement, a trajectory plan that is executed without considering interference between robots is generated, and the operation time is calculated.
  • trajectory planning when generating trajectories without considering interference between robots, general trajectory planning methods (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.
  • PRM Probabilistic Roadmap Method
  • RRT Rapidly-Exploring Random Tree
  • CHOMP Covariant Hamiltonian Optimization for Motion Planning
  • step S203 the work priority setting unit 30 calculates the work start time of each part by adding the work time of the parts assigned to each robot in the order of work.
  • FIG. 7 is an explanatory diagram of an example of calculation results of the work start time of each component by the work priority setting unit 30 according to the embodiment of the present invention.
  • the calculation result 1100a shown in FIG. 7 shows the result of calculating the work start time of each part by adding the work time of the parts assigned to each robot in the order of work.
  • the robots A, B, and C start working on the parts A, B, and C, respectively.
  • the work of the robot A on the part A is finished first, and the work on the part D is started.
  • the work for the part B by the robot B is finished, and the work for the part E is started.
  • the work for the part C by the robot C is finished, and the work for the part F is started.
  • the work of the robot A on the part D is finished, and the work on the part G is started.
  • step S204 the work priority setting unit 30 identifies other robots and parts that work simultaneously during the work time based on the work start time and work time of a certain part.
  • a calculation result 1100b shown in FIG. 7 is an example of a result of specifying other robots and parts that are working simultaneously when planning the trajectory of robot B for part H.
  • the operation of the part H by the robot B is executed during the time period indicated by the ellipse, that is, when the robot B starts working on the part E. This is the time period corresponding to the length of the working time of the part H after completion. Since the part G of the robot A and the part F of the robot C are being worked at the start time of the part H of the robot B shown in FIG. Others can be identified as robots and parts. Therefore, the work priority setting unit 30 identifies the part G of the robot A and the part F of the robot C in operation as the trajectory of the combination of the robot and the part that avoids the part H of the robot B in the trajectory planning.
  • the work priority setting unit 30 executes each trajectory plan generated as the initial type trajectory plan in step S202 without considering the interference between the robots, and other robots and robots that the trajectory avoids.
  • the part name is output to the trajectory plan information by type with priority in the trajectory plan information by type with priority storage unit 120 .
  • the trajectory is information on each robot posture for moving the hand to each waypoint for a group of waypoint positions interpolating between the initial position of the robot hand and the target position of the handpiece. This information consists of the time when the hand arrives.
  • FIG. 8 is an explanatory diagram showing an example of trajectory planning information by type with priority according to the embodiment of the present invention.
  • a type-by-priority trajectory plan information table 120a which is an example of type-by-priority trajectory plan information, includes a planned robot name column 120b, a planned part name column 120c, a trajectory type column 120d, an avoidance robot column 120e, It has an avoidance part column 120f, an ID column 120g, a transit time column 120h, a J1 column 120i, a J2 column 120j, a J3 column 120k, and a Jn column 120l.
  • the robot name column 120b stores information specifying the robot name that can identify the robot for trajectory planning.
  • the part name column 120c stores information specifying a part name that can identify a part for trajectory planning.
  • Information specifying the type name of the track is stored in the track type column 120d. Specifically, the initial type of trajectory generated without considering interference between robots, the trajectory to which the interference avoidance method by deceleration is applied, the trajectory to which the interference avoidance method by pause is applied, or the interference avoidance by detouring. The trajectory to which the method was applied is specified.
  • the avoidance robot column 120e stores information specifying the name of the robot to be avoided by the robot specified in the planned robot name column 120b and the trajectory specified by the part name specified in the planned part name column 120c. .
  • the avoidance part column 120f stores information specifying the names of parts to be avoided by the robot specified in the planned robot name column 120b and the trajectory specified by the part name specified in the planned part name column 120c. .
  • the ID column 120g stores information specifying the number of the waypoint of the robot hand on 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.
  • the transit time column 120h stores 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 intermediate point specified in the ID column 120g. be done.
  • Information indicating the joint angles of the joints J1 to Jn of the robot is stored in the J1 column 120i to Jn column 120l as information indicating the posture of the robot for each time of the generated trajectory plan.
  • the J1 joint angle, J2 joint angle, J3 joint angle, and Jn joint angle are displayed, and others are omitted. joint angles are stored.
  • the joint angles for each time in the initial trajectory plan are shown.
  • Information on each joint angle is added, and information indicating the avoidance method is stored in the trajectory type column 120d corresponding to those joint angles.
  • Information specifying the J1 joint angle of the robot when moving is stored.
  • J2 column 120j of the initial trajectory when the arm is moved to the robot specified in the planned robot name column 120b, the part name specified in the planned part name column 120c, and the waypoint specified in the ID column 120g, Information specifying the J2 joint angle of the robot is stored.
  • the robot specified in the planned robot name column 120b, the part name specified in the planned part name column 120c, and the waypoint specified in the ID column 120g. information specifying the J3 joint angle of the robot is stored.
  • a robot that will work first may be determined by assigning a higher task priority to a robot that is farther from the target position.
  • the avoidance robot column 120e and the avoidance part column 120f in FIG. 8 corresponding to the robots and parts for which the work priority is set to be high are blank, and there is no trajectory of the other robot to avoid.
  • the trajectory for the work of the robot and the part in question interferes with the trajectory for the work of another robot and the other part
  • the trajectory for the work of the other part of the other robot will: Subject to modification for interference avoidance.
  • the trajectory planning unit 40 for each avoidance method plans a trajectory for each interference avoidance method between robots.
  • the avoidance method-specific trajectory planning unit 40 automatically generates a trajectory plan for each avoidance method (for example, detour avoidance, pause avoidance, deceleration avoidance, etc., which will be described later) for simultaneous robot interference avoidance.
  • a trajectory plan for each avoidance method for example, detour avoidance, pause avoidance, deceleration avoidance, etc., which will be described later.
  • FIG. 9 is a flow chart showing an example of the processing flow of the trajectory planning unit 40 for each avoidance method according to the embodiment of the present invention.
  • the trajectory planning unit by avoidance method 40 stores the robot target position information by parts stored in the robot target position information storage unit 110 by parts and the trajectory planning information by type with priority in the trajectory planning information storage unit 120 . Based on the type-specific trajectory planning information with priority, the combination of robots and parts with low priority of work avoids during operation, identifies the trajectory of the robot, and avoids moving to the target position while avoiding the trajectory. Generate candidate trajectory plans by method.
  • the trajectory planning unit 40 for each avoidance method has two avoidance methods: a detour avoidance method in which the robot works while detouring in the avoiding direction when the robot is likely to collide with another robot; A temporary stop avoidance method in which the robot waits until it moves, and a deceleration avoidance method in which the robot decelerates and moves so as not to collide with other robots are used.
  • a detour avoidance method in which the robot works while detouring in the avoiding direction when the robot is likely to collide with another robot
  • a temporary stop avoidance method in which the robot waits until it moves
  • a deceleration avoidance method in which the robot decelerates and moves so as not to collide with other robots are used.
  • other interference avoidance methods between robots may be added according to the embodiment, and the present invention does not limit the interference avoidance methods to be used.
  • avoidance Generate method-specific trajectory planning information based on the robot target position information for each part and the trajectory planning information for each type with priority, avoidance Generate method-specific trajectory planning information.
  • the trajectory planning unit by avoidance method 40 stores the robot target position information by parts stored in the robot target position information storage unit 110 by parts and the trajectory planning information by type with priority stored in the trajectory planning information storage unit 120. To acquire the trajectory planning information by type with priority.
  • the trajectory planning unit 40 for each avoidance method selects the combinations of other robots and parts to be avoided set by the work priority setting unit 30 for each combination of robots and parts targeted for trajectory planning.
  • a trajectory plan is divided into a trajectory in which the posture at the operation start time of the combination of the robot and parts subject to trajectory planning becomes the starting posture, and the remaining trajectory (that is, a trajectory up to the starting posture).
  • FIG. 10 is an explanatory diagram showing an example of dividing the trajectory plans of other robots by the trajectory planning unit 40 for each avoidance method according to the embodiment of the present invention.
  • the combination of robot B and part H indicated by an ellipse is the current trajectory planning target in step S302.
  • the trajectory planning unit 40 for each avoidance method determines the trajectory of the combination of the robot A and the part G and the trajectory of the combination of the robot C and the part F, as shown in the work time allocation 1200b, with respect to the work start time of the part H. is divided into a trajectory starting from the work start time of part H and a previous trajectory.
  • step S303 the trajectory planning unit by avoidance method 40 generates an interference avoidance trajectory for the detour method.
  • the interference avoidance trajectory of the detour method of the present embodiment can not avoid interference in the current movable direction by sequentially comparing the movement of the other robot at a certain time and the movable direction of the robot for trajectory planning. In this case, it is generated by moving in the direction of avoidance from a passing position that precedes the current avoidance start time. As a result, it is possible to generate a trajectory that gently detours and avoids without causing deceleration due to a sudden change of direction. So, when a typical collision is expected, it has to decelerate abruptly to make a sharp turn to avoid it, and to take a detour to avoid all areas traversed by the trajectories of other robots operating at the same time. It is possible to generate a trajectory that requires less work time compared to the method of generating a trajectory that becomes
  • FIG. 11 is a flow chart showing a detailed example of the processing (step S303) for generating an interference avoidance trajectory by the trajectory planning unit 40 for each avoidance method according to the embodiment of the present invention.
  • step S1301 the trajectory planning unit for each avoidance method 40 generates an arrival position, which is a specified distance moved in the direction of the target position from the current position within an arbitrary movable range within the work space.
  • FIG. 12 is an explanatory diagram showing an example of arrival positions generated by the detour-based trajectory planning unit 40 according to the embodiment of the present invention.
  • a generation example 1200a in FIG. 12 is an example of generating an arrival position that has moved a specified distance within the movable range from the current position. By restricting the movable range with respect to the current position, the robot is prevented from suddenly changing direction and decelerating or stopping.
  • step S1302 the trajectory planning unit by avoidance method 40 calculates the arrival time to the arrival position.
  • the arrival posture when a general robot reaches the arrival position is calculated by inverse kinematics calculation, and the joint rotation angle amount to the arrival posture is calculated using the joint velocity, the joint acceleration specification, and the arrival posture.
  • a method of calculation, or a method of calculation using the robot hand speed and acceleration specifications and the hand movement distance to the arrival position will be described as an example, but the arrival time calculation method is not limited to them.
  • step S1303 the trajectory planning unit for each avoidance method 40 acquires the posture of the other robot at the arrival time calculated in step S1302 from the avoidance target trajectory divided in step S302.
  • 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 another robot. If there is interference, the process transitions to step S1305. If there is no interference, the process transitions to step S1309.
  • step S1305 the trajectory planning unit by avoidance method 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 calculates the interference avoidance direction vector. Move any distance in the direction of
  • a generation example 1200b in FIG. 12 is an example of the avoidance direction vector generation performed in step S1305.
  • the robot can move in the direction opposite to the vector representing the moving direction of the other robot (at least the direction containing the component in the opposite direction) within the movable range from the current position. minute, set the avoidance direction vector.
  • step S1306 the trajectory planning unit by avoidance method 40 determines whether the robot posture after movement interferes with the posture of another robot. If interference occurs, the process transitions to step S1307. If there is no interference, the process transitions to step S1309.
  • step S1307 the trajectory planning unit for each avoidance method 40 generates an arrival position by moving in the direction of the avoidance direction vector from the past waypoint one before the current position.
  • a generation example 1200c in FIG. 12 shows an example of generating an arrival position by moving in the direction of the avoidance direction vector from a past waypoint, which is performed in step S1307.
  • step S1308 the trajectory planning unit for each avoidance method 40 determines whether the posture of the robot after movement interferes with the posture of another robot. If interference occurs, the process transitions to step S1307.
  • step S1307 By transitioning to step S1307 again, the waypoints are reset from the past waypoints, and the trajectory can be updated to avoid interference without sudden direction changes. If there is no interference, the process transitions to step S1309.
  • step S1309 the trajectory planning unit by avoidance method 40 determines whether the robot posture after movement has reached the target position.
  • the process flow ends. If it has not reached step S1302, the process from step S1302 onwards is executed with the robot posture after movement as the new current position. By repeating this process until the target position is reached, waypoints to the target position are generated.
  • step S304 the trajectory planning unit by avoidance method 40 generates a deceleration-type interference avoidance trajectory.
  • deceleration type interference avoidance trajectory planning method it is generally determined whether or not interference occurs between robots at each waypoint passing time of the trajectory.
  • An example using the method of reducing the movement speed to avoid interference will be described, but the method of deceleration-type interference avoidance trajectory planning is not limited.
  • step S305 the avoidance method-specific trajectory planning unit 40 generates a pause-based interference avoidance trajectory.
  • a temporary stop method interference avoidance trajectory planning method it is generally determined whether or not interference between robots occurs at each waypoint passing time of the trajectory. , an example using a method for avoiding interference by temporarily stopping the robot at an arbitrary time will be described, but the method for trajectory planning for interference avoidance using the temporary stop method is not limited.
  • step S306 the trajectory planning unit 40 for each avoidance method outputs the generated trajectory for each interference avoidance method to the trajectory planning information storage unit 120 for each type with priority.
  • step S1 shown in FIG. 2 the trajectory planning device 10 determines whether the number of parts in the partially ordered assembly parts group currently being planned is greater than one. If the number of parts is greater than 1, the process proceeds to step S400. If the number of parts is 1, the process proceeds to step S3.
  • step S3 shown in FIG. 2 the trajectory planning device 10 currently selects the parts of the semi-ordered assembly parts group to be planned (if the transition is made to this step S3, the number of parts of the semi-ordered assembly parts group to be planned). is 1, it is determined whether trajectory generation has been completed with all robot allocation patterns for that part). When completed, the process proceeds to step S500, and when not completed, the process proceeds to step S4.
  • step S4 shown in FIG. 2 the trajectory planning device 10 changes the allocation of the parts of the assembly semi-ordered parts group currently being planned to the robots for which trajectory plans have not yet been generated, and proceeds to step S200. Transition again to enter the flow for implementing the trajectory plan.
  • step S400 shown in FIG. 2 the work assignment/assembly order change unit 50 changes the combination of work assignment and assembly order.
  • the work assignment assembly order changing unit 50 can generate combinations of candidate work assignments and assembly order candidates based on the partial order information. Therefore, in the subsequent operation selection section step S500 and the overall processing flow of the trajectory planning apparatus, it becomes possible to select the optimum combination from among the candidate combinations, and the work time for the entire assembly work can be shortened.
  • step S400 the work assignment/assembly order change unit 50 performs the trajectory planning to generate the trajectory plan for all patterns of work assignment/assembly order change of the assembly partial order parts group subject to the current trajectory planning in step S300. Generate a pattern of work assignment and assembly order change that is not done.
  • the work assignment/assembly order change unit 50 turns off the all pattern trajectory generation completion flag, If completed, turn ON.
  • step S2 of the overall processing flow shown in FIG. 2 the work assignment assembly sequence changing unit 50 determines whether the all pattern trajectory generation completion flag is ON, and if it is ON, the process proceeds to step S500. If the all-pattern trajectory generation completion flag is not ON (that is, if the trajectory planning for all patterns is not completed), the process proceeds to step S300 by the work priority setting unit, and trajectories for work assignments and assembly order patterns that have not been trajectory-planned are determined. Proceed to the planning flow.
  • step S500 shown in FIG. 2 the operation selection unit 60 selects the trajectory plan for each avoidance method, the work assignment, and the assembly order that minimize the work time.
  • the optimum combination can be selected from the candidate combinations of the work assignment, the assembly order, and the trajectory plan for each avoidance method generated by the above-described work assignment and assembly order change processing. Overall working time can be shortened.
  • FIG. 13 is a flow chart showing an example of the processing flow of the action selection unit 60 according to the embodiment of the present invention.
  • the operation selection unit 60 selects the assembly partial order information stored in the assembly partial order information storage unit 100 and the priority by type stored in the trajectory plan information storage unit 120 with priority type. Based on the type-by-type trajectory plan information with priority, the assembly order and work assignment information in the type-by-type trajectory plan information with priority are updated, and the selected trajectory plan by avoidance method is output as trajectory plan information.
  • step S501 the action selection unit 60 acquires type-specific trajectory plan information with priority for each avoidance method.
  • step S502 the operation selection unit 60 selects a type-specific trajectory with priority for each avoidance method for each combination pattern of work assignment, assembly order, and trajectory for each avoidance method in the current partially-ordered assembly parts group. Acquire the working hours of the parts in charge of each robot from the planning information.
  • step S503 the motion selection unit 60 compares the work time of the parts in charge of each robot in each combination acquired in step S502, and selects a pattern that minimizes the work time up to the current partially ordered assembly parts group. to select.
  • step S504 the operation selection unit 60 copies the trajectory plan information of the avoidance method selected in step S503 from the trajectory plan information by type with priority to the trajectory plan information storage unit 140, and copies the trajectory plan information by type with priority to the trajectory plan information storage unit output to 130.
  • step S505 the operation selection unit 60 outputs assembly partial order information updated to the work assignment and assembly order selected in step S503 to the assembly partial order information storage unit 100.
  • step S5 it is determined whether or not operation selection for all assembly semi-ordered component groups has been completed.
  • operation selection for all assembly partial order component groups has been completed, the execution of the flow chart of the trajectory plan generation process ends. If operation selection has not been completed for all assembly semi-order component groups, the process proceeds to step S6, 1 is added to the assembly semi-order component group number to be planned, and the process proceeds to step S200 by the work priority setting unit. .
  • trajectory planning, work allocation, and assembly sequence change are sequentially executed within the overall flow of the trajectory planning apparatus for each assembly semi-ordered part group.
  • the generated trajectory display unit 70 displays the assembly partial order information, the trajectory planning information by type with priority, and the trajectory planning information on the screen display device 13 connected to the communication unit 80.
  • FIG. 14 is an explanatory diagram showing an example of a screen displayed by the screen display device 13 of the embodiment of the present invention.
  • FIG. 14 shows an example of a display screen for assembly partial order information, type-specific trajectory plan information with priority, and trajectory plan information.
  • the display screen 1500a includes display screens for assembly order information, type-specific trajectory plan information with priority, and trajectory plan information, an area 1500b for changing the work order of each part from the screen, and an area 1500b for changing the work order of each part. It has an area 1500c that reproduces and displays the trajectory plan of the robot, and an area 1500d that can reproduce the trajectory plan for each combination of each robot and parts for each avoidance method.
  • the total work time and teaching man-hours are reduced by optimizing the assembly order, work allocation, and multiple robot trajectories for avoiding mutual interference based on the assembly partial order. do.
  • system of the embodiment of the present invention may be configured as follows.
  • a trajectory planning device (for example, the trajectory planning device 10) having a calculation unit (for example, calculation unit 11) and a storage unit (for example, storage unit 12).
  • a calculation unit for example, calculation unit 11
  • a storage unit for example, storage unit 12
  • target position information including pick positions and place positions in operations for a plurality of parts (for example, stored in the part-specific robot target position information storage unit 110 information) and structure information indicating the structures of the plurality of robots (for example, information stored in the cell structure information storage unit 90)
  • the operation unit performs operations on the plurality of parts according to the order indicated by the order information.
  • work on a plurality of parts is assigned to a plurality of robots (e.g., step S100), and for each of the plurality of robots, based on the target position information and the structure information, a process for performing the work on the assigned part is performed.
  • Generating a trajectory plan for example, step S300
  • generating a plurality of trajectory plans including trajectory plans that avoid interference by different methods for example, steps S301 to S306
  • one of the plurality of trajectory plans is selected based on the length of working time calculated for the trajectory plans (eg, step S500).
  • the plurality of trajectory plans includes a trajectory plan in which one of the two robots that interfere with each other avoids the interference by detouring the other robot (eg, step S303).
  • the trajectory plan includes information indicating the attitude of the robot waypoints at each time (for example, information of each waypoint in the trajectory plan information by type with priority in FIG. 8), and the calculation unit is within the movable range of one robot and A trajectory plan that avoids interference is generated by changing the direction to include a component in the direction opposite to the movement direction of the robot (eg, step S1305).
  • the plurality of trajectory plans include at least one of a trajectory plan in which one robot slows down to avoid interference and a trajectory plan in which one robot pauses to avoid interference. (eg steps S304, S305).
  • one of the two robots that interfere with each other is the robot that has the later start time for the part being worked on at the time when the interference occurs.
  • the order information includes information specifying a partially ordered group consisting of a plurality of parts whose work order can be exchanged, and two robots that interfere with each other at the time when the interference occurs
  • the target parts of the work being performed belong to the same partial order group and the work start time is the same
  • one of the two robots at which interference occurs is the time at which the interference occurs. It is the robot that is closer to the part that is being worked on.
  • the order information includes information specifying a partially ordered group consisting of a plurality of parts whose work order is interchangeable, and the plurality of trajectory plans are for the plurality of parts belonging to the partially ordered group. It includes multiple trajectory plans generated by changing the order of operations (eg, step S400).
  • the computing unit selects the trajectory plan with the shortest calculated work time from among the plurality of trajectory plans (for example, step S503).
  • the trajectory planning device is connected to a display device (for example, the screen display device 13), and the computing unit includes data for displaying at least one of the motions of the robot based on a plurality of trajectory plans. (for example, data for the display of FIG. 14) is sent to the display device.
  • a display device for example, the screen display device 13
  • the computing unit includes data for displaying at least one of the motions of the robot based on a plurality of trajectory plans. (for example, data for the display of FIG. 14) is sent to the display device.
  • the computing unit performs the operation of the robot based on the trajectory plan with the shortest calculated work time or the trajectory plan selected by the user, among the plurality of trajectory plans. (for example, data for the display of FIG. 14) for displaying at least one of the above is transmitted to the display device.
  • the trajectory planning apparatus is connected to an operation device (for example, the screen operation device 14) that receives operations by the user, and the calculation unit performs , to change the trajectory plan.
  • an operation device for example, the screen operation device 14
  • the present invention is not limited to the above-described embodiments, and includes various modifications.
  • the above 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.
  • each of the above configurations, functions, processing units, processing means, etc. may be implemented in hardware by designing, for example, integrated circuits in part or in whole.
  • each of the above configurations, functions, etc. may be realized by software by a processor interpreting and executing a program for realizing each function.
  • Information such as programs, tables, files, etc. that realize each function is stored in storage devices such as non-volatile semiconductor memories, hard disk drives, SSDs (Solid State Drives), or computer-readable non-storage devices such as IC cards, SD cards, DVDs, etc. It can be stored on a temporary data storage medium.
  • control lines and information lines indicate what is considered necessary for explanation, and not all control lines and information lines are necessarily indicated on the product. In fact, it may be considered that almost all configurations are interconnected.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

軌道計画装置であって、複数の部品に対する作業の順序を示す順序情報と、複数の部品に対する作業におけるピック位置及びプレイス位置を含む目標位置情報と、複数のロボットの構造を示す構造情報と、保持し、順序情報が示す順序に従って複数の部品に対する作業が実行されるように、複数の部品に対する作業を複数のロボットに割り当て、複数のロボットの各々について、目標位置情報及び構造情報に基づいて、割り当てられた部品に対する作業を行うための軌道計画を生成し、複数のロボット間で干渉が発生する場合、それぞれ異なる方法で干渉を回避する軌道計画を含む複数の軌道計画を生成し、複数の軌道計画について計算された作業時間の長さに基づいて、複数の軌道計画のいずれかを選択する。

Description

軌道計画装置及び軌道計画方法 参照による取り込み
 本出願は、令和4年(2022年)2月28日に出願された日本出願である特願2022-30023の優先権を主張し、その内容を参照することにより、本出願に取り込む。
 本発明は、複数ロボットの軌道計画技術に関する。
 生産環境変動に即応するフレキシブルラインでは、ロボットへの作業割当や、複数ロボットが相互干渉しない軌道を動的に変更することが求められている。本技術分野の背景技術として、特開2019-193975号公報(特許文献1)がある。この公報には、「実環境で複数台のロボットアームを動作させる時、その通過領域が互いに交差する可能性を著しく低減できるようロボット軌道生成を行う。複数のロボットアームの軌道の始点および終点を含む動作指令リストを生成する(軌道定義データ生成行程)。動作指令リストに基づき各々の軌道生成を行う順序を決定する(生成順序決定行程)。動作指令リスト中の特定のロボットアームに関し、始点および終点に基づき、障害物メモリに他のロボットアームの軌道生成に関して登録された障害物空間を回避するよう、軌道生成を行う(軌道生成行程)。生成軌道で当該ロボットアームを動作させた際、当該アームの躯体によって掃引される掃引空間を、他のロボットアームが回避すべき障害物空間として障害物メモリに追加する(障害物登録行程)。」と記載されている(要約参照)。
  特許文献1:特開2019-193975号公報
 特許文献1には、複数のロボットアームが同作業エリアで動作する環境で、同タイミングに作業する他ロボットの移動領域全てを迂回するように軌道を生成することが記載されている。しかし、特許文献1の手法では、他ロボットの時刻ごとの位置を考慮せず遠回りする軌道を生成するため、作業時間が伸び、生産性が低下する。また、軌道で実現する作業の前提となる、複数ロボットに対する部品割当や組立順序の作業時間が短くなる最適な組合せは考慮されていない。
 そこで本発明は、生産計画変更に応じて、複数の干渉回避軌道の中から、作業時間を考慮して最適なロボット軌道を選択することを目的とする。
 上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、演算部と、記憶部と、を有する軌道計画装置であって、前記記憶部は、複数の部品に対する作業の順序を示す順序情報と、前記複数の部品に対する作業におけるピック位置及びプレイス位置を含む目標位置情報と、複数のロボットの構造を示す構造情報と、保持し、前記演算部は、前記順序情報が示す順序に従って前記複数の部品に対する作業が実行されるように、前記複数の部品に対する作業を複数のロボットに割り当て、前記複数のロボットの各々について、前記目標位置情報及び前記構造情報に基づいて、前記割り当てられた部品に対する作業を行うための軌道計画を生成し、前記複数のロボット間で干渉が発生する場合、それぞれ異なる方法で干渉を回避する軌道計画を含む複数の軌道計画を生成し、前記複数の軌道計画について計算された作業時間の長さに基づいて、前記複数の軌道計画のいずれかを選択することを特徴とする。
 本発明の一態様によれば、ロボット間の干渉を回避し、作業時間の短縮と教示工数削減を実現する軌道計画を生成することができる。
 上記の以外の課題、構成、及び効果は、以下の実施形態の説明によって明らかにされる。
本発明の実施例の軌道計画装置の全体構成の例を示すブロック図である。 本発明の実施例の軌道計画装置における軌道生成処理の流れの例を示すフローチャートである。 本発明の実施例の作業割当部の処理の流れの例を示すフローチャートである。 本発明の実施例の組立半順序情報記憶部から取得される組立半順序情報の例を示す説明図である。 本発明の実施例の作業優先度設定部の処理の流れの例を示すフローチャートである。 本発明の実施例の部品別ロボット目標位置情報記憶部から取得される部品別ロボット目標位置情報の例を示す説明図である。 本発明の実施例の作業優先度設定部による各部品の作業開始時刻の算出結果の例の説明図である。 本発明の実施例の優先度付きタイプ別軌道計画情報の例を示す説明図である。 本発明の実施例の回避方法別軌道計画部の処理の流れの例を示すフローチャートである。 本発明の実施例の回避方法別軌道計画部による他ロボットの軌道計画の切り分けの例を示す説明図である。 本発明の実施例の回避方法別軌道計画部が干渉回避軌道を生成する処理の詳細の例を示すフローチャートである。 本発明の実施例の回避方法別軌道計画部が生成する到達位置の例を示す説明図である。 本発明の実施例の動作選択部の処理の流れの例を示すフローチャートである。 本発明の実施例の画面表示装置が表示する画面の例を示す説明図である。
 以下、本発明に係る軌道計画装置について、図面を参照しつつ、実施形態に基づいて説明する。
 図1は、本発明の実施例における軌道計画装置の全体構成の例を示すブロック図である。
 図1に示すように、軌道計画装置10は、作業割当部20と、作業優先度設定部30と、回避方法別軌道計画部40と、作業割当組立順序変更部50と、動作選択部60と、生成軌道表示部70と、通信部80と、セル構造情報記憶部90と、組立半順序情報記憶部100と、部品別ロボット目標位置情報記憶部110と、優先度付きタイプ別軌道計画情報記憶部120と、軌道計画情報記憶部130とを備える。
 作業割当部20は、セル構造情報と、部品別ロボット目標位置情報と、交換可能な組立順序を表現した組立半順序情報と、に基づいて、候補案としての作業割当情報を生成する。作業優先度設定部30は、複数のロボットが同時に作業する場合、回避するロボットの優先度を、組立半順序情報から判別し、ロボット同士の干渉を考慮しない優先度付き初期の軌道計画情報を生成する。回避方法別軌道計画部40は、セル構造情報と部品別ロボット目標位置情報と組立半順情報とに基づいて、回避方法ごとの候補軌道計画を生成する。
 作業割当組立順序変更部50は、組立半順序情報に基づいてロボットへの作業割当及び組立順序のパターンを変更する。動作選択部60は、生成された各回避方法の軌道計画と作業割当と組立順序変更のパターンから、最短の作業時間になるパターンを選択する。生成軌道表示部70は、生成した軌道を画面に表示する。通信部80は、画面表示装置13及び画面操作機器14と接続する。
 セル構造情報記憶部90には、ラインの複腕ロボットセルのモデルが記述されたセル構造情報が記憶される。組立半順序情報記憶部100には、組立半順序と呼ぶ製品のいずれかの部品どちらを先に組み付けてもよいという情報と、各部品の組立順序番号と、各部品を担当するロボット名が記述された情報情報と、が記憶される。部品別ロボット目標位置情報記憶部110には、各部品を操作する時のロボット目標位置を表す部品別ロボット目標位置情報が記憶される。優先度付きタイプ別軌道計画情報記憶部120には、ロボット同士の干渉を考慮せず生成した軌道または回避方法ごとの優先度付きタイプ別軌道計画情報が記憶される。軌道計画情報記憶部130には、選択された作業割当および組立順序で使用される軌道計画が保存される軌道計画情報が記憶される。
 軌道計画装置10は、例えば演算部11、記憶部12および通信部80を有する計算機によって実現されてもよい。この例において、演算部11は、記憶部12に格納されたプログラムを実行するプロセッサである。作業割当部20、作業優先度設定部30、回避方法別軌道計画部40、作業割当組立順序変更部50、動作選択部60および生成軌道表示部70は、演算部11がプログラムを実行することによって実現される。
 また、記憶部12は、例えばDRAM等の主記憶装置及びハードディスクドライブ又はソリッドステートドライブ等の補助記憶装置を含み、演算部11が実行するプログラム及び演算部11の処理に使用されるデータ等を格納する。セル構造情報記憶部90、組立半順序情報記憶部100、部品別ロボット目標位置情報記憶部110、優先度付きタイプ別軌道計画情報記憶部120および軌道計画情報記憶部130は、記憶部12内の記憶領域である。
 画面表示装置13は、軌道計画装置10を実現する計算機に含まれる装置であってもよいし、軌道計画装置10を実現する計算機と通信する別の計算機に含まれる装置であってもよい。画面操作機器14は、例えばキーボード、マウス又はタッチセンサ等、情報を入力するための機器を含む。画面操作機器14は、軌道計画装置10を実現する計算機に含まれる装置であってもよいし、軌道計画装置10を実現する計算機と通信する別の計算機に含まれる装置であってもよい。また、画面操作機器14は、例えばいわゆるタッチパネルのように、画面表示装置13と一体化されていてもよい。
 図2は、本発明の実施例の軌道計画装置10における軌道生成処理の流れの例を示すフローチャートである。以下、図1および図2を参照しながら、軌道計画装置10における処理の流れについて、説明する。
 <作業割当部>
 図2に示す第1の手順では、作業割当部20が、作業対象ロボットが記述されたセル構造情報と組立対象部品が記述された組立半順序情報内の組立半順序の情報から、各部品を担当するロボットを組立半順序情報に出力する(ステップS100)。
 作業割当部20の処理によって、各ロボットが作業担当する部品割当を初期案として自動生成できる。そのため、ユーザの作業割当設計工数を低減することができる。
 図3は、本発明の実施例の作業割当部20の処理の流れの例を示すフローチャートである。
 図3を参照して、図2のステップS100における作業割当処理の詳細を説明する。図3に示すように、作業割当部20は、事前にセル構造情報記憶部90に記憶されたセル構造情報と、組立半順序情報記憶部100に記憶された組立半順序情報とを基に、作業割当情報を生成する。
 まず、ステップS101で、作業割当部20が、セル構造情報記憶部90から、セル構造情報を取得する。
 ここで、セル構造情報の形式は限定されないが、ここでは、一例として、セルを構成するロボット、台座および治具等の、部品構成、位置および3次元ポリゴン情報(STL、DAE形式など)を含む電子図面情報(3DCADなど)をセル構造情報として用いた例を説明する。
 次に、ステップS102で、作業割当部20が、組立半順序情報記憶部100から、組立半順序情報を取得する。
 図4は、本発明の実施例の組立半順序情報記憶部100から取得される組立半順序情報の例を示す説明図である。
 組立半順序情報の一例である組立半順序情報テーブル100aは、部品名欄100bと、組立半順序部品グループ番号欄100cと、組立順序番号欄100dと、作業割当ロボット名欄100eと、を有する。
 部品名欄100bには、組立対象部品の部品名を識別する情報が格納される。
 組立半順序部品グループ番号欄100cには、部品名欄100bで特定される部品が属する組立半順序部品グループ番号を特定する情報が格納される。
 組立順序番号欄100dには、部品名欄100bで特定される部品の組立順序の番号を特定する情報が格納される。
 作業割当ロボット名欄100eには、部品名欄100bで特定される部品の作業に割り当てられたロボット名を特定する情報が格納される。
 ここで、組立半順序部品グループは、組立半順序部品グループ番号順に組み立てなければならないが、各組立半順序グループ内に属する部品はどの順番で組み立ててもよいとする。図4の例では、組立半順序グループ番号1~4までは、グループに属する部品がそれぞれ部品A~Dの1個しかないため、部品A、B、C、Dの順に組み立て、組立半順序グループ番号5に属する部品Eと部品Fはどちらを先に組み立ててもよいことを表している。以下の説明では、仮に部品F、Eの順で組み立てる例を示す。
 次に、ステップS103で、作業割当部20が、セル構造情報と組立半順序情報を基に、初期案となるロボットへの作業割当を生成する。
 ここで、作業割当方法として、各ロボットに近い距離にある部品を割り当てる方法、または、各ロボットが物体干渉を考慮せずに各部品の組立作業をした場合の作業時間を計算し、作業時間が短かったロボットへ部品を割り当てる方法など。一般的な方法を用いることができる。ただし、作業割当の方法はこれらに限定されず、任意の方法を用いることができる。
 次に、ステップS104で、作業割当部20が、組立半順序情報記憶部100に作業割当ロボット名を入力した組立半順序情報を出力する。
 その後、作業割当処理のフローチャートの実行が終了する。
 以降の作業優先度設定部30によるステップS200からS6までの処理では、組立順序変更可能な組立半順序部品グループごとに、軌道計画及び作業割当の変更、並びに、組立順序の変更が処理される。
 <作業優先度設定部>
 図2に示すステップS200では、作業優先度設定部30が、あるロボットに割り当てられた部品の組立作業時に、回避せねばならない他ロボットおよび部品の軌道を設定する。
 作業優先度設定部30は、まず、ロボット同士の干渉を考慮せず生成した初期タイプの軌道の作業時間を用いることによって、自動的に回避せねばならない他ロボットおよび部品の軌道を自動設定することができる。これを設定することによって、優先度の高いロボットの作業時間が回避動作によって伸びることを防ぎ、より短い作業時間で組立作業をする軌道計画を自動生成することができる。
 図5は、本発明の実施例の作業優先度設定部30の処理の流れの例を示すフローチャートである。
 図5を参照して、ステップS200における作業優先度設定処理の詳細を説明する。図5に示すように、作業優先度設定部30は、セル構造情報記憶部90に記憶されたセル構造情報と、組立半順序情報記憶部100に記憶された組立半順序情報と、部品別ロボット目標位置情報記憶部110に記憶された部品別ロボット目標位置情報とを基に、作業優先度を生成する。
 まず、ステップS201で、作業優先度設定部30が、組立半順序情報記憶部100から組立半順序情報を、セル構造情報記憶部90からセル構造情報を、部品別ロボット目標位置情報記憶部110から部品別ロボット目標位置情報を、作業割当情報記憶部から作業割当情報を取得する。
 図6は、本発明の実施例の部品別ロボット目標位置情報記憶部110から取得される部品別ロボット目標位置情報の例を示す説明図である。
 部品別ロボット目標位置情報の一例である部品別ロボット目標位置情報テーブル110aは、部品名欄110bと、ピック位置x欄110cと、ピック位置y欄110dと、ピック位置z欄110eと、プレイス位置x欄110fと、プレイス位置y欄110gと、プレイス位置z欄110hと、を有する。
 部品名欄110bには、組立対象の部品名称を識別することのできる部品名を特定する情報が格納される。
 ピック位置x欄110cには、部品名欄110bで特定される部品をロボットがピック操作する時のロボット目標x座標位置を特定する情報が格納される。
 ピック位置y欄110dには、部品名欄110bで特定される部品をロボットがピック操作する時のロボット目標y座標位置を特定する情報が格納される。
 ピック位置z欄110eには、部品名欄110bで特定される部品をロボットがピック操作する時のロボット目標z座標位置を特定する情報が格納される。
 プレイス位置x欄110fには、部品名欄110bで特定される部品をロボットがプレイス操作する時のロボット目標x座標位置を特定する情報が格納される。
 プレイス位置y欄110gには、部品名欄110bで特定される部品をロボットがプレイス操作する時のロボット目標y座標位置を特定する情報が格納される。
 プレイス位置z欄110hには、部品名欄110bで特定される部品をロボットがプレイス操作する時のロボット目標z座標位置を特定する情報が格納される。
 次に、ステップS202で、作業優先度設定部30が、組立半順序情報とセル構造情報と部品別ロボット目標位置情報とを基に、計画対象としている組立半順序部品グループに含まれる全部品の移動に関し、ロボット同士の干渉を考慮せずに実行する軌道計画を生成し、動作時間を算出する。
 ここでは、ロボット同士の干渉を考慮せずに軌道を生成する時に、一般的な軌道計画手法(Probabilistic Roadmap Method(PRM)、Rapidly-Exploring Random Tree(RRT)、Covariant Hamiltonian Optimization for Motion Planning(CHOMP)など)を用いた例を説明するが、軌道計画の方法を限定するものではない。
 次に、ステップS203で、作業優先度設定部30が、各ロボットに割り当てられた部品の作業時間を作業順に加算していくことによって、各部品の作業開始時刻を算出する。
 図7は、本発明の実施例の作業優先度設定部30による各部品の作業開始時刻の算出結果の例の説明図である。
 図7に示す算出結果1100aは、各ロボットに割り当てられた部品の作業時間を作業順に加算していくことによって、各部品の作業開始時刻を算出した結果を示す。
 図7に例示する算出結果1100aによれば、まず、ロボットA、B、Cがそれぞれ部品A、B、Cに対する作業を開始する。その後、ロボットAの部品Aに対する作業が最初に終了して、部品Dに対する作業が開始する。次に、ロボットBの部品Bに対する作業が終了して、部品Eに対する作業が開始する。次に、ロボットCの部品Cに対する作業が終了して、部品Fに対する作業が開始する。次に、次に、ロボットAの部品Dに対する作業が終了して、部品Gに対する作業が開始する。
 次に、ステップS204で、作業優先度設定部30が、ある部品の作業開始時刻と作業時間とを基に、作業時間中に同時に作業する他ロボットおよび部品を特定する。
 図7に示す算出結果1100bは、ロボットBの部品Hに対する軌道を計画する時に同時に作業される他ロボットおよび部品を特定した結果の例である。ロボットBが部品Eの作業終了の後に部品Hの作業を開始する場合、ロボットBの部品Hの動作が実行されるのは、楕円形で示す時間帯、すなわち、ロボットBが部品Eの作業を終了した後の、部品Hの作業時間の長さに相当する時間帯である。図7に示すロボットBの部品Hの作業開始時刻に、ロボットAの部品GとロボットCの部品Fは作業中であることから、それらが、ロボットBの部品Hの作業中に同時に作業される他ロボットおよび部品として識別できる。よって、作業優先度設定部30は、作業中のロボットAの部品GおよびロボットCの部品Fを、ロボットBの部品Hを軌道計画が回避するロボットと部品の組合せの軌道として特定する。
 次に、ステップS205で、作業優先度設定部30が、ステップS202で初期タイプの軌道計画として生成したロボット同士の干渉を考慮せずに実行する各軌道計画と、その軌道が回避する他ロボットおよび部品名とを、優先度付きタイプ別軌道計画情報記憶部120内の優先度付きタイプ別軌道計画情報に出力する。ここで、軌道とはロボットの手先初期位置と手先目標位置の間を補間する経由点位置群に対し、その各経由点に手先を移動するための各ロボット姿勢の情報と、その各経由点に手先が到達する時刻から構成される情報である。
 図8は、本発明の実施例の優先度付きタイプ別軌道計画情報の例を示す説明図である。
 優先度付きタイプ別軌道計画情報の一例である優先度付きタイプ別軌道計画情報テーブル120aは、計画ロボット名欄120bと、計画部品名欄120cと、軌道タイプ欄120dと、回避ロボット欄120eと、回避部品欄120fと、ID欄120gと、経由時刻欄120hと、J1欄120iと、J2欄120jと、J3欄120kと、Jn欄120lとを有する。
 ロボット名欄120bには、軌道計画対象のロボットを識別することのできるロボット名を特定する情報が格納される。
 部品名欄120cには、軌道計画対象の部品を識別することのできる部品名を特定する情報が格納される。
 軌道タイプ欄120dには、軌道のタイプ名称を特定する情報が格納される。具体的には、ロボット同士の干渉を考慮せず生成した初期タイプの軌道か、減速による干渉回避方法が適用された軌道か、一時停止による干渉回避方法が適用された軌道か、迂回による干渉回避方法が適用された軌道か、が特定される。
 回避ロボット欄120eには、計画ロボット名欄120bで特定されるロボットと計画部品名欄120cで特定される部品名で特定される軌道とが回避するべきロボットの名称を特定する情報が格納される。
 回避部品欄120fには、計画ロボット名欄120bで特定されるロボットと計画部品名欄120cで特定される部品名で特定される軌道とが回避するべき部品の名称を特定する情報が格納される。
 ID欄120gには、計画ロボット名欄120bで特定されるロボットと計画部品名欄120cで特定される部品名で特定される軌道のロボット手先の経由点の番号を特定する情報が格納される。
 経由時刻欄120hには、計画ロボット名欄120bで特定されるロボットと計画部品名欄120cで特定される部品名とID欄120gで特定される経由点の、手先到達時間を特定する情報が格納される。
 J1欄120i~Jn欄120lには、生成された軌道計画の時刻ごとのロボットの姿勢を示す情報として、ロボットの関節J1~Jnの関節角を示す情報が格納される。図8の例ではJ1関節角、J2関節角、J3関節角およびJn関節角を表示し、他を省略しているが、実際には、計画された軌道の各経由点に対応するロボットの全ての関節角が格納される。また、図8の例では初期の軌道計画における時刻ごとの関節角を示しているが、その後の処理で干渉を回避するための軌道計画が生成された場合には、生成された軌道計画における時刻ごとの関節角の情報が追加され、それらの関節角に対応する軌道タイプ欄120dには、回避方法を示す情報が格納される。
 図8の例において、初期軌道のJ1欄120iには、計画ロボット名欄120bで特定されるロボットと計画部品名欄120cで特定される部品名とID欄120gとで特定される経由点に手先を移動する時の、ロボットのJ1関節角を特定する情報が格納される。
 初期軌道のJ2欄120jには、計画ロボット名欄120bで特定されるロボットと計画部品名欄120cで特定される部品名とID欄120gとで特定される経由点に手先を移動する時の、ロボットのJ2関節角を特定する情報が格納される。
 初期軌道のJ3欄120kには、計画ロボット名欄120bで特定されるロボットと計画部品名欄の120cで特定される部品名とID欄120gとで特定される経由点に手先を移動する時の、ロボットのJ3関節角を特定する情報が格納される。
 初期軌道のJn欄120lには、計画ロボット名欄120bで特定されるロボットと計画部品名欄120cで特定される部品名とID欄120gとで特定される経由点に手先を移動する時の、ロボットのJn関節角を特定する情報が格納される。
 ここで、複数のロボットに割り当てられた部品の作業順序に従って、例えば同一の作業開始時刻に複数のロボットが同一の半順序グループに属する部品に対する作業を開始する場合、どちらのロボットが先に作業してもよい。例えば、目標位置までの距離が遠いロボットから作業優先度を高くすることによって、先に作業するロボットを決定してもよい。作業優先度が高く設定されたロボットと部品とに対応する図8の回避ロボット欄120eと回避部品欄120fは空欄となり、回避する他ロボットの軌道がない状態となる。この場合、当該ロボット及び当該部品の作業のための軌道と、他のロボット及び他の部品の作業のための軌道とが干渉するとき、他のロボットの他の部品の作業のための軌道が、干渉回避のための変更の対象となる。
 その後、作業優先度設定処理のフローチャートの実行が終了する。
 <回避方法別軌道計画部>
 図2に示すS300の手順では、回避方法別軌道計画部40が、ロボット同士の干渉回避方法別の軌道を計画する。
 ステップS300において、回避方法別軌道計画部40は、ロボット同時の干渉回避について回避方法別(例えば後述する迂回回避、一時停止回避、減速回避など)の軌道計画を自動生成する。この回避方法別軌道を候補軌道として生成することによって、ステップS300以降の処理で回避方法別の各軌道を選択することが可能になる。その選択肢内から最適な軌道を選択することによって組立作業全体での作業時間を短くすることができる。
 図9は、本発明の実施例の回避方法別軌道計画部40の処理の流れの例を示すフローチャートである。
 図9を参照して、ステップS300における回避方法別軌道計画処理の詳細を説明する。図9に示すように、回避方法別軌道計画部40は、部品別ロボット目標位置情報記憶部110に記憶された部品別ロボット目標位置情報と、優先度付きタイプ別軌道計画情報記憶部120に記憶された優先度付きタイプ別軌道計画情報とを基に、作業の優先度が低いロボットおよび部品の組合せが動作時に回避するほかロボットの軌道を特定し、その軌道を回避しながら目標位置へ向かう回避方法別候補軌道計画を生成する。
 ここで、回避方法別軌道計画部40は、回避方法として、他のロボットと衝突しそうな場合、避ける方向に迂回しながら作業する迂回回避方式と、一時停止して他のロボットが衝突しない位置に移動するまで待機する一時停止回避方式と、減速して他のロボットと衝突しないように移動する減速回避方式を用いる。ただし、実施例に合わせて他のロボット同士の干渉回避方法を追加してもよく、本発明は使用する干渉回避方法を限定するものではない。
 ステップS300における回避方法別軌道計画処理では、図9に示すように、部品別ロボット目標位置情報と優先度付きタイプ別軌道計画情報を基に、軌道計画対象のロボットおよび部品の組合せに対し、回避方法別の軌道計画情報を生成する。
 まず、ステップS301で、回避方法別軌道計画部40が、部品別ロボット目標位置情報記憶部110に記憶された部品別ロボット目標位置情報と、優先度付きタイプ別軌道計画情報記憶部120に記憶された優先度付きタイプ別軌道計画情報とを取得する。
 次に、ステップS302で、回避方法別軌道計画部40が、軌道計画対象の各ロボットおよび部品の組合せに対し、前述した作業優先度設定部30が設定した回避対象の他ロボットおよび部品の組合せの軌道計画を、軌道計画対象のロボットおよび部品の組合せの動作開始時刻の姿勢が開始姿勢になる軌道と、残りの軌道(すなわちその開始姿勢に至るまでの軌道)とに切り分ける。
 図10は、本発明の実施例の回避方法別軌道計画部40による他ロボットの軌道計画の切り分けの例を示す説明図である。この例では、ロボットBおよび楕円形で示される部品Hの組合わせを、ステップS302における現在の軌道計画対象とする。
 まず、作業時間割当1200a内のロボットBおよび部品Hの組合せに対し、図8に示す優先度付きタイプ別軌道計画情報の計画ロボット名120bがロボットBかつ計画部品名120cが部品Hである行の回避ロボット欄120eおよび回避部品欄120fの情報が参照される。図10の作業時間割当1200aは、図7に示した算出結果1100bに基づくものであり、図8に示した優先度付きタイプ別軌道計画情報の例に対応している。図8の回避ロボット欄120eおよび回避部品欄120fの情報から、ロボットAおよび部品Gの組合せと、ロボットCおよび部品Fの組合せとが、回避対象として特定される。これらの特定された組合わせの作業は、軌道計画対象であるロボットBおよび部品Hの組合せの作業より先に開始されるため、それらの作業優先度が参照された情報から特定される他のロボットおよび部品の組合わせの作業優先度はロボットBおよび部品Hの組合せの作業優先度より高い。このため、ロボットB側が回避することによって先に動作させなければならないロボットおよび部品の組み合わせとして、ロボットAおよび部品Gの組合せと、ロボットCおよび部品Fの組合せとが特定され、それらの軌道が回避対象の軌道となる。
 そして、回避方法別軌道計画部40は、部品Hの作業開始時刻に対し、作業時間割当1200bに示すように、ロボットAおよび部品Gの組合せの軌道と、ロボットCおよび部品Fの組合せの軌道とを、部品Hの作業開始時刻から開始する軌道とその前の軌道とに切り分ける。
 次に、ステップS303で、回避方法別軌道計画部40が、迂回方式の干渉回避軌道を生成する。
 ここで、本実施例の迂回方式の干渉回避軌道は、他ロボットのある時刻の動作と、軌道計画対象のロボットの移動可能方向とを逐次比較することによって、現在の移動可能方向で干渉回避できない場合、現在の回避開始する時刻より前時刻の経由位置から回避方向に動かすことによって生成される。これによって、急方向変換による減速を発生させることなく、緩やかに迂回して回避する軌道を生成することができる。そのため、一般的な干渉が予測された場合、急方向変換して回避するために急減速してしまう方法、および、同時に動作している他のロボットの軌道が通過する領域すべてを迂回するため遠回りになる軌道を生成する方法と比較し、作業時間が短くなる軌道を生成することができる。
 図11は、本発明の実施例の回避方法別軌道計画部40が干渉回避軌道を生成する処理(ステップS303)の詳細の例を示すフローチャートである。
 まず、ステップS1301で、回避方法別軌道計画部40が、作業空間内で、現在位置から任意の移動可能範囲内で目標位置方向へ指定距離移動した到達位置を生成する。
 図12は、本発明の実施例の迂回方式軌道計画部40が生成する到達位置の例を示す説明図である。
 図12の生成例1200aは、現在位置から移動可能範囲内で指定距離移動した到達位置を生成した例である。現在位置に対し、移動可能範囲を制限することによって、ロボットが急方向変換して減速または停止することを防ぐ。
 次に、ステップS1302で、回避方法別軌道計画部40が、到達位置への到達時刻を算出する。
 ここで、到達時刻算出方法として、一般的なロボットの到達位置に到達時の到達姿勢を逆運動学計算で算出し、関節速度、関節加速度仕様およびその到達姿勢までの関節回転角量を用いて算出する方法、または、ロボット手先速度および加速度仕様と到達位置までの手先移動距離とを用いて算出する方法を例として説明するが、到達時刻算出方法をそれらに限定するものではない。
 次に、ステップS1303で、回避方法別軌道計画部40が、ステップS302で切り分けた回避対象の軌道から、ステップS1302で算出した到達時刻における他ロボットの姿勢を取得する。
 次に、ステップS1304で、回避方法別軌道計画部40が、到達時刻のロボットの到達姿勢と、他ロボットの姿勢とが干渉するかを判定する。干渉する場合はステップS1305へ遷移する。干渉しない場合はステップS1309へ遷移する。
 次に、ステップS1305で、回避方法別軌道計画部40が、現在位置での移動可能範囲と、現在位置と、到達時刻の他ロボットの移動方向から回避方向ベクトルを算出し、その干渉回避方向ベクトルの方向へ任意の距離を移動する。
 図12の生成例1200bは、ステップS1305で実施される、回避方向ベクトルの生成の例である。到達時刻における他ロボット移動方向を表すベクトルに対し、ロボットは現在位置からの移動可能範囲内で、他ロボット移動方向を表すベクトルと反対方向(少なくとも反対方向の成分を含む方向)に任意の回避角度分、回避方向ベクトルを設定する。
 次に、ステップS1306で、回避方法別軌道計画部40が、移動後のロボット姿勢と、他ロボットの姿勢とが干渉するかを判別する。干渉する場合はステップS1307へ遷移する。干渉しない場合はステップS1309へ遷移する。
 次に、ステップS1307で、回避方法別軌道計画部40が、現在位置より一つ前の過去の経由点から、回避方向ベクトルの向きに移動することによる到達位置を生成する。
 図12の生成例1200cは、ステップS1307で実施される、過去の経由点から、回避方向ベクトルの向きに移動することによる到達位置の生成の例を示す。これによって、現時刻より前の経由点及び時刻から他ロボットに対して、回避を開始することができ、衝突直前で急方向変換し減速しながら回避してしまうことを防ぐことができる。
 次に、ステップS1308で、回避方法別軌道計画部40が、移動後のロボット姿勢と、他ロボットの姿勢が干渉するかを判別する。干渉する場合はステップS1307へ遷移する。
 ステップS1307に再び遷移することによって、過去の経由点から経由点が再設定され、急方向変更せず干渉回避する軌道に更新することができる。干渉しない場合はステップS1309へ遷移する。
 次に、ステップS1309で、回避方法別軌道計画部40が、移動後のロボット姿勢が目標位置へ到達したか判別する。到達した場合は回避方法別軌道計画部40の処理フローを終了する。到達していない場合はステップS1302へ遷移し、上記の移動後のロボット姿勢を新たな現在位置として、ステップS1302以降の処理を実行する。この処理を目標位置に到達するまで繰り返すことによって、目標位置までの経由点を生成していく。
 次に、ステップS304で、回避方法別軌道計画部40が、減速方式の干渉回避軌道を生成する。
 ここで、減速方式の干渉回避軌道計画方法として、一般的な、軌道の各経由点通過時刻でロボット同士の干渉が発生するかを判定し、干渉する場合は、干渉が発生する経由点までの移動速度を減速させて干渉回避する方法を用いた例を説明するが、減速方式の干渉回避軌道計画の方法を限定するものではない。
 次に、ステップS305で、回避方法別軌道計画部40が、一時停止方式の干渉回避軌道を生成する。
 ここで、一時停止方式の干渉回避軌道計画方法として、一般的な、軌道の各経由点通過時刻でロボット同士の干渉が発生するかを判定し、干渉する場合は、干渉する前時刻の経由点で任意時間、ロボットを一時停止させて干渉回避する方法を用いた例を説明するが、一時停止方式の干渉回避軌道計画の方法を限定するものではない。
 次に、ステップS306で、回避方法別軌道計画部40が、優先度付きタイプ別軌道計画情報記憶部120に生成した各干渉回避方式の軌道を出力する。
 図2に示すステップS1では、軌道計画装置10が現在、計画対象としている組立半順序部品グループの部品数が1より多いか判別する。部品数が1より多い場合はステップS400へ遷移する。部品数が1の場合はステップS3へ遷移する。
 図2に示すステップS3では、軌道計画装置10が、現在、計画対象としている組立半順序部品グループの部品(このステップS3に遷移している場合、計画対象としている組立半順序部品グループの部品数は1であるため、その部品)に対し、全ロボット割当パターンで軌道生成が完了しているか判別する。完了している場合はステップS500へ遷移し、完了していない場合はステップS4へ遷移する。
 図2に示すステップS4では、軌道計画装置10が、現在、計画対象としている組立半順序部品グループの部品に対し、まだ軌道計画を生成していないロボットへの割当変更を実施し、ステップS200へ再度、遷移し、軌道計画を実施するフローに入る。
 <作業割当組立順序変更部>
 図2に示すステップS400では、作業割当組立順序変更部50が、作業割当と組立順序の組合せを変更する。
 作業割当組立順序変更部50は、組立半順序情報を使用していることによって、候補となる作業割当と半順序情報に基づく組立順序の候補との組合せを生成することができる。そのため、以降の動作選択部ステップS500および軌道計画装置の全体処理フローにおいて、候補の組合せ内から最適な組合せを選択することが可能になり、組立作業全体の作業時間を短くすることができる。
 ステップS400では、作業割当組立順序変更部50が、現在の軌道計画対象の組立半順序部品グループの作業割当・組立順序変更の全パターンの軌道計画をステップS300にて生成するために、軌道計画されていない作業割当・組立順序変更のパターンを生成する。
 作業割当組立順序変更部50は、現在の軌道計画対象の組立半順序部品グループの作業割当・組立順序変更の全パターンの軌道計画が完了していなければ、全パターン軌道生成完了フラグをOFFにし、完了していればONにする。
 その後、作業割当組立順序変更処理が終了する。
 次に、図2に示す全体処理フローのステップS2で、作業割当組立順序変更部50が、全パターン軌道生成完了フラグがONであるかを判別し、ONの場合、ステップS500へ遷移する。全パターン軌道生成完了フラグがONでない(すなわち全パターンの軌道計画が完了していない)場合は、作業優先度設定部によるステップS300に遷移し、軌道計画されていない作業割当および組立順序パターンの軌道計画をするフローへ進む。
 <動作選択部>
 図2に示すステップS500では、動作選択部60が、作業時間が最短となる回避方法別軌道計画および作業割当、組立順序を選択する。
 動作選択部60の処理によって、前述の作業割当組立順序変更処理によって生成された作業割当、組立順序および回避方法別軌道計画の候補組合せの中から、最適な組合せを選択することができ、組立作業全体での作業時間を短くすることができる。
 図13は、本発明の実施例の動作選択部60の処理の流れの例を示すフローチャートである。
 図13を参照して、ステップS500における動作選択処理の詳細を説明する。図13に示すように、動作選択部60は、組立半順序情報記憶部100に記憶された組立半順序情報と、優先度付きタイプ別軌道計画情報記憶部120に記憶されたタイプ別の優先度付きタイプ別軌道計画情報とを基に、優先度付きタイプ別軌道計画情報内の組立順序と作業割当情報とを更新し、選択された回避方法別軌道計画を軌道計画情報として出力する。
 まず、ステップS501で、動作選択部60が、回避方法別の優先度付きタイプ別軌道計画情報を取得する。
 次に、ステップS502で、動作選択部60が、現在の組立半順序部品グループ内での、作業割当と組立順序と回避方法別軌道との組合せパターンごとに、回避方法別優先度付きタイプ別軌道計画情報から各ロボットの担当部品の作業時間を取得する。
 次に、ステップS503で、動作選択部60が、ステップS502で取得した各組合せでの各ロボットの担当部品の作業時間を比較し、現在の組立半順序部品グループまでの作業時間が最短になるパターンを選択する。
 次に、ステップS504で、動作選択部60が、軌道計画情報記憶部140にステップS503で選択された回避方法の軌道計画情報を優先度付きタイプ別軌道計画情報からコピーし、軌道計画情報記憶部130に出力する。
 次に、ステップS505で、動作選択部60が、組立半順序情報記憶部100にステップS503で選択された作業割当および組立順序に更新した組立半順序情報を出力する。
 その後、動作選択処理のフローチャートの実行が終了する。
 次に、図2に示す前述したステップS5で、全ての組立半順序部品グループの動作選択が完了しているかを判別する。全ての組立半順序部品グループの動作選択が完了している場合は、軌道計画生成処理のフローチャートの実行が終了する。全ての組立半順序部品グループの動作選択が完了していない場合は、ステップS6に遷移し、計画対象の組立半順序部品グループ番号に1を加算し、作業優先度設定部によるステップS200へ遷移する。これによって、各組立半順序部品グループに対し、順番に軌道計画、作業割当、および組立順序変更を軌道計画装置の全体フロー内で実行する。
 軌道計画が完了すると、生成軌道表示部70が、組立半順序情報、優先度付きタイプ別軌道計画情報、および軌道計画情報を、通信部80に接続された画面表示装置13に表示する。
 図14は、本発明の実施例の画面表示装置13が表示する画面の例を示す説明図である。
 具体的には、図14は、組立半順序情報、優先度付きタイプ別軌道計画情報、および軌道計画情報の表示画面の例を示す。表示画面1500aは、組立順序情報、優先度付きタイプ別軌道計画情報、および軌道計画情報の表示画面の表示と、各部品の作業順序を画面から変更することができる領域1500bと、セル全体で各ロボットの軌道計画を再生して表示する領域1500cと、各ロボットと部品の組合せごとの軌道計画を回避方法別に再生することができる領域1500dとを有する。
 以上説明した実施例によれば、組立半順序に基づき、組立順序と作業割当と相互に干渉回避する複数ロボット軌道とをいずれも最適化することによって、総作業時間の短縮と教示工数削減を実現する。以上、本発明について実施形態に基づき具体的に説明したが、本発明は前記発明の実施形態に限定されるものではなく、軌道計画装置において、その要旨を逸脱しない範囲において変更可能であることは言うまでもない。
 また、本発明の実施形態のシステムは次のように構成されてもよい。
 (1)演算部(例えば演算部11)と、記憶部(例えば記憶部12)と、を有する軌道計画装置(例えば軌道計画装置10)であって、記憶部は、複数の部品に対する作業の順序を示す順序情報(例えば組立半順序情報記憶部110に格納された情報)と、複数の部品に対する作業におけるピック位置及びプレイス位置を含む目標位置情報(例えば部品別ロボット目標位置情報記憶部110に格納された情報)と、複数のロボットの構造を示す構造情報(例えばセル構造情報記憶部90に格納された情報)と、保持し、演算部は、順序情報が示す順序に従って複数の部品に対する作業が実行されるように、複数の部品に対する作業を複数のロボットに割り当て(例えばステップS100)、複数のロボットの各々について、目標位置情報及び構造情報に基づいて、割り当てられた部品に対する作業を行うための軌道計画を生成し(例えばステップS300)、複数のロボット間で干渉が発生する場合、それぞれ異なる方法で干渉を回避する軌道計画を含む複数の軌道計画を生成し(例えばステップS301~S306)、複数の軌道計画について計算された作業時間の長さに基づいて、複数の軌道計画のいずれかを選択する(例えばステップS500)。
 これによって、ロボット間の干渉を回避し、作業時間を短縮する軌道計画を生成する軌道計画を生成することができる。
 (2)上記(1)において、複数の軌道計画は、干渉が発生する二つのロボットのうち一方のロボットが他方のロボットを迂回することによって干渉を回避する軌道計画を含む(例えばステップS303)。
 これによって、ロボット間の干渉を回避する軌道計画を生成することができる。
 (3)上記(2)において、軌道計画は、時刻ごとのロボットの経由点の姿勢を示す情報(例えば図8の優先度付きタイプ別軌道計画情報における各経由点の情報)を含み、演算部は、一方のロボットの経由点のうち、他方のロボットとの干渉が発生する経由点の一つ前の時刻の経由点からの移動方向を、一方のロボットの移動可能範囲内であって、他方のロボットの移動方向と反対の方向の成分を含む方向に変更することによって、干渉を回避する軌道計画を生成する(例えばステップS1305)。
 これによって、衝突直前の急方向変換等を行わずに、ロボット間の干渉を回避する軌道計画を生成することができる。
 (4)上記(3)において、演算部は、他方のロボットとの干渉が発生する経由点の一つ前の時刻の経由点からの移動方向を変更しても、他方のロボットとの干渉が解消されない場合、さらに前の時刻の経由点からの移動方向を、一方のロボットの移動可能範囲内であって、他方のロボットの移動方向と反対の方向の成分を含む方向に変更することによって、干渉を回避する軌道計画を生成する(例えばステップS1307)。
 これによって、衝突直前の急方向変換等を行わずに、ロボット間の干渉を回避する軌道計画を生成することができる。
 (5)上記(2)において、複数の軌道計画は、一方のロボットが減速することによって干渉を回避する軌道計画、及び、一方のロボットが一時停止することによって干渉を回避する軌道計画の少なくともいずれかをさらに含む(例えばステップS304、S305)。
 これによって、異なる方法で干渉を回避する複数の軌道計画を生成することができる。
 (6)上記(2)において、一方のロボットは、干渉が発生する二つのロボットのうち、干渉が発生する時刻に行われている部品に対する作業の開始時刻が遅い方のロボットである。
 これによって、予め定められた組み立て順序に従って、干渉を回避する軌道計画を生成することができる。
 (7)上記(2)において、順序情報は、作業の順序を交換可能な複数の部品からなる半順序グループを特定する情報を含み、干渉が発生する二つのロボットにおいて、干渉が発生する時刻に行われている作業の対象の部品が同一の半順序グループに属し、かつ、作業の開始時刻が同一である場合、一方のロボットは、干渉が発生する二つのロボットのうち、干渉が発生する時刻に行われている作業の対象の部品との距離が近い方のロボットである。
 これによって、全体の作業時間が短くなるように、干渉を回避する軌道計画を生成することができる。
 (8)上記(1)において、順序情報は、作業の順序を交換可能な複数の部品からなる半順序グループを特定する情報を含み、複数の軌道計画は、半順序グループに属する複数の部品の作業の順序を変更することによって生成された複数の軌道計画を含む(例えばステップS400)。
 これによって、複数の軌道計画を生成して、作業時間が短いものを選択することができる。
 (9)上記(1)において、複数の軌道計画は、複数のロボットの各々への部品に対する作業の割り当てが異なる複数の軌道計画を含むことを特徴とする軌道計画装置。
 これによって、複数の軌道計画を生成して、作業時間が短いものを選択することができる。
 (10)上記(1)において、演算部は、複数の軌道計画のうち、計算された作業時間が最短の軌道計画を選択する(例えばステップS503)。
 これによって、ロボット間の干渉を回避し、作業時間を短縮する軌道計画を生成する軌道計画を生成することができる。
 (11)上記(1)において、軌道計画装置は、表示装置(例えば画面表示装置13)に接続され、演算部は、複数の軌道計画に基づくロボットの動作の少なくともいずれかを表示するためのデータ(例えば図14の表示のためのデータ)を表示装置に送信する。
 これによって、生成した軌道計画をユーザが確認することができる。
 (12)上記(11)において、演算部は、複数の軌道計画のうち、計算された作業時間が最短の軌道計画に基づくロボットの動作、又は、ユーザによって選択された軌道計画に基づくロボットの動作の少なくともいずれかを表示するためのデータ(例えば図14の表示のためのデータ)を表示装置に送信する。
 これによって、生成した軌道計画をユーザが確認することができる。
 (13)上記(11)において、軌道計画装置は、ユーザによる操作を受け付ける操作機器(例えば画面操作機器14)に接続され、演算部は、操作機器を介してユーザから入力された情報に基づいて、軌道計画を変更する。
 これによって、生成した軌道計画をユーザが確認し、変更を加えることができる。
 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明のより良い理解のために詳細に説明したものであり、必ずしも説明の全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
 また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によってハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
 また、制御線及び情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。

Claims (14)

  1.  演算部と、記憶部と、を有する軌道計画装置であって、
     前記記憶部は、複数の部品に対する作業の順序を示す順序情報と、前記複数の部品に対する作業におけるピック位置及びプレイス位置を含む目標位置情報と、複数のロボットの構造を示す構造情報と、を保持し、
     前記演算部は、
     前記順序情報が示す順序に従って前記複数の部品に対する作業が実行されるように、前記複数の部品に対する作業を複数のロボットに割り当て、
     前記複数のロボットの各々について、前記目標位置情報及び前記構造情報に基づいて、前記割り当てられた部品に対する作業を行うための軌道計画を生成し、
     前記複数のロボット間で干渉が発生する場合、それぞれ異なる方法で干渉を回避する軌道計画を含む複数の軌道計画を生成し、
     前記複数の軌道計画について計算された作業時間の長さに基づいて、前記複数の軌道計画のいずれかを選択することを特徴とする軌道計画装置。
  2.  請求項1に記載の軌道計画装置であって、
     前記複数の軌道計画は、前記干渉が発生する二つのロボットのうち一方のロボットが他方のロボットを迂回することによって前記干渉を回避する軌道計画を含むことを特徴とする軌道計画装置。
  3.  請求項2に記載の軌道計画装置であって、
     前記軌道計画は、時刻ごとの前記ロボットの経由点の姿勢を示す情報を含み、
     前記演算部は、前記一方のロボットの前記経由点のうち、前記他方のロボットとの干渉が発生する前記経由点の一つ前の時刻の前記経由点からの移動方向を、前記一方のロボットの移動可能範囲内であって、前記他方のロボットの移動方向と反対の方向の成分を含む方向に変更することによって、前記干渉を回避する軌道計画を生成することを特徴とする軌道計画装置。
  4.  請求項3に記載の軌道計画装置であって、
     前記演算部は、前記他方のロボットとの干渉が発生する前記経由点の一つ前の時刻の前記経由点からの移動方向を変更しても、前記他方のロボットとの干渉が解消されない場合、さらに前の時刻の前記経由点からの移動方向を、前記一方のロボットの移動可能範囲内であって、前記他方のロボットの移動方向と反対の方向の成分を含む方向に変更することによって、前記干渉を回避する軌道計画を生成することを特徴とする軌道計画装置。
  5.  請求項2に記載の軌道計画装置であって、
     前記複数の軌道計画は、前記一方のロボットが減速することによって前記干渉を回避する軌道計画、及び、前記一方のロボットが一時停止することによって前記干渉を回避する軌道計画の少なくともいずれかをさらに含むことを特徴とする軌道計画装置。
  6.  請求項2に記載の軌道計画装置であって、
     前記一方のロボットは、前記干渉が発生する二つのロボットのうち、前記干渉が発生する時刻に行われている前記部品に対する作業の開始時刻が遅い方のロボットであることを特徴とする軌道計画装置。
  7.  請求項2に記載の軌道計画装置であって、
     前記順序情報は、作業の順序を交換可能な複数の前記部品からなる半順序グループを特定する情報を含み、
     前記干渉が発生する二つのロボットにおいて、前記干渉が発生する時刻に行われている作業の対象の前記部品が同一の前記半順序グループに属し、かつ、前記作業の開始時刻が同一である場合、前記一方のロボットは、前記干渉が発生する二つのロボットのうち、前記干渉が発生する時刻に行われている前記作業の対象の前記部品との距離が近い方のロボットであることを特徴とする軌道計画装置。
  8.  請求項1に記載の軌道計画装置であって、
     前記順序情報は、作業の順序を交換可能な複数の前記部品からなる半順序グループを特定する情報を含み、
     前記複数の軌道計画は、前記半順序グループに属する前記複数の部品の作業の順序を変更することによって生成された複数の軌道計画を含むことを特徴とする軌道計画装置。
  9.  請求項1に記載の軌道計画装置であって、
     前記複数の軌道計画は、前記複数のロボットの各々への前記部品に対する作業の割り当てが異なる複数の軌道計画を含むことを特徴とする軌道計画装置。
  10.  請求項1に記載の軌道計画装置であって、
     前記演算部は、前記複数の軌道計画のうち、前記計算された作業時間が最短の軌道計画を選択することを特徴とする軌道計画装置。
  11.  請求項1に記載の軌道計画装置であって、
     表示装置に接続され、
     前記演算部は、前記複数の軌道計画に基づく前記ロボットの動作の少なくともいずれかを表示するためのデータを前記表示装置に送信することを特徴とする軌道計画装置。
  12.  請求項11に記載の軌道計画装置であって、
     前記演算部は、前記複数の軌道計画のうち、前記計算された作業時間が最短の軌道計画に基づく前記ロボットの動作、又は、ユーザによって選択された軌道計画に基づく前記ロボットの動作の少なくともいずれかを表示するためのデータを前記表示装置に送信することを特徴とする軌道計画装置。
  13.  請求項11に記載の軌道計画装置であって、
     ユーザによる操作を受け付ける操作機器に接続され、
     前記演算部は、前記操作機器を介して前記ユーザから入力された情報に基づいて、前記軌道計画を変更することを特徴とする軌道計画装置。
  14.  演算部と、記憶部と、を有する軌道計画装置が実行する軌道計画方法であって、
     前記記憶部は、複数の部品に対する作業の順序を示す順序情報と、前記複数の部品に対する作業におけるピック位置及びプレイス位置を含む目標位置情報と、複数のロボットの構造を示す構造情報と、を保持し、
     前記軌道計画方法は、
     前記演算部が、前記順序情報が示す順序に従って前記複数の部品に対する作業が実行されるように、前記複数の部品に対する作業を複数のロボットに割り当てる手順と、
     前記演算部が、前記複数のロボットの各々について、前記目標位置情報及び前記構造情報に基づいて、前記割り当てられた部品に対する作業を行うための軌道計画を生成し、前記複数のロボット間で干渉が発生する場合、それぞれ異なる方法で干渉を回避する軌道計画を含む複数の軌道計画を生成する手順と、
     前記演算部が、前記複数の軌道計画について計算された作業時間の長さに基づいて、前記複数の軌道計画のいずれかを選択する手順と、を含むことを特徴とする軌道計画方法。
PCT/JP2022/033033 2022-02-28 2022-09-01 軌道計画装置及び軌道計画方法 WO2023162300A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-030023 2022-02-28
JP2022030023A JP2023125754A (ja) 2022-02-28 2022-02-28 軌道計画装置及び軌道計画方法

Publications (1)

Publication Number Publication Date
WO2023162300A1 true WO2023162300A1 (ja) 2023-08-31

Family

ID=87765354

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/033033 WO2023162300A1 (ja) 2022-02-28 2022-09-01 軌道計画装置及び軌道計画方法

Country Status (2)

Country Link
JP (1) JP2023125754A (ja)
WO (1) WO2023162300A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0934524A (ja) * 1995-07-18 1997-02-07 Kobe Steel Ltd ロボットマニピュレータの移動経路の自動生成方法
JP2010055498A (ja) * 2008-08-29 2010-03-11 Hitachi Ltd 自律移動ロボット装置及びかかる装置における飛び出し衝突回避方法
JP2017131973A (ja) * 2016-01-25 2017-08-03 キヤノン株式会社 ロボット軌道生成方法、およびロボット軌道生成装置
JP6266104B2 (ja) * 2014-05-20 2018-01-24 株式会社日立製作所 組立順序生成装置、組立順序生成方法および組立順序生成プログラム
JP2020049554A (ja) * 2018-09-21 2020-04-02 キヤノン株式会社 軌道生成方法、軌道生成装置、およびロボットシステム
JP2021003779A (ja) * 2019-06-27 2021-01-14 株式会社日立製作所 組立計画装置、組立計画方法、及び組立計画プログラム
JP2021065939A (ja) * 2019-10-17 2021-04-30 オムロン株式会社 回避軌道生成装置、方法、及びプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0934524A (ja) * 1995-07-18 1997-02-07 Kobe Steel Ltd ロボットマニピュレータの移動経路の自動生成方法
JP2010055498A (ja) * 2008-08-29 2010-03-11 Hitachi Ltd 自律移動ロボット装置及びかかる装置における飛び出し衝突回避方法
JP6266104B2 (ja) * 2014-05-20 2018-01-24 株式会社日立製作所 組立順序生成装置、組立順序生成方法および組立順序生成プログラム
JP2017131973A (ja) * 2016-01-25 2017-08-03 キヤノン株式会社 ロボット軌道生成方法、およびロボット軌道生成装置
JP2020049554A (ja) * 2018-09-21 2020-04-02 キヤノン株式会社 軌道生成方法、軌道生成装置、およびロボットシステム
JP2021003779A (ja) * 2019-06-27 2021-01-14 株式会社日立製作所 組立計画装置、組立計画方法、及び組立計画プログラム
JP2021065939A (ja) * 2019-10-17 2021-04-30 オムロン株式会社 回避軌道生成装置、方法、及びプログラム

Also Published As

Publication number Publication date
JP2023125754A (ja) 2023-09-07

Similar Documents

Publication Publication Date Title
EP3794314B1 (en) Robot coordination in a shared workspace
US10525594B2 (en) Teaching system, robot system, and teaching method
JP6576255B2 (ja) ロボット軌道生成方法、ロボット軌道生成装置、および製造方法
JP2019532827A (ja) 衝突回避動作計画のための方法
CN107065790B (zh) 用于确定虚拟环境中的虚拟机器人的配置的方法和系统
KR20080051112A (ko) 3d 시뮬레이션을 생성하기 위한 시스템 및 방법
JP6598454B2 (ja) 教示データの作成方法、作成装置、及び作成プログラム
JP7246267B2 (ja) 組立計画装置、組立計画方法、及び組立計画プログラム
JP2017213644A (ja) 教示装置、教示システム、ロボットシステム、教示方法、製造品の製造方法、プログラム及び記録媒体
JP6750909B2 (ja) ロボット軌道生成方法、ロボット軌道生成装置、および製造方法
US20220244741A1 (en) Semantic Models for Robot Autonomy on Dynamic Sites
JP2019171501A (ja) ロボットの干渉判定装置、ロボットの干渉判定方法、プログラム
CN109807898B (zh) 运动控制方法、控制设备及存储介质
CN110000753B (zh) 用户交互方法、控制设备及存储介质
JPWO2020066949A1 (ja) ロボットの経路決定装置、ロボットの経路決定方法、プログラム
WO2023162300A1 (ja) 軌道計画装置及び軌道計画方法
JPS6179589A (ja) ロボツト運転装置
WO2019064919A1 (ja) ロボット教示装置
CN110000775B (zh) 设备管理方法、控制设备及存储介质
JP3705672B2 (ja) 自動組立装置及び自動組立方法
JPH09212225A (ja) ロボットの教示装置
JP2023084115A (ja) 点集合の干渉チェック
JP7111911B1 (ja) 安全パラメータを設定する装置、教示装置、及び方法
JP5476225B2 (ja) 干渉判定装置および干渉判定方法
JP7276359B2 (ja) 動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22928821

Country of ref document: EP

Kind code of ref document: A1