Trajectory determination device, trajectory determination method, and trajectory determination program

Through the coordinated work of generation, calculation and optimization units, the problem of difficult to effectively evaluate and optimize the trajectory of the manipulator robot in the prior art is solved, and safer and more efficient trajectory optimization is achieved.

JP2025076732APending Publication Date: 2025-05-16OMRON CORP

Patent Information

Application Number
JP2023188534
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

The prior art is difficult to effectively evaluate and optimize manipulator robot trajectory, especially to improve work efficiency while taking into account human safety and obstacle risks.

Method used

By generating the manipulator robot trajectory, the calculation unit calculates the quantity of characteristic and behavior scores based on behavior data, including assessments of obstacle risk and work efficiency, and uses the optimization unit to optimize the trajectory to maximize or minimize the score.

Benefits of technology

The manipulator robot trajectory is achieved more appropriately, taking into account obstacle risk and work efficiency, improving the accuracy and effectiveness of trajectory optimization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025076732000001_ABST
    Figure 2025076732000001_ABST
Patent Text Reader

Abstract

To provide a new method for determining a trajectory of a manipulator robot.SOLUTION: A trajectory determination device includes: a generation unit for generating a trajectory of a manipulator robot; a first calculation unit for calculating a plurality of feature amounts based on behavior data of the manipulator robot corresponding to the generated trajectory; 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; and an optimization unit for optimizing the trajectory based on the calculated score.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 determining a trajectory for a manipulator robot. [Background technology]

[0002] Conventionally, there exist methods for determining trajectories for manipulator robots. For example, International Publication No. 2019 / 146007 (Patent Document 1) discloses a position control device that includes a path determination unit that indicates a control amount for insertion based on an image acquired from an imaging unit and the value of a force sensor and learns from the results of alignment, and a synthesis unit that outputs a periodic control amount adjustment value based on a periodic control amount that is set for each control cycle to reach the control amount and a control amount adapted to an external force based on the value of the force sensor.

[0003] 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] International Publication No. 2019 / 146007 [Patent Document 2] Special Publication No. 2019-518616 Summary of the Invention [Problem to be solved by the invention]

[0005] In order to determine the trajectory of a manipulator robot, it is necessary to evaluate the influence of the manipulator robot on humans and the relationship between the manipulator robot and obstacles.

[0006] An object of the present invention is to provide a new method for determining a trajectory of a manipulator robot. [Means for solving the problem]

[0007] A trajectory determination device according to one example of the present invention includes a generation unit that generates a trajectory for a manipulator robot, a first calculation unit that calculates a plurality of feature amounts based on behavior data of the manipulator robot corresponding to the generated trajectory, a second calculation unit that calculates a score regarding 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, and an optimization unit that optimizes the trajectory based on the calculated score.

[0008] According to this configuration, the trajectory is optimized based on a score related to the behavior of the manipulator robot, so that a trajectory can be determined that takes into account an index that evaluates the risk of obstacles and an index that indicates the working efficiency of the manipulator robot.

[0009] The optimization unit may adjust parameters used by the generation unit to generate a trajectory so that the calculated score is maximized or minimized. With this configuration, an optimization algorithm aimed at maximizing or minimizing the calculated score can be used.

[0010] The generation unit may include a path planning algorithm for executing the path plan and a trajectory planning algorithm for executing the trajectory plan. With this configuration, it is possible to generate a path by the path plan and then generate a trajectory based on the generated path.

[0011] The generator may execute trajectory planning for a route selected from one or more routes determined by the route planning. This configuration can reduce computing resources required to generate a trajectory.

[0012] The orbit determination device may further include a user interface unit that provides a user interface screen for accepting a selection of one or more routes determined by the route plan. According to this configuration, by accepting a selection from a user of one or more routes, it is possible to determine an orbit that reflects the user's intention.

[0013] The generation unit may execute a route plan under the conditions of the specified search area. This configuration can reduce the computing resources required for route generation. Also, this configuration can generate a route that reflects the user's intention.

[0014] The generation of the behavior data may be based on at least one of actually operating the manipulator robot and executing a simulation of the operation of the manipulator robot. According to this configuration, the behavior of the manipulator robot can be collected by actually operating the manipulator robot or by simulating the manipulator robot.

[0015] 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.

[0016] According to another example of the present invention, there is provided a trajectory determination method executed by a computer, which includes generating a trajectory for a manipulator robot, calculating a plurality of feature amounts based on behavior data of the manipulator robot corresponding to the generated trajectory, calculating scores related to the behavior of the manipulator robot including an index for evaluating a 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, and optimizing the trajectory based on the calculated score.

