Simulation device and simulation system

The simulation apparatus and system address the challenge of high-precision simulations by enhancing communication and simulation accuracy through identification and control of robots, enabling accurate simulation of complex operations and operations specific to the identified robot device.

WO2026133586A1PCT designated stage Publication Date: 2026-06-25FANUC LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
FANUC LTD
Filing Date
2025-04-03
Publication Date
2026-06-25

AI Technical Summary

Technical Problem

Existing simulation systems face challenges in performing high-precision simulations due to limitations in communication between general-purpose and dedicated simulation devices, particularly in accurately simulating logic commands and robot operations.

Method used

A simulation apparatus and system that includes a communication unit, acquisition unit, and input data generation unit to enhance simulation accuracy by identifying and controlling robots, and a simulation execution unit that executes simulations based on additional information specific to the identified robot device, allowing for more accurate simulation of the robot device.

Benefits of technology

The solution enhances simulation accuracy and efficiency by enabling high-precision simulations through the use of additional information specific to the identified robot device, allowing for more accurate estimation of the robot's axis values and simulation of complex operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025013605_25062026_PF_FP_ABST
    Figure JP2025013605_25062026_PF_FP_ABST
Patent Text Reader

Abstract

In one embodiment, a dedicated simulation device comprises: a first communication unit that communicates with a general-purpose simulation device; and a first acquiring unit that acquires, from the general-purpose simulation device, identification information for identifying a robot and first information for controlling the robot. The dedicated simulation device comprises: an input data generating unit that generates second information by adding additional information to the first information on the basis of the identification information; and a simulation executing unit that executes a simulation on the basis of the second information.
Need to check novelty before this filing date? Find Prior Art

Description

Simulation Device and Simulation System

[0001] The present disclosure relates to a simulation device and a simulation system.

[0002] A robot device including a robot and a working tool can perform various operations by changing the position and orientation of the working tool. The position and orientation of the robot are controlled based on an operation program generated before performing the operation. The operation program is set with teaching points at which the position and orientation of the robot are determined.

[0003] The position and orientation of the robot at the teaching point can be taught by driving the actual robot. Alternatively, a simulation device that performs a simulation of the operation of the robot device is known. An operator can set teaching points and generate an operation program by performing a simulation of the operation of the robot device with the simulation device.

[0004] In the prior art, a general-purpose simulation device capable of simulating robots of a plurality of manufacturers is known. The general-purpose simulation device can simulate a manufacturing line or the like including a plurality of robot devices with different manufacturers. On the other hand, each robot manufacturer manufactures a simulation device for its own robot. The simulation device for its own robot may be referred to as a dedicated simulation device. The dedicated simulation device can perform a more accurate simulation than the general-purpose simulation device.

[0005] International Publication No. WO2021 / 261018, Japanese Unexamined Patent Application Publication No. 2021-64081

[0006] In the communication between the general-purpose simulation device and the dedicated simulation device, the operation command sentence defined in the operation program is transmitted. For this reason, it has not been possible to perform a simulation with high accuracy for logic commands such as robot standby.

[0007] There is a growing demand for high-precision simulations using commands from external devices such as general-purpose simulation equipment.

[0008] A simulation apparatus according to one aspect of the present disclosure includes a communication unit for communicating with an external device, and an acquisition unit for acquiring identification information for identifying a robot and first information for controlling a robot from the external device. The simulation apparatus also includes an input data generation unit that generates second information by adding additional information to the first information based on the identification information, and a simulation execution unit that executes a simulation based on the second information.

[0009] A simulation system according to one aspect of this disclosure comprises the above-mentioned simulation device, an external device capable of communicating with the simulation device, and a software PLC device, which is a processing unit capable of communicating with the external device and driven as a PLC by software.

[0010] This is a block diagram showing an example of a robot system in an embodiment. This is a block diagram of a robot device in an embodiment. This is a block diagram of a first simulation system in an embodiment. This is a schematic diagram illustrating communication between a general-purpose simulation device and a dedicated simulation device in the first simulation system. This is an explanatory diagram of output information included in the simulation results output from the dedicated simulation device. This is a schematic diagram illustrating a simulation system in a comparative example. This is a block diagram of a dedicated simulation device in a second simulation system in an embodiment. This is a block diagram of the analysis unit of the dedicated simulation device. This is a schematic diagram illustrating communication between a general-purpose simulation device and a dedicated simulation device in the second simulation system. This is a schematic diagram of the simulation system when deployed to the cloud.

[0011] Referring to Figures 1 to 10, the simulation apparatus and the simulation system comprising the simulation apparatus in this embodiment will be described. The simulation apparatus and simulation system in this embodiment perform simulations of the operation of a robotic device that performs work according to an operation program.

[0012] (Robot System) Figure 1 shows a block diagram illustrating an example of the robot system in this embodiment. Figure 1 corresponds, for example, to a manufacturing line or manufacturing cell. The robot system 9 in this embodiment comprises robot devices 3a, 3b, and 3c of a first manufacturer and robot devices 4a and 4b of a second manufacturer different from the first manufacturer. Each robot device 3a to 3c, 4a, and 4b performs its assigned task. For example, each robot device 3a to 3c, 4a, and 4b performs tasks such as attaching parts to a workpiece, welding, or transporting a workpiece.

[0013] The robot system includes a PLC 6 as a higher-level PLC (Programmable Logic Controller) that controls the operation of multiple robot devices 3a-3c, 4a, and 4b. The PLC 6 communicates with the robot control devices in each robot device. The PLC 6 controls the sequence of operations of each robot device 3a-3c, 4a, and 4b.

[0014] Figure 2 shows a block diagram of the robot device in this embodiment. The robot device 3 in this embodiment comprises a work tool 5 that performs work on a workpiece, a robot 1 that changes the position and orientation of the work tool 5, and a control device 2 that controls the work tool 5 and the robot 1.

[0015] The work tool 5 can be selected according to the task performed by the robot device 3. For example, when transporting a workpiece, a hand for gripping and releasing the workpiece can be used. When performing arc welding, a welding torch can be used. When painting a workpiece, a spray can be used to spray paint. In addition, the robot may be equipped with an automatic tool changer, allowing for the interchangeability of multiple work tools.

[0016] The robot of this embodiment is a vertical articulated robot including multiple joints. The robot of this embodiment has six drive axes. The robot includes a base, a swivel base, an upper arm, a lower arm, and a wrist section. The wrist section includes a flange to which a work tool is attached. The robot is not limited to this form. The robot can be any robot capable of moving the work tool.

