Adjustment device

The setting device optimizes robot motion by automatically adjusting evaluation function weights based on user-specified path information, addressing the inefficiencies in conventional weight adjustment methods and improving work efficiency by aligning robot movements with user preferences.

DE112022007657T5Pending Publication Date: 2025-06-05FANUC LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
DE112022007657
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-10-18
Publication Date
2025-06-05

AI Technical Summary

Technical Problem

Existing robot motion control technologies require time-consuming and effort-intensive adjustments of evaluation function weights to achieve desired robot motions, as the optimal weight values differ for each user, and conventional methods do not intuitively provide suitable weight settings.

Method used

A setting device that includes a path information acquiring unit and a weight setting unit to automatically set the weight of an evaluation function based on user-specified path information, optimizing the robot's path generation under constraint conditions, using a linear sum of multiple scoring functions to minimize errors across user programs.

Benefits of technology

Facilitates efficient adjustment of evaluation function weights, reducing the time and effort required to set robot movements, and ensures the generated paths align closely with user preferences, thereby enhancing work efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The present invention provides a technology capable of improving work efficiency by facilitating the setting of the weight of each evaluation function for controlling the movement of a robot. A setting device 10 sets an evaluation function for generating the trajectory of a robot 2 under a prescribed constraint condition. The setting device 10 includes: a trajectory information acquisition unit 14 that acquires trajectory information related to the trajectory of the robot 2 and set by a user; and a weight setting unit 15 that generates a weight W based on the trajectory information set by the user. i an evaluation function for generating the trajectory of robot 2.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to a setting device that sets an evaluation function to generate a path of a robot under a prescribed constraint condition. TECHNICAL BACKGROUND

[0002] Conventionally, a technology for controlling the motion of a robot by setting an evaluation function that uses the path of a robot's working part, such as a manipulator, as a variable and optimizes the evaluation function under a constraint condition such as no interference with surrounding objects is known (see, for example, Patent Document 1 and Patent Document 2). Examples of the evaluation function of this type include cycle time, power consumption, and distance and jerk with respect to surrounding objects. List of referencesPatent document Patent Document 1: Unexamined Japanese Patent Application, Publication No. H10-249761 Patent Document 2: Unexamined Japanese Patent Application, Publication No. H5-228860 DISCLOSURE OF THE INVENTION Problems to be solved by the invention

[0003] In practice, instead of using a single scoring function, a linear sum of multiple scoring functions can be used as the scoring function to improve effectiveness. Generally, the desired motions vary depending on the user and application, so the weighting of each scoring function needs to be adjusted. However, it is not intuitively clear what type of robot motion will be produced when the weighting of each scoring function is varied. Therefore, it is necessary to repeat the weighting adjustment to produce the desired motion, which requires time and effort.

[0004] Even in prior art technology, the process of optimizing the weight of each evaluation function is well known. However, since the optimal value is different for each user, a single fixed weight is not sufficient, and adjustment suitable for each user eventually becomes necessary. For example, there is a description in Patent Document 1 that multiple types of spray routes are displayed so that a user can select the desired route. However, this is only to deal with deviations in the result of each spray route operation caused by the stochastic nature of the weight optimization methods and does not mean that the weight is applied for each user. In conventional technology, there is still room for improvement in terms of facilitating the adjustment of the weight suitable for each user.

[0005] The present disclosure has been made in view of the above-mentioned problem, and an object of the present disclosure is to provide a technology capable of improving work efficiency by facilitating adjustment of the weight of each evaluation function for controlling the movement of a robot. Means to solve the problems

[0006] The present disclosure relates to a setting device that sets an evaluation function to generate a path of a robot under a prescribed constraint condition, the setting device comprising: a path information acquiring unit that acquires path information concerning the path of the robot and set by a user; and a weight setting unit that sets a weight of an evaluation function to generate the path of the robot based on the path information set by the user. Effects of the invention