[0017] A trajectory determination program according to yet another example of the present invention causes a computer to generate a trajectory for a manipulator robot, calculate a plurality of feature amounts based on behavior data of the manipulator robot corresponding to the generated trajectory, calculate a score related to the behavior of the manipulator robot including an index for evaluating the risk of obstacles and an index for indicating the work efficiency of the manipulator robot based on at least a portion of the plurality of feature amounts, and optimize the trajectory based on the calculated score. Effect of the Invention

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

[0019] [Figure 1] FIG. 2 is a diagram for explaining an overview of an orbit determination method according to the present embodiment. [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] FIG. 2 is a schematic diagram showing an example of a hardware configuration of a controller according to the present embodiment. [Diagram 5] 4 is a flowchart showing a processing procedure of an orbit determination method according to the present embodiment. [Figure 6] FIG. 2 is a schematic diagram showing an example of a software configuration of a robot system according to the present embodiment. [Figure 7] 11 is a diagram for explaining calculation of a feature amount in the orbit determination method according to the present embodiment. FIG. [Figure 8] 13 is an example showing a relationship between a feature amount calculated in the trajectory determination method according to the present embodiment and each index of a behavior score. [Figure 9] 5 is a graph showing an example of kinetic energy and potential energy calculated in the orbit determination method according to the present embodiment. [Figure 10] This is a diagram for explaining an example of a method for calculating travel time efficiency and travel distance efficiency in a trajectory determination method according to the present embodiment. [Figure 11] This is a schematic diagram showing an example of a user interface screen provided by an information processing apparatus according to the present embodiment. [Figure 12] This is a schematic diagram showing an example of a user interface screen provided by an information processing apparatus according to the present embodiment. [Figure 13] This is a schematic diagram showing a modified example of a robot system according to the present embodiment. [Figure 14] This is a schematic diagram showing still another modified example of a robot system according to the present embodiment. Embodiments for Carrying Out the Invention

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

[0021] <A. Application Examples> In the present embodiment, a "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, the case of using a vertically articulated robot as an example of a 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 work space as the work space where a person works.

[0023] In the present embodiment, the determination and generation of a "trajectory" include a path plan and a trajectory plan. That is, in the present embodiment, the term "trajectory" includes a path generated by a path plan and a trajectory generated by a trajectory plan.

[0024] Path planning is a process for determining a path from a start point to an end point. Path planning includes a process for searching for and determining one or more intermediate points to be set on the way from the start point to the end point. In path planning, basically, the dynamics of the robot does not need to be taken into consideration.

[0025] Trajectory planning includes a process of searching and determining a trajectory for each section defined by a start point, one or more intermediate points, and an end point. In the trajectory planning, motion parameters for moving the robot along the determined trajectory are determined in consideration of the robot dynamics. The motion parameters include, for example, a target velocity value for each joint constituting the robot.

[0026] The trajectory determination method according to the present embodiment determines an optimal trajectory based on a score related to the behavior of the manipulator robot. That is, the trajectory determination method according to the present embodiment optimizes at least one of the path plan and the trajectory plan based on the score related to the behavior of the manipulator robot.

[0027] An example of optimizing the trajectory of a manipulator robot used as a collaborative robot is shown below, but according to this embodiment, the trajectory of a manipulator robot can be optimized even if the manipulator robot is used for purposes other than as a collaborative robot.

[0028] 1 is a diagram for explaining an outline of a trajectory determination method according to the present embodiment. Referring to FIG. 1, a robot system 1 includes a trajectory generation unit 250, a feature amount calculation unit 152, a behavior score calculation unit 154, and an optimization unit 156.

[0029] The trajectory generating unit 250 corresponds to a generating unit, and generates a trajectory of the manipulator robot. The feature amount calculation section 152 corresponds to a first calculation section, and calculates a plurality of feature amounts based on the behavior data 50 of the manipulator robot corresponding to the trajectory to be generated.

[0030] The behavior score calculation unit 154 corresponds to the second calculation unit and calculates a score related to the behavior of the manipulator robot based on at least a part of a plurality of feature amounts. The calculated score may include, for example, an index for evaluating the risk against an obstacle and an index indicating the working efficiency of the manipulator robot.

[0031] The optimization unit 156 optimizes the trajectory based on the calculated score. More specifically, the optimization unit 156 updates parameters and the like for the trajectory generation unit 250 to generate a trajectory. The trajectory generation unit 250 repeats the generation of the trajectory based on the updated parameters.

[0032] According to the trajectory determination method according to the present embodiment, the trajectory is optimized based on the score related to the behavior of the manipulator robot. By using such optimization, the trajectory of the manipulator robot can be determined more appropriately.

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

[0034] 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.

[0035] The information processing device 100 is an example of a trajectory determination device. The information processing device 100 calculates a score related to the behavior of the manipulator robot (hereinafter, also referred to as a "behavior score" in order to distinguish it from other scores) based on the behavior data 50 acquired from the controller 200 or the behavior data 50 prepared by an arbitrary method. The behavior score may include a plurality of indexes. The information processing device 100 optimizes the trajectory corresponding to the acquired behavior data 50 based on the calculated behavior score.

