Adjusting device

By designing a weight adjustment device for evaluation function for robot tracks, the problem of unintuitive weight adjustment in the prior art is solved and the operation efficiency is improved.

CN120018936APending Publication Date: 2025-05-16FANUC LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202280100907.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-10-18
Publication Date
2025-05-16

AI Technical Summary

Technical Problem

In the prior art, the weight of the evaluation function to adjust the robot track is not intuitive, resulting in repeated adjustments when generating the desired action, which is inefficient.

Method used

An adjustment device is designed, through the track information acquisition unit and the weight setting unit, the weight of the evaluation function is set according to the track information specified by the user, and the weight adjustment process is simplified.

Benefits of technology

The adjustment efficiency of the evaluation function weight is improved and the effort is reduced. Users can more easily obtain the evaluation function that they think is preferred, thereby improving the operation efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120018936A_ABST
    Figure CN120018936A_ABST
Patent Text Reader

Abstract

The invention provides a technology capable of improving work efficiency by facilitating adjustment of weights of evaluation functions used for controlling actions of a robot. An adjustment device (10) for adjusting an evaluation function for generating a trajectory of a robot (2) under predetermined constraint conditions is provided with: a trajectory information acquisition unit (14) for acquiring trajectory information relating to the trajectory of the robot (2) specified by a user; and a weight setting unit (15) that sets a weight (Wi) for generating an evaluation function for the trajectory of the robot (2) on the basis of the trajectory information specified by the user.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an adjustment device for adjusting an evaluation function for generating a trajectory of a robot under predetermined constraints. Background Art

[0002] Conventionally, the following technology is known: an evaluation function is set with the trajectory of a working part such as a robot's manipulator as a variable, and the robot's motion is controlled by optimizing under constraints such as no interference with surrounding objects (for example, see Patent Documents 1 and 2). Examples of such evaluation functions include cycle time, power consumption, clearance / jerk with surrounding objects, and the like.

[0003] Prior art literature

[0004] Patent Literature

[0005] Patent Document 1: Japanese Patent Application Laid-Open No. 10-249761

[0006] Patent Document 2: Japanese Patent Application Laid-Open No. 5-228860 Summary of the invention

[0007] Problems to be solved by the invention

[0008] In practice, in order to improve effectiveness, sometimes a linear sum of multiple evaluation functions is used as the evaluation function instead of a single evaluation function. Generally speaking, the desired action is different for each user and application, so it is necessary to adjust the weight of each evaluation function. However, it is not intuitively clear what kind of robot action is generated when the weight of each evaluation function is changed. Therefore, in order to generate the desired action, it is necessary to repeatedly adjust the weight, which takes time.

[0009] In the prior art, it is also known to set the weight of the evaluation function to the optimal process, but the optimal value is different for each user, so a fixed weight is not sufficient, and ultimately an adjustment suitable for the user is required. For example, in Patent Document 1, there is a record of the main idea of ​​displaying multiple injection paths so that the user can select the desired path, but this is only to deal with the deviation of the result of each injection path calculation caused by the probability of the weight optimization method, and does not apply the weight of each user. In the prior art, there is room for improvement in facilitating the adjustment of the weight suitable for the user.

[0010] The present disclosure has been made in view of the above-mentioned problems, and an object of the present disclosure is to provide a technology that can facilitate adjustment of the weight of an evaluation function for controlling the motion of a robot and improve work efficiency.

[0011] Means for solving problems

[0012] The present invention discloses an adjustment device that adjusts an evaluation function for generating a trajectory of a robot under predetermined constraints. The adjustment device comprises: a trajectory information acquisition unit that acquires trajectory information related to the trajectory of the robot specified by a user; and a weight setting unit that sets the weight of the evaluation function for generating the trajectory of the robot based on the trajectory information specified by the user.

[0013] Effects of the Invention

[0014] According to the present disclosure, it is possible to provide a technology that can facilitate adjustment of the weight of an evaluation function for controlling the motion of a robot and improve work efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 It is a schematic diagram showing the configuration of a robot control system according to a first embodiment of the present invention.