[0007] The present disclosure can provide a technology capable of improving work efficiency by facilitating the setting of the weight of an evaluation function for controlling the movement of a robot. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a schematic view showing the configuration of a robot control system according to a first embodiment of the present invention; Fig. 2 is a functional block diagram of a control device of a robot according to the first embodiment; Fig. 3 is a diagram illustrating a method of setting an evaluation function for generating a path in the first embodiment; Fig. 4 is a diagram illustrating a method for setting the weight of the evaluation function in the first embodiment; Fig. 5 is a diagram illustrating the relationship between a plurality of user programs and the weight in the first embodiment; Fig. 6 is a flowchart showing an example of the flow of the process by the control device for the robot according to the first embodiment; Fig. 7 is a diagram illustrating a method for setting the weight of the evaluation function in a second embodiment; and Fig. 8 is a flowchart showing an example of the flow of the process by the control device for the robot according to the second embodiment. PREFERRED EMBODIMENT FOR CARRYING OUT THE INVENTION

[0008] Embodiments of the present disclosure will be described in detail below with reference to the drawings. Note that in the description of the second and subsequent embodiments, components similar to those of the first embodiment are denoted by identical reference numerals, so their descriptions are omitted. [First embodiment]

[0009] Fig. 1 is a schematic view showing the configuration of a robot control system 1 according to a first embodiment of the present invention. As shown in Fig. As shown in Fig. 1, the robot control system 1 includes, as main components, a robot 2, an input device 3, a display device 4, and a control device 10. The present embodiment is an example in which a setting device of the present disclosure is applied to the control device 10.

[0010] The robot 2 is, for example, an articulated robot, such as a 6-axis vertical articulated robot or a 4-axis vertical articulated robot. The robot 2 is electrically connected to the controller 10 and operates based on information input from the controller 10. Note that the robot 2 is not limited to the articulated arm robot and may be a Cartesian coordinate robot, a SCARA robot, a parallel-joint robot, or the like.

[0011] The input device 3 is an interface that receives information related to the work performed by the robot 2 and the control of the robot 2. The input device 3 is constituted by, for example, a keyboard or a touch panel and outputs the input information to the control device 10 based on a user's input operations.

[0012] The display device 4 is an output device that outputs information related to the work performed by the robot 2 and information related to the control of the robot 2. The display device 4 is formed, for example, from a display, a display with a speaker function, or the like, and displays an image based on the information input from the control device 10. The display device 4 may be formed from a touch panel configured integrally with the input device 3.

[0013] The control device 10 is constructed using a computer including a memory such as a read-only memory (ROM) and a random access memory (RAM), a control unit (CPU), and a communication control unit connected to each other via a bus. The functions and operations of each functional unit of the control device 10, which will be described below, are achieved through the cooperation of the CPU, the memory, and the control programs stored in the memory installed in the above-mentioned computer. Note that the control device 10 can be configured to control the robot 2 based on information input from an external computer.

[0014] The following is a description of a function for generating a path among the control functions of the control device 10 concerning the movements of the robot in the present embodiment. Fig. 2 is a functional block diagram of the control device 10 for the robot 2 according to the present embodiment. As shown in Fig. 2, the control device 10 comprises a storage unit 11, an input processing unit 12, an output processing unit 13, a path information acquisition unit 14, a weight setting unit 15, and a path generation unit 16 as functional units.

[0015] The storage unit 11 stores various types of information such as programs for operating the robot 2, information concerning the work, movement, or the like of the robot 2, and information for displaying images that display various types of information on the display device 4.

[0016] The input processing unit 12 performs a process of acquiring user operation information received via the input device 3.

[0017] The output processing unit 13 performs a process of displaying images on the display device 4 that indicate various types of information generated in the control device 10.

[0018] The path information acquisition unit 14 acquires path information related to the path specified by the user and stored in the storage unit 11. In the first embodiment, the path information is a user program.

