Offline programming device and offline programming method

Through the input, creation and display components of the offline programming device, combined with the first and second display areas, the problem of notifying error information between teaching points is solved, user-friendly error identification and correction is achieved, and the accuracy and efficiency of robot programming are improved.

CN115210047BActive Publication Date: 2025-09-16KAWASAKI JUKOGYO KK
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202080087031.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-12-17
Filing Date
2020-12-15
Publication Date
2025-09-16
Estimated Expiration
2040-12-15

AI Technical Summary

Technical Problem

Existing offline programming methods cannot effectively notify error information between teaching points, making it difficult for users to identify and correct errors in the robot motion program.

Method used

An offline programming device is used to create a robot motion program containing teaching points and intermediate points through a combination of an input unit, a creation unit, a simulation unit, and a display unit. Error information of the teaching points and intermediate points is displayed in the first and second display areas of the GUI screen, respectively, providing detailed error and warning prompts.

Benefits of technology

Users can clearly identify errors and warning events between teaching points, conveniently correct robot motion programs, and improve programming accuracy and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115210047B_ABST
    Figure CN115210047B_ABST
Patent Text Reader

Abstract

The present invention discloses an offline programming device and an offline programming method for notifying a user of errors between teaching points. The offline programming device includes an input unit, a creation unit, a simulation unit, and a display unit. The input unit accepts input of multiple teaching points, the creation unit determines the intermediate points connecting adjacent teaching points, creates a robot motion program, the simulation unit simulates the robot's motion trajectory when executing the motion program, and the display unit displays a GUI screen that represents the motion trajectory. The GUI screen includes a first display area and a second display area. The first display area represents the arrangement of the time series of the multiple teaching points, and the second display area represents the arrangement of the time series of multiple intermediate points between the multiple teaching points using a scale larger than the first display area. When an error is detected in the motion trajectory, the interval between the teaching points including the time point at which the error occurred is displayed in the first display area using a first error display method, and the intermediate point corresponding to the time point at which the error occurred is displayed in the second display area using a second error display method.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to an off-line programming device and an off-line programming method. Background Art

[0002] Without using an actual robot, it is well known to create offline programming that specifies the robot's movements. Patent Document 1 discloses a method for creating a robot's motion program by arranging icons representing commands to the robot in order of movement using a GUI (Graphical User Interface).

[0003] In the method disclosed in Patent Document 1, a programmer configures icons on a program, automatically simulates the operation program up to the configured icons, and when an error is detected due to the simulation, displays information indicating that the icon cannot be operated and the reason for the error.

[0004] Patent Document 1: Japanese Patent Application Laid-Open No. 2008-142788 Summary of the Invention

[0005] In off-line programming (hereinafter, also referred to as "OLP"), when a user inputs teaching points that define operating points of a robot, the OLP apparatus creates a program connecting the input teaching points.

[0006] In the method disclosed in Patent Document 1, although the teaching point as an icon where an error has occurred can be displayed, error information between teaching points cannot be output.

[0007] In view of the above, an object of the present invention is to provide an offline programming device and an offline programming method that enable a user to grasp errors between teaching points.

[0008] An offline programming device according to one aspect of the present invention includes an input unit, a creation unit, a simulation unit, and a display unit. The input unit accepts input of multiple teaching points. The creation unit determines one or more intermediate points connecting adjacent teaching points and creates a robot motion program that includes the multiple teaching points and the intermediate points. The simulation unit simulates the motion trajectory of the robot when executing the motion program. The display unit displays a GUI screen representing the motion trajectory. The GUI screen includes a first display area and a second display area. The first display area displays a time series arrangement of the multiple teaching points. The second display area displays a time series arrangement of the multiple intermediate points between a portion of the multiple teaching points included in the first display area at a larger scale than the first display area. When an error is detected in the motion trajectory, the interval between the teaching points including the time point at which the error occurred can be displayed in the first display area using a first error display method, and the intermediate point corresponding to the time point at which the error occurred can be displayed in the second display area using a second error display method.

[0009] An offline programming method according to one aspect of the present invention includes the steps of accepting input of a plurality of teaching points, determining one or more intermediate points connecting adjacent teaching points and creating a robot motion program including the plurality of teaching points and the intermediate points, simulating the motion trajectory of the robot when executing the motion program, and displaying a GUI screen representing the motion trajectory. The GUI screen includes a first display area and a second display area, the first display area displaying a time series arrangement of the plurality of teaching points, and the second display area displaying a time series arrangement of the plurality of intermediate points between a portion of the plurality of teaching points included in the first display area at a larger scale than the first display area. When an error is detected in the motion trajectory, the interval between the teaching points including the time point at which the error occurred can be displayed in the first display area using a first error display method, and the intermediate point corresponding to the time point at which the error occurred can be displayed in the second display area using a second error display method.

[0010] According to the offline programming device and method, the intermediate point corresponding to the time point at which the error occurred is displayed in the second display area using the second error display method, thereby notifying the user of the error between the teaching points.

[0011] The present invention can be implemented not only as an offline programming device and offline programming method having the above-described features, but also as a computer program for causing a computer to execute the characteristic steps of the offline programming method. Part or all of the offline programming device can be implemented as a semiconductor integrated circuit, or as an offline programming system including the offline programming device.

[0012] (Effects of the Invention)

[0013] According to the present invention, it is possible to notify the user of an error between teaching points. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] Figure 1 This is a block diagram showing an example of the structure of an off-line programming device according to the embodiment.

[0015] Figure 2 This is a functional block diagram showing an example of the functions of the off-line programming device according to the embodiment.

[0016] Figure 3A This is a part of a flowchart showing an example of an operation procedure of the off-line programming device according to the embodiment.

[0017] Figure 3B This is another part of the flowchart showing an example of the operation procedure of the off-line programming device according to the embodiment.

[0018] Figure 4 This is a diagram showing an example of a programming screen according to the embodiment.