[0017] The robot of this embodiment includes a robot drive unit 46 that drives the robot's components, such as an upper arm. The robot drive unit 46 includes a plurality of drive motors corresponding to a plurality of drive axes. The work tool 5 includes a work tool drive unit 47 that drives the work tool. The work tool drive unit 47 includes, for example, a motor, an air supply pump, a cylinder, and a solenoid valve.

[0018] The control device 2 corresponds to a robot control device that controls the robot 1 and the work tool 5. The control device 2 includes an arithmetic processing unit (computer) including a CPU (Central Processing Unit) as a processor. The arithmetic processing unit has RAM (Random Access Memory) and ROM (Read Only Memory), etc., which are connected to each other via a bus to the CPU. The control device 2 drives the robot and the work tool based on the operation program. The robot device 3 automatically performs predetermined tasks.

[0019] The control device 2 includes a storage unit 42 that stores information related to the control of the robot device 3. The storage unit 42 can be made of a non-temporary storage medium capable of storing information. For example, the storage unit 42 can be made of a storage medium such as a volatile memory, a non-volatile memory, a magnetic storage medium, or an optical storage medium. An operation program 41 created in advance for controlling the robot 1 is stored in the storage unit 42.

[0020] The operation program 41 can be generated by the simulation system in this embodiment. The robot device 3 is then driven by the operation program 41 generated by the simulation system.

[0021] The control device 2 includes an operation control unit 43 that sends operation commands. The operation control unit 43 sends operation commands to the robot drive unit 44 to drive the robot 1 based on the operation program 41. The robot drive unit 44 includes an electrical circuit that drives a drive motor. The robot drive unit 44 supplies electricity to the robot drive device 46 based on the operation commands. The operation control unit 43 also sends operation commands to the work tool drive unit 45 to drive the work tool drive device 47. The work tool drive unit 45 includes an electrical circuit that drives a pump, etc. The work tool drive unit 45 supplies electricity to the work tool drive device 47 based on the operation commands.

[0022] The operation control unit 43 corresponds to a processor that operates according to the operation program 41. The processor reads the operation program 41 and functions as the operation control unit 43 by executing the control defined in the operation program 41.

[0023] Furthermore, the control device of the robot system may include a PLC for controlling the sequence of operations of multiple devices included in the robot system. For example, a robot system may be equipped with a conveyor for transporting workpieces. In this case, the control device may include a PLC for controlling the sequence of operations between the conveyor and the robot. In addition, the PLC may also control tools connected to the robot and peripheral devices such as vision sensors attached to the robot. This PLC is referred to as a lower-level PLC in relation to the higher-level PLC 6 (see Figure 1) that controls the operations of multiple robot systems.

[0024] The robot 1 includes a state detector for detecting the position and orientation of the robot 1. In this embodiment, the state detector includes a position detector 48 attached to the drive motor of each drive axis of the robot drive unit 46. The position detector 48 is configured, for example, by an encoder. The position and orientation of the robot 1 are detected by the output of the position detector 48.

[0025] The control device 2 may include a teaching control panel 49, which serves as an operating panel for an operator to manually operate the robot device 3. The teaching control panel 49 includes an input unit 49a for inputting information related to the robot device 3. The input unit 49a is composed of operating members such as a keyboard and a dial. The teaching control panel 49 includes a display unit 49b for displaying information related to the control of the robot device 3. The display unit 49b is composed of a display panel such as a liquid crystal display panel.

[0026] The robotic device may include other auxiliary devices for performing tasks. For example, the robotic device may be equipped with vision sensors to correct the robot's position and orientation when performing tasks. Alternatively, the robotic device may be equipped with a conveyor for transporting workpieces, or a turntable for rotating workpieces, etc.

[0027] When a robotic device includes auxiliary devices, the motion control unit can be configured to control the auxiliary devices. For example, when a robotic device includes a vision sensor, the motion control unit can control the imaging performed by the vision sensor.

[0028] Each of the robot devices 3a to 3c, 4a, and 4b shown in Figure 1 has the same configuration as the robot device 3 described above. The simulation device and simulation system in this embodiment perform simulations of the robot devices and robot systems described above.

[0029] (First Simulation System) Figure 3 shows a block diagram of the first simulation system in this embodiment. The first simulation system 8 in this embodiment comprises a general-purpose simulation device 20 and a dedicated simulation device 10.

[0030] The general-purpose simulation device 20 is capable of performing simulations on multiple robots manufactured by multiple different manufacturers. Referring to Figure 1, for example, the general-purpose simulation device 20 can perform simulations on robot devices 3a to 3c from the first manufacturer and robot devices 4a and 4b from the second manufacturer.

[0031] The general-purpose simulation device 20 can perform simulations of each robot device 3a-3c, 4a, and 4b individually. Furthermore, the general-purpose simulation device 20 can perform simulations of the entire robot system 9, including multiple robot devices 3a-3c, 4a, and 4b.

[0032] The general-purpose simulation device 20 is configured by installing software referred to as general-purpose software on a processing unit including a CPU as a processor. The general-purpose simulation device 20 can be used offline. That is, the general-purpose simulation device 20 can perform simulations without being connected to an actual robot device. The general-purpose simulation device 20 can be manufactured by any manufacturer. However, the general-purpose simulation device 20 may be connected to an actual robot device.

[0033] The dedicated simulation device 10 is a device that performs simulations of a specific robot device. The dedicated simulation device can be provided by the manufacturer that produces the specific robot. For example, referring to Figure 1, the dedicated simulation devices for robot devices 3a to 3c can be provided by the first manufacturer. The dedicated simulation devices for robot devices 4a and 4b can be provided by the second manufacturer. In other words, a manufacturer provides a dedicated simulation device specifically for its robot device.

[0034] The dedicated simulation device may be configured to perform simulations of multiple robot models manufactured by the same manufacturer. The dedicated simulation device can identify a robot using its identification information and perform simulations. For example, it may be configured so that a simulation of robot model 3a or robot model 3b can be performed by inputting the model number into a single simulation device.

[0035] Furthermore, the dedicated simulation device may be configured to simultaneously simulate multiple robotic devices. For example, referring to Figure 1, if robotic devices 3a, 3b, and 3c perform tasks in succession, the device may have the function to simulate the tasks of these multiple robotic devices 3a to 3c at once. By adopting this configuration, it becomes easier to generate logic commands such as interlock settings by the analysis unit 33, which will be described later.

