Simulator device, simulation method, method for manufacturing an article, program, and recording medium

The simulator device addresses the challenge of detecting and displaying interference events by using an event display unit to show robot operation parameters in time series, allowing for intuitive identification and correction of potential collisions, thus improving operational efficiency.

JP7693790B2Active Publication Date: 2025-06-17CANON KK
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023222614
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-12-28
Publication Date
2025-06-17
Estimated Expiration
2038-01-18

AI Technical Summary

Technical Problem

Existing simulator devices struggle to intuitively and efficiently detect and display interference events, such as collisions, during the operation of robot devices in virtual environments, especially in animated displays where interference may occur briefly or be obscured.

Method used

A simulator device with an event display unit that shows operation parameters of robots in time series, allowing for the display of warning events related to interference directly on the interface, enabling users to easily identify and correct potential collisions.

Benefits of technology

The solution allows users to easily and intuitively determine the presence of warning events like interference, reducing the time and effort required to verify and correct robot operations, thereby enhancing operational efficiency and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007693790000001
    Figure 0007693790000001
  • Figure 0007693790000002
    Figure 0007693790000002
  • Figure 0007693790000003
    Figure 0007693790000003
Patent Text Reader

Abstract

To provide a user interface which allows easy and intuitive determination of presence / absence of interference (impact) of a robot device during verification.SOLUTION: A 3D model which simulates a robot device according to robot control data is operated in a virtual environment, and the situation is displayed in a 3D model display unit 107. In addition, an event display unit 108 is provided for displaying events relating to operation of the 3D model of the robot device in the virtual environment on a time axis, in linkage with the display in the 3D model display unit 107. An operation state of a robot device model is analyzed so as to specify warning events, and display control is performed to display the warning events at a position on a time axis in the event display unit 108 corresponding to warning events, in display modes differing according to types and stages of the warning events.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a simulator device that operates a model simulating a robot device in a virtual environment and displays the model of the robot device operating in the virtual environment on a model display unit. Simulation method, method for manufacturing an article, program, and recording medium It relates to.

Background Art

[0002] Generally, in the case of a device that performs work using a robot, there are obstacles such as jigs, adjacent robots, and walls around the robot. Therefore, there is a possibility that the robot may interfere (collide, contact) with these obstacles. It is not easy to confirm with an actual machine whether the robot can operate without interference (collision, contact). Therefore, a simulator that can verify the operation of the robot in a virtual space may be used. In this type of simulator, a 3D model created based on the structure and dimensions of the actual machine is operated in a virtual space using the same teaching point data and robot program as the actual machine. And by displaying the state in a form such as 3D animation on a display, for example, operations such as workpiece transfer and assembly can be verified.

[0003] By using such a simulator, it is possible to confirm the presence or absence of interference (collision, contact) and to correct specific robot operations that may cause such interference without using an actual machine. Detection of interference (collision, contact) is performed by running an interference monitoring task that identifies the positional relationship of the 3D models of the robot and obstacles in the virtual space, for example, by determining whether the models of the robot and the obstacles that should not interfere occupy the same space.

[0004] If the interference monitoring task detects interference (collision, contact), the interference detection state is displayed on the display that displays the 3D model to notify the user. As a display method at this time, what is generally implemented is to change the display color of the entire 3D model or the relevant part where interference (collision, contact) is occurring in the virtual space (for example, Patent Document 1 below).

Prior Art Documents

Patent Document

[0005]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0006] In the conventional configuration where the 3D model and the display color of the relevant part are changed according to the occurrence of interference as described above, when interference occurs in a stationary state or when the 3D virtual display is a still image, the user can easily confirm that state. However, in the display during continuous operation of the 3D model in virtual display by animation (video) display or the like, it may be difficult to visually recognize, and it may be difficult to intuitively determine whether interference has occurred.

[0007] Also, even if the user checks the interference state during the animation (video) display of the 3D model and immediately performs an operation to stop the animation, the video display may stop at a position ahead of the display at the problem timing. In that case, the timing of interference occurrence cannot be displayed without performing operations such as moving the display frame backward in the past direction, and this type of GUI operation is generally complicated. In particular, when using animation (video) display to display a virtual environment, further, when interference occurs instantaneously for only one frame, or when interference occurs in a location that is in the shadow of another 3D model, it may be difficult to confirm the state from the display screen. To prevent overlooking, a method of moving the operation of the 3D model forward and backward one frame at a time for confirmation can be considered, but if the cycle of the operation being verified is long, the confirmation work may require a large amount of man-hours and may not be efficient.

[0008] In view of the above problems, an object of the present invention is to provide a user interface that can easily and intuitively determine the presence or absence of warning events such as interference (collision) related to the operation of a robot device being verified.

Means for Solving the Problem

[0009] One aspect of the present invention is a robot system having a first robot and a second robot of Move operation in a virtual space A simulator device for simulating, wherein on a display unit, an information display area for displaying information on operation parameters of the first robot first operation parameter corresponding to the joint angle or tip acceleration and the second robot second corresponding to the joint angle or tip acceleration is displayed in time series, and in the information display area, a first area corresponding to the first robot and a second area corresponding to the second robot are displayed, and the first operation parameter corresponding to the first robot is displayed in the first area record the and the second operation parameter corresponding to the second robot is displayed in the second area record the A simulator device characterized by this do , display a first warning event of the first robot in the first area and display a second warning event of the second robot in the second area . One aspect of the present invention is a robot system having a first robot and a second robot of Move simulation method for simulating the operation in a virtual space A simulation method, wherein on a display unit, an information display area for displaying information on operation parameters of the first robot first operation parameter corresponding to the joint angle or tip acceleration and the second robot second corresponding to the joint angle or tip acceleration is displayed in time series, and in the information display area, a first area corresponding to the first robot and a second area corresponding to the second robot are displayed, and the first operation parameter corresponding to the first robot is displayed in the first area record the and the second operation parameter corresponding to the second robot is displayed in the second area record the . do , display a first warning event of the first robot in the first area and display a second warning event of the second robot in the second area A simulation method characterized by this is .

Effect of the Invention

[0010] According to the above configuration, in conjunction with the display on the model display unit, by providing an event display unit that displays events related to the operation of the model of the robot device on the time axis, the user can easily and intuitively determine whether there is a collision in the robot device being verified

Brief Description of Drawings

[0011]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Embodiments for Carrying Out the Invention

[0012] Hereinafter, embodiments for implementing the present invention will be described with reference to the accompanying drawings. Note that the configurations shown below are merely examples, and for example, those skilled in the art can appropriately modify the detailed configurations without departing from the spirit of the present invention. Also, the numerical values taken up in this embodiment are reference numerical values and do not limit the present invention.

[0013] <Embodiment 1> Hereinafter, with reference to FIGS. 1 to 5, a simulator device according to Embodiment 1 of the present invention and its control method will be described.

[0014] As shown in FIG. 1, the simulator device according to this embodiment includes a computer main body A, a display B, a mouse C, and a keyboard D connected to the computer main body A.

[0015] Simulation software E is installed in the computer main body A, and screen display is performed on the display B by the processes of the software E described later. FIG. 1 shows a portion corresponding to the screen display of the simulation software E on the display B.

[0016] FIG. 2 shows a configuration example of a control system that is an execution environment of the simulation software E of this embodiment. In terms of hardware, the configuration of FIG. 2 is constituted by the control circuit of the above computer main body A, but the figure is shown as a functional block configuration, and each functional block in the figure may be regarded as either a hardware configuration or a software configuration. The configuration of FIG. 2 is formed by connecting a display unit 102, an operation unit 103, an input / output unit 104, a storage unit 105, and an analysis unit 106 to a control unit 101.

[0017] The display unit 102 corresponds to, for example, the display B in Fig. 1, and may have any display method as long as it can display the model display unit and event display unit described below. The operation unit 103 constitutes a user interface, and corresponds to, for example, the mouse C and keyboard D in Fig. 1. The hardware of the operation unit 103 may include other pointing devices such as a track pad. The display unit 102 and the operation unit 103 may be integrated by using a device such as a touch panel.

[0018] As shown in FIG. 3, the display unit 102 performs drawing on the screen, and displays a 3D model display unit 107 (model display unit), an event display unit 108, and an analysis condition setting unit 109.