[0019] Figure 5 FIG. 1 is a diagram showing an example of a programming screen including a detail confirmation bar.

[0020] Figure 6A : is a diagram showing an example of display change of the detail confirmation bar.

[0021] Figure 6B : is a diagram showing an example of display change of the detail confirmation bar.

[0022] Figure 7A This is a diagram showing an example of how the simulation bar is displayed when an error occurs between two adjacent teaching points.

[0023] Figure 7B This is a diagram showing an example of how the simulation bar is displayed when an error occurs at a teaching point.

[0024] Figure 8A This is a diagram showing an example of how the simulation bar is displayed when an error or warning event occurs.

[0025] Figure 8B FIG. 1 is a diagram showing another example of how the simulation bar is displayed when an error or warning event occurs.

[0026] Figure 9A FIG. 1 is a diagram showing an example of a programming screen when the second teaching point is not given.

[0027] Figure 9B FIG. 1 is a diagram showing an example of a programming screen when the second teaching point is given.

[0028] Figure 9C This is a diagram showing an example of a display form of a programming screen when a teaching point is selected. DETAILED DESCRIPTION

[0029] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that at least some of the embodiments described below may be arbitrarily combined.

[0030] [1. Structure of offline programming device]

[0031] The offline programming device according to this embodiment is a device that is not connected to an actual robot and is used to create a program that specifies the robot's movements. The robot is a vertical multi-jointed robot in one example, a horizontal multi-jointed robot in another example, and a parallel link robot in another example.

[0032] Figure 1 This is a block diagram illustrating an example of the structure of an offline programming device according to this embodiment. The OLP device 100 is configured, for example, as a computer. The OLP device 100 includes a processor 110, non-volatile memory 120, volatile memory 130, an input / output interface 140, an input device 150, and a display device 160.

[0033] The transient memory 130 is a volatile memory such as SRAM (static random access memory) or DRAM (dynamic random access memory). The non-volatile memory 120 is a non-volatile memory such as a flash memory, a hard disk, or a ROM (read-only memory). The non-volatile memory 120 stores an OLP program 170, which is a computer program, and data used to execute the OLP program 170.

[0034] The OLP device 100 is configured as a computer. The various functions of the OLP device 100 are performed by a processor 110, which is a CPU, executing an OLP program 170, a computer program stored in the computer's storage device. The OLP program 170 can be stored in a storage medium such as flash memory, ROM, or CD-ROM. The processor 110 executes the OLP program 170 and displays the programming screen described below.

[0035] It should be noted that the processor 110 is not limited to a CPU. The processor 110 may also be a hardware logic circuit such as an ASIC (Application Specific Integrated Circuit), a gate array, or an FPGA (Field Programmable Gate Array). In this case, the hardware logic circuit is configured to execute the same processing as the OLP program 170.

[0036] An input device 150 and a display device 160 are connected to the input / output interface 140. The input device 150, for example, is a keyboard, mouse, touchpad, or digital tablet, and is used by a user to input data into the OLP device 100. The display device 160 is a liquid crystal panel or an organic EL (Electro Luminescence) panel, capable of displaying text and images in response to commands. The input / output interface 140 is based on, for example, USB (Universal Serial Bus) or HDMI (High-Definition Multimedia Interface; "HDMI" is a registered trademark), and can receive data from the input device 150 or output display data to the display device 160.

[0037] 〔2. Functions of offline programming device〕

[0038] Figure 2 1 is a functional block diagram showing an example of the functions of the OLP device 100 according to this embodiment. The OLP device 100 has functions as an input unit 101 , a creation unit 102 , a simulation unit 103 , and a display unit 104 .

[0039] The input unit 101 receives user input of commands that define the robot's movements at a specific point in time. These commands include teach points that define the robot's posture (i.e., movement points), the robot's movement direction (e.g., linear or circular), and the type of work performed by the robot (e.g., deburring, welding, or moving). Users can input commands into the input unit 101 in a time series spanning multiple points in time.

[0040] Based on the commands received by the input unit 101, the creation unit 102 determines one or more intermediate points connecting adjacent teaching points and creates a robot motion program that includes the multiple teaching points and the intermediate points. When the motion program is actually executed by the robot, the robot moves along the motion trajectory that follows the time series of commands.

[0041] The simulation unit 103 simulates the motion trajectory of the robot when the motion program is executed. In other words, the simulation unit 103 calculates the motion trajectory of the robot in a three-dimensional virtual space.

[0042] The simulation unit 103 can detect errors in the motion trajectory. "Errors" here refer to events that prevent the calculated motion trajectory from being achieved. Errors include interference between robot components or between robot components and other objects, as well as abnormal movements outside the permitted range, such as movement speeds exceeding the maximum output of the motor or movement beyond the permitted range. When detecting an error, the simulation unit 103 can specify the time at which the error occurred.

[0043] Furthermore, the simulation unit 103 can detect events (warning events) during the motion trajectory that require a user warning. A "warning event" here refers to an event that, while the calculated motion trajectory can be achieved, meets specific warning conditions. Warning conditions include, for example, a movement speed equal to or less than the maximum output of the motor but greater than or equal to a specified value, or an approach to another object outside the permitted range. When detecting a warning event, the simulation unit 103 can specify the time at which the warning event occurs.

[0044] The display unit 104 displays a programming screen for creating an action program. The programming screen is also a GUI screen that displays an action trajectory. The programming screen will be described later.

[0045] 〔3. Operation of offline programming device〕

[0046] Figure 3A as well as Figure 3B This is a flowchart showing an example of the operation procedure of the off-line programming device according to this embodiment.

[0047] When the processor 110 starts the OLP program 170, the following processes are executed: First, the programming screen is displayed on the display device 160 (step S101). Since no command has been registered at this time, the initial programming screen without icons, images (videos), etc. is displayed.

[0048] The user can input commands to the OLP device 100 via the input device 150. The processor 110 receives the input of the command from the user (step S102). The processor 110 then adds a command block, which is a mark (icon) representing the input command, to the command list area, which is an area included in the programming screen (step S103).

