Simulation device and program

The simulation device and program address the limitation of existing gantry simulation models by calculating and outputting physical forces and moments, enhancing gantry design for effective vibration reduction.

JP2025015039APending Publication Date: 2025-01-30SEIKO EPSON CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023118103
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-20
Publication Date
2025-01-30

AI Technical Summary

Technical Problem

Existing simulation models for gantries do not adequately consider the impact of robot devices, limiting the effectiveness of vibration reduction during gantry design.

Method used

A simulation device and program that acquire position and operation information of a robot mounted on a gantry, calculate the physical forces and moments acting on the mounting position, and output these values for gantry design optimization.

Benefits of technology

Provides detailed information for gantry design, allowing for better vibration reduction and verification of the impact of robot operations on the stand, facilitating more precise gantry design and operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025015039000001_ABST
    Figure 2025015039000001_ABST
Patent Text Reader

Abstract

To provide a simulation device which can provide information helpful to designing of a frame, and to provide a program.SOLUTION: A simulation device 4 includes: a position information acquisition section 61 which acquires position information indicting an attachment position of a robot 1 attached to a frame 7; an operation information acquisition section 62 which acquires operation information 53 indicating an operation to be conducted by the robot 1; a simulation execution section 63 which calculates a force and a moment acting on the attachment position based on the position information and the operation information 53; and an output section 64 which outputs the force and the moment calculated by the simulation execution section 63.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a simulation device and a program. [Background technology]

[0002] Patent Document 1 proposes a robot device that is installed on a stand, and reduces the effects of vibrations occurring on the stand based on simulation model data of the stand and trajectory data of the robot device. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2020-97101 A Summary of the Invention [Problem to be solved by the invention]

[0004] However, the configuration described in Patent Document 1 is premised on the assumption that a simulation model of the pedestal has been determined, i.e., the design of the pedestal has been completed. In other words, the pedestal has not been designed in consideration of the trajectory of the robot device, so there is a limit to reducing the effects of vibration. For this reason, there is a demand for a simulation device that can provide information useful for the design of the pedestal before the pedestal is designed. [Means for solving the problem]

[0005] The simulation device includes a position information acquisition unit that acquires position information representing an attachment position of a robot attached to a stand, a motion information acquisition unit that acquires motion information representing an action to be performed by the robot, a calculation unit that calculates a physical quantity including at least one of a force and a moment acting on the attachment position based on the position information and the motion information, and an output unit that outputs the physical quantity calculated by the calculation unit.

[0006] The program causes the computer to function as a position information acquisition unit that acquires position information representing the mounting position of the robot to be mounted on a stand, an operation information acquisition unit that acquires operation information representing an operation to be performed by the robot, a calculation unit that calculates a physical quantity including at least one of a force and a moment acting on the mounting position based on the position information and the operation information, and an output unit that outputs the physical quantity calculated by the calculation unit. [Brief description of the drawings]

[0007] [Figure 1] FIG. 1 is a diagram showing an overall configuration of a robot system according to a first embodiment. [Diagram 2] FIG. 1 is a block diagram of a robot system according to a first embodiment. [Diagram 3] FIG. 1 is a block diagram of a simulation device according to a first embodiment. [Figure 4] FIG. 2 is a diagram showing a Cartesian coordinate system with the attachment position as the origin. [Diagram 5] 4 is a flowchart showing the operation of the simulation device according to the first embodiment. [Figure 6A] A graph showing the robot's movements. [Figure 6B] A graph showing the robot's movements. [Figure 6C] A graph showing the robot's movements. [Figure 7A] Graph displayed on the display. [Figure 7B] Graph displayed on the display. [Figure 7C] Graph displayed on the display. [Figure 7D] Graph displayed on the display. [Figure 7E] Graph displayed on the display. [Figure 7F] Graph displayed on the display. [Figure 8] FIG. 11 is a block diagram of a simulation device according to a second embodiment. [Figure 9] 10 is a flowchart showing the operation of a simulation device according to a second embodiment. [Figure 10A]A graph generated based on time series information. [Figure 10B] A graph generated based on time series information. [Figure 10C] A graph generated based on time series information. [Figure 10D] A graph generated based on time series information. [Figure 10E] A graph generated based on time series information. [Figure 10F] A graph generated based on time series information. [Figure 11A] A graph showing the robot's movements. [Figure 11B] A graph showing the robot's movements. [Figure 11C] A graph showing the robot's movements. [Figure 12A] 11 is a graph showing a simulation result. [Figure 12B] 11 is a graph showing a simulation result. [Figure 12C] 11 is a graph showing a simulation result. [Figure 12D] 11 is a graph showing a simulation result. [Figure 12E] 11 is a graph showing a simulation result. [Figure 12F] 11 is a graph showing a simulation result. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0008] 1. First embodiment FIG. 1 is a diagram showing an overall configuration of a robot system 100 according to the first embodiment, and FIG. 2 is a block diagram of the robot system 100 according to the first embodiment.

