Evaluation device, evaluation method, and evaluation program

By designing evaluation equipment, multiple feature quantities of computer robot behavior and generating comprehensive scores, the problem that the existing technology is difficult to comprehensively evaluate the behavior of manipulator robots is solved, and a more accurate assessment of robot behavior and work efficiency is achieved.

JP2025076731APending Publication Date: 2025-05-16OMRON CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023188533
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-11-02
Publication Date
2025-05-16

AI Technical Summary

Technical Problem

It is difficult to fully evaluate the behavior of manipulator robots, including their own trajectory and posture, their impact on humans, and their relationship with obstacles.

Method used

An evaluation device is designed to calculate a plurality of feature quantities based on the robot behavior data through the first computing unit, and to calculate a comprehensive score using the second computing unit, including an index for evaluating obstacle risk and an index for robot work efficiency.

Benefits of technology

A more comprehensive and accurate assessment of the behavior of manipulator robots is achieved, which can reflect the effectiveness of the robot's obstacle avoidance operation and improve work efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025076731000001_ABST
    Figure 2025076731000001_ABST
Patent Text Reader

Abstract

To provide a new method for evaluating behavior as a cooperative robot.SOLUTION: An evaluation device includes: a first calculation unit for calculating a plurality of feature amounts based on behavior data of a manipulator robot; and a second calculation unit for calculating a score related to a behavior of the manipulator robot including an index for evaluating a risk to an obstacle and an index indicating work efficiency of the manipulator robot based on at least a part of the plurality of feature amounts.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a method for evaluating the behavior of a manipulator robot. [Background technology]

[0002] Conventionally, there are methods for evaluating manipulator robots. For example, JP 2021-501062 A (Patent Document 1) discloses a robot safety evaluation method that calculates the collision pressure and collision force applied to a worker based on the moving speed and moving path of each part taking into account the shape of the test robot, and determines whether the calculated values ​​fall within the International Organization for Standardization (ISO) standards, thereby improving the accuracy of safety evaluation.

[0003] In addition, JP 2019-518616 A (Patent Document 2) discloses a configuration for enabling optimization of any of the productivity factors of a robot, including task speed or execution time, task industrial profitability, and energy efficiency. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Special Publication No. 2021-501062 [Patent Document 2] Special Publication No. 2019-518616 Summary of the Invention [Problem to be solved by the invention]

[0005] In order to evaluate the behavior of a manipulator robot, it is necessary to evaluate not only the trajectory and posture of the manipulator robot itself, but also the impact that the manipulator robot has on people and the relationship between the manipulator robot and obstacles.

[0006] The above-mentioned prior art documents only disclose a method for evaluating a manipulator robot itself, but do not disclose a method for evaluating the behavior of a manipulator robot.

[0007] An object of the present invention is to provide a new method for evaluating the behavior of a manipulator robot. [Means for solving the problem]

[0008] An evaluation device according to one example of the present invention includes a first calculation unit that calculates a plurality of feature amounts based on behavior data of the manipulator robot, and a second calculation unit that calculates a score related to the behavior of the manipulator robot, including an index for evaluating a risk due to an obstacle and an index indicating the work efficiency of the manipulator robot, based on at least a portion of the plurality of feature amounts.

[0009] According to this configuration, a score including multiple indicators is calculated based on at least a portion of the multiple feature amounts calculated from the behavior data, so that the behavior of the manipulator robot can be more appropriately evaluated.

[0010] The generation of the behavior data may be based on at least one of actually operating the manipulator robot and executing a simulation regarding the operation of the manipulator robot. With this configuration, the behavior data for calculating the score can be generated in one or more ways.

[0011] The behavior data may include information on a trajectory determined in advance by a trajectory plan and information on the trajectory after being changed by an avoidance operation for an obstacle. With this configuration, an evaluation related to the avoidance operation for an obstacle can be reflected in the score based on the information on the trajectory determined in advance by a trajectory plan and the information on the trajectory after being changed by an avoidance operation for an obstacle.

[0012] The behavior data may include at least one of an angle target value, an angle actual value, an angular velocity target value, an angular velocity actual value, an angular acceleration target value, and an angular acceleration actual value of each joint constituting the manipulator robot. With this configuration, the behavior of each joint constituting the manipulator robot can be reflected in the score.

[0013] The behavior data may include a time required for the manipulator robot to move. With this configuration, the time required for the manipulator robot to move can be reflected in the score.

[0014] The evaluation device may further include an output unit that outputs the score. The output unit may provide a user interface screen that visualizes each index included in the score. With this configuration, the score can be visually represented via the user interface screen.

[0015] The behavior data may be one of a plurality of behavior data. The user interface screen may include an image in which the scores calculated from the plurality of behavior data are visualized so as to be comparable. This configuration makes it easy for the user to compare the behavior data.

[0016] An evaluation method executed by a computer according to another example of the present invention includes calculating a plurality of features based on behavior data of the manipulator robot, and calculating a score related to the behavior of the manipulator robot, including an index for evaluating the risk of an obstacle and an index indicating the work efficiency of the manipulator robot, based on at least a portion of the plurality of features.

[0017] An evaluation program according to yet another example of the present invention causes a computer to calculate a plurality of features based on behavior data of the manipulator robot, and calculate a score related to the behavior of the manipulator robot, including an index for evaluating the risk of obstacles and an index indicating the work efficiency of the manipulator robot, based on at least a portion of the plurality of features. Effect of the Invention