[0049] Figure 4 2 is a diagram illustrating an example of a programming screen according to this embodiment. The programming screen 200 includes a command list area 300, a simulation bar 400, and an animation display area 600. In the command list area 300, a plurality of command boxes 310 are arranged in a row in a time series. In other words, in the command list area 300, the command boxes 310 are arranged in the order in which the commands are to be executed.

[0050] Refer again Figure 3A After inputting all the commands required to create the operating program on the programming screen, the user can instruct to start the simulation. The processor 110 determines whether the instruction to start the simulation has been accepted (step S104).

[0051] If the instruction to start the simulation is not received (NO in step S104), processor 110 executes step S102. Therefore, additional input commands can be made. If the instruction to start the simulation is received (YES in step S104), processor 110 creates the robot's motion program based on the input command (step S105). Furthermore, processor 110 executes the simulation (step S106). Specifically, processor 110 simulates the motion trajectory of the robot when executing the motion program specified by the input command.

[0052] When the simulation is finished, the processor 110 displays the simulation bar on the display device 160 (step S107 ) and displays the motion trajectory generated by the simulation as an animation (step S108 ).

[0053] Refer again Figure 4 The simulation bar 400 is provided on the side of the command list area 300. The simulation bar 400 is provided in parallel with the row of command boxes 310 in the command list area 300. The simulation bar 400 is a linear portion parallel to the row of command boxes 310.

[0054] The simulation bar 400 corresponds to the command box 310 in the command list area 300. That is, the horizontal (right) portion of each command box 310 of the simulation bar 400 (the portion at the same position as each command box 310 in the vertical direction in the simulation bar 400) corresponds to each command box 310. For example, Figure 4 In the example, the command box 310 containing the text "Straight line approaching 1" corresponds to the horizontal portion of the command box 310 in the simulation bar 400. The simulation bar 400 has a length greater than the length of the row of command boxes 310 displayed in the command list area 300. Therefore, the simulation bar 400 corresponds to all command boxes 310 displayed in the command list area 300.

[0055] The simulation bar 400 is displayed in a color (e.g., white) that is different from the error color and the warning color. When an error is detected, the portion of the simulation bar 400 corresponding to the time when the error occurred is displayed in the error color (e.g., red). Hereinafter, the portion of the simulation bar 400 displayed in the error color is referred to as the first error region 420.

[0056] Since each part of the simulation bar 400 corresponds to the command box 310, the teaching point near the error occurrence time point is displayed through the first error area 420. Figure 4 In the example, since the first error area 420 is within the range from the command box 310 containing the text "Linear deburring 1" to the command box 310 containing the text "Linear deburring 2", it is possible to understand that the error occurs within the range from the teaching point of the command box 310 containing the text "Linear deburring 1" to the teaching point of the command box 310 containing the text "Linear deburring 2".

[0057] When a warning event is detected, a portion of the simulation bar 400 corresponding to the time point of the warning event is displayed in a warning color (eg, yellow).

[0058] Since each part of the simulation bar 400 corresponds to the instruction frame 310, the teaching point near the occurrence time of the warning event is displayed through the first warning area 430. Figure 4 In the example, since the first warning area 430 is within the range from the command box 310 containing the text "Straight line deburring 3" to the command box 310 containing the text "Straight line away from 1", it is possible to grasp that the warning event occurs within the range from the teaching point of the command box 310 containing the text "Straight line deburring 3" to the teaching point of the command box 310 containing the text "Straight line away from 1".

[0059] The animation display area 600 displays the motion trajectory of the robot when the motion program is executed as an animation (graphic display) on the display device 160. The animation allows the user to visually confirm the motion trajectory of the robot.

[0060] Refer again Figure 3A The user can select any point on the simulation bar 400. For example, the user can select a point by moving a mouse pointer to a point on the simulation bar 400 and clicking it, or by touching a position corresponding to the point on a touch pad or a digital tablet with a finger or a pen.

[0061] Processor 110 determines whether a user has selected a point on simulated bar 400 (step S109). If a user has not selected a point (NO in step S109), processing by OLP device 100 ends. If a user has selected a point on simulated bar 400 (YES in step S109), processor 110 displays a detail confirmation bar on display device 160 (step S110).

[0062] Figure 5This figure shows an example of a programming screen including a detailed confirmation bar. When a point on the simulation bar 400 is selected, a pointer 411 is displayed at the selected point, and a detailed confirmation bar 500 is displayed to the side of the simulation bar 400. The detailed confirmation bar (second display area) 500 is displayed in a portion of the animation display area 600.

[0063] Detailed check bar 500 displays a time series of multiple intermediate points between adjacent teach points. The time series of intermediate points in the interval before and after the point selected on analog bar 400 is displayed on detailed check bar 500 at a larger scale than analog bar 400. In other words, detailed check bar 500 can display detailed information that cannot be displayed on analog bar 400.

[0064] In a specific example, detailed confirmation bar 500 includes scales representing one or more teach points and each of a plurality of intermediate points. For example, the scales for the intermediate points are represented by thin lines, while the scales for the teach points are represented by thick lines. In other words, in detailed confirmation bar 500, the intermediate points and the teach points are displayed so as to be distinguishable from each other.

[0065] Detailed confirmation bar 500 is displayed in a color (e.g., black) that is different from the error color and warning color. When an error is detected, the portion of detailed confirmation bar 500 corresponding to the time when the error occurred is displayed in the error color. Hereinafter, the portion of detailed confirmation bar 500 displayed in the error color is referred to as second error area 520.

[0066] Since the time series of the intermediate points is displayed on the detailed confirmation bar 500, the intermediate points near the error occurrence time point are displayed in the second error area 520. Figure 5 In the example, since the second error region 520 is within the range from the midpoint of the "027" scale mark to the midpoint of the "029" scale mark, it can be determined that the error occurred within this range. Therefore, the user can roughly identify the time of error occurrence using the analog bar 400 and more specifically identify the time of error occurrence using the detailed confirmation bar 500.

