Robot simulation device

The robot simulation device addresses performance deterioration by using separate programs for three-dimensional and two-dimensional interfaces, ensuring efficient operation and simulation across both types of devices.

WO2026048666A1PCT designated stage Publication Date: 2026-03-05PEACE FIELD LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/029424
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-28
Filing Date
2025-08-21
Publication Date
2026-03-05

AI Technical Summary

Technical Problem

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

Method used

A robot simulation device that includes separate programs for three-dimensional and two-dimensional interfaces, utilizing a storage unit to store different programs and a calculation unit to execute these programs, generating operation panels and command data for each interface type, and a simulation control unit to simulate robot arm operations based on user inputs from both types of devices.

Benefits of technology

The solution enables the robot simulation device to maintain performance by effectively handling inputs from both three-dimensional and two-dimensional interfaces, allowing for seamless operation and simulation across different interface types.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025029424_05032026_PF_FP_ABST
    Figure JP2025029424_05032026_PF_FP_ABST
Patent Text Reader

Abstract

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

Description

Robot Simulation Device

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

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

[0003] The performance of a robot simulation device that can be operated with 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-mentioned problems.

[0005] A robot simulation device 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 related to axes of a robot arm, a first operation panel generation unit that, by executing the first program, generates an operation panel used to generate a job set by 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 an XR space of a three-dimensional interface device, and a first operation command data generation unit that, by executing the first program, generates a first operation command data based on a first operation signal generated by the three-dimensional interface device in response to an operation of the operation panel by a user. a second operation panel generation unit that generates the operation panel using the robot axis configuration information by the calculation unit executing the second program, and displays the operation panel on a screen of a two-dimensional interface device; 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 an operation of the operation panel by the user by the calculation unit executing the second program; a job generation unit that generates the job by setting the 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 executes the job to simulate an 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.

[0006] According to the present disclosure, it is possible to suppress a decrease in performance of a robot simulation device that can operate both a three-dimensional interface device and a two-dimensional interface device.

[0007] FIG. 1 is a diagram illustrating a robot simulation device. FIG. 2 is a diagram for explaining robot axis configuration information. FIG. 3 is a diagram for explaining operation command data, first operation command data, and second operation command data. FIGS. 4A, 4B, and 4C are diagrams illustrating an operation panel. FIGS. 5A and 5B are diagrams illustrating simulation images of robot arm operations. FIG. 6 is a flowchart showing an example of operation of a robot simulation device using a three-dimensional interface device. FIGS. 7A and 7B are flowcharts showing an example of operation of a robot simulation device using a two-dimensional interface device.

[0008] 1 is a diagram illustrating a robot simulation device 10. The robot simulation device 10 includes a calculation unit 12 and a storage unit 14. The calculation unit 12 includes a processor such as a central processing unit (CPU) or a graphics processing unit (GPU). In other words, the calculation unit 12 includes processing circuitry.

[0009] The storage 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 working memory for the processor. The non-volatile memory stores programs executed by the processor and other necessary data.

[0010] The storage unit 14 stores, as the above-mentioned programs, a first program 20 and a second program 22 different from the first program 20. The first program 20 and the second program 22 are executed by the processor of the calculation unit 12 as mutually different processes.

[0011] The calculation unit 12 has 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 receiving 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 receiving unit 56, a job generation unit 58, and a simulation control unit 60.

[0012] When the calculation unit 12 executes the first program 20 stored in the storage unit 14, at least a first operation panel generation unit 42 and a first operation command data generation unit 44 are realized. When the calculation unit 12 executes the second program 22 stored in the storage unit 14, at least a second operation panel generation unit 50 and a second operation command data generation unit 52 are realized.

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

[0014] At least some 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 reception 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 reception unit 56, the job generation unit 58, and the simulation control unit 60 may be realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array), or an electronic circuit including a discrete device.