[0016] Figure 2 This is a functional block diagram of the robot control device according to the first embodiment.

[0017] Figure 3 This is a diagram for explaining a method of setting an evaluation function for generating a trajectory according to the first embodiment.

[0018] Figure 4 This is a diagram for explaining a method of setting weights of the evaluation function according to the first embodiment.

[0019] Figure 5 This is a diagram for explaining the relationship between a plurality of user programs and weights according to the first embodiment.

[0020] Figure 6 This is a flowchart showing an example of a process flow of the robot control device according to the first embodiment.

[0021] Figure 7 It is a diagram for explaining a method of setting weights of an evaluation function according to the second embodiment.

[0022] Figure 8 This is a flowchart showing an example of a process flow of the robot control device according to the second embodiment. DETAILED DESCRIPTION

[0023] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the description of the second embodiment and thereafter, the same reference numerals are given to the same configurations as those of the first embodiment, and the description thereof is appropriately omitted.

[0024] [First embodiment]

[0025] Figure 1 Schematic diagram showing the structure of the robot control system 1 according to the first embodiment. Figure 1 As shown, the robot control system 1 includes a robot 2, an input device 3, a display device 4, and a control device 10 as main components. This embodiment is an example in which the adjustment device of the present disclosure is applied to the control device 10.

[0026] The robot 2 is, for example, a multi-joint robot such as a six-axis vertical multi-joint robot or a four-axis vertical multi-joint robot. The robot 2 is electrically connected to the control device 10 and operates based on information input from the control device 10. In addition, the robot 2 is not limited to a multi-joint robot, and may also be an orthogonal coordinate robot, a horizontal multi-joint robot, a parallel robot, etc.

[0027] The input device 3 is an interface for receiving information related to the work performed by the robot 2 and the control of the robot 2. The input device 3 is composed of, for example, a keyboard, a touch panel, etc., and outputs input information based on the input operation of the user to the control device 10.

[0028] 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 composed of, for example, a display, a display with a speaker function, etc., and displays an image based on information input from the control device 10. The display device 4 may also be composed of a touch panel display integrally formed with the input device 3.

[0029] The control device 10 is configured using, for example, a computer having a memory such as a ROM (read only memory), a RAM (random access memory), a CPU (control processing unit), and a communication control unit connected to each other via a bus. The functions and actions of each functional unit of the control device 10 described below are realized by the cooperation of the CPU, the memory, and the control program stored in the memory mounted on the above-mentioned computer. In addition, the control device 10 may also be a structure that controls the robot 2 based on information input from an external computer.

[0030] Next, the function of generating a trajectory among the control functions related to the motion of the robot of the control device 10 of the present embodiment will be described. Figure 2 1 is a functional block diagram of the control device 10 of the robot 2 of this embodiment. Figure 2 As shown, the control device 10 includes a storage unit 11 , an input processing unit 12 , an output processing unit 13 , a trajectory information acquisition unit 14 , a weight setting unit 15 , and a trajectory generation unit 16 as functional units.

[0031] The storage unit 11 stores various information such as a program for operating the robot 2 , information on the work and operation of the robot 2 , and information for displaying images representing various information on the display device 4 .

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

[0033] The output processing unit 13 executes a process of displaying an image representing various information generated by the control device 10 on the display device 4 .

[0034] The track information acquisition unit 14 acquires track information about a track designated by a user and stored in the storage unit 11. In the first embodiment, the track information is a user program.

[0035] The weight setting unit 15 sets the weight of the evaluation function according to the program obtained by the trajectory information acquisition unit 14. The evaluation function is used to generate the trajectory of the robot 2 under predetermined constraints. Constraints include, for example, no interference with surrounding objects (for example, the distance of the surrounding objects is greater than a certain distance), the moving speed of the robot is less than a predetermined speed α, the load that the robot 2 can tolerate, power consumption, and other evaluation items that constrain the trajectory of the robot 2. In addition, the method of setting the weight of the weight setting unit 15 of this embodiment will be described later.