[0036] The dedicated simulation device 10 is limited to simulating specific robotic devices. Furthermore, because the dedicated simulation device 10 is manufactured by a manufacturer for their own robotic devices, it can perform accurate simulations. In particular, manufacturers can perform their own simulations while incorporating detailed information about the robotic devices. For this reason, the dedicated simulation device 10 can perform simulations more accurately than the general-purpose simulation device 20.

[0037] The dedicated simulation device 10 is configured by installing dedicated software specific to each robot on a processing unit including a CPU as the processor. The dedicated software can be generated by the robot manufacturer. The dedicated simulation device 10 can be used offline. The dedicated simulation device 10 can perform simulations without being connected to the actual robot device. However, the dedicated simulation device 10 may be connected to the actual robot device.

[0038] The general-purpose simulation device 20 can be installed in the user's company or factory for use by the user of the robot equipment. On the other hand, the dedicated simulation device 10 can be manufactured and provided by the manufacturer of each robot. The dedicated simulation device 10 can be installed, for example, in the manufacturer's company or factory.

[0039] Furthermore, the general-purpose simulation device 20 and the dedicated simulation device 10 can be configured to communicate with each other via an internet or other telecommunication line. For example, the user can perform a simulation of the entire manufacturing line using the general-purpose simulation device 20. At this time, for the simulation of each robot device, the general-purpose simulation device sends a command to the dedicated simulation device 10 to perform the simulation. The general-purpose simulation device 20 then receives the simulation results from the dedicated simulation device 10. By repeating this communication, a simulation of the entire manufacturing line can be performed. The general-purpose simulation device 20 can perform simulations of operations performed by multiple robot devices.

[0040] The dedicated simulation device 10 includes a first storage unit 11 for storing information related to the simulation. The first storage unit 11 can be configured as a non-temporary storage medium capable of storing information. For example, the first storage unit 11 can be configured as a storage medium such as a volatile memory, a non-volatile memory, a magnetic storage medium, or an optical storage medium.

[0041] The dedicated simulation device 10 includes a first acquisition unit 12 that acquires identification information for identifying a robot and first information for controlling the robot from an external device. The identification information is information for identifying a robot device on which the simulation is performed in the dedicated simulation device 10. The identification information includes, for example, information about the robot's manufacturer and information about the robot's model. Furthermore, the identification information is not limited to the above and may include any information that can identify the manufacturer and the robot. The first information includes, for example, the robot's operation program or the command statements contained in the operation program. Alternatively, the first information includes, for example, information about the robot's settings and a simulation start command.

[0042] The external device connected to the dedicated simulation device 10 in this embodiment is a general-purpose simulation device 20 capable of simulating robots from multiple manufacturers, but is not limited to this configuration. Any external device can be used, such as a robot control device with a built-in PLC or a soft PLC device.

[0043] The dedicated simulation device 10 includes a first communication unit 14 that communicates with a general-purpose simulation device 20, which is an external device. The first communication unit 14 is configured as a communication interface for communicating with the external device. That is, the first communication unit 14 includes software conforming to a standard for communicating with the external device, and a software-driven processor, etc.

[0044] The dedicated simulation device 10 includes a first processing unit 13 that performs simulations. The first processing unit 13 includes an input data generation unit 31 that generates second information by adding additional information to first information based on the identification information of the robot. The first processing unit 13 includes a simulation execution unit 32 that executes a simulation based on the identification information of the robot and the second information generated by the input data generation unit 31. The simulation execution unit 32 outputs output information including the result of the simulation.

[0045] Each unit of the first acquisition unit 12, the first processing unit 13, the input data generation unit 31, the simulation execution unit 32, and the first communication unit 14 corresponds to a processor driven by dedicated software. The processor operates as each unit by loading the dedicated software and performing predetermined control.

[0046] The dedicated simulation device 10 includes a first input unit 15 that inputs information related to the simulation and a first display unit 16 that displays information related to the simulation. The first input unit 15 is constituted by operation members such as a keyboard and a mouse, for example. The first display unit 16 is constituted by a display panel such as a liquid crystal display panel.

[0047] The general-purpose simulation device 20 includes a second storage unit 21 that stores information related to the simulation. Similar to the first storage unit 11, the second storage unit 21 can be constituted by a non-temporary storage medium. The general-purpose simulation device 20 includes a second acquisition unit 22 that acquires information related to the simulation from the dedicated simulation device 10 and a second processing unit 23 that performs a simulation of the operation of the robot device. The general-purpose simulation device 20 includes a second communication unit 24 constituted by a communication interface. The second communication unit 24 is configured to be able to communicate with the dedicated simulation device 10. The general-purpose simulation device 20 includes a second input unit 25 including operation members such as a keyboard and a second display unit 26 constituted by a display panel.

[0048] The second acquisition unit 22, the second processing unit 23, and the second communication unit 24 correspond to a processor driven by general-purpose software. By the processor reading the general-purpose software and performing predetermined control, they operate as respective units.

[0049] The simulation system according to the present embodiment includes a soft PLC device 27 communicably connected to the general-purpose simulation device 20. The soft PLC device is an arithmetic processing device driven as a PLC by software. Referring to FIG. 1, the soft PLC device 27 can simulate the upper-side PLC 6.

[0050] A soft PLC device 17 is communicably connected to the dedicated simulation device 10 in the present embodiment. The soft PLC device 17 simulates the lower-side PLC that controls the operation order of the devices included in the robot device. Note that the simulation system may not include at least one of the lower-side soft PLC device 17 and the upper-side soft PLC device 27.

[0051] Additional information 18 for simulating the robot device is input to the dedicated simulation device 10. The additional information 18 is information regarding the robot device specified by identification information. The additional information 18 may include calibration data in the actual robot device. Examples of the calibration data can include mechanism error data, correction data of a vision sensor, and information regarding load information. The additional information 18 can be created in advance by an operator and stored in the first storage unit 11. Alternatively, the additional information 18 may be acquired from another device such as an actual robot device and stored in the first storage unit 11. The input data generation unit 31 acquires the additional information 18 from the first storage unit 11. In the present embodiment, the input data generation unit 31 acquires the additional information 18 from the first storage unit 11, but it is not limited to this form. The additional information 18 may be input by an operator operating the first input unit 15 when performing the simulation.

[0052] Figure 4 shows a schematic diagram illustrating the communication between the general-purpose simulation device and the dedicated simulation device in this embodiment. In this embodiment, the dedicated simulation device 10 and the general-purpose simulation device 20 communicate with each other to perform simulations of the robot system. The general-purpose simulation device 20 sends a command to the dedicated simulation device 10 to perform a simulation of the robot system.

