Robot simulation device

The robot simulation apparatus addresses performance issues by using separate programs for three-dimensional and two-dimensional interfaces, ensuring efficient and high-performance simulation across both types of interfaces.

JP7862065B1Active Publication Date: 2026-05-19PEACE FIELD LLC
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
PEACE FIELD LLC
Filing Date
2025-08-21
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

The performance of robot simulation devices deteriorates when operating both three-dimensional and two-dimensional interface devices due to the integration of different input methods and data processing.

Method used

A robot simulation apparatus with separate programs for three-dimensional and two-dimensional interfaces, utilizing a calculation unit to generate and simulate operation panels and command data independently for each interface type, enabling simultaneous operation without performance degradation.

Benefits of technology

The solution effectively suppresses performance degradation by allowing seamless operation of both three-dimensional and two-dimensional interfaces, facilitating efficient simulation and verification of robot arm movements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007862065000001
    Figure 0007862065000001
  • Figure 0007862065000002
    Figure 0007862065000002
  • Figure 0007862065000003
    Figure 0007862065000003
Patent Text Reader

Abstract

The robot simulation device (10) includes a calculation unit (12) that executes a first program (20) and a second program (22), a first operation command data generation unit (44) that generates first operation command data when the calculation unit executes the first program, a second operation command data generation unit (52) that generates second operation command data when the calculation unit executes the second program, and a simulation control unit (60) that simulates the operation of a robot arm (RB).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

Background Art

[0002] Japanese Unexamined Patent Application Publication No. 2019-188530 discloses a simulation device for a robot. The simulation operation of a robot system using the simulation device is executed according to an instruction input of a teaching point. An operator can perform an input operation of a teaching point by wearing a head-mounted display. The operator may perform an input operation of a teaching point by operating an operation unit such as a keyboard and a mouse of the simulation device.

Summary of the Invention

[0003] The performance of a robot simulation device that can operate both a three-dimensional interface device and a two-dimensional interface device is likely to deteriorate.

[0004] The present disclosure aims to solve the above-described problems.

[0005] A robot simulation apparatus according to an aspect of the present disclosure includes a storage unit that stores a first program and a second program different from the first program, and a calculation unit that executes the first program and the second program stored in the storage unit, wherein the calculation unit includes a robot axis configuration information acquisition unit that acquires robot axis configuration information relating to the axes of a robot arm, a first operation panel generation unit that generates an operation panel used for generating a job set up with a plurality of command words for operating the robot arm using the robot axis configuration information acquired by the robot axis configuration information acquisition unit and displays the operation panel in the XR space of a three-dimensional interface device when the calculation unit executes the first program, and a first operation command code based on a first operation signal generated by the three-dimensional interface device in response to user operation of the operation panel The system includes: a first operation command data generation unit that generates data; a second operation panel generation unit that generates the operation panel using the robot axis configuration information and displays the operation panel on the screen of the two-dimensional interface device when the calculation unit executes the second program; a second operation command data generation unit that generates second operation command data based on a second operation signal generated by the two-dimensional interface device in response to user operation of the operation panel when the calculation unit executes the second program; a job generation unit that generates the job by setting a plurality of command words based on the first operation command data or the second operation command data and the robot axis configuration information; and a simulation control unit that simulates the operation of the robot arm in the XR space of the three-dimensional interface device or on the screen of the two-dimensional interface device by executing the job.

[0006] According to this disclosure, it is possible to suppress performance degradation of a robot simulation device that can operate both a three-dimensional interface device and a two-dimensional interface device. [Brief explanation of the drawing]

[0007] [Figure 1] Figure 1 is an example of a robot simulation device. [Figure 2] Figure 2 is a diagram illustrating the robot axis configuration information. [Figure 3] Figure 3 is a diagram illustrating the operation command data, the first operation command data, and the second operation command data. [Figure 4] Figures 4A, 4B, and 4C illustrate the operation panel. [Figure 5] Figures 5A and 5B illustrate simulated images of robot arm movements. [Figure 6] Figure 6 is a flowchart showing an example of the operation of a robot simulation device using a three-dimensional interface device. [Figure 7] Figures 7A and 7B are flowcharts illustrating examples of the operation of a robot simulation device using a two-dimensional interface device. [Modes for carrying out the invention]

[0008] Figure 1 is an illustrative diagram of a robot simulation device 10. The robot simulation device 10 has a calculation unit 12 and a storage unit 14. The calculation unit 12 includes a processor such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit). In other words, the calculation unit 12 includes processing circuitry.

[0009] The memory unit 14 includes volatile memory such as RAM (Random Access Memory) and non-volatile memory such as ROM (Read Only Memory) or flash memory. The volatile memory is used as the processor's working memory. The non-volatile memory stores the program executed by the processor and other necessary data.

[0010] The memory unit 14 stores the first program 20 and the second program 22, which is different from the first program 20, as the programs described above. The first program 20 and the second program 22 are executed by the processor of the arithmetic unit 12 as separate processes.

[0011] The calculation unit 12 includes a robot axis configuration information acquisition unit 40, a first operation panel generation unit 42, a first operation command data generation unit 44, a robot axis configuration information transmission unit 46, a robot axis configuration information reception unit 48, a second operation panel generation unit 50, a second operation command data generation unit 52, an operation command data transmission unit 54, an operation command data reception unit 56, a job generation unit 58, and a simulation control unit 60.

