Simulation device

JPWO2023203697A5Active Publication Date: 2025-01-07FANUC LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024515983
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-17
Publication Date
2025-01-07
Estimated Expiration
2042-04-20

AI Technical Summary

Technical Problem

Users find it difficult to intuitively understand physical quantities such as acceleration and inclination of a robot and its workpiece, even when displayed in graphical or numerical formats, which is crucial for creating effective operation programs in robot simulation systems.

Method used

A simulation device that operates a three-dimensional robot model in a virtual space, incorporating a reception unit for operation program parameters, a physical quantity calculation unit for acceleration and inclination, and a display unit that uses visual elements to represent these quantities intuitively, allowing users to grasp acceleration and inclination through graphical representations.

Benefits of technology

Enables users to intuitively visualize and understand the magnitude of acceleration and inclination, facilitating the creation of operation programs by using visual elements that reflect the physical quantities, thereby improving the intuitive grasp of robot and workpiece conditions.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

The purpose of the present invention is to provide a technology with which it is possible for a user to intuitively ascertain a physical quantity such as the acceleration of a robot or tilting of a workpiece. This simulation device 1 operates a three-dimensional model representing a robot within a virtual space in accordance with an operation program for operating a robot. The simulation device 1 comprises: an acceptance unit 3 for accepting input of a parameter relating to the operation program; a physical quantity calculation unit 23 for calculating a physical quantity pertaining to a referent point of the robot on the basis of the parameter; and a display unit 4 for displaying, together with the three-dimensional model, a single visual element selected from among a plurality of visual elements on the basis of the physical quantity.
Need to check novelty before this filing date? Find Prior Art

Description

Simulation Equipment

[0001] The present invention relates to a simulation device.

[0002] Methods for teaching robots specific operations include online and offline teaching methods. For example, a teaching playback method is known as an online teaching method. On the other hand, a simulation-based teaching method is known as an offline teaching method. Offline teaching using the simulation method is widely used because it allows users to create a motion program while simulating the operation of the entire system in a virtual space displayed on a PC, eliminating the need to operate the actual machine. When creating a motion program, physical quantities such as acceleration, velocity, and vibration occurring in the robot, end effector, and workpiece can be important. In particular, if the workpiece must be kept horizontal, the inclination of the workpiece can be an important indicator. Furthermore, if the workpiece is not strong enough or if the robot's tool center position is misaligned with the center of gravity of the gripped workpiece, acceleration, which causes an inertial load on the workpiece, can be an important indicator. In this way, when creating an operation program while simulating the operation of a robot system, it is important for the user to understand the physical quantities that occur in the robot, end effector, workpiece, etc. For example, there is known a technique for graphing the acceleration of a robot device and displaying parts in color depending on the magnitude of the acceleration (see, for example, Patent Document 1).

[0003] Japanese Patent Application Laid-Open No. 2019-123052

[0004] However, even if physical quantities such as acceleration are displayed in graph form or as numerical values, it is difficult for users to intuitively grasp them. Therefore, there is a demand for technology that allows users to intuitively grasp physical quantities such as the acceleration of a robot or the inclination of a workpiece.

[0005] One aspect of the present disclosure relates to a simulation device that operates a three-dimensional model representing a robot in a virtual space in accordance with an operation program for operating the robot, and includes a reception unit that receives input of parameters related to the operation program, a physical quantity calculation unit that calculates a physical quantity applied to a reference point of the robot based on the parameters, and a display unit that displays, together with the three-dimensional model, one visual element selected from a plurality of visual elements based on the physical quantity.

[0006] According to this aspect, the user can intuitively grasp physical quantities such as the acceleration of the robot and the inclination of the workpiece.