[0053] The general-purpose simulation device 20 transmits the pre-created robot operation program 70 to the dedicated simulation device 10 as first information. The operation program 70 includes operation commands and logic commands as command statements. The operation commands include, for example, commands to move to a specific teaching point. The logic commands include logic commands related to interlock control to prevent interference with other devices. The logic commands also include commands for the robot's operation to peripheral devices, commands to call other programs, and commands to branch the control.

[0054] Furthermore, the general-purpose simulation device 20 can transmit robot identification information 71 and robot setting values ​​72 as first information to the dedicated simulation device 10. The robot setting values ​​72 include, for example, coordinate system information such as the fixed world coordinate system set for the robot device and the tool coordinate system set for the work tool.

[0055] These operation programs 70, robot identification information 71, and robot settings 72 can be stored in the second storage unit 21 by the operator using the second input unit 25. The second communication unit 24 transmits this first information to the dedicated simulation device 10. The first communication unit 14 receives the first information, and the first acquisition unit 12 acquires the first information. The first storage unit 11 stores the first information. The general-purpose simulation device 20 also sends a start command 73 to the dedicated simulation device 10 to start the simulation.

[0056] The first processing unit 13 starts the simulation. The input data generation unit 31 acquires first information, including the operation program 70 and robot identification information 71. Based on the identification information 71, the input data generation unit 31 acquires additional information 18 corresponding to a specific robot device from the first storage unit 11. The input data generation unit 31 adds the additional information 18 to the first information to generate second information.

[0057] The second processing unit 23 of the general-purpose simulation device 20 sends a time update command to perform the simulation. The second processing unit 23 sends a command to the dedicated simulation device 10 to proceed with the calculation at a predetermined control cycle, for example. The simulation execution unit 32 of the dedicated simulation device 10 identifies the dedicated software based on the identification information. The simulation execution unit 32 can execute the simulation based on the second information to estimate the axis values ​​of the robot.

[0058] Additional information 18 for estimating the axis values ​​of a robot may include, for example, an estimation model such as a formula or machine learning model for calculating axis values ​​specific to the robot specified in the identification information. It may also include basic additional information such as the error of the DH (Denavit-Hartenberg) parameters and interference angle specific to the specified robot.

[0059] The simulation execution unit 32 estimates the axis values ​​of each drive axis in the robot device. The axis values ​​are, for example, the joint angle at the joint or the position of the tool tip and the orientation of the work tool (robot position and orientation).

[0060] The simulation execution unit 32 performs the simulation from the first command statement of the operation program 70 in accordance with the time update command 74. The simulation execution unit 32 calculates interpolation points between teaching points, for example, and calculates the axis values ​​of the robot at the interpolation points. The simulation execution unit 32 sends the axis values ​​of the robot as the current position 75 to the general-purpose simulation device 20. Furthermore, if there are changes in the input signals and output signals in the logic command statements, it transmits information 76 about the changes in I / O signals to the general-purpose simulation device 20.

[0061] Next, the second processing unit 23 sends the next time update command 74 to the dedicated simulation device 10. The simulation execution unit 32 performs a simulation to calculate the next axis values ​​of the robot and a simulation of logic commands based on the specified time.

[0062] In this embodiment, the first processing unit 13 repeatedly receives a time update command 74 from the first communication unit 14, executes a simulation using the simulation execution unit 32, and receives a reply from the first communication unit 14 with the simulation results. The transmission of information 76 regarding the current position 75 and changes in I / O signals is repeated until the next teaching point is reached.

[0063] When the robot's current position reaches a teaching point specified in the command statement, the simulation execution unit 32 transmits information 77 indicating arrival at the teaching point to the second processing unit 23. When the simulation execution unit 32 receives the next time update command 74, it proceeds to the simulation of the next command statement. In this way, the simulation execution unit 32 performs the simulation at predetermined time intervals specified by the time update command 74, from the first command statement to the last command statement of the operation program. The simulation execution unit 32 then transmits the simulation results to the general-purpose simulation device 20.

[0064] In the dedicated simulation device 10, simulations can be performed based on additional information 18 specific to the identified robot device, allowing for more accurate estimation of the robot's axis values ​​than the general-purpose simulation device 20. In other words, it can accurately estimate changes in the robot's position and orientation in the motion program.

[0065] Next, the dedicated simulation device 10 in this embodiment can perform a simulation other than the axis values ​​of the robot based on the additional information 18 that has been input in advance, and output simulation output information 50. The first communication unit 14 can then transmit the simulation output information 50 to the general-purpose simulation device 20.

[0066] Figure 5 shows an explanatory diagram of the simulation output information in this embodiment. Additional simulations performed by the dedicated simulation device 10 include, for example, specific items that cannot be simulated by the general-purpose simulation device 20 but can be simulated by the dedicated simulation device 10. Alternatively, they may be items that can be simulated more accurately than by the general-purpose simulation device 20. The output information 50 may include information on arbitrary parameters related to the robot's movement other than the robot's axis values.

[0067] The simulation output information 50 of this embodiment includes at least one of the following: robot alarm information 51, trajectory information 52 which is information about the robot's motion trajectory, sweep space information 53 which is information about the sweep space when the robot was driven, and robot motion information 54 when the robot was operating. The output information 50 also includes at least one of the following: power consumption 55 of the robot device, motor drive information 56, gearbox life 57, cable condition 58, operating state of the work tool 59, imaging state of the vision sensor 60, cycle time 61, and failure timing 62.

[0068] Alarm information 51 is information about alarms that are expected to occur when the robot is driven. The alarm information includes information about the acceleration of the robot's tool tip. Additional information 18, which is input to the dedicated simulation device 10 in order to simulate alarm information 51, includes formulas for calculating the parameters for generating an alarm, and information such as alarm judgment values. Additional information 18 may also include information about the shape and arrangement of the robot device and peripheral equipment.

[0069] Trajectory information 52 is information about the trajectory that the robot follows when it is moving, passing through the teaching points. Trajectory information 52 includes, for example, information about the position that the tool tip point indicating the robot's position has passed through. It also includes, for example, information about interpolation points between teaching points, and information about the positions of the teaching points and interpolation points with respect to the elapsed time when the robot is driven. Sweep space information 53 is information about the space that the robot's components, such as its arm, pass through when the robot is driven. Sweep space information 53 can, for example, show the space that the robot's components have passed through in the robot's world coordinate system. Additional information 18 for simulating trajectory information 52 and sweep space information 53 includes information about the shape and arrangement of the robot device.