[0019] The displays of the 3D model display unit 107, the event display unit 108, and the analysis condition setting unit 109 are controlled in a coordinated manner via the operation of the 3D model of the robot device in the virtual environment and via user operations using the display unit 102 and the operation unit 103. For example, a cursor or a vertical bar is displayed at a position on the time axis on the event display unit 108 that corresponds to the drawing frame being displayed on the 3D model display unit 107, to associate these two displays. Furthermore, when an animation (moving image) display is performed on the 3D model display unit 107, the display of the event display unit 108 is automatically scrolled so that the position on the time axis corresponding to the display of the 3D model display unit 107 fits within the display. At the same time, the cursor and the vertical bar are automatically moved to a position on the time axis that corresponds to the display of the 3D model display unit 107.

[0020] In addition, it is desirable to control the information displayed on the other display unit so that when either the information displayed on the model display unit 107 or the information displayed on the event display unit 108 is specified or selected using the operation unit, the information displayed on the other display unit is updated in response to the operation.

[0021] Also, preferably, the displays of the 3D model display unit 107, the event display unit 108, and the analysis condition setting unit 109 are displayed by the display unit 102 in a manner that allows the user to simultaneously view relevant parts. For example, when the display unit 102 is composed of a single display B, these respective display units (107 to 109) are displayed in the form of multi-windows or tabs within one display screen. However, when there are multiple displays B (so-called multi-head configuration) constituting the display unit 102, it may also be configured such that each of the above display units (107 to 109) is displayed on the display screens of multiple different displays.

[0022] For example, the 3D model display unit 107, the event display unit 108, and the analysis condition setting unit 109 are simultaneously displayed within one display screen of the display unit 102. In that case, the division mode, overlap mode, etc. of the display windows constituting each unit (107 to 109) on the screen can be made changeable according to the operation habits in the GUI of many operating systems. Also, when the display B is not just one but composed of multiple monitor devices, it may also be configured such that any part of the 3D model display unit 107, the event display unit 108, and the analysis condition setting unit 109 is respectively displayed on the display screens of different monitor devices.

[0023] The 3D model display unit 107 displays a 3D model that reproduces the device. Changes in the viewpoint and the arrangement of the 3D model can be made.

[0024] The event display unit 108 of the present embodiment includes an analysis execution button 111 and a graph display unit 112.

[0025] The graph display section 112 of the event display section 108 is for performing a display along the time axis. For example, it displays the relationship between the operation time and the command values of each axis of the robot device in a graph format as shown in the figure. In the present embodiment, during screen display, the time axis of the graph display section 112 is illustrated in a state mainly arranged along the left - right direction in the figure. In the graph display section 112 of FIG. 3, it is in a display state where the changes along the time axis of the joint positions (joint angles) of two joint axes (Joint1, 2) of the robot device (3D model of the robot: Robot1) are graphically displayed.

[0026] For the unit of the time axis of the graph display section 112, the elapsed time (seconds, milliseconds, etc.) from a reference time (for example, the OS epoch, the start time of an operation described by robot control data such as a robot program or teaching point data, etc.) may be used. Those skilled in the art may arbitrarily adopt a standard time such as GMT or JST for the unit of the time axis of the graph display section 112. Note that the scale (scale) of the time axis on the screen of the display section 112 may be made changeable (enlarged, reduced) via an appropriate user interface such as selecting the time width corresponding to one screen of the graph display section 112.

[0027] The display of the graph display section 112 can be scrolled along the time axis (for example, the left - right direction), and when there are many display items, it can also be scrolled in the direction of those items (for example, the up - down direction). For example, in the graph display section 112 of FIG. 3, so - called scroll bars are provided at the lower edge and the right - hand edge. By operating this scroll bar with a mouse C (FIG. 1) or the like, the above - mentioned scrolling is performed. Also, the above - mentioned scrolling may be performed by a wheel (not shown) provided on the mouse C.

[0028] The analysis condition setting unit 109 is for selecting the analysis conditions of the analysis unit 106 described later. The input / output unit 104 performs input / output of data necessary for the simulation. The storage unit 105 stores the data input by the input / output unit 104 and the results of the analysis unit 106 described later. The storage unit 105 can be configured by an external storage device such as a ROM, a RAM, an HDD, or an SDD. In that case, a control program describing the control procedure shown by a flowchart or the like described later can be stored in the ROM area of the storage unit 105 or in an external storage device such as an HDD or an SDD. The storage means for the control program describing these control procedures according to the present invention constitutes a computer-readable recording medium of the present invention. Further, the storage means for the control program according to the present invention may be not only fixed storage hardware such as a ROM area and an external storage device such as an HDD or an SDD, but also a removable storage medium (various magnetic disks, optical disks, semiconductor memory devices). Further, the control program according to the present invention is transported via these storage media, and can be installed from these storage media into the simulator device or update the installed control program. Alternatively, further, the installation and update (update) of the control program according to the present invention to the simulator device may be performed not only by a computer-readable recording medium but also via a network or the like.

[0029] Also, the RAM area of the storage unit 105 is used as a main storage area (or work area) for the CPU that realizes the control unit 101 and the analysis unit 106. This main storage area may be configured as a so-called virtual memory (area) composed not only of the RAM area but also of a swap area arranged in the RAM area and an external storage device such as an HDD or an SDD.

[0030] The analysis unit 106 of this embodiment analyzes events related to the operation of the 3D model of the robot device verified by this simulator device. The analysis unit 106 identifies warning events related to the operation of the 3D model of the robot device. The analysis unit 106 of this embodiment particularly performs an interference determination, that is, determines whether interference has occurred between the model of the robot device operating in the virtual environment and other obstacle models, and when interference (collision or contact) occurs, identifies that event as a warning event. That is, the analysis unit 106 of this embodiment has the function of the interference determination 110.

[0031] When the analysis execution button 111 is operated using the mouse C, keyboard D, etc. in the analysis condition setting unit 109, the analysis unit 106 performs the process of the interference determination 110. Here, simulation data related to the states of the models of the robot device and other objects operating in the virtual environment is analyzed, and interference between the robot device and the models of other objects is detected as a warning event.

[0032] Note that although the analysis condition setting unit 109 and the event display unit 108 are illustrated as separate display windows (or panes) in FIG. 3, it may be considered that the analysis condition setting unit 109 constitutes a part of the event display unit 108. Also, the display part of the analysis condition setting unit 109 may be configured to be displayed inside the display window (or pane) of the event display unit 108.

[0033] In this embodiment, regarding the interlocking control of the displays of the 3D model display unit 107, the event display unit 108, and the analysis condition setting unit 109, there are those such as the above-described setting operation of the analysis conditions and the operation of the analysis execution button 111. Also, in this embodiment, for example, when an event (event) that satisfies search (analysis) conditions such as interference (collision, contact) is searched by operating the analysis condition setting unit 109 and the analysis execution button 111, the display of the graph display unit 112 of the event display unit 108 is updated accordingly. For example, the display of the graph display unit 112 is updated so that the position on the time axis corresponding to the searched event (event) appears in the graph display unit 112. Also, the said event (event) is displayed on the graph display unit 112 with control of the display mode such as changing the display color as described later.

[0034] As described above, the display on the graph display unit 112 of the event display unit 108 can be scrolled along the time axis (or in the arrangement direction of items) so that the event that the user pays attention to is represented in the display. Then, in conjunction with such a scroll operation, a click of the mouse C on the event of interest being displayed on the graph display unit 112, etc., the operating state of the robot device (3D model) displayed on the 3D model display unit 107 is updated to the state corresponding to the event of interest.

[0035] The setting operation of the analysis conditions by the analysis condition setting unit 109 and the simulation analysis using the operation of the analysis execution button 111 are performed according to a control procedure as shown in FIG. 4, for example.

[0036] First, in step S1 of FIG. 4, data to be simulated is input. The data to be simulated includes the 3D model of the robot device to be verified, the arrangement information of the 3D model, the command values of the movable axes of the device, and the like. The data to be simulated is described in a setting file or the like in a robot program, a teaching point data format, or other specific description formats, for example. The user designates a file name corresponding to the data to be simulated via the user interfaces of the display unit 102 and the operation unit 103.

