Robot unit system design device, method, and program

By acquiring the specifications, shape, and operational information of the robot unit system, configuration, posture, and path planning are performed, solving the problem of excessive computation time in existing technologies and achieving the effect of quickly determining the optimal configuration and actions.

CN116940449BActive Publication Date: 2026-05-15OMRON CORP
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
OMRON CORP
Filing Date
2022-01-19
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

Existing technologies require a significant amount of manual trial and error and time to achieve the system's motion time target in robot unit system design, and metaheuristic algorithms result in excessively long computation times.

Method used

By acquiring the specifications, shape, and operational information of the robot and its components, configuration planning, posture planning, and path planning are performed. The evaluation department selects the optimal configuration, reducing computation time.

Benefits of technology

It enables the rapid determination of the optimal configuration and actions of the robot unit system within practical time, reducing the design time required.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116940449B_ABST
    Figure CN116940449B_ABST
Patent Text Reader

Abstract

The acquisition unit (32) acquires specification information of a robot that is a constituent element of a robot cell system, component information including shape information of a component other than the robot that is a constituent element of the robot cell system, and work information related to work performed by the robot, the configuration planning unit (34) calculates a candidate for configuration of the robot and the component in the robot cell system based on the specification information, the component information, and the work information, the posture planning unit (36) calculates a set of combinations of a start posture of a start point and an end posture of an end point of each motion of the robot for each candidate for configuration, the path planning unit (38) calculates a set of paths from the start posture to the end posture for each combination of the start posture and the end posture for each candidate for configuration, and the evaluation unit (40) selects an optimal configuration from the candidates for configuration based on the paths.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to a robot unit system design device, a robot unit system design method, and a robot unit system design procedure. Background Technology

[0002] In the design of robotic unit systems, to ensure that the system's motion time falls within the target time, it is necessary to appropriately design the robot, the configuration of its components, and the robot's movements. A technique to support the design of such robotic unit systems is proposed.

[0003] For example, a layout setting device has been proposed for setting the arrangement of a robotic arm and peripheral devices within a robot's workspace (see Patent Document 1: Japanese Patent Application Publication No. 2018-20410). The device described in Patent Document 1 determines the teaching point through which the reference part of the robotic arm passes, corresponding to a specific action of the robotic arm accessing the peripheral devices. Furthermore, the device determines the initial layout of the robotic arm and peripheral devices, and updates the layout by moving each device from the initial layout using a metaheuristic algorithm. Additionally, the device sets the layout in both the initial and updated layouts using an evaluation value related to the adaptability to specific actions, thus determining the optimal layout. Summary of the Invention

[0004] The technical problem that the invention aims to solve

[0005] In the current state of robot unit system design, the time required for the system to reach the target action time is determined by human trial and error in configuring the robot and its components, as well as the robot's actions. This process requires a significant amount of time and effort.

[0006] Furthermore, in the technology described in the aforementioned Patent Document 1, the layout is updated through a metaheuristic algorithm, which requires a comprehensive evaluation of the large number of configuration patterns and the patterns of robot movements, resulting in longer computation time.

[0007] This application is made in view of the above points and its purpose is to reduce the time required for designing unit systems that include robots as constituent elements.

[0008] Solutions for solving technical problems

[0009] To achieve the above objectives, the robot unit system design apparatus according to this application is configured to include: an acquisition unit that acquires specification information of a robot that is a component of the robot unit system, component information including shape information of components other than the robot that are components of the robot unit system, and operation information related to the operation performed by the robot; a configuration planning unit that calculates one or more candidate configurations of the robot and the components in the robot unit system based on the specification information, the component information, and the operation information; a posture planning unit that calculates a set of combinations of start postures and end postures of each action of the robot for each candidate configuration based on the specification information, the component information, and the operation information; a path planning unit that calculates a set of paths from the start posture to the end posture for each combination of the start posture and the end posture for each candidate configuration based on the specification information, the component information, and the operation information; and an evaluation unit that selects the optimal configuration from the candidate configurations based on the paths.

[0010] Alternatively, the evaluation unit may calculate the path cost associated with the path for each candidate configuration and select the candidate configuration with the highest evaluation based on the path cost as the optimal configuration.

[0011] Alternatively, the configuration planning unit may calculate the configuration cost associated with the configuration for each of the robot and the component configuration patterns, and select one or more patterns as candidates for the configuration in descending order of the evaluation shown by the configuration cost, or select one or more patterns as candidates for the configuration whose configuration cost meets predetermined conditions.

[0012] Alternatively, the configuration cost may be based on at least one of the following: the distance between components, the area or volume of the region where the robot and the components are configured, the distance between obstacles and the components, and the operability of the robot.

[0013] Alternatively, the posture planning unit may select, for each action, the combination of the start and end postures corresponding to the position and posture of the robot's hand when accessing the component, the combination with the highest evaluation related to the posture cost of the robot's action time required for the task.

[0014] Alternatively, the posture planning unit may also use gripping information that shows the relative relationship between the workpiece held by the robot's hand and the hand in the component to calculate the start posture and the end posture.

[0015] Alternatively, the robot unit system design device may be configured to further include a handling planning unit, which calculates the handling information based on the specification information, the component information, and the operation information.

[0016] Alternatively, the acquisition unit may also acquire user-specified restriction information. When the restriction information associated with the configuration is acquired as the restriction information, the configuration planning unit selects a candidate configuration from the configuration patterns of the robot and the components that satisfy the restriction information. When the restriction information associated with the attitude is acquired as the restriction information, the attitude planning unit calculates a set of combinations of start and end attitudes that satisfy the restriction information. When the restriction information associated with the path is acquired as the restriction information, the path planning unit calculates a set of paths that satisfy the restriction information.

[0017] Alternatively, the limiting information may include at least one of the following: the positional relationship between components, the non-configurable area of ​​a component, the specified position of a configured component, the gap relative to the component, the specified posture, and the specified path.

[0018] Alternatively, the robot unit system design device may be configured to further include a determination unit that determines the appropriateness of the planning in each of the configuration planning unit, the posture planning unit, and the path planning unit.

[0019] Alternatively, the determination unit may prompt the user with the determination result if it determines that the suitability of the plan is not met.

[0020] Alternatively, the configuration planning unit, the attitude planning unit, and the path planning unit may each stop processing if the determination unit determines that the suitability is not met.

[0021] Alternatively, the determination unit may determine that the suitability is satisfied in the following situations: when the component can be accommodated in the configurable area among the candidates for the configuration planned by the configuration planning unit, and when the configuration cost indicating the suitability of the configuration reaches a threshold or higher; when the start posture and the end posture planned by the posture planning unit do not interfere with other components or obstacles, and when the difference between the start posture and the end posture is below a threshold; when the path can be calculated by the path planning unit, and when the robot's motion time required for the operation is below a predetermined value.

[0022] Alternatively, the acquisition unit may also acquire selection information and termination conditions. The selection information selects an executable planning mode aimed at obtaining a solution and an optimal planning mode aimed at obtaining the desired solution. The termination condition corresponds to the selected executable planning mode or the optimal planning mode. The robot unit system design device is configured to further include a control unit, which performs control such that the configuration planning unit calculates a candidate configuration different from the previous one. The posture planning unit and the path planning unit repeatedly perform the processing, and the evaluation unit selects the optimal configuration with the highest evaluation indicated by the path cost from the optimal configurations obtained in each repeated processing as the final configuration, until the termination condition is met.

[0023] Alternatively, when the optimal planning mode is selected, the control unit may, in each repeated process, present the configuration with the highest evaluation based on the current path cost to the user and receive an instruction from the user to stop the repeated process.

[0024] Furthermore, the robot unit system design method involved in this application is as follows: an acquisition unit acquires specification information of a robot that is a constituent element of the robot unit system, component information including shape information of components other than the robot that are constituent elements of the robot unit system, and operation information related to the operation performed by the robot; a configuration planning unit calculates one or more candidate configurations of the robot and the components in the robot unit system based on the specification information, the component information, and the operation information; a posture planning unit calculates a set of combinations of start postures and end postures of the robot at the start point and the end point for each of the candidate configurations based on the specification information, the component information, and the operation information; a path planning unit calculates a set of paths from the start posture to the end posture for each combination of the start posture and the end posture for each candidate configuration based on the specification information, the component information, and the operation information; and an evaluation unit selects the optimal configuration from the candidate configurations based on the paths.

[0025] The robot unit system design program involved in this application enables a computer to function as the following components: an acquisition unit, which acquires specification information of a robot that is a constituent element of the robot unit system, component information including shape information of components other than the robot that are constituent elements of the robot unit system, and operation information related to the operation performed by the robot; a configuration planning unit, which calculates one or more candidate configurations of the robot and the components in the robot unit system based on the specification information, the component information, and the operation information; a posture planning unit, which calculates a set of combinations of start postures and end postures of the robot at the start point and the end point for each of the candidate configurations based on the specification information, the component information, and the operation information; a path planning unit, which calculates a set of paths from the start posture to the end posture for each combination of the start posture and the end posture for each candidate configuration based on the specification information, the component information, and the operation information; and an evaluation unit, which selects the optimal configuration from the candidate configurations based on the paths.