[0070] The robot motion information 54 includes information related to the robot's drive, such as joint angles at the robot's joints. Additional information 18 for obtaining the robot motion information includes, for example, calculation formulas for estimating the robot motion information. Power consumption 55 is, for example, the power consumed by the robot device when performing a predetermined task. Additional information 18 for estimating power consumption may include, for example, a calculation formula for calculating power consumption from the current supplied to the motor. Motor drive information 56 is information related to the parameters when driving the motor. Motor drive information 56 may include, for example, the duty cycle in PWM (Pulse Width Modulation) control for driving the motor. Additional information 18 for estimating the motor drive information 56 includes calculation formulas and parameters for calculating the duty cycle. Gear reducer life 57 is a parameter for estimating the gear reducer life. Additional information 18 for estimating the gear reducer life 57 includes a calculation formula or calculation model for calculating the gear reducer life 57.

[0071] The cable condition 58 includes the curvature or twist of the cable where it bends. Additional information 18 for estimating the cable condition 58 includes the shape and position of the robot and peripheral equipment, information on the location where the cable is fixed, and information on the cable's characteristics such as its elasticity.

[0072] The output information 50 includes the operating status of a device attached to the robot. For example, the operating status 59 of the work tool includes information about the results of the work performed by the work tool. For example, if the work tool is a spray that dispenses paint, the area to which the paint was applied and the amount of paint can be estimated. Additional information 18 for estimating the operating status 59 of the work tool includes, for example, nozzle characteristics such as the amount of paint sprayed and the spray angle.

[0073] Furthermore, if a vision sensor is attached to the robotic device, the imaging state 60 of the vision sensor can be estimated. The imaging state 60 of the vision sensor includes, for example, the distance from the vision sensor to the workpiece and the imaging range. Additional information 18 for estimating the imaging state 60 of the vision sensor includes characteristics of the vision sensor such as the field of view and resolution of the vision sensor.

[0074] The output information 50 includes the cycle time 61. Additional information 18 for estimating the cycle time 61 includes information such as a calculation formula for calculating the cycle time. The output information 50 also includes the failure time 62, which is the predicted time when equipment included in the robot device will fail. Additional information 18 for estimating the failure time 62 includes a calculation model for estimating the failure time 62. The output information 50 may also include information other than that described above. For example, the output information 50 may include information such as the timing of maintenance to prevent failure based on the failure time 62 or traceability.

[0075] The first communication unit 14 of the dedicated simulation device 10 can transmit output information 50 to the general-purpose simulation device in addition to the current position 75 and information 76 regarding changes in I / O signals. The second acquisition unit 22 of the general-purpose simulation device 20 acquires this information. The information, including the output information 50, can then be displayed on the second display unit 26. Alternatively, the current position 75, the information 76 regarding changes in I / O signals, and the output information 50 may be displayed on the first display unit 16 of the dedicated simulation device 10.

[0076] The user of the general-purpose simulation device 20 can modify the operation program by referring to the information displayed on the second display unit 26, including the current position 75, information on changes in I / O signals 76, and output information 50. For example, the command statements in the operation program can be modified. The position and orientation of the robot at the teaching point can be modified.

[0077] The user of the general-purpose simulation device 20 does not need to estimate the parameters included in the output information 50 based on the simulation results of the dedicated simulation device 10. For example, the user of the general-purpose simulation device 20 does not need to estimate the cycle time, estimate the cable state, or calculate the power consumption based on the simulation results of the dedicated simulation device 10. Since this information is provided by the dedicated simulation device 10, the amount of work required to generate the operation program can be reduced. Furthermore, since the output information 50 output from the dedicated simulation device 10 is obtained through a simulation that takes into account the characteristics specific to the robot, the operation program can be generated based on accurate estimation results.

[0078] Figure 6 shows a schematic diagram of the comparative example's simulation system. The comparative example's simulation system 97 includes a comparative example's general-purpose simulation device 92 and a comparative example's dedicated simulation device 91. The general-purpose simulation device 92 transmits one operation command statement 93 of the operation program to the dedicated simulation device 91. That is, it transmits information using an interpreter method.

[0079] The dedicated simulation device 91 receives the operation command statement 93 and then the time update command 94. It then estimates the next axis position of the robot and transmits the estimated current position 95 to the general-purpose simulation device 92. This control is repeated until the teaching point specified in the command statement is reached. When the position where the simulation was performed reaches the teaching point specified in the operation command statement, information 96 indicating that the teaching point has been reached is transmitted to the general-purpose simulation device 92. The general-purpose simulation device 92 then transmits the next operation command statement 93 to the dedicated simulation device 91.

[0080] In the comparative example simulation system 97, the axis values ​​of the robot's drive axes can also be calculated using the dedicated simulation device 91. However, in the comparative example simulation system 97, since the simulation is performed for each motion command statement, it is not possible to simulate logic commands such as interlocks. Logic control needs to be re-examined using the general-purpose simulation device 92 after the simulation of the robot command's motion is complete.

[0081] Referring to Figure 4, in contrast to the first simulation system 8 in this embodiment, the general-purpose simulation device 20 transmits an operation program 70 including logic commands to the dedicated simulation device 10. Then, simulation can be automatically performed for each command in the operation program 70. For this reason, in addition to simulating the axis values ​​of the robot, simulations of logic commands can also be performed.

[0082] Furthermore, referring to Figure 6, in the comparative example simulation system 97, simulations other than the axis values ​​of the robot's drive axis cannot be performed using the dedicated simulation device. When estimating parameters other than the axis values ​​of the robot's drive axis, they must be newly estimated based on the simulation results of the dedicated simulation device 91.

[0083] Referring to Figure 4, in contrast to the first simulation system 8 in this embodiment, the dedicated simulation device 10 can perform simulations other than the robot's axis values. The output information 50 (see Figure 5) of the simulation performed by the dedicated simulation device 10 can be transmitted to the general-purpose simulation device 20. As a result, the general-purpose simulation device 20 does not need to recalculate or estimate these parameters, improving the work efficiency when generating the operation program.