[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. Robot axis configuration information relating to the axes of the robot arm is stored in advance in the external storage device 80. 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. A user U of the robot simulation device 10 can virtually stay in an XR space by wearing the head-mounted display of the three-dimensional interface device 90 on his or her head. The three-dimensional interface device 90 displays a three-dimensional simulation image corresponding to a simulation of the operation of a robot arm in the XR space.

[0017] An operation panel, which will be described later, is also displayed in the XR space. The user U can operate the operation panel by operating the controller 90c of the three-dimensional interface device 90. By operating the operation panel, the above-described simulation 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 an operation 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 a simulation of the operation of a robot arm on the screen of the display device 100b. An operation panel, which will be described later, is also displayed on the screen.

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

[0020] When the calculation unit 12 executes the first program 20, the robot axis configuration information acquisition unit 40 acquires robot axis configuration information relating to the axes of the robot arm from the external storage device 80 and stores the information in the first area 14a in the storage unit 14. The robot axis configuration information will be described later with reference to FIG. 2.

[0021] When the calculation unit 12 executes 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 displays the generated operation panel in the XR space of the three-dimensional interface device 90.

[0022] The operation panel is used to generate a job set by a plurality of command words for operating the robot arm. Each of the plurality of command words is determined by a 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 multiple command words set in a job is determined by the user U operating the operation panel to perform a teaching operation that changes the posture of the robot arm. Operation of the operation panel will be described later with reference to Figures 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 in response to the operation of the operation panel by the user U. That is, the first operation signal corresponds to each of the multiple 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] When the calculation unit 12 executes the first program 20, 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 job generation by the job generation unit 58, which will be described later.

[0026] As described above, the first operation signal corresponds to each of the multiple command words set in the job. Therefore, the first operation command data based on the first operation signal may also correspond to each of the multiple command words set in the job. When the user U operates the operation panel displayed in the XR space to perform a teaching operation 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 below.

[0027] When the calculation unit 12 executes the first program 20, the robot axis configuration information transmission unit 46 transmits the robot axis configuration information stored in the first area 14a in the memory unit 14 to the robot axis configuration information receiving 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, via inter-process communication, the robot axis configuration information transmitted by the robot axis configuration information transmitting unit 46. The robot axis configuration information receiving unit 48 stores the received robot axis configuration information in the second area 14b in the storage unit 14.

[0029] As described above, the first program 20 and the second program 22 are executed as different processes. The robot axis configuration information stored in the first area 14 a in the storage 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 in the storage unit 14 to be used in the second process. The first area 14a and the second area 14b in the storage unit 14 are different areas.

[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 in 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, the user U can operate the operation panel by operating the operation device 100a of the two-dimensional interface device 100. Each of the multiple command words set in a job is determined by the user U operating the operation panel to perform a teaching operation that changes the posture of the robot arm.

[0033] When the user U operates the operation panel using the operation 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 operation of the operation panel by the user U. 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 section 52.

[0034] When the calculation 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 command words set in the job. Therefore, the second operation command data based on the second operation signal can also correspond to each of the multiple command words set in the job. When the user U operates the operation panel displayed on the screen of the display device 100b to 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, as will be described later.

[0036] When the calculation 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] When the calculation unit 12 executes the first program 20, the operation instruction data receiving unit 56 receives the second operation instruction data transmitted by the operation instruction data transmitting unit 54 via inter-process communication.

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

[0039] The job generating unit 58 generates a job as a result of the calculation unit 12 executing the first program 20. The job generating unit 58 generates a job by setting a plurality of command words for teaching the robot arm based on the first operation command data or the second operation command data and the robot axis configuration information stored in the first area 14 a in the storage unit 14.

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

[0041] When a user U operates the operation device 100a of the two-dimensional interface device 100 to operate the operation panel displayed on the screen of the display device 100b to 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 generating unit 58 stores job data, which is data on the generated job, in the storage unit 14. Furthermore, every time an instruction word is set in a job in response to an operation of the operation panel by the user U, the job generating unit 58 generates operation instruction data corresponding to the instruction word. The operation instruction data, the first operation instruction data, and the second operation instruction data will be described later with reference to FIG. 3 .

[0043] The calculation unit 12 executes the first program 20, and the simulation control unit 60 simulates the operation of the robot arm based on the operation command data set in the job. The 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, every time a command word is set in a job, operation command data corresponding to the command word is generated by the job generating unit 58. The simulation control unit 60 simulates the operation of the robot arm based on the operation command data. That is, every time the user U operates the operation panel to perform a teaching operation to change the posture of the robot arm, the operation of the robot arm corresponding to the teaching operation is simulated.