[0018] According to the present invention, the behavior of a manipulator robot can be evaluated more appropriately. [Brief description of the drawings]

[0019] [Figure 1] FIG. 1 is a diagram for explaining an overview of an evaluation method according to an embodiment of the present invention. [Diagram 2] FIG. 1 is a schematic diagram showing a configuration example of a robot system according to an embodiment of the present invention. [Diagram 3] 1 is a schematic diagram showing an example of a hardware configuration of an information processing device according to an embodiment of the present invention; [Figure 4] 5A to 5C are diagrams for explaining an example of a trajectory plan for the manipulator robot according to the present embodiment. [Diagram 5] FIG. 2 is a schematic diagram showing an example of a software configuration of a robot system according to the present embodiment. [Figure 6] 13 is a flowchart showing a processing procedure for acquiring behavior data in the evaluation method according to the present embodiment. [Figure 7] 13 is a flowchart showing a processing procedure for calculating a behavior score in the evaluation method according to the present embodiment. [Figure 8] 4 is a graph showing an example of kinetic energy and potential energy calculated in the evaluation method according to the present embodiment. [Figure 9] 11A to 11C are diagrams for illustrating an example of a method for calculating travel time efficiency and travel distance efficiency in the evaluation method according to the present embodiment. [Figure 10] 13 is an example showing a relationship between a feature amount calculated in the evaluation method according to the present embodiment and each index of a behavior score. [Figure 11] FIG. 2 is a schematic diagram showing an example of a user interface screen provided in the evaluation method according to the present embodiment. [Figure 12] FIG. 13 is a schematic diagram showing another example of a user interface screen provided in the evaluation method according to the present embodiment.

Embodiment for Carrying Out the Invention

[0020] Embodiments of the present invention will be described in detail with reference to the drawings. For the same or corresponding parts in the drawings, the same reference numerals are given and the description thereof will not be repeated.

[0021] <A. Application Example> In the present embodiment, the "manipulator robot" means a robot capable of performing arbitrary operations such as gripping, processing, moving, and rotating on an object (workpiece). In the following description, a case where a vertically articulated robot is used as an example of the manipulator robot will be described. Also, the manipulator robot may be abbreviated as "robot".

[0022] In the present embodiment, the manipulator robot may be used as a collaborative robot (or a cooperative robot). The collaborative robot is used in the same working space as the working space where a person works.

[0023] The evaluation method according to the present embodiment calculates a score related to the behavior of the manipulator robot. In the following, an example in which the behavior of the manipulator robot used as a collaborative robot is evaluated is shown. However, according to the present embodiment, even for a manipulator robot used for applications other than collaborative robots, the behavior of the manipulator robot can be evaluated.

[0024] FIG. 1 is a diagram for explaining the outline of the evaluation method according to the present embodiment. Referring to FIG. 1, a system for realizing the evaluation method according to the present embodiment includes a feature quantity calculation unit 150 and a behavior score calculation unit 152.

[0025] The feature quantity calculation unit 150 corresponds to the first calculation unit and calculates a plurality of feature quantities based on the behavior data 50 of the manipulator robot.

[0026] In the present embodiment, the "behavior data" includes data indicating the behavior of the manipulator robot. The behavior data 50 may be acquired by actually operating the manipulator robot, or may be acquired by simulation regarding the operation of the manipulator robot.

[0027] The behavior score calculation unit 152 corresponds to the second calculation unit, and calculates a score regarding the behavior of the manipulator robot (hereinafter, also referred to as "behavior score" in order to distinguish it from other scores) based on at least a part of a plurality of feature amounts. The behavior score includes a plurality of indexes. More specifically, the behavior score includes an index for evaluating the risk against an obstacle and an index indicating the working efficiency of the manipulator robot.

[0028] <B. Hardware Configuration Example> Next, a hardware configuration example for realizing the evaluation method according to the present embodiment will be described.

[0029] FIG. 2 is a schematic diagram showing a configuration example of the robot system 1 according to the present embodiment. Referring to FIG. 2, the robot system 1 includes a robot 300 and a controller 200 for controlling the robot 300. The controller 200 generates a command for driving the robot 300 based on a pre-prepared algorithm.

[0030] The information processing device 100 is an example of the evaluation device. The information processing device 100 calculates a behavior score including a plurality of indexes based on the behavior data 50 acquired from the controller 200 or the behavior data 50 prepared by an arbitrary method.

[0031] 3 is a schematic diagram showing an example of a hardware configuration of an information processing device 100 according to the present embodiment. With reference to FIG. 3, the information processing device 100 is an example of a computer, and includes one or more processors 102, a memory 104, an input interface 106, a display interface 110, a Universal Serial Bus (USB) controller 114, a network controller 116, and a storage 120.

[0032] The one or more processors 102 provide processes and functions as described below by executing computer-readable instructions included in a program stored in the storage 120. When the one or more processors 102 execute computer-readable instructions included in the program, a part or all of the program may be deployed in the memory 104.

[0033] The storage 120 is a non-transitory computer-readable medium. For example, an operating system (OS) 122 and an evaluation program 124 are stored in the storage 120. The OS 122 includes computer-readable instructions for providing functions required by a computer and computer-readable instructions for generating an environment for executing the evaluation program 124.