[0067] When a warning event is detected, the portion of the detailed confirmation bar 500 corresponding to the time point at which the warning event occurred is displayed in a warning color. Hereinafter, the portion of the detailed confirmation bar 500 displayed in a warning color is referred to as a second warning area. Since the time series of intermediate points is displayed in the detailed confirmation bar 500, the intermediate points near the time point at which the warning event occurred are displayed in the second warning area. Figure 5In the example shown, the second warning area is outside the display range of the detailed confirmation bar 500 and is not shown, but is displayed in the same manner as the second error area 520. Therefore, the user can roughly identify the occurrence time of the warning event through the analog bar 400 and identify the occurrence time of the warning event in detail through the detailed confirmation bar 500.

[0068] Reference Figure 3B The user can slide the pointer 411 along the simulation bar 400. For example, the user can slide the pointer 411 by dragging or sliding the screen while the pointer 411 is selected. The pointer 411 slides, so that the selected point on the simulation bar 400 changes.

[0069] Processor 110 determines whether a change in the user's selection point on simulation bar 400 has been accepted (step S111). If a change in the user's selection point has not been accepted (NO in step S111), processor 110 transfers the process to step S113. If a change in the user's selection point has been accepted (YES in step S111), processor 110 causes display device 160 to change the display of detail confirmation bar 500 (step S112).

[0070] Figure 6A as well as Figure 6B is a diagram showing an example of display change of the detail confirmation bar 500 . Figure 6A as well as Figure 6B 4 and 5 show the details confirmation bar 500 before and after the display change. Figure 6A as well as Figure 6B As shown, indicator 511, indicating the selected point, is located at the vertical center of detail confirmation bar 500. The time point indicated by indicator 511 is the same as the time point selected by pointer 411. That is, the time point selected by pointer 411 and displayed on simulation bar 400 is the same as the time point indicated by indicator 511 and displayed on detail confirmation bar 500. The position of indicator 511 is fixed. In other words, indicator 511 is always located at the vertical center of detail confirmation bar 500, and its position does not change even if pointer 411 is slid.

[0071] like Figure 6A and 6B As shown in an example of FIG, when the pointer 411 is slid, the interval indicated by the detail confirmation bar 500 changes according to the position of the pointer 411. Figure 6A In the example, the detail confirmation bar 500 indicates the interval from the "021" scale mark to the "039" scale mark, and Figure 6BIn the example, the detail confirmation bar 500 shows the interval from the scale mark "013" to the scale mark "032". Since the display interval of the detail confirmation bar 500 changes according to the change of the user's selection point, the user can display the detailed information of the interval he wants to confirm on the detail confirmation bar 500 by sliding the pointer 411. Figure 6A as well as Figure 6B In the example shown, the indicator 511 is a horizontally extending dotted line, but is not limited thereto. For example, the indicator 511 can be a horizontally extending solid line, or a circle, arrow, or other mark.

[0072] When pointer 411 is slid, and the section indicated by detail confirmation bar 500 changes, the position of second error area 520 changes accordingly. Second error area 520 appears in detail confirmation bar 500 during the section where the error occurred. Therefore, when pointer 411 is moved, and the display section of detail confirmation bar 500 changes, the position of second error area 520 changes by the same amount as the display section of detail confirmation bar 500 changes, in the same direction as the change in the display section. In this case, if part or all of second error area 520 is outside the display range of detail confirmation bar 500, part or all of second error area 520 is not displayed on detail confirmation bar 500. It should be noted that the same applies to the second warning area; its position changes as the display section of detail confirmation bar 500 changes.

[0073] Refer again Figure 3B Sometimes, a user edits an action program to change a portion of the robot's motion trajectory. For example, if a robot component interferes with another object, the user can change the motion trajectory to avoid the interference. In the OLP device 100 of this embodiment, the user can use the detailed confirmation bar 500 to edit the action program.

[0074] The user adds a new command to edit an action program. In this case, the user can position the pointer 411 at the point in time at which the command is to be added and, at that point in time, instruct the OLP device 100 to add the new command. For example, the user selects an intermediate point in the detail confirmation bar 500 and instructs the OLP device 100 to add a command to that intermediate point.

[0075] The addition of commands can be instructed by various methods. For example, a button for adding commands can be displayed in the command list area 300, and the user can select the button to instruct the addition of commands. Alternatively, a drop-down list containing multiple items can be displayed in response to a click or touch operation on the programming screen 200, and the user can select the "Add Command" item in the drop-down list to instruct the addition of commands.

[0076] Processor 110 determines whether an instruction to add a command has been received from the user (step S113). If an instruction to add a command has not been received (NO in step S113), processor 110 proceeds to step S116. On the other hand, if an instruction to add a command has been received (YES in step S113), processor 110 adds a command at the time selected at that time (step S114). When adding a command, a teaching point is set at the selected time. Furthermore, the user specifies the robot's motion direction and task type included in the new command.

[0077] Processor 110 determines whether a simulation start instruction has been received (step S115). If a simulation start instruction has been received (YES in step S115), processor 110 transfers the process to step S105. Thus, an operating program including the added command is created, and the simulation is executed.

[0078] On the other hand, if the instruction to start the simulation has not been received (NO in step S115), processor 110 determines whether a user instruction to end the process has been received (step S116). If the instruction to end the process has not been received (NO in step S116), processor 110 transfers the process to step S111. If the instruction to end the process has been received (YES in step S116), processor 110 terminates OLP program 170. The above processing by OLP device 100 ends.

[0079] 〔4. Display mode of programming screen〕

[0080] The programming screen 200, in particular, the simulation bar 400 and the detail confirmation bar 500, have various display modes. Specific examples of the display modes of the programming screen 200 will be described below.