[0012] The arithmetic unit 12 executes the first program 20 stored in the storage unit 14, thereby realizing at least the first operation panel generation unit 42 and the first operation command data generation unit 44. The arithmetic unit 12 executes the second program 22 stored in the storage unit 14, thereby realizing at least the second operation panel generation unit 50 and the second operation command data generation unit 52.

[0013] In this embodiment, the calculation unit 12 executes the first program 20 stored in the storage unit 14, thereby realizing the robot axis configuration information acquisition unit 40, the robot axis configuration information transmission unit 46, the operation command data reception unit 56, the job generation unit 58, and the simulation control unit 60. The calculation unit 12 executes the second program 22 stored in the storage unit 14, thereby realizing the robot axis configuration information reception unit 48 and the operation command data transmission unit 54.

[0014] At least a portion of the robot axis configuration information acquisition unit 40, the first operation panel generation unit 42, the first operation command data generation unit 44, the robot axis configuration information transmission unit 46, the robot axis configuration information receiving unit 48, the second operation panel generation unit 50, the second operation command data generation unit 52, the operation command data transmission unit 54, the operation command data receiving unit 56, the job generation unit 58, and the simulation control unit 60 may be implemented by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array), or by an electronic circuit including discrete devices.

[0015] The robot simulation device 10 is connected to an external storage device 80, a three-dimensional interface device 90, and a two-dimensional interface device 100. The external storage device 80 has pre-stored robot axis configuration information related to the axes of the robot arm. The robot simulation device 10 is a device that can operate both the three-dimensional interface device 90 and the two-dimensional interface device 100.

[0016] The three-dimensional interface device 90 includes, for example, a head-mounted display. User U of the robot simulation device 10 can virtually stay in the XR space by wearing the head-mounted display of the three-dimensional interface device 90 on their head. The three-dimensional interface device 90 displays a three-dimensional simulation image in the XR space that corresponds to the simulation of the robot arm's movement.

[0017] The XR space also displays the control panel, which will be described later. User U can operate the control panel by operating the controller 90c of the three-dimensional interface device 90. When the control panel is operated, the simulation described above is executed in the robot simulation device 10, and a three-dimensional simulation image is displayed in the XR space.

[0018] The two-dimensional interface device 100 includes, for example, an operating device 100a such as a keyboard and a mouse, and a display device 100b. The display device 100b of the two-dimensional interface device 100 displays a two-dimensional simulation image corresponding to the simulation of the operation of the robot arm on the screen of the display device 100b. An operation panel described later is also displayed on the screen.

[0019] The user U can operate the operation panel by operating the operating device 100a of the two-dimensional interface device 100. When the operation panel is operated, the simulation described above is executed by the robot simulation device 10, and a two-dimensional simulation image is displayed on the screen of the display device 100b.

[0020] By executing the first program 20, the calculation unit 12 causes the robot axis configuration information acquisition unit 40 to acquire robot axis configuration information regarding the axes of the robot arm from the external storage device 80 and store it in the first area 14a in the storage unit 14. The robot axis configuration information will be described later using FIG. 2.

[0021] By executing the first program 20, the first operation panel generation unit 42 generates an operation panel using the robot axis configuration information acquired by the robot axis configuration information acquisition unit 40 and stored in the first area 14a in the storage unit 14. The first operation panel generation unit 42 causes the generated operation panel to be displayed in the XR space of the three-dimensional interface device 90.

[0022] The operation panel is used to generate a job set with a plurality of command words for operating the robot arm. Each of the plurality of command words is determined by the user U operating the operation panel to change the posture of the robot arm.

[0023] As described above, the user U can operate the operation panel by operating the controller 90c of the three-dimensional interface device 90. Each of the plurality of command words set in the job is determined by the user U performing a teaching operation of operating the operation panel to change the posture of the robot arm. The operation of the operation panel will be described later with reference to FIGS. 4A, 4B, and 4C.

[0024] When the user U operates the operation panel to set the posture of the robot arm in the XR space, a first operation signal is generated by the three-dimensional interface device 90 according to the operation of the operation panel by the user U. That is, the first operation signal corresponds to each of the plurality of command words set in the job. The first operation signal is input from the three-dimensional interface device 90 to the first operation command data generation unit 44.

[0025] By executing the first program 20 by the arithmetic unit 12, the first operation command data generation unit 44 generates first operation command data based on the first operation signal generated by the three-dimensional interface device 90 as described above. The first operation command data is generated in a data format used for generating a job by a job generation unit 58 described later.

[0026] As described above, the first operation signal corresponds to each of the plurality of command words set in the job. Therefore, the first operation command data based on the first operation signal can also correspond to each of the plurality of command words set in the job. When the user U performs a teaching operation of operating the operation panel displayed in the XR space to change the posture of the robot arm, the job generation unit 58 generates a job based on the first operation command data as described later.

[0027] By executing the first program 20 by the arithmetic unit 12, the robot axis configuration information transmission unit 46 transmits the robot axis configuration information stored in the first area 14a in the storage unit 14 to the robot axis configuration information reception unit 48 via inter-process communication.