[0037] When the designated data to be simulated is read in step S1, as shown in FIG. 3, the 3D model of the robot device is displayed on the 3D model display unit 107 (for example, in a predetermined initial state). At that time, on the graph display unit 112 of the event display unit 108, events related to the 3D model corresponding to the time axis before and after including the state of the model displayed on the 3D model display unit 107 are displayed. In the display format of the graph display unit 112 in FIG. 3, the values of the positions (angles) of the joint axes, for example, the command values, are displayed in a graph format along the time (time) of the operation of the 3D model of the robot device.

[0038] In step S2, the analysis conditions are set. In the present embodiment, here, as the warning event to be analyzed (searched) by the analysis condition setting unit 109, either interference (collision) or interference (collision) with a threshold is selected. In the present embodiment, interference (collision) corresponds to a state in which 3D models are physically in contact with each other. Further, the interference (collision) with a threshold is for preventing interference (collision) that may occur in an actual machine due to simulation errors such as machining accuracy and mechanical errors of an actual machine robot. For example, in the interference (collision) with a threshold, a numerical range in which the certainty of operation can be ensured is specified before and after the state where the 3D models are in contact with each other, and it is confirmed that they are not within that range. When the interference with a threshold is selected as the warning event to be analyzed (searched) by the analysis condition setting unit 109, the range in which the certainty of this operation can be ensured is set as the threshold. As this threshold, the analysis condition setting unit 109 designates it in a format such as the value (in mm units, etc.) of the clearance (gap distance) of the user with respect to the state where the 3D models are in contact with each other.

[0039] In step S3, the analysis unit 106 executes an analysis process for the robot operation described by the robot control data (robot program and teaching point data). This analysis is started, for example, by the analysis execution button 111 (FIG. 3). Here, the 3D model of the robot device is operated in a virtual environment, and interference determination (110) is performed in an appropriate unit, for example, a frame of the video display performed by the 3D model display unit 107. For example, the 3D model of the robot device is inspected one frame at a time of operation, and interference determination (110) is performed for all frames. At this time, the interference determination (110) is performed under the conditions set in step S2.

[0040] The interference determination (110) of the analysis unit 106 outputs, as the determination (analysis) result, data for identifying three types of events such as, for example, interference (collision), interference (collision) with a threshold, and no interference (collision). The determination (analysis) result of this interference determination (110) is expressed by a predetermined (error) code (numerical value) such as a result code. The analysis result of the interference determination (110) of this analysis unit 106 is stored in the storage unit 105 together with the frame of the operation.

[0041] In step S4, based on the analysis result of step S3, events related to the operation of the 3D model of the robot device are classified, and the 3D model display unit 107 (display B) displays them in different display patterns (display modes) for each state (content). In this embodiment, this analysis result is displayed on the graph display unit 112 of the event display unit 108.

[0042] Here, for event classification, when the analysis unit 106 performs analysis to identify three types of events such as the above-mentioned interference (collision), interference (collision) with a threshold, and no interference (collision), the events related to the operation of the 3D model of the robot device are classified into these three events. In addition, when both interference (collision) and interference (collision) with a threshold exist in the analysis result of a specific (for example, one frame), the display of the more problematic interference (collision) is prioritized and classified as an interference (collision) event.

[0043] Regarding the display of events designated as warning events to be analyzed (searched) by the analysis condition setting unit 109 among the classified events, in order to emphasize and make them stand out more than the display of other events, for example, events with no interference (collision), it is implemented with different display patterns (display modes). For example, when an event of interference (collision) or (and) interference (collision) with a threshold is designated as a warning event to be identified (searched), control of the display mode as shown in FIGS. 5(a) and (b) is performed on the graph display unit 112.

[0044] For a warning event identified as interference (collision), as shown in Fig. 5(a), the corresponding frame of the graph display unit 112 is overlaid with a color different from other parts, for example, a red band (113). Also, for a frame corresponding to a warning event identified as interference (collision) with a threshold, as shown in Fig. 5(b), it is overlaid with a color different from other parts, for example, a yellow band (114). Note that in the case of a warning event of "interference (collision)", generally, since the robot device operates along a certain trajectory, warning events corresponding to "interference (collision) with a threshold" appear before and after it. For this reason, in Fig. 5(b), yellow bands (113a, 113a) are displayed on both sides before and after the red band (113). For other events (events) without interference (collision), the default display color (or display brightness and density) of the graph display unit 112 is adopted. Here, although an example of the change control of the display mode for changing the display color of the graph display unit 112 is shown, for example, the display mode may be changed by changing the display brightness or density.

[0045] As described above, in this embodiment, in the graph display unit 112 of the event display unit 108, according to the analysis (search) result of the analysis unit 106, a display mode different from the event display of other events is adopted for the event display corresponding to the warning event. As a result, the user can easily recognize the presence or absence of warning events related to interference (collision) of the robot device (3D model) on one screen of the graph display unit 112 of the event display unit 108. That is, the user can intuitively judge the presence or absence of warning events related to interference (collision) and can greatly reduce the man-hours required for the confirmation work using this simulator device.

[0046] In the graph display unit 112 of the above event display unit 108, the user who visually recognizes the warning event changes the robot control data (teaching point data and robot program) for the robot device (3D model) so that the warning event subsides.

[0047] When there is an interference (collision) state or an interference (collision) state with a threshold, the user performs an operation of selecting, for example, the frame (the colored band being displayed) of the event in which the interference (collision) occurred with mouse C. In response to this operation, the simulation software E calculates the position and orientation of the 3D model of the robot device in the virtual environment at the time of that event and displays it on the 3D model display unit 107. As a result, the user can easily confirm the virtual environment of the 3D model of the robot device at the time when the interference (collision) or the interference (collision) with a threshold occurred by the 3D display of the 3D model display unit 107. The 3D display of the 3D model display unit 107 at this time may be a still image display at the timing of the problem event, or may be a video display corresponding to an appropriate time width before and after that, etc.

[0048] Also, in the display of the 3D model on the 3D model display unit 107 related to the warning event, the display mode of the part where the interference (collision) occurred or the 3D model (whole) of the specific robot device where the interference (collision) occurred is changed to be different from other models. For example, when changing the display color as this change in the display mode, the same display color as the display color of the band (113, 114, etc.) that (highlights) the warning event on the event display unit 108 is used. By making such a change in the display mode in the display of the 3D model on the 3D model display unit 107 related to the warning event, the user can extremely easily visually recognize the specific 3D model related to the warning event or the specific part related to the warning event.

[0049] Note that depending on the display scale of the time axis of the graph display unit 112, it is conceivable that the band (113, 114, etc.) that displays the warning event is too thin to be selected. In that case, by changing the time display scale of the graph display unit 112, the width of the band (113, 114, etc.) that displays the warning event can be expanded, so the display area per frame of the graph display unit 112 increases and the selection operation becomes easier.

[0050] The location of the correction to the robot control data for eliminating the warning event can be confirmed from the state of the 3D model on the 3D model display unit 107. For example, in order to avoid the interference (collision) state of the robot identified as a warning event, an instruction point serving as an avoidance point is created, and a program passing through the instruction point is created.

[0051] In that case, the position and orientation of the robot device (3D model) are manipulated using the 3D model display unit 107 to create an instruction point serving as an avoidance point. A user interface for manipulating the position and orientation of the 3D model using a pointing device such as the mouse C and the 3D model display unit 107 is well-known, and such a well-known user interface can be used to create the instruction point serving as the avoidance point. During the operation of the robot device (3D model) on the 3D model display unit 107, the process of interference determination 110 is performed. If interference (collision) occurs, the display mode can be changed in the same manner as described above to warn the user of the warning event.

[0052] When an instruction point as an avoidance point is specified by the user, an instruction to move to the instruction point is added to the robot control data, for example, a robot program or instruction point data. A user interface for performing such addition is also well-known in the simulator device and can be used to add the instruction point to the robot program or instruction point data. The added program and instruction point data can be converted into data of command values for individually operating joints and the like of the robot device by inverse kinematic calculations of a controller of the simulator device incorporated therein or an external robot. Thereafter, the changed (added) robot program and instruction point data are input to the simulation software E, and by performing the processes of steps S1 to S4 above again, it is possible to confirm the presence or absence of warning events such as interference (collision). By repeating the above correction operations by the user, the robot control data can be verified and edited to a state where warning events such as interference (collision) do not occur.

