This disclosure relates to an information processing apparatus.
Robots are widely used in assembly plants, food factories, and the like because they can be made to perform various tasks by following pre-created operation programs. One of the reasons for the increased use of robots is the improvement of technology to ensure their safety. For example, in order to limit the speed and acceleration of a robot entering a specified area, it is known to determine whether or not the position of the tip of a tool is in an operation restriction area of an arbitrary size set by coordinate values in a world coordinate system, and to limit at least one of the speed and acceleration of the robot when the position of the tip of the tool is in the operation restriction area (for example, Patent Literature 1).
As described above, many techniques have been proposed for reducing the risk of workers being injured or peripheral devices being damaged by the operation of the robot. However, many techniques that reduce the risk of the robot itself or end-effectors attached to the robot being damaged by the operation of the robot have not been proposed, leaving room for technological development. In particular, since the end effectors mounted on the robot have different load capacities and stiffness values, they are subjected to large inertial forces due to acceleration and deceleration of the robot, which can cause fatigue accumulation and unexpected fatigue fracture.
An information processing apparatus according to one aspect of the present disclosure includes an acceleration vector calculation unit configured to calculate, based on an operation program or operation information when a robot device is actually operated in accordance with the operation program, a plurality of acceleration vectors corresponding to a plurality of time points during a period in which a reference position of the robot moves from a starting point to an ending point, and an index value calculation unit configured to calculate, based on the plurality of acceleration vectors, a plurality of index values which serve as an index for evaluating a stress amplitude acting on the reference position.
Hereinafter, an information processing apparatus according to the present embodiment will be described with reference to the drawings. In the following description, constituent elements having substantially the same function and configuration are denoted by the same reference numeral, and repetitive descriptions will be given only where necessary.
One feature of the information processing apparatus according to the present embodiment (hereinafter simply referred to as an information processing apparatus) is that it has a function of evaluating an operation program, specifically, a function of calculating an index value for determining the possibility of fatigue fracture occurring at a specific point of a robot device when the robot device is operated in accordance with the operation program. This feature allows, for example, the user to determine the possibility of fatigue fracture occurring at a specific point of the robot device by checking the index value, and to modify the operation program as necessary. The determination of the possibility of fatigue fracture occurring at a specific point of the robot device can also be done automatically by comparing the index value with a threshold value. The modification of the operation program can also be done automatically based on the index value and the threshold value.
As shown in
As shown in
The operation unit 3 includes an input device such as a keyboard, a mouse, and a jog. Note that a touch panel or the like that serves as both the operation unit 3 and the display unit 4 may be used. The user can input various types of information into the information processing apparatus 1 through the operation unit 3.
The various types of information include input operation information of a reference position of the robot device 7 which is a target for determining the possibility of fatigue fracture, and input operation information on the determination page displayed on the display unit 4. In the present embodiment, the reference position of the robot device 7 is set at the robot hand 9. Hereinafter, the reference position of the robot device 7 will be denoted as the robot hand 9.
The display unit 4 includes a display device such as an LCD. The display unit 4 displays the determination page created by a determination page creation unit 26. Further, the display unit 4 displays the possibility of fatigue fracture occurring in the robot hand 9 determined by a determination unit 24. As a display mode, the possibility of fatigue fracture occurring may be displayed as a percentage, or the time until the fatigue fracture occurs may be displayed.
The storage unit 6 includes a storage device such as an HDD or an SSD. Multiple types of data are stored in advance in the storage unit 6. The multiple types of data include a determination program 61, an operation program 62 which is a target of determination, and a threshold value. The operation program 62 describes an operation position command for the robot device 7, and the like. The threshold value is a value for evaluating the index value, is used in a determination process by the determination unit 24 to be described later, and is displayed on a graph corresponding to the time variation of the maximum value of index values.
The communication unit 5 controls transmission and reception of data to and from the control device 10. For example, an operation program 62 modified by the information processing apparatus 11 is provided to the control device through the processing of the communication unit 5.
When the determination program 61 stored in the storage unit 6 is executed by the processor 2, the information processing apparatus 11 functions as an acceleration vector calculation unit 21, an index value calculation unit 22, an angle calculation unit 23, a determination unit 24, a graph creation unit 25, a determination page creation unit 26, and a program modification unit 27.
The acceleration vector calculation unit 21 calculates, based on the operation program 62, a plurality of acceleration vectors respectively corresponding to a plurality of time points during a period in which the robot hand 9 moves from the starting point to the end point. The plurality of time points are set at equal intervals in time. Of course, the plurality of time points may be set so that the distance intervals are equally spaced.
The index value calculation unit 22 calculates a plurality of index values which serve as indices for evaluating the stress amplitude acting on the robot hand 9, based on the plurality of acceleration vectors calculated by the acceleration vector calculation unit 21. Specifically, the index value calculation unit 22 calculates an inner product value of two acceleration vectors among the plurality of acceleration vectors. Details of the calculation process by the index value calculation unit 22 will be described later.
The angle calculation unit 23 calculates values corresponding to angles of the plurality of acceleration vectors calculated by the acceleration vector calculation unit 21 with respect to a reference axis. Specifically, the angle calculation unit 23 calculates a sine value of an angle formed by an acceleration vector and a reference axis as a value corresponding to the angle. Details of the calculation process by the angle calculation unit 23 will be described later.
The determination unit 24 determines, based on the plurality of index values calculated by the index value calculation unit 22, the possibility of fatigue fracture occurring in the robot hand 9 when the robot device 7 is operated in accordance with the operation program 62. For example, the determination unit 24 determines the possibility of fatigue fracture occurring in the robot hand 9 by comparing a plurality of index values calculated by the index value calculation unit 22 with a threshold value. Specifically, the determination unit 24 determines the possibility of fatigue fracture occurring in the robot hand 9 by comparing the minimum value of the index values with the threshold value. Note that the determination unit 24 may determine the possibility of fatigue fracture occurring in the robot hand 9, based on the plurality of index values calculated by the index value calculation unit 22 and the plurality of angles calculated by the angle calculation unit 23.
The graph creation unit 25 creates multiple types of graphs. The multiple types of graphs include a graph showing the time variation of index values, a graph showing the time variation of angles, and a graph showing the time variation of acceleration vectors. The graph showing the time variation of index values is created based on the plurality of index values calculated by the index value calculation unit 22. Specifically, based on the plurality of inner product values calculated by the index value calculation unit 22, a graph corresponding to the time variation of the maximum value of the index values, a graph corresponding to the time variation of the index value with a specific time point as a reference time point, and the like are created. The graph showing the time variation of angles is created based on the plurality of angles calculated by the angle calculation unit 23. The graph showing the time variation of acceleration vectors is created based on the plurality of acceleration vectors calculated by the acceleration vector calculation unit 21. The graph showing the time variation of acceleration vectors includes a graph about each axis of the three orthogonal axes and a graph about absolute values of acceleration vectors.
The determination page creation unit 26 creates a determination page in accordance with a predetermined format. The determination page created by the determination page creation unit 26 is displayed on the display unit 4. Details of the determination page will be described later.
The program modification unit 27 modifies the operation program 62 based on the result of the determination by the determination unit 24. The modification process of the operation program 62 by the program modification unit 27 will be described later in detail.
The acceleration vector calculation unit 21 calculates a plurality of acceleration vectors (Vt0, Vt1, . . . , and Vt18) respectively corresponding to a plurality of time points (T0, T1, . . . , and T18) during a moving period from the standby position A as the starting point until the robot hand 9 is returned to the standby position A as the ending point via the picking position B and the release position C.
The index value calculation unit 22 calculates, as an index value, an inner product value of acceleration vectors for each combination of two time points of a plurality of time points (T0, T1, . . . , and T18). In other words, the index value calculation unit 22 calculates the inner product value of two acceleration vectors out of the plurality of acceleration vectors (Vt0, Vt1, . . . , and Vt18) by a round robin method.
The inner product value itself does not directly indicate the magnitude of the amplitude of the stress acting on the robot hand 9. It is known that fatigue fracture of a member depends on the magnitude of the stress amplitude occurring in the member. This stress amplitude increases when two inertia forces in opposite directions act on the member. By obtaining the inner product values, it is possible to identify a pair of operation points (time points) by which inertial forces in the opposite directions may be applied to the robot hand 9 in a series of operation periods of the robot hand 9. As is well known, the inner product value of the acceleration vectors (Vt0, Vt1) between the time points TO and T1 is given by |Vt0|·|Vt1|·cos θ, where θ is an angle formed by the two acceleration vectors. When the polarity of the inner product value of two acceleration vectors respectively corresponding to two time points is negative, it means that the two acceleration vectors form an angle larger than 90 degrees and smaller than 270 degrees. The two acceleration vectors whose inner product value has negative polarity are a pair that causes two inertial forces in opposite directions on the robot hand 9. Of course, the larger the absolute value of the inner product value, the larger the inertial forces acting on the robot hand 9. In other words, the polarity of the inner product value is negative and the larger the absolute value, the larger the stress amplitude acting on the robot hand 9. As described above, the fatigue fracture depends on the magnitude of the stress amplitude, and the magnitude of the stress amplitude corresponds to the polarity and the absolute value of the inner product value; therefore, the inner product value of acceleration vectors can be used for determining the possibility of fatigue fracture. In the present embodiment, the inner product value and the index value are related so that the smaller the inner product value, the larger the index value. When the index value calculated by the index value calculation unit 22 is large, the user can determine that the stress amplitude acting on the robot hand 9 is large and that fatigue fracture is likely to occur.
The angle calculation unit 23 calculates the angle of an acceleration vector with respect to a reference axis. It is desirable that the reference axis is set in a direction that is vulnerable to fatigue fracture at the reference position of the robot device 7. For example, the direction that is vulnerable to fatigue fracture corresponds to the thickness direction of the member. When a stress amplitude acts on a thick member in the thickness direction, even if the stress amplitude is large, it is unlikely to cause fatigue fracture. On the other hand, when a stress amplitude is applied to a thin member in the thickness direction, even if the stress amplitude is small, it may cause fatigue fracture. Accordingly, by considering not only the magnitude of the stress amplitude acting on the reference position of the robot device 7 but also the direction of the stress amplitude, the possibility of fatigue fracture can be determined in more detail.
In the present embodiment, as shown in
The program modification unit 27 modifies the operation program 62 based on the result of the determination by the determination unit 24.
When it is determined, based on the result of the determination by the determination unit 24, that the operation program 62 includes a time point that is likely to cause fatigue fracture in the robot hand 9, the program modification unit 27 modifies the operation program 62 so as to reduce the operation speed so that the speed at that time point is reduced. For example, when it is determined that an instantaneous operation at a time point between the position A and the position B is a time point that is likely to cause fatigue fracture in the robot hand 9, the operation speed of the operation order 2 is reduced from “100%” to “90%” in order to reduce the operation speed between the position A and the position B. The item of the operation program 62 to be modified is not limited to the operation speed. For example, the setting item of acceleration/deceleration may be modified so that the acceleration/deceleration becomes gradual, or the movement format may be modified so that the movement trajectory from the position A to the position B is changed.
When the determination process button is clicked, an acceleration vector calculation process, an index value calculation process, an angle calculation process, and a determination process are executed based on the input operation program, and various graphs are displayed. When the manual modification button is clicked, an operation program as shown in
The four check boxes correspond to ‘index value’, ‘angle’, ‘acceleration’, and ‘threshold value’, respectively.
As shown in
The graph corresponding to the time variation of the maximum value of the index values plots the maximum values of the index values at respective time points. As described with reference to
In the graph corresponding to the time variation of the maximum value of the index values, the horizontal axis indicates the passage of time, and the vertical axis indicates the magnitude of the index value. The vertical axis shows that the upper the index value, the larger the index value, i.e., the smaller the inner product value.
By referring to the graph corresponding to the time variation of the maximum value of the index values and confirming the magnitude of the index value, the user can determine whether or not there is an operation point (time point) where a large stress amplitude is applied to the robot hand 9, i.e., an operation point that is likely to cause fatigue fracture. Various types of information can be displayed on the determination page to assist the user in making the determination.
In
The user selects a threshold value A corresponding to the robot hand 9 as the threshold value to be displayed on the graph corresponding to the time variation of the maximum value of the index values. By referring to the graph in
In
Accordingly, for example, even when the index value corresponding to a first time point is small, if the direction of the acceleration vector corresponding to the first time point is parallel or slightly inclined with respect to the direction that is vulnerable to fatigue fracture, it may be better to determine the first time point as the time point that causes fatigue fracture. On the other hand, even when the index value corresponding to the second time point is large, if the direction of the acceleration vector corresponding to the second time point is strong against fatigue fracture, it may not be necessary to determine the second time point as the time point that causes fatigue fracture. In this way, by being able to confirm the time variation of the maximum value of the index values and the time variation of the angle on the same time axis, it is possible to identify a time point where the direction of the acceleration vector acts along a direction that is vulnerable to fatigue fracture although the index value is small, which cannot be extracted only from the graph showing the time variation of the maximum value of the index values. For example, by referring to the graph in
In
The information processing apparatus 1 according to the present embodiment described above can provide the user with a material for determining the possibility of fatigue fracture occurring at a specific point of the robot device when the robot device 7 is operated in accordance with the operation program. Specifically, it is possible to calculate a plurality of acceleration vectors respectively corresponding to a plurality of time points during the operation period and display a graph corresponding to the time variation of the index value for evaluating the magnitude of the stress amplitude, based on the plurality of acceleration vectors. As a result, the user can confirm at which time point the operation is an influencing factor that causes fatigue fracture in the robot hand 9 in the series of operations. If the operation program includes an operation that is likely to cause fatigue fracture, the user may modify the operation program so that the operation can be eliminated. Further, when it is difficult to modify the operation program due to the limitation of the cycle time or the like, the strength of the point where the fatigue fracture may occur can be improved to prevent fatigue fracture in advance. Since the determination process by the information processing apparatus 1 according to the present embodiment can be performed before the robot device 7 is actually operated, the determination result can be used for manufacturing the robot hand 9.
In the present embodiment, the acceleration vectors are calculated based on the operation program, but the acceleration vectors may be calculated using operation information when the robot device 7 is actually operated in accordance with the operation program. For example, as shown in
While some embodiments of the present invention have been described, these embodiments have been presented as examples, and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and spirit of the invention and are included in the scope of the claimed inventions and their equivalents.
The present application is a National Phase of International Application No. PCT/JP2022/008000 filed Feb. 25, 2022.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2022/008000 | 2/25/2022 | WO |