[0028] When the calculation unit 12 executes the second program 22, the robot axis configuration information receiving unit 48 receives the robot axis configuration information transmitted by the robot axis configuration information transmitting unit 46 via inter-process communication. The robot axis configuration information receiving unit 48 stores the received robot axis configuration information in the second area 14b of the storage unit 14.

[0029] As described above, the first program 20 and the second program 22 are executed as separate processes. The robot axis configuration information stored in the first region 14a of the memory unit 14, which is used in the first process in which the first program 20 is executed, cannot be used in the second process in which the second program 22 is executed.

[0030] Therefore, the robot axis configuration information acquired by the robot axis configuration information acquisition unit 40 is passed from the first process to the second process via inter-process communication and stored in the second area 14b of the storage unit 14 used by the second process. The first area 14a and the second area 14b of the storage unit 14 are different areas from each other.

[0031] When the calculation unit 12 executes the second program 22, the second operation panel generation unit 50 generates an operation panel using the robot axis configuration information received by the robot axis configuration information receiving unit 48 and stored in the second area 14b of the storage unit 14. The second operation panel generation unit 50 displays the generated operation panel on the screen of the display device 100b of the two-dimensional interface device 100.

[0032] As described above, user U can operate the control panel by operating the control device 100a of the two-dimensional interface device 100. Each of the multiple command words set for a job is determined by user U operating the control panel to perform teaching actions that change the posture of the robot arm.

[0033] When user U operates the control panel using the control device 100a to set the posture of the robot arm, a second operation signal is generated by the two-dimensional interface device 100 in response to the user U's operation of the control panel. That is, the second operation signal corresponds to each of the multiple command words set in the job. The second operation signal is input from the two-dimensional interface device 100 to the second operation command data generation unit 52.

[0034] As the arithmetic unit 12 executes the second program 22, the second operation command data generation unit 52 generates second operation command data based on the second operation signal generated by the two-dimensional interface device 100 as described above. The second operation command data is generated in a data format used for job generation by the job generation unit 58, which will be described later.

[0035] As described above, the second operation signal corresponds to each of the multiple instruction words set in the job. Therefore, the second operation instruction data based on the second operation signal can also correspond to each of the multiple instruction words set in the job. When user U performs a teaching operation to change the posture of the robot arm by operating the operation panel displayed on the screen of the display device 100b, the job generation unit 58 generates a job based on the second operation instruction data, as will be described later.

[0036] As the arithmetic unit 12 executes the second program 22, the operation command data transmission unit 54 transmits the second operation command data generated by the second operation command data generation unit 52 to the operation command data receiving unit 56 via inter-process communication.

[0037] As the arithmetic unit 12 executes the first program 20, the operation command data receiving unit 56 receives the second operation command data transmitted by the operation command data transmitting unit 54 via inter-process communication.

[0038] As described above, the first program 20 and the second program 22 are executed as separate processes. Therefore, the second operation command data generated by the second operation command data generation unit 52 is passed from the first process to the second process via inter-process communication and received by the operation command data receiving unit 56.

[0039] The job generation unit 58 generates a job when the calculation unit 12 executes the first program 20. The job generation unit 58 generates a job by setting a plurality of instruction words that teach the robot arm based on the first operation instruction data or the second operation instruction data and the robot axis configuration information stored in the first area 14a in the storage unit 14.

[0040] When user U operates the controller 90c of the three-dimensional interface device 90 to perform a teaching operation that changes the posture of the robot arm by operating the operation panel displayed in XR space, the job generation unit 58 generates a job based on the first operation command data.

[0041] When user U operates the operating device 100a of the two-dimensional interface device 100 to operate the operation panel displayed on the screen of the display device 100b and perform a teaching operation to change the posture of the robot arm, the job generation unit 58 generates a job based on the second operation command data.

[0042] The job generation unit 58 stores the job data, which is the data of the generated job, in the storage unit 14. In addition, each time an instruction word is set in a job in response to an operation on the operation panel by the user U, the job generation unit 58 generates operation instruction data corresponding to that instruction word. The operation instruction data, first operation instruction data, and second operation instruction data will be described later with reference to Figure 3.

[0043] When the calculation unit 12 executes the first program 20, the simulation control unit 60 simulates the movement of the robot arm based on the motion command data set for the job. This simulation is performed in the XR space of the three-dimensional interface device 90 or on the screen of the display device 100b of the two-dimensional interface device 100.

[0044] As described above, each time an instruction word is set in a job, the job generation unit 58 generates operation instruction data corresponding to that instruction word. The simulation control unit 60 simulates the movement of the robot arm based on this operation instruction data. That is, each time user U performs a teaching operation to change the posture of the robot arm by operating the control panel, the movement of the robot arm corresponding to that teaching operation is simulated.

[0045] Furthermore, when user U operates the control panel to instruct the execution of a job, the simulation control unit 60 reads the job data stored in the storage unit 14 and obtains the job generated by the job generation unit 58. The simulation control unit 60 then executes the obtained job. As a result, multiple instruction words set in the job are executed sequentially.

[0046] The simulation control unit 60 creates motion command data for each command word, corresponding to the change in the posture of the robot arm that corresponds to the multiple command words set in the job. Based on the motion command data generated for each command word, the simulation control unit 60 simulates the movement of the robot arm.