[0036] 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.

[0037] 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.

[0038] The storage 120 is a non-transitory computer-readable medium. For example, an operating system (OS) 122 and an orbit determination program 124 are stored in the storage 120. The OS 122 includes computer-readable instructions for providing an environment for executing applications.

[0039] The orbit determination program 124 corresponds to an information processing program according to the present invention and includes computer readable instructions for optimizing an orbit.

[0040] 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.

[0041] 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.

[0042] The USB 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.

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

[0044] 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.

[0045] 4 is a schematic diagram showing an example of a hardware configuration of a controller 200 according to the present embodiment. Referring to FIG. 4, the controller 200 is an example of a computer, and includes one or more processors 202, a memory 204, a robot interface 212, a USB controller 214, and a storage 220.

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

[0047] Storage 220 is a non-transitory computer-readable medium. Stored in storage 220 are, for example, a system program 222 and a trajectory generation program 224. The system program 222 includes computer-readable instructions for providing functions necessary for the controller 200.

[0048] The trajectory generation program 224 includes computer-readable instructions for generating the trajectory of the robot 300. The trajectory generation program 224 may include algorithms for path planning and algorithms for trajectory planning. The trajectory generation program 224 may include algorithms for executing both path planning and trajectory planning.

[0049] The robot interface 212 exchanges data with the robot 300. The USB controller 214 exchanges data with an information processing apparatus 100 or the like.

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

[0051] <C. Example of processing procedure> Next, an example of the processing procedure of the trajectory determination method according to the present embodiment will be described.

[0052] Fig. 5 is a flowchart showing the processing procedure of the orbit determination method according to the present embodiment. Each step shown in Fig. 5 may be executed by at least one of the information processing device 100 and the controller 200. The processing may be executed by one or more processors 102 of the information processing device 100 executing the orbit determination program 124. The processing may be executed by one or more processors 202 of the controller 200 executing the orbit generation program 224.

[0053] 5, a route plan is executed for a start point and an end point designated in advance (step S1). One or more route candidates are generated by the route plan.

[0054] Next, it is determined whether or not one or more selections have been made for the one or more generated route candidates (step S2). The user may make the selection for the route candidates, or the selection for the route candidates may be made according to a predetermined algorithm.

[0055] When one or more selections are made (YES in step S2), the selected one or more path candidates are determined as candidates for trajectory planning (step S3).

[0056] If one or more selections are not made (NO in step S2), the process of step S3 is skipped. That is, all of the generated one or more path candidates are set as candidates for trajectory planning.

[0057] Trajectory planning is executed for one or more route candidates to determine the route and the trajectory and movement parameters for each section included in the route (step S4). At least by steps S1 and S4, the trajectory of the robot 300 is generated.

[0058] In this manner, trajectory planning is performed for a route selected from one or more routes determined by the route planning. Note that one route may be selected from one or more route candidates using a known algorithm.

[0059] When the conditions for starting the operation are met (YES in step S5), commands for driving the robot 300 are generated sequentially according to the movement parameters determined by the trajectory plan (step S6). Information related to the movement of the robot 300 is collected as behavior data 50 (step S7).

[0060] Note that an avoidance operation may be performed as necessary. Specifically, when it is determined that the moving robot 300 approaches a person or an obstacle, the trajectory of the robot 300 is changed according to the position and size of the detected person or obstacle.

[0061] A behavior score is calculated based on the collected behavior data 50 (step S8). In step S8, a plurality of feature amounts are calculated based on the behavior data 50 of the robot 300 corresponding to the generated trajectory, and a score regarding the behavior of the robot 300 (behavior score) is calculated based on at least a part of the plurality of feature amounts.

[0062] Next, based on the calculated behavior score, it is determined whether or not the optimization of the trajectory (movement parameters) corresponding to the behavior data 50 has converged (step S9).

[0063] Whether or not the trajectory corresponding to the behavior data 50 satisfies a predetermined condition may be based on a judgment by the user, or may be based on a score calculated according to a predetermined algorithm.

[0064] If the optimization of the trajectory corresponding to the behavior data 50 has not converged (NO in step S9), the trajectory is optimized (step S10). Note that in a state where the optimization of the trajectory (step S10) has not been executed, it may be determined in step S9 that the optimization of the trajectory has not converged.

[0065] In this way, the trajectory is optimized based on the output behavior score. In the optimization of the trajectory, the planning parameters (such as costs and weights) given to the route plan and the trajectory plan are changed. The planning parameters are parameters for the trajectory generation unit 250 to generate a trajectory. Then, the processes below step S1, or the processes below step S4, are repeated.