[0007] FIG. 1 is a functional block diagram of a simulation device according to this embodiment. FIG. 2 is a diagram showing an example of a virtual space in which a robot system model displayed on a display unit of the simulation device of FIG. 1 is arranged. FIG. 3 is a diagram showing an example of a procedure for creating an operation program using the programming device of FIG. 1. FIG. 4 is a flowchart showing an example of a procedure for selecting an object of FIG. 3. FIG. 5 is a diagram showing an example of four types of objects that are selection candidates in FIG. 4. FIG. 6 is a diagram showing an example of a state in which objects are arranged in the virtual space of FIG. 2. FIG. 7 is a diagram showing another form of the object of FIG. 5. FIG. 8 is a diagram showing another form of the object of FIG. 5. FIG. 9 is a diagram showing another example of the object of FIG. 5. FIG. 10 is a diagram showing another example of a state in which objects are arranged in the virtual space of FIG. 2.

[0008] The simulation device according to this embodiment will be described below with reference to the drawings. In the following description, components having substantially the same functions and configurations are designated by the same reference numerals, and redundant description will be given only when necessary.

[0009] The simulation device according to this embodiment is a computer device (information processing device) that has the function of simulating the operation of a robot model in a software-based virtual space in accordance with an operation program for operating the robot. In particular, the simulation device according to this embodiment allows a user to intuitively recognize the magnitude of a physical quantity, such as acceleration acting on a hand reference point of the robot calculated based on the operation program, by selectively using different visual elements (pictures). Here, acceleration and tilt are used as examples of physical quantities. Tilt refers to the maximum angle of rotation about the X, Y, and Z axes of the hand coordinate system (xyz) relative to the robot coordinate system (xyz). The physical quantity may be either acceleration or tilt, or both acceleration and tilt. Here, the latter is used. Furthermore, the physical quantity may be other physical quantities besides acceleration and tilt, such as frequency.

[0010] 1, a simulation device 1 according to this embodiment is configured by connecting hardware such as a processor 2 (e.g., a CPU) to a reception unit 3, a display unit 4, a communication unit 5, and a storage unit 6. The simulation device 1 is provided by a general information processing terminal such as a personal computer or a tablet.

[0011] The receiving unit 3 receives various parameters related to the operation program via input devices such as a keyboard, mouse, or jog, or directly from the operation program creation unit 21. The parameters related to the operation program include information related to the taught positions, information related to the interpolation type, information related to the movement type, and information related to the operation speed. The interpolation type determines the trajectory of movement between two taught positions. For example, the "Kakujiku" interpolation type refers to circular interpolation between two taught positions to minimize strain on each joint of the robot device. The interpolation type also includes other interpolation types such as linear interpolation. The movement type is a condition related to how the robot moves between multiple taught points. For example, the "Ichigime" movement type refers to movement that always passes through the taught points. The "Nameraka" movement type refers to smooth movement that does not necessarily pass through the taught points but passes through or near the taught points. The operation speed is expressed as a percentage of a predetermined maximum speed. For example, an operating speed of "100%" indicates that each axis of the robot device operates at the maximum speed.

[0012] The display unit 4 has a display device such as an LCD. The display unit 4 displays a simulation screen. The simulation screen includes a virtual space that simulates the operating space of the robot system model. A touch panel or the like may be used as both the reception unit 3 and the display unit 4.

[0013] The communication unit 5 controls the transmission and reception of data between an external information processing device, for example, a robot control device that controls a robot. Through the processing of the communication unit 5, an operation program created using the simulation device 1 can be provided to the robot control device.

[0014] The storage unit 6 has a storage device such as an HDD or SSD, and stores various information necessary for creating an operation program, information related to the created operation program 61, information necessary for executing an operation simulation of the robot system, etc. Specifically, the storage unit 6 stores data of multiple types of three-dimensional models 60 as information necessary for executing an operation simulation of the robot system. For example, the multiple types of three-dimensional models 60 include a robot model, a workpiece model, etc. The robot model includes an articulated arm mechanism model and a hand model. Typically, the three-dimensional models 60 are provided as CAD data. For convenience of explanation, the robot model and the workpiece model may be referred to simply as a robot and a workpiece, respectively, hereinafter.