[0047] As described above, the simulation of the robot arm's movement is performed in the XR space of the three-dimensional interface device 90, or on the screen of the display device 100b of the two-dimensional interface device 100. When the simulation control unit 60 executes a job, multiple simulation images corresponding to the multiple commands set in the job can be displayed as an animation like a video. Therefore, the user U can easily verify the movement of the robot arm corresponding to the created job.

[0048] In this embodiment, the robot simulation device 10 is a device in which both a three-dimensional interface device 90 and a two-dimensional interface device 100 can be operated. The generation of first operation command data in response to the operation of the three-dimensional interface device 90 is performed by the calculation unit 12 executing the first program 20. The generation of second operation command data in response to the operation of the two-dimensional interface device 100 is performed by the calculation unit 12 executing the second program 22.

[0049] In other words, the generation of the first operation command data and the generation of the second operation command data are performed by different processes. Therefore, it is possible to suppress performance degradation of the robot simulation device 10, which can be operated by both the three-dimensional interface device 90 and the two-dimensional interface device 100.

[0050] Figure 2 is a diagram illustrating the robot axis configuration information. The robot axis configuration information is set for each simulation purpose and stored in advance in the external storage device 80. The purpose of the simulation is to verify, for example, the position and velocity of the robot arm RB, the interference between the robot arm RB and the workpiece, the deformation of the robot arm RB, the movement of cables connected to the robot arm RB, the trajectory of the robot arm RB, and the cycle time from the start to the end of the job.

[0051] Robot axis configuration information is set according to the purpose of each simulation. Figure 2 shows robot axis configuration information #1, robot axis configuration information #2, ... as examples of multiple robot axis configuration information. Each robot axis configuration information defines the axis configuration of one or more robot arms RB.

[0052] In this embodiment, the axes of each robot arm RB include not only the robot axis of the robot arm RB itself, but also the external axis if one is used. The external axis is, for example, the axis of a slider on which the robot arm RB is mounted and moved, an end effector attached to the tip of the robot arm RB, and a device that moves or rotates the workpiece that is the target of the operation using the end effector. In other words, the robot axis configuration information includes information regarding the axis configuration of the robot axis and external axis of each robot arm RB.

[0053] In the example shown in Figure 2, the robot axis configuration information #1 defines the number of axes N and the type of each axis for each of the k robot arms RB, namely robot arms RB#1, ..., and robot arm RB#k. The type of each axis of a robot arm RB indicates whether it is a rotation axis or a translation axis. If an axis of a robot arm RB is a rotation axis, the robot arm RB performs rotational motion around the axis. If an axis of a robot arm RB is a translation axis, the robot arm RB performs translational motion along the direction of the axis.

[0054] In the example of robot axis configuration information #1 shown in Figure 2, the value of the number of axes N of robot arm RB#1 is Ne. Of the Ne axes of robot arm RB#1, Na axes from axis #1 to axis #Na are robot axes provided by the robot arm RB itself. The Ne-Na axes from axis #Na+1 to axis #Ne of robot arm RB#1 are external axes.

[0055] The axes of robot arm RB#1 from axis #1 to axis #Na are robot axes for rotational motion. The axes of robot arm RB#1 from axis #Na+1 to axis #Ne are external axes for translational motion. As mentioned above, the value of the number of axes N of robot arm RB#1 is Ne, so the axes of robot arm RB#1 from axis #Ne+1 to axis #Nm are unused.

[0056] In the example of robot axis configuration information #1 shown in Figure 2, the value of the number of axes N of the robot arm RB#k is Nm. Of the Nm axes of the robot arm RB#k, Na axes from axis #1 to axis #Na are robot axes provided by the robot arm RB itself. The Nm-Na axes from axis #Na+1 to axis #Nm of the robot arm RB#k are external axes.

[0057] The axes of robot arm RB#k, from axis #1 to axis #Na, are robot axes for rotational motion. The axes of robot arm RB#k, from axis #Na+1 to axis #Ne, are external axes for translational motion. The axes of robot arm RB#k, from axis #Ne+1 to axis #Nm, are external axes for rotational motion.

[0058] Figure 3 is a diagram illustrating the operation command data, the first operation command data, and the second operation command data. As described above, the job generation unit 58 generates a job set up with multiple command words based on the first operation command data or the second operation command data, and generates operation command data corresponding to each command word. The simulation control unit 60 simulates the operation of the robot arm RB based on this operation command data.

[0059] Furthermore, the simulation control unit 60 executes the job generated by the job generation unit 58, thereby sequentially executing multiple instruction words set in the job.

[0060] The motion command data, first operation command data, and second operation command data include the target coordinate values ​​of the Tool Center Point (TCP) and the target axis values ​​for each axis for each robot arm RB. The target coordinate values ​​of the Tool Center Point include the target values ​​of the Tool Center Point's position (X, Y, Z) and the target values ​​of the Tool Center Point's orientation (Rx, Ry, Rz).

[0061] In the example shown in Figure 3, the target coordinate values ​​of the tool center point and the target axis values ​​of each axis are obtained as the operation command data, first operation command data, and second operation command data for k robot arms RB, namely robot arm RB#1, ..., and robot arm RB#k.