[0036] Next, refer to Figure 3 The trajectory generating unit 16 will be described. Figure 3 FIG. 1 is a diagram for explaining a method for setting an evaluation function for generating a trajectory according to the first embodiment. Figure 4 As shown, the trajectory generation unit 16 generates a trajectory based on the plurality of constraints S and the weights W of the functions set in the weight setting unit 15. i To set the evaluation function used to generate the trajectory.

[0037] The evaluation function is represented by the following equation (1), for example. Figure 3 The equation used by the trajectory generation unit 16 in the equation (1) is the same as that used by the trajectory generation unit 16 in the equation (1). S in the equation (1) represents the set of the above-mentioned constraints, and W i represents the weight set for the evaluation function representing the constraint condition, J i For example, it represents cycle time, clearance with surrounding objects, maximum value of jerk, integrated value, etc. By setting parameters in equation (1) so that the linear sum of the evaluation function representing the constraint condition becomes minimum, the optimal robot motion is derived.

[0038] [Mathematical formula 1]

[0039]

[0040] Next, a method of setting weights in the first embodiment will be described. Figure 4 1 is a diagram for explaining a method for setting the weight of the evaluation function of the first embodiment. Figure 4 As shown, the weight setting unit 15 uses a plurality of user programs P1 to P3 as track information to optimize the weight W of the evaluation function. i The plurality of user programs P1 to P3 are programs actually used by the user and are information related to the track.

[0041] For example, the weight setting unit 15 optimizes the weight W using the following equation (2): i . Equation (2) and Figure 4 The weight setting unit 15 in is the same as the formula used in the weight setting unit 15. As shown in formula (2), the weight setting unit 15 makes the trajectory (θ) of the user programs P1 to P3 * ) and the trajectory generated by the evaluation function (θ j The weight of the evaluation function is set so that the difference between ) is minimized. In addition, the trajectory (θ * ) and the trajectory generated by the evaluation function (θ j ). That is, the optimization weight W i , making the worst-case error as small as possible.

[0042] [Mathematical formula 2]

[0043]

[0044] Figure 5 The first embodiment is used to describe the plurality of user programs P1 to P3 and the weights W. i The relationship diagram of Figure 5 In the figure, the actual trajectory based on the plurality of user programs P1 to P3 is indicated by solid lines. The actual trajectory of the user program P1 is based on Figure 4 The function θ 1 (t) The generated trajectory. Similarly, the actual trajectory of user program P2 is based on the function θ 2 (t) The generated trajectory, the actual trajectory of the user program P3 is based on the function θ 3 (t) Generated orbits.

[0045] In addition, Figure 5 In the figure, the dotted line indicates the weight W pre-set according to a certain condition. 1 Generated track. Weight W 1 For example, the cycle time is set to be as short as possible, and as the cycle time becomes shorter, more rapid movements occur, and the load and power consumption of the robot 2 increase. Figure 5 In the figure, the dashed line indicates the weight W. 1The weight W of different condition settings 2 Generated track. Weight W 2 For example, the robot 2 is set to have a relatively gentle trajectory in order to reduce the load on the robot 2 as much as possible.

[0046] exist Figure 5 In the example, based on the weight W 1 The error of user program P1 becomes larger, and the error of user program P2 and user program P3 becomes extremely small. Therefore, the maximum value of the error becomes larger. On the other hand, based on the weight W 2 The error of the trajectory of the user program P1 to P3 is smaller than that of the total error based on W. 1 The orbit of is small. Therefore, Figure 5 In the example, the weight W 2 Ratio weight W 1 It is more suitable as a weight Wi shared by multiple user programs P1 to P3.

[0047] Next, the process flow of trajectory generation by the control device 10 according to the first embodiment will be described. Figure 6 1 is a flowchart showing an example of the processing flow of the control device 10 of the robot 2 according to the first embodiment. Figure 6 The flowchart shown is just an example, and the order of processing and the like are not limited to this example.

[0048] When the process related to trajectory generation starts, the trajectory information acquisition unit 14 acquires a plurality of user programs P1 to P3 from the storage unit 11 (step S10). Next, the trajectory generation unit 16 generates information indicating actual trajectories based on the user programs P1 to P3 (step S11). In addition, the trajectory generation unit 16 generates a plurality of trajectories based on preset weights (step S12).