[0066] If the optimization of the trajectory corresponding to the behavior data 50 has converged (YES in step S9), the trajectory corresponding to the behavior data 50 is determined as the final trajectory (step S11). Then, the process of determining the trajectory ends.

[0067] Before accepting the selection (step S2) for one or more route candidates, the behavior score calculation process may be executed for each of the route candidates. By displaying the behavior score in association with the route candidate, the selection of the route candidate by the user can be assisted.

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

[0069] FIG. 6 is a schematic diagram showing a software configuration example of the robot system 1 according to the present embodiment. Referring to FIG. 6, the controller 200 includes a trajectory generation unit 250, a command generation unit 256, and a behavior data collection unit 260.

[0070] The controller 200 executes path planning and trajectory planning to generate a trajectory for the robot 300. The trajectory for the robot 300 may be a set of position target values ​​for a Tool Center Point (TCP) set for the robot 300. The generated trajectory includes movement parameters for the robot 300 to move through each section.

[0071] The trajectory generation unit 250 generates a trajectory of the robot 300. The trajectory generation unit 250 includes a path planning algorithm 252 for executing a path plan, and a trajectory planning algorithm 254 for executing the trajectory plan.

[0072] The command generator 256 sequentially generates commands for the robot 300. The command generator 256 may include an avoidance operation algorithm 258. The avoidance operation algorithm 258 changes a trajectory predetermined by a trajectory plan according to people and obstacles present in the vicinity of the robot 300.

[0073] The behavior data collecting unit 260 collects the behavior data 50 used to calculate the behavior score. The behavior data 50 collected by the behavior data collecting unit 260 may be transmitted to the information processing device 100.

[0074] The information processing device 100 includes an evaluation unit 150 , an optimization unit 156 , and a user interface unit 160 .

[0075] The evaluation unit 150 calculates a behavior score based on the behavior data 50. The evaluation unit 150 includes a feature amount calculation unit 152 and a behavior score calculation unit 154.

[0076] The feature amount calculation unit 152 calculates a plurality of feature amounts based on the behavior data 50. The calculated feature amounts will be described in detail later.

[0077] The behavior score calculation unit 154 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 152 .

[0078] The optimization unit 156 optimizes the trajectory based on the behavior score calculated by the evaluation unit 150. The optimization unit 156 determines whether optimization is necessary based on the behavior score calculated by the evaluation unit 150. The optimization unit 156 changes the planning parameters given to the route plan and the trajectory plan based on the behavior score calculated by the evaluation unit 150.

[0079] The user interface unit 160 provides a user interface screen as described later. The user interface unit 160 includes a candidate presentation unit 162 and a selection reception unit 164.

[0080] The candidate presentation unit 162 presents one or more route candidates determined by the route planning algorithm 252 of the trajectory generation unit 250 to the user.

[0081] The selection reception unit 164 receives a selection for the presented one or more route candidates. The selection reception unit 164 gives the received selection to the controller 200.

[0082] The candidate presentation unit 162 and the selection reception unit 164 may present one or more route candidates and receive selections via a common user interface screen.

[0083] <E. Behavior Data 50> Next, the behavior data 50 collected in the robot system 1 according to the present embodiment (see step S7 in FIG. 5 and the behavior data collection unit 260 in FIG. 6, etc.) will be described.

[0084] The behavior data 50 may include at least one of the angle target value, the angle actual value, the angular velocity target value, the angular velocity actual value, the angular acceleration target value, and the 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, the simultaneous transformation matrix, the mass, the velocity actual value, and the velocity target value of each link constituting the manipulator of the robot 300. The behavior data 50 may include the end effector position.

[0085] The behavior data 50 may include information on a trajectory (hereinafter also referred to as the "original trajectory") predetermined by the trajectory plan. When the robot 300 changes the trajectory predetermined by the avoidance operation for an obstacle, the behavior data 50 may include the changed trajectory (hereinafter also referred to as the "avoidance trajectory"). The behavior data 50 may include information on the trajectory (original trajectory) predetermined by the trajectory plan and information on the trajectory (avoidance trajectory) after being changed by the avoidance operation for an obstacle.

[0086] The original trajectory and the avoidance trajectory indicate the movement path of the robot 300. The original trajectory and the avoidance trajectory may be the time change of the TCP set for the robot 300. The behavior data 50 may include the profile (performance, specifications, etc.) of the robot 300. The behavior data 50 may include the time (movement time) required for the robot 300 to move.

[0087] <F. Behavior Score> Next, the behavior score calculated in the trajectory determination method according to the present embodiment (see step S8 in FIG. 5, the evaluation unit 150 in FIG. 6, etc.) 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.

[0088] As an example, the behavior score includes indicators of cooperativeness, appropriateness, and execution efficiency. The cooperativeness indicates the degree to which a person can work with peace of mind. The appropriateness indicates whether the trajectory of the robot 300 is appropriate. The execution efficiency indicates a change in the operation efficiency of the robot 300.