[0062] The position X, position Y, and position Z values ​​that constitute the target coordinates of the tool center point of robot arm RB#1 are X1[mm], Y1[mm], and Z1[mm], respectively. The orientation Rx, orientation Ry, and orientation Rz values ​​that constitute the target coordinates of the tool center point of robot arm RB#1 are Rx1[deg], Ry1[deg], and Rz1[deg], respectively. The target axis values ​​for each axis of robot arm RB#1 are all zero.

[0063] The position X, position Y, and position Z values ​​that constitute the target coordinates of the tool center point of robot arm RB#k are Xk[mm], Yk[mm], and Zk[mm], respectively. The orientation Rx, orientation Ry, and orientation Rz values ​​that constitute the target coordinates of the tool center point of robot arm RB#k are Rxk[deg], Ryk[deg], and Rzk[deg], respectively. The target axis value for axis #1 of robot arm RB#k is -30[deg]. The target axis values ​​for all axes other than axis #1 are all zero.

[0064] In the example shown in Figure 3, each of the motion command data, first operation command data, and second operation command data includes both the target coordinate value of the tool center point of the robot arm RB and the target axis value of each axis of the robot arm RB. However, each of the motion command data, first operation command data, and second operation command data may include only one of the target coordinate value of the tool center point or the target axis value of each axis.

[0065] In other words, the motion command data, the first operation command data, and the second operation command data include at least one of the target coordinate values ​​of the tool center point and the target axis values ​​of the robot arm RB. This makes it easy to determine the multiple command words to be set for the job.

[0066] Furthermore, the first and second operation command data also include information regarding the axis movement conditions of the robot arm RB. This information includes, for example, information regarding interpolation during the movement of the robot arm RB between two points, information regarding the movement speed of the robot arm RB, and / or information regarding the arc size of the corner that the robot arm RB passes through during movement between three points.

[0067] Figures 4A, 4B, and 4C illustrate the operation panel. The first operation panel generation unit 42 displays the operation panel in the XR space provided by the three-dimensional interface device 90. The second operation panel generation unit 50 displays the operation panel on the screen of the display device 100b of the two-dimensional interface device 100. As described above, user U operates the operation panel by operating the controller 90c of the three-dimensional interface device 90 or the operation device 100a of the two-dimensional interface device 100. By operating the operation panel and changing the posture of the robot arm RB, each of the multiple command words set for the job is determined.

[0068] In the display area Fa of the control panel shown in Figure 4A, user U selects robot axis configuration information according to the simulation purpose. For the convenience of user U in selecting robot axis configuration information, a pull-down list may be used in display area Fa. When user U selects robot axis configuration information in display area Fa, the robot arms RB whose axis configuration is defined by the selected robot axis configuration information are displayed in a list in the display area Fr of the control panel shown in Figure 4A.

[0069] Figure 4A shows an example where robot axis configuration information #1 is selected. According to robot axis configuration information #1 shown in Figure 2, the axis configurations of k robot arms RB#1, ..., and robot arm RB#k are defined. As shown in Figure 4A, user U selects the robot arm RB to be taught from among the k robot arms RB displayed in the display field Fr of the control panel.

[0070] Subsequently, when user U presses button Fp, the XR operation panel of the teaching pendant shown in Figure 4B is displayed in the XR space of the three-dimensional interface device 90, or on the screen of the display device 100b of the two-dimensional interface device 100.

[0071] Figure 4B shows an example of the control panel for a teaching pendant corresponding to the robot arm RB#1. In the display area Fj of the control panel shown in Figure 4B, user U selects a job according to the purpose of the simulation. In the example shown in Figure 4B, a job named "Test_A" has been selected. The job may also be selected by, for example, using a pull-down list.

[0072] In the display field Di of the operation panel shown in Figure 4B, a list of strings relating to the multiple command words that make up the determined job is displayed. Before job generation, the display field Di is blank. When the teaching operation described later is set using Figure 4C, the strings relating to the command words corresponding to that setting are displayed in the display field Di. In the example shown in Figure 4B, the strings relating to i command words #1, ..., and command word #i are displayed in the display field Di.

[0073] When user U wants to set up teaching actions for robot arm RB, they press button Fs. This displays the operation panel for the teaching action setting screen, shown in Figure 4C, in the XR space of the three-dimensional interface device 90, or on the display device 100b of the two-dimensional interface device 100. Figure 4C shows an example of the teaching action setting screen for robot arm RB#1.

[0074] In the input field Ft of the control panel shown in Figure 4C, user U sets the target coordinate value of the tool center point of robot arm RB#1. In the input field Fd of the control panel shown in Figure 4C, user U sets the target axis value for each axis of robot arm RB#1.

[0075] As explained using Figure 3, the target coordinate values ​​for the tool center point include the target values ​​for the tool center point's position (X, Y, Z) and the target values ​​for its orientation (Rx, Ry, Rz). Therefore, user U enters the target values ​​for the tool center point's position (X, Y, Z) and its orientation (Rx, Ry, Rz) into the input field Ft in Figure 4C.

[0076] User U further sets the target axis value for each axis in the input field Fd in Figure 4C. Figure 4C illustrates the teaching operation setting screen for robot arm RB#1, but the teaching operation setting screens for other robot arms RB are similar. User U can set the teaching operation for each robot arm RB in the same way. Note that the teaching operation setting screens for multiple robot arms RB can be displayed simultaneously.