[0045] Furthermore, when the user U operates the operation panel to instruct execution of a job, the simulation control unit 60 reads out the job data stored in the storage unit 14 to acquire the job generated by the job generation unit 58. The simulation control unit 60 executes the acquired job, thereby sequentially executing multiple command words set in the job.

[0046] The simulation control unit 60 generates, for each command word, operation command data corresponding to changes in the posture of the robot arm that correspond to the multiple command words set in the job. The simulation control unit 60 simulates the operation of the robot arm based on the operation command data generated for each command word.

[0047] As described above, the simulation of the robot arm's operation 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 frames of simulation images can be displayed as animations like a moving image in response to multiple command words set in the job. Therefore, the user U can easily check the operation of the robot arm corresponding to the created job.

[0048] The robot simulation device 10 in this embodiment is a device that can operate both a three-dimensional interface device 90 and a two-dimensional interface device 100. The first operation command data corresponding to the operation of the three-dimensional interface device 90 is generated by the calculation unit 12 executing a first program 20. The second operation command data corresponding to the operation of the two-dimensional interface device 100 is generated by the calculation unit 12 executing a 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 in different processes, which makes it possible to suppress a decrease in performance of the robot simulation device 10 that can operate both the three-dimensional interface device 90 and the two-dimensional interface device 100.

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

[0051] Robot axis configuration information is set corresponding to each objective of the simulation. Figure 2 shows examples of multiple pieces of robot axis configuration information, such as robot axis configuration information #1, robot axis configuration information #2, .... Each piece of 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 axes of the robot arm RB itself, but also the external axes if used. The external axes are, for example, axes of a slider that mounts and moves the robot arm RB, an end effector attached to the tip of the robot arm RB, and a device that moves or rotates a workpiece that is the target of work using the end effector. In other words, the robot axis configuration information includes information on the axis configurations of the robot axes of each robot arm RB and the external axes.

[0053] In the example shown in FIG. 2 , the robot axis configuration information #1 defines the number of axes N and the type of each axis for each of k robot arms RB, i.e., robot arm RB#1, ..., robot arm RB#k. The type of each axis of the robot arm RB indicates whether the axis is a rotation axis or a translation axis. If the axis of the robot arm RB is a rotation axis, the robot arm RB performs rotational movement around the axis. If the axis of the robot arm RB is a translation axis, the robot arm RB performs translational movement 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 equipped in the robot arm RB#1 itself. Ne-Na axes from axis #Na+1 to axis #Ne of robot arm RB#1 are external axes.

[0055] Each of the axes #1 to #Na of the robot arm RB#1 is a robot axis for rotational motion. Each of the axes #Na+1 to #Ne of the robot arm RB#1 is an external axis for translational motion. As described above, since the value of the number of axes N of the robot arm RB#1 is Ne, each of the axes #Ne+1 to #Nm of the robot arm RB#1 is unused.

[0056] 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#k is Nm. Of the Nm axes of robot arm RB#k, Na axes from axis #1 to axis #Na are robot axes equipped in the robot arm RB itself. Nm-Na axes from axis #Na+1 to axis #Nm of robot arm RB#k are external axes.

[0057] Each axis of the robot arm RB#k, from axis #1 to axis #Na, is a robot axis for rotational motion. Each axis of the robot arm RB#k, from axis #Na+1 to axis #Ne, is an external axis for translational motion. Each axis of the robot arm RB#k, from axis #Ne+1 to axis #Nm, is an external axis for rotational motion.

[0058] 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 using a plurality of 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 the operation command data.

[0059] Furthermore, the simulation control unit 60 executes the job generated by the job generating unit 58, whereby a plurality of commands set in the job are executed in sequence.

[0060] The action command data, the first operation command data, and the second operation command data include target coordinate values ​​of a tool center point (TCP) and target axis values ​​of each axis for each robot arm RB. The target coordinate values ​​of the tool center point include target values ​​of the position (X, Y, Z) of the tool center point and target values ​​of the orientation (Rx, Ry, Rz) of the tool center point.