[0034] The evaluation program 124 corresponds to an information processing program according to the present invention and includes computer readable instructions for calculating a behavior score.

[0035] The input interface 106 receives input commands from an input device 108 such as a keyboard, a touch panel, a mouse, or a tablet. The input device 108 may be a part of the configuration of the information processing device 100.

[0036] The display interface 110 outputs a video signal to a display 112. The display 112 may be a part of the configuration of the information processing device 100.

[0037] A USB (Universal Serial Bus) controller 114 exchanges data with the controller 200 etc. The USB controller 114 may also function as at least one of the input interface 106 and the display interface 110.

[0038] A network controller 116 exchanges data with other information processing devices via the network.

[0039] In this specification, the term "processor" includes hardwired circuits as well as arithmetic circuits that sequentially execute computer-readable instructions, such as a central processing unit (CPU) and a graphics processing unit (GPU). Examples of hardwired circuits include application specific integrated circuits (ASICs) and field programmable gate arrays (FPGAs). The term "processor" includes a system on a chip (SoC) that integrates a core, memory, and peripheral circuits.

[0040] 3, the controller 200 includes one or more processors, a memory, a storage, a communication interface for exchanging data with the information processing device 100, and a communication interface for exchanging data with the robot 300. The hardware configuration of the controller 200 is publicly known, and therefore will not be described in further detail.

[0041] Robot 300 includes motors for driving each joint that constitutes a manipulator (the arm of robot 300), and a driver for supplying power to the motors. Robot 300 includes sensors for measuring loads generated in the manipulator and the like, and sensors for detecting people and obstacles present in the vicinity of robot 300. Robot 300 includes an interface circuit that transmits commands from controller 200 to the driver and transmits measurement results by the sensors to controller 200. Since the hardware configuration of robot 300 is well-known, no further detailed description will be given.

[0042] <C. Trajectory Planning and Avoidance Operations> Next, the trajectory planning of the manipulator robot according to the present embodiment will be described.

[0043] FIG. 4 is a diagram for explaining an example of the trajectory planning of the manipulator robot according to the present embodiment. FIG. 4 shows examples of two types of trajectory planning algorithms.

[0044] Referring to FIG. 4, the trajectory planning algorithm includes path planning and trajectory planning. Path planning is a process of determining a path from a starting point to an ending point. Path planning includes a process of searching for and determining one or more relay points set on the way from the starting point to the ending point. In path planning, basically, the dynamics of the robot may not be considered.

[0045] In the trajectory planning algorithm A shown in FIG. 4, AN relay points are set between the starting point and the ending point, and in the trajectory planning algorithm B, BM relay points are set between the starting point and the ending point.

[0046] The trajectory planning includes a process of searching for and determining the trajectory in each section defined by a starting point, one or more relay points, and an ending point. In the trajectory planning, movement parameters for moving the robot along the determined trajectory are determined in consideration of the dynamics of the robot. The movement parameters include, for example, the speed target values of the joints constituting the manipulator of the robot 300.

[0047] In the trajectory planning algorithm A shown in FIG. 4, AN + 1 sections are set between the starting point and the ending point, and in the trajectory planning algorithm B, BM + 1 sections are set between the starting point and the ending point.

[0048] Thus, the finally determined trajectory planning includes movement parameters for the robot to move in each section. Note that the trajectory planning may be executed in advance (offline execution) or sequentially executed during the movement of the robot (online execution).

[0049] As shown in FIG. 4, depending on the type of the trajectory planning algorithm, the results of the trajectory planning may be different.

[0050] In a collaborative robot, since a human and a robot exist in the same work space, an avoidance operation for obstacles is required to change the planned trajectory so that interference with the human does not occur during the movement of the robot. The avoidance operation for obstacles includes a process of changing the planned trajectory according to the position and size of the obstacles. Note that the obstacles include a human and other robots, etc. During the movement of the robot, based on the detection results of the human and obstacles existing in the vicinity of the robot, it is determined how to change the previously planned trajectory.

[0051] <D. Software Configuration Example> Next, a software configuration example of the robot system 1 according to the present embodiment will be described.

[0052] 5 is a schematic diagram showing an example of a software configuration of the robot system 1 according to the present embodiment. Referring to FIG. 5, the controller 200 includes a trajectory planning algorithm 250, a command generating module 252, and a behavior data storage unit 256.

[0053] The trajectory planning algorithm 250 performs the path planning and trajectory planning shown in Figure 4. The trajectory planning algorithm 250 may include an algorithm that performs path planning and an algorithm that performs trajectory planning.

[0054] The command generation module 252 sequentially generates commands for the robot 300. The command generation module 252 may include an avoidance movement algorithm 254. The avoidance movement algorithm 254 changes a trajectory predetermined by a trajectory plan according to people and obstacles present in the vicinity of the robot 300.

[0055] The behavior data storage unit 256 collects the behavior data 50 used to calculate the behavior score. The behavior data 50 collected by the behavior data storage unit 256 may be transmitted to the information processing device 100.

[0056] The information processing device 100 includes a feature amount calculation unit 150 , a behavior score calculation unit 152 , and an output unit 154 .

[0057] The feature amount calculation section 150 calculates a plurality of feature amounts based on the behavior data 50. The feature amount calculation section 150 may acquire the behavior data 50 in any manner.