[0077] In Figure 4C, after the target coordinate values ​​of the tool center point and the target axis values ​​of each axis are entered, user U presses button Fi, and the XR operation panel of the teaching pendant shown in Figure 4B is displayed again. At that time, the string of command words corresponding to the teaching operation set using the teaching operation setting screen shown in Figure 4C is added to the list of command words displayed in display field Di. Once the generation of a job consisting of multiple command words is complete, user U can execute the generated job by pressing button Fe.

[0078] When a job is executed by the simulation control unit 60, it sequentially generates simulation images of the robot arm RB's movement based on the motion command data corresponding to the multiple command words set in the job. The generated simulation images are displayed in the XR space of the three-dimensional interface device 90 or on the screen of the display device 100b of the two-dimensional interface device 100.

[0079] Figures 5A and 5B illustrate simulated images of the robot arm RB's operation. Figure 5A shows a three-dimensional simulation image displayed in the XR space of the three-dimensional interface device 90. Figure 5B shows a two-dimensional simulation image displayed on the screen of the display device 100b of the two-dimensional interface device 100.

[0080] In both examples shown in Figures 5A and 5B, two of the k robot arms RB#1, ..., RB#k, RB#1 and RB#2, are shown. The two robot arms RB#1 and RB#2 are erected in the Z direction on the XY plane.

[0081] In the example shown in Figure 5A, when user U, who has the three-dimensional interface device 90 attached to their head, turns their head in the Y direction from robot arm RB#1 to robot arm RB#2, robot arm RB#3, robot arm RB#4, etc. may be displayed in the XR space.

[0082] In the example shown in Figure 5B, when user U operates the control device 100a of the two-dimensional interface device 100 and scrolls the screen in the Y direction from robot arm RB#1 to robot arm RB#2, robot arm RB#3, robot arm RB#4, etc. may be displayed on the screen.

[0083] In both examples shown in Figure 5A and Figure 5B, the control panel of the teaching pendant corresponding to robot arm RB#1 shown in Figure 4B is displayed. Note that multiple control panels of teaching pendants corresponding to multiple robot arms RB may also be displayed.

[0084] In the example shown in Figure 5A, user U operates the controller 90c of the three-dimensional interface device 90, causing a guidance beam Bi to appear in the XR space. Using the guidance beam Bi, the button Fe on the teaching pendant is pressed, initiating job execution. The three-dimensional simulation image changes while the job is running. Multiple robot arms RB can operate simultaneously in the XR space. User U can virtually verify the operation of the robot arms RB in the XR space.

[0085] As mentioned above, user U can virtually stay in the XR space. By operating the controller 90c, user U may operate the control panel by moving it to user U's location within the XR space, instead of using the instruction beam Bi to operate the control panel.

[0086] In the example shown in Figure 5B, user U operates the control device 100a of the two-dimensional interface device 100, causing the pointer Pm to move to the display position of button Fe on the teaching pendant. When button Fe on the teaching pendant is pressed by user U operating the control device 100a, the job execution begins. The two-dimensional simulation image changes while the job is running. It is also possible for multiple robot arms RB to operate simultaneously on the screen. User U can virtually verify the operation of the robot arms RB on the screen.

[0087] Figure 6 is a flowchart illustrating an example of the operation of the robot simulation device 10 using the three-dimensional interface device 90. Figure 6 shows the processing procedure for simulating the movement of the robot arm RB using the three-dimensional interface device 90. This processing procedure is performed by the calculation unit 12 of the robot simulation device 10 executing the first program 20.

[0088] When this processing procedure is started, in step S1, the robot axis configuration information acquisition unit 40 acquires robot axis configuration information from the external storage device 80. The robot axis configuration information acquisition unit 40 stores the acquired robot axis configuration information in the first area 14a of the storage unit 14. In step S2, the first operation panel generation unit 42 generates an operation panel using the robot axis configuration information acquired in step S1. The first operation panel generation unit 42 displays the generated operation panel in the XR space of the three-dimensional interface device 90.

[0089] When user U operates the control panel, a first operation signal is generated by the three-dimensional interface device 90. In step S3, the first operation command data generation unit 44 generates first operation command data based on the first operation signal. In step S4, the job generation unit 58 generates a job based on the robot axis configuration information acquired in step S1 and the first operation command data generated in step S3. The job generation unit 58 stores the generated job as job data in the storage unit 14.

[0090] When user U operates the control panel to instruct the execution of a job, in step S5, the simulation control unit 60 performs a simulation of the robot arm RB's movement by executing the job generated in step S4. A three-dimensional simulation image of the robot arm RB's movement is displayed in the XR space of the three-dimensional interface device 90. Once the processing in step S5 is complete, this processing procedure ends.

[0091] Figures 7A and 7B are flowcharts illustrating examples of the operation of the robot simulation device 10 using the two-dimensional interface device 100. Figures 7A and 7B show the processing steps for simulating the movement of the robot arm RB using the two-dimensional interface device 100. The processing steps shown in Figure 7A are performed by the calculation unit 12 of the robot simulation device 10 executing the first program 20. The processing steps shown in Figure 7B are performed by the calculation unit 12 of the robot simulation device 10 executing the second program 22.