[0084] For example, when modifying an operating program while considering the power consumption, motor load, and gearbox lifespan of a robotic device, it is not necessary to newly estimate these parameters using a general-purpose simulation device; the output information of a dedicated simulation device can be used. This improves the efficiency of work when modifying operating programs. In particular, because simulations of large-scale lines including numerous robotic devices, or complex lines including robotic devices and peripheral equipment can be performed with high accuracy, the time required to generate operating programs can be reduced.

[0085] Referring to Figure 4, this embodiment shows an example in which one operation program is transmitted from the general-purpose simulation device 20 to the dedicated simulation device, but it is not limited to this configuration. When multiple operation programs are used for one robot device, the next operation program may be transmitted from the general-purpose simulation device 20 to the dedicated simulation device after the simulation of one operation program has finished. In this way, the first communication unit can repeatedly acquire first information, including the operation program, from the general-purpose simulation device and send the simulation results to the general-purpose simulation device. With this control, simulation can be automatically performed even when multiple operation programs are executed.

[0086] Furthermore, in the above embodiment, the general-purpose simulation device 20 transmits the operation program to the dedicated simulation device 10, but the embodiment is not limited to this configuration. The general-purpose simulation device may also transmit the command statement of the operation program as first information to the dedicated simulation device. In this case as well, the dedicated simulation device 10 can generate the simulation output information 50 based on the additional information 18. In this case, the first communication unit can repeatedly acquire the first information, including the command statement of the general-purpose simulation device, and send the simulation results to the general-purpose simulation device.

[0087] Furthermore, the first communication unit of the dedicated simulation device does not need to transmit all output information obtained by the dedicated simulation device to the general-purpose simulation device. The first communication unit can send predetermined results from among multiple simulation results to the general-purpose simulation device. Alternatively, it can transmit simulation results requested by the general-purpose simulation device to the general-purpose simulation device.

[0088] (Second Simulation System) Figure 7 shows a block diagram of the dedicated simulation device for the second simulation system in this embodiment. The second simulation system includes a dedicated simulation device 30. The first processing unit 35 of the dedicated simulation device 30 has the function of performing analysis based on the simulation results. The first processing unit 35 includes an analysis unit 33 that performs analysis based on output information 50 including the simulation results from the simulation execution unit 32. The analysis unit 33 can perform predetermined judgments, generate predetermined parameters, and modify predetermined parameters. In the second simulation system, the configuration other than the dedicated simulation device 30 is the same as that of the first simulation system 8 (see Figure 3).

[0089] The first information acquired by the first acquisition unit 12 from the general-purpose simulation device 20 includes an analysis command to perform an analysis based on the output information. The operator can pre-create analysis support information 19 for the analysis unit 33 to perform the analysis and store it in the first storage unit 11. Alternatively, when performing the analysis, the operator may input the analysis support information 19 by operating the first input unit 15. The analysis unit 33 can perform a predetermined analysis based on the simulation output information 50 and the analysis support information 19.

[0090] Figure 8 shows a block diagram of the units included in the analysis unit of this embodiment. Figure 7 shows an example of the analysis unit 33, and may include units other than those shown in Figure 8. Alternatively, the analysis unit 33 may perform the analysis using at least one of the units shown in Figure 8. In other words, the analysis unit 33 may be configured to perform at least one of a plurality of analyses.

[0091] The analysis unit 33 of this embodiment includes an operation path correction unit 81, a program correction unit 82, an interlock generation unit 83, an operation correction unit 84, a safety area correction unit 85, a cable status check unit 86, an interference check unit 87, function check units 88, 89, and a calibration data correction unit 90. Each unit of the analysis unit 33 performs analysis based on analysis support information 19 necessary for the analysis and output information 50 output from the simulation execution unit 32. The general-purpose simulation device 20 transmits analysis commands to the dedicated simulation device 10 to perform each analysis.

[0092] The analysis unit 33 and each of the units included in the analysis unit 33, such as the operation path correction unit 81 and the program correction unit 82, correspond to processors that operate according to predetermined dedicated software. The processor reads the dedicated software and performs the control defined in the dedicated software, thereby functioning as each unit.

[0093] Referring to Figures 5 and 8, the motion path correction unit 81 can correct the motion path based on the trajectory information 52 included in the output information 50. For example, if the number of teaching points is small and the motion path is not smooth, control can be implemented to add teaching points. Alternatively, if the intervals between teaching points in the motion program 70 acquired from the general-purpose simulation device 20 are wide, the motion path correction unit 81 may add teaching points before executing the simulation. For example, control can be implemented to add teaching points between the start point, intermediate points, and end point of the motion path.

[0094] Furthermore, the motion path correction unit 81 may correct the robot's motion path if it determines that the robot's motion path is inappropriate. For example, if it determines that the range of the robot's motion path is too large and the worker's safety area is narrower than a predetermined determination range, it can correct the position of the teaching points.

[0095] The program modification unit 82 has the function of modifying the operation program 70 provided by the general-purpose simulation device 20 based on the output information 50 and the analysis results from the analysis unit 33. For example, the program modification unit 82 modifies the operation program based on the analysis results from the operation path modification unit 81. Furthermore, the program modification unit 82 has the function of modifying the operation program based on the analysis results from the interlock generation unit 83, the operation modification unit 84, and the cable condition check unit 86, which will be described later. For example, if the operation modification unit 84 determines that the robot's acceleration is too large, it may perform control to modify the position of the teaching points so that the radius of curvature of the robot's operation path becomes larger.

[0096] The interlock generation unit 83 has the function of generating an interlock in the operation program when there is a risk that the robot device may come into contact with other robot devices or peripheral equipment. The interlock generation unit 83 can generate an interlock, for example, based on trajectory information 52 and sweep space information 53.

[0097] The motion correction unit 84 performs control to correct the robot's motion based on the robot's motion information 54. For example, it determines the acceleration of the robot's motion, and if the acceleration of the robot's motion is large, it performs a correction to reduce the acceleration. Alternatively, the motion correction unit 84 can, for example, correct the motor's drive state to reduce power consumption or correct the motor's drive state to improve the reduction gear life 57, based on power consumption 55, motor drive information 56, and gearbox life 57.

[0098] The safety area modification unit 85 can modify the safety area in which an operator can enter based on the swept space information 53. For example, if the safety area is too small for the robot's movement, it can be modified to increase the safety area.

[0099] The cable condition check unit 86 can determine whether or not there is any abnormality in the operation of the cable based on the cable condition 58. For example, the cable condition check unit 86 can determine whether the curvature and twist of the cable are within the judgment range.

[0100] The interference check unit 87 can determine whether the robot device interferes with other robot devices or peripheral equipment based on the swept space information 53 and the cable status 58, etc. The interference check unit 87 can also determine whether the devices are too close to each other.