[0053] As described above, according to the present embodiment, an event display unit 108 is provided that displays events related to the operation of the robot device model in the virtual environment on the time axis in conjunction with the display of the model display unit 107 that displays the model of the robot device operating in the virtual environment. Therefore, according to the present embodiment, it is possible to provide a user interface that can easily and intuitively determine the presence or absence of warning events such as interference (collision) related to the operation of the robot device being verified. According to the user interface of the present embodiment, the user can intuitively determine the presence or absence of warning events related to the operation of the robot device being verified, and can perform the verification work or the editing work of the robot control data without omission and extremely efficiently.

[0054] <Embodiment 2> In Embodiment 1, a configuration was shown in which a graph display unit 112 is provided as a display unit with a time axis in the event display unit 108. However, the display format of the event display unit 108 that displays events on the time axis is not limited to the graph display unit 112 having a so-called "line graph" style that displays a line or a waveform line on the time axis as in Embodiment 1. As the event display unit, any display may be used as long as it has a time axis and can display events over time for a series of robot operations having a certain time length. For example, various configurations as shown below can be considered.

[0055] Figs. 6(a) to 6(d) show examples of various display forms of the event display units (201, 202, 203,...) in the present Embodiment 2. In the following, only the display forms of the event display units (201, 202, 203,...) are shown, and it is assumed that the same configurations as those in Embodiment 1 are provided for other hardware / software configurations. Also, for members having the same or equivalent functions as the members in Embodiment 1, the same reference numerals as those described above are used, and detailed descriptions thereof may be omitted.

[0056] Figures 6(a) and 6(b) show the configurations of the event display units 201 and 201 in a so-called slider display in a linear and circular (annular) form, respectively. In Figures 6(a) and 6(b), the event display units 201 and 201 display red bands (113) and yellow bands (113a, 114) indicating the positions of interference and threshold interference (collision) warning events on a linear or annular slider bar, respectively. Numerical displays (0 to xxxx) of the times at the start and end points of the time axis are provided at both ends of the slider bar. Also, in Figures 6(a) and 6(b), the event display units 201 and 201 are provided with a slider handle 201a for selecting a specific time or an event at that time on the slider bar.

[0057] When an event at a specific time on the slider bar is selected by the slider handle 201a, a window or tab of a detailed display unit for displaying information about the event is separately popped up and displayed. Thereby, the user can read detailed information about the specified event, such as the joint positions (angles) of each joint. At this time, as the display content of the popped-up display window or tab, numerical information about the joint positions (angles) of each joint, instruction statements of the robot program, etc., can be considered, like one line of the event display units 202 and 203 in Figures 6(c) and 6(d) below.

[0058] The event display units 201 and 201 as shown in Figures 6(a) and 6(b) are more compact than the graph display unit 112 of Embodiment 1 and are suitable for display in a limited space. For example, the display forms in Figures 6(a) and 6(b) are suitable when the graph display unit 112 (display B) is configured with a display screen such as a mobile terminal or a teaching pendant, where the display area is limited and the number of vertical and horizontal pixels cannot be large.

[0059] Further, FIG. 6(c) shows an example of the event display unit 202 having a display mode in a table format. In the event display unit 202 of FIG. 6(c), the time axis is taken in the vertical direction (row arrangement direction) of the table, and six joint positions (angles) of a certain robot device (Robot1) are displayed using each column. Also in this table-form event display unit 202, red bands (113) and yellow bands (113a, 114) indicating the positions of each warning event of interference and interference with threshold (collision) can be displayed. Such a table-form, relatively detailed event display unit 202 is suitable for verifying the relevance between the command value of the operation and the analysis result. For example, when creating a teaching point to avoid the interference (collision) state of the robot. From the numerical values of the command values of each axis of the frame of the interference (collision) state displayed in the table-form event display unit 202 and the limits of each axis, it is possible to confirm how much more movement can be made, which is useful as a guide for creating a teaching point.

[0060] As a display having a time axis of the event display unit, a display mode such as a list display in which descriptions of robot operations are arranged in chronological order is also conceivable. For such a list display, for example, a list display of the source code describing the robot program is conceivable. For example, the event display unit 203 in FIG. 6(d) is configured as a list display of the source code of the robot program, for example, the display of a program editor. In the event display unit 203 of FIG. 6(d), a 10-line robot program in which instructions describing the robot operations to be executed are arranged in chronological order is displayed.

[0061] Also in the event display unit 203 of FIG. 6(d), red bands (113) and yellow bands (113a, 114) indicating the positions of each warning event of interference and interference with threshold (collision) can be displayed. In this example, the display mode is controlled by changing the display color so as to emphasize the warning event in the corresponding instruction statement where each warning event of interference and interference with threshold (collision) occurs. In each of the examples in FIGS. 6(a) to 6(d), each warning event of interference and interference with threshold (collision) is displayed by controlling the display mode by changing the display color, but other display modes such as luminance and density may be controlled.

[0062] The event display section 203 in the form of a robot program editor as shown in Fig. 6(d) is suitable when it is desired to determine in which instruction on the robot program an interference or a warning event of interference (collision) with a threshold value occurs. Generally, in a robot program, an instruction sentence in a form that moves (moves) the TCP to a certain position is used. Therefore, a single instruction sentence contains a plurality of frames of robot operations, and it is conceivable that both a warning event of interference (collision) of one instruction sentence and an interference (collision) with a threshold value are applicable. In that case, the change in the display mode is made by adopting the display mode of the interference (collision), which is a more problematic warning.

[0063] As the event display section, the configuration using the graph display section 112 of Embodiment 1 shown so far and the event display sections 201 to 203 in Figs. 6(a) to (d) have specific effects even on a single screen, but there are also effects when used in combination with a plurality of screens. As described above, from the interfaces of the event display sections 201 and 201 by the slider display in Figs. 6(a) and (b), the event display sections 202 and 203 related to the detailed display as shown in Figs. 6(c) and (d) may be popped up. Also, if there is room on the display screen of the display B, they may be displayed so that the user can view them simultaneously.

[0064] In addition, in order to use the graph display section 112 of Embodiment 1 and the event display section 203 in the form of a program editor in Fig. 6(d) in combination, for example, the following display control can be performed. In this case, the event display section 203 in the form of a program editor in Fig. 6(d) can edit (change) the code of the displayed program by a user's editing operation performed via the user interfaces of the display section 102 and the operation section 103. Also, the file of the source code of the editing result can be stored in a storage medium (such as an HDD or an SDD) of an external storage device or the like as necessary.

[0065] For example, during the simulation process, a warning event such as interference (collision) or interference (collision) with a threshold may occur while the 3D model of the robot device is moving between two teaching points. In that case, the user performs an operation to modify the program, for example, by adding teaching points so as to avoid this interference (collision) state. In such a case, in the 3D model display unit 107 of Embodiment 1, and further as an event display unit, a configuration in which both the graph display unit 112 of Embodiment 1 and the event display unit 203 in the form of a program editor in FIG. 6(d) can be displayed for the user to use is useful.

[0066] In that case, first, the user checks the graph display unit 112, and using a mouse C or the like, designates the color bands (113, 113a, 114) of the frame corresponding to a warning event such as interference (collision) or interference (collision) with a threshold, and moves to that frame. When an operation to move to the frame corresponding to this warning event is performed, the display of the 3D model display unit 107 that is displayed so as to be visible at the same time is updated to that frame, and the robot device is displayed in the position and posture in the state of the warning event.

[0067] At this time, it is preferable to be able to change the display of the 3D model display unit 107 so as to make it easier to visually recognize the warning event by means of a GUI for performing viewpoint movement of the 3D model display unit 107, rotation of the 3D model, etc. Also, when using the 3D model display unit 107, a configuration for performing a direct teaching operation of operating the displayed 3D model using a mouse C or the like is known. Such a direct teaching operation can be used for the teaching point addition operation for avoiding the warning event as described above.