[0058] The behavior score calculation unit 152 calculates a behavior score including a plurality of indices based on at least a part of the plurality of feature amounts calculated by the feature amount calculation unit 150 .

[0059] The output unit 154 outputs the behavior score calculated by the behavior score calculation unit 152. The output of the behavior score may be a method of providing a user interface screen including the values ​​of each index of the behavior score, or a method of generating an electronic file storing the behavior score.

[0060] Providing the user interface screen may include at least one of a method of outputting a video signal to the display 112 via the display interface 110 and a method of transmitting a screen image to another information processing device via a network.

[0061] The information processing device 100 may include a robot simulator 156. The robot simulator 156 simulates the processing by the controller 200 and the operation of the robot 300. The robot simulator 156 may generate behavior data 50 based on a result of the simulation. That is, the generation of the behavior data 50 may be based on at least one of actually operating the manipulator robot and executing a simulation regarding the operation of the manipulator robot.

[0062] In the evaluation method according to the present embodiment, the behavior data 50 may include information on a trajectory (hereinafter also referred to as an "original trajectory") that is determined in advance by a trajectory plan. When the robot 300 changes the predetermined trajectory by an avoidance operation against an obstacle, the behavior data 50 may include the changed trajectory (hereinafter also referred to as an "avoidance trajectory"). In this way, the behavior data 50 may include information on the trajectory (original trajectory) that is determined in advance by a trajectory plan and information on the trajectory (avoidance trajectory) that has been changed by an avoidance operation against an obstacle.

[0063] The original trajectory and the avoidance trajectory indicate the movement path of the robot 300. The original trajectory and the avoidance trajectory may be a set of position target values ​​of a TCP (Tool Center Point) set in the robot 300. The behavior data 50 may include a profile (performance, specifications, etc.) of the robot 300. The behavior data 50 may include the time required for the robot 300 to move (movement time).

[0064] The behavior data 50 may include at least one of the angle target value, angle actual value, angular velocity target value, angular velocity actual value, angular acceleration target value, and angular acceleration actual value of each joint constituting the manipulator of the robot 300. The actual value and the target value may be time-series data. The behavior data 50 may include at least one of the moment of inertia, simultaneous transformation matrix, mass, velocity actual value, and velocity target value of each link constituting the manipulator of the robot 300. The behavior data 50 may include the end effector position.

[0065] <E. Processing procedure example> Next, a processing procedure example of the evaluation method according to the present embodiment will be described.

[0066] FIG. 6 is a flowchart showing a processing procedure for acquiring the behavior data 50 in the evaluation method according to the present embodiment. Each step shown in FIG. 6 may be executed by the controller 200.

[0067] Referring to FIG. 6, the controller 200 executes a path plan for a preset start point and end point (step S100). The controller 200 executes a trajectory plan for each section determined by the path plan (step S102).

[0068] When the condition for starting the operation is satisfied (YES in step S104), the controller 200 sequentially generates commands for driving the robot 300 according to the movement parameters determined by the trajectory plan (step S106). The controller 200 stores the information related to the movement of the robot 300 as the behavior data 50 (step S108). The controller 200 determines whether the moving robot 300 approaches a person or an obstacle (step S110). If the moving robot 300 approaches a person or an obstacle (YES in step S110), the controller 200 changes the trajectory of the robot 300 according to the position and size of the detected person or obstacle (step S112). If the moving robot 300 does not approach a person or an obstacle (NO in step S110), the process of step S112 is skipped.

[0069] The controller 200 determines whether the robot 300 has reached the end point (step S114). If the robot 300 has not reached the end point (NO in step S114), the controller 200 repeats the processes in step S106 and thereafter.

[0070] If the robot 300 has reached the end point (YES in step S114), the controller 200 ends the process.

[0071] The processes of steps S100 and S102 do not have to be executed immediately before the processes of steps S104 to S114. That is, steps S100 and S102 may be executed independently of the process of operating the robot 300.

[0072] 6 shows an example in which the controller 200 actually controls the robot 300 to acquire the behavior data 50, but the present invention is not limited to this example, and the behavior data 50 may be acquired by a simulation. That is, each step shown in FIG. 6 may be executed in a robot simulation environment provided by the information processing device 100 or another information processing device.

[0073] 7 is a flowchart showing a processing procedure for calculating a behavior score in the evaluation method according to the present embodiment. Each step shown in FIG. 7 may be realized by processor 102 of information processing device 100 executing evaluation program 124.

[0074] 7, the information processing device 100 acquires the behavior data 50 (step S200). The information processing device 100 may acquire the behavior data 50 from the controller 200, or may acquire the behavior data 50 generated from a simulation result of the robot simulator 156.

[0075] The information processing device 100 calculates a plurality of feature amounts based on the acquired behavior data 50 (step S202). The calculated feature amounts will be described in detail later.

[0076] The information processing device 100 calculates a behavior score including a plurality of indices based on at least a part of the calculated plurality of feature amounts (step S204). As described above, the behavior score includes an index for evaluating a risk to an obstacle and an index indicating the working efficiency of the manipulator robot.

[0077] The information processing device 100 determines whether or not there is other behavior data 50 (step S206). If there is other behavior data 50 (YES in step S206), the information processing device 100 acquires the other behavior data 50 (step S208) and executes the processes in and after step S202.