[0049] Next, as described above, the weight setting unit 15 compares the actual trajectory based on the user programs P1 to P3 with a plurality of trajectories based on the preset weights, and sets the weight W so that the error is minimized. i (Step S13). Then, the trajectory generation unit 16 calculates the weight W set by the weight setting unit 15. i To determine the evaluation function (step S14).

[0050] The output processing unit 13 outputs the evaluation function and the weight W set by the weight setting unit 15. i The output processing unit 13 outputs a display such as "a weight common to a plurality of user programs has been newly set" to the display device 4, for example.

[0051] According to the control device 10 for controlling the motion of the robot 2 according to the first embodiment described above, the following effects are achieved. That is, the control device 10 for the robot 2 includes: a trajectory information acquisition unit 14 that acquires trajectory information related to the trajectory of the robot 2 specified by the user; and a weight setting unit 15 that sets the weight W for generating the evaluation function of the motion of the robot 2 based on the trajectory information specified by the user. i Thus, the weight W of the adjustment evaluation function is reduced. i With little effort, the user can easily obtain an evaluation function for generating the action of the robot 2 that the user considers to be optimal, thereby improving the work efficiency for determining the action of the robot 2.

[0052] In addition, the track information acquisition unit 14 of the first embodiment acquires a plurality of user programs input by the user as track information, and the weight setting unit 15 sets the weight W of the function for the constraint condition. i Thus, the weight W is automatically adjusted according to the program used by the user. i , so it is possible to use a weight W that is more suitable for the actual operation of the robot 2 i to generate tracks.

[0053] The weight setting unit 15 of the first embodiment sets a weight W common to all of the plurality of user programs. i , so that the difference between the trajectories of the robot 2 based on multiple user programs does not increase. As a result, there is no need to set a weight for each user program, and the burden on the user related to weight adjustment can be effectively reduced.

[0054] The control device 10 of the first embodiment further includes an output processing unit 13 that outputs a value corresponding to the weight W set by the weight setting unit 15. i Thus, the user can understand the weight W set based on multiple user programs. i Based on the relevant information, various adjustments related to the operation of the robot 2 are performed.

[0055] [Second embodiment]

[0056] Next, the control device 10 of the robot 2 according to the second embodiment will be described. Figure 7 1 is a diagram for explaining a method of setting weights of an evaluation function according to the second embodiment. The control device 10 according to the second embodiment differs from the control device 10 of the robot 2 according to the first embodiment in a method of setting weights, but the other structures are the same as those of the first embodiment.

[0057] In the second embodiment, the storage unit 11 stores information indicating representative application actions such as operations and actions during spot welding.

[0058] like Figure 7 As shown, the trajectory generation unit 16 generates a plurality of different weights W based on the i Generate a track for the application action. In other words, the track generation unit 16 simulates the application action using a plurality of weights. Thus, a plurality of tracks are generated for the user to select a desired track. Figure 7 In the example, by using the weight W i 1 The evaluation function outputs the simulation results of the track based on the weight W i 2 The evaluation function outputs the simulation results of the orbit.

[0059] In the second embodiment, the result of the user selecting a desired track from a plurality of simulation results is used as track information related to the track, and the weight is set based on the track information. Figure 7 In the example, by using the weight W i 2 The evaluation function is used to select the simulation result of the trajectory as the action expected by the user.

[0060] The weight setting unit 15 of the second embodiment uses the weight W corresponding to the simulation result specified by the user. i 2 As a benchmark, set a new weight W i+1 For example, the new weight W i+1 1 Reset to W i+1 1 =W i 2 +Δ, and the new weight W i+1 2 Set to W i+1 2 =W i 2 -Δ. In this example, by assigning a weight W corresponding to the user's selection result i 2 Perform addition or subtraction to set the new weight W to be presented to the user. i+1 .