[0089] The cooperation is an example of an index for evaluating a risk due to an obstacle. The execution efficiency is an example of an index showing the work efficiency of the robot 300. The appropriateness can be either an index for evaluating a risk due to an obstacle or an index showing the work efficiency of the robot 300.

[0090] The behavior score may reflect at least one of the following: the stable operation of the robot 300, the mental comfort of a person working with the robot 300 in the same workspace, and the operational efficiency of the robot 300.

[0091] 7 is a diagram for illustrating calculation of feature amounts in the trajectory determination method according to the present embodiment. Referring to FIG. 7, evaluation unit 150 includes a feature amount calculation unit 152 and a behavior score calculation unit 154.

[0092] The feature amount calculation unit 152 calculates a plurality of feature amounts based on the behavior data 50. The behavior score calculation unit 154 calculates a behavior score made up of a plurality of indices based on at least a part of the plurality of feature amounts.

[0093] Fig. 8 is an example showing the relationship between the feature values ​​calculated in the trajectory determination method according to the present embodiment and each index of the behavior score. As shown in Fig. 8, each index of the behavior score is calculated based on at least a part of the multiple feature values. More specifically, multiple feature values ​​associated with each index of the behavior score are multiplied by a predetermined weight, and the sum of the weights is determined as the value of each index.

[0094] 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.

[0095] 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. Depending on the type of application, the feature amounts to be noted can be made different.

[0096] For example, the total weighted sum of the indices may be used as the behavior score. Specifically, using N (N≧2) indices, the behavior score Score = w1×[index 1] + w2×[index 2] + ··· + w N ×[index N] can be calculated. However, w i (i∈N) represents the weight coefficient.

[0097] <G. Feature Amount> Next, an example of the feature amount (see Fig. 8 etc.) used to calculate the behavior score in the trajectory determination method according to the present embodiment will be described. Each feature amount is calculated from the behavior data 50.