[0026] Invention Effects

[0027] The robot unit system design apparatus, method, and procedure described in this application can reduce the time required to design unit systems that include robots as constituent elements. Attached Figure Description

[0028] Figure 1 This is a diagram used to illustrate the purpose of each implementation method and the inputs and outputs.

[0029] Figure 2 This is a diagram used to illustrate the purpose of each implementation method and the inputs and outputs.

[0030] Figure 3 This is a block diagram showing the hardware structure of the robot unit system design device.

[0031] Figure 4 This is a block diagram illustrating an example of the functional structure of the robot unit system design device according to the first embodiment.

[0032] Figure 5 It is a diagram used to illustrate control information.

[0033] Figure 6 This is a diagram used to illustrate an example of configuration costs.

[0034] Figure 7 This is a diagram used to illustrate an example of configuration costs.

[0035] Figure 8 This is a diagram used to illustrate an example of configuration costs.

[0036] Figure 9 This is a diagram illustrating an example of the configuration cost of adding job information.

[0037] Figure 10 This is a diagram schematically illustrating the operability of a robot as an example of configuration cost.

[0038] Figure 11 This is an example diagram showing an overview of the robot's posture.

[0039] Figure 12 This diagram illustrates the difference in motion time caused by the difference between the starting and ending postures.

[0040] Figure 13 This is a flowchart illustrating the design process of the robot unit system in the first embodiment.

[0041] Figure 14 This is a block diagram illustrating an example of the functional structure of the robot unit system design device according to the second embodiment.

[0042] Figure 15 This is a diagram used to illustrate an example of limiting information.

[0043] Figure 16 This is a diagram used to illustrate an example of restrictive information related to job information.

[0044] Figure 17 This is a diagram illustrating an example of the processing of the decision unit.

[0045] Figure 18 This is a diagram illustrating an example of the processing of the decision unit.

[0046] Figure 19 This is a diagram illustrating an example of the processing of the decision unit.

[0047] Figure 20 This is a diagram illustrating an example of the processing of the decision unit.

[0048] Figure 21 This is a diagram illustrating an example of the processing of the decision unit.

[0049] Figure 22 This is a diagram illustrating an example of the processing of the decision unit.

[0050] Figure 23 This is a flowchart illustrating the design process of the robot unit system in the second embodiment.

[0051] Figure 24 This is a block diagram illustrating an example of the functional structure of the robot unit system design device according to the third embodiment.

[0052] Figure 25 This is a flowchart illustrating the design process of the robot unit system in the third embodiment.

[0053] Figure 26 This is a block diagram illustrating an example of the functional structure of the robot unit system design device according to the fourth embodiment.

[0054] Figure 27 It is a diagram used to illustrate the generation of control information.

[0055] Figure 28 This is a flowchart illustrating the design process of the robot unit system in the fourth embodiment. Detailed Implementation

[0056] Hereinafter, an example of an embodiment of this application will be described with reference to the accompanying drawings. It should be noted that the same or equivalent constituent elements and some reference numerals are used in the various drawings. Furthermore, the dimensions and scale of the drawings have been exaggerated for ease of explanation and may differ from the actual scale.

[0057] <Purpose and Input / Output of Each Implementation Method>

[0058] First, the common objectives and inputs / outputs of the various embodiments described in detail below will be explained.

[0059] The robot unit system design apparatus involved in each implementation method is as follows: Figure 1 As shown, the configuration of the robot as a component of the unit system, the workpiece to be worked on, and the fixtures for manipulating the workpiece, as well as the robot's movements, are designed. Figure 1 In this example, the left covers, table, front and right covers, and finished works are considered as components. To perform these designs, the robot's specifications, component information including shape information, and task information related to the tasks the robot performs are input into the robot cell system design device. Details regarding each type of information will be described later.

[0060] In the technology described in Patent Document 1, when designing a robot unit system, a teaching point is set for the initial solution of the robot and component configuration, the robot's actions are calculated, and optimization is performed using cycle time and other factors as costs. Generally, the computational load for calculating the robot's actions is large; for example, calculating one action can take several seconds. Furthermore, the configuration design of the robot and components is an NP-hard problem, so optimization requires tens of thousands to hundreds of thousands of trial calculations. Therefore, as described in Patent Document 1, the method of calculating the robot's actions in a certain configuration and simultaneously evaluating the costs associated with those actions while performing optimization suffers from the technical problem that it is practically impossible to calculate the optimal solution in real time.

[0061] Furthermore, in robotic cell systems, to achieve high-speed and multi-functional operations, it is desirable to use multiple robots. For example, it is assumed that by having multiple robots perform tasks in parallel, or by using multiple robots to expand the overall movable area, the operation speed in the cell system can be increased. Additionally, there are cases where multi-functionality is achieved by having multiple robots jointly perform a single task. In such cases where the cell system includes multiple robots, the motion of each robot needs to be designed, thus requiring time for further optimization calculations. Therefore, constraints to prevent solution divergence and efficient optimal solution exploration methods become necessary.

[0062] In the following embodiments, such as Figure 2 As shown, in order to output optimized configuration information and robot motion information relative to input robot specification information, component information, and operational information, configuration planning, posture planning, and path planning are processed in stages. In configuration planning, a predetermined number of optimized configuration candidates are calculated based on a pattern of multiple configurations that the robot and components can adopt. Additionally, configuration planning optimizes configuration costs (on the order of μsec) that utilize robot maneuverability, for example. In posture planning, the robot's motion at the start point and the end point are optimized for each configuration candidate. In path planning, the path from the optimized start point to the end point for each configuration candidate is optimized.

[0063] The optimal solution for the attitude and the optimal solution for the path are uniquely determined relative to the configuration. Therefore, as... Figure 2 As shown, by processing configuration planning, posture planning, and path planning in stages, the number of executions for computationally expensive path planning can be reduced from tens of thousands to hundreds of thousands to just the number of configuration candidates. This allows for the calculation of the optimal configuration and robot actions within a practical timeframe.

[0064] Furthermore, in existing robot unit systems, there are instances where the robot's movements are not properly designed. One reason for this is that the start and end postures of the robot's movements are not properly planned. Therefore, as... Figure 2 As shown, attitude planning is performed between configuration planning and path planning. Based on the optimization of the start and end attitudes, path planning is executed, which can appropriately calculate the configuration and robot actions and reduce its computation time.

[0065] The following describes each embodiment in detail. It should be noted that in each embodiment, the robot, as a component of the robotic unit system, is a vertically articulated robot with a structure possessing the six degrees of freedom required for movement in three-dimensional space. More specifically, the robot is configured with multiple links connected together, and tools such as robotic arms are mounted on the robot's fingertips. The connection between the links is called a joint (joint). Furthermore, the reference position of the robot's fingertips (the side with the robotic arms or tools mounted) is called the TCP (Tool Center Point).

[0066] Furthermore, the robot's pose is determined by a sequence (θ) of the values ​​(rotation angles) of each joint from the first joint (joint J1) to the Nth joint (joint JN, where N is the number of joints in the robot), assuming the TCP is in a predetermined position (x, y, z) and pose (roll, pitch, yaw). J1 θ J2 , …, θ JN () indicates. It should be noted that in the following embodiments, the numbers from the base side of the robot toward the fingertip are sequentially designated as J1, J2, ... . Further, the path is obtained by arranging the robot's posture at each moment in a time sequence when the TCP moves from any starting point to the ending point. The information obtained by adding the velocity and acceleration information that cause the posture changes to this path is the motion information.

[0067] <First Implementation Method>

[0068] Figure 3 This is a block diagram illustrating the hardware structure of the robot unit system design apparatus 10 according to the first embodiment. (As shown...) Figure 3 As shown, the robot unit system design device 10 includes a CPU (Central Processing Unit) 12, a memory 14, a storage device 16, an input device 18, an output device 20, a storage medium reading device 22, and a communication I / F (Interface) 24. All components are connected to each other via a bus 26 in a manner enabling communication.

[0069] The storage device 16 stores a robot unit system design program for performing the robot unit system design processing described later. The CPU 12 is the central processing unit, which executes various programs and controls various structures. That is, the CPU 12 reads the program from the storage device 16 and uses the memory 14 as the working area to execute the program. The CPU 12 performs control of the aforementioned structures and various arithmetic processing according to the program stored in the storage device 16.

