Facility layout adjustment system and facility layout adjustment method

The facility layout adjustment system optimizes robot cell system placements by reducing computational complexity through constrained decision variables and trajectory calculations, addressing the inefficiencies in existing robot cell system design methods.

JP2025187747APending Publication Date: 2025-12-25HITACHI LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024096778
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-06-14
Publication Date
2025-12-25

AI Technical Summary

Technical Problem

Existing technologies for designing robot cell systems require extensive calculations to determine the placement of components like workpieces, workbenches, and conveyors, leading to a significant computational burden.

Method used

A facility layout adjustment system that includes a calculation device and storage device to optimize the placement of robots and related objects by selecting decision variables based on position and orientation constraints, reducing the number of variables through constant replacement and range limitations, and calculating robot trajectories to minimize cycle time.

Benefits of technology

The system efficiently adjusts the layout of equipment by reducing computational complexity while considering the placement of work targets and related objects, enabling easy and optimized robot operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025187747000001_ABST
    Figure 2025187747000001_ABST
Patent Text Reader

Abstract

To simply adjust layout of a facility including a robot.SOLUTION: A facility layout adjustment system includes a calculation device, and a storage device, wherein the storage device holds position attitude restriction information indicating restriction of a position attitude of an object, the object includes at least a robot, a work object which is an object of work performed by the robot, and a work-related object for restricting the position attitude of the work object, and the calculation device selects a determination variable as an object of optimization calculation of an objective function for evaluating the operation of the robot, among variables indicating he position attitude of the object, on the basis of the position attitude restriction information, calculates the trajectory of the robot, on the basis of the determination variable, and specifies the value of the determination variable, so as to optimize the objective function, on the basis of the calculated trajectory of the robot.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a technique for adjusting the layout of equipment including a robot. [Background technology]

[0002] As a technology relating to the design of a system that includes a robot as a component, there is, for example, the technology described in Japanese Patent Application Laid-Open No. 2022-134604 (Patent Document 1).