[0078] If there is no other behavior data 50 (NO in step S206), the information processing device 100 outputs the calculated behavior score (step S210). Then, the information processing device 100 ends the process.

[0079] The information processing device 100 may output the attributes of the behavior data 50 used in calculating the behavior score (such as the type of trajectory planning algorithm, the start point and the end point, and the type of robot) in association with the behavior score.

[0080] The behavior score can be calculated more accurately by using the behavior data 50 including the avoidance trajectory, but it can also be calculated using the behavior data 50 not including the avoidance trajectory.

[0081] The controller 200 may execute some or all of the processes shown in FIG. 7. <F. Feature quantity> Next, an example of a feature quantity calculated from the behavior data 50 will be described.

[0082] (f1: Operability) The operability is a value indicating the degree of ease of moving the manipulator during the avoidance operation. The operability indicates the distance from the singular posture. The smaller the operability, the more restricted the force generated by the manipulator.

[0083] The operability w at time t t is calculated using the determinant of the base Jacobian matrix J as shown in Equation (1). The base Jacobian matrix J is shown as in Equation (2) using the number of joints n of the robot 300.

[0084] In Equation (2), z n and t n represent the components of the homogeneous transformation matrix T n shown in Equation (3). Specifically, z n and t n are determined from the third and fourth column components of the homogeneous transformation matrix T n including the rotation matrix and the translation vector indicating the posture of the robot 300, respectively.

[0085] As shown in Equation (4), the average operability w mean is calculated by averaging the operability wt for the number of data m included in the behavior data 50. Further, as shown in Equation (5), using the sigmoid function σ(x), the operability score w mean obtained by normalizing the average operability w score to the range of 0 to 1 is calculated.

[0086]

Equation

[0087] (f2: Relative distance / relative velocity) The relative distance and the relative speed respectively indicate the relative distance and the relative speed of the robot 300 with respect to a person. The relative distance and the relative speed are indicators of how likely it is that the robot 300 will avoid a person.

[0088] In calculating the relative distance and the relative speed, based on the behavior data 50, it is evaluated how far the robot 300 is from the person in the work space at each time, and how fast the robot 300 is approaching the person in the work space at each time.

[0089] The minimum value of the distance to the person calculated for the movement of the robot 300 may be determined as the relative distance. The maximum value of the speed to the person calculated for the movement of the robot 300 may be determined as the relative speed. The relative distance and the relative speed may be determined by averaging the distances and speeds to the person calculated for the movement of the robot 300, respectively.

[0090] Note that at least one of the relative distance and the relative speed may be calculated. In other words, instead of calculating both the relative distance and the relative speed, only the relative distance may be calculated or only the relative speed may be calculated.

[0091] (f3: angle / distance / velocity between face and end effector) The angle, distance and speed between the face and the end effector are indicators of how close the end effector attached to the tip of the robot 300 will get to the person's face.

[0092] The angle between the face and the end effector is the angle between the end effector and the person's face while the robot 300 is moving. The angle between the person's face and the central axis of the end effector may be calculated sequentially while the robot 300 is moving. The minimum value (the most acute angle) of the angles calculated while the robot 300 is moving may be calculated as the angle between the face and the end effector.

[0093] The distance between the face and the end effector is the distance between the end effector and the person's face while the robot 300 is moving. The shortest distance from the person's face to the end effector may be calculated sequentially while the robot 300 is moving. The minimum value of the distances calculated during the movement of the robot 300 may be determined as the distance between the face and the end effector.

[0094] The velocity between the face and the end effector is the velocity at which the end effector moves relative to the person's face while the robot 300 is moving. While the robot 300 is moving, the component of the movement vector of the end effector toward the person's face may be calculated sequentially. The maximum value of the velocities calculated for the movement of the robot 300 may be determined as the velocity between the face and the end effector.

[0095] At least one of the angle, distance and velocity between the face and the end effector may be calculated.

[0096] (f4: shortest distance) The minimum distance indicates how close the robot 300 is to people and obstacles. The minimum distance is an index indicating how likely it is that the robot 300 will avoid people.

[0097] The shortest distance is the minimum value of the distance from the robot 300 to a person or an obstacle while the robot 300 is moving. The distances to people or obstacles present around the robot 300 may be calculated sequentially while the robot 300 is moving. The minimum value of the distances calculated regarding the movement of the robot 300 may be determined as the shortest distance.

[0098] (f5: angular velocity) The angular velocity indicates the rotational velocity occurring at each joint during the movement of the robot 300. The angular velocity indicates the velocity of each link of the robot 300, and is an index indicating how likely it is that the robot 300 will avoid a person.

[0099] The angular velocity of each joint of the robot 300 may be sequentially acquired while the robot 300 is moving. The maximum value of the angular velocity of each joint calculated during the movement of the robot 300 may be determined as the angular velocity.

[0100] (f6: Link energy) Link energy (workload score) indicates the energy that each link has while the robot 300 is moving. The faster the link speed, the lower the safety, and the higher the link position, the lower the safety. Link energy is an index that indicates how likely the robot 300 is to avoid a person. Link energy reflects kinetic energy and potential energy.

[0101] Specifically, as shown in equation (6), the total mechanical energy E of the robot 300 is the sum of the total kinetic energy K and the total potential energy U.