[0092] When the processing procedure shown in Figure 7A is initiated, in step S21, the robot axis configuration information acquisition unit 40 acquires robot axis configuration information from the external storage device 80. The robot axis configuration information acquisition unit 40 stores the acquired robot axis configuration information in the first area 14a of the storage unit 14. In step S22, the robot axis configuration information transmission unit 46 transmits the robot axis configuration information acquired in step S21 to the robot axis configuration information receiving unit 48 via inter-process communication. The robot axis configuration information receiving process by the robot axis configuration information receiving unit 48 will be described later with reference to Figure 7B.

[0093] In step S23, the operation command data receiving unit 56 receives the second operation command data transmitted by the operation command data transmission unit 54 via inter-process communication. The transmission process of the second operation command data by the operation command data transmission unit 54 will be described later with reference to Figure 7B. In step S24, the job generation unit 58 generates a job based on the robot axis configuration information acquired in step S21 and the second operation command data received in step S23. The job generation unit 58 stores the generated job as job data in the storage unit 14.

[0094] When user U operates the control panel to instruct the execution of a job, in step S25, the simulation control unit 60 performs a simulation of the robot arm RB's movement by executing the job generated in step S24. A two-dimensional simulation image of the robot arm RB's movement is displayed on the screen of the display device 100b of the two-dimensional interface device 100. Once the processing in step S25 is completed, this processing procedure ends.

[0095] When the processing procedure shown in Figure 7B is initiated, in step S41, the robot axis configuration information receiving unit 48 receives the robot axis configuration information transmitted by the robot axis configuration information transmitting unit 46 via inter-process communication. The robot axis configuration information receiving unit 48 stores the received robot axis configuration information in the second area 14b of the storage unit 14.

[0096] In step S42, the second operation panel generation unit 50 generates an operation panel using the robot axis configuration information received in step S41. The second operation panel generation unit 50 displays the generated operation panel on the screen of the display device 100b of the two-dimensional interface device 100.

[0097] When user U operates the control panel, a second operation signal is generated by the two-dimensional interface device 100. In step S43, the second operation command data generation unit 52 generates second operation command data based on the second operation signal. In step S44, the operation command data transmission unit 54 transmits the second operation command data generated in step S43 to the operation command data receiving unit 56 via inter-process communication. Once the processing in step S44 is completed, this processing procedure ends.

[0098] The embodiments described above may be modified as follows. In the following modifications, explanations that overlap with the embodiments described above will be omitted.

[0099] (Variation 1) In the embodiment described above, the calculation unit 12 executes the first program 20 stored in the storage unit 14, thereby realizing the robot axis configuration information acquisition unit 40, the robot axis configuration information transmission unit 46, the operation command data reception unit 56, the job generation unit 58, and the simulation control unit 60. The calculation unit 12 executes the second program 22 stored in the storage unit 14, thereby realizing the robot axis configuration information reception unit 48 and the operation command data transmission unit 54.

[0100] However, the robot axis configuration information acquisition unit 40, the robot axis configuration information transmission unit 46, the operation command data reception unit 56, the job generation unit 58, and the simulation control unit 60 may be realized by the calculation unit 12 executing the second program 22 stored in the storage unit 14. In that case, the robot axis configuration information reception unit 48 and the operation command data transmission unit 54 are realized by the calculation unit 12 executing the first program 20 stored in the storage unit 14.

[0101] (Modification 2) The arithmetic unit 12 may execute a third program that is different from both the first program 20 and the second program 22, thereby realizing at least some of the functions of the robot axis configuration information acquisition unit 40, the robot axis configuration information transmission unit 46, the operation command data reception unit 56, the job generation unit 58, and the simulation control unit 60. The first program 20, the second program 22, and the third program are all stored in the storage unit 14 and executed as different processes by the processor of the arithmetic unit 12.

[0102] Assume that all of the above-described functional units are realized when the calculation unit 12 executes the third program. In that case, the calculation unit 12 executes the second program 22 stored in the storage unit 14, thereby realizing the robot axis configuration information receiving unit 48 and the operation command data transmission unit 54. When the calculation unit 12 executes the first program 20, a robot axis configuration information receiving unit 48A, separate from the robot axis configuration information receiving unit 48, and an operation command data transmission unit 54A, separate from the operation command data transmission unit 54, are realized.

[0103] The robot axis configuration information acquisition unit 40 stores the acquired robot axis configuration information in a predetermined area within the storage unit 14. The robot axis configuration information transmission unit 46 transmits the robot axis configuration information stored in the predetermined area to the robot axis configuration information receiving unit 48 and the robot axis configuration information receiving unit 48A via inter-process communication.

[0104] The robot axis configuration information receiving unit 48 stores the received robot axis configuration information in the second area 14b of the storage unit 14. When the second operation command data is generated, the operation command data transmitting unit 54 transmits the second operation command data to the operation command data receiving unit 56 via inter-process communication.

[0105] The job generation unit 58 generates a job using the second operation command data and the robot axis configuration information within the predetermined area. The simulation control unit 60 executes the job and simulates the operation of the robot arm RB on the display device 100b of the two-dimensional interface device 100.

[0106] The robot axis configuration information receiving unit 48A stores the received robot axis configuration information in the first area 14a of the storage unit 14. When the first operation command data is generated, the operation command data transmitting unit 54A transmits the first operation command data to the operation command data receiving unit 56 via inter-process communication.