[0068] For example, from the state of a warning event such as interference (collision) or interference with a threshold value being displayed on the 3D model display unit 107, a direct teaching operation using a mouse C or the like is performed on the user to change the position and orientation of the 3D model of the robot device, and a teaching point that can avoid the warning event is specified. After creating an avoidance teaching point, on the graph display unit 112, the frame of the warning event of the interference (collision) or interference with a threshold value is selected again. At this time, if the event display unit 203 in the program editor format is still being displayed, in response to this selection operation, the code at the corresponding location is displayed on the event display unit 203 in the program editor format.

[0069] The display of the event display unit 203 in the program editor format is updated so as to be linked to the display state of the 3D model display unit 107 or the event selection on the time axis of the graph display unit 112. For example, when the frame of the warning event of the interference (collision) or interference with a threshold value is selected again on the graph display unit 112, the instruction code of the frame is highlighted by highlighter display. Immediately before the instruction code corresponding to the frame of the warning event, an instruction code for moving to the avoidance teaching point added or created using the 3D model display unit 107 is automatically added. Alternatively, the instruction code for specifying the movement to this teaching point may be automatically generated only at the insertion position and input by the user through a manual operation. Alternatively, the instruction code for moving to the avoidance teaching point is automatically generated and automatically inserted at the corresponding position, but control may be performed such that the addition of the instruction code is confirmed after waiting for a user operation that permits the insertion.

[0070] After adding a movement instruction to the avoidance teaching point and executing the modified robot program, command value data of the robot device is created. By inputting the created command value data into the simulation software E again and performing the processes of S1 to S4 in the first embodiment, the modified operation can be confirmed.

[0071] As described above, the display of the 3D model display unit 107 and further the display of one or the event display unit 203 can be linked, and their displays can be updated according to the user's event selection and editing operations. Thereby, the modification of the robot control data (teaching points and robot programs) can be easily performed, the man-hours required for the simulation of the robot device can be reduced, and the simulation work can be efficiently performed. Note that the creation of the robot control data (teaching points and robot programs) verified by this simulator device is performed by a virtual controller in the simulator, for example, a configuration performed by direct teaching using the 3D model display unit 107 can be considered. Further, not limited to this, as the robot control data (teaching points and robot programs) verified by this simulator device, those created by other external devices, control terminals such as teaching pendants, etc. may be used.

[0072] <Embodiment 3> Hereinafter, with reference to FIGS. 7(a) to 7(c), the display control of the simulator device according to Embodiment 3 of the present invention will be described.

[0073] In the graph display unit 112 of the event display unit 108 of Embodiment 1, a control example of the display mode was shown in which red bands (113) and yellow bands (113a, 114) indicating the positions of each warning event of interference and interference with threshold (collision) are respectively displayed.

[0074] As the change control of the display mode for emphasizing each warning event of interference and interference with threshold (collision) in the event display unit 108 having a time axis, a method other than the change of the display color as described above may be used.

[0075] For example, as shown in the event display unit 201 of FIG. 7(a), in order to emphasize each warning event of interference and interference with threshold (collision), display patterns such as stripe bands (301) and mesh bands (302) may be used respectively. Such a hatched display mode is suitable when the display B is a black-and-white display without a color display function.

[0076] Note that the display formats in Fig. 7(a) and Fig. 7(b) below show an example of the event display section 201 using the slider bar shown in Fig. 6(a). However, a similar display mode to Fig. 5 may also be used in the event display section 108 with a graph display section 112 provided as a display section with a time axis.

[0077] In the event display section 201 of Fig. 7(b), in order to emphasize each warning event of interference and interference with threshold (collision), marks such as arrows (303) and triangles (304) are displayed at the positions of the respective events on the slider bar. Such highlighting by marks is suitable when the display area per frame of the robot operation in the event display section 201 using the slider bar or the graph display section 112 is small. Also, if the marks are displayed only in the frames where the state of the analysis result has changed, the possibility of the marks overlapping is reduced, and the ease of display visibility is improved.

[0078] Also, the event display section 202 in Fig. 7(c) has a table (chart) - shaped display format equivalent to Fig. 6(b). In the event display section 202 of Fig. 7(c), for example, in order to emphasize each warning event of interference and interference with threshold (collision), the size of the characters (305) and the boldness of the characters (306: bold face) are changed respectively. Other possible changes in the display mode of the characters include, for example, changes in the color of the characters, the font (typeface), etc. Depending on the display B, there are some that have the characteristic that the readability of the characters decreases in the case of overlapping display patterns like hatching and characters. In such a display, a configuration that emphasizes each warning event of interference and interference with threshold (collision) by changing the display mode of the characters themselves as shown in Fig. 7(c) may be useful.

[0079] Even with the display modes shown in FIGS. 7(a) to 7(c), by highlighting warning events such as interference and interference with threshold (collision), the user can intuitively recognize the warning events and perform the simulation work efficiently. That is, according to the user interface of the present embodiment, the user can intuitively determine the presence or absence of warning events related to the operation of the robot device being verified, and can surely and extremely efficiently perform the verification work or the editing work of the robot control data without omission.

[0080] In addition, when performing a hatching-like display pattern, display of a mark, change in the display mode of characters, etc. as shown in FIGS. 7(a) to 7(c), the change in the display color (or brightness, density, etc.) exemplified in Embodiments 1 and 2 may be performed simultaneously. For example, by simultaneously changing the color (brightness, density) and the display mode other than the color, such as a red stripe band (301) or a yellow triangle (304), the warning event can be displayed more clearly.

[0081] <Embodiment 4> Hereinafter, with reference to FIGS. 8 to 10, the configuration of the control system of the simulator device according to Embodiment 4 of the present invention and its display control will be described.

[0082] In the above-described Embodiments 1 to 3, mainly interference (collision) was exemplified as a warning event, and the configuration of the control system and its display control were described. However, the event to be displayed by the event display unit as a warning event may be related to other analysis results. In Embodiment 4, a configuration in which the analysis unit 106 has analysis functions of singularity determination (401) and tip acceleration determination (402) in addition to interference determination (110) will be exemplified. Hereinafter, as a hardware and software configuration, the configuration used for the description in Embodiments 1 to 3 will be used as a basic configuration, and the parts different from that will be described. Hereinafter, the same or equivalent members as those already described will be denoted by the same reference numerals, and the detailed description thereof will be omitted.

[0083] FIG. 8 shows the hardware or software functional block configuration of the control system of the present embodiment in the same format as FIG. 2 of Embodiment 1. In FIG. 8, the difference from FIG. 2 is that the analysis unit 106 has the functions of singularity determination 401 and tip acceleration determination 402 in addition to interference determination 110. The function of the interference determination 110 is to identify each warning event of interference and interference with threshold (collision) in the same manner as in each of the above-described embodiments.

[0084] In addition, the singularity determination 401 is a process of calculating and determining a region where the solutions of the position and orientation of the robot device are not determined. For example, when a teaching point that designates the position of the TCP, for example, is given as robot control data, even if inverse kinematic calculation is performed, the position of the teaching point where the solutions of the position and orientation of the robot device cannot be obtained exists in the operation space of the robot device. In an actual robot device or a 3D model simulating the same, the regions that become singularities differ depending on hardware conditions such as the movable angle range of the joints and the link length. This is to limit this. This singularity determination 401 is used to prevent the possibility of abnormal stop by moving to a singularity where the solutions of the position and orientation of the robot device cannot be obtained due to, for example, correction of the position of the robot.

[0085] In addition, the tip acceleration determination 402 is a process of calculating the acceleration of the tip (for example, TCP) of the robot device and determining whether the acceleration is equal to or greater than a threshold value. If the tip (for example, TCP) of the robot device is operated at an excessive acceleration, the robot device may drop the workpiece being held or an overload may be applied to the joint mechanism, resulting in a failure. This tip acceleration determination 402 is used to control so that the robot device does not operate at such an excessive acceleration.

[0086] Hereinafter, an example of a display mode will be given when the analysis unit 106 has the functions of singularity determination 401 and tip acceleration determination 402 in addition to interference determination 110, and the warning events identified by these determination means are displayed by the event display unit. In the present embodiment, it is assumed that a six-axis articulated robot is used for the robot device (or its 3D model) to be simulated.