[0102] As shown in equation (7), the total kinetic energy K is the sum of the kinetic energies of each link. i (i is the link number) is calculated as shown in equation (8). In equation (8), m i denotes the mass of each link, and v cmi indicates the velocity of the center of gravity of each link, and ω i indicates the angular velocity of each link, and I i indicates the complete moment of each link.

[0103] As shown in equation (9), the total potential energy U is the sum of the potential energies of each link. i (i is the link number) is calculated as shown in equation (10). In equation (10), g represents the gravitational acceleration, and y cmi indicates the height of the center of gravity of each link.

[0104] Finally, as shown in Eq. (11), the total mechanical energy E is normalized to the range of 0 to 1 using the sigmoid function σ(x) to obtain the work score Escore is calculated. Workload score E score is used as the link energy.

[0105]

number

[0106] Fig. 8 is a graph showing an example of kinetic energy and potential energy calculated in the evaluation method according to the present embodiment. As shown in Fig. 8, the kinetic energy and potential energy are calculated for each link, and the link energy (work load score) is determined.

[0107] (f7: Travel time efficiency / travel distance efficiency) The movement time efficiency and the movement distance efficiency indicate the degree of influence of the obstacle avoidance operation on the production efficiency.

[0108] Fig. 9 is a diagram for explaining an example of a method for calculating the movement time efficiency and the movement distance efficiency in the evaluation method according to the present embodiment. Fig. 9 shows an example in which the trajectory (original trajectory) of the robot 300 determined by the trajectory planning is changed to an avoidance trajectory due to the presence of an obstacle.

[0109] The travel time efficiency indicates how much the time required to travel from the starting point to the end point is increased by the avoidance action. Specifically, the travel time score t score is the travel time t when moving along the original trajectory total and the travel time t when moving along the avoidance trajectory. a It is calculated as follows using

[0110] t score =t total / t a The movement distance efficiency indicates how much the movement distance from the starting point to the end point is increased by the avoidance action. Specifically, the movement distance score l score is the distance traveled along the original trajectory l totaland the distance traveled when moving along the avoidance trajectory l a It is calculated as follows using

[0111] l score =l total / l a (f8: amount of deviation from orbit) The amount of deviation from the trajectory is a value indicating the degree of change in the trajectory due to an avoidance operation for an obstacle.

[0112] For example, the maximum distance between any point on the original trajectory and any point on the avoidance trajectory as shown in FIG. 9 may be determined as the trajectory deviation amount.

[0113] Alternatively, the amount of deviation from the trajectory can be calculated by the distance traveled along the original trajectory, l total and the distance traveled when moving along the avoidance trajectory l a It may be calculated using the following:

[0114] (f9: radius of curvature) The radius of curvature is a value that indicates the degree of change in the trajectory of the movement of the robot 300. The smaller the radius of curvature, the greater the change in the trajectory of the movement of the robot 300.

[0115] The radius of curvature is calculated sequentially along the trajectory of the robot 300. The minimum value of the sequentially calculated radii of curvature may be determined as the final radius of curvature. Alternatively, the sequentially calculated radii of curvature may be averaged to calculate the final radius of curvature.

[0116] (f10: Work Energy) The workpiece energy indicates the energy of the workpiece held by the robot 300 (end effector). The faster the workpiece speed, the lower the safety, the higher the position of the workpiece, and the heavier the workpiece, the lower the safety. The workpiece energy is an index that indicates how likely the robot 300 is to avoid a person.

[0117] Work energy reflects the kinetic energy and potential energy of work. Work energy can be calculated according to the same calculation formula as the link energy described above.

[0118] (f11: Others) It is not necessary to calculate all the above-described feature amounts, and at least a part of them may be calculated. Further, not only the above-described feature amounts but also any feature amount indicating the behavior of the robot 300 or any feature amount indicating the relationship between the robot 300 and a person may be calculated.

[0119] <G. Behavior Score> Next, the behavior score calculated in the evaluation method according to the present embodiment will be described. The calculated behavior score includes at least an index for evaluating the risk with respect to an obstacle (an index related to risk assessment) and an index indicating the working efficiency of the robot 300.

[0120] As an example, the behavior score includes, as indices, cooperativeness, validity, and execution efficiency. The cooperativeness indicates the degree to which a person can work with confidence. The validity indicates whether the trajectory of the robot 300 is appropriate. The execution efficiency indicates the change in the operation efficiency of the robot 300.

[0121] The cooperativeness is an example of an index for evaluating the risk with respect to an obstacle. The execution efficiency is an example of an index indicating the working efficiency of the robot 300. The validity can correspond to either an index for evaluating the risk with respect to an obstacle or an index indicating the working efficiency of the robot 300.

[0122] FIG. 10 is an example showing the relationship between the feature amounts calculated in the evaluation method according to the present embodiment and the respective indices of the behavior score. As shown in FIG. 10, each index of the behavior score is calculated based on at least a part of a plurality of feature amounts. More specifically, after multiplying the weights predetermined for the plurality of feature amounts associated with each index of the behavior score, the sum thereof is determined as the value of each index.

[0123] In addition, according to the association between each index of the behavior score and the feature amount, the weight value of each feature amount may be determined. For example, the weight of the feature amount associated with a certain index may be set to a non-zero value, and the weight of the feature amount not associated with the index may be set to zero.

[0124] Also, the user may be able to freely change the weights. According to the application (work content) of the robot 300, the weights of each feature amount may be set. According to the type of application, the feature amounts to be noted can be made different.