[0061] In the example shown in FIG. 3, the operation command data, first operation command data, and second operation command data include data on the target coordinate values ​​of the tool center points and data on the target axis values ​​of each axis for k robot arms RB, i.e., robot arm RB#1, ..., robot arm RB#k.

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

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

[0064] 3, each of the operation command data, the first operation command data, and the second operation command data includes both the target coordinate value of the tool center point of the robot arm RB and the target axis values ​​of each axis of the robot arm RB. However, each of the operation command data, the first operation command data, and the second operation command data may include only one of the target coordinate value of the tool center point and the target axis values ​​of each axis.

[0065] That is, the operation command data, the first operation command data, and the second operation command data include at least one of the target coordinate value of the tool center point and the target axis value of the axis of the robot arm RB, thereby making it possible to easily determine multiple command words to be set for a job.

[0066] The first operation command data and the second operation command data further include information on the movement conditions of the axes of the robot arm RB. The information on the movement conditions of the axes of the robot arm RB is, for example, information on interpolation in the movement of the robot arm RB between two points, information on the movement speed of the robot arm RB, and / or information on the size of the arc of a corner that the robot arm RB passes through when moving between three points.

[0067] 4A, 4B, and 4C are diagrams illustrating operation panels. 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, the user U operates the controller 90c of the three-dimensional interface device 90 or the operation device 100a of the two-dimensional interface device 100 to operate the operation panel. The user U operates the operation panel to change the posture of the robot arm RB, thereby determining each of the multiple command words set in the job.

[0068] In the display field Fa of the operation panel shown in Fig. 4A, the user U selects robot axis configuration information according to the purpose of the simulation. To facilitate the user U's selection of robot axis configuration information, for example, a pull-down list may be used in the display field Fa. When the user U selects robot axis configuration information in the display field Fa, a list of robot arms RB whose axis configurations are defined by the selected robot axis configuration information is displayed in the display field Fr of the operation panel shown in Fig. 4A.

[0069] Fig. 4A shows an example in which robot axis configuration information #1 has been selected. According to the robot axis configuration information #1 shown in Fig. 2, the axis configuration of k robot arms RB#1, ..., robot arm RB#k is determined. The user U selects a robot arm RB to be taught from among the k robot arms RB displayed in the display field Fr of the operation panel as shown in Fig. 4A.

[0070] Thereafter, when the user U presses the button Fp, the XR operation panel of the teaching pendant shown in FIG. 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] 4B illustrates an example of an operation panel of a teaching pendant corresponding to robot arm RB#1. In a display field Fj of the operation panel illustrated in FIG. 4B, a user U selects a job according to the purpose of the simulation. In the example illustrated in FIG. 4B, a job named "Test_A" has been selected. The job may be selected by, for example, selecting from a pull-down list.

[0072] A list of character strings relating to a plurality of instruction words constituting a determined job is displayed in a display field Di of the operation panel shown in Fig. 4B. Before a job is generated, the display field Di is blank. When a teaching operation setting, which will be described later with reference to Fig. 4C, is performed, character strings relating to instruction words corresponding to the setting are displayed in the display field Di. In the example shown in Fig. 4B, character strings relating to i pieces of instruction words #1, ..., instruction word #i are displayed in the display field Di.

[0073] When setting a teaching motion for the robot arm RB, the user U presses the button Fs. As a result, an operation panel for setting a teaching motion shown in Fig. 4C 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. Fig. 4C shows an example of the setting screen for a teaching motion for the robot arm RB#1.

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

[0075] 3, the target coordinate values ​​of the tool center point include target values ​​of the position (X, Y, Z) of the tool center point and target values ​​of the orientation (Rx, Ry, Rz) of the tool center point. Therefore, the user U inputs the target values ​​of the position (X, Y, Z) and the target values ​​of the orientation (Rx, Ry, Rz) of the tool center point as the target coordinate values ​​of the tool center point in the input field Ft of FIG. 4C.

[0076] The user U further sets the target axis value for each axis in the input field Fd in Fig. 4C. Fig. 4C illustrates an example of a setting screen for the teaching operation for the robot arm RB#1, but the setting screens for the teaching operations for the other robot arms RB are similar. The user U can set the teaching operation for each robot arm RB in the same manner. Note that the setting screens for the teaching operations for multiple robot arms RB can be displayed simultaneously.