[0087] In Embodiment 1, the analysis by the interference determination 110 and the control procedure involving the change in the display mode of the identified warning event are shown in FIG. 4. The control procedure in FIG. 4 can be used for the analysis by the singularity determination 401 and the tip acceleration determination 402, and the control involving the change in the display mode of the warning event identified thereby.

[0088] However, in step S4 of FIG. 4, in the display control involving the change in the display mode of the warning event identified by the singularity determination 401 and the tip acceleration determination 402, a display mode distinguishable from other events is used, similar to the case of the warning event identified by the interference determination 110, for example.

[0089] For example, for the singularity of the robot device (3D model) to be analyzed and identified by the singularity determination 401, there is a state where two axes of a specific joint are located on a straight line. Also, in the case of a 6-axis multi-joint robot, etc., there are three types of joints: Wrist, Elbow, and Sholder, and for the singularity states occurring in these three types, there are the following singularities: Singularity Wrist, Singularity Elbow, and Singularity Sholder.

[0090] Here, the Singularity Wrist is a state where the 4th axis and the 6th axis are on a straight line and the solution of the position and orientation is not determined. The Singularity Elbow is a state where the 2nd axis, the 3rd axis, and the 5th axis are on a straight line and the solution of the position and orientation is not determined. The Singularity Sholder is a state where the 1st axis and the 6th axis are on a straight line and the solution of the position and orientation is not determined.

[0091] In this embodiment, as shown in FIG. 9(a), the analysis condition setting unit 109 is configured such that the user can set the thresholds for the three types of singularities to be analyzed: Singularity Wrist, Singularity Elbow, and Singularity Sholder. The Singularity Wrist is set in terms of an angle (such as in deg units). The Singularity Elbow and the Singularity Sholder are set in terms of the distance from the singularity (such as in mm units).

[0092] The display of the analysis results of the singularity determination 401 is performed for each robot. This is because if there are two or more robots and the analysis results of the singularities of all the robots are superimposed and displayed, it becomes difficult to determine which robot has generated the singularity.

[0093] For example, FIG. 9(b) shows an example of displaying the analysis results of the singularity determination 401 on the graph display section 112 of the event display section 108 in the present embodiment. Here, the analysis results of the singularity determination 401 are displayed by bands (113, 113a, 114) of different colors for the singularity event and the threshold singularity event (designated by the analysis condition setting section 109), similar to the case of the display mode of the warning event regarding interference described above.

[0094] In the display mode of FIG. 9(b), for the two robot devices of Robot1 and Robot2, the angle of the first joint (Joint1) is separately displayed in a two-stage graph display. In this way, by separating the display of the graph display section 112 for each of the two robot devices of Robot1 and Robot2 and graphically displaying the joint angle (command value), it becomes possible to intuitively determine which robot has generated the singularity.

[0095] Also, FIG. 9(c) is an example of changing the display mode so that the singularity event, the threshold singularity event designated by the analysis condition setting section 109, and other events can be distinguished by the same event display section 201 as in FIG. 6(a). In the slider bar type event display section 201 as shown in FIG. 9(c), only the analysis results of one robot can be displayed. In that case, it is advisable to provide display selection (403) means such as a pull-down menu on the event display section 201 so that the analysis results of the robot to be displayed can be selected. Also in the example of FIG. 9(c), the singularity event specified as the warning event and the threshold singularity event (designated by the analysis condition setting section 109) are displayed by bands (113, 113a, 114) of different colors.

[0096] With reference to FIGS. 10(a) and 10(b), the change control of the display mode of the warning event specified (analyzed) by the tip acceleration determination 402 will be described. By the tip acceleration determination 402, when the acceleration of a specific reference part (such as TCP) exceeds a certain threshold value, it is specified as a warning event. In this case, for example, as shown in FIG. 10(a), the analysis condition setting unit 109 may be configured such that the user can set a plurality of threshold values (1 and 2) according to conditions to be verified or the like.

[0097] The display of the warning event specified by the tip acceleration determination 402 on the graph display unit 112 of the event display unit 108 is preferably performed separately for each robot as shown in FIG. 10(b), similar to the case of singularities. In the example of FIG. 10(b), the frames in which the tip acceleration of the robot device (3D model) exceeds the two threshold values set by the analysis condition setting unit 109 are specified as warning events by the tip acceleration determination 402. And the exceedance of these two threshold values is displayed by different colored bands (113, 113a, 114). Note that in the graph display unit 112 (or the event display unit 202 in a table format such as FIGS. 6(b) and 7(c)), the numerical values used for display may be the calculation results of the tip acceleration instead of the commanded values of the joint angles.

[0098] In the present embodiment, based on the singularity determination 401 and the tip acceleration determination 402 as described above, the warning events obtained by analyzing the singularities and the tip acceleration are displayed in a display mode different from other events, similar to the case of the interference determination 110 in Embodiments 1 to 3. Therefore, by highlighting these warning events, the user can intuitively recognize the warning events and perform the simulation work efficiently. That is, according to the user interface of the present embodiment, the user can intuitively determine the presence or absence of warning events related to the operation of the robot device being verified, and can perform the verification work or the editing work of the robot control data reliably and extremely efficiently without omission.

[0099] <Embodiment 5> Hereinafter, with reference to FIGS. 11 and 12, the display control of the simulator device according to Embodiment 5 of the present invention will be described. In FIGS. 11 and 12, the control procedure of the control unit 101 is shown by a flowchart, but other hardware / software configurations of the simulator device are assumed to be the same as those described in the above embodiments.

[0100] In Embodiment 5, an example of a method of moving to a frame of an event in which the state of the analysis result changes before and after is exemplified in the event display units (108, 201 to 203 in the above embodiments) and the 3D model display unit 107 that are interlocked with each other.

[0101] For example, on the display of the 3D model display unit 107, it is convenient to search for a position where the state changes from a non-warning event (a normal event that is not a warning event) to a warning event or from a warning event to a non-warning event before and after, and to move to that display state. In addition, for warning events, there are different types or levels of warning events such as the above-mentioned interference and interference with a threshold (collision). In this embodiment, transitions between these different warning events are also targets of search.

[0102] However, generally, non-warning events occupy many display areas on the display surface of the event display units (108, 201 to 203), and the main purpose is to search for warning events from there and move to that position. Therefore, hereinafter, the case of searching for a position where the change occurs from a non-warning event to a warning event will be described as an example. However, the procedures illustrated in FIGS. 11, 12, etc. can also be used when searching for a position where the change occurs from a warning event to a non-warning event.

[0103] The flowchart diagrams of FIGS. 11 and 12 respectively show different display control procedures of the event display units (108, 201 to 203) of the simulator device according to Embodiment 5.

[0104] Note that, in the following, as examples of warning events, each warning event of interference and interference with a threshold value (collision) will be used for explanation. However, even when searching for other warning events described in Embodiments 3, 4, etc., the control procedures in FIGS. 11 and 12 can be used.

[0105] The display control procedure in FIG. 11 is for moving, with one operation of the user, from the event frame that is closest to the event frame being displayed (or in the selected state) to the event frame in which the state of the analysis result changes. Here, the change in the state of the event to be searched for is a change from an un-interfered (un-collided) event to an interference with a threshold value (collision), or a change from an interference with a threshold value (collision) to an interference (collision) event. Further, in this embodiment, a change from an interference (collision) event to an interference with a threshold value (collision), and further a change from an interference with a threshold value (collision) to an un-interfered (un-collided) event are also treated as search targets.

[0106] The display control of this embodiment is performed by the search process of Steps S5 to S7 as shown in FIG. 11. Note that the search process of this embodiment is assumed to be activated by a predetermined operation from the keyboard D, a search dialog displayed on the display B, etc., but other methods may be used to activate the search process.

[0107] When the search process of this embodiment is activated by the above-mentioned trigger, in Step S5, based on the analysis result of the analysis unit (106), an event frame in which the state changes as exemplified above is searched for. Here, when there are a plurality of search results, they are listed and saved. Thereby, in the next search, the search process can be performed using the saved list.

[0108] In step S6, if there is a corresponding frame, in step S7, the frame closest to the frame currently being displayed on the event display units (108, 201 to 203) is selected and the display is moved to the selected frame. Then, the state of the 3D model of the robot device is displayed on the 3D model display unit 107 according to the selected frame. In addition, in conjunction with this, the display on the event display units (108, 201 to 203) is also automatically scrolled or the display magnification is automatically changed, for example, so that the change position of the relevant event appears within the display area. Also, in step S6, if there is no frame corresponding to the state change, the search process is terminated.