[0009] As shown in FIGS. 1 and 2, the robot system 100 includes a robot 1, a control device 3 that controls the operations of each part of the robot 1, and a simulation device 4.

[0010] First, the robot 1 will be described. In this embodiment, the robot 1 is a single-arm, six-axis vertical articulated robot, and includes a base 10 and a robot arm 2 having one end attached to the base 10. The base 10 rotatably supports the robot arm 2. An end effector 20 can be attached to the other end of the robot arm 2. Hereinafter, the base 10 side of the robot arm 2 will also be referred to as the "base end," and the side opposite the base end, i.e., the end effector 20 side of the robot arm 2 will also be referred to as the "tip."

[0011] The robot 1 is not limited to the configuration shown in the figure, and may be, for example, a dual-arm multi-joint robot or a horizontal multi-joint robot. The end effector 20 may or may not be a component of the robot 1.

[0012] The robot 1 is attached to a stand 7 installed on the floor or the like in a factory. Specifically, a fixing part 11 having a substantially rectangular plate shape in a plan view is provided on the lower part of the base 10, and the base 10 is fixed to the stand 7 with bolts at the four corners of the fixing part 11. The base 10 is electrically connected to the control device 3 via a relay cable.

[0013] In this embodiment, the robot arm 2 has a first arm 12, a second arm 13, a third arm 14, a fourth arm 15, a fifth arm 16, and a sixth arm 17, and these arms are connected in this order from the base 10 side. Note that the number of arms that the robot arm 2 has is not limited to six, and may be five or less, or seven or more.

[0014] The base 10 and the first arm 12 are connected via a joint 171. The first arm 12 is rotatable around a first rotation axis A1 extending vertically relative to the base 10. The first rotation axis A1 coincides with a normal to the surface of the stand 7 to which the base 10 is fixed, and the entire robot arm 2 can rotate in either the forward or reverse direction around the first rotation axis A1 as the rotation center.

[0015] The first arm 12 and the second arm 13 are connected via a joint 172. The second arm 13 is rotatable relative to the first arm 12 about a second rotation axis (not shown) that extends in the horizontal direction.

[0016] The second arm 13 and the third arm 14 are connected via a joint 173. The third arm 14 is rotatable about a third rotation axis (not shown) that extends horizontally relative to the second arm 13. The third rotation axis is parallel to the second rotation axis.

[0017] The third arm 14 and the fourth arm 15 are connected via a joint 174. The fourth arm 15 is rotatable relative to the third arm 14 about a fourth rotation axis (not shown) that is parallel to the central axial direction of the third arm 14. The fourth rotation axis is perpendicular to the third rotation axis.

[0018] The fourth arm 15 and the fifth arm 16 are connected via a joint 175. The fifth arm 16 is rotatable about a fifth rotation axis (not shown) as a rotation center relative to the fourth arm 15. The fifth rotation axis is perpendicular to the fourth rotation axis.

[0019] The fifth arm 16 and the sixth arm 17 are connected via a joint 176. The sixth arm 17 is rotatable about a sixth rotation axis (not shown) as a rotation center relative to the fifth arm 16. The sixth rotation axis is perpendicular to the fifth rotation axis.

[0020] An end effector 20 can be detachably attached to the tip of the sixth arm 17, i.e., the tip of the robot arm 2. In this embodiment, the end effector 20 is composed of a hand having a pair of claws that can move toward and away from each other, and the claws grip a workpiece or a tool. A force detector (not shown) is attached to the end effector 20. The force detector can detect the magnitude and direction of the reaction force of the gripping force when the claws grip a workpiece. When the end effector 20 is attached to the sixth arm 17, the tip of the end effector 20 becomes the control point TCP of the robot 1.

[0021] The end effector 20 is not limited to the configuration shown in the figure, and may be, for example, a configuration having an adsorption part that grips a workpiece or a tool by adsorption by the adsorption part. The end effector 20 may be, for example, a polisher, a grinder, a cutting machine, a spray gun, a laser light irradiator, a screwdriver, a wrench, or other tool.