[0070] The memory 14 consists of RAM (Random Access Memory), which temporarily stores programs and data in the working area. The storage device 16 consists of ROM (Read Only Memory), HDD (Hard Disk Drive), SSD (Solid State Drive), etc., which store various programs, including the operating system, and various data.

[0071] For example, input device 18 is a keyboard, mouse, or other device used for various input operations. Output device 20 is a monitor, printer, or other device used for outputting various information. Using a touchpad monitor as output device 20 allows it to also function as input device 18. Storage medium reading device 22 performs tasks such as reading data from various storage media, including CD (Compact Disc)-ROM, DVD (Digital Versatile Disc)-ROM, Blu-ray discs, and USB (Universal Serial Bus) storage, and writing data to storage media.

[0072] The Communication I / F24 is an interface used to communicate with other devices, for example, using standards such as Ethernet (registered trademark), FDDI, and Wi-Fi (registered trademark).

[0073] Next, the functional structure of the robot unit system design device 10 according to the first embodiment will be described. Figure 4 This is a block diagram illustrating an example of the functional structure of the robot unit system design device 10. For example... Figure 4 As shown, the robot unit system design device 10 includes an acquisition unit 32, a configuration planning unit 34, a posture planning unit 36, a path planning unit 38, and an evaluation unit 40 as its functional structure. Each functional structure is implemented by the CPU 12 reading the robot unit system design program stored in the storage device 16, expanding it in the memory 14, and executing it.

[0074] The acquisition unit 32 acquires: specification information of the robot, which is a component of the robot unit system; component information of other parts besides the robot, which are also components of the robot unit system; and operation information related to the tasks performed by the robot. The robot specification information includes: kinematic information showing the connection relationships between links, the rotation axes of the links, etc.; dynamic information such as the weight of each link, used to determine the speed of the links during movement; and shape information of each link. The component information includes the shape information of fixtures and workpieces, as well as peripheral equipment such as machining machines and inspection machines. It should be noted that, for example, the shape information can also be set as three-dimensional data such as CAD (Computer-Aided Design) data. The operation information includes the type of operation, the order of operations, the parts used in the operation and the position where the robot accesses those parts, the workpiece used in the operation, and information showing which part of the robot arm is holding which part of the workpiece, and the gripping state. Robot access to components, for example, refers to workpiece gripping (picking up), workpiece release (releasing), and workpiece installation to a predetermined position based on the robot arm.

[0075] Additionally, the acquisition unit 32 acquires gripping information showing the relative relationship between the workpiece and the robot arm. For example, such as Figure 5 As shown, the gripping information consists of the relative coordinates (x, y, z) and relative posture (roll, pitch, yaw) of the TCP (controller arm) relative to the workpiece when gripping it using a robotic arm. The gripping information acquired by the acquisition unit 32 is obtained by listing the gripping information for multiple gripping patterns. Figure 5 In the example, three holding patterns are shown, but the list includes holding information for many more holding patterns (e.g., dozens of patterns).

[0076] The robot's specifications, component information, operational information, and handling information are input into the robot unit system design device 10 via the input device 18, the storage medium reading device 22, or the communication I / F 24. The acquisition unit 32 transfers the acquired robot specifications, component information, and operational information to the configuration planning unit 34, the posture planning unit 36, and the path planning unit 38. Additionally, the acquisition unit 32 transfers the acquired handling information to the posture planning unit 36.

[0077] Based on the robot's specification information, component information, and operational information received from the acquisition unit 32, the configuration planning unit 34 calculates configuration candidates for robots and components in one or more robot unit systems. Specifically, the configuration planning unit 34 calculates configuration-related costs for each configuration pattern of the robots and components. The configuration pattern refers to all configuration patterns that the robots and components can adopt, i.e., all possible configuration patterns. For example, it can also be defined as all configuration patterns that the robots and components can accommodate within a predetermined configuration area.

[0078] Configuration cost can also be set as a value obtained using geometric information such as the distance between components, the area or volume of the region where the robot and components are configured, and the distance between obstacles and components. For example, Figure 6 And as shown in equation (1) below, the distances between components L1, L2, L3, ..., L N The larger the sum, the larger the value becomes, which is set as the configuration cost c. It should be noted that in... Figure 6 If all the distances between components were shown in the diagram, it would become too complicated, so only a portion of the distances between components are shown.

[0079]

[0080] Additionally, for example, such as Figure 7 As shown in equation (2) below, the configuration cost c can also be set as the value that the area S of the outer shape of the robot and the parts set on the ground becomes larger as the size of the outer shape increases.

[0081] c = S (2)

[0082] It should be noted that the volume V obtained by multiplying the area S by the height of the robot and each component can also be set as the configuration cost c.

[0083] Additionally, for example, such as Figure 8 And as shown in equation (3) below, the distances D1, D2, D3, ..., D from each component to the obstacle can also be represented as D1, D2, D3, ..., D2. N The larger the sum, the smaller the value becomes, which is set as the configuration cost c. Using the distance between the component and the obstacle as the configuration cost eliminates solutions that are excluded from path planning due to interference with obstacles during the configuration planning stage, thus contributing to the improvement of the success rate and speed of path planning.

[0084]

[0085] The smaller the value of the configuration cost c in equations (1) to (3) above, the higher the evaluation of the configuration. The configuration planning unit 34 can also use multiple values ​​c to calculate the optimal configuration cost for multiple objectives. Furthermore, the configuration planning unit 34 can also reflect the work sequence shown in the work information in the configuration cost c. For example, as... Figure 9 As shown in the diagram above, when the components associated with the robot's tasks are arranged according to the sequence of tasks, the robot's motion time is often shortened. On the other hand, as... Figure 9 As shown in the figure below, in a configuration that minimizes the distance between parts without considering the work sequence, there is a possibility of lengthy actions and extended action times. Therefore, for example, the configuration planning unit 34 can also calculate the configuration cost by using the sum of the distances between parts according to the robot's work sequence. It should be noted that in Figure 9 In the diagram, each circular marker represents a robot's work point. A work point refers to the location in the robot's configuration where it accesses the component of the work object.

[0086] Alternatively, configuration costs can be set as a value based on the robot's maneuverability. Maneuverability is an indicator of how easily a robot can perform actions from a given posture. Maneuverability varies depending on the robot's geometry (kinematics). Figure 10 The diagram illustrates operability. Figure 10 In the example, the lighter the color (saturation) of a point, the more maneuverable the spatial location is. The maneuverability w is calculated according to the following formula (4).

[0087] w=|detJ(q)| (4)

[0088] q = [q1, q2, ..., q n ) T

[0089] r = [r1, r2, ..., r m ] T

[0090]

[0091] In the formula, the bolded word q represents the robot's pose, i.e., a vector of values ​​(rotation angles) for each joint. Additionally, the bolded word r represents the position and pose (x, y, z, roll, pitch, yaw) of a predetermined part of the robot's fingertip. Furthermore, the bolded word J(q) represents the Jacobian matrix of the robot's pose q. For example, the configuration cost based on operability can be set as the sum of the operability values ​​of the positions where parts are configured. Using the robot's operability as the configuration cost increases the variation of the inverse kinematics solution in pose planning (details described later), enabling the acquisition of better solutions and contributing to an improved success rate in path planning.

[0092] The configuration planning unit 34 selects one or more configuration patterns as configuration candidates in descending order of their evaluation based on the configuration cost calculated for each pattern. Alternatively, the configuration planning unit 34 may select patterns whose configuration costs meet predetermined conditions as configuration candidates; for example, it may select patterns whose configuration costs are below a certain threshold. The configuration planning unit 34 then communicates the information of the selected configuration candidates to the attitude planning unit 36 ​​and the path planning unit 38.

[0093] The attitude planning unit 36, based on the robot's specification information, component information, operational information, and gripping information received from the acquisition unit 32, calculates the robot's starting attitude at the start point of the action and its ending attitude at the end point for each configuration candidate received from the configuration planning unit 34. Here, one unit of action is defined as the robot's action when its TCP moves from one operational point to the next. The robot in the robot unit system continuously performs multiple actions. For example, in... Figure 9 In the example shown, the arrows between work points represent one action. Furthermore, the work point on the starting side of the arrow is the start point of the action, and the work point on the ending side of the arrow is the end point of the action. Thus, the attitude planning unit 36 ​​calculates a set of combinations of start and end attitudes for each action for each configuration candidate.

[0094] Specifically, the starting posture is calculated as follows. The posture planning unit 36 ​​determines the position and posture of the TCP (Workpiece Handling Device) when the robot grips the workpiece. For example, during candidate configuration, the posture planning unit 36 ​​determines the position of the workpiece with the work object, i.e., the work point, and uses gripping information to determine the relative position and relative posture of the TCP relative to the workpiece, and converts it into position and posture in the world coordinate system. Then, the posture planning unit 36 ​​uses kinematic information, etc., to calculate the robot's posture, i.e., the values ​​of each joint, based on the TCP's position and posture using inverse kinematics. The ending posture is calculated similarly; the posture planning unit 36 ​​determines the position and posture of the TCP when the workpiece is released and installed based on the work information, and calculates the robot's posture in the same way as described above.