[0098] (g1: 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.

[0099] 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.

[0100] In equation (2), z n and t n are the homogeneous transformation matrix T shown in equation (3) nSpecifically, the homogeneous transformation matrix T n From the third and fourth columns of n and t n are determined respectively.

[0101] As shown in equation (4), the average manipulability wt is calculated by averaging the manipulability wt for the number of data m included in the behavior data 50. mean Furthermore, as shown in equation (5), the average manipulability w mean The manipulability score w normalized to the range of 0 to 1 score is calculated.

[0102]

number

[0103] (g2: relative distance / relative speed) 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.

[0104] 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.

[0105] 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.

[0106] 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.

[0107] (g3: 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.

[0108] 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.

[0109] 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.

[0110] 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.

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

[0112] (g4: 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.

[0113] 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.

[0114] (g5: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.

[0115] 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.

[0116] (g6: 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.

[0117] 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.

[0118] 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.

[0119] 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.

[0120] 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 E score is calculated. Workload score E score is used as the link energy.

[0121]

number

[0122] 9 is a graph showing an example of kinetic energy and potential energy calculated in the trajectory determination method according to the present embodiment. As shown in FIG 9, the kinetic energy and potential energy are calculated for each link, and the link energy (workload score) is determined.

[0123] (g7: 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.

[0124] Fig. 10 is a diagram for explaining an example of a method for calculating travel time efficiency and travel distance efficiency in the trajectory determination method according to the present embodiment. Fig. 10 shows an example in which the trajectory (original trajectory) of the robot 300 determined by the trajectory plan is changed to an avoidance trajectory due to the presence of an obstacle.

[0125] 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

[0126] t score =t total / t a The movement distance efficiency indicates how much the distance traveled 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 total and the distance traveled when moving along the avoidance trajectory l a It is calculated as follows using

[0127] l score =l total / l a (g8: 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.

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

[0129] 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:

[0130] (g9:Radius of curvature) The radius of curvature is a value indicating the degree of change in the trajectory along which the robot 300 moves. The smaller the radius of curvature, the greater the change in the trajectory along which the robot 300 moves.

[0131] The radius of curvature is calculated sequentially along the trajectory of the robot 300. The minimum value among the sequentially calculated radii of curvature may be determined as the final radius of curvature. Alternatively, the final radius of curvature may be calculated by averaging the sequentially calculated radii of curvature.

[0132] (g10:Work energy) Work energy indicates the energy possessed by the work held by the robot 300 (end effector). The higher the speed of the work, the lower the safety; the higher the position of the work, the lower the safety; and the heavier the work, the lower the safety. Work energy is an index indicating the likelihood that the robot 300 will avoid a person.

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

[0134] (g11:Others) It is not necessary to calculate all the above-described feature amounts, and at least some of them may be calculated. Also, 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.

[0135] <H. Optimization of Trajectory> Next, the optimization of the trajectory in the trajectory determination method according to the present embodiment will be described.

[0136] When each of the N (N ≥ 2) indicators included in the behavior score indicates a more favorable state as the value is higher (the larger the value of the behavior score, the more favorable the state), in the optimization of the trajectory, the planning parameters may be searched so that the behavior score is maximized (so as to be maximized).

[0137] On the other hand, when the smaller the value of the behavior score indicates a more favorable state, in the optimization of the trajectory, the planning parameters may be searched so that the behavior score is minimized (so as to be minimized).

[0138] As the optimization method, a known method can be adopted. For example, Bayesian optimization may be used to search for the optimal planning parameters. Note that as the optimization result, a plurality of paths may be output instead of a single path.

[0139] Multiple types of trajectories determined by the path plan and the trajectory plan may be evaluated comprehensively. In this case, the behavior data 50 for each trajectory is collected, and the behavior score is calculated for each of the collected behavior data 50. One or more trajectories with the highest calculated behavior scores may be output as the optimization result.

[0140] <I. Example of User Interface Screen> Next, an example of the user interface screen provided by the information processing apparatus 100 according to the present embodiment will be described.

[0141] FIG. 11 is a schematic diagram showing an example of the user interface screen 400 provided by the information processing apparatus 100 according to the present embodiment. The user interface screen 400 includes a search area setting unit 410 for receiving the designation of the search area. The search area defines the range for generating a path in the path plan.

[0142] The user interface screen 400 includes a cross-sectional view 412 showing a cross-section of the work space and a plan view 414 showing a plane of the work space.

[0143] The user sets a search area for at least one of the cross-sectional view 412 and the plan view 414. For the cross-sectional view 412, a range 416 of the search area in the cross-sectional direction is set, and for the plan view 414, a range 418 of the search area in the planar direction is set.

[0144] The path planning algorithm 252 (FIG. 6) of the trajectory generator 250 generates one or more path candidates within the search area defined by the range 416 and the range 418. That is, the path planning algorithm 252 (FIG. 6) may perform path planning under the conditions of the specified search area.

[0145] The user interface screen 400 can accept robot parameters. In the example shown in Fig. 11, the user interface screen 400 accepts the setting of a maximum speed 420 as a robot parameter. The value set for the maximum speed 420 may be used as a constraint in trajectory planning.

[0146] The user interface screen 400 can accept target values ​​for the trajectory to be determined. In the example shown in Figure 11, the user interface screen 400 assigns a behavior score target value 422 and a maximum execution time 424. The values ​​set for the behavior score target value 422 and the maximum execution time 424 may be used as constraints and convergence conditions for the optimization of the trajectory.

[0147] That is, a trajectory that shows a behavior score that exceeds the value set in the behavior score target value 422 and is equal to or less than the value set in the maximum execution time 424 may be determined as the final trajectory.

[0148] 12 is a schematic diagram showing an example of a user interface screen 430 provided by the information processing device 100 according to the present embodiment. The user interface screen 430 includes a route candidate list 440 for accepting selection of one or more route candidates generated by a route plan.

[0149] As described above, the user interface unit 160 (FIG. 6) of the information processing apparatus 100 provides a user interface screen 430 for receiving a selection for one or more routes determined by the route plan.

[0150] In the example shown in FIG. 12, the route candidate list 440 includes a plurality of route candidates 442, 444, 446, 448. The calculated behavior score and the maximum execution time are displayed in association with each of the route candidates 442, 444, 446, 448.

[0151] A route candidate whose behavior score is less than the value set for the behavior score target value 422 and a route candidate whose maximum execution time exceeds the value set for the maximum execution time 424 may be displayed in a non-selectable state or may be displayed in a manner different from other route candidates.

[0152] The user interface screen 430 includes a route display 450 that represents one or more route candidates generated by the route plan in a three-dimensional space. The user can also select a route candidate while referring to the route display 450.

[0153] By the user selecting a route candidate, the time for the optimization of the trajectory to converge can be shortened.

[0154] <J. Modification Example> The trajectory determination method according to the present embodiment is applicable not only to a vertically articulated robot but also to any manipulator robot. Examples of applicable manipulator robots include, for example, a horizontally articulated robot (scalar robot), a parallel link robot, an orthogonal robot, and a dual-arm robot.

[0155] The output of the determined trajectory may be a method of transmitting data indicating the trajectory from the information processing apparatus 100 to the controller 200, or may be a method of outputting data indicating the trajectory as an electronic file.

[0156] 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 of the information processing device 100 and a method of transmitting a screen image to another information processing device via a network.

[0157] The generation of the trajectory, the collection of the behavior data 50, and the optimization of the trajectory may be performed by either the information processing device 100 or the controller 200.

[0158] FIG. 13 is a schematic diagram showing a modification of the robot system 1 according to the present embodiment. 13(A) shows an example in which the trajectory generating unit 250 is arranged in the information processing device 100, not in the controller 200. With reference to FIG. 13(A), the information processing device 100 includes the trajectory generating unit 250 in addition to the evaluation unit 150 and the selection receiving unit 164.

[0159] The information processing device 100 executes route planning and trajectory planning, and collects behavior data 50 from the controller 200 to optimize the route.

[0160] 13(B) shows an example in which all components are arranged in the controller 200. The controller 200 includes an evaluation unit 150 and an optimization unit 156 in addition to a trajectory generation unit 250, a command generation unit 256, and a behavior data collection unit 260.

[0161] The controller 200 performs path planning and trajectory planning, and optimizes the path based on the behavior data 50 .

[0162] For ease of explanation, the candidate presentation unit 162 and the selection receiving unit 164 are not illustrated in FIG. 13, but these components may be disposed in the information processing device 100 or the controller 200.

[0163] 13 are merely examples, and necessary components may be arranged in any device. In addition, some components may be arranged in any device (e.g., a computer resource on a cloud) other than the information processing device 100 and the controller 200.

[0164] The behavior data 50 may be generated by a simulator instead of being collected by actually operating the robot 300.

[0165] FIG. 14 is a schematic diagram showing yet another modified example of the robot system 1 according to the present embodiment.

[0166] 14(A) shows an example in which a robot simulator 270 is arranged in the controller 200. The robot simulator 270 simulates or emulates the operation of the robot 300. The robot simulator 270 sequentially calculates the state of the robot 300 according to the commands sequentially generated by the command generator 256.

[0167] The behavior data collection unit 260 generates the behavior data 50 based on the states of the robot 300 that are sequentially calculated by the robot simulator 270 .

[0168] 14(B) shows an example in which the trajectory generating unit 250 is arranged in the information processing device 100, not in the controller 200, as in Fig. 13(A). In this example as well, the robot simulator 270 sequentially calculates the state of the robot 300 according to the commands sequentially generated by the command generating unit 256.

[0169] 14 are merely examples, and the necessary components may be arranged in any device. For example, the robot simulator 270 may be arranged in any device (e.g., a computer resource on a cloud) other than the information processing device 100 and the controller 200.

[0170] For convenience of explanation, although the candidate presentation unit 162 and the selection reception unit 164 are not illustrated in FIGS. 13 and 14, these components may be arranged in the information processing apparatus 100 or the controller 200.

[0171] As described above, the generation of the behavior data 50 may be based on at least one of actually operating the robot 300 and executing a simulation regarding the operation of the robot 300 (robot simulator 270).

[0172] The information processing apparatus 100 according to the present embodiment not only executes the processing as an orbit determination apparatus, but a plurality of information processing apparatuses may cooperate to execute the processing as an orbit determination apparatus. Further, the controller 200 may include an orbit determination apparatus.

[0173] <K. Addendum> The present embodiment as described above includes the following technical ideas.

[0174] [Configuration 1] A generation unit (250) that generates an orbit of a manipulator robot (300), A first calculation unit (152) that calculates a plurality of feature amounts based on the behavior data (50) of the manipulator robot corresponding to the generated orbit, A second calculation unit (154) that calculates a score regarding the behavior of the manipulator robot, including an index for evaluating a risk with respect 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, An orbit determination apparatus comprising an optimization unit (156) that optimizes the orbit based on the calculated score.

[0175] [Configuration 2] The optimization unit adjusts a parameter for the generation unit to generate the orbit so that the calculated score becomes maximum or minimum, the orbit determination apparatus according to Configuration 1.

[0176] [Configuration 3] 2. The trajectory determination apparatus of claim 1, wherein the generator includes a path planning algorithm (252) for performing path planning, and a trajectory planning algorithm (254) for performing trajectory planning.

[0177] [Configuration 4] The trajectory determination device according to configuration 3, wherein the generation unit executes trajectory planning for a route selected from one or more routes determined by the route planning.

[0178] [Configuration 5] 4. The trajectory determination apparatus of configuration 3, further comprising a user interface unit (160) providing a user interface screen (430) for accepting selection of one or more paths determined by the path planning.

[0179] [Configuration 6] The trajectory determination apparatus according to configuration 3, wherein the generation unit executes the path planning under conditions of a specified search area.

[0180] [Configuration 7] The trajectory determination device according to any one of configurations 1 to 6, wherein the generation of the behavior data is based on at least one of actually operating the manipulator robot and performing a simulation regarding the operation of the manipulator robot.

[0181] [Configuration 8] The trajectory determination device according to any one of configurations 1 to 6, 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.

[0182] [Configuration 9] A method for orbit determination executed by a computer (100; 200), comprising the steps of: Generating (S1, S4) a trajectory for a manipulator robot (300); Calculating a plurality of feature amounts based on the behavior data of the manipulator robot corresponding to the generated trajectory (S8); Calculating a score related to the behavior of the manipulator robot, 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 (S8); An orbit determination method comprising: optimizing the orbit based on the calculated score (S10).

[0183] [Configuration 10] Causing a computer (100; 200) to generate an orbit of a manipulator robot (S1, S4); calculate a plurality of feature amounts based on the behavior data of the manipulator robot corresponding to the generated orbit (S8); calculate a score related to the behavior of the manipulator robot, 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 (S8); An orbit determination program for causing the orbit to be optimized based on the calculated score (S10).

[0184] <L. Advantage> In order to evaluate the safety of a manipulator robot such as a collaborative robot, it is also necessary to evaluate the influence exerted by the manipulator robot on a person and the relationship between the manipulator robot and an obstacle. The orbit determination 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 a plurality of feature amounts. Since the orbit of the manipulator robot is optimized using the calculated behavior score, the orbit of the manipulator robot can be determined more appropriately.

[0185] The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present invention is defined by the claims, not the above description, and is intended to include all modifications within the meaning and scope of the claims. [Explanation of symbols]

[0186] 1 Robot system, 50 Behavior data, 100 Information processing device, 102, 202 Processor, 104, 204 Memory, 106 Input interface, 108 Input device, 110 Display interface, 112 Display, 114, 214 USB controller, 116 Network controller, 120, 220 Storage, 122 OS, 124 Trajectory determination program, 150 Evaluation unit, 152 Feature calculation unit, 154 Behavior score calculation unit, 156 Optimization unit, 160 User interface unit, 162 Candidate presentation unit, 164 Selection reception unit, 200 Controller, 212 Robot interface, 222 System program, 224 Trajectory generation program, 250 Trajectory generation unit, 252 Path planning algorithm, 254 Trajectory planning algorithm, 256 Command generation unit, 258 Avoidance operation algorithm, 260 Behavior data collection unit, 270 Robot simulator, 300 Robot, 400,430 User interface screen, 410 Search area setting section, 412 Cross section, 414 Plan view, 416,418 Range, 420 Maximum speed, 422 Behavior score target value, 424 Maximum execution time, 440 Path candidate list, 442,444,446,448 Path candidate, 450 Path display.

Claims

1. A generation unit that generates a trajectory of a manipulator robot; a first calculation unit that calculates a plurality of feature amounts based on behavior data of the manipulator robot corresponding to the generated trajectory; a second calculation unit that calculates a score related to a behavior of the manipulator robot, the score including an index for evaluating a risk regarding an obstacle and an index indicating a working efficiency of the manipulator robot, based on at least a part of the plurality of feature amounts; and an optimization unit that optimizes the orbit based on the calculated score.

2. The orbit determination apparatus according to claim 1 , wherein the optimization unit adjusts parameters used by the generation unit to generate the orbit so that the calculated score is maximized or minimized.

3. The trajectory determination device according to claim 1 , wherein the generation unit includes a path planning algorithm for executing a path plan, and a trajectory planning algorithm for executing a trajectory plan.

4. The trajectory determination device according to claim 3 , wherein the generation unit executes trajectory planning for a route selected from the one or more routes determined by the route planning.

5. The trajectory determination device according to claim 3 , further comprising a user interface unit that provides a user interface screen for accepting selection of one or more routes determined by the route planning.

6. The trajectory determination device according to claim 3 , wherein the generation unit executes the path plan under conditions of a specified search area.

7. The trajectory determination device according to any one of claims 1 to 6, wherein the generation of the behavior data is based on at least one of actually operating the manipulator robot and performing a simulation of the operation of the manipulator robot.

8. The trajectory determination device according to any one of claims 1 to 6, 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.

9. 1. A computer implemented method for orbit determination, comprising: Generating a trajectory for a manipulator robot; Calculating a plurality of feature amounts based on behavior data of the manipulator robot corresponding to the generated trajectory; Calculating a score related to a behavior of the manipulator robot, the score including an index for evaluating a risk regarding an obstacle and an index indicating a working efficiency of the manipulator robot, based on at least a part of the plurality of feature amounts; optimizing the trajectory based on the calculated score.

10. On the computer, Generating a trajectory for a manipulator robot; Calculating a plurality of feature amounts based on behavior data of the manipulator robot corresponding to the generated trajectory; Calculating a score related to a behavior of the manipulator robot, the score including an index for evaluating a risk regarding an obstacle and an index indicating a working efficiency of the manipulator robot, based on at least a part of the plurality of feature amounts; and optimizing the trajectory based on the calculated score.

Citation Information

Patent Citations

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

    JP2019518616A

  • Position control device and position control method

    WO2019146007A1

Cited By

  • Intelligent grabbing method and system of mechanical arm based on Internet of Things

    CN120620229A