[0022] The robot 1 includes motors M1 to M6 as driving units. The robot 1 also includes encoders E1 to E6. The motor M1 is built into the joint 171 and rotates the first arm 12 relative to the base 10 around the first rotation axis A1. The motor M2 is built into the joint 172 and rotates the first arm 12 and the second arm 13 relatively around the second rotation axis. The motor M3 is built into the joint 173 and rotates the second arm 13 and the third arm 14 relatively around the third rotation axis. The motor M4 is built into the joint 174 and rotates the third arm 14 and the fourth arm 15 relatively around the fourth rotation axis. The motor M5 is built into the joint 175 and rotates the fourth arm 15 and the fifth arm 16 relatively around the fifth rotation axis. The motor M6 is built into the joint 176 and rotates the fifth arm 16 and the sixth arm 17 relatively around the sixth rotation axis.

[0023] Furthermore, encoder E1 is built into joint 171 and detects the rotation angle of motor M1. Encoder E2 is built into joint 172 and detects the rotation angle of motor M2. Encoder E3 is built into joint 173 and detects the rotation angle of motor M3. Encoder E4 is built into joint 174 and detects the rotation angle of motor M4. Encoder E5 is built into the fifth arm 16 and detects the rotation angle of motor M5. Encoder E6 is built into the sixth arm 17 and detects the rotation angle of motor M6.

[0024] 2, the motor drivers D1 to D6 are connected to the corresponding motors M1 to M6, respectively, and control the driving of these motors M1 to M6. The motor drivers D1 to D6 are built into the joints 171, 172, 173, 174, the fifth arm 16, and the sixth arm 17, respectively.

[0025] The encoders E1 to E6 and the motor drivers D1 to D6 are each electrically connected to the control device 3. The rotation angles of the motors M1 to M6 detected by the encoders E1 to E6 are transmitted to the control device 3 as electric signals. Then, based on the rotation angles, the control device 3 outputs control signals to the motor drivers D1 to D6 to drive the motors M1 to M6. In other words, controlling the robot arm 2 means controlling the operation of the first arm 12 to the sixth arm 17 belonging to the robot arm 2 by controlling the driving of the motors M1 to M6.

[0026] As shown in Fig. 1, in this embodiment, the control device 3 is installed at a position separate from the robot 1. However, this is not limited to the configuration, and the control device 3 may be built into the base 10. As shown in Fig. 2, the control device 3 has a function of controlling the driving of the robot 1, and is electrically connected to each part of the robot 1 described above. The control device 3 has a control unit 31, a storage unit 32, and a communication unit 33. These parts are connected to each other so as to be able to communicate with each other, for example, via a bus.

[0027] The control unit 31 includes a processor such as a CPU (Central Processing Unit). The control unit 31 reads out programs such as an operation program stored in the storage unit 32, and controls the operation of the robot 1 in accordance with the read out programs. The control unit 31 transmits control signals to each part of the robot 1 via the communication unit 33, and receives signals from each part of the robot 1 via the communication unit 33. This enables the robot arm 2 to perform a predetermined task under predetermined conditions.

[0028] The storage unit 32 stores various programs and the like executed by the control unit 31. Examples of the storage unit 32 include volatile memories such as RAM (Random Access Memory), non-volatile memories such as ROM (Read Only Memory), and storage devices such as hard disk drives and SSDs (Solid State Drives).

[0029] The communication unit 33 has various interfaces capable of communicating with external devices, and transmits and receives signals between the robot 1 and the simulation device 4. The communication performed by the communication unit 33 may be communication via a network such as a LAN (Local Area Network) or the Internet. The communication may be wired or wireless.

[0030] FIG. 3 is a block diagram of the simulation device 4 of the first embodiment. The simulation device 4 is configured by, for example, a computer. The simulation device 4 has a control unit 40, a storage unit 41, an input / output interface 42, an input unit 43, and a display unit 44. The storage unit 41 and the input / output interface 42 are connected to the control unit 40 via a bus or the like.

[0031] The control unit 40 is configured to include a processor such as a CPU and memories such as RAM and ROM, and controls the operation of the simulation device 4 by operating in accordance with various application programs such as a simulation program 51 stored in the memory unit 41.

[0032] The storage unit 41 is configured with a storage device such as a hard disk drive, an SSD, etc. In addition to the above-mentioned simulation program 51, the storage unit 41 stores model information 52, which is information related to the robot 1, and operation information 53, which indicates the operation of the robot 1.

[0033] The model information 52 includes various information according to the model of the robot 1, such as identification information for identifying the model of the robot 1 and configuration information indicating the configuration of the robot 1. The model information 52 also includes information on the mounting position of the robot 1 mounted on the pedestal 7, that is, position information indicating the position where the base 10 is fixed with a bolt. When the robot 1 is fixed to the pedestal 7 at four points as in this embodiment, the model information 52 includes position information of the four points. This position information is, for example, information that represents the position of the intersection between the upper surface of the pedestal 7 and the central axis of the bolt using an orthogonal coordinate system with the intersection between the upper surface of the pedestal 7 and the first rotation axis A1 as the origin. Note that the mounting position of the robot 1 is not limited to the position where it is fixed with a bolt. For example, the intersection between the upper surface of the pedestal 7 and the first rotation axis A1 may be defined as the mounting position.