[0015] The storage unit 6 stores graphic data for displaying, as pictures, each of a plurality of visual elements 62 that distinguish between the magnitude of a physical quantity acting on the reference point of the robot's hand. As described above, acceleration and tilt are used as physical quantities. Four types of visual elements 62 are provided to distinguish between the results of comparison with an acceleration threshold (first threshold) and the results of comparison with a tilt threshold (second threshold).

[0016] These visual elements 62 share a common object but have different shapes. Figure 5 illustrates four types of visual elements 62. In this example, the object is a "glass of water." The magnitude of acceleration is distinguished by the difference between the horizontal and tilted shape of the water surface, and the degree of tilt is distinguished by the difference between the upright and tilted shape of the glass. Specifically, visual element 62-1 indicates a state in which neither the acceleration nor the tilt is excessive, i.e., below the respective thresholds (first and second thresholds), and depicts a state in which the water surface is horizontal and the glass is upright. Visual element 62-2 indicates a state in which the acceleration is less than the first threshold and the tilt is equal to or greater than the second threshold, and depicts a state in which the water surface is horizontal and the glass is tilted to the side. Visual element 62-3 indicates a state in which the acceleration is equal to or greater than the first threshold and the tilt is less than the second threshold, and depicts a state in which the water surface is tilted and the glass is upright. Visual element 62-4 indicates a state in which acceleration is equal to or greater than a first threshold and in which tilt is equal to or greater than a second threshold, with the water surface tilting and the cup tilting to the side being depicted in a pictorial representation. A state in which either or both of acceleration and tilt are excessive is additionally depicted by the state in which water overflows from the cup and the amount of overflowing water. The memory unit 6 stores data on a threshold (first threshold) for distinguishing between large and small accelerations and data on a threshold (second threshold) for distinguishing between large and small tilts of the workpiece.

[0017] A simulation program is stored in the storage unit 6. When the processor 2 executes the simulation program, the simulation device 1 functions as an operation program creation unit 21, an operation program correction unit 22, an acceleration calculation unit 23, a tilt calculation unit 24, a visual element selection unit 25, a virtual space creation unit 26, a model placement unit 27, a visual element placement unit 28, a trajectory calculation unit 29, a trajectory placement unit 30, and a simulation execution unit 31.

[0018] The operation program creation unit 21 creates an operation program 61 for the robot based on the information received via the reception unit 3. The operation program 61 created by the operation program creation unit 21 is stored in the storage unit 6. The operation program 61 includes position commands, speed commands, operation commands (interpolation type, movement type), etc.

[0019] The operation program correction unit 22 corrects the operation program 61. The main methods for correcting the operation program 61 include a method of correcting according to a user instruction and a method of automatically correcting according to a predetermined rule. For example, in the automatic correction method, the operation program correction unit 22 corrects the speed command in the operation program 61 so as to reduce the magnitude of acceleration at a specific taught position. The specific taught position may be specified by the user, or a taught position where the magnitude of acceleration is greater than a first threshold may be automatically extracted.

[0020] The acceleration calculation unit 23 calculates the acceleration (hereinafter simply referred to as acceleration) acting on the reference point of the robot's hand based on the operation program 61. Specifically, the acceleration calculation unit 23 calculates the magnitudes of multiple acceleration vectors (hereinafter simply referred to as acceleration) corresponding to multiple taught positions defined in the operation program 61 based on the operation program 61 created by the operation program creation unit 21. The acceleration may be calculated as the magnitude of the acceleration component of the acceleration vector with respect to any of the X, Y, and Z axes. For example, if the workpiece rigidity is low in the Z-axis direction, it is preferable to compare the acceleration component with the first threshold value with respect to the Z-axis specified by the user.

[0021] The position for calculating acceleration is not limited to the taught position, but can be set to any position on the movement trajectory of the hand reference point from the start point to the end point. Furthermore, the acceleration at a taught position that is a change point in the movement direction or speed includes the acceleration when moving from another taught position to that taught position, and the acceleration when moving from that taught position to another taught position.