[0003] Patent Document 1 states, "When designing a robot cell system, the placement of the robots and each component, as well as the operation of the robots, must be appropriately designed so that the system's operation time falls within the target time. Technology has been proposed to assist in the design of such robot cell systems." [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Publication No. 2022-134604 Summary of the Invention [Problem to be solved by the invention]

[0005] The technology described in Patent Document 1 calculates candidate placements for components other than the robots in a robot cell system, and evaluates the candidate placements based on the results of planning the robot's path. The components involved in planning the robot's path include not only the robot's work targets, such as workpieces and part feeders, but also the workbench and conveyor on which the work targets are placed, which results in a huge amount of calculations in a real environment.

[0006] Therefore, the present invention provides a facility layout adjustment system that can reduce the amount of calculation while targeting not only the work object but also the placement of components related to the work object. [Means for solving the problem]

[0007] The present application includes a number of means for solving at least part of the above problems, examples of which are as follows.

[0008] One aspect of the present invention is an equipment layout adjustment system comprising a calculation device and a storage device, wherein the storage device holds position and orientation constraint information indicating constraints on the position and orientation of objects, the objects including at least a robot, a work target object that is a target of work performed by the robot, and a work-related object that constrains the position and orientation of the work target object, and the calculation device selects, from variables indicating the positions and orientations of the objects based on the position and orientation constraint information, decision variables to be used in optimization calculations of an objective function that evaluates the operation of the robot, calculates a trajectory of the robot based on the decision variables, and specifies values ​​of the decision variables so that the objective function is optimized based on the calculated robot trajectory. [Effects of the Invention]

[0009] According to the present invention, a technique for easily adjusting the layout of equipment including a robot can be provided.

[0010] Problems, configurations, and effects other than those described above will become apparent from the following description of the embodiments. [Brief explanation of the drawings]

[0011] [Figure 1] FIG. 1 is a diagram illustrating an example of the configuration of an equipment layout adjustment system. [Figure 2] FIG. 4 is a diagram illustrating an example of facility information stored in a facility information storage unit. [Figure 3] 10A and 10B are diagrams illustrating an example of position and orientation constraint information stored in a position and orientation constraint information storage unit. [Figure 4] FIG. 10 is a diagram illustrating an example of decision variables stored in a decision variable storage unit. [Figure 5] FIG. 4 is a diagram showing an example of a robot trajectory stored in a robot trajectory storage unit. [Figure 6] 10 is a flowchart illustrating an example of an equipment layout adjustment process. [Figure 7] 10 is a flowchart illustrating an example of a decision variable selection process. [Figure 8] FIG. 10 is a diagram illustrating an example of coordinate transformation from robot coordinates to a target point using decision variables. [Figure 9] FIG. 10 is a diagram illustrating an example of a display screen output by an output device. DETAILED DESCRIPTION OF THE INVENTION

[0012] In the following embodiments, for convenience, when necessary, the description will be divided into multiple sections or embodiments, but unless otherwise expressly stated, they are not unrelated to each other, and one is a partial or complete variation, detail, supplementary explanation, etc. of the other.

[0013] Furthermore, in the following embodiments, when referring to the number of elements (including the number, numerical value, amount, range, etc.), unless otherwise specified or when it is clearly limited to a specific number in principle, it is not limited to that specific number and may be more or less than the specific number.

[0014] Furthermore, it goes without saying that in the following embodiments, the components (including element steps, etc.) are not necessarily essential unless otherwise specified or considered to be clearly essential in principle.

[0015] Similarly, in the following embodiments, when referring to the shapes, positional relationships, etc. of components, etc., it is intended to include those that are substantially similar or similar to those shapes, etc., unless otherwise specified or when it is considered that this is clearly not the case in principle. This also applies to the above numerical values ​​and ranges.

[0016] In addition, in all the drawings for explaining the embodiments, the same components are generally given the same reference numerals, and repeated explanations thereof will be omitted. However, when there is a high possibility of confusion arising from environmental changes, etc., if the same components share the same names as the components before the change, different reference numerals or names may be given to the same components.

[0017] Hereinafter, each embodiment of the present invention will be described with reference to the drawings.

[0018] In this embodiment, an equipment layout adjustment system will be described that adjusts and presents an input initial layout to a user who requires an equipment layout that improves the evaluation of robot operations, such as cycle time.

[0019] In the following embodiments, the "input device" and "output device" may be one or more interface devices. The one or more interface devices may be at least one of the following:

[0020] One or more I / O (Input / Output) interface devices. The I / O interface device is an interface device for at least one of the I / O device and a remote display computer. The I / O interface device for the display computer may be a communications interface device. The at least one I / O device may be a user interface device, for example, either an input device such as a keyboard and a pointing device, or an output device such as a display device.

[0021] One or more communication interface devices. The one or more communication interface devices may be one or more homogeneous communication interface devices (e.g., one or more NICs (Network Interface Cards)) or two or more heterogeneous communication interface devices (e.g., an NIC and an HBA (Host Bus Adapter)).

[0022] In the following description, "memory" refers to one or more memory devices, which are an example of one or more storage devices, and may typically be a primary storage device. At least one memory device in the memory may be a volatile memory device or a non-volatile memory device.

[0023] In the following description, an "external storage device" may be one or more persistent storage devices, which are an example of one or more storage devices. A persistent storage device may typically be a non-volatile storage device (e.g., an auxiliary storage device), and more specifically, may be, for example, a hard disk drive (HDD), a solid state drive (SSD), a non-volatile memory express (NVME) drive, or a storage class memory (SCM).

[0024] In the following description, the term "storage unit" or "external storage device" may refer to either a memory or a persistent storage device, or both.

[0025] Also, in the following description, a "processing unit" or a "processor" may refer to one or more processor devices. The at least one processor device may typically be a microprocessor device such as a CPU (Central Processing Unit), but may also be another type of processor device such as a GPU (Graphics Processing Unit). The at least one processor device may be a single-core or multi-core. The at least one processor device may also be a processor core. The at least one processor device may also be a processor device in a broader sense, such as a circuit that is a collection of gate arrays written in a hardware description language that performs some or all of the processing (e.g., an FPGA (Field-Programmable Gate Array), a CPLD (Complex Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit)).

[0026] Furthermore, in the following description, functions may be described using the expression "yyy unit." However, the functions may be realized by one or more computer programs executed by a processor, by one or more hardware circuits (e.g., FPGAs or ASICs), or by a combination thereof. When a function is realized by a program executed by a processor, the specified processing is performed using a storage device and / or an interface device, etc., as appropriate, and therefore the function may be considered to be at least a part of the processor. Processing described using a function as the subject may be processing performed by a processor or a device having the processor. A program may be installed from a program source. The program source may be, for example, a computer from which the program is distributed or a computer-readable recording medium (e.g., a non-transitory recording medium). The description of each function is merely an example; multiple functions may be combined into one function, or one function may be divided into multiple functions.

[0027] In the following description, processing may be described using a "program" or a "processing unit" as the subject, but processing described using a program as the subject may also be processing performed by a processor or a device having that processor. Two or more programs may be realized as one program, or one program may be realized as two or more programs.

[0028] In the following description, information that provides an output for an input may be described using expressions such as "xxx table," but this information may be a table of any structure, or may be a neural network that generates an output for an input, or a learning model such as a genetic algorithm or random forest. Therefore, the "xxx table" may be referred to as "xxx information." In the following description, the structure of each table is an example, and one table may be divided into two or more tables, or all or part of two or more tables may be one table.

[0029] Furthermore, in the following description, the "facility layout adjustment system" may be a system configured with one or more physical computers, or may be a system (e.g., a cloud computing system) implemented on a group of physical computing resources (e.g., a cloud infrastructure). When the facility layout adjustment system "displays" display information, it may mean displaying the display information on a display device possessed by the computer, or it may mean that the computer transmits the display information to a display computer (in the latter case, the display information is displayed by the display computer).

[0030] Hereinafter, an embodiment will be described with reference to the drawings.

[0031] FIG. 1 is a diagram illustrating an example of the configuration of an equipment layout adjustment system.

[0032] The facility layout adjustment system 100 is installed in a manufacturing site (area) or a facility outside the manufacturing site. The facility layout adjustment system 100 includes a group of devices according to the usage environment, such as a display computer, which are communicably connected via a network (not shown).

[0033] Although not shown, the network may be, for example, a LAN (Local Area Network), a WAN (Wide Area Network), a VPN (Virtual Private Network), a communication network that uses a general public line such as the Internet in part or in whole, a mobile phone communication network, or a combination of these. Note that the network may also be a wireless communication network such as Wi-Fi (registered trademark) or 5G (Generation).

[0034] The facility layout adjustment system 100 includes an input device 110, an output device 120, a storage device 130, and an arithmetic device 140. The input device 110 and the output device 120 correspond to the above-mentioned "input device" and "output device," respectively. The storage device 130 corresponds to the above-mentioned "storage unit" or "external storage device." The arithmetic device 140 corresponds to the above-mentioned "processing unit" or "processor."

[0035] <Storage section description> The storage device 130 includes a facility information storage unit 131 , a position and orientation constraint information storage unit 132 , an objective function storage unit 133 , a decision variable storage unit 134 , a layout storage unit 135 , and a robot trajectory storage unit 136 .

[0036] FIG. 2 is a diagram showing an example of facility information stored in the facility information storage unit 131. As shown in FIG.

[0037] The facility information includes the name, type, position and orientation, parent facility, and shape of the facility.

[0038] As the name of the facility, a number or a character string unique to the facility is stored in the facility ID 131a.

[0039] Furthermore, the name 131b, which is character string information, may be stored as the name of the facility.

[0040] Further, type 131c is stored as the type of equipment. Examples of equipment types include robot, work target object, target point, work-related object, and peripheral object. Work target object refers to a workpiece or tool holder on which the robot performs work such as grasping, machining, or tool change. Target point refers to the position and posture of the robot's hand when working on the work target object. Work-related object refers to an object that is not the work target object but is related to the placement of the work target object. Peripheral object refers to an object that is not the work target object and is not related to the placement of the work target object.

[0041] Generally, there are cases where position and orientation constraints arise between the above objects. For example, when a work target object is placed on or fixed to a work-related object, the position and orientation of the work target object are constrained by the position and orientation of the work-related object. Alternatively, when a robot's hand grasps or processes a target point, the position and orientation of the robot's hand are constrained by the position and orientation of the target point.

[0042] For example, in a task in which a robot surrounded by a fence uses its hand to pick up and lift a workpiece from a conveyor, the workpiece is the work target object, the gripping point on the workpiece is the target point, the conveyor carrying the workpiece is the work-related object, and the fence is the peripheral object. As another example, when a robot uses a welding gun to arc weld a metal plate fixed to a jig, the metal plate is the work target object, the multiple points that make up the welding path on the metal plate are each target points, and the jig is the work-related object. As another example, when a robot uses a camera in its hand to visually inspect products on a pallet placed on a workbench from multiple viewpoints in a darkroom, the product is the work target object, the pallet and workbench are work-related objects, the darkroom is the peripheral object, and all of the camera orientations relative to the product during inspection are target points.

[0043] The position of the equipment is stored as x131d, y131e, z131f as values ​​in the Cartesian coordinate system, and the orientation is stored as roll131g, pitch131h, yaw131i as rotation around the axes of the Cartesian coordinate system. The orientation may also be stored using other representation methods such as quaternions or rotation matrices.

[0044] Also, a parent equipment ID 131j indicating the parent equipment, which is the parent of the coordinate system, is stored. Here, a parent-child relationship between the coordinate system of one equipment and the coordinate system of another equipment indicates that the two coordinate systems are different and that a transformation matrix is ​​provided for converting coordinate values ​​between the two coordinate systems. If there is no parent equipment, this can be left blank or a reserved word such as "world" can be used to indicate that there is no parent equipment and that the coordinate system is the world coordinate system. For example, in this embodiment, the parent equipment of the robot is left blank, so the coordinate system of the robot is the world coordinate system.

[0045] Furthermore, a set of points on the surface of a triangular mesh and vectors representing the inside and outside of the facility is stored in shape 131k as the shape of the facility. As a general three-dimensional shape format, shape 131k may be stored as a mathematical representation of points, vectors, and curves in three-dimensional space, such as a wireframe or quadrilateral mesh. If type 131c is a target point, either nothing is input to shape 131k or only the coordinates of the point representing the origin are input.

[0046] FIG. 3 is a diagram showing an example of the position and orientation constraint information stored in the position and orientation constraint information storage unit 132. As shown in FIG.

[0047] The position and orientation constraint information stores constraints on parameters that represent the position and orientation of each piece of equipment. A number or character string that distinguishes the piece of equipment is stored in equipment ID 132a. This equipment ID 132a corresponds to equipment ID 131a. The type 131c of the equipment information indicated by equipment ID 132a is referenced, and the value is stored in type 132f. Although type 132f is provided for the sake of explanation, in an embodiment, the equipment information storage unit 131 may be referenced each time. The type 132f of the position and orientation constraint information is a work target object or a work-related object, but may also be a target point or a peripheral object, as will be described later.

[0048] Furthermore, the contents of the position and orientation parameters are stored in position and orientation 132b. The position and orientation parameters can be expressed in the same way as the position and orientation of the equipment, or in another expression method that is mutually convertible. Furthermore, when a parameter can only take on a certain constant as a constraint, that constant is stored in constant constraint 132c.

[0049] The type 132f may be a target point. For example, when a robot grips the parallel surfaces of a workpiece with a two-jaw gripper, it can be expressed that the gripping point (i.e., the target point) has degrees of freedom on the parallel surfaces, and that the angle of the gripper also has degrees of freedom along the parallel surfaces. By having the positions and postures of the gripper and workpiece as decision variables, the number of decision variables increases compared to when the gripping posture is fixed, thereby expanding the search range. For example, if the objective function input by the user is to minimize the cycle time, there is a possibility that a solution with a shorter cycle time will be found.

[0050] The type 132f may be a peripheral object. For example, it can express that there is a degree of freedom to move a fence surrounding a robot (i.e., a peripheral object) several tens of centimeters away from the robot, making it possible to place a tool stand between the fence and the robot. This increases the number of decision variables compared to when the positions and orientations of peripheral objects are fixed, thereby expanding the search range.

[0051] As a constraint, either or both of an upper limit value and a lower limit value of a parameter may be stored in the conditional constraint 132d. For example, when a pallet can be moved on a workbench, the range of movement of the pallet can be expressed by the length and width of the tabletop. This allows the pallet to be moved within a range where it will not fall off the workbench and placed in a position that is easy for the robot to work with.

[0052] The constant constraint 132c or the conditional expression constraint 132d may refer to parameters of other equipment as variables, and zero or more of the character string of the variable, the equipment ID of the referenced equipment, and the parameters of the position and orientation of the referenced equipment may be stored in the reference variable 132e. For example, the position of a conveyor when the tip of the conveyor must contact a workbench can be expressed as a constant by referencing the position of the workbench.

[0053] Here, the example shown in Fig. 3 will be described. In the example of Fig. 3, the equipment ID 132a is 3 and the type 132f is a work target object. This indicates that the position and orientation constraint information shown in Fig. 3 relates to a work target object (i.e., a workpiece). In this case, it is identified from the equipment information in Fig. 2 that the parent equipment of the workpiece is a conveyor (i.e., the workpiece that is the target of the position and orientation constraint is a workpiece placed on a conveyor).

[0054] As the position and orientation 132b, x, y, z, roll, pitch, and yaw are stored, and of these, z, roll, and pitch are set as constant constraints 132c. Specifically, roll and pitch are set as roll=0 and pitch=0, respectively. This indicates that when a workpiece is placed on the conveyor, its roll (i.e., rotation around the x-axis) and pitch (i.e., rotation around the y-axis) are constrained to constant values ​​(both 0 in this example).

[0055] On the other hand, z is set as z = z2 + 10. Here, z indicates the z coordinate value in the workpiece's coordinate system, and z2 indicates the z coordinate value in the coordinate system of the conveyor whose equipment ID is 2. This is indicated by [z2,2,z] in reference variable 132e. Furthermore, z = z2 + 10 indicates that the z coordinate value in the workpiece's coordinate system is equal to the z coordinate value in the conveyor's coordinate system plus 10. This indicates that, because the workpiece is placed on the conveyor, the workpiece's position in the z axis direction is constrained by the conveyor's position in the z axis direction. In other words, the workpiece's position in the z axis direction depends on the conveyor's position in the z axis direction. In other words, the workpiece's z coordinate value is not independent of the conveyor's z coordinate value; once the conveyor's z coordinate value is determined, the workpiece's z coordinate value is also determined accordingly.

[0056] As a result, the roll and pitch values ​​of the workpiece become constants in the optimization calculation, and the z coordinate value does not need to be treated as an independent variable, thereby reducing the number of variables subject to the optimization calculation and, as a result, the amount of calculation required.

[0057] Conditional constraints 132d are set for x, y, and yaw. Specifically, for x, x2≦x and x≦x2+1000 are set. Here, x indicates the x-coordinate value in the workpiece's coordinate system, and x2 indicates the x-coordinate value in the conveyor's coordinate system. This is indicated by [x2,2,x] in reference variable 132e. Furthermore, x2≦x and x≦x2+1000 indicate that the workpiece's coordinate value x in the x-axis direction falls within the range of the conveyor's coordinate values ​​x2 to x2+1000 in the x-axis direction. In this example, the x-axis direction is the direction in which the conveyor transports the workpiece, and 1000 indicates the length of the range in which the conveyor can transport the workpiece.

[0058] Similarly, for y, y2≦y and y≦y2+500 are set. Here, y represents the x-coordinate value in the workpiece's coordinate system, and y2 represents the y-coordinate value in the conveyor's coordinate system. This is indicated by [y2,2,y] in reference variable 132e. y2≦y and y≦y2+500 indicate that the workpiece's y-axis coordinate value y falls within the range of the conveyor's y-axis coordinate values ​​y2 to y2+500. In this example, the y-axis direction is the width direction of the conveyor, and 500 represents the length of the widthwise range in which workpieces can be placed on the conveyor.

[0059] As described above, by limiting the range of values ​​that x and y can take based on their positional relationship with the conveyor, positions that are not actually possible in the optimization calculations can be excluded from the calculations, preventing an unnecessary increase in the amount of calculations.

[0060] For yaw, -3.14≦yaw and yaw≦3.14 are set. This indicates that there are no constraints on the workpiece's rotation around the z-axis (i.e., yaw), and any orientation between -180° and +180° can be taken. If there were no constraints, for example, the workpiece's yaw could be set to 540°, but this is the same as 180°. Therefore, by not allowing such values ​​and limiting it to -180° to +180°, an unnecessary increase in the amount of calculations required for optimization calculations can be prevented.

[0061] Returning to FIG. 1, the objective function storage unit 133 stores the objective function for optimization calculation as a string of calculation formulas, and stores binary data such as Boolean indicating whether the objective function should be maximized or minimized. The objective function may be, for example, a function that evaluates the efficiency, cost, or safety of the robot's operation. Specific examples of objective functions include minimizing the cycle time or minimizing the load on the robot joints.

[0062] FIG. 4 is a diagram showing an example of decision variables stored in the decision variable storage unit 134. As shown in FIG.

[0063] The decision variable storage unit 134 stores decision variables 134a for optimization calculation, reference destination facility IDs 134b of the decision variables, and reference destination variables 134c.

[0064] 4, when X1, 1, and x are stored as decision variable 134a, referenced facility ID 134b, and referenced variable 134c, respectively, decision variable X1 in the optimization calculation corresponds to x in the coordinate system of the robot whose facility ID is 1. Similarly, when X2, 2, and x are stored as decision variable 134a, referenced facility ID 134b, and referenced variable 134c, respectively, decision variable X2 in the optimization calculation corresponds to x in the coordinate system of the conveyor whose facility ID is 2. Because the optimization calculation handles values ​​such as x, y, and z in multiple coordinate systems, new decision variables are defined in this way to distinguish between them and are associated with referenced variables.

[0065] FIG. 5 is a diagram showing an example of a robot trajectory stored in the robot trajectory storage unit 136. As shown in FIG.

[0066] The robot trajectory storage unit stores a robot joint ID 136a and a joint change amount 136b, which represents the joint movement as a list of discrete values. It may also include a timestamp 136c, which represents a list of times corresponding to the discrete values ​​of the joint movement. It may also include a joint velocity 136d, which corresponds to the discrete values ​​of the joint movement.

[0067] Returning to Fig. 1, the layout storage unit 135 stores the position and orientation of each piece of equipment. The format of the position and orientation in the layout storage unit is the same as the format of the position and orientation in the equipment information, and therefore is not shown in the figure.

[0068] <Description of processing section> Returning to Fig. 1, the calculation device 140 includes a position and attitude decision variable selection unit 141, a coordinate transformation calculation unit 142, a decision variable optimization unit 143, a trajectory calculation unit 144, an interference adjustment unit 145, and a target point selection unit 146.

[0069] The position and orientation decision variable selection unit 141 selects decision variables using the position and orientation parameters of each piece of equipment stored in the equipment information storage unit 131 as decision variable candidates, and uses the position and orientation constraint information stored in the position and orientation constraint information storage unit 132. The selection method will be described later. The selected decision variables are stored in the decision variable storage unit 134.

[0070] The coordinate transformation calculation unit 142 calculates a matrix for transforming coordinates from the robot coordinates to the target point using the position and orientation of each piece of equipment and information on the parent equipment stored in the equipment information storage unit 131 and the decision variables stored in the decision variable storage unit 134.

[0071] FIG. 8 is a diagram showing an example of coordinate transformation from the robot coordinate to the target point using the decision variables.

[0072] As a specific example, consider a robot 811, a conveyor 813 as an example of a work-related object, a workpiece 815 on the conveyor 813 as an example of a work target object, and a target point 817 on the workpiece as an example of a target point. A coordinate transformation matrix 802 (P robot-conv ), and a coordinate transformation matrix 804 (P conv-work ), and a coordinate transformation matrix 806 (P work-grip ) and 806 in order to obtain a coordinate transformation matrix 808 from the robot coordinate system to the target coordinate system. When the coordinate transformation matrices 802, 804, and 806 are expressed by parameters replaced with constants by the decision variables and constant constraints, the coordinate transformation matrix 808 (P robot-grip ) the only variable is the decision variable 809.

[0073] For example, a coordinate transformation matrix 804 (P conv-work) originally has six decision variables: x, y, z, roll, pitch, and yaw. However, as shown in Figure 3, roll and pitch are replaced by constants, and z is replaced by a function that references the z coordinate value in the coordinate system of the parent equipment, the conveyor. This reduces the number of variables to three. x, y, and yaw remain variables, but the range of values ​​they can take is restricted.

[0074] Similarly, the coordinate transformation matrix 802 (P robot-conv ) and coordinate transformation matrix 806(P work-grip ) are also reduced by replacing them with constants or functions of other variables, resulting in a coordinate transformation matrix 808 (P robot-grip ) the number of decision variables 809 is reduced to 10.

[0075] Returning to Fig. 1, the decision variable optimization unit 143 optimizes the decision variables stored in the decision variable storage unit 134 for the objective functions stored in the objective function storage unit 133, and stores the position and orientation of each piece of equipment in the layout storage unit 135 using the optimized decision variables, equipment information, and position and orientation constraint information. Because the objective function is related to the robot's trajectory, the trajectory calculation unit 144 plans a trajectory for each candidate decision variable.

[0076] At this time, since the decision variables are constrained by the position and attitude constraint information, the trajectory calculation unit 144 plans a trajectory based on the variables of the position and attitude within the range constrained in accordance with the position and attitude constraint information. The decision variable optimization unit 143 evaluates the objective function based on the trajectory. As described above, variables replaced by constants are excluded from the decision variables, variables replaced by functions that refer to other variables do not need to be treated as independent variables, and values ​​outside the range of variables with a defined range can be excluded from the calculation, thereby reducing the amount of calculation required for optimization.

[0077] As the optimization method can be a general method such as Newton's method or gradient descent method, a detailed description will be omitted.

[0078] The trajectory calculation unit 144 uses IK (Inversed Kinematics) to determine the robot posture approaching the target point from the matrix of coordinate transformation from the robot coordinates to the target point calculated by the coordinate transformation calculation unit 142, and calculates the trajectory from one target point to another. A general method such as RRT (Rapidly-exploring Random Tree) can be used for the trajectory calculation, so a detailed description will be omitted.

[0079] The interference adjustment unit 145 determines interference between pieces of equipment in the decision variables by recursively tracing the shape information of the equipment information, the decision variables, the position and orientation information, and the information of the parent equipment, and converting the coordinates.If interference exists, the candidate for that decision variable is discarded from the candidates and the decision variable optimization is performed again.

[0080] Furthermore, if interference exists, the objects may be moved in the following order in a direction that eliminates the interference within the range of the position and orientation constraints: peripheral objects, task-related objects, and task target objects. In this case, the movement of the peripheral objects is stored in the facility information storage unit 131. In the case of movement of the task-related object or task target object, the candidate decision variables are overwritten. For example, if a conveyor, which is a task-related object, is interfering with a fence, which is a peripheral object, and moving the fence within the range of the position and orientation constraints eliminates the interference with the conveyor, then by moving the fence, a feasible layout can be realized without affecting the robot trajectory.

[0081] When multiple target points in the equipment information storage unit 131 share a common parent equipment ID and are located at a distance equal to or less than a certain value in terms of three-dimensional spatial distance or robot posture spatial distance, the target point selection unit 146 adds a constant position / posture constraint that references the position / posture of another target point to a parameter of the target point that does not have a constant position / posture constraint. For example, when multiple screws are to be tightened to assemble a part, at the target point of the screw tightening operation, the driver is perpendicular to the screw hole, but there is a degree of freedom to rotate around the screw axis. If the screw holes are close to each other, the robot screw tightening posture will also be close. Therefore, by determining the position / posture of a target point for a representative screw hole, it is highly likely that similar target points can be used for other screw holes. Therefore, rather than using degrees of freedom for all screw holes as decision variables, adding position / posture constraint information that allows for rotational freedom only for the target point of a representative screw hole and that references the rotation around the screw axis of other screw holes can reduce the number of decision variables and simplify calculations.

[0082] <Main flowchart explanation> FIG. 6 is a flowchart showing an example of the equipment layout adjustment process.

[0083] First, the input device 110 acquires facility information from the user (step S100). The facility information is stored in the facility information storage unit 131.

[0084] Next, the input device 110 acquires position and orientation constraint information (step S200). At this time, for equipment from among the equipment stored in the equipment information storage unit 131, for which position and orientation constraint information could not be acquired, position and orientation constraint information is created by inputting position and orientation 131d to 131i into constant constraint 132c. For example, if position and orientation constraint information for a target point could not be acquired, position and orientation constraint information is created that indicates that movement from the position and orientation of the target point input as equipment information is not possible. The position and orientation constraint information is stored in the position and orientation constraint information storage unit 132.

[0085] Furthermore, in step S200, the target point selection unit 146 may acquire one representative target point from a plurality of target points that are located at a distance equal to or less than a certain distance and have the same work target object as their parent equipment ID, by user input, or may automatically select the representative target point based on the work order or distance, and may add a position and orientation constraint that references the position and orientation of the representative target point so that all position and orientation constraints of the other target points become constant constraints.

[0086] Next, the input device 110 acquires an objective function (step S300). The objective function is stored in the objective function storage unit 133.

[0087] Next, the position and orientation decision variable selection unit 141 selects a decision variable, which is then stored in the decision variable storage unit 134 (step S400). Details will be described later.

[0088] Next, the decision variable optimization unit 143 optimizes the decision variables for the objective function (step S500). The processing of the decision variable optimization unit 143 has already been explained, so an explanation thereof will be omitted here.

[0089] Next, interference adjustment unit 145 determines interference between each piece of equipment, and if interference is present, returns to step S500. If interference is not present, proceed to step S800 (step S600). If interference is present in step S600, interference adjustment unit 145 may move the interfering equipment in a direction that eliminates the interference, and return to step S500 (step S700). The processing by interference adjustment unit 145 has already been explained, so explanation will be omitted here.

[0090] Next, the position and orientation of each piece of equipment is stored in the layout storage unit 135, and the robot trajectory is stored in the robot trajectory storage unit 136 (step S800). The output device of the equipment layout adjustment system 100 may display a screen showing the layout of each piece of equipment based on the stored position and orientation of each piece of equipment, and a screen showing the robot trajectory in that layout. Examples of the displayed screens will be described later (see FIG. 9).

[0091] <Decision variable selection flowchart> FIG. 7 is a flowchart showing an example of the decision variable selection process (step S400).

[0092] The position and orientation decision variable selection unit 141 selects the parameters of the position and orientation of each piece of equipment stored in the equipment information storage unit 131 as candidates for decision variables (step S410).

[0093] Next, the position and attitude determination variable selection unit 141 starts a loop for each piece of equipment stored in the equipment information storage unit 131 (step S420).

[0094] Next, the position and orientation determination variable selection unit 141 starts a loop of the position and orientation parameter j of the position and orientation constraint information stored in the position and orientation constraint information storage unit 132 (step S430).

[0095] Next, the position and orientation determination variable selection unit 141 determines whether the parameter j has a constant constraint (step S440). If it does not have a constant constraint, the process returns to step S430.

[0096] If the parameter j has a constant constraint (step S440: Yes), the position and orientation decision variable selection unit 141 determines whether the parameter j is present in the decision variable candidates (step S450). If not, the process returns to step S430.

[0097] If the parameter j is present in the candidates for the decision variables (step S450: Yes), the position and orientation decision variable selection unit 141 excludes the parameter j from the candidates for the decision variables (step S460), and then returns to step S430.

[0098] Next, after the loop of S420 and S430 is completed, the parameters remaining as candidates for the decision variables are stored as decision variables in the decision variable storage unit 134 (step S470).

[0099] 3, the variables roll and pitch of the workpiece position and orientation are constants, so they are excluded from the decision variables (step S460). The remaining variables x, y, z, and yaw are output as decision variables (step S470).

[0100] <Explanation of output display example> FIG. 9 is a diagram showing an example of a display screen output by the output device 120. As shown in FIG.

[0101] The display screens output by the output device 120 include a screen 120a displayed to receive data input from the user via the input device 110, a table 120b of the facility layout output by the output device 120, and a display screen 120c of the layout and robot trajectory. The display screens may also include an objective function comparison result screen 120d.

[0102] For example, the layout and robot trajectory display screen 120c displays the layout of the robot, conveyor, etc., and the robot trajectory calculated for that layout. The user may operate a button to display the initial values ​​to display the initial layout and trajectory, or operate a button to display the optimized results to display the optimized layout and trajectory. The robot trajectory may also be displayed as a video of the robot moving on the screen. The user can operate the screen to display the posture of the robot and workpiece at any time. By referring to this, the user can compare the cost benefits of reusing existing equipment and purchasing new equipment, or the cost benefits of not modifying the current equipment and allowing modifications to the current equipment. For example, if a conveyor and robot are already fixed in a factory, the cost of fixing the conveyor in the current position and the benefits of allowing freedom in the conveyor's position and posture, assuming the conveyor is re-fixed to the floor, can be compared to consider the cost of re-fixing the conveyor and the benefits it has on the objective function.

[0103] The layout and robot trajectory display screen 120c may also include a button 120e for comparing the results. When the user operates button 120e, the initial value of the objective function calculated based on the initial arrangement of the robot, conveyor, etc. is displayed, along with the objective function calculated based on the optimized arrangement ("Result 1" in the example of FIG. 9).

[0104] The above is the configuration of the equipment layout adjustment system 100 according to this embodiment. The equipment layout adjustment system 100 can narrow down candidates for layout decision variables and reduce the amount of calculations while considering not only the work target but also the positions and orientations of objects related to the work target. In other words, it is possible to provide a technology for easily adjusting the layout of equipment that includes robots.

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

[0106] (1) A facility layout adjustment system (e.g., facility layout adjustment system 100) includes a calculation device (e.g., calculation device 140) and a storage device (e.g., storage device 130). The storage device holds position and orientation constraint information (e.g., position and orientation constraint information (FIG. 3) stored in a position and orientation constraint information storage unit 132) indicating constraints on the position and orientation of an object. The object includes at least a robot (e.g., robot 811), a work target object (e.g., work target object 815) that is the target of work performed by the robot, and a work-related object (e.g., The computing device includes a task-related object 813, for example, and, based on the position and posture constraint information, selects decision variables to be used in optimization calculation of an objective function that evaluates the operation of the robot from among variables that indicate the position and posture of the object (for example, step S400), calculates a trajectory of the robot based on the decision variables (for example, processing by the trajectory calculation unit 144 in step S500), and specifies values ​​of the decision variables so that the objective function is optimized based on the calculated trajectory of the robot (for example, processing by the decision variable optimization unit 143 in step S500).

[0107] This allows for easy adjustment of the layout of the facility including the robot.

[0108] (2) In the equipment layout adjustment system described in (1) above, the position and posture constraint information is stored by replacing, with constants, variables indicating the position and posture of the object that are constrained to predetermined values ​​due to relationships with other objects (e.g., roll and pitch in the example of FIG. 3), and the calculation device selects, as the decision variables, variables indicating the position and posture of the object other than the variables replaced with the constants (e.g., steps S440, S450, S460, S470).

[0109] This reduces the number of variables that are the subject of optimization calculations.

[0110] (3) In the equipment layout adjustment system described in (2) above, the position and attitude constraint information holds, among the variables indicating the position and attitude of the object, a variable (e.g., z in the example of FIG. 3) that depends on a variable indicating the position and attitude of another object due to a relationship with the other object, in a format that references the variable indicating the position and attitude of the other object.

[0111] This reduces the number of variables to be subjected to optimization calculations, thereby reducing the amount of calculations.

[0112] (4) In the equipment layout adjustment system described in (2) above, the position and posture constraint information holds, among the variables indicating the position and posture of the object, a range of variables (e.g., x, yaw in the example of Figure 3) that are constrained to a predetermined range of values ​​due to their relationship with other objects, the range of variables that are constrained due to their relationship with other objects.

[0113] This restricts the range of values ​​of the variables that are the subject of optimization calculations, thereby reducing the amount of calculations.

[0114] (5) In the equipment layout adjustment system described in (2) above, the position and posture constraint information further includes constraints on the position and posture of a target point of the robot's hand on the work object, and the arithmetic device selects, based on the position and posture constraint information, decision variables to be used in optimization calculations of a predetermined objective function from among variables indicating the positions and postures of the object and the target point.

[0115] This makes it possible to easily adjust the layout of the equipment including the robot, including the position and orientation of the target point on the work object.

[0116] (6) In the equipment layout adjustment system described in (5) above, when there are multiple target points on the work object and the distance between the multiple target points satisfies a predetermined condition, the position and posture constraint information holds variables indicating the positions and postures of target points other than a first target point among the multiple target points in a format that references a variable indicating the position and posture of the first target point.

[0117] This makes it possible to easily adjust the layout of the equipment including the robot even when there are multiple target points on the work object.

[0118] (7) In the facility layout adjustment system described in (1) above, the position and posture constraint information further includes constraints on the position and posture of a peripheral object (e.g., a fence, etc.) that does not fall under any of the robot, the work target object, and the work-related object, and the arithmetic device determines whether at least one of the robot, the work target object, and the work-related object will interfere with the peripheral object based on the value of the decision variable and the calculated robot trajectory (e.g., step S600), and if it is determined that there is interference, changes the position and posture of the peripheral object within the range of the constraints (e.g., step S700).

[0119] This allows for easy adjustment of the layout of the facility, including the placement of peripheral objects that are not directly related to the work.

[0120] (8) The facility layout adjustment system described in (1) above further includes an output device (e.g., output device 120), which outputs a screen (e.g., objective function comparison result screen 120d) displaying the value of the objective function calculated based on the initial value of the variable indicating the position and posture of the object and the optimized value of the variable.

[0121] This allows users to easily compare layouts and robot trajectories before and after optimization.

[0122] (9) The facility layout adjustment system described in (1) above further includes an output device, which outputs a screen (e.g., a layout and robot trajectory display screen 120c) displaying the position and posture of the object based on the initial values ​​and the optimized values ​​of variables indicating the position and posture of the object.

[0123] This allows the user to easily compare the values ​​of the objective function before and after optimization.

[0124] (10) In the facility layout adjustment system described in (1) above, the objective function includes at least one of a cycle time and a joint load of the robot.

[0125] This allows the layout of the equipment to be adjusted to minimize cycle times and / or joint loads.

[0126] 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 to provide a better understanding of the present invention, and are not necessarily limited to those including all of the described configurations. Furthermore, it is possible to replace part of the configuration of one embodiment with the configuration of another embodiment, or to add the configuration of another embodiment to the configuration of one embodiment. Furthermore, it is possible to add, delete, or replace part of the configuration of each embodiment with other configurations.

[0127] Furthermore, the above-described configurations, functions, processing units, processing means, etc. may be partially or entirely implemented in hardware, for example, by designing them as integrated circuits. The above-described configurations, functions, etc. may also be implemented in software, with a processor interpreting and executing a program that implements each function. Information such as the programs, tables, and files that implement each function can be stored in storage devices such as nonvolatile semiconductor memory, hard disk drives, and solid-state drives (SSDs), or in computer-readable, non-transitory data storage media such as IC cards, SD cards, and DVDs.

[0128] In addition, the control lines and information lines shown are those that are considered necessary for the explanation, and not all control lines and information lines in the product are necessarily shown. In reality, it can be considered that almost all components are interconnected.

[0129] Furthermore, the technical elements of the above-described embodiments may be applied independently, or may be applied by dividing them into multiple parts such as program parts and hardware parts. [Explanation of symbols]

[0130] 100 Facility layout adjustment system 110 Input Device 120 Output Device 130 Storage device 131 Equipment information storage section 132 Position and orientation constraint information storage unit 133 Objective function memory section 134 Decision variable memory section 135 Layout memory unit 136 Robot Trajectory Memory Unit 140 Arithmetic equipment 141 Position and Attitude Determination Variable Selection Unit 142 Coordinate transformation memory unit 143 Decision Variable Optimization Unit 144 Orbit calculation section 145 Interference adjustment unit 146 Target point selection section

Claims

1. A facility layout adjustment system, A computing device and a storage device, the storage device holds position and orientation constraint information indicating constraints on the position and orientation of an object; the objects include at least a robot, a work target object that is an object to be worked on by the robot, and a work-related object that constrains the position and orientation of the work target object; The computing device selecting, based on the position and orientation constraint information, decision variables to be used for optimization calculation of an objective function for evaluating the operation of the robot, from among variables indicating the position and orientation of the object; calculating a trajectory of the robot based on the decision variables; and determining values ​​of the decision variables so that the objective function is optimized based on the calculated robot trajectory.

2. 2. The facility layout adjustment system according to claim 1, The position and orientation constraint information is stored by replacing, with a constant, a variable that is constrained to a predetermined value due to a relationship with another object, among variables that indicate the position and orientation of the object; The equipment layout adjustment system is characterized in that the arithmetic device selects, as the decision variables, variables other than the variables replaced with the constants from among the variables indicating the position and orientation of the object.

3. 3. The facility layout adjustment system according to claim 2, the position and orientation constraint information holds, among variables indicating the position and orientation of the object, variables that depend on variables indicating the position and orientation of other objects due to their relationships with the other objects, in a format that references the variables indicating the positions and orientations of the other objects.

4. 3. The facility layout adjustment system according to claim 2, the position and attitude constraint information holds, for variables indicating the position and attitude of the object, a range of values ​​constrained by relationships with other objects, the range of values ​​constrained by relationships with other objects.

5. 3. The facility layout adjustment system according to claim 2, the position and orientation constraint information further includes constraints on the position and orientation of a target point of the hand of the robot on the work object; the calculation device selects, based on the position and attitude constraint information, decision variables to be used in optimization calculations of a predetermined objective function from among variables indicating the positions and attitudes of the object and the target point.

6. 6. The facility layout adjustment system according to claim 5, an equipment layout adjustment system, characterized in that, when there are multiple target points on the work target object and the distance between the multiple target points satisfies a predetermined condition, the position and posture constraint information holds variables indicating the positions and postures of target points other than a first target point among the multiple target points in a format that references a variable indicating the position and posture of the first target point.

7. 2. The facility layout adjustment system according to claim 1, the position and orientation constraint information further includes constraints on the positions and orientations of the robot, the work target object, and a peripheral object that does not fall under any of the work-related objects; the calculation device determines whether at least one of the robot, the work target object, and the work-related object will interfere with the peripheral object based on the values ​​of the decision variables and the calculated robot trajectory, and if interference is determined, changes the position and posture of the peripheral object within the range of the constraints.

8. 2. The facility layout adjustment system according to claim 1, further comprising an output device; The output device outputs a screen displaying the value of the objective function calculated based on the initial value and the optimized value of the variable indicating the position and orientation of the object.

9. 2. The facility layout adjustment system according to claim 1, further comprising an output device; The output device outputs a screen displaying the position and orientation of the object based on the initial values ​​and the optimized values ​​of variables indicating the position and orientation of the object.

10. 2. The facility layout adjustment system according to claim 1, The facility layout adjustment system, wherein the objective function includes at least one of the cycle time and joint load of the robot.

11. An equipment layout adjustment method executed by an equipment layout adjustment system, comprising: The facility layout adjustment system includes a computing device and a storage device, the storage device holds position and orientation constraint information indicating constraints on the position and orientation of an object; the objects include at least a robot, a work target object that is an object to be worked on by the robot, and a work-related object that constrains the position and orientation of the work target object; The equipment layout adjustment method includes: a step in which the arithmetic device selects, based on the position and orientation constraint information, decision variables to be used in optimization calculation of an objective function that evaluates the operation of the robot, from among variables indicating the position and orientation of the object; a step in which the computing device calculates a trajectory of the robot based on the decision variables; and a step in which the calculation device specifies values ​​of the decision variables based on the calculated robot trajectory so that the objective function is optimized.

Citation Information

Patent Citations

  • Robot cell system design device, method, and program

    JP2022134604A