[0125] <H. Example of User Interface Screen> Next, an example of a user interface screen showing the behavior score calculated by the information processing apparatus 100 will be described. In the user interface screen, each index included in the behavior score may be visualized.

[0126] FIG. 11 is a schematic diagram showing an example of a user interface screen 400 provided in the evaluation method according to the present embodiment. The user interface screen 400 includes a radar chart having each index included in the behavior score as an element.

[0127] FIG. 11 shows an example in which two types of behavior scores calculated based on avoidance trajectories respectively generated according to two types of trajectory planning algorithms are presented. Referring to FIG. 11, the user interface screen 400 includes a radar chart 410 showing the behavior score for the avoidance trajectory generated according to the first trajectory planning algorithm, and a radar chart 420 showing the behavior score for the avoidance trajectory generated according to the second trajectory planning algorithm.

[0128] Each of the radar chart 410 and the radar chart 420 has three vertices (cooperativeness, validity, and execution efficiency).

[0129] In the radar chart 410, an evaluation result 412 indicating a behavior score calculated for a trajectory (reference) determined by a trajectory plan, and an evaluation result 414 indicating a behavior score calculated for an avoidance trajectory are shown.

[0130] Similarly, in the radar chart 420, an evaluation result 422 indicating a behavior score calculated for a trajectory (reference) determined by the trajectory plan, and an evaluation result 424 indicating a behavior score calculated for an avoidance trajectory are shown.

[0131] By presenting the behavior scores calculated for each avoidance trajectory generated according to a plurality of trajectory planning algorithms in a comparative manner, it is possible to assist the user in selecting a preferred trajectory planning algorithm.

[0132] In this manner, the user interface screen 400 shown in FIG. 11 includes images (radar chart 410 and radar chart 420) in which behavior scores calculated from a plurality of pieces of behavior data 50 are visualized in a comparative manner.

[0133] Note that the behavior scores of avoidance trajectories generated according to a plurality of algorithms may be displayed in an overlapping manner on a single radar chart.

[0134] 12 is a schematic diagram showing another example of a user interface screen provided in the evaluation method according to the present embodiment. User interface screen 450 includes a radar chart having each index included in the behavior score as an element.

[0135] Fig. 12 shows an example in which two types of behavior scores calculated based on avoidance trajectories generated according to two types of trajectory planning algorithms are presented. Referring to Fig. 12, a radar chart 430 of a user interface screen 440 includes an evaluation result 432 indicating a behavior score calculated for a trajectory (reference) determined by a trajectory plan, an evaluation result 434 indicating a behavior score calculated for an avoidance trajectory generated according to a first trajectory planning algorithm, and an evaluation result 436 indicating a behavior score calculated for an avoidance trajectory generated according to a second trajectory planning algorithm.

[0136] User interface screen 440 includes a details field 438 that shows each feature and weight used in calculating each index of the behavior score. When any feature listed in details field 438 is selected, user interface screen 450 may be output that shows details of the selected feature.

[0137] The values ​​of the selected feature quantities are expressed as box-and-whisker plots on the user interface screen 450. Note that the present invention is not limited to box-and-whisker plots, and any other expression that can present the selected feature quantities in more detail may be used.

[0138] In this manner, the user interface screen 450 shown in FIG. 12 includes an image (radar chart 430) in which the behavior scores calculated from the multiple behavior data 50 are visualized so as to be comparable.

[0139] Although an example in which behavior scores for a plurality of trajectory planning algorithms are simultaneously presented in FIG. 11 and FIG. 12, a behavior score for only one trajectory planning algorithm may be presented.

[0140] The user interface screen 400 shown in FIG. 11 and the user interface screen 450 shown in FIG. 12 may be provided by the information processing device 100 that calculated the behavior score, or may be provided by an information processing device other than the information processing device 100.

[0141] <I. Modified Example> The evaluation method according to this embodiment is applicable not only to a vertical articulated robot but also to any manipulator robot. Examples of applicable manipulator robots include horizontal articulated robots (scalar robots), parallel link robots, orthogonal robots, and dual-arm robots.

[0142] The information processing apparatus 100 according to this embodiment not only executes processing as an evaluation apparatus, but also a plurality of information processing apparatuses may cooperate to execute processing as an evaluation apparatus. Further, the controller 200 may include an evaluation apparatus.

[0143] <J. Supplementary Note> The present embodiment as described above includes the following technical ideas.

[0144] [Configuration 1] A first calculation unit (150) that calculates a plurality of feature amounts based on the behavior data of the manipulator robot (300), An evaluation apparatus (100) comprising: a second calculation unit (152) that calculates a score related to the behavior of the manipulator robot, including an index for evaluating the risk against an obstacle and an index indicating the working efficiency of the manipulator robot, based on at least a part of the plurality of feature amounts.

[0145] [Configuration 2] The evaluation apparatus according to Configuration 1, wherein the generation of the behavior data is based on at least one of actually operating the manipulator robot and executing a simulation related to the operation of the manipulator robot.

[0146] [Configuration 3] The evaluation apparatus according to Configuration 1 or 2, wherein the behavior data includes information on a trajectory pre-determined by a trajectory plan and information on a trajectory after being changed by an avoidance operation against an obstacle.