[0022] The tilt calculation unit 24 calculates the tilt of the hand reference point, in other words, the tilt of the workpiece. Specifically, the tilt calculation unit 24 calculates multiple tilts corresponding to multiple taught positions defined in the operation program 61 based on the operation program 61 created by the operation program creation unit 21. The tilt is specified as the maximum value of the rotation angle around each of the X, Y, and Z axes of the hand coordinate system (x, y, z) with the hand reference point as the origin, relative to the robot coordinate system (X, Y, Z). Note that the tilt may be the rotation angle around any of the X, Y, and Z axes. The position at which the tilt is calculated is not limited to the taught position, but can be set to any position on the path along which the hand reference point moves from the start point to the end point.

[0023] Visual element selection unit 25 selects one visual element from four types of visual elements 62-1, 62-2, 62-3, and 62-4, which have different forms, based on the acceleration calculated by acceleration calculation unit 23 and the tilt calculated by tilt calculation unit 24. Typically, visual element selection unit 25 selects one visual element from four types of visual elements 62-1, 62-2, 62-3, and 62-4 in accordance with a combination of the result of comparing the acceleration with a first threshold value and the result of comparing the tilt with a second threshold value.

[0024] The virtual space creating unit 26 creates a virtual space on software that three-dimensionally represents the operating space of the robot system. The virtual space created by the virtual space creating unit 26 is displayed on the display unit 4.

[0025] The model placement unit 27 places the robot model and workpiece model constituting the robot system model in the virtual space created by the virtual space creation unit 26. The robot model and workpiece model are placed in the virtual space so as to correspond to the positional relationship between the robot and workpiece in the actual operating space. FIG. 2 shows the state in which the robot system model is placed by the model placement unit 27 in the virtual space created by the virtual space creation unit 26. In the virtual space 40, stands 44, 45, and 46 are placed, a robot 41 is placed on stand 44, and a workpiece W is placed on stand 45. Here, the robot 41 grasps the workpiece W on stand 45 and releases the grasped workpiece W onto stand 46. The robot 41 includes an articulated arm mechanism 42 and a hand 43. The hand 43 has two fingers that can be opened and closed, and a hand reference point RP is set at the center position of the open and closed positions. The robot coordinate system Σr is an orthogonal coordinate system with the center position of the base of the robot 41 as its origin. The tool coordinate system Σt is an orthogonal coordinate system with the hand reference point RP as the origin.

[0026] The visual element placement unit 28 places the visual element 62 selected by the visual element selection unit 25 in the virtual space created by the virtual space creation unit 26. Typically, the visual element placement unit 28 places the visual element 62 selected based on the acceleration and tilt calculated for the specific taught position at the specific taught position or at a position corresponding to the specific taught position.

[0027] The trajectory calculation unit 29 draws the trajectory of the hand reference point in the virtual space. Specifically, the trajectory calculation unit 29 calculates the trajectory of the hand reference point from the start point to the end point based on the teaching position, interpolation type, and movement type defined in the operation program 61.

[0028] The trajectory allocation unit 30 draws the trajectory calculated by the trajectory calculation unit 29 in the virtual space as a line diagram. The thickness of the line diagram is changed stepwise or continuously according to the magnitude of the physical quantity.

[0029] The simulation execution unit 31 executes a simulation operation to simulate the operation of a robot system model placed in a virtual space in accordance with the operation program 61 or in accordance with a user instruction via the operation unit.