[0077] In Fig. 4C , after the target coordinate value of the tool center point and the target axis values ​​of each axis are input, the user U presses button Fi, causing the XR operation panel of the teaching pendant shown in Fig. 4B to be displayed again. At this time, a character string related to an instruction word corresponding to the teaching operation set using the teaching operation setting screen shown in Fig. 4C is added to the instruction word list displayed in display field Di. When the generation of a job consisting of multiple instruction words is completed, the user U can execute the generated job by pressing button Fe.

[0078] When a job is executed by the simulation control unit 60, simulation images of the operation of the robot arm RB are sequentially generated based on operation command data corresponding to a plurality of 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] 5A and 5B are diagrams illustrating examples of simulation images of the operation of the robot arm RB. Fig. 5A illustrates an example of a three-dimensional simulation image displayed in the XR space of the three-dimensional interface device 90. Fig. 5B illustrates an example of a two-dimensional simulation image displayed on the screen of the display device 100b of the two-dimensional interface device 100.

[0080] 5A and 5B, two robot arms RB#1 and RB#2 are shown among k robot arms RB#1, ..., RB#k. The two robot arms RB#1 and RB#2 are set upright in the Z direction on the XY plane.

[0081] In the example shown in Figure 5A, when a user U wearing a three-dimensional interface device 90 on his or her head turns his or her 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 operating device 100a of the two-dimensional interface device 100 to scroll 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 further be displayed on the screen.

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

[0084] In the example shown in FIG. 5A , the user U operates the controller 90c of the three-dimensional interface device 90, causing an instruction beam Bi to be displayed in the XR space. The execution of a job is started by pressing a button Fe on the teaching pendant using the instruction beam Bi. While the job is being executed, the three-dimensional simulation image changes. It is also possible for multiple robot arms RB to operate simultaneously in the XR space. The user U can virtually check the operation of the robot arms RB in the XR space.

[0085] As described above, the user U can virtually stay in the XR space. Instead of operating the operation panel using the instruction beam Bi by operating the controller 90c, the user U may move the operation panel to a position close to the user U within the XR space and operate it.

[0086] In the example shown in FIG. 5B , the user U operates the operation device 100a of the two-dimensional interface device 100, causing the pointer Pm to move to the display position of the button Fe on the teaching pendant. When the user U operates the operation device 100a to press the button Fe on the teaching pendant, execution of a job begins. While the job is being executed, the two-dimensional simulation image changes. It is also possible for multiple robot arms RB to operate simultaneously on the screen. The user U can virtually check the operation of the robot arms RB on the screen.

[0087] Fig. 6 is a flowchart showing an example of the operation of the robot simulation device 10 using the three-dimensional interface device 90. Fig. 6 shows a processing procedure for simulating the operation 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 starts, 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 in 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 the user U operates the operation 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 in the storage unit 14 as job data.

[0090] When the user U operates the operation panel to instruct execution of a job, in step S5 the simulation control unit 60 executes the job generated in step S4 to simulate the operation of the robot arm RB. A three-dimensional simulation image of the operation of the robot arm RB is displayed in the XR space of the three-dimensional interface device 90. When the processing of step S5 is completed, this processing procedure ends.

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

[0092] 7A starts, 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 in 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 reception unit 48 via inter-process communication. The robot axis configuration information reception process by the robot axis configuration information reception unit 48 will be described later using FIG. 7B.

[0093] In step S23, 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. The transmission process of the second operation command data by the operation command data transmitting unit 54 will be described later with reference to FIG. 7B. In step S24, the job generating 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 generating unit 58 stores the generated job in the storage unit 14 as job data.

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

[0095] 7B starts, in step S41, the robot axis configuration information receiving unit 48 receives, via inter-process communication, the robot axis configuration information transmitted by the robot axis configuration information transmitting unit 46. The robot axis configuration information receiving unit 48 stores the received robot axis configuration information in the second area 14b in 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 the user U operates the operation 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 reception unit 56 via inter-process communication. When the processing of step S44 is completed, this processing procedure ends.