[0019] The weight setting unit 15 sets the weight of an evaluation function based on the program acquired by the path information acquisition unit 14. The evaluation function is used to generate the path of the robot 2 under a prescribed constraint condition. Examples of the constraint condition include evaluation items that restrict the path of the robot 2, such as no interference with surrounding objects (for example, distance to the surrounding objects being a constant value or more), the movement speed of the robot being a prescribed speed α or less, an allowable load of the robot 2, and power consumption. Note that the method of setting the weight by the weight setting unit 15 in the present embodiment will be described later.

[0020] The following is a description of the path generation unit 16 with reference to Fig. 3. Fig. 3 is a diagram illustrating a method for setting an evaluation function for generating a path in the first embodiment. As shown in Fig. 3, the path generation unit 16 provides an evaluation function for generating the path based on a plurality of constraint conditions S and a weight W i each function determined by the weight setting unit 15.

[0021] The evaluation function is expressed, for example, by the following expression (1). The expression (1) is the same as that of the path generation unit 16 in Fig. 3. In expression (1), S represents a set of the constraint conditions mentioned above, W i represents the weight set for each evaluation function specifying constraint conditions, and Ji represents, for example, a cycle time, a distance to surrounding objects, a maximum jerk value, and an integral value of the jerk. According to expression (1), the parameters are set to minimize a linear sum of the evaluation functions specifying the constraint conditions, so that an optimal robot motion is derived. [Expression 1] θ*(t)=arg minθ(t)∈S∑iwiJi(θ(t))

[0022] Next, a method for setting the weight in the first embodiment will be described. Fig. 4 is a diagram illustrating a method for setting a weight of the evaluation function in the first embodiment. As shown in Fig. 4, the weight setting unit 15 optimizes the weight W iThe evaluation function uses a plurality of user programs P1 to P3 as path information. User programs P1 to P3 are the programs actually used by the user and are the information related to the path.

[0023] For example, the weight setting unit 15 optimizes the weight W i using the following expression (2). The expression (2) is the same as that used by Unit 15 for setting the weight in Fig. 4. As shown in expression (2), the weight setting unit 15 sets the weight of the evaluation function so that the difference between the path (θ*) based on each of the user programs P1 to P3 and the path (θ j), which is generated based on the evaluation function, is minimized. It is noted that the difference between the paths (θ*) of the user programs P1 to P3 and the path (θ j ), which is generated by the evaluation function, is calculated based on a maximum possible value. In other words, the weighting W i optimized to minimize error under the worst conditions. [Expression 2] wi*=arg minwi maxj‖θ*−θj‖

[0024] Fig. Figure 5 is a diagram showing the relationship between the user programs P1 to P3 and the weight W i illustrated in the first embodiment. Fig. Figure 5 shows actual paths based on the respective user programs P1 to P3 by solid lines. The actual path based on the user program P1 is the path calculated based on a function θ 1 (t) in Fig. 4. Similarly, the actual path based on the user program P2 is the path generated based on a function θ 2 (t), and the actual path based on the user program P3 is the path generated based on a function θ 3 (t) is generated.

[0025] Fig. 5 also shows a path that is based on a predefined weight W under a certain condition 1 generated by a dashed line. The weighting W 1 For example, is set to shorten the cycle time as much as possible, and the shorter the cycle time, the more sudden movements occur, which increases the load and power consumption of robot 2. Fig. 5 shows the path based on a weighting W 2 which is generated under conditions other than the weighting W 1is set by a dashed line. The weighting W 2 For example, is set so that the load on robot 2 is reduced as much as possible, and the path of robot 2 is relatively gradual.

[0026] In the Fig. In the example shown in Figure 5, the weighting W 1 The calculated path has a large error with respect to user program P1 and a very small error with respect to user programs P2 and P3. Therefore, the maximum value of the error is large. On the other hand, the maximum value of the error is smaller than for the path based on W 1 , since the path is based on the weight W 2 has a minor error with respect to all user programs P1 to P3. Therefore, in the Fig. 5 shown example the weighting W 2 more suitable than the weighting W 1 than the weighting W iwhich is common to the multitude of user programs P1 to P3.