[0109] As described above, according to the control procedure of FIG. 11, it is possible to move to the frames of events in which the state of the analysis result changes before and after in the event display units (108, 201 to 203 in the above-described embodiments) and the 3D model display unit 107 that are interlocked with each other. Therefore, the user can intuitively determine the presence or absence of warning events related to the operation of the robot device being verified, and can perform the verification work or the editing work of the robot control data reliably and extremely efficiently without overlooking anything.

[0110] Note that it is desirable to be able to move in both the past and future (forward and backward) directions on the time axis for operating the model of the robot device for the search direction. Therefore, when displaying the dialog for starting the search process of FIG. 11 on the display B or the like, it is advisable to enable the specification of the "search direction" in the past or future (forward or backward).

[0111] Also, if the above-described list of searched events (or frames) already exists, a display window or display tab for displaying the list in a table format or a graph format may be displayed on the display B. According to such a list display in a table format or a graph format, it is possible to list at a glance how frequently, how many times, and at what cycle the warning events being focused on occur, and it can be easily confirmed.

[0112] In addition, this list display in table format or graph format can also be used as a dialog for event search. For example, by specifying a specific warning or non-warning event included in the list display using, for example, the mouse C, the display state of the 3D model of the robot device in the 3D model display unit 107 is updated to the state of the corresponding event. Through such linked display control, the user can finely grasp the behavior of the 3D model of the robot device being verified.

[0113] FIG. 12 shows control for searching for a change in an event while the 3D model display unit 107 is displaying the operation of the 3D model of the robot device as an animation (video), and stopping (stopping motion or displaying a still image) the animation (video) display at that position.

[0114] When the 3D model display unit 107 displays (plays) the operation of the 3D model of the robot device as an animation (video), the display may be thinned out (so-called decimation of pieces) of frames due to setting of the playback speed or hardware constraints. In the 3D model display unit 107, as in the prior art, a part where interference (collision) or the like has occurred, or the robot device may be highlighted (by changing display color, brightness, density, etc.). However, when the 3D model display unit 107 performs an animation (video) display with the above-mentioned frame drop, the highlighting of a warning event that appears in only one to several frames may be decimated.

[0115] Therefore, in the control procedure of FIG. 12, the frame in which the event changes is searched from all the frames, and if there is a corresponding frame, the display of the 3D model display unit 107 is updated to display that frame and stopped there. Thereby, even when the 3D model display unit 107 is performing an animation (video) display, the user can surely be made to confirm the frame in which the event changes, for example, the frame corresponding to the warning event.

[0116] In FIG. 12, when the reproduction of the animation of the 3D model display unit 107 is specified, in step S8, the frame to be drawn next to the currently displayed frame is set. This process is performed by, for example, specifying the image data of the frame to be drawn next, which is assigned to a specific area in a specific storage unit 105, to the drawn frame buffer. Usually, two (or more) frame buffers are arranged in the storage unit 105, and while reading (display in step S13) is being performed in one frame buffer, subsequent frame drawing is performed in the other frame buffer.

[0117] In this embodiment, using the section from the currently displayed frame until the next frame is displayed on the display B (steps S8 to S13), a search for the frame corresponding to the change in the event to be searched for (steps S9, S10) is performed. That is, in step S9, a frame corresponding to the change in the event to be searched for is searched, and if there is no corresponding frame, the process proceeds to step S13, and the display of the 3D model display unit 107 is updated using the frame set in step S8.

[0118] After step S8, if no frame corresponding to the change in the event is found by the search between frames (S9, S10), the animation (video) display operates until the end in a loop that returns to step S8 via steps S13 and S14 (judgment of the last operation). In step S14, when the last display frame has been displayed, the animation (video) display is stopped (step S12).

[0119] On the other hand, when a frame corresponding to the change in the event to be searched for is found in step S10, a transition from step S10 to S11 occurs. In step S11, the display of the 3D model display unit 107 is updated using the frame in which the searched change in the event has occurred, rather than the "next frame" set in step S8. Then, with this frame left as a still image display, the animation (video) display is stopped (step S12).

[0120] As described above, according to the control procedure of FIG. 12, when the 3D model display unit 107 performs animation (video) display, by using the interval between display frames, a frame corresponding to the change of the event in the direction of the subsequent frame can be searched, and the frame can be displayed and stopped. Therefore, when the 3D model display unit 107 is performing animation (video) display, even in a situation where frame drops occur, it is possible to surely cause the user to confirm a frame in which the event changes, for example, a frame corresponding to a warning event. Accordingly, the user can intuitively determine the presence or absence of a warning event related to the operation of the robot device being verified, and can perform the verification work or the editing work of the robot control data surely and extremely efficiently without omission.

[0121] Here, a more specific configuration example of a robot device that operates according to robot control data (teaching point data and robot programs) verified by the simulator devices of FIGS. 1 and 2, and a configuration when the robot arm is applied to a production system will be shown.

[0122] FIG. 13 shows the overall configuration of a robot device 1001 that operates according to robot control data (teaching point data and robot programs) verified by the simulator devices of FIGS. 1 and 2. In FIG. 13, the robot device 1001 (robot device) includes, for example, a robot arm main body 1201 of a 6-axis (articulated) vertical articulated type. Each joint of the robot arm main body 1201 can be controlled to a desired position and posture by servo-controlling a servo motor provided in each joint.

[0123] At the tip (hand) of the robot arm main body 1201, a tool such as a hand 1202 is attached, and by this hand 1202, a workpiece 1203 can be gripped, and production work such as assembling or processing the workpiece 1203 can be performed. The workpiece 1203 is, for example, a part of an industrial product such as an automobile or an electrical product, and the robot device 1001 can be arranged as a production device in such a production system (production line).

[0124] The operation of the robot arm body 1201 of the robot device 1001 is controlled by a robot control device 1200 (robot controller). The robot control data for the robot device 1001 can be programmed (taught) or edited such as fine - tuning by an operation terminal 1204 (for example, a teaching pendant) connected to the robot control device 1200.

[0125] Also, via the network NW, the robot device 1001 or the robot control device 1200 can receive the robot control data or the trajectory data optimized as described above from the simulator device shown in FIGS. 1 and 2. Thereby, based on the robot control data optimized by the above - described processing, the robot device 1001 can operate as a production device constituting a production system (production line), and an article can be manufactured by the robot device 1001.

[0126] The present invention can also be realized by supplying a program that realizes one or more functions of the above - described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (for example, an ASIC) that realizes one or more functions.

Explanation of Reference Numerals

[0127] A... computer main body, B... display, C... mouse, D... keyboard, E... simulation software, 101... control unit, 102... display unit, 103... operation unit, 104... data input / output unit, 105... storage unit, 106... analysis unit, 107... 3D model display unit, 108, 201, 202, 203... event display unit, 109... analysis condition setting screen, 110... interference determination, 111... analysis execution button, 112... graph display unit, 113... (red) band, 114... (yellow) band, 301... (striped) band, 302... (meshed) band, 303, 304... mark, 401... singular point determination, 402... tip acceleration determination.

Claims

1. A simulator device for simulating the operation of a robot system having a first robot and a second robot in a virtual space, on a display unit, an information display area is displayed that shows information on a first operation parameter corresponding to a joint angle or a tip acceleration of the first robot and a second operation parameter corresponding to a joint angle or a tip acceleration of the second robot in time series, in the information display area, a first area corresponding to the first robot and a second area corresponding to the second robot are displayed, the first operation parameter corresponding to the first robot is displayed in the first area, and the second operation parameter corresponding to the second robot is displayed in the second area, a first warning event of the first robot is displayed in the first area, and a second warning event of the second robot is displayed in the second area, The simulator device is characterized in that.

2. In the simulator device according to claim 1, the first area and the second area are separated and displayed on the display unit, The simulator device is characterized in that.

3. In the simulator device according to claim 2, the first area and the second area are displayed in the same window of the display unit in a separated state, The simulator device is characterized in that.

4. In the simulator device according to any one of claims 1 to 3, the first area and the second area are displayed in the same area, The simulator device is characterized in that.