[0095] Here, in posture planning, it should be noted that the robot's posture, which becomes the start and end point of the action, has a significant impact on the action time, and that the vertical multi-joint robot has a large degree of freedom in posture and movement, making the selection of the optimal posture difficult. Figure 11 The image shows an example of the TCP position at the start of the action, calculated based on task information, gripping information, etc., and an overview of the robot's posture calculated for the posture. Figure 11 In the example shown, the values ​​of joints J1 to J3 have four variations, and the combinations of J4 to J6 have six variations, resulting in a total of 24 robot pose patterns calculated. For the six variations of the J4 to J6 combinations, the robots within the same group (A or B) have the same outward appearance of their poses, but the values ​​of J4 to J6 are different. Figure 11 In the example, in group A and group B, the robot's protruding part ( Figure 11 The position of the dotted line (in the diagram) is different. A similar pattern is also calculated for the TCP position and attitude at the end point of the action, thus calculating the combination of the start and end attitudes.

[0096] Furthermore, the motion time required to transition from the robot's starting and ending postures varies. For example, in... Figure 12 The following situation is shown in the left figure, where the action is shown (in Figure 12 In the actions shown above (the path is shown above) and on the right, the positions and orientations of the TCPs at the start and end points of the actions are the same as the robot's starting orientation, but the robot's ending orientation is different. Thus, although the positions and orientations of the TCPs at the start and end points are the same, the differences in the robot's actions lead to differences in the action time.

[0097] Therefore, the posture planning unit 36 ​​calculates the posture cost related to the robot's motion time required for each action for each combination of start and end postures that can be taken. For each action, it selects the combination of start and end postures with the highest evaluation based on the posture cost. The posture cost can also be set as the difference between the start and end postures, for example, as shown in equation (5) below, or it can be set as the distance between vectors showing the values ​​of the joints in each posture.

[0098]

[0099] In equation (5), m is the number of work points, and q i Let $\begin{pmatrix}$ be the attitude vector representing the attitude corresponding to the $i$-th work point. The attitude cost represents the estimated action time, assuming that the smaller the change between attitudes, the shorter the action time between attitudes. Therefore, the combination of attitudes with the highest evaluation shown by the attitude cost can be considered as the combination with the shortest action time between attitudes. The attitude planning unit 36 ​​hands over the set of combinations of start and end attitudes for each action of each configuration candidate to the path planning unit 38.

[0100] Based on the robot's specifications, component information, and operational information received from the acquisition unit 32, the path planning unit 38 calculates the path from the start posture to the end posture received from the posture planning unit 36 ​​for each action, for each configuration candidate. If other robots, components, or obstacles exist between the start and end postures, the path planning unit 38 calculates the path in a way that avoids interference with these. The path planning unit 38 then submits the set of paths calculated for each action for each configuration candidate to the evaluation unit 40.

[0101] The evaluation unit 40 calculates the path cost for the path handed over from the path planning unit 38, and selects the optimal configuration from the configuration candidates based on the path cost. Specifically, for each configuration candidate, the evaluation unit 40 calculates the path cost based on the path and dynamic information, for example, as shown in equation (6) below, by using the sum of the robot's motion time from the start posture to the end posture for each action.

[0102]

[0103] In equation (6), m is the number of work points, and t i,i+1 The motion time between the i-th work point and the (i+1)-th work point is given. Then, the evaluation unit 40 selects the candidate configuration with the shortest motion time as the optimal configuration. The evaluation unit 40 outputs configuration information for the selected configuration, as well as robot motion information corresponding to the path calculated for that configuration. As described above, the motion information is obtained by adding information about the velocity and acceleration that cause attitude changes to the path.

[0104] It should be noted that path cost is not limited to the aforementioned motion time. For example, it can also be defined as the torque applied to the workpiece when the robot moves along the path while holding the workpiece. Alternatively, it can be defined as the robot's power consumption while moving along the path, the path length in the actual space or joint space, etc. Furthermore, multiple costs can be used to calculate the optimal path cost for multiple objectives.

[0105] Next, the function of the robot unit system design device 10 according to the first embodiment will be explained. Figure 13 This is a flowchart illustrating the robot unit system design process executed by the CPU 12 of the robot unit system design device 10. The CPU 12 reads the robot unit system design program from the storage device 16, expands it in the memory 14, and executes it. Thus, the CPU 12 functions as the various functional structures of the robot unit system design device 10, performing its tasks. Figure 13 The robot unit system design process is shown.

[0106] In step S10, the acquisition unit 32 acquires the robot's specification information, component information, operation information, and handling information. The acquisition unit 32 transfers the acquired robot specification information, component information, and operation information to the configuration planning unit 34, posture planning unit 36, and path planning unit 38, and transfers the acquired handling information to the posture planning unit 36.

[0107] Next, in step S12, the configuration planning unit 34 calculates the configuration cost related to each configuration pattern of the robot and components, and selects the top N configuration patterns as configuration candidates in descending order of their configuration cost evaluation. The configuration planning unit 34 labels the selected configuration candidates with numbers 1, 2, ..., N in descending order of their configuration cost evaluation. Hereinafter, the configuration candidate with number n will be denoted as "configuration candidate n". Furthermore, the configuration planning unit 34 transfers the information of the selected configuration candidates to the attitude planning unit 36 ​​and the path planning unit 38.

[0108] Next, in step S14, the attitude planning unit 36 ​​sets 1 as the variable n indicating the number of the configuration candidate. Next, in step S16, for the configuration candidate n, the attitude planning unit 36 ​​calculates the combination of the robot's start posture and end posture that can be taken for each action based on the robot's specification information, component information, operation information, and gripping information, according to the TCP position and posture at the start and end points of the action.

[0109] Next, in step S18, the attitude planning unit 36 ​​calculates the attitude cost related to the robot's motion time required for the task for each combination of start and end attitudes, and selects the combination of start and end attitudes with the highest evaluation based on the attitude cost for each action. Furthermore, the attitude planning unit 36 ​​hands over the set of combinations of start and end attitudes for each action selected as candidate n to the path planning unit 38.

[0110] Next, in step S20, the path planning unit 38 calculates the path from the start posture to the end posture, which is handed over from the posture planning unit 36, for each action based on the robot's specification information, component information, and operation information, for the configuration candidate n. Then, the path planning unit 38 hands over the set of paths for each action calculated for the configuration candidate n to the evaluation unit 40.

[0111] Next, in step S22, the evaluation unit 40 calculates the robot's motion time from the start pose to the end pose as the path cost based on path and dynamic information. It should be noted that this explanation focuses on the motion time calculation as an example of path cost, but other path costs can also be used. Next, in step S24, the evaluation unit 40 increments n by 1. Next, in step S26, the evaluation unit 40 determines whether n exceeds the number of candidate robots, i.e., N. If n ≤ N, it returns to step S16; if n > N, it proceeds to step S28.

[0112] In step S28, the evaluation unit 40 selects the candidate configuration with the shortest action time as the optimal configuration. Then, the evaluation unit 40 outputs the configuration information for the selected configuration and the robot's action information corresponding to the path planned for that configuration, and the robot unit system design process ends.

[0113] As explained above, the robot unit system design apparatus according to the first embodiment acquires specification information of the robot, which is a constituent element of the robot unit system, component information including shape information of parts other than the robot, and operation information related to the operation performed by the robot. Furthermore, based on the acquired information, the robot unit system design apparatus plans configuration candidates for the robot and parts in one or more robot unit systems, and calculates a set of start and end postures for each action of the robot performing the operation for each configuration candidate. Then, the robot unit system design apparatus plans a set of paths from the start posture to the end posture for each planned action for each configuration candidate, and selects the final configuration from the configuration candidates based on the path cost associated with the path. This reduces the time required to design a unit system in which the robot is a constituent element.

[0114] Furthermore, the system allows for simultaneous planning of robot and component configurations and robot movements, thus reducing the time required for robot technicians to perform teaching tasks after the unit system is installed. Additionally, cost optimization is performed during configuration, robot posture calculation, and path calculation, allowing the system design to be completed after robot movement verification. This reduces the risk of having to redesign the system due to problems arising after unit system installation.

[0115] <Second Implementation Method>

[0116] Next, the second embodiment will be described. It should be noted that in the robot unit system design apparatus according to the second embodiment, structures identical to those in the robot unit system design apparatus 10 according to the first embodiment are labeled with the same reference numerals, and detailed descriptions are omitted. Furthermore, in the functional structures shared by the last two digits of the reference numerals in both the first and second embodiments, detailed descriptions of the common functions are omitted. Further, the hardware structure of the robot unit system design apparatus according to the second embodiment is similar to... Figure 3 The hardware structure of the robot unit system design device 10 involved in the first embodiment shown is the same, so the description is omitted.