[0101] The function check units 88 and 89 can determine the operation of devices attached to the robot. In this example, the function check unit 88 can check the function of a work tool. Based on the operating state 59 of the work tool, the function check unit 88 can determine whether the work tool operates as desired. For example, if the work tool is a spray for applying paint, it can determine whether the paint is applied to the surface of the workpiece in a desired amount and over a desired area.

[0102] The function check unit 89 checks the function of the device attached to the robot or work tool. For example, it can determine whether a desired range has been captured based on the imaging state 60 of the vision sensor.

[0103] The calibration data correction unit 90 can correct predetermined calibration data. For example, it can correct information such as the positional discrepancy of the CAD (Computer-Aided Design) model of the robot device between general-purpose software and dedicated software, based on the swept spatial information 53, etc.

[0104] As described above, the analysis support information 19 for performing the analysis by the analysis unit 33 includes the model and parameters for each analysis, the shape, arrangement, and operating status of peripheral equipment. Furthermore, if a determination is made as to whether or not an interlock is necessary, the determination value for the calculated parameters is included. Additionally, if modifications are made, such as correcting the position of teaching points, the modification method model, calculation formula, and parameters are included.

[0105] Figure 9 shows a schematic diagram illustrating the communication of the second SimulaN system of this embodiment. In the second simulation system 36, the operation program 70, etc., is transmitted from the general-purpose simulation device 20 to the dedicated simulation device 30 to perform the simulation, as in the first simulation system (see Figure 4). In the second simulation system as well, any device such as a robot control device with a built-in PLC or a soft PLC device can be used as an external device.

[0106] In the second simulation system 36, the general-purpose simulation device 20 transmits an analysis command 78 to the dedicated simulation device 30. The analysis command 78 is a command for the dedicated simulation device 30 to perform an analysis based on the simulation output information 50. The analysis result 79 output by the analysis unit 33 of the dedicated simulation device 30 is then transmitted to the general-purpose simulation device 20. The analysis unit 33 may perform the analysis simultaneously with the simulation to generate the output information 50.

[0107] In this way, the analysis unit 33 can perform a predetermined analysis and transmit the analysis results 79 to the general-purpose simulation device 20. The user can utilize the analysis results from the analysis unit 33 to generate an operation program. This reduces the time required to create the operation program. For example, it becomes unnecessary to consider the generation of interlocks and the modification of robot movements in the general-purpose simulation device based on the simulation results of the dedicated simulation device, thus reducing the time required to create the operation program.

[0108] Alternatively, operators can refer to the results of analyses that cannot be performed by general-purpose simulation equipment. For example, general-purpose simulation equipment may not be able to check the cable status of a robot device, but operators can obtain analysis results provided by dedicated simulation equipment and use them to generate operation programs. Or, even if general-purpose simulation equipment has the same analysis capabilities as dedicated simulation equipment, more accurate information can be obtained by performing the analysis on dedicated simulation equipment.

[0109] The configuration, operation, and effects of the second simulation system, other than those described above, are the same as those of the first simulation system, so they will not be explained again here.

[0110] Referring to Figure 2, the dedicated simulation devices 10 and 30 described above may be configured to be connectable to the teaching control panel 49 of the actual robot device 3. The operator may then input or modify additional information 18 or analysis support information 19, etc., using the input section 49a and display section 49b of the teaching control panel 49. The operator may also check the simulation results and analysis results from the dedicated simulation devices 10 and 30 by displaying them on the display section 49b of the teaching control panel 49.

[0111] Figure 10 shows a schematic diagram illustrating the arrangement of the simulation system in this embodiment. In this example, the first simulation system 8 is used for explanation, but the second simulation system 36 can be arranged in a similar manner.

[0112] Referring to Figure 3, in the above-described embodiment, the dedicated simulation device 10 and the soft PLC device 27 are located in the company or factory of the specified robot manufacturer. The general-purpose simulation device 20 and the soft PLC device 27 are located in the company or factory of the user who performs the simulation of the robot system, but are not limited to this configuration. At least one of the dedicated simulation device 10, the general-purpose simulation device 20 as an external device, the soft PLC device 17, and the soft PLC device 27 can be configured to communicate via telecommunications lines with the computing devices of multiple users.

[0113] In the example shown in Figure 10, the first simulation system 8 is located in the cloud so that it can communicate with multiple users' computers 37, 38, and 39. The cloud server and processing unit of the first simulation system 8 are located in the cloud. The first user, the second user, and the third user can perform simulations of the robot system from any location.

[0114] By adopting this configuration, the performance limitations of the user's general-purpose simulation device, such as processing speed and memory capacity, are reduced. Alternatively, large-scale line simulations can be performed. For example, each user can simulate a large robot system with numerous robotic units, or a complex robot system with robotic units and multiple peripheral devices, without having to consider the processing performance of their general-purpose simulation device.

[0115] Furthermore, users are provided with an environment in which they can perform the same simulations regardless of their work location. Users can perform the same simulations regardless of their work location. In addition, multiple users can share data such as output information and analysis results from the simulation system. Moreover, workers can reduce the amount of work required for installing and configuring software to build a general-purpose simulation device, and for backing up information stored in the memory unit. In this way, the amount of work required to maintain the environment of the computing device for performing simulations, or for relocating the computing device, can be significantly reduced.

[0116] According to at least one embodiment described above, the amount of work required when an operator generates an operating program can be reduced.

[0117] While this disclosure has been described in detail, it is not limited to the individual embodiments described above. These embodiments can be added, replaced, modified, partially deleted, etc., in any way that does not depart from the gist of this disclosure or from the intent of this disclosure derived from the claims and their equivalents. These embodiments can also be implemented in combination. For example, the order of operations and processes in the embodiments described above are given as examples only and are not limited thereto. The same applies when numerical values ​​or mathematical formulas are used in the description of the embodiments described above.

[0118] The following additional information is disclosed regarding the above embodiments and modifications.

[0119] (Note 1) A simulation device comprising: a communication unit for communicating with an external device; an acquisition unit for acquiring identification information for identifying a robot and first information for controlling a robot from an external device; an input data generation unit for generating second information by adding additional information to the first information based on the identification information; and a simulation execution unit for executing a simulation based on the second information.

[0120] (Note 2) The external device is a general-purpose simulation device capable of simulating robots from multiple manufacturers, as described in Note 1.