[0030] A procedure for creating an operation program 61 using the simulation device 1 according to this embodiment will be described below with reference to FIGS. 3 and 4. As shown in FIG. 3, when the simulation device 1 receives information necessary for creating the operation program 61 for the robot (S11), it creates the operation program 61 based on the received information (S12). Then, based on the operation program 61, it executes a process for selecting visual elements 62 (S13) and displays the selected visual elements 62 (S14). The user checks the visual elements 62 displayed on the simulation device 1 and determines whether or not to modify the operation program 61. When an instruction to modify the operation program 61 is received through a user operation (S15; YES), the operation program 61 is automatically modified (S16), and the process returns to step S13. That is, based on the modified operation program 61, the process for selecting visual elements 62 in step S13 and the process for displaying visual elements 62 in step S14 are automatically executed, and the visual elements 62 displayed on the simulation device 1 based on the operation program 61 before modification are updated to the visual elements 62 based on the modified operation program 61. The processes of steps S13, S14, and S16 are repeatedly executed every time an instruction to modify the operation program 61 is received. The modification of the operation program 61 in step S16 may be performed manually by the user. In this way, the user can create the operation program 61 while checking the visual elements 62 displayed on the display unit 4 of the simulation device 1 according to this embodiment and instructing modifications as necessary.

[0031] Fig. 4 is a flowchart showing an example of the procedure for selecting the visual element 62 in step S13 of Fig. 3. As shown in Fig. 4, the simulation device 1 calculates the acceleration and inclination at the teaching position based on the created operation program 61 (S21, S22).

[0032] When the acceleration calculated in step S21 is smaller than the first threshold and the slope calculated in step S22 is smaller than the second threshold (S23; NO, S24; NO), the visual element 62-1 shown in Figure 5(a) is selected (S26).

[0033] When the acceleration calculated in step S21 is smaller than the first threshold and the slope calculated in step S22 is greater than or equal to the second threshold (S23; NO, S24; YES), the visual element 62-2 shown in Figure 5(b) is selected (S27).

[0034] When the acceleration calculated in step S21 is equal to or greater than the first threshold and the slope calculated in step S22 is smaller than the second threshold (S23; YES, S25; NO), the visual element 62-3 shown in FIG. 5(c) is selected (S28).

[0035] When the acceleration calculated in step S21 is equal to or greater than the first threshold and the slope calculated in step S22 is equal to or greater than the second threshold (S23; YES, S25; YES), the visual element 62-4 shown in FIG. 5(d) is selected (S29).

[0036] 5 is executed for each of the plurality of teaching positions, thereby enabling the selection of a plurality of visual elements 62 corresponding to the plurality of teaching positions, respectively.

[0037] The plurality of visual elements 62 selected by the processing of step S13 in FIG. 4 are displayed on the display unit 4 by the processing of step S14. Typically, the plurality of visual elements 62 are arranged in the virtual space 40 shown in FIG. 2. FIG. 5 is a diagram showing an example of the state in which the plurality of visual elements 62 are arranged in the virtual space 40 shown in FIG. 2. As shown in FIG. 5, the plurality of visual elements are arranged at a plurality of teaching positions. Specifically, the visual elements G11 and G12 represent the acceleration and inclination of the hand reference point of the robot 41 at the teaching positions P1 and P2, respectively, when the workpiece W grasped by the robot 41 is moved from the teaching position P1 toward the teaching position P2. The visual elements G21 and G22 represent the acceleration of the robot 41 and the inclination of the workpiece W at the teaching positions P2 and P3, respectively, when the workpiece W grasped by the robot 41 is moved from the teaching position P2 toward the teaching position P3. Visual elements G31 and G32 represent the acceleration of the robot 41 and the inclination of the workpiece W at the teaching positions P3 and P4, respectively, when the workpiece W gripped by the robot 41 is moved from the teaching position P3 toward the teaching position P4. Also shown in Fig. 5 are trajectory models 49 (49a, 49b, 49c) showing the trajectories of the hand reference points. The trajectory model 49a shows the trajectory of the hand reference point from the teaching position P1 toward the teaching position P2. The trajectory model 49b shows the trajectory of the hand reference point from the teaching position P2 toward the teaching position P3. The trajectory model 49c shows the trajectory of the hand reference point from the teaching position P3 toward the teaching position P4.