[0061] The trajectory generation unit 16 performs simulation again based on the adjusted weights to generate a trajectory based on W i+1 1 The trajectory of robot 2 and the W i+1 2 Then, the output processing unit 13 executes the output processing based on W i+1 1 The trajectory of robot 2 and the W i+1 2The process of displaying the trajectory of the robot 2 on the display device 4. Thus, the user's selection is performed again. In this way, by repeating the process of user selection and weight adjustment, the weight of the evaluation function for generating the trajectory is adjusted to a value more suitable for the user.

[0062] Next, a description will be given of a process flow for trajectory generation by the control device 10 according to the second embodiment. Figure 8 2 is a flowchart showing an example of the processing flow of the control device 10 of the robot 2 according to the second embodiment. Figure 8 The flowchart shown is just an example, and the order of processing and the like are not limited to this example.

[0063] When the process related to trajectory generation starts, the trajectory generation unit 16 reads out the representative application action from the storage unit 11 and executes the operation based on the weight W. i A simulation process of generating a trajectory by applying a plurality of evaluation functions with different settings to the action is performed (step S20).

[0064] Next, the output processing unit 13 performs output processing to display an image of a plurality of tracks generated by the simulation processing for the user to select on the display device 4 (step S21). Then, the input processing unit 12 waits for the user's selection operation to be input through the input device 3 (step S22). If the user's selection operation is input, the input processing unit 12 transfers the processing to step S23 (step S22; yes). In addition, the input processing unit 12 continues the standby processing (step S22; no) until the user's selection result is input, but it can also be configured to end the processing when a constant time has passed or when a user's operation instructing termination is received.

[0065] In step S23, as described above, the weight setting unit 15 adjusts the weight W based on the user's selection operation. i , set a new weight W i+1 (Step S23).

[0066] The weight setting unit 15 determines whether the termination condition is satisfied (step S24). The termination condition is to terminate the weight W i The end condition may be, for example, a case where the input processing unit 12 detects that an operation to end the user's weight setting has been accepted through the input device 3, or the number of selections by the user reaches a predetermined number.

[0067] If the end condition is not satisfied, the weight setting unit 15 returns the process to step S20 to adjust the weight W based on the adjusted weight W. i+1 The trajectory for the application action is generated again (step S24; Yes). Thus, the processing after step S20 is repeated again.

[0068] In step S24, if the end condition is satisfied, the weight setting unit 15 transfers the process to step S25 (step S24; No). In step S25, the weight W is determined. i And determine the evaluation function used to generate the trajectory.

[0069] According to the control device 10 of the robot 2 of the second embodiment described above, the following effects are achieved. The control device 10 of the robot 2 of this embodiment further includes an output processing unit 13, which outputs a plurality of weights W. i The trajectory information acquisition unit 14 acquires the simulation result specified by the user from the multiple output simulation results as the trajectory information, and the weight setting unit 15 sets the weight W of the evaluation function corresponding to the simulation result specified by the user based on the weight W of the evaluation function i To reset the weight W of the evaluation function i Thus, even before inputting a user program, the weight of each user can be adjusted through an intuitive interface such as specifying simulation results.

[0070] In addition, 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 the weight of the evaluation function based on the weight of the evaluation function corresponding to the simulation result specified by the user again. Thus, the multiple user specifications are reflected in the weight setting, so the weight setting further reflects the user's intention.

[0071] The present disclosure has been described in detail, but the present disclosure is not limited to the above-mentioned embodiments. These embodiments can be variously added, replaced, changed, partially deleted, etc. without departing from the scope of the main purpose of the present disclosure, or without departing from the scope of the main purpose of the present disclosure derived from the contents recorded in the scope of the patent protection requested and its equivalents. In addition, these embodiments can also be implemented in combination. For example, in the above-mentioned embodiments, the order of each action and the order of each processing are shown as an example and are not limited to this. In addition, the same is true for the case where numerical values ​​or mathematical formulas are used in the description of the above-mentioned embodiments.