[0117] The functional structure of the robot unit system design device 210 according to the second embodiment will be described. Figure 14 This is a block diagram illustrating an example of the functional structure of the robot unit system design device 210. For example... Figure 14 As shown, the robot unit system design device 210 includes an acquisition unit 232, a configuration planning unit 234, a posture planning unit 236, a path planning unit 238, a decision unit 242, and an evaluation unit 40 as its functional structure. Each functional structure is implemented by the CPU 12 reading the robot unit system design program stored in the storage device 16, expanding it in the memory 14, and executing it.

[0118] In addition to the robot's specifications, component information, operational information, and handling information, acquisition unit 232 also acquires user-specified constraint information. The constraint information includes at least one of the following: positional relationships between components, non-configurable areas of components, specified positions for configuring components, clearances relative to components, specified operational conditions, specified postures, and specified paths.

[0119] The positional relationship constraints between components specify, within the component's local coordinate system, restrictions on the positional relationships such as component A being adjacent to component B, and component C being spaced at least 1 meter apart from component D. For example, ... Figure 15As shown in P, the restriction information for the non-configurable area of ​​a component specifies the areas in the world coordinate system where robots and components cannot be configured. These areas include areas that must be secured as part of human movement routes, areas with fixed equipment, etc. For example, ... Figure 15 As shown in Q, the constraint information for specifying the location of a component is the configuration constraint information that determines the component to be configured at a specific location in the world coordinate system. The configuration of the component to be configured at a specific location is, for example, the configuration of a tray, as one of the components, on a conveyor belt (fixed equipment). For example, as... Figure 15 As shown in R, the restriction information relative to the gap between components specifies the restriction information of the area where robots and other components cannot be configured in the local coordinate system of the component. The area where robots and other components cannot be configured is the space used for opening and closing doors of components, etc.

[0120] Additionally, the specified job condition restrictions are related to job priority or execution time. For example, in the job priority restrictions, such as... Figure 16 As shown, in a scenario where multiple robots are used for a task, it is specified that the actions of other robots should only begin after a certain action of one robot has been completed, which are actions that take priority among the robots. Figure 16 In the example, a priority is specified so that robot B's action 2 begins after robot A's action 2 is completed. Additionally, the execution time constraint information may specify, for example, at least one of the upper and lower limits of the execution time for one or more tasks performed using the unit system. As a specific example, to accommodate the timing of a conveyor belt's movements that cannot be synchronized with the robot, the operation from when the robot picks up a part to when it is placed at the next location may be specified to be performed within 2 seconds to 3 seconds. Furthermore, to move a heated workpiece to the next work position before it has cooled down, the workpiece transfer operation may be specified to be performed within 2 seconds.

[0121] Additionally, the specified posture constraint information pre-specifies the robot's or TCP's posture at at least one position, including the start point, end point, and any intermediate point. The specified posture can be a definite value or a posture within a predetermined range. Furthermore, the specified path constraint information pre-specifies at least a portion of the robot's motion path. The specified path can be a path specifying a sequence of robot posture values ​​within a predetermined interval, or a path specifying necessary or inaccessible areas that the TCP must traverse. It should be noted that the constraint information is not limited to the examples above; the user can specify any constraint information.

[0122] When the acquisition unit 232 acquires constraint information associated with the configuration, it hands over the acquired constraint information to the configuration planning unit 234. Furthermore, when the acquisition unit 232 acquires constraint information associated with attitude, it hands over the acquired constraint information to the attitude planning unit 236. Additionally, when the acquisition unit 232 acquires constraint information associated with the path, it hands over the acquired constraint information to the path planning unit 238. It should be noted that when one constraint is associated with two or more of the configuration, attitude, and path, the acquisition unit 232 hands over the constraint information to each of the two or more associated planning units. For example, the constraint information of the specified operating conditions can be associated with any one of the configuration, attitude, and path.

[0123] When the configuration planning unit 234 receives the constraint information related to the configuration from the acquisition unit 232, it selects a configuration candidate from the configuration patterns of the robot and components that meet the received constraint information.

[0124] When the attitude planning unit 236 receives the attitude-related constraint information from the acquisition unit 232, it calculates the set of start attitudes and end attitudes that satisfy the received constraint information.

[0125] After receiving the constraint information associated with the path from the acquisition unit 232, the path planning unit 238 calculates a set of paths that satisfy the received constraint information.

[0126] The determination unit 242 determines the appropriateness of the plans in each of the configuration planning unit 234, attitude planning unit 236, and path planning unit 238. The determination based on the determination unit 242 is performed because, when arbitrary constraints are specified by the user, the appropriateness of the plans in each planning unit may decrease. Specifically, the determination unit 242 determines whether a solution is obtained in the optimization process of each planning unit, and whether a solution with a predetermined cost threshold is obtained, thereby determining whether a good solution has been obtained.

[0127] For example, in the optimization process of the configuration planning unit 234, the determination unit 242 determines whether a component can be accommodated in the configurable area, and uses this as a criterion for determining whether a configuration candidate is obtained as a solution. For example, Figure 17 As shown, among all the configuration candidates, if at least one component or robot cannot be accommodated in the configurable area for that component or robot, the determination unit 242 determines that no configuration candidate has been obtained as a solution. That is, the determination unit 242 determines that a good solution has not been obtained in the configuration planning unit 234.

[0128] Furthermore, in the optimization process of the configuration planning unit 234, the determination unit 242 determines whether the configuration cost of the configuration candidate that becomes a solution meets a threshold. Figure 18 The example shown is a case where the cost of demonstrating the robot's operability is used as an example of configuration cost for determination. In this case, among all the configuration candidates, if the cost of demonstrating operability does not meet the threshold, the determination unit 242 determines that a good solution has not been obtained in the configuration planning unit 234.

[0129] Furthermore, in the optimization process of the posture planning unit 236, the determination unit 242 determines whether the robot will interfere with other components or obstacles when adopting a start or end posture that becomes a solution. If the start and end postures are automatically calculated, the robot calculates a posture that avoids interference. On the other hand, if the user specifies the posture as constraint information, such as... Figure 19 As shown, there is a possibility of interference. Among all combinations of start and end attitudes calculated by the attitude planning unit 236 for each configuration candidate, if interference occurs in the start or end attitude, the determination unit 242 determines that a good solution has not been obtained in the attitude planning unit 236.

[0130] Furthermore, in the optimization process of the attitude planning unit 236, the determination unit 242 determines whether the attitude cost for the starting and ending attitudes that become solutions meets a threshold. For example, as Figure 20 As shown, when the robot's posture changes significantly between the start and end points of the action, i.e., when the difference between the start and end postures is large, the evaluation of posture cost becomes lower. Among all combinations of start and end postures calculated by the posture planning unit 236, if the posture cost does not meet the threshold, the determination unit 242 determines that a good solution was not obtained in the configuration planning unit 234.

[0131] Furthermore, in the optimization process of the path planning unit 238, the determination unit 242 determines whether each configuration candidate has successfully calculated a path that does not interfere with other components or obstacles. For example... Figure 21 As shown, in a path that includes the specified posture as a constraint and a path that includes the specified path as part of it, if the robot interferes with other components or obstacles, the determination unit 242 determines that the path cannot be planned as a solution for the configuration candidate. That is, the determination unit 242 determines that a good solution has not been obtained for the configuration candidate.

[0132] Furthermore, in the optimization process of the path planning unit 238, the determination unit 242 checks whether the robot's motion time required for each configured candidate determination task is below a predetermined value. For example... Figure 22As shown, when the calculated path is lengthy using the specified posture and part of the path as limiting information, the action time becomes longer. If the action time exceeds a predetermined value, the determination unit 242 determines that a good solution has not been obtained for the candidate configuration.

[0133] Alternatively, if the determination unit 242 determines that the planning based on each planning unit does not meet the suitability requirements, i.e., no good solution is obtained, the determination result can be displayed to the user. The determination unit 242 includes in the determination result the content deemed unsuitable in the above-mentioned determination, such as components that cannot be accommodated in the configurable area, or interference with other components in the planned posture or path. It should be noted that the determination result displayed to the user by the determination unit 242 is not limited to the determination result associated with the restriction information obtained by the acquisition unit 232. As described in the first embodiment, the configuration, posture, and path planned by each planning unit based on the robot's specification information, component information, operation information, and handling information can also be set as objects.

[0134] Alternatively, the determination unit 242 may stop the processing of the corresponding planning unit if it determines that the planning of each planning unit does not meet the suitability requirements. It should be noted that in this embodiment, configuration planning, posture planning, and path planning are performed in stages, so even if the planning of any planning unit is stopped, the configuration information and robot motion information, which are the final outputs, are not output.