[0038] According to the simulation device 1 of this embodiment, visual elements that visually reflect the magnitude of acceleration and the magnitude of tilt can be displayed within a virtual space 40 included in a simulation screen such as that shown in FIG. 5 . This allows a user to intuitively grasp the magnitude of acceleration and the magnitude of tilt by viewing the displayed visual elements. Furthermore, each of the multiple visual elements that are candidates for display is the same visual element but in a different form so that they can be compared with each other. In this way, being able to compare the displayed visual elements with each other makes it even easier to intuitively grasp the magnitude of acceleration and the magnitude of tilt.

[0039] In this embodiment, the target is a "glass of water," and by using visual elements that pictorially represent different shapes, such as whether the glass is upright or tilted to the side, whether the water surface is horizontal or tilted, and whether the water is overflowing or not, the user can intuitively recognize the magnitude of acceleration and the magnitude of tilt.

[0040] Specifically, the tilt of the workpiece is represented by the tilt of a cup. With a typical cup, it is easy to tell at a glance whether it is up or down. By using a cup that is easy to tell at a glance whether it is up or down as a visual element, the user can see the tilt of the displayed cup and intuitively and immediately grasp the degree of tilt of the workpiece.

[0041] The robot's acceleration is also represented by the appearance of the water surface in a cup. Normally, when a cup filled with water is moved at a constant speed, the surface does not ripple. On the other hand, when the cup is accelerated or decelerated, the surface of the water ripples. These phenomena are understood by users from everyday experience. In this way, by adopting a visual element that is understood in advance to change shape depending on acceleration or deceleration, such as a cup filled with water, the user can see the appearance of the water surface in the displayed cup and intuitively and immediately grasp the magnitude of the robot's acceleration.

[0042] The large tilt and acceleration of the workpiece are represented by water spilling from a cup. Users routinely experience and understand that water spills when a cup filled with water is tilted, when it is accelerated or decelerated, and when a large amount of water spills due to excessive tilt or acceleration / deceleration. Furthermore, users already understand that water spilling is not normal and is abnormal. Therefore, by displaying the image of water spilling from the cup along with the tilt of the cup and the state of the water surface in the cup, users can intuitively understand that the tilt of the workpiece or the acceleration of the robot is excessively large and abnormal, and can be encouraged to modify the operation program. In this way, representing visual elements using objects and phenomena around the user further facilitates intuitive understanding by the user. Furthermore, the visual elements are positioned on or at a position corresponding to the trajectory of the hand reference point that was the subject of the acceleration and tilt calculations. This allows the user to easily understand which position the viewed visual element corresponds to, and instantly understand which position has a problem with its operation.

[0043] In this embodiment, the visual element 62 is a diagram that distinguishes between the magnitude of acceleration and the magnitude of tilt. However, it may also reflect the magnitude of a first threshold value used to determine the magnitude of acceleration. As shown in FIG. 7, for example, the magnitude of the first threshold value can be represented by the height of the water surface in a glass. The height of the water surface in the glass represented by the visual element 62-5 in FIG. 7(a) is lower than the height of the water surface in the glass represented by the visual element 62-6 in FIG. 7(b). The higher the water surface, the more likely the water in the glass is to spill. In other words, the visual element 62-6 in FIG. 7(b) has a stricter first threshold value than the visual element 62-5 in FIG. 7(a), or in other words, a smaller first threshold value, meaning that even small accelerations can affect the workpiece.

[0044] Furthermore, the visual element 62 may reflect the magnitude of the second threshold value used to determine the magnitude of the tilt. As shown in FIG. 8, the magnitude of the second threshold value can be represented by the tilt of the cup. The tilt of the cup shown in FIG. 8(a) is greater than the tilt of the cup shown in FIG. 8(b). The greater the tilt of the cup, the more likely the water in the cup is to spill. In other words, the visual element 62-7 shown in FIG. 8(a) represents a stricter second threshold value than the visual element 62-8 shown in FIG. 8(b), in other words, a smaller second threshold value, meaning that even a small tilt may affect the workpiece.