[0081] The display mode of the simulation bar 400 varies depending on the time point at which the error or warning event occurs. More specifically, the display mode of the simulation bar 400 varies depending on whether the error or warning event occurs between two adjacent teaching points or within a teaching point.

[0082] Figure 7A as well as Figure 7B FIG. 1 is a diagram for explaining how a simulation bar is displayed corresponding to the time point at which an error occurs. Figure 7A In FIG. 4 , the display mode of the simulation bar 400 when an error occurs between two adjacent teaching points is shown as an example. Figure 7B , the display mode of the simulation bar 400 when an error occurs in a teaching point is shown as an example.

[0083] When the error occurs between two adjacent teaching points, that is, the error occurs in an intermediate point, or when the error occurs in a section containing multiple intermediate points (excluding teaching points), such as Figure 7A As shown, the first error region 420 is set in the interval between two adjacent teaching points sandwiching the time point at which the error occurs. It should be noted that the "interval between teaching points" here can be an interval including the teaching points at both ends, an interval excluding the teaching points at both ends, or an interval including the teaching point at one end but not including the teaching points at the other ends. Figure 7A In the example shown in FIG1 , a first error region 420 is set between the teaching point of the "Linear Deburring 1" command block 310 and the teaching point of the "Linear Deburring 2" command block 310. Therefore, the user can understand that an error has occurred between the teaching point of "Linear Deburring 1" and the teaching point of "Linear Deburring 2."

[0084] Furthermore, the detailed error occurrence location is displayed on detailed confirmation bar 500. Specifically, in detailed confirmation bar 500, a second error region 520 is set in a region smaller than first error region 420 in simulation bar 400. Second error region 520 is set in a region between multiple intermediate points that include the time point at which the error occurred. For example, if an error occurs during a period spanning multiple intermediate points, second error region 520 is set in that region of detailed confirmation bar 500. In other examples, if an error occurs at a single intermediate point, second error region 520 is set in a region that includes that intermediate point, for example, between intermediate points (or taught points) on either side of that intermediate point.

[0085] When the error occurs in one teaching point, that is, the error occurs only in one teaching point, or the error occurs in a section containing one teaching point (excluding other teaching points), such as Figure 7B As shown, the first error region 420 is set in an interval spanning three consecutive teaching points sandwiching the teaching point at the error occurrence time and the two teaching points on both sides thereof. Figure 7B In the example shown in FIG4 , a first error region 420 is set in a region spanning the teaching points of the "Linear Approach 3" command frame 310, the teaching points of the "Linear Deburring 1" command frame 310, and the teaching points of the "Linear Deburring 2" command frame 310. Therefore, the user can understand that the error occurred at the teaching point of the "Linear Deburring 1" command frame.

[0086] In this case, the detailed error occurrence location is also displayed on detailed confirmation bar 500. For example, if an error occurs only at one taught point, second error area 520 is set in a section including that taught point, for example, between intermediate points on both sides of that taught point. In other examples, if an error occurs in a section including one taught point and one or more intermediate points, second error area 520 is set in that section of detailed confirmation bar 500.

[0087] When error and warning events occur in the motion trajectory of the robot, a first error area 420 and a first warning area 430 are respectively set on the simulation bar 400 . Figure 8A FIG. 1 is a diagram showing an example of how the simulation bar is displayed when an error or warning event occurs. Figure 8B is a diagram showing other examples.

[0088] exist Figure 8A An example is shown in which the first error region 420 and the first warning region 430 are separated from each other in the simulation bar 400. As described above, the first error region 420 and the first warning region 430 appear in the interval specified by the time of the error and warning events. When the first error region 420 and the first warning region 430 do not overlap, that is, when the first error region 420 and the first warning region 430 are in contact (the taught point at one end of the first error region 420 and the taught point at the other end of the first warning region are the same), or when the first error region 420 and the first warning region 430 are separated from each other, both the first error region 420 and the first warning region 430 are fully displayed.

[0089] exist Figure 8A In the example shown, an error occurs between the taught points of command block 310 for "Linear Approach 3" and "Linear Deburring 1," and a warning occurs between the taught points of command block 310 for "Linear Deburring 2" and "Linear Deburring 3." In this case, a first error region 420 is defined between the taught points of command block 310 for "Linear Approach 3" and "Linear Deburring 1," and a first warning region 430 is defined between the taught points of command block 310 for "Linear Deburring 2" and "Linear Deburring 3." In this example, first error region 420 and first warning region 430 are separate from each other.

[0090] exist Figure 8B , an example is shown in which first error region 420 and first warning region 430 partially overlap in simulation bar 400. When first error region 420 and first warning region 430 overlap in at least a portion, first error region 420 is displayed preferentially. That is, the area where first error region 420 and first warning region overlap is displayed as first error region 420, not as first warning region 430.

[0091] exist Figure 8BIn the example, an error occurs in the interval between the teaching point of the "Linear Approach 3" command block 310 and the teaching point of the "Linear Deburring 1" command block 310, and a warning event occurs at the teaching point of the "Linear Deburring 1" command block 310. In this case, the interval between the teaching point of the "Linear Approach 3" command block 310 and the teaching point of the "Linear Deburring 1" command block 310 becomes the first error area 420, and the interval between the teaching point of the "Linear Approach 3" command block 310 and the teaching point of the "Linear Deburring 2" command block 310 should become the first warning area 430. However, since the first error area 420 and the first warning area 430 overlap in the interval between the teaching point of the "Linear Approach 3" command block 310 and the teaching point of the "Linear Deburring 1" command block 310, the first error area 420 is displayed in this interval.

[0092] The teaching points described above are commands (action commands) that define the robot's posture and movement. In other words, these commands include the teaching points that define the robot's posture, i.e., the action points; the robot's movement directions, such as straight lines and arcs; and the types of operations performed by the robot, such as deburring, welding, and movement. When programming the robot's movements, commands that do not define the robot's posture (non-action commands) are sometimes given. For example, non-action commands include inputting and outputting control signals to the robot, setting the robot's waiting time, calling subroutines, changing the movement accuracy, and setting the processing position of the end effector mounted at the front end of the robot's arm.