5. In the simulator device according to any one of claims 1 to 4, it is possible to switch between a state in which the first area is displayed and a state in which the second area is displayed, A simulator device characterized by the following.

6. In the simulator device according to claim 5, By selecting the first robot or the second robot, switching between a state where the first area is displayed and a state where the second area is displayed. A simulator device characterized by the following.

7. In the simulator device according to any one of claims 1 to 6, Identifying the first warning event of the first robot and the second warning event of the second robot based on the first operation parameter and the second operation parameter. A simulator device characterized by the following.

8. In the simulator device according to any one of claims 1 to 7, The first warning event and the second warning event are each independently displayed in the first area and the second area. A simulator device characterized by the following.

9. In the simulator device according to any one of claims 1 to 8, Superimposing the first warning event on the first operation parameter and superimposing the second warning event on the second operation parameter for display. A simulator device characterized by the following.

10. In the simulator device according to claim 9, Superimposing and displaying the first warning event on the first operation parameter so that the first operation parameter can be visually recognized, and superimposing and displaying the second warning event on the second operation parameter so that the second operation parameter can be visually recognized. A simulator device characterized by the following.

11. In the simulator device according to any one of claims 1 to 10, In the display of the first warning event and the second warning event, display them in different display forms according to the stages of the first warning event and the second warning event. A simulator device characterized by this.

12. In the simulator device according to any one of Claims 1 to 10, In the display of the first warning event and the second warning event, display them in different colors according to the stages of the first warning event and the second warning event. A simulator device characterized by this.

13. In the simulator device according to any one of Claims 1 to 10, In the display of the first warning event and the second warning event, display them in different patterns according to the stages of the first warning event and the second warning event. A simulator device characterized by this.

14. In the simulator device according to any one of Claims 1 to 10, In the display of the first warning event and the second warning event, display them in different densities according to the stages of the first warning event and the second warning event. A simulator device characterized by this.

15. In the simulator device according to any one of Claims 1 to 10, In the display of the first warning event and the second warning event, display them in different luminances according to the stages of the first warning event and the second warning event. A simulator device characterized by this.

16. In the simulator device according to any one of Claims 1 to 15, In the identification of the first warning event and the second warning event, Based on the first motion parameter and the second motion parameter, identify a state where the model of the first robot or the second robot in the virtual environment is in contact with another model as a first interference stage. Based on the first motion parameter and the second motion parameter, identify a state where the model of the first robot or the second robot and the other model have a predetermined gap as a second interference stage. In the display of the first warning event and the second warning event in the first region and the second region, make the first display form in the first interference stage different from the second display form in the second interference stage. A simulator device characterized by the above.

17. In the simulator device according to any one of claims 1 to 15, In the identification of the first warning event and the second warning event, Based on the first motion parameter and the second motion parameter, identify a state where a singularity occurs in the first robot or the second robot as a first singularity stage. Based on the first motion parameter and the second motion parameter, identify a state where the first robot or the second robot is within a predetermined range from the singularity as a second singularity stage. In the display of the first warning event and the second warning event in the first region and the second region, make the first display form in the first singularity stage different from the second display form in the second singularity stage. A simulator device characterized by the above.

18. In the simulator device according to any one of claims 1 to 15, In the identification of the first warning event and the second warning event, Based on the first motion parameter and the second motion parameter, identify a state where an acceleration of a first threshold value or more occurs at a predetermined part in the first robot or the second robot as a first acceleration stage. Based on the first operation parameter and the second operation parameter, a state in which an acceleration smaller than the first threshold value and equal to or greater than the second threshold value is generated at the predetermined part in the first robot or the second robot is specified as a second acceleration stage. In the display of the first warning event and the second warning event in the first area and the second area, the first display form in the first acceleration stage is made different from the second display form in the second acceleration stage. A simulator device characterized by the above.

19. In the simulator device according to any one of claims 16 to 18, In the display of the first warning event and the second warning event, the first display form is displayed sandwiched between the second display forms. A simulator device characterized by the above.

20. In the simulator device according to any one of claims 16 to 18, In the display of the first warning event and the second warning event, the first display form and the second display form are displayed adjacent to each other. A simulator device characterized by the above.

21. In the simulator device according to any one of claims 7 to 20, Based on a predetermined operation of the user, the first warning event and the second warning event are updated to a state of being displayed in the information display area. A simulator device characterized by the above.

22. In the simulator device according to claim 21, Based on the predetermined operation, the state of the first robot or the second robot at the predetermined timing in the time series is changed from the state of being displayed in the information display area to the state of the first warning event or the second warning event at the timing closest to before or after the predetermined timing in the time series being displayed in the information display area. A simulator device characterized by the following.

23. In the simulator device according to claim 22, when the user performs an operation to display the first warning event or the second warning event that exists before the predetermined timing in the time series from the state where the state of the first robot or the second robot at the predetermined timing is displayed in the information display area, the information display area is updated to a state where the first warning event or the second warning event at the timing closest to the predetermined timing before the predetermined timing in the time series is displayed, when the user performs an operation to display the first warning event or the second warning event that exists after the predetermined timing in the time series from the state where the state of the first robot or the second robot at the predetermined timing is displayed in the information display area, the information display area is updated to a state where the first warning event or the second warning event at the timing closest to the predetermined timing after the predetermined timing in the time series is displayed, A simulator device characterized by the following.

24. In the simulator device according to claim 22 or 23, a plurality of the first warning events or the second warning events are specified on the time series, based on the predetermined operation, from the state where a predetermined first warning event or a predetermined second warning event among the plurality of the first warning events or the plurality of the second warning events is displayed in the information display area, the information display area is updated to a state where the first warning event or the second warning event at the timing closest to before or after the predetermined first warning event or before or after the predetermined second warning event in the time series is displayed, A simulator device characterized by the following.

25. In the simulator device according to any one of claims 7 to 24, on the display unit Display an operation display area that displays the operation of the first robot or the second robot that operates in a virtual environment in a simulated manner. The operation display area and the information display area are displayed in conjunction with each other. A simulator device characterized by the above.

26. In the simulator device according to claim 25, Based on an operation for designating a search for the first warning event or the second warning event of the user, the state of the first robot or the second robot in the searched first warning event or second warning event is updated to the state displayed in the operation display area and the information display area. A simulator device characterized by the above.

27. In the simulator device according to claim 25 or 26, In the operation display area, an animation display of the model of the robot system is performed, a drawing frame in which the first warning event or the second warning event occurs is searched, and when the drawing frame in which the first warning event or the second warning event occurs is detected, the animation display in the operation display area is updated to the state of the searched drawing frame. A simulator device characterized by the above.

28. In the simulator device according to any one of claims 7 to 27, The user can set the type of the first warning event or the second warning event to be specified and the threshold value for specifying the first warning event or the second warning event. A simulator device characterized by the above.

29. In the simulator device according to any one of claims 1 to 28, Display a time axis in the information display area. A simulator device characterized by the above.

30. A simulation method for simulating the operation of a robot system having a first robot and a second robot in a virtual space, on a display unit, display an information display area that displays information on a first operation parameter corresponding to a joint angle or a tip acceleration of the first robot and a second operation parameter corresponding to a joint angle or a tip acceleration of the second robot in time series, in the information display area, display a first area corresponding to the first robot and a second area corresponding to the second robot, display the first operation parameter corresponding to the first robot in the first area, and display the second operation parameter corresponding to the second robot in the second area, display a first warning event of the first robot in the first area and display a second warning event of the second robot in the second area. A simulation method characterized by the above.

31. An article manufacturing method for manufacturing an article by causing the robot system to execute an operation verified using the simulator device according to any one of Claims 1 to 29.

32. A program executable by a computer for the simulation method according to Claim 30.

33. A computer-readable recording medium storing the program according to Claim 32.

Citation Information

Patent Citations

  • Simulation device

    JP2004148428A

  • Assisting device and assisting method for teaching operation for robot

    JP2013136123A

  • Teaching data creation method, creation device, and creation program, and, data structure of teaching data, and recording medium

    JP2016093869A

  • Remote work support system and remote work support method

    JP2017064831A

  • Simulator device, and control method for simulator device

    JP2019123052A