[0045] In this embodiment, multiple visual elements 62 are prepared that simultaneously reflect the magnitude of the robot's acceleration and the magnitude of the workpiece's inclination, and one visual element 62 is selected from the multiple visual elements 62 based on the robot's acceleration and the workpiece's inclination at the teaching position. By viewing the visual elements 62, the user can simultaneously check whether a large inertial load is generated on the workpiece due to the robot's acceleration or deceleration, and whether the gripped workpiece is being moved without excessive inclination. However, if the user only wants to check whether the robot is accelerating or decelerating in a way that would generate a large inertial load, multiple visual elements that reflect only the magnitude of the robot's acceleration may be prepared, and one visual element may be selected from the multiple visual elements based on the robot's acceleration. Similarly, if the user only wants to check the change in the workpiece's inclination after gripping, multiple visual elements that reflect only the magnitude of the workpiece's inclination may be prepared, and one visual element may be selected from the multiple visual elements based on the workpiece's inclination.

[0046] In this embodiment, the visual element 62 simultaneously reflects the magnitude of the robot's acceleration and the magnitude of the workpiece tilt, and one visual element 62 is placed at the teaching position. However, multiple visual elements may be placed at the teaching position. For example, multiple first visual elements that reflect only the magnitude of the acceleration and multiple second visual elements that reflect only the magnitude of the tilt may be prepared, and one first visual element may be selected from the multiple first visual elements based on the acceleration at the teaching position, and one second visual element may be selected from the multiple second visual elements based on the tilt, and two types of visual elements, the first and second visual elements, may be placed at the teaching position.

[0047] One objective of an embodiment of the present invention is to allow a user to intuitively grasp physical quantities related to the operation of a robot. In this embodiment, the acceleration of the robot and the tilt of the workpiece are used as examples of physical quantities to check whether the workpiece is maintained horizontally and whether there is any acceleration or deceleration that would impose a large inertial load on the workpiece. However, the physical quantities are not limited to these. The type of physical quantity can be determined depending on what the user wants to check. For example, if the user wants to check whether the robot is operating at a speed that could seriously injure the user, the physical quantity may be velocity, multiple visual elements reflecting the magnitude of the velocity may be prepared, and one visual element may be selected from the multiple visual elements based on the velocity at the teaching position and displayed. Furthermore, if hand tilt is a problem, the physical quantity may be hand tilt, multiple visual elements reflecting the magnitude of the hand tilt may be prepared, and one visual element may be selected from the multiple visual elements based on the hand tilt at the teaching position and displayed.

[0048] In this embodiment, a glass of water is used as the visual element 62 that can simultaneously reflect the magnitude of the robot's acceleration and the magnitude of the workpiece's inclination in order to allow the user to intuitively grasp the magnitude of the robot's acceleration and the magnitude of the workpiece's inclination. However, the visual element 62 is not limited to this. Furthermore, if it is sufficient to reflect only the magnitude of the robot's acceleration or only the magnitude of the workpiece's inclination, a simpler visual element can be used. For example, as shown in FIG. 9 , a simple circular visual element can be used as a visual element that reflects only the magnitude of the robot's acceleration. Visual element 62-9 in FIG. 9( a) shows a form when the acceleration is less than a first threshold, and visual element 62-10 in FIG. 9( b) shows a form when the acceleration is equal to or greater than the first threshold. Visual element 62-10 in FIG. 9( b) depicts water splashing from the circular visual element. The water splash represents the water being violently shaken and splashing out of the glass. By viewing the visual element 62-10 shown in FIG. 9(b), the user can intuitively understand that the acceleration is greater than or equal to the first threshold.

[0049] In the present embodiment, the visual element 62 selected based on the acceleration and tilt at a specific taught position is placed at the specific taught position or at a position corresponding to the specific taught position in the virtual space. However, as long as the user can grasp the correspondence between the position and the visual element 62, the display method of the visual element 62 is not limited to this. For example, as shown in FIG. 10 , the visual element G0 may be constantly displayed at a specific position on the display unit 4, and the display form of the visual element G0 may be changed in conjunction with a user operation in the virtual space 40. For example, when the cursor Cu is positioned at the taught position P1 by a user operation, the visual element G0 changes to the form of a visual element corresponding to the taught position P1, and when the cursor Cu is positioned at the taught position P2, the visual element G0 changes to the form of a visual element corresponding to the taught position P2. This method of displaying visual elements also achieves the same effect as the method of displaying visual elements at the taught position or at a position corresponding to the taught position.