[0121] (Note 3) The simulation device described in Note 1 or 2, comprising a memory unit for storing additional information, wherein the input data generation unit acquires additional information from the memory unit, and the additional information is information relating to a robot identified by identification information.

[0122] (Note 4) The first information is a simulation device described in any one of Notes 1 to 3, including the robot's motion program or the command statements contained in the motion program.

[0123] (Note 5) The simulation device described in Note 4, wherein the first information includes either information regarding the robot's settings or a command to start the simulation.

[0124] (Note 6) The identification information includes information about the robot manufacturer and information about the robot model, as described in any one of Notes 1 to 5.

[0125] (Note 7) The communication unit is a simulation device described in any one of Notes 1 to 6, which repeatedly acquires first information from an external device and sends the simulation results to the external device.

[0126] (Note 8) The communication unit is a simulation device described in any one of Notes 1 to 7, which sends a predetermined result from among multiple simulation results to an external device.

[0127] (Note 9) The simulation execution unit outputs output information including the simulation results, and the output information includes at least one of the following: robot alarm information, motion trajectory, sweep space, robot motion information, robot power consumption, motor drive information, gearbox life, cable condition information, work tool motion information, imaging information from a visual sensor, cycle time, and failure timing, as described in any one of Notes 1 to 8.

[0128] (Note 10) A simulation device according to any one of Notes 1 to 9, comprising an analysis unit that performs analysis based on output information including the results of a simulation performed by a simulation execution unit, wherein the first information includes a command to perform analysis based on the output information, and the analysis unit performs at least one of the following analyses: correction of the operating path, correction of the operating program, generation of interlocks, correction of the robot's operation, correction of the safety area around the robot, determination of the cable state, determination of interference with other devices or peripheral equipment, determination of the operation of devices attached to the robot, and correction of calibration data.

[0129] (Note 11) A simulation system comprising: a simulation device as described in Note 1; an external device capable of communicating with the simulation device; and a software PLC device, which is a computing device capable of communicating with the external device and driven as a PLC by software.

[0130] (Note 12) The simulation system described in Note 11, wherein the simulation device is a dedicated simulation device that identifies robots using robot identification information and performs simulations, and the external device is a general-purpose simulation device capable of simulating robots from multiple manufacturers.

[0131] (Note 13) The simulation system according to Note 11 or 12, wherein at least one of the simulation device, external device, and soft PLC device is configured to communicate via a telecommunications line with the computing devices of multiple users.

[0132] 1 Robot 2 Control device 3, 3a, 3b, 3c Robot device 4a, 4b Robot device 5 Work tool 6 PLC (higher side) 7 PLC (lower side) 8 First simulation system 9 Robot system 10 Dedicated simulation device 11 First memory unit 12 First acquisition unit 13 First processing unit 14 First communication unit 17 Soft PLC device (lower side) 18 Additional information 19 Analysis support information 20 General-purpose simulation device 27 Soft PLC device (higher side) 30 Dedicated simulation device 31 Input data generation unit 32 Simulation execution unit 33 Analysis unit 35 First processing unit 36 ​​Second simulation system 41 Operation program 50 Output information 51 Alarm information 52 Trajectory information 54 Sweep space information 54 Robot operation information 55 Power consumption 56 Motor drive information 57 Gearbox life 58 Cable status 59 Working tool operating status 60 Visual sensor imaging status 61 Cycle time 62 Failure time 70 Operation program 72 Robot settings 73 Start command 74 Time update command 75 Current position 76 Change information 77 Information on reaching teaching point 78 Analysis command 79 Analysis result 81 Operation path correction unit 82 Program correction unit 83 Interlock generation unit 84 Operation correction unit 85 Safety area correction unit 86 Cable status check unit 87 Interference check unit 88, 89 Function check unit 90 Calibration data correction unit

Claims

1. A simulation device comprising: a communication unit for communicating with an external device; an acquisition unit for acquiring identification information for identifying a robot and first information for controlling a robot from the external device; an input data generation unit for generating second information by adding additional information to the first information based on the identification information; and a simulation execution unit for executing a simulation based on the second information.

2. The simulation apparatus according to claim 1, wherein the external device is a general-purpose simulation device capable of simulating robots from multiple manufacturers.

3. The simulation apparatus according to claim 1 or 2, comprising a storage unit for storing the additional information, wherein the input data generation unit acquires the additional information from the storage unit, and the additional information is information relating to a robot identified by the identification information.

4. The simulation apparatus according to any one of claims 1 to 3, wherein the first information includes a robot operation program or a command statement included in the operation program.

5. The simulation apparatus according to claim 4, wherein the first information includes either information relating to the robot settings or a command to start the simulation.

6. The simulation apparatus according to any one of claims 1 to 5, wherein the identification information includes information about the robot manufacturer and information about the robot model.

7. The simulation apparatus according to any one of claims 1 to 6, wherein the communication unit repeatedly acquires the first information from the external device and sends the simulation results to the external device.

8. The simulation apparatus according to any one of claims 1 to 7, wherein the communication unit sends a predetermined result from among a plurality of simulation results to the external device.

9. The simulation device according to any one of claims 1 to 8, wherein the simulation execution unit outputs output information including the results of the simulation, and the output information includes at least one of the following: robot alarm information, motion trajectory, sweep space, robot motion information, robot power consumption, motor drive information, gearbox life, cable condition information, work tool operation information, imaging information from a visual sensor, cycle time, and failure timing.

10. A simulation apparatus according to any one of claims 1 to 9, comprising an analysis unit that performs analysis based on output information including the results of a simulation performed by the simulation execution unit, wherein the first information includes a command to perform analysis based on the output information, and the analysis unit performs at least one of the following analyses: modification of the operation path, modification of the operation program, generation of interlocks, modification of the robot's operation, modification of the safety area around the robot, determination of the cable state, determination of interference with other devices or peripheral equipment, determination of the operation of devices attached to the robot, and modification of calibration data.

11. A simulation system comprising: a simulation device according to claim 1; an external device capable of communicating with the simulation device; and a software PLC device, which is a computing device capable of communicating with the external device and driven as a PLC by software.

12. The simulation system according to claim 11, wherein the simulation device is a dedicated simulation device that identifies a robot using robot identification information and performs simulations, and the external device is a general-purpose simulation device capable of simulating robots from multiple manufacturers.

13. The simulation system according to claim 11 or 12, wherein at least one of the simulation device, the external device, and the soft PLC device is configured to communicate via a telecommunications line with the computing devices of multiple users.