[0034] The operation information 53 is information that specifies the operation to be performed by the robot 1, and is also called an operation program. The operation information 53 includes, for example, information describing the position of the control point TCP or the rotation angle of each joint in a time series, and further includes the operation conditions when the robot 1 performs the operation. Specifically, the operation information 53 of this embodiment includes, as the operation conditions, the angular velocity and angular acceleration when each joint is rotated. However, the operation conditions are not limited to an aspect including both the angular velocity and the angular acceleration, and may include either one. In addition, the operation conditions may include conditions other than the angular velocity and the angular acceleration. In other words, the operation conditions may include at least one of the angular velocity and the angular acceleration. Note that, when the angular acceleration to be specified as the operation condition is positive and negative, that is, different between acceleration and deceleration, both the positive and negative values, that is, both the angular acceleration during acceleration and each acceleration during deceleration, are specified individually.

[0035] The input / output interface 42 is an interface for inputting and outputting information between various devices, and an input unit 43 and a display unit 44 are connected to the input / output interface 42 in this embodiment. The input unit 43 is configured with a pointing device such as a keyboard or a mouse, and receives an input operation from a user and transmits it to the control unit 40. The display unit 44 includes a display device such as a liquid crystal display or an organic EL (Electro Luminescence) display, and displays various information based on the control of the control unit 40. In this embodiment, the input unit 43 and the display unit 44 are configured integrally with the simulation device 4, but may be configured separately from the simulation device 4. In addition, the communication unit 33 of the control device 3 is connected to the input / output interface 42. However, the simulation device 4 does not have to be connected to the control device 3.

[0036] The simulation program 51 is an application program that simulates the operation of the robot 1. When the simulation device 4 operates according to the simulation program 51, the control unit 40 acquires the above-mentioned model information 52 and operation information 53, and executes a simulation in which the robot 1 represented by the model information 52 performs an operation based on the operation information 53. Then, the control unit 40 calculates the forces and moments acting on the mounting position of the robot 1 on the stand 7, i.e., the position represented by the position information included in the model information 52, in chronological order, and outputs the calculation results. The simulation program 51 is an example of a program.

[0037] When the simulation device 4 operates according to the simulation program 51, the control unit 40 has a position information acquisition unit 61, a motion information acquisition unit 62, a simulation execution unit 63, and an output unit 64 as functional units realized by the simulation program 51. In other words, the simulation program 51 causes the simulation device 4 including the control unit 40 to function as the position information acquisition unit 61, the motion information acquisition unit 62, the simulation execution unit 63, and the output unit 64. Note that some or all of these functional units may be realized by hardware circuits.

[0038] The position information acquisition unit 61 acquires position information indicating the mounting position of the robot 1 on the stand 7. When the model information 52 is stored in the storage unit 41 as in this embodiment, the position information acquisition unit 61 reads the model information 52 from the storage unit 41 and acquires the position information included in the model information 52. The position information acquisition unit 61 may also acquire position information input by the user via the input unit 43. When the model information 52 of multiple models is stored in the storage unit 41, the position information acquisition unit 61 allows the user to specify the model of the robot 1 via the input unit 43. Then, the position information acquisition unit 61 reads the model information 52 corresponding to the specified model from the storage unit 41 and acquires the position information.

[0039] The motion information acquisition unit 62 acquires motion information 53 representing a motion to be performed by the robot 1. When the motion information 53 is stored in the storage unit 41 as in this embodiment, the motion information acquisition unit 62 reads out the stored motion information 53 from the storage unit 41. The motion information acquisition unit 62 may also acquire the motion information 53 input from an external device (not shown) via the input / output interface 42. When a plurality of types of motion information 53 are stored in the storage unit 41, the motion information acquisition unit 62 allows the user to specify the motion information 53 via the input unit 43. Then, the motion information acquisition unit 62 acquires the specified motion information 53 from the storage unit 41. When the acquired motion information 53 does not include motion conditions such as angular velocity and angular acceleration, the motion information acquisition unit 62 acquires motion conditions that are predetermined as default values ​​from the storage unit 41 to complement the motion information 53.