[0027] The following is a description of the flow of path generation by the control device 10 in the first embodiment. Fig. Fig. 6 is a flowchart showing an example of the flow of the process by the control device 10 for the robot 2 according to the first embodiment. It is noted that the Fig. 6 is merely an example, and the order of processing or the like is not limited to this example.

[0028] When the process related to path generation is started, the path information acquisition unit 14 acquires a plurality of user programs P1 to P3 from the storage unit 11 (step S10). Then, the path generation unit 16 generates information indicating actual paths based on the user programs P1 to P3 (step S11). The path generation unit 16 also generates a plurality of paths based on preset weights (step S12).

[0029] The weight setting unit 15 then compares the actual paths based on the user program P1 to P3 and a plurality of paths based on the preset weights to determine the weight W i that minimizes the error (step S13). The path generation unit 16 then determines the evaluation function based on the weighting W iwhich was set by the weight setting unit 15 (step S14).

[0030] The output processing unit 13 outputs information containing the evaluation function and the weight W i set by the weight setting unit 15 (step S15). For example, the output processing unit 13 may display on the display device 4 a display such as "A new weight common to user programs is being set."

[0031] The control device 10 that controls the movement of the robot 2 according to the first embodiment described above exhibits the following effects. Specifically, the control device 10 for the robot 2 includes the path information acquisition unit 14 that acquires path information concerning the path of the robot 2 and designated by a user, and the weight setting unit 15 that determines the weight W based on the path information designated by the user. i a weighting function to generate the movement of robot 2. This reduces the time and effort required to set the weighting W ithe evaluation function and enables the user to easily obtain the evaluation function that produces the movement of the robot 2 that is considered desirable by the user himself, so that the work efficiency for determining the movement of the robot 2 can be improved.

[0032] The path information acquiring unit 14 in the first embodiment acquires the plurality of user programs inputted by the user as the path information, and the weight setting unit 15 sets the weight W i for the function that affects the constraint condition. This determines the weight W i automatically adjusted according to the program used by the user, and therefore the path with the weight W i which is more suitable for the actual work of Robot 2.

[0033] The weight setting unit 15 in the first embodiment sets the weight W i that is common to all of the plurality of user programs to prevent the difference between the paths of the robot 2 from increasing based on the plurality of user programs. This eliminates the need to set the weight for each user program, so that the user's burden for weight setting can be effectively reduced.

[0034] The control device 10 in the first embodiment further comprises the output processing unit 13 which outputs information indicating the weight W i and are set by the weight setting unit 15. This allows the user to make various settings regarding the movement of the robot 2 after receiving the information regarding the weight W iwhich is set based on the variety of user programs. [Second embodiment]

[0035] The following is a description of the control device 10 for the robot 2 in a second embodiment. Fig. 7 is a diagram illustrating a method for setting the weight of the evaluation function in the second embodiment. Note that the control device 10 according to the second embodiment differs from the control device 10 for the robot 2 according to the first embodiment in the method for setting the weight, and is consistent with the first embodiment in other conventional aspects.

[0036] In the second embodiment, the storage unit 11 stores information indicating typical application movements, such as movements at the time of handling or spot welding.

[0037] As in Fig. 7, the path generation unit 16 generates the paths based on a plurality of different weights W i for an application movement. In other words, the path generation unit 16 performs a simulation using a plurality of weighting types for the application movement. As a result, a plurality of paths are generated from which the user can select a desired path. In the Fig. In the example shown in Figure 7, a simulation result for the path using the evaluation function based on the weight W i 1 and a simulation result for the path using the evaluation function based on a weight W i 2 issued.

[0038] In the second embodiment, a desired path selected by the user from the plurality of simulation results is defined as the path information, and the weight is set based on the path information. In the Fig. In the example shown in Figure 7, the simulation result for the path is calculated using the evaluation function based on the weight W i 2 selected as a desired movement of a user.

[0039] The weight setting unit 15 in the second embodiment sets a new weight W i+1 based on the weighting W i 2 according to the simulation result specified by the user. For example, the weight setting unit 15 sets a new weight W i+1 1 based on W i+1 1 = W i 2 +Δ and sets a new weighting Wi+1 2 based on W i+1 2 = W i 2 -Δ. In this example, the new weighting W i+1 to be presented to the user by adding or subtracting the weight W i 2 according to the result of the user's selection.