[0072] For example, in the above-mentioned embodiment, the adjustment device of the present disclosure is applied to the control device of the robot, but it is not limited to this, and it can also be applied to an external computer, a simulation device of the robot, etc. In addition, for example, the above-mentioned embodiments can also be combined by determining the weight by the structure of the first embodiment after the input of the user program, and determining the weight by the structure of the second embodiment before the input of the user program, etc.

[0073] The following additional notes are disclosed in relation to the above-mentioned embodiment and modified examples.

[0074] (Note 1)

[0075] An adjustment device (10) adjusts an evaluation function for generating a trajectory of a robot (2) under predetermined constraints, the adjustment device comprising:

[0076] a trajectory information acquisition unit (14) for acquiring trajectory information related to a trajectory of the robot (2) specified by a user; and

[0077] A weight setting unit (15) sets a weight of an evaluation function for generating a trajectory of the robot (2) based on the trajectory information specified by a user.

[0078] (Note 2)

[0079] In the adjustment device (10),

[0080] The track information acquisition unit (14) acquires a plurality of user programs input by a user as the track information.

[0081] The weight setting unit (15) sets the weight according to the plurality of user programs.

[0082] (Note 3)

[0083] In the adjustment device (10),

[0084] The weight setting unit (15) sets the weight common to all of the plurality of user programs so that a difference from a trajectory of the robot based on the plurality of user programs does not increase.

[0085] (Note 4)

[0086] In the adjustment device 10,

[0087] It also includes an output processing unit (13) that outputs information related to the weight set by the weight setting unit (15).

[0088] (Note 5)

[0089] In the adjustment device (10),

[0090] The method further comprises: an output processing unit (13) which outputs simulation results of the trajectory of the robot (2) based on a plurality of evaluation functions having different weight settings.

[0091] The track information acquisition unit (14) acquires a simulation result designated by a user from a plurality of output simulation results as the track information.

[0092] The weight setting unit (15) resets the weight based on the weight of the evaluation function corresponding to the simulation result designated by a user.

[0093] (Note 6)

[0094] In the adjustment device (10),

[0095] The output processing unit (13) outputs the simulation result of the weight reset by the weight setting unit (15),

[0096] The weight setting unit (15) resets the weight based on the weight of the evaluation function corresponding to the simulation result designated again by the user.

[0097] Description of Reference Numerals

[0098] 2. Robot

[0099] 10 Control device

[0100] 11 Storage

[0101] 12Input processing unit

[0102] 13 Output processing unit

[0103] 14 Track information acquisition unit

[0104] 15Weight Setting Section

[0105] 16 track generation unit.

Claims

1. An adjustment device for adjusting an evaluation function for generating a trajectory of a robot under predetermined constraints, characterized in that: The adjusting device comprises: a trajectory information acquisition unit that acquires trajectory information related to a trajectory of the robot specified by a user; and A weight setting unit sets a weight of an evaluation function for generating a trajectory of the robot based on the trajectory information specified by a user.

2. The adjustment device according to claim 1, characterized in that The track information acquisition unit acquires a plurality of user programs input by a user as the track information, The weight setting unit sets the weight according to the plurality of user programs.

3. The adjustment device according to claim 2, characterized in that The weight setting unit sets the weight common to all of the plurality of user programs so that a difference from a trajectory of the robot based on the plurality of user programs does not increase.

4. The adjustment device according to any one of claims 1 to 3, characterized in that The adjustment device further includes an output processing unit that outputs information related to the weight set by the weight setting unit.

5. The adjustment device according to claim 1, characterized in that: The adjustment device further includes: an output processing unit that outputs simulation results of the robot's trajectory based on a plurality of evaluation functions having different weight settings; The track information acquisition unit acquires a simulation result designated by a user from a plurality of output simulation results as the track information. The weight setting unit resets the weight based on the weight of the evaluation function corresponding to the simulation result designated by a user.

6. The adjustment device according to claim 5, characterized in that The output processing unit outputs the simulation result of the weights reset by the weight setting unit, The weight setting unit resets the weight based on the weight of the evaluation function corresponding to the simulation result designated again by the user.

Citation Information

Patent Citations

  • Control method of robot manipulator

    JP1993228860A

  • Die spray robot teaching method

    JP1998249761A