[0040] The simulation execution unit 63 calculates the force and moment acting on the attachment position of the robot 1 on the pedestal 7 based on the position information acquired by the position information acquisition unit 61 and the operation information 53 acquired by the operation information acquisition unit 62. Specifically, the simulation execution unit 63 calculates the force and moment acting on the attachment position represented by the position information by simulating the operation of the robot 1 based on the operation information 53. The simulation execution unit 63 corresponds to a calculation unit. The calculated force and moment are an example of a physical quantity.

[0041] As shown in FIG. 4, the simulation execution unit 63 of this embodiment calculates a force acting in the X-axis direction, a force acting in the Y-axis direction, and a force acting in the Z-axis direction in an orthogonal coordinate system having an X-axis, a Y-axis, and a Z-axis perpendicular to each other, with the attachment position P of the robot 1 as the origin. The simulation execution unit 63 also calculates a moment acting around the X-axis, a moment acting around the Y-axis, and a moment acting around the Z-axis in the above-mentioned orthogonal coordinate system. Then, the simulation execution unit 63 calculates the force and moment for each predetermined unit time after the start of the operation. That is, the simulation execution unit 63 calculates time-series information that represents the relationship between the force and moment acting on the attachment position P and the elapsed time after the robot 1 is made to perform the operation. The X-axis is an example of the first axis, the Y-axis perpendicular to the X-axis is an example of the second axis, and the Z-axis perpendicular to the X-axis and the Y-axis is an example of the third axis.

[0042] The output unit 64 outputs the time-series information calculated by the simulation execution unit 63, i.e., the force and moment per unit time. Specifically, the output unit 64 stores the time-series information in the storage unit 41. Furthermore, the output unit 64 generates graphs representing the relationship between time and force and the relationship between time and moment from the time-series information, and displays them on the display unit 44. Note that the output unit 64 may be configured to perform only one of storing in the storage unit 41 and displaying on the display unit 44.

[0043] Next, the operation of the simulation device 4 will be described. 5 is a flowchart showing the operation of the simulation device 4 of the first embodiment. When the simulation program 51 is executed in the simulation device 4, the control unit 40 operates according to the flow shown in FIG.

[0044] In step S101, the position information acquisition unit 61 acquires position information representing the attachment position of the robot 1 with respect to the pedestal 7. As described above, the position information acquisition unit 61, for example, reads out the model information 52 stored in the storage unit 41, and acquires the position information included in the model information 52.

[0045] In step S102, the motion information acquisition unit 62 acquires the motion information 53 representing the motion of the robot 1. As described above, the motion information acquisition unit 62 acquires the motion information 53 stored in the storage unit 41, for example.

[0046] 6A to 6C are graphs showing the motion of the robot 1, and Fig. 6A shows the relationship between the elapsed time t after the robot 1 starts a motion based on the motion information 53 and the rotation angle θ of the motor. The actual motion of the robot 1 is assumed to be a complex motion combining the motions of a plurality of arms, but in this embodiment, as shown in Fig. 6A, it is assumed that motion information 53 showing a simple motion of rotating the first arm 12 by 180° around the first rotation axis A1 over a period of about 0.7 seconds is acquired. The relationship between the elapsed time t and the angular velocity ω and angular acceleration α during the motion is as shown in Fig. 6B and Fig. 6C.

[0047] In step S103, the simulation execution unit 63 executes a simulation in which the robot 1 performs the operation represented by the acquired operation information 53, i.e., the operation represented by the graphs in Figures 6A to 6C. Then, the simulation execution unit 63 calculates, in the course of this operation, forces and moments acting on the attachment position represented by the acquired position information in chronological order.

[0048] In step S104, the output unit 64 outputs the time-series information calculated by the simulation execution unit 63, and ends the process. Specifically, the output unit 64 stores the time-series information as a file in the storage unit 41. Furthermore, the output unit 64 generates a plurality of graphs representing the relationship between time and force and the relationship between time and moment from the time-series information, and displays them on the display unit 44.

[0049] 7A to 7F are examples of graphs displayed on the display unit 44, and Fig. 7A is a graph showing the relationship between the elapsed time t after the robot 1 starts an operation based on the operation information 53 and the force Fx acting in the X-axis direction. Fig. 7B is a graph showing the relationship between the elapsed time t and the force Fy acting in the Y-axis direction, and Fig. 7C is a graph showing the relationship between the elapsed time t and the force Fz acting in the Z-axis direction. Fig. 7D is a graph showing the relationship between the elapsed time t and the moment Mx acting around the X-axis, Fig. 7E is a graph showing the relationship between the elapsed time t and the moment My acting around the Y-axis, and Fig. 7F is a graph showing the relationship between the elapsed time t and the moment Mz acting around the Z-axis.