[0040] The path generation unit 16 again performs simulations based on the adjusted weights to calculate the path of the robot 2 based on W i+1 1 and the path of robot 2 based on W i+1 2 The output processing unit 13 then executes the processing to determine the path of the robot 2 based on W i+1 1 and the path of robot 2 based on W i+1 2on the display device 4. As a result, the user selection is performed again. Thus, the user selection and weight adjustment processing are repeated so that the weight of the evaluation function for generating the path is set to a value more suitable for the user.

[0041] A description will now be given of the flow of path generation by the control device 10 in the second embodiment. Fig. Fig. 8 is a flowchart showing an example of the flow of processing by the control device 10 for the robot 2 according to the second embodiment. It is noted that the Fig. 8 is merely an example, and the order of processing or the like is not limited to this example.

[0042] When the process concerning the path generation is started, the path generation unit 16 reads typical application movements from the storage unit 11 and executes a simulation process to generate the paths based on a plurality of evaluation functions, which differ in the setting of the weight W i for the application movement (step S20).

[0043] Next, the output processing unit 13 performs output processing for displaying an image on the display device 4 to allow the user to select a plurality of paths generated by simulation processing (step S21). The input processing unit 12 then waits for the input of the user selection operation via the input device 3 (step S22). When the user selection operation is input, the input processing unit 12 moves the process to step S23 (step S22: Yes). Note that the input processing unit 12 continues the wait process until the result of the user selection is input (step S22: No), although the input processing unit 12 may be configured to terminate the process when a certain period of time has elapsed or when it receives the user operation instructing cancellation.

[0044] In step S23, as described above, the weight setting unit 15 sets the weight W i based on the user selection operation and sets the new weight W i+1 (step S23).

[0045] The weight setting unit 15 determines whether a termination condition is met or not (step S24). The termination condition is a preset condition for determining the weight setting W i The termination condition may be, for example, the case where the input processing unit 12 detects a user operation to terminate the weight setting via the input device 3, or the case where the number of times of user selection reaches a prescribed number of times.

[0046] If the termination condition is not met, the weight setting unit 15 returns to the process of step S20 (step S24; No) to recalculate the application movement path based on the adjusted weight W i+1 This results in step S20 and the subsequent process being repeated again.

[0047] If the termination condition is met in step S24, the weight setting unit 15 moves the process to step S25 (step S24; Yes). In step S25, the weight W i confirmed and the evaluation function for generating the path is confirmed.

[0048] The control device 10 for the robot 2 according to the second embodiment described above exhibits the following effects. The control device 10 for the robot 2 according to the present embodiment further includes the output processing unit 13, which outputs a plurality of simulation results for the path of the robot based on a plurality of evaluation functions that differ in the setting of the weight W. i wherein the path information acquisition unit 14 uses as the path information the simulation result set by the user from the plurality of initial simulation results, and the weight setting unit 15 sets a weight W i the evaluation function based on the weighting W ithe evaluation function corresponding to the simulation result specified by the user. As a result, an intuitive interface that allows for specifying the simulation result allows the weighting to be adjusted for each user even before the user program is entered.

[0049] In the second embodiment, the output processing unit 13 outputs the simulation result of the weight newly set by the weight setting unit 15, and the weight setting unit 15 resets a weight of the evaluation function based on the weight of the evaluation function corresponding to the simulation result newly set by the user. Since a plurality of user-specified times are reflected in the weight setting, the weight is set to better reflect the user's intention.

[0050] Although the present disclosure has been described in detail, it is not limited to the disclosed embodiments. Various additions, substitutions, modifications, and partial deletions may be made to these embodiments without departing from the gist of the present disclosure or without departing from the conceptual spirit of the present disclosure, which is derived from the content and equivalents defined in the claims. These embodiments may also be carried out in combination. For example, in the above embodiments, the order of each operation and the order of each process are exemplary and not restrictive. The same applies when numerical values ​​or expressions are used to describe the above embodiments.