[0135] Next, the function of the robot unit system design device 210 according to the second embodiment will be explained. Figure 23 This is a flowchart illustrating the robot unit system design process executed by the CPU 12 of the robot unit system design device 210. The CPU 12 reads the robot unit system design program from the storage device 16, expands it in the memory 14, and executes it. Thus, the CPU 12 functions as the various functional structures of the robot unit system design device 210, performing its functions. Figure 23 The robot unit system design process is shown. It should be noted that... Figure 23 In the robot unit system design process shown, the robot unit system design process in the first embodiment is compared with that in the second embodiment. Figure 13 The same process is used, with the same step numbers marked, and detailed descriptions omitted.

[0136] In step S210, the acquisition unit 232 acquires the robot's specifications, component information, operational information, handling information, and user-specified limitations. The acquisition unit 232 then transfers the acquired information to the associated planning unit.

[0137] After step S12, if the process transitions to step S212, the determination unit 242 determines whether the configuration planning unit 234 has obtained a configuration candidate that is a good solution in step S12. If a configuration candidate that is a good solution has been obtained, the process transitions to step S14; otherwise, the process transitions to step S218.

[0138] After steps S14 and S16, if the process transitions to step S214, the determination unit 242 determines whether the attitude planning unit 236 has obtained a set of combinations of start and end attitudes that constitute a good solution for the configuration candidate n in step S16. If a set of combinations of start and end attitudes that constitute a good solution has been obtained, the process transitions to step S18; otherwise, the process transitions to step S218.

[0139] After steps S18 to S22, if the process transitions to step S216, the determination unit 242 determines whether the path planning unit 238 has obtained a set of paths that are good solutions for configuring candidate n in the above steps S20 and S22. If a set of paths that are good solutions has been obtained, the process transitions to step S24; otherwise, the process transitions to step S218.

[0140] In step S218, the determination unit 242 outputs the determination result of the content that was determined to have not obtained a good solution in the determination of steps S212, S214 or S216 above, and the robot unit system design process ends.

[0141] As explained above, the robot unit system design apparatus according to the second embodiment adds user-specified constraint information to calculate the configuration, posture, and path. This allows the design to reflect user intentions that cannot be fully expressed in the robot's specifications, component information, and operational information. Furthermore, by using the calculated results as constraint information for a portion of the configuration, posture, or path, processing time can be reduced.

[0142] Furthermore, in the optimization process of each planning unit, the robot unit system design apparatus according to the second embodiment prompts the user with the determination that no solution has been obtained, or that the predetermined cost for the solution does not meet the threshold, i.e., no good solution has been obtained. This allows the robot unit system designer to effectively revise the design.

[0143] <Third Implementation Method>

[0144] Next, the third embodiment will be described. It should be noted that in the robot unit system design apparatus according to the third embodiment, structures identical to those in the robot unit system design apparatus 10 according to the first embodiment are labeled with the same reference numerals, and detailed descriptions are omitted. Furthermore, in the functional structures shared in the last two digits of the reference numerals in both the first and third embodiments, detailed descriptions of the common functions are omitted. Further, the hardware structure of the robot unit system design apparatus according to the third embodiment is similar to that in the first embodiment. Figure 3 The hardware structure of the robot unit system design device 10 involved in the first embodiment shown is the same, so the description is omitted.

[0145] The functional structure of the robot unit system design device 310 according to the third embodiment will be described. Figure 24 This is a block diagram illustrating an example of the functional structure of the robot unit system design device 310. For example... Figure 24 As shown, the robot unit system design device 310 includes an acquisition unit 332, a configuration planning unit 34, a posture planning unit 36, a path planning unit 38, a control unit 344, and an evaluation unit 340 as its functional structure. Each functional structure is implemented by the CPU 12 reading the robot unit system design program stored in the storage device 16, expanding it in the memory 14, and executing it.

[0146] In addition to the robot's specifications, component information, operational information, and handling information, acquisition unit 332 also acquires user-specified mode selection information, termination conditions, and stop instructions. Here, in the third embodiment, there are an executable planning mode and an optimal planning mode. The mode selection information indicates that either of these two modes has been selected.

[0147] An executable planning mode is a mode that quickly determines whether the configuration of components used to enable the robot to perform a predetermined action is feasible. On the other hand, an optimal planning mode is a mode that outputs better configuration and action information.

[0148] Suppose that an executable planning pattern is chosen in the design of a robot unit system. As a specific example of choosing an executable planning pattern, consider the following scenario: designing a device, verifying whether a robot can perform operations on that device, and configuring the verified device around the robot to verify whether it can perform a series of tasks. If a solution can be obtained using an executable planning pattern, then in the relationship between the device and the robot in the design, it can be determined that an executable configuration exists.

[0149] Assuming that once the design of the robot unit system is completed, configuration adjustments are made with the goal of reducing the overall system motion time, the optimal planning mode is selected.

[0150] Termination conditions are used to terminate the planning process in each planning unit that is repeatedly executed while changing the selection of configuration candidates. When the executable planning mode is selected, for example, the termination condition may be specified as the number of repetitions in each planning unit or the overall computation time. Alternatively, instead of specifying a specific number of repetitions or computation time, a termination condition such as repeating until a certain solution is obtained may be specified. Furthermore, when the optimal planning mode is selected, the same number of repetitions and computation time as in the executable planning mode may be specified as termination conditions. In this case, the number of repetitions and computation time may be specified more times or more computation time than the number of repetitions or computation time specified for the termination condition in the executable planning mode. Additionally, in the optimal planning mode, in addition to the number of repetitions and computation time, for example, the target action time and the convergence threshold for the optimal solution (solution update rate, etc.) may be specified as termination conditions. More specifically, the convergence threshold for the optimal solution is a threshold used to determine whether the solution has converged when the difference between the path cost calculated for this configuration and the best path cost calculated for the previously calculated configuration becomes smaller.

[0151] A stop instruction is an instruction used to stop a process that is repeatedly executed in each planning department when the optimal planning mode is selected.

[0152] The acquisition unit 332 transfers the acquired mode selection information and termination conditions to the control unit 344. Additionally, if a stop instruction is received, the acquisition unit 3332 notifies the control unit 344 of the stop instruction.

[0153] The control unit 344 controls the configuration according to the selected mode, so that the configuration planning unit 34 plans a different configuration candidate than the previous one, and the attitude planning unit 36 ​​and the path planning unit 38 repeatedly execute the planning until the specified termination condition is met. Then, the control unit 344 controls the configuration with the highest evaluation based on the path cost among the configurations obtained in each repeated process, so that the evaluation unit 340 selects the configuration with the highest evaluation based on the path cost among the configurations obtained in each repeated process as the final configuration.

[0154] In addition, the control unit 344 performs control so that if a stop instruction is received from the acquisition unit 332 when the optimal planning mode is selected, the processing of each of the configuration planning unit 34, attitude planning unit 36, and path planning unit 38 is stopped.

[0155] Similar to the evaluation unit 40 in the first embodiment, the evaluation unit 340 calculates the path cost for each set of candidate paths handed over from the path planning unit 38, and selects the optimal configuration from the candidate configurations based on the path cost. Specifically, the evaluation unit 340 selects the configuration with the highest evaluation based on the path cost among the optimal configurations obtained in each repeated process as the final configuration; for example, it selects the configuration with the shortest action time as the final configuration. The evaluation unit 340 outputs the configuration information for the selected configuration, as well as the robot's action information corresponding to the path planned for that configuration.

[0156] Next, the function of the robot unit system design device 310 according to the third embodiment will be explained. Figure 25 This is a flowchart illustrating the robot unit system design process executed by the CPU 12 of the robot unit system design device 310. The CPU 12 reads the robot unit system design program from the storage device 16, expands it in the memory 14, and executes it. Thus, the CPU 12 functions as the various functional structures of the robot unit system design device 310, performing its functions. Figure 25 The robot unit system design process is shown.

[0157] In step S310, the acquisition unit 332 acquires the robot's specification information, component information, operation information, handling information, mode selection information selected by the user, and termination conditions specified by the user. The acquisition unit 332 transfers the acquired robot specification information, component information, operation information, and handling information to the associated planning unit, and transfers the acquired mode selection information and termination conditions to the control unit 344.

[0158] Next, in step S312, the control unit 344 determines whether the optimal planning mode or the executable planning mode has been selected based on the mode selection information received from the acquisition unit 332. If the optimal planning mode has been selected, the process proceeds to step S320; if the executable planning mode has been selected, the process proceeds to step S314.