[0050] The user can understand the change over time in the force and moment acting on the mounting position of the robot 1 on the pedestal 7 from the time-series information stored in the memory unit 41 or the graph displayed on the display unit 44. Furthermore, by using commonly known structural analysis software, it is also possible to estimate the vibrations that occur in the pedestal 7 during operation from this time-series information, making it possible to design a pedestal 7 that can suppress vibrations, i.e., to determine the material and dimensions of the pedestal 7.

[0051] As described above, according to the simulation device 4 and the simulation program 51 of this embodiment, the following effects can be obtained.

[0052] According to this embodiment, the output unit 64 outputs the force and moment acting on the mounting position of the robot 1 on the pedestal 7, and by using this force and moment, it becomes easy to design the pedestal 7 suitable for the operation of the robot 1. In other words, it becomes possible to provide information useful for designing the pedestal 7 before the pedestal 7 is designed. Furthermore, even if the pedestal 7 has already been designed and manufactured, it is possible to verify in advance the effect of the operation of the robot 1 on the pedestal 7.

[0053] According to this embodiment, the output unit 64 outputs the forces and moments acting on the mounting position of the robot 1 on the pedestal 7 in correspondence with the elapsed time, making it possible to design the pedestal 7 in more detail.

[0054] According to this embodiment, the simulation execution unit 63 calculates the forces acting in the three axial directions of the X-axis, the Y-axis, and the Z-axis, so that the gantry 7 can be designed in more detail.

[0055] According to this embodiment, the simulation execution unit 63 calculates moments acting around the three axes, that is, the X-axis, the Y-axis, and the Z-axis, so that the gantry 7 can be designed in more detail.

[0056] 2. Second embodiment FIG. 8 is a block diagram of a simulation device 4a according to the second embodiment. As shown in FIG. 8, the simulation device 4a of the second embodiment includes a control unit 40a and a storage unit 41a. A simulation program 51a different from that of the first embodiment is stored in the storage unit 41a. The control unit 40a also includes a position information acquisition unit 61, a motion information acquisition unit 62, a simulation execution unit 63, an output unit 64, a threshold acquisition unit 65, and an optimization processing unit 66 as functional units realized by the simulation program 51a. Among these functional units, the position information acquisition unit 61, the motion information acquisition unit 62, the simulation execution unit 63, and the output unit 64 have the same configuration as those of the first embodiment, and therefore the description thereof will be omitted. Note that some or all of these functional units may be realized by hardware circuits.

[0057] The threshold acquisition unit 65 acquires thresholds of the force and moment acting on the mounting position of the robot 1 on the pedestal 7. The thresholds are upper limits of the force and moment, and are set for each coordinate axis. That is, the threshold acquisition unit 65 acquires a threshold of the force Fx acting in the X-axis direction, a threshold of the force Fy acting in the Y-axis direction, and a threshold of the force Fz acting in the Z-axis direction. The threshold acquisition unit 65 also acquires a threshold of the moment Mx acting around the X-axis, a threshold of the moment My acting around the Y-axis, and a threshold of the moment Mz acting around the Z-axis. These thresholds may be different values ​​for each coordinate axis, or may be a common value. In addition, when the force and moment can take both positive and negative values, the threshold acquisition unit 65 acquires both positive and negative thresholds. In this case, the positive threshold is the upper limit of the force and moment, and the negative threshold is the lower limit of the force and moment. In addition, the absolute values ​​of the positive threshold and the negative threshold may be the same or different. The threshold acquisition unit 65 may acquire a threshold input by a user via the input unit 43, or may store the threshold in advance in the storage unit 41a and read out the threshold from the storage unit 41a.

[0058] When the force and moment calculated by the simulation execution unit 63 exceed the threshold, that is, when the force and moment exceed the upper limit or fall below the lower limit, the optimization processing unit 66 performs optimization processing using a predetermined optimization algorithm to optimize the angular velocity and angular acceleration, which are the operating conditions. In other words, when the force and moment calculated by the simulation execution unit 63 using the angular velocity and angular acceleration included in the operation information 53 exceed the threshold, the optimization processing unit 66 optimizes the angular velocity and angular acceleration. Specifically, the optimization processing unit 66 calculates the angular velocity and angular acceleration that minimizes the required time for the operation within a range in which the force and moment acting on the pedestal 7 do not exceed the threshold. In other words, the optimization processing unit 66 derives an optimal solution for minimizing the required time in an optimization problem in which the angular velocity and angular acceleration are variables, the required time for the operation is an objective function, and constraints are that the force and moment acting on the pedestal 7 do not exceed the threshold and that the angular velocity and angular acceleration are within a predetermined allowable range. In addition, when the angular acceleration to be specified as an operating condition is positive or negative, that is, different between acceleration and deceleration, the angular velocity, the positive angular acceleration, and the negative angular acceleration may be set as variables. The optimization processing unit 66, together with the simulation execution unit 63, corresponds to a calculation unit.