[0051] For example, in the above embodiments, the setting device of the present disclosure is applied to the control device for the robot. However, the setting device of the present disclosure can also be applied to an external computer, a robot simulation device, or the like, without being limited thereto. It is also possible to combine the above embodiments such that after the user program is input, the weight is determined according to the configuration of the first embodiment, and before the user program is input, the weight is determined according to the configuration of the second embodiment, for example.

[0052] In conjunction with the above embodiments and modification examples, the additions below are further disclosed. (Supplement 1)

[0053] A setting device (10) that sets an evaluation function for generating a path of a robot (2) under a prescribed constraint condition, the setting device (10) comprising: a path information acquiring unit (14) that acquires path information concerning the path of the robot (2) and set by a user; and a weight setting unit (15) that sets a weight of an evaluation function for generating the path of the robot (2) based on the path information set by the user. (Supplement 2)

[0054] The setting device (10), wherein the path information acquiring unit (14) acquires, as the path information, a plurality of user programs input by the user, and the weight setting unit (15) sets the weight based on the plurality of user programs. (Supplement 3)

[0055] The setting device (10), wherein the weight setting unit (15) sets the weight common to all of the plurality of user programs to prevent the difference between the paths of the robot based on the plurality of user programs from increasing. (Supplement 4)

[0056] The setting device (10) further comprises an output processing unit (13) which outputs information relating to the weighting and is set by the weighting setting unit (15). (Supplement 5)

[0057] The setting device (10) further comprises an output processing unit (13) that outputs a plurality of simulation results for the path of the robot (2) based on a plurality of evaluation functions that differ in weight setting, wherein the path information acquiring unit (14) acquires, as path information, the simulation result set by the user from the plurality of output simulation results, and the weight setting unit (15) resets a weight based on the weight of the evaluation function corresponding to the simulation result set by the user. (Supplement 6)

[0058] The setting device (10), wherein the output processing unit (13) outputs a simulation result of the weight newly set by the weight setting unit (15), and the weight setting unit (15) resets a weight based on the weight of the evaluation function according to the simulation result newly set by the user. LIST OF REFERENCE SYMBOLS 2 robots 10 Control device 11 Storage unit 12 Input processing unit 13 Unit for processing outputs 14 Unit for capturing path information 15 Unit for setting the weighting 16 Path generation unit QUOTES CONTAINED IN THE DESCRIPTION

[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature

[0000] JP 10-249761

[0002] JP 5-228860

[0002]

Claims

[1] A setting device that sets an evaluation function to generate a path of a robot under a prescribed constraint condition, the setting device comprising: a path information acquisition unit that acquires path information concerning the path of the robot and specified by a user; and a weight setting unit that sets a weight of the evaluation function for generating the path of the robot based on the path information set by the user. [2] Adjustment device according to claim 1, wherein the path information acquisition unit acquires as path information a plurality of user programs input by the user, and the weight setting unit sets the weight based on the plurality of user programs. [3] The setting device according to claim 2, wherein the weight setting unit sets the weight common to all of the plurality of user programs so as to prevent an increase in the difference between the paths of the robot based on the plurality of user programs. [4] The setting device according to any one of claims 1 to 3, further comprising an output processing unit that outputs information related to the weighting set by the weighting setting unit. [5] The setting device according to claim 1, further comprising an output processing unit that outputs a plurality of simulation results for the path of the robot based on a plurality of evaluation functions that differ in weight setting, wherein the path information acquisition unit acquires as the path information the simulation result specified by the user from the plurality of output simulation results, and the weight setting unit resets a weight based on the weight of the evaluation function according to the simulation result set by the user. [6] The setting device according to claim 5, wherein the output processing unit outputs a simulation result of the weight newly set by the weight setting unit, and the weight setting unit resets a weight based on the weight of the evaluation function according to the simulation result newly set by the user.

Citation Information

Patent Citations

  • 5-228860

  • 10-249761