[0050] One of the features of the simulation device 1 according to this embodiment is that it calculates acceleration and tilt based on an operation program, and selects and displays a visual element corresponding to the calculated acceleration and tilt from a plurality of visual elements. Therefore, the reception unit 3 does not need to have the function of receiving parameters related to the operation program and creating the operation program, and the reception unit 3 may receive the operation program itself from outside.

[0051] Although several embodiments of the present invention have been described, these embodiments are 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, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, as well as within the scope of the invention described in the claims and their equivalents.

[0052] 1...simulation device, 2...processor, 3...reception unit, 4...display unit, 5...communication unit, 6...memory unit, 21...operation program creation unit, 22...operation program correction unit, 23...acceleration calculation unit, 24...inclination calculation unit, 25...visual element selection unit, 26...virtual space creation unit, 27...model placement unit, 28...visual element placement unit, 29...trajectory calculation unit, 30...trajectory placement unit, 31...simulation execution unit.

Claims

1. A simulation device that operates a three-dimensional model representing a robot in a virtual space in accordance with an operation program for operating the robot, comprising: a reception unit for receiving input of parameters related to the operation program; a physical quantity calculation unit that calculates a physical quantity acting on a reference point of the robot based on the parameters; a display unit that displays one visual element selected from a plurality of visual elements based on the physical quantity together with the three-dimensional model; A simulation device comprising:

2. The simulation device according to claim 1 , wherein the visual elements are pictures having a common subject but different forms.

3. 3. The simulation device according to claim 1, wherein at least one of an acceleration of the reference point and an inclination of a coordinate system having an origin at the reference point with respect to a robot coordinate system is calculated as the physical quantity.

4. The simulation device according to claim 3 , wherein the visual element is a pictorial representation of a glass containing water.

5. 5. The simulation device of claim 4, wherein the plurality of visual elements include a first visual element that pictorially represents a state in which the acceleration is equal to or greater than a threshold, and a second visual element that pictorially represents a state in which the acceleration is less than the threshold.

6. The first visual element is a picture expressing a state in which the water level in the glass is inclined or a state in which the water is overflowing.

6. The simulation device according to claim 5, wherein the second visual element is a picture representing a state in which the surface of the water in the glass is horizontal.

7. 5. The simulation device according to claim 4, wherein the visual elements include a first visual element that pictorially represents a state in which the inclination is equal to or greater than a threshold value, and a second visual element that pictorially represents a state in which the inclination is less than the threshold value.

8. The first visual element is a picture expressing the glass being tilted to the side or overflowing with water.

8. The simulation device according to claim 7, wherein the second visual element is a picture representing a state in which the glass is horizontal.

9. The simulation device according to claim 1 , further comprising a selection unit configured to select the one visual element from the plurality of visual elements based on a result of comparing the physical quantity with one or more threshold values.

10. the physical quantity calculation unit calculates the physical quantity at each of a plurality of positions on a movement trajectory of a reference point of the robot based on the parameters; 3. The simulation device according to claim 1, wherein the display unit displays a virtual operation space including a three-dimensional model of the robot, and displays visual elements selected for each of the plurality of positions at positions corresponding to each of the plurality of positions in the virtual operation space.

11. 3. The simulation device according to claim 1, further comprising a trajectory calculation unit that calculates a trajectory of the reference point based on the parameters, wherein the display unit displays a virtual space including a three-dimensional model of the robot and also displays a line diagram representing the trajectory in the virtual space.

12. The simulation device according to claim 11 , wherein the thickness of the line diagram is changed according to the magnitude of the physical quantity.