[0059] 9 is a flowchart showing the operation of the simulation device 4a of the second embodiment. When the simulation program 51a is executed in the simulation device 4a, the control unit 40a operates according to the flow shown in FIG.

[0060] In step S201, the position information acquisition unit 61 acquires position information, similar to step S101 in the first embodiment. In step S202, the motion information acquisition unit 62 acquires motion information 53, similar to step S102 in the first embodiment. Then, in step S203, the threshold acquisition unit 65 acquires a threshold. As described above, the threshold acquisition unit 65 acquires the threshold via the input unit 43 or from the storage unit 41a.

[0061] In step S204, similarly to step S103 in the first embodiment, the simulation execution unit 63 executes a simulation in which the robot 1 performs the operation represented by the acquired operation information 53. Then, the simulation execution unit 63 calculates time-series information representing the relationship between the force and moment acting on the attachment position represented by the acquired position information and the elapsed time since the robot 1 was caused to perform the operation.

[0062] In step S205, similarly to step S104 in the first embodiment, the output unit 64 outputs the time-series information calculated by the simulation execution unit 63. For example, the output unit 64 stores the time-series information in the storage unit 41a.

[0063] In step S206, the optimization processing unit 66 determines whether or not the forces and moments output as time-series information exceed the thresholds acquired by the threshold acquisition unit 65. If any of the forces in the three axial directions and the moments around the three axes exceed the thresholds, the optimization processing unit 66 proceeds to step S207, and if none of them exceed the thresholds, the optimization processing unit 66 ends the process.

[0064] Figures 10A to 10F are examples of graphs generated based on time-series information. The graphs shown in Figures 10A to 10F are the same as the graphs shown in Figures 7A to 7F, but each graph has additional lines indicating upper limit values ​​UL and lower limit values ​​LL, which are threshold values. 10A to 10F, the values ​​of the force Fz acting in the Z-axis direction, the moment Mx acting around the X-axis, and the moment My acting around the Y-axis do not exceed the thresholds during the operation time and are between the lower limit LL and the upper limit UL. On the other hand, the force Fx acting in the X-axis direction, the force Fy acting in the Y-axis direction, and the moment Mz acting around the Z-axis have times when their values ​​exceed the thresholds, such as exceeding the upper limit UL or falling below the lower limit LL. In this way, if any of the values ​​exceed the thresholds, the optimization processor 66 proceeds to step S207.

[0065] In step S207, the optimization processor 66 optimizes the angular velocity and angular acceleration, which are the operating conditions. Specifically, the optimization processor 66 calculates the angular velocity and angular acceleration that minimize the time required for the operation, within a range in which the force and moment acting on the pedestal 7 do not exceed thresholds. Then, the optimization processor 66 calculates time-series information that indicates the relationship between the elapsed time after the robot 1 is caused to perform the operation and the angular velocity and angular acceleration.

[0066] 11A to 11C are graphs showing the motion of the robot 1. In FIG. 11A to 11C, the solid lines are graphs showing the motion at the angular velocity and angular acceleration before optimization, and the dashed lines are graphs showing the motion at the angular velocity and angular acceleration after optimization. Also, FIG. 12A to 12F are graphs showing the simulation results of the force and moment. In FIG. 12A to 12F, the solid lines are graphs showing the simulation using the angular velocity and angular acceleration before optimization, and the dashed lines are graphs showing the simulation using the angular velocity and angular acceleration after optimization. As shown in FIG. 11A to 11C and FIG. 12A to 12F, by operating the robot 1 at the optimized angular velocity and angular acceleration, the time required for the motion increases compared to before optimization, but the force and moment do not exceed the threshold.

[0067] In step S208, the output unit 64 outputs the optimized angular velocity and angular acceleration, and the process ends. For example, the output unit 64 stores time-series information of the optimized angular velocity and angular acceleration in the storage unit 41a. Furthermore, the output unit 64 generates the graphs shown in Figs. 11A to 11C from the time-series information and displays them on the display unit 44. The output unit 64 may perform only one of storing in the storage unit 41a and displaying on the display unit 44. Furthermore, instead of outputting the time-series information, the output unit 64 may output upper and lower limits of the angular velocity and angular acceleration. Furthermore, the output unit 64 may generate an operation program used by the control device 3 that reflects the optimization results of the angular velocity and angular acceleration, and output the operation program.