[0093] The programming screen 200 when the non-operation command described above is given will be described. Figure 9A FIG. 2 is a diagram showing an example of a programming screen 200 when no non-action command is given. Figure 9B 1 is a diagram showing an example of the programming screen 200 when a non-operation command is given.

[0094] exist Figure 9A In the example shown, only command boxes 310 containing action commands such as "Linear Approach 3," "Linear Deburring 1," and "Linear Departure 1" are included in the command list area 300. These command boxes 310 (that is, the teaching points) are arranged in a time series, and the simulation bar 400 shows the time series arrangement of the teaching points shown in the command list area 300. The time series arrangement of the teaching points and intermediate points shown in the command list area 300 is enlarged and displayed on the detailed confirmation bar 500. In other words, the time series arrangement of the action commands in the command list area 300 is displayed on the simulation bar 400, and the time series arrangement of the multiple intermediate points between the multiple action commands is displayed on the detailed confirmation bar 500.

[0095] exist Figure 9BIn the example, in addition to the command box 310 containing action commands such as "straight line approach 1", "straight line deburring 1", and "straight line away from 1", it also contains the command box 310 of "signal output" which is a non-action instruction. The timing of the signal output is between the teaching point of "straight line approach 3" and the teaching point of "straight line deburring 1". However, the signal output does not appear in the robot's motion trajectory. The arrangement of the time series of action commands and non-action commands in the command list area 300 is represented in the simulation bar 400. That is, in the simulation bar 400, the part to the side of the command box 310 of "signal output", which is a non-action command, shows the non-action command of "signal output".

[0096] The non-action command is not reflected in the detailed confirmation bar 500. That is, the detailed confirmation bar 500 shows the arrangement of the time series of multiple intermediate points between the multiple action commands except the non-action command. Figure 9A as well as Figure 9B In the example of , the scale "026" in the detail confirmation bar 500 is the teaching point of the action command "Linear Deburring 1", and the scale "034" is the teaching point of the action command "Linear Deburring 2". Figure 9B In the example, the command box 310 of "Signal Output" which is a non-action command is inserted between the command boxes 310 of "Linear Deburring 1" and the command boxes 310 of "Linear Deburring 2". However, Figure 9B The detailed confirmation bar 500 shown is Figure 9A The detailed confirmation bar 500 shown is no different. Figure 9B In the detailed confirmation bar 500 shown, no scale corresponding to the non-operation command "signal output" is provided between the scale "026" and the scale "034" which are operation commands.

[0097] As described above, non-action commands are not reflected in the detailed confirmation bar 500. Therefore, since the teaching points and intermediate points of the action commands included in the action trajectory are displayed in the detailed confirmation bar 500, in addition to the non-action commands that do not appear in the action trajectory created by the simulation, the detailed confirmation bar 500 can present the user with a detailed action trajectory in a time series.

[0098] When confirming the robot's motion trajectory or changing the motion program, it is more convenient if the robot's posture can be confirmed at the teaching point. The OLP device 100 according to this embodiment provides a function for confirming the robot's posture at the teaching point to support programming. Figure 9C 1 is a diagram showing an example of the display form of the programming screen 200 when the pointer 411 points to the teaching point.

[0099] exist Figure 9CIn the example shown, when pointer 411 points to a teach point, the command box 310 of the selected teach point is highlighted in command list area 300, and the scale of the selected teach point is also highlighted in detail confirmation bar 500. This emphasis can be achieved, for example, by thickening the border of command box 310 or thickening the scale lines of detail confirmation bar 500. However, other methods of emphasis can also be used, such as making the color of command box 310 different from the colors of other command boxes 310 or flashing the scale lines of detail confirmation bar 500. Thus, the user can be notified that the teach point has been set at the selected time. The user can adjust the position of pointer 411 until the scale lines of command box 310 and detail confirmation bar 500 are highlighted. When the scale lines of command box 310 and detail confirmation bar 500 are highlighted, the user can confirm the robot's posture displayed in animation display area 600.

[0100] [5. Modification]

[0101] The configuration and operation of the OLP system according to the present disclosure are not limited to the above-described embodiment. Specifically, any system is not limited to the simulation bar 400 as long as it represents the time series arrangement of a plurality of teaching points.

[0102] For example, rather than using the first error area 420 to indicate the interval where an error occurred and the first warning area 430 to indicate the interval where a warning event occurred in the simulation bar 400, the command box 310 corresponding to the time point when the error occurred may be displayed in a different error color than other command boxes, and the command box 310 corresponding to the time point when the warning event occurred may be displayed in a different warning color than other command boxes in the command list area 300. Although the simulation bar 400 is provided, the interval where an error occurred may be indicated by an arrow or other symbol, rather than by the first error area 420 and the first warning area 430, and the scale of this interval may be displayed differently from the scale of other intervals (e.g., flashing).

[0103] In the above embodiment, the first error display method is to display the portion of the simulation bar 400 corresponding to the time point when the error occurred in an error color, but this is not limited to this. For example, the portion of the simulation bar 400 corresponding to the time point when the error occurred may also be flashed. In the above embodiment, the second error display method is to display the portion of the detailed confirmation bar 500 corresponding to the time point when the error occurred in an error color, but this is not limited to this. For example, the portion of the detailed confirmation bar 500 corresponding to the time point when the error occurred may also be flashed.

[0104] 〔6. Effect〕