[0107] The job generation unit 58 generates a job using the first operation command data and the robot axis configuration information within the predetermined area. The simulation control unit 60 executes the job and simulates the operation of the robot arm RB in the XR space of the three-dimensional interface device 90.

[0108] (Variation 3) The robot simulation device 10 may consist of multiple separate devices that can communicate with each other. The arithmetic unit and storage unit of each of these devices constitute the arithmetic unit 12 and storage unit 14, respectively. The first program 20, the second program 22, and the third program are stored separately in the storage unit of each device and executed by the processors of the separate arithmetic units corresponding to those storage units.

[0109] With regard to the embodiments and modifications described above, the following additional information is disclosed.

[0110] (Note 1) The robot simulation device (10) of this disclosure includes a storage unit (14) that stores a first program (20) and a second program (22) different from the first program, and a calculation unit (12) that executes the first program and the second program stored in the storage unit, wherein the calculation unit includes a robot axis configuration information acquisition unit (40) that acquires robot axis configuration information relating to the axes of a robot arm (RB), a first operation panel generation unit (42) that, when the calculation unit executes the first program, generates an operation panel used for generating a job set up with a plurality of command words for operating the robot arm, using the robot axis configuration information acquired by the robot axis configuration information acquisition unit, and displays the operation panel in the XR space of a three-dimensional interface device (90), and when the calculation unit executes the first program, based on a first operation signal generated by the three-dimensional interface device in response to the operation of the operation panel by a user (U), The system includes: a first operation command data generation unit (44) that generates operation command data; a second operation panel generation unit (50) that generates the operation panel using the robot axis configuration information and displays the operation panel on the screen of the two-dimensional interface device (100) when the calculation unit executes the second program; a second operation command data generation unit (52) that generates second operation command data based on a second operation signal generated by the two-dimensional interface device in response to user operation of the operation panel when the calculation unit executes the second program; a job generation unit (58) that generates the job by setting a plurality of command words based on the first operation command data or the second operation command data and the robot axis configuration information; and a simulation control unit (60) that simulates the operation of the robot arm in the XR space of the three-dimensional interface device or on the screen of the two-dimensional interface device by executing the job. With this configuration, the generation of the first operation command data and the generation of the second operation command data are performed by different processes.Therefore, it is possible to suppress performance degradation in a robot simulation device that can operate both a three-dimensional interface device and a two-dimensional interface device.

[0111] (Note 2) The robot simulation apparatus described in Appendix 1, wherein the simulation control unit may simulate the operation of the robot arm based on operation command data corresponding to a plurality of command words set in the job by executing the job. With such a configuration, the user can easily verify the operation of the robot arm corresponding to the created job.

[0112] (Note 3) The robot simulation apparatus described in Appendix 2 may include at least one of the target axis value of the axis of the robot arm and the target coordinate value of the tool center point of the robot arm. With such a configuration, multiple command words set for a job can be easily determined.

[0113] 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 spirit 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. [Explanation of symbols]

[0114] 10...Robot simulation device 12...Calculation unit 14...Memory Unit 20...First Program 22...Second Program 40...Robot Axis Configuration Information Acquisition Unit 42...First operation panel generation unit 44...First operation command data generation unit 46...Robot axis configuration information transmission unit 48...Robot axis configuration information receiving unit 50...Second operation panel generation unit 52...Second operation command data generation unit 54... Operation command data transmission unit 56... Operation command data reception unit 58...Job generation unit 60...Simulation control unit 80...External storage device 90...Three-dimensional interface device 100... Two-dimensional interface device

Claims

1. A storage unit (14) that stores a first program (20) and a second program (22) different from the first program, A calculation unit (12) that executes the first program and the second program stored in the storage unit, Equipped with, The aforementioned arithmetic unit, A robot axis configuration information acquisition unit (40) acquires robot axis configuration information regarding the axis of the robot arm (RB), The calculation unit executes the first program, generating an operation panel used to generate a job set up with multiple command words for operating the robot arm, using the robot axis configuration information acquired by the robot axis configuration information acquisition unit, and the first operation panel generation unit (42) displays the operation panel in the XR space of the three-dimensional interface device (90), The calculation unit executes the first program, and a first operation command data generation unit (44) generates first operation command data based on a first operation signal generated by the three-dimensional interface device in response to the operation of the operation panel by the user (U), The calculation unit executes the second program, generating the operation panel using the robot axis configuration information, and the second operation panel generation unit (50) displays the operation panel on the screen of the two-dimensional interface device (100). The calculation unit executes the second program, and a second operation command data generation unit (52) generates second operation command data based on a second operation signal generated by the two-dimensional interface device in response to the user's operation of the operation panel, A job generation unit (58) generates the job by setting a plurality of command words based on the first operation command data or the second operation command data and the robot axis configuration information, By executing the job, a simulation control unit (60) simulates the movement of the robot arm in the XR space of the three-dimensional interface device or on the screen of the two-dimensional interface device, A robot simulation device (10) having the following features.

2. A robot simulation device according to claim 1, A robot simulation device in which the simulation control unit executes the job and simulates the operation of the robot arm based on operation command data corresponding to a plurality of instruction words set in the job.

3. A robot simulation device according to claim 2, A robot simulation device in which the motion command data includes at least one of the target axis value of the axis of the robot arm and the target coordinate value of the tool center point of the robot arm.