[0068] As described above, according to the simulation device 4a and the simulation program 51a of this embodiment, the following effects can be obtained.

[0069] According to this embodiment, when a force and moment calculated using a predetermined angular velocity and angular acceleration exceed a threshold value, an angular velocity and angular acceleration optimized so as not to exceed the threshold value are output by the output unit 64. Therefore, when there are threshold values ​​such as upper and lower limits for the force and moment, the user can know the conditions for operating the robot 1 so as not to exceed the threshold value.

[0070] 3. Variations The above embodiments may be modified as follows.

[0071] In each of the above embodiments, the simulation execution unit 63 calculates the force and moment acting on the mounting position of the robot 1 on the pedestal 7, but is not limited to the aspect of calculating both the force and the moment, and may calculate either the force or the moment. Furthermore, the simulation execution unit 63 may calculate, in addition to the force and the moment, a physical quantity different from the force and the moment. In other words, the simulation execution unit 63 calculates a physical quantity including at least one of the force and the moment acting on the mounting position. Then, the output unit 64 outputs the physical quantity calculated by the simulation execution unit 63.

[0072] In each of the above embodiments, the motion conditions included in the motion information 53 include at least one of the angular velocity and angular acceleration when rotating each joint, but the motion conditions may include at least one of the velocity and acceleration of the control point TCP instead of the angular velocity and angular acceleration. [Explanation of symbols]

[0073] REFERENCE SIGNS LIST 1...robot, 2...robot arm, 3...control device, 4, 4a...simulation device, 7...base, 10...base, 11...fixed portion, 12...first arm, 13...second arm, 14...third arm, 15...fourth arm, 16...fifth arm, 17...sixth arm, 20...end effector, 31...control unit, 32...storage unit, 33...communication unit, 40, 40a...control unit, 41, 41a...storage unit, 42...input / output interface, 43...input unit, 44...display unit, 51, 51a...simulation simulation program, 52...model information, 53...operation information, 61...position information acquisition unit, 62...operation information acquisition unit, 63...simulation execution unit, 64...output unit, 65...threshold acquisition unit, 66...optimization processing unit, 100...robot system, 171, 172, 173, 174, 175, 176...joints, A1...first rotation axis, D1 to D6...motor drivers, E1 to E6...encoders, M1 to M6...motors, P...mounting position, TCP...control point, UL...upper limit value, LL...lower limit value.

Claims

1. a position information acquiring unit that acquires position information representing an installation position of the robot attached to the stand; a motion information acquisition unit that acquires motion information representing a motion to be performed by the robot; a calculation unit that calculates a physical quantity including at least one of a force and a moment acting on the attachment position based on the position information and the operation information; an output unit that outputs the physical quantity calculated by the calculation unit; A simulation device comprising:

2. The simulation device according to claim 1 , the calculation unit calculates time-series information representing a relationship between the physical quantity acting on the attachment position and an elapsed time since the operation is performed; The simulation device, wherein the output unit outputs the time-series information.

3. The simulation device according to claim 1 or 2, The simulation device is characterized in that the calculation unit calculates, as the physical quantities, a force acting in a first axis direction in a predetermined orthogonal coordinate system, a force acting in a second axis direction perpendicular to the first axis direction, and a force acting in a third axis direction perpendicular to the first axis direction and the second axis direction.

4. The simulation device according to claim 1 or 2, a moment acting around a first axis in a predetermined Cartesian coordinate system, a moment acting around a second axis perpendicular to the first axis, and a moment acting around a third axis perpendicular to the first axis and the second axis, as the physical quantities.

5. The simulation device according to claim 1 or 2, a threshold value acquisition unit that acquires a threshold value of the physical quantity, The motion information includes motion conditions including at least one of an angular velocity and an angular acceleration when the robot performs the motion, when the physical quantity calculated using the operating conditions exceeds the threshold, the calculation unit optimizes the operating conditions within a range in which the physical quantity does not exceed the threshold; The simulation device, wherein the output unit outputs the optimized operating conditions.

6. The simulation device according to claim 5, The simulation device, wherein the threshold acquisition unit acquires the threshold value input by a user.

7. Computer, a position information acquiring unit that acquires position information representing an installation position of the robot attached to the stand; a motion information acquisition unit that acquires motion information representing a motion to be performed by the robot; a calculation unit that calculates a physical quantity including at least one of a force and a moment acting on the attachment position based on the position information and the operation information; an output unit that outputs the physical quantity calculated by the calculation unit; A program to function as a

Citation Information

Patent Citations

  • Robot device, robot system, robot device control method, method of manufacturing article using robot device, control program, and recording medium

    JP2020097101A