[0105] As described above, the OLP device 100 includes an input unit 101, a creation unit 102, a simulation unit 103, and a display unit 104. The input unit 101 accepts input of multiple teaching points. The creation unit 102 determines one or more intermediate points connecting adjacent teaching points and creates a robot motion program that includes the multiple teaching points and the intermediate points. The simulation unit 103 simulates the robot's motion trajectory when executing the motion program. The display unit 104 displays a programming screen 200 (GUI screen) that depicts the robot's motion trajectory. The programming screen 200 includes a simulation bar 400 and a detailed confirmation bar 500. The simulation bar 400 displays the time series arrangement of the multiple teaching points. The detailed confirmation bar 500 displays the time series arrangement of the multiple intermediate points between the multiple teaching points included in the portion of the simulation bar 400, using a larger scale than the simulation bar 400. When an error is detected in the motion trajectory, the interval between the teaching points, including the time point at which the error occurred, can be displayed in the simulation 400 using a first error display method. The second error display method can be used to display the intermediate point corresponding to the time when the error occurred on the detailed confirmation bar 500. It should be noted that the "interval between teaching points" here can include or exclude the teaching points at both ends, or include the teaching point at one end and exclude the teaching points at the other end. As long as the intermediate point corresponding to the time when the error occurred is displayed using the second error display method, the second error display method can be used to display only the intermediate point or to display the interval including the intermediate point.

[0106] According to the above configuration, the intermediate point corresponding to the time point at which the error occurred is displayed using the second error display method in the detail confirmation bar 500. Therefore, the user can be informed of the error between the teaching points.

[0107] The input unit 101 may also accept input of a command including a teach point and an instruction for the robot's movement direction at the teach point. The programming screen 200 may also include a command list area 300. In the command list area 300, a plurality of command boxes 310 (markers) representing each of a plurality of commands are arranged in a row. A simulation bar 400 is provided parallel to the row of command boxes 310 in the command list area 300. The teach point where the error occurred may be displayed on the simulation bar 400 in correspondence with the command box 310 in the command list area 300.

[0108] Therefore, the teaching point where the error occurred is indicated on the simulation bar 400, corresponding to the command box 310 arranged in the command list area 300. Therefore, the user can easily understand in which command the error occurred. In other words, the user can easily specify the command to be corrected.

[0109] The simulation bar 400 may include a linear portion parallel to the row of command boxes 310 in the command list area 300. The first error display method may also be a method of displaying a portion of the linear portion where an error has occurred in an error color.

[0110] Therefore, it is possible to display an error while reducing the area of ​​the simulation bar 400 provided in parallel with the command list area 300 .

[0111] The user may select a portion of the simulation bar 400 , and the time series of a plurality of intermediate points in the portion selected by the user in the simulation bar 400 may be displayed on the detail confirmation bar 500 at a larger scale than the simulation bar 400 .

[0112] Therefore, by selecting a portion of the simulation bar 400 of which the user wants to confirm detailed information, the detailed information of the selected portion can be provided to the user.

[0113] The display unit 104 may be capable of displaying the time point selected by the user in the simulation bar 400 in the detail confirmation bar 500 in a different manner from other time points.

[0114] Therefore, the user can grasp the time point selected by the user in detail confirmation bar 500 , distinguishing it from other time points.

[0115] The input unit 101 may be capable of accepting an additional instruction for a command when the user selects a portion of the simulation bar 400. Upon accepting the additional instruction for a command, the creation unit 102 may add a teaching point at the time point selected by the user in the simulation bar 400 and recreate the motion program.

[0116] Therefore, users can accurately specify intermediate points in more detail than teaching points and add new commands.

[0117] When the time point selected by the user in the simulation bar 400 coincides with a time point corresponding to one teaching point, the display unit 104 may display the teaching point at the time point selected in the detail confirmation bar 500 in a different method from other teaching points.

[0118] Therefore, the user can be notified that the time point corresponding to the teaching point has been selected.

[0119] The first error display method may be a method of displaying the section between two adjacent teaching points in the simulation bar 400 in an error color when an error occurs between two adjacent teaching points.

[0120] Therefore, the user can specify in which section among a plurality of sections between a plurality of teaching points an error has occurred.

[0121] The first error display method may be a method of displaying a section between two teaching points sandwiching the one teaching point in the simulation bar 400 in an error color when an error occurs at one teaching point.

[0122] Therefore, the user can identify which of the multiple teaching points has an error. Furthermore, since the area between adjacent teaching points is displayed in the error color, the area displayed in the error color is larger than when only the teaching point with the error is highlighted, making it easier for the user to identify the area.

[0123] The second error display method may also be a method of displaying a section between a plurality of intermediate points including the error occurrence position in the detail confirmation bar 500 in an error color.

[0124] Therefore, the user can be informed of the detailed location where the error occurred using a finer section than the teaching point.

[0125] When a warning event is detected in the motion trajectory, the section of the teaching points corresponding to the time point at which the warning event occurs may be displayed on the simulation bar 400 in a warning color.

[0126] Therefore, the occurrence location of a warning event that is less serious than an error can be distinguished from the error occurrence location and notified to the user.

[0127] Alternatively, when the first error region 420 and the first warning region 430 overlap, the first error region 420 may be displayed in an error color, and the portion of the first warning region 430 other than the portion overlapping with the first error region 420 may be displayed in a warning color.

[0128] Therefore, the error occurrence section having a higher level of importance than the warning event occurrence section can be displayed with priority over the warning event occurrence section.

[0129] Alternatively, the input unit 101 may be capable of accepting input of multiple motion commands and non-motion commands, wherein the multiple motion commands are commands that define the robot's posture and motion direction at each point in time, and the non-motion commands are commands that do not define the robot's posture and motion direction. The simulation bar 400 may also display a time series arrangement of teaching points for each of the multiple motion commands and non-motion commands. When a section including multiple teaching points and non-motion commands, which are part of the simulation bar 400, is displayed on the detailed confirmation bar 500, a time series arrangement of multiple intermediate points between the multiple teaching points, excluding non-motion commands, may also be displayed within the section.

[0130] Therefore, since the first teaching point and the intermediate points included in the motion trajectory are displayed on the detail confirmation bar 500 except for the second teaching point that does not appear in the motion trajectory created by simulation, the detailed motion trajectory can be presented to the user in a time series.

[0131] 〔7. Supplement〕