[0098] The above-described embodiment may be modified as follows: In the following modifications, explanations that overlap with the above-described embodiment 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 calculation unit 12 may execute the second program 22 stored in the storage unit 14 to realize 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. In this case, the calculation unit 12 executes the first program 20 stored in the storage unit 14 to realize the robot axis configuration information reception unit 48 and the operation command data transmission unit 54.

[0101] (Variation 2) The calculation 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 functional units 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 are executed by the processor of the calculation unit 12 as different processes.

[0102] It is assumed that all of the above-mentioned functional units are realized by the calculation unit 12 executing the third program. In this case, the calculation unit 12 executes the second program 22 stored in the storage unit 14 to realize a robot axis configuration information receiving unit 48 and an operation command data transmitting unit 54. The calculation unit 12 executes the first program 20 to realize a robot axis configuration information receiving unit 48A separate from the robot axis configuration information receiving unit 48 and an operation command data transmitting unit 54A separate from the operation command data transmitting unit 54.

[0103] The robot axis configuration information acquisition unit 40 stores the acquired robot axis configuration information in a predetermined area in 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 reception unit 48 and the robot axis configuration information reception 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 in 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 generating unit 58 generates a job based on 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 screen of 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 in 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 based on 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 be configured from a plurality of separate devices that can communicate with each other. The calculation unit and memory unit of each of these devices respectively constitute the calculation unit 12 and memory unit 14. The first program 20, the second program 22, and the third program are stored separately in the memory units of the respective devices and executed by processors of the separate calculation units that correspond to the respective memory units.

[0109] The following additional notes are disclosed regarding the above-described embodiment and modifications.

[0110] (Supplementary Note 1) A robot simulation device (10) of the present 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, the calculation unit including a robot axis configuration information acquisition unit (40) that acquires robot axis configuration information related to axes of a robot arm (RB), a first operation panel generation unit (42) that, by the calculation unit executing the first program, generates an operation panel used to generate a job set by 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 an XR space of a three-dimensional interface device (90), and a first operation panel generation unit (42) that, by the calculation unit executing the first program, generates a first operation panel based on a first operation signal generated by the three-dimensional interface device in response to an 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 a screen of a two-dimensional interface device (100) by causing the calculation unit to execute 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 an operation of the operation panel by the user by causing the calculation unit to execute 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 executes the job to simulate 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. With this configuration, the generation of the first operation command data and the generation of the second operation command data are performed in different processes.Therefore, it is possible to prevent a decrease in performance of the robot simulation device that can operate both the three-dimensional interface device and the two-dimensional interface device.

[0111] (Supplementary Note 2) In the robot simulation device according to Supplementary Note 1, the simulation control unit may execute the job to simulate the operation of the robot arm based on operation command data corresponding to the plurality of command words set in the job. With this configuration, a user can easily check the operation of the robot arm corresponding to the created job.

[0112] (Supplementary Note 3) In the robot simulation device according to Supplementary Note 2, the operation command data may include at least one of a target axis value of the axis of the robot arm and a target coordinate value of a tool center point of the robot arm. With this configuration, multiple command words to be set for a job can be easily determined.

[0113] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the spirit of the present disclosure derived from the content of the claims and their equivalents. These embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values ​​or mathematical expressions are used in the description of the above-described embodiments.

[0114] REFERENCE SIGNS LIST 10... robot simulation device 12... calculation unit 14... storage 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 reception 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 system comprising: 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 comprises: a robot axis configuration information acquisition unit (40) that acquires robot axis configuration information related 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 to generate a job set by 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 a first operation command data generation unit (44) that, when the calculation unit executes the first program, generates first operation command data based on a first operation signal generated by the three-dimensional interface device in response to an operation of the operation panel by a user (U). a second operation panel generation unit (50) that generates the operation panel using the robot axis configuration information and displays the operation panel on a screen of a two-dimensional interface device (100) by the calculation unit executing 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 operation of the operation panel by the user by the calculation unit executing 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 executes the job to simulate 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.

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

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

Citation Information

Patent Citations

  • Robot teach device with 3-d display

    JP2013094961A

  • Simulation device of robot

    JP2019188530A