[0159] In step S314, executable planning processing is performed. This executable planning processing is related to the robot unit system design processing in the first embodiment. Figure 13Steps S12 to S28 are the same. Next, in step S316, the control unit 344 determines whether the specified termination condition is met. For example, the control unit 344 determines whether the number of repetitions of the processing in step S314 has reached the number of repetitions specified by the termination condition, and whether the computation time of the processing so far exceeds the computation time specified by the termination condition. If the termination condition is met, the process transitions to step S318; otherwise, it returns to step S314. In the selection of configuration candidates in the executable planning process of the repeatedly executed S314, configuration candidates other than the configuration candidate selected in the previous step are selected. In step S318, the configuration with the highest evaluation shown by the path cost in the optimal path planned in step S314, for example, configuration information for the configuration with the shortest motion time, and the robot's motion information corresponding to the path planned for that configuration are output. Thus, the robot unit system design process ends.

[0160] On the other hand, in step S320, executable planning processing is performed. If executable planning processing has been performed in step S320, the process transitions to step S322.

[0161] In step S322, the evaluation unit 340 selects the configuration with better path cost, for example, the configuration with shorter action time, from the configuration obtained in step S320 and the configuration obtained in the repeated processing so far. The control unit 344 displays the configuration information for the configuration selected by the evaluation unit 340, as well as the robot's action information corresponding to the path planned for the configuration, to the user, and is set to receive a stop instruction based on the user. For example, in addition to the configuration information and action information for the currently selected configuration, the control unit 344 also displays a stop button for the user to select a stop instruction on the output device 20. It should be noted that the control unit 344 may also display the path cost calculated based on the configuration information, in addition to the configuration information and action information, to the user.

[0162] Next, in step S324, the control unit 344 determines whether a stop instruction has been selected by the user. For example, if the user selects the stop button, the acquisition unit 332 acquires the stop instruction and notifies the control unit 344. In this case, it is determined that a stop instruction has been selected. If a stop instruction has been selected, the process transitions to step S328; otherwise, it transitions to step S326. In step S326, the control unit 344 determines whether the specified termination conditions are met. For example, the control unit 344 determines whether the action time shown for the path cost of the configuration selected in step S322 meets the target action time, and whether the difference in path costs compared in step S322 meets the convergence threshold. If the termination conditions are met, the process transitions to step S328; otherwise, it returns to step S320. In the selection of configuration candidates in the executable planning process of the repeatedly executed S320, a configuration candidate other than the previously selected configuration candidate is selected.

[0163] In step S328, the evaluation unit 340 outputs the configuration information for the configuration selected in the most recent step S322 and the robot's motion information corresponding to the path planned for that configuration, and the robot unit system design process ends.

[0164] As explained above, the robot unit system design apparatus according to the third embodiment selectively executes an optimal planning mode for obtaining an optimal solution over a time period and an executable planning mode for obtaining an executable solution in a short time period. Therefore, appropriate configuration information and robot motion information can be obtained based on the stage and purpose of the robot unit system design.

[0165] Generally, when exploring configuration and action information for an executable configuration, it takes approximately several hours, especially with human trial and error. According to this embodiment, in an executable planning mode, configuration and action information can be obtained in minutes. Furthermore, when humans explore configuration and action information for a better configuration, advanced skills and experience are required for adjusting tasks and teaching robot movements, sometimes taking days to weeks even for skilled individuals. According to this embodiment, even in the optimal planning mode, configuration and action information for a better configuration can be obtained in approximately several hours. Therefore, for example, in verifying the configuration of the relationship between individual components and the robot, in the middle stages of designing a unit system, a short-duration executable planning mode can be selected, and in the stage after the overall design is completed, an optimal solution mode can be selected to shorten the action time. In this way, by differentiating usage modes, the design of the robot unit system can be advanced efficiently.

[0166] Furthermore, the robot unit system design device according to the third embodiment provides the best configuration and action information during each repetition of the optimal planning mode, and is configured to receive stop instructions. Therefore, processing can be stopped upon user instruction, even in cases of optimal convergence error or when the user's desired performance is achieved early, thus reducing unnecessary processing time.

[0167] <Fourth Implementation Method>

[0168] Next, the fourth embodiment will be described. It should be noted that in the robot unit system design apparatus according to the fourth embodiment, structures identical to those in the robot unit system design apparatus 10 according to the first embodiment are labeled with the same reference numerals, and detailed descriptions are omitted. Furthermore, in the functional structures shared by the last two digits of the reference numerals in the first and fourth embodiments, detailed descriptions of the common functions are omitted. Further, the hardware structure of the robot unit system design apparatus according to the fourth embodiment is similar to... Figure 3 The hardware structure of the robot unit system design device 10 involved in the first embodiment shown is the same, so the description is omitted.

[0169] The functional structure of the robot unit system design device 410 according to the fourth embodiment will be described. Figure 26 This is a block diagram illustrating an example of the functional structure of the robot unit system design device 410. For example... Figure 26 As shown, the robot unit system design device 410 includes an acquisition unit 432, a gripping planning unit 446, a configuration planning unit 34, a posture planning unit 36, a path planning unit 38, and an evaluation unit 40 as its functional structure. Each functional structure is implemented by the CPU 12 reading the robot unit system design program stored in the storage device 16, expanding it in the memory 14, and executing it.

[0170] The acquisition unit 432 acquires the robot's specifications, component information, and operational information in the same way as the acquisition unit 32 in the first embodiment. However, the acquisition unit 432 does not acquire the gripping information acquired by the acquisition unit 32 in the first embodiment. The acquisition unit 432 also transfers the acquired robot specifications, component information, and operational information to the gripping planning unit 446.

[0171] The handling planning unit 446 generates handling information for each workpiece based on the robot specification information, component information, and operation information received from the acquisition unit 432, and then transfers this information to the attitude planning unit 36. Specifically, as follows... Figure 27As shown, the gripping planning unit 446 determines the shape of the robotic arm that grips the workpiece based on the robot's specifications. Furthermore, the gripping planning unit 446 determines the shape of the workpiece gripped by the robotic arm based on component information. Additionally, the gripping planning unit 446 determines the gripping state, showing which part of the robotic arm grips which part of the workpiece, based on operational information. Figure 27 In the example, it is shown that the part of the robot arm, indicated by a circular marker, is used to hold the workpiece in the job information.

[0172] Based on the shape of the robot arm, the shape of the workpiece, and the gripping state determined in the above manner, the gripping planning unit 446 generates, as follows: Figure 5 Multiple gripping patterns are shown. Then, the gripping planning unit 446 generates gripping information for each gripping pattern, represented by the relative coordinates (x, y, z) and relative posture (roll, pitch, yaw) of the TCP relative to the workpiece when gripping the workpiece with the robot arm.

[0173] Next, the function of the robot unit system design device 410 according to the fourth embodiment will be explained. Figure 28 This is a flowchart illustrating the robot unit system design process executed by the CPU 12 of the robot unit system design device 410. The CPU 12 reads the robot unit system design program from the storage device 16, expands it in the memory 14, and executes it. Thus, the CPU 12 functions as the various functional structures of the robot unit system design device 410, performing its functions. Figure 28 The robot unit system design process is shown. It should be noted that... Figure 28 In the robot unit system design process shown, the robot unit system design process in the first embodiment is compared with that in the second embodiment. Figure 13 The same process is used, with the same step numbers marked, and detailed descriptions omitted.

[0174] In step S410, the acquisition unit 432 acquires the robot's specification information, component information, and operation information. Then, the acquisition unit 432 transfers the acquired robot specification information, component information, and operation information to each planning unit, including the control planning unit 446.

[0175] Next, in step S412, the gripping planning unit 446 determines the shape of the robot arm, the shape of the workpiece, and the gripping state based on the robot's specifications, component information, and operational information, and generates multiple gripping patterns based on the determined information. Then, for each gripping pattern, the gripping planning unit 446 generates gripping information represented by the relative coordinates (x, y, z) and relative posture (roll, pitch, yaw) of the TCP relative to the workpiece when gripping it with the robot arm. The gripping planning unit 446 then transfers the generated gripping information to the posture planning unit 36.

[0176] Subsequently, the robot unit system design process in the first embodiment will be discussed. Figure 13 Similarly, execute steps S12 to S28 to complete the robot unit system design process.

[0177] As explained above, the robot unit system design apparatus according to the fourth embodiment generates gripping information based on the robot's specifications, component information, and operational information. Therefore, it eliminates the need to prepare gripping information in advance, reducing the burden on the user.

[0178] It should be noted that in the above embodiments, the number of robots included in the robot unit system can be one or more. Including multiple robots allows for the construction of robot unit systems capable of handling more complex tasks.

[0179] In addition, the technology applied for can also be applied to offline teaching tools for robots, simulation tools such as CPS (Cyber-Physical System), CAD, etc.