[0147] [Configuration 4] The evaluation device according to any one of configurations 1 to 3, wherein the behavior data includes at least one of an angle target value, an angle actual value, an angular velocity target value, an angular velocity actual value, an angular acceleration target value, and an angular acceleration actual value of each joint constituting the manipulator robot.

[0148] [Configuration 5] 5. The evaluation device according to any one of configurations 1 to 4, wherein the behavior data includes a time required for the manipulator robot to move.

[0149] [Configuration 6] An output unit (154) that outputs the score, 6. The evaluation device according to any one of configurations 1 to 5, wherein the output unit provides a user interface screen (400, 450) that visualizes each index included in the score.

[0150] [Configuration 7] the behavior data being one of a plurality of behavior data; The evaluation device according to configuration 6 or 7, wherein the user interface screen includes images (410, 420, 430) in which scores calculated from a plurality of pieces of behavior data are visualized in a comparative manner.

[0151] [Configuration 8] A computer-implemented evaluation method, comprising: Calculating a plurality of feature amounts based on behavior data of the manipulator robot (300) (S202); An evaluation method comprising: calculating (S204) a score regarding the behavior of the manipulator robot, the score including an index for evaluating the risk of an obstacle and an index indicating the work efficiency of the manipulator robot based on at least a portion of the plurality of feature amounts.

[0152] [Configuration 9] A computer (100) Calculating a plurality of feature amounts based on behavior data of the manipulator robot (300) (S202); An evaluation program (124) for causing calculation (S204) of a score related to the behavior of the manipulator robot, the score including an index for evaluating the risk to an obstacle and an index indicating the working efficiency of the manipulator robot, based on at least a part of the plurality of feature amounts.

[0153] <K. Advantage> In order to evaluate the safety of a collaborative robot, it is necessary to evaluate not only the trajectory and posture of the collaborative robot itself, but also the influence that the collaborative robot exerts on a person and the relationship between the collaborative robot and an obstacle.

[0154] The evaluation method according to the present embodiment calculates a behavior score including an index for evaluating the risk to an obstacle and an index indicating the working efficiency of the manipulator robot, based on at least a part of the plurality of feature amounts. By using the calculated behavior score, the behavior as a collaborative robot can be quantitatively evaluated.

[0155] It should be considered that all the disclosed embodiments are illustrative in all respects and not restrictive. The scope of the present invention is shown not by the above description but by the claims, and it is intended to include all modifications within the meaning and scope equivalent to the claims.

Explanation of Reference Numerals

[0156] 1 Robot system, 50 Behavior data, 100 Information processing device, 102 Processor, 104 Memory, 106 Input interface, 108 Input device, 110 Display interface, 112 Display, 114 USB controller, 116 Network controller, 120 Storage, 122 OS, 124 Evaluation program, 150 Feature calculation unit, 152 Behavior score calculation unit, 154 Output unit, 156 Robot simulator, 200 Controller, 250 Trajectory planning algorithm, 252 Command generation module, 254 Avoidance operation algorithm, 256 Behavior data storage unit, 300 Robot (manipulator robot), 400, 440, 450 User interface screen, 410, 420, 430 Radar chart, 412, 414, 422, 424, 432, 434, 436 Evaluation result, 438 Details column.

Claims

1. A first calculation unit that calculates a plurality of feature amounts based on behavior data of the manipulator robot; An evaluation device comprising: a second calculation unit that calculates a score regarding the behavior of the manipulator robot, the score including an index for evaluating the risk of an obstacle based on at least a portion of the plurality of feature amounts, and an index indicating the work efficiency of the manipulator robot.

2. The evaluation device according to claim 1 , wherein the generation of the behavior data is based on at least one of actually operating the manipulator robot and executing a simulation regarding the operation of the manipulator robot.

3. The evaluation device according to claim 1 , wherein the behavior data includes information on a trajectory previously determined by a trajectory plan and information on the trajectory after being changed by an avoidance operation against an obstacle.

4. 3. The evaluation device according to claim 1, wherein the behavior data includes at least one of an angle target value, an angle actual value, an angular velocity target value, an angular velocity actual value, an angular acceleration target value, and an angular acceleration actual value of each joint constituting the manipulator robot.

5. The evaluation device according to claim 1 , wherein the behavior data includes a time required for the manipulator robot to move.

6. An output unit that outputs the score, The evaluation device according to claim 1 , wherein the output unit provides a user interface screen that visualizes each of the indicators included in the score.

7. The behavior data is one of a plurality of behavior data; The evaluation device according to claim 6 , wherein the user interface screen includes an image in which the scores calculated from the plurality of behavior data are visualized in a comparative manner.

8. 1. A computer implemented evaluation method comprising: Calculating a plurality of feature amounts based on behavior data of the manipulator robot; An evaluation method comprising calculating a score regarding the behavior of the manipulator robot, including an index for evaluating the risk of an obstacle and an index indicating the work efficiency of the manipulator robot based on at least a portion of the plurality of feature amounts.

9. On the computer, Calculating a plurality of feature amounts based on behavior data of the manipulator robot; and calculating a score regarding the behavior of the manipulator robot, the score including an index for evaluating the risk of an obstacle based on at least a portion of the plurality of feature amounts, and an index indicating the work efficiency of the manipulator robot.

Citation Information

Patent Citations

  • Method and device for controlling the movement of one or more collaborative robots

    JP2019518616A

  • Methods for improving robot safety and methods for evaluating safety

    JP2021501062A