[0132] The embodiments disclosed herein are examples in all aspects and do not limit the present invention. The scope of the present invention is determined not by the embodiments but by the scope of the claims, including the meaning equivalent to the scope of the claims and all changes within the scope.

[0133] Explanation of symbols

[0134] 100 - Offline programming device; 101 - Input unit; 102 - Creation unit; 103 - Simulation unit; 104 - Display unit; 110 - Processor; 120 - Non-volatile memory; 130 - Volatile memory; 140 - Input / output interface; 150 - Input device; 160 - Display device; 170 - OLP program; 200 - Programming screen (GUI screen); 300 - Command list area; 310 - Command box (mark); 400 - Simulation bar (first display area); 411 - Pointer; 420 - First error area; 430 - First warning area; 500 - Detailed confirmation bar (second display area); 511 - Indicator; 520 - Second error area; 600 - Animation display area.

Claims

1. An offline programming device, characterized in that : The offline programming device includes an input unit, a creation unit, a simulation unit and a display unit. The input unit accepts input of multiple teaching points. The creation unit determines one or more intermediate points connecting adjacent teaching points, and creates a robot motion program including the plurality of teaching points and the intermediate points. The simulation unit simulates the motion trajectory of the robot when executing the motion program. The display unit displays a GUI screen showing the motion trajectory. The GUI screen includes a first display area and a second display area, the first display area showing a time series arrangement of the plurality of teaching points, the second display area showing a time series arrangement of the plurality of intermediate points between the plurality of teaching points included in a portion of the first display area on a larger scale than the first display area, When an error is detected in the motion trajectory, the interval between the teaching points including the time point at which the error occurs can be represented in the first display area by a first error display method, and the intermediate point corresponding to the time point at which the error occurs can be represented in the second display area by a second error display method.

2. The offline programming device according to claim 1, characterized in that : The input unit receives input of a command including the teaching point and an instruction of a movement direction of the robot at the teaching point. The GUI screen includes a command list area in which a plurality of marks representing each of a plurality of the commands are arranged in a row, The first display area is arranged in parallel with the marked row of the command list area, The teaching point where the error occurs can be displayed in the first display area in correspondence with the mark in the command list area.

3. The offline programming device according to claim 2, characterized in that : The first display area includes a linear portion parallel to the row of the mark in the command list area, The first error display method is a method of displaying the portion of the linear portion where the error occurs with a specific color.

4. The off-line programming device according to any one of claims 1 to 3, characterized in that : The first display area is a portion that can be selected by the user, The time series arrangement of the plurality of intermediate points of the portion selected by the user in the first display area can be displayed in the second display area at a scale larger than that of the first display area.

5. The offline programming device according to claim 4, characterized in that : The display unit can display the time point selected by the user in the first display area in a different method from other time points in the second display area.

6. The offline programming device according to claim 4, characterized in that : The input unit is capable of accepting an additional instruction of a command in a state where a user has selected a part of the first display area. When receiving the instruction to add the command, the creation unit adds a teaching point at a time point selected by the user in the first display area and creates the operating program again.

7. The offline programming device according to claim 4, characterized in that : When the time point selected by the user in the first display area coincides with the time point corresponding to one of the teaching points, the display unit can display the one teaching point in the second display area using a method different from that of the other teaching points.

8. The off-line programming device according to any one of claims 1 to 3, characterized in that : The first error display method is a method of displaying the section between the two adjacent teaching points in the first display area in a specific color when an error occurs between the two adjacent teaching points.

9. The off-line programming device according to any one of claims 1 to 3, characterized in that : The first error display method is a method of displaying a section between two teaching points sandwiching the one teaching point in the first display area in a specific color when an error occurs at one of the teaching points.

10. The off-line programming device according to claim 8, characterized in that : The second error display method is a method of displaying a section between a plurality of the intermediate points including the error occurrence position in the second display area using a specific color.

11. The offline programming device according to claim 8, characterized in that : When an event requiring a warning to the user is detected in the motion trajectory, a section including the teaching point corresponding to the time point when the event occurred can be displayed in the first display area using a specific warning color different from the specific color.

12. The off-line programming device according to claim 11, characterized in that : When a first section represented by the specific color overlaps with a second section represented by the warning color, the first section is displayed by the specific color, and a portion of the second section other than the portion overlapping with the first section is displayed by the warning color.

13. The off-line programming device according to any one of claims 1 to 3, characterized in that : The input unit receives input of a plurality of motion commands that define the posture and motion direction of the robot at each time point and a non-motion command that does not define the posture and motion direction of the robot, and the first display area displays the arrangement of the teaching points of each of the plurality of motion commands and the time series of the non-motion commands. When a section including the plurality of teaching points and the non-action commands included in a portion of the first display area is displayed in the second display area, a time series arrangement of the plurality of intermediate points between the plurality of teaching points excluding the non-action commands can be displayed in the section.

14. An off-line programming method, characterized in that : The offline programming method includes the steps of accepting input of a plurality of teaching points, determining one or more intermediate points connecting adjacent teaching points and creating a robot motion program including the plurality of teaching points and the intermediate points, simulating a motion trajectory of the robot when executing the motion program, and displaying a GUI screen representing the motion trajectory. The GUI screen includes a first display area and a second display area, the first display area showing a time series arrangement of the plurality of teaching points, the second display area showing a time series arrangement of the plurality of intermediate points between the plurality of teaching points included in a portion of the first display area on a larger scale than the first display area, When an error is detected in the motion trajectory, the interval between the teaching points including the time point at which the error occurs can be represented in the first display area by a first error display method, and the intermediate point corresponding to the time point at which the error occurs can be represented in the second display area by a second error display method.

Citation Information

Patent Citations

  • Operation program preparation supporting method and operation program preparing device

    JP2008142788A

  • Programming assist device, robot system, and program generating method

    JP2019084664A

  • Information processing apparatus and control method of display apparatus

    US20190221037A1