[0180] Alternatively, the robot unit system design processing, which involves the CPU reading the software (program) and executing it in the above embodiments, can also be performed by various processors other than the CPU. Examples of processors in this case include FPGAs (Field-Programmable Gate Arrays) and PLDs (Programmable Logic Devices) whose circuit structure can be changed after manufacturing, as well as dedicated circuits such as ASICs (Application-Specific Integrated Circuits) that have a dedicated circuit structure designed to perform specific processing. Furthermore, the robot unit system design processing can be performed using one of these various processors, or by combining two or more processors of the same or different types (e.g., multiple FPGAs, and a combination of a CPU and an FPGA). More specifically, the hardware configuration of these various processors is a circuit obtained by combining circuit elements such as semiconductor components.

[0181] Furthermore, while the above embodiments describe a method where the robot unit system design program is pre-stored (installed) on a storage device, this is not a limitation. The program may also be provided on storage media such as CD-ROM, DVD-ROM, Blu-ray disc, or USB memory. Alternatively, the program may be configured to be downloaded from an external device via a network.

[0182] All documents, patent applications, and technical standards recorded in this specification are incorporated herein by reference to the same extent that each individual document, patent application, and technical standard is specifically and separately recorded as such.

[0183] Explanation of reference numerals in the attached figures

[0184] 10, 210, 310, 410: Robot unit system design device; 12: CPU; 14: Memory; 16: Storage device; 18: Input device; 20: Output device; 22: Storage medium reading device; 24: Communication I / F; 26: Bus; 32, 232, 332, 432: Acquisition unit; 34, 234: Configuration planning unit; 36, 236: Attitude planning unit; 38, 238: Path planning unit; 40, 340: Evaluation unit; 242: Judgment unit; 344: Control unit; 446: Holding planning unit.

Claims

1. A robot unit system design device, comprising: The acquisition unit acquires specification information of the robot, which is a component of the robot unit system; component information, including shape information of components other than the robot, which are components of the robot unit system; and operation information related to the operation performed by the robot. The configuration planning department, based on the specification information, the component information, and the operation information, calculates the configuration cost related to the configuration of the robot and the component in each robot unit system, and selects one or more patterns as candidates for the configuration in descending order of the evaluation shown by the configuration cost, or selects one or more patterns as candidates for the configuration whose configuration cost meets a predetermined condition. The posture planning unit, based on the specification information, the component information, and the operation information, calculates a set of combinations of the start posture of the robot's start point and the end posture of the end point for each selected candidate configuration. The path planning department, based on the specification information, the component information, and the operation information, calculates a set of paths from the start posture to the end posture for each combination of the start posture and the end posture for each selected candidate configuration; and The evaluation department selects the optimal configuration from the candidates for the configuration based on the path.

2. The robot unit system design apparatus according to claim 1, wherein, The evaluation unit calculates the path cost associated with the path for each candidate configuration and selects the candidate configuration with the highest evaluation based on the path cost as the optimal configuration.

3. The robot unit system design apparatus according to claim 1, wherein, The configuration cost is a value of at least one of the following: the distance between components, the area or volume of the region where the robot and the components are configured, the distance between obstacles and the components, and the Jacobian matrix of the robot's pose.

4. The robot unit system design apparatus according to any one of claims 1 to 3, wherein, The posture planning unit selects the highest-rated combination of posture costs related to the robot's motion time required for the task, among the combinations of the start posture and the end posture corresponding to the position and posture of the robot's hand when accessing the component.

5. The robot unit system design apparatus according to claim 4, wherein, The posture planning unit also uses gripping information, which shows the relative relationship between the workpiece held by the robot's hand and the hand in the component, to calculate the starting posture and the ending posture.

6. The robot unit system design apparatus according to claim 5, wherein, The robot unit system design device also includes a handling planning unit, which calculates the handling information based on the specification information, the component information, and the operation information.

7. The robot unit system design apparatus according to any one of claims 1 to 3, wherein, The acquisition unit also acquires restriction information specified by the user. When the configuration planning unit obtains the constraint information associated with the configuration, it selects a candidate configuration from the patterns of configurations of the robot and the components that satisfy the constraint information. When attitude-related constraint information is obtained as the constraint information, the attitude planning unit calculates a set of combinations of start and end attitudes that satisfy the constraint information. When the constraint information associated with the path is obtained, the path planning unit calculates a set of paths that satisfy the constraint information.

8. The robot unit system design apparatus according to claim 7, wherein, The limiting information includes at least one of the following: the positional relationship between components, the non-configurable area of ​​a component, the specified position of the configured component, the gap relative to the component, the specified posture, and the specified path.

9. The robot unit system design apparatus according to claim 7, wherein, The robot unit system design device further includes a determination unit, which determines the following: Among the candidates for configuration planned by the configuration planning department, whether the component can be accommodated in the configurable area and whether the configuration cost related to the configuration reaches or exceeds a threshold. Whether the starting posture and the ending posture planned by the posture planning unit do not interfere with other components or obstacles, and whether the difference between the starting posture and the ending posture is below a threshold; and Whether the path can be calculated by the path planning unit, and whether the robot's motion time required for the operation is below a predetermined value.

10. The robot unit system design apparatus according to claim 9, wherein, If the determination unit determines the following, it will display the determination result to the user: In the candidate configurations planned by the configuration planning department, there is a case where the component is not accommodated in the configurable area, or the configuration cost is less than a threshold. The starting posture and the ending posture planned by the posture planning unit interfere with other components or obstacles, or the difference between the starting posture and the ending posture is greater than a threshold. as well as The path cannot be calculated by the path planning unit, or the robot's motion time required for the operation is greater than a predetermined value.

11. The robot unit system design apparatus according to claim 9, wherein, The configuration planning unit, the attitude planning unit, and the path planning unit shall cease processing if the determination unit determines that the following applies: In the candidate configurations planned by the configuration planning department, there is a case where the component is not accommodated in the configurable area, or the configuration cost is less than a threshold. The starting posture and the ending posture planned by the posture planning unit interfere with other components or obstacles, or the difference between the starting posture and the ending posture is greater than a threshold. as well as The path cannot be calculated by the path planning unit, or the robot's motion time required for the operation is greater than a predetermined value.

12. The robot unit system design apparatus according to any one of claims 1 to 3, wherein, The acquisition unit also acquires selection information and termination conditions. The selection information selects an executable planning pattern aimed at obtaining a solution and an optimal planning pattern aimed at obtaining the desired solution. The termination conditions correspond to the selected executable planning pattern or the optimal planning pattern. The robot unit system design device further includes a control unit that controls the configuration planning unit to calculate a candidate configuration that is different from the previous one, the posture planning unit and the path planning unit repeatedly perform the processing, and the evaluation unit selects the final configuration from the optimal configuration obtained in each repeated processing based on the path, until the termination condition is met.

13. The robot unit system design apparatus according to claim 12, wherein, When the optimal planning mode is selected, the control unit will, in each repeated process, present the configuration with the highest evaluation based on the current path cost to the user and receive an instruction from the user to stop the repeated process.

14. A robot unit system design method, wherein, The acquisition unit acquires specification information of the robot, which is a component of the robot unit system; component information, including shape information of components other than the robot, which are components of the robot unit system; and operation information related to the tasks performed by the robot. Based on the specification information, component information, and operational information, the configuration planning department calculates the configuration cost related to the configuration of the robot and components in each robot unit system. It then selects one or more patterns as candidates for the configuration, ranked from highest to lowest based on the evaluation of the configuration cost, or selects one or more patterns whose configuration cost meets predetermined conditions as candidates for the configuration. Based on the specification information, component information, and operational information, the attitude planning unit calculates a set of combinations of start and end poses for each robot action for each selected candidate configuration. Based on the specification information, component information, and operational information, the path planning department calculates a set of paths from the start posture to the end posture for each selected candidate configuration, considering each combination of the start posture and the end posture. Based on the path, the evaluation department selects the optimal configuration from the candidates for the configuration.

15. A program product comprising a robot cell system design program, said robot cell system design program being used to enable a computer to function as a component of: The acquisition unit acquires specification information of the robot, which is a component of the robot unit system; component information, including shape information of components other than the robot, which are components of the robot unit system; and operation information related to the operation performed by the robot. The configuration planning department, based on the specification information, the component information, and the operation information, calculates the configuration cost related to the configuration of the robot and the component in each robot unit system, and selects one or more patterns as candidates for the configuration in descending order of the evaluation shown by the configuration cost, or selects one or more patterns as candidates for the configuration whose configuration cost meets a predetermined condition. The posture planning unit, based on the specification information, the component information, and the operation information, calculates a set of combinations of the start posture of the robot's start point and the end posture of the end point for each selected candidate configuration. The path planning department, based on the specification information, the component information, and the operation information, calculates a set of paths from the start posture to the end posture for each combination of the start posture and the end posture for each selected candidate configuration; and The evaluation department selects the optimal configuration from the candidates for the configuration based on the path.