Teaching data editing apparatus, robot teaching system, and teaching data editing method

By generating time series data of indicator values ​​and performing editing operations, the problem of useless time and slow motion in non-professional users is solved, and more efficient operation and information management is achieved.

CN120603684APending Publication Date: 2025-09-05HITACHI HIGH TECH CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202480012057.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-08-14
Filing Date
2024-06-20
Publication Date
2025-09-05

AI Technical Summary

Technical Problem

In the prior art, non-professional users find it difficult to identify and edit useless time and slow motion in robot teaching data, and excessive display information leads to operational difficulties.

Method used

By generating index value time series data, the index value calculation unit calculates the change of the state quantity vector, displays it on the display device, and performs editing operations through the editing operation unit to reduce the amount of information and improve user operation efficiency.

Benefits of technology

Users can more easily identify and edit useless time in robot teaching data, reduce operation time and information, and improve operation efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120603684A_ABST
    Figure CN120603684A_ABST
Patent Text Reader

Abstract

The present invention relates to a teaching data editing device for editing teaching data for causing a robot having an actuator to reproduce a desired operation. A teaching data editing device for editing teaching data, which is data indicating a plurality of state quantities of an operation of a robot operated by a user operation at fixed time intervals, includes: an index value calculation unit that calculates an index value for each time based on a state quantity vector having the state quantity as a component; an index calculation unit that calculates an index value that changes in conjunction with a change in any component of the state quantity vector, thereby generating time-series data of the index value; an index value display unit that displays time-series data of the index values on a display device; and an editing operation unit that performs an editing operation on a state quantity vector for a time or an interval specified by the time-series data of the index value displayed on the display device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a teaching data editing device, a robot teaching system and a teaching data editing method. Background Art

[0002] To simplify robot teaching, a known method involves the user operating the robot using an operating device, sampling multiple robot state variables at regular intervals, and using these as teaching data. This method, while more intuitive than conventional teaching playback methods, allows for less concern for interference between teaching points and robot posture. However, it also accurately reproduces wasted time during operation, such as unnecessary movements and slow movements.

[0003] As a technology for solving such a problem, Patent Document 1 is known that enables editing of teaching data. Specifically, in paragraph 0018 of the document, it is described that "the input unit 20 receives input from the user; and the display unit 21 is used to display a graph representing the teaching action created by the control unit 10 and its editing screen." Furthermore, in paragraph 0032 of the document, it is described that "on the left side of the screen of the display unit 21 ( Figure 2 On the left side of the paper), the taught motion trajectory of the parallel link robot 100 is graphed in a time series for each axis. The horizontal axis of each of these graphs is the time axis, and the vertical axis is the coordinate value of each axis. The current position and posture of the movable plate 3 are represented by the current position pointer 31. ... The current position is represented by the coordinates of the virtual point (X axis, Y axis, Z axis) of the current center of the movable plate 3 and the rotation amount (θx axis, θy axis, θz axis) of the surface of the movable plate 3 containing the virtual point around the X axis, Y axis, and Z axis. In addition, paragraph 0015 of the document states that "the editing unit 15 changes the editing point on the graph representing the position and posture of the movable plate 3 at the time point specified by the user (hereinafter referred to as the "editing point") according to the operation from the user, thereby editing the graph."

[0004] Prior art literature

[0005] Patent Literature

[0006] Patent Document 1: Japanese Patent Application Laid-Open No. 2013-059852 Summary of the Invention

[0007] -Issues to be solved by the invention-

[0008] However, in the technology described in Patent Document 1, all the status quantities of the robot are displayed on the display unit, and a lot of information is displayed. Therefore, it is difficult for users who are not proficient in robot operation teaching to grasp the movements of the robot, and it is difficult to grasp the useless movements, slow movements, and other wasted time during operation.

[0009] In view of the above-mentioned problems, the present invention has an object to provide a teaching data editing device, a robot teaching system, and a teaching data editing method that allow a user to easily grasp the wasted time in teaching operations to a robot.

[0010] -Methods for solving the problem-

[0011] The teaching data editing device of the present invention, for example, edits teaching data for making a robot having an actuator reproduce a desired action, wherein the teaching data is data of multiple state quantities representing the action of the robot caused by user operation, obtained at fixed time intervals, and the teaching data editing device comprises: an indicator value calculation unit, which calculates, for each moment, an indicator value that changes in conjunction with a change in any component of the state quantity vector based on a state quantity vector having the state quantity as a component, thereby generating time series data of the indicator value; an indicator value display unit, which displays the time series data of the indicator value on a display device; and an editing operation unit, which performs an editing operation on the state quantity vector at a moment or interval specified by the time series data of the indicator value displayed on the display device.

[0012] In addition, the robot teaching system of the present invention, for example, comprises: a robot having an actuator, and a robot teaching device that generates teaching data for causing the robot to reproduce a desired action, the robot teaching device comprising: an operation receiving unit that receives action instructions taught to the robot by a user; a robot control unit that controls the robot based on the action instructions; a state acquisition unit that acquires a state quantity vector having multiple state quantities as components representing the action of the robot at a fixed time interval; a teaching data generation unit that organizes the state quantity vector into time series data; an indicator value calculation unit that calculates an indicator value that changes in conjunction with a change in any component of the state quantity vector at each moment based on the state quantity vector, thereby generating time series data of the indicator value; an indicator value display unit that displays the time series data of the indicator value on a display device; and an editing operation unit that performs an editing operation on the state quantity vector at a moment or interval specified by the time series data of the indicator value displayed on the display device.

[0013] In addition, the teaching data editing method of the present invention uses, for example, a teaching data editing device, which edits teaching data for enabling a robot having an actuator to reproduce a desired action. The teaching data editing device includes an indicator value calculation unit, an indicator value display unit, and an editing operation unit. The indicator value calculation unit calculates, for each moment, an indicator value that changes in conjunction with a change in any component of the state quantity vector based on a state quantity vector having the state quantity as a component, thereby generating time series data of the indicator value. The indicator value display unit displays the time series data of the indicator value on a display device. The editing operation unit performs an editing operation on the state quantity vector at a moment or interval specified by the time series data of the indicator value displayed on the display device.

[0014] -Effects of the Invention-

[0015] According to the present invention, a teaching data editing device, a robot teaching system, and a teaching data editing method can be provided that allow a user to easily understand the wasted time in teaching a robot. Other problems and new features will become apparent from the description of this specification and the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1A This is a diagram for explaining the robot operation in Example 1.

[0017] Figure 1B This is a diagram showing an example of teaching data for the robot in FIG. 1 .

[0018] Figure 1C This is a diagram showing an example of the hardware configuration of a robot control PC.

[0019] Figure 2 This is a diagram showing the overall configuration of the robot teaching system in Example 1.

[0020] Figure 3A This is a diagram showing an example of the teaching data editing GUI in the first embodiment.

[0021] Figure 3B This is a diagram showing an example of a robot status display on a simulator display unit.

[0022] Figure 3C This is a diagram showing an example of the data point correction GUI in the first embodiment.

[0023] Figure 4 This is a diagram showing an example of a flow related to determination of the validity of an editing operation.

[0024] Figure 5 This is a diagram for explaining the calculation including the normalization process in the first embodiment.

[0025] Figure 6A This is a diagram showing an example of a robot whose actions are expressed using a plurality of different types of state quantities.

[0026] Figure 6B It shows the Figure 6A FIG. 1 is a diagram showing an example of teaching data for a robot.

[0027] Figure 7A This is a diagram illustrating the structure of the robot teaching device in Example 2.

[0028] Figure 7B This is a diagram showing an example of displaying time-series data of index values ​​as a plurality of action divisions.

[0029] Figure 8A These are diagrams showing how a robot having a plurality of operating devices operates and teaching data in the third embodiment.

[0030] Figure 8B This is a diagram showing an example of teaching data including information on an operating device.

[0031] Figure 9A This is a diagram for explaining the robot teaching system in Example 3.

[0032] Figure 9B It shows the Figure 9A FIG. 1 is a diagram showing an example of teaching data of a robot teaching system. DETAILED DESCRIPTION

[0033] The present embodiment is described below with reference to the accompanying drawings. The accompanying drawings illustrate embodiments and installation examples based on the principles of the present disclosure. However, these drawings are provided for understanding the present disclosure and are not intended to limit the present disclosure. The descriptions in this specification are merely exemplary and do not in any way limit the claims or application examples of the present disclosure.

[0034] In this embodiment, the description is provided in sufficient detail to enable those skilled in the art to implement the present disclosure. However, other installations and methods are also possible, and it should be understood that changes in structure and construction and replacement of various elements are possible without departing from the scope of the technical concept of the present disclosure. Therefore, the following description should not be interpreted as being limited to this.

[0035] Example 1

[0036] Figure 1AThis diagram illustrates robot operation in Example 1. Robot 1 has at least two actuators 10a and 10b. Actuators 10a and 10b are rotary actuators. Robot 1 is connected to a robot control PC 11. User 4 operates at least one operating device 20a to move robot 1 and teach the robot how to operate. Operating device 20a may include a teaching pendant or the like.

[0037] Figure 1B This figure shows an example of teaching data 240a for the robot 1. Teaching data 240a is data used to cause the robot to reproduce a desired motion. In this embodiment, teaching data 240a records data obtained at regular time intervals (e.g., 0.1 second intervals) using an angle sensor (not shown) or the like, respectively, when the user 4 operates the robot 1 via the operating device 20a. The rotation angles of actuator 10a (actuator A) and actuator 10b (actuator B) are acquired.

[0038] The rotation angle of the actuator 10a and the rotation angle of the actuator 10b are observable physical quantities that represent the movement of the robot 1. Physical quantities such as these that change according to the movement of the robot are called state quantities. As state quantities, in addition to the rotation angle, for example, velocity, acceleration, current, force, torque, etc. can also be listed. In addition, the state quantity is not limited to quantities related to the movement of the actuator. For example, it can also be a quantity such as the position of the front end of the robot obtained by a TOF sensor, etc. In addition, hereinafter, a vector with state quantities as components will be referred to as a state quantity vector. In this embodiment, as a state quantity vector, a vector composed of two components, the rotation angle of the actuator 10a and the rotation angle of the actuator 10b, is used as an example for explanation, but it is not limited to this and can also be three or more components.

[0039] The robot teaching method of this embodiment is described. After the user 4 sets the created teaching data name using the operating device 20a, etc., the teaching start signal is sent to the robot control PC 11, and the operating device 20a is operated to make the robot 1 perform the desired operation. During this period, the robot control PC 11 continuously obtains the rotation angle information of the actuators 10a and 10b at fixed time intervals. After the robot 1 performs the desired operation, the user 4 uses the operating device 20a, etc. to send the teaching end signal to the robot control PC 11, and the robot control PC 11 generates time series data that summarizes the state quantity vector and time information obtained between the teaching start signal and the teaching end signal, and saves the generated time series data of the state quantity vector as the teaching data 240a of the set teaching data name. Hereinafter, for convenience, the above-mentioned teaching method is referred to as sampling teaching.

[0040] Figure 1C1 is a diagram showing an example of the hardware structure of the robot control PC 11. The robot control PC 11 includes Figure 1C The information processing device 40 shown here is implemented as having a processor (CPU) 41, memory 42, storage device 43, input device 44, output device 45, communication device 46, and bus 47 as its main components. The processor 41 functions as a functional unit that provides a given function by executing processes according to the program loaded into the memory 42. The storage device 43 stores data and programs used by the functional unit. The input device 44 is a keyboard, pointing device, etc., and the output device 45 is a display, etc. The communication device 46 can communicate with other information processing devices via a network. These are connected to each other via bus 47 for communication. In this embodiment, the output device 45 of the robot control PC 11 is described as a display device that displays the GUI, etc., which will be described later.

[0041] Figure 2 This figure (functional block diagram) shows the overall structure of a robot teaching system 6 in Example 1. The robot teaching system 6 includes a robot 1 and a robot teaching device 2. The robot teaching device 2 includes an operation receiving unit 20, a robot control unit 21, a state acquisition unit 22, a teaching data generation unit 23, a teaching data storage unit 24, and an editing unit 3. In this embodiment, the robot teaching device 2 is described as being implemented by the robot control PC 11, but this configuration is not limiting. For example, the robot teaching device 2 may be implemented by multiple devices.

[0042] The operation receiving unit 20 receives motion instructions for teaching the robot 1 from the operating device 20a in Figure 1 . The robot control unit 21 controls the robot 1 based on the motion instructions received by the operation receiving unit 20. Furthermore, the robot control unit 21 controls the robot 1 based on teaching data from the user and teaching data that has been edited (described later). The state acquisition unit 22 acquires state quantity vectors of the robot 1 at regular time intervals. The teaching data generation unit 23 organizes the state quantity vectors for the specified interval into time-series data and stores it in the teaching data storage unit 24.

[0043] The editing unit 3 edits the teaching data. The editing unit 3 converts the teaching data 240a into time-series data of the indicator values ​​described below and displays it. It also accepts and edits the teaching data. The editing unit 3 includes, for example, a teaching data selection unit 30, an indicator value calculation unit 31, an indicator value display unit 32, a data point designation unit 33, a simulator display unit 34, an editing unit 35, and a determination unit 39.

[0044] Next, a method for displaying and editing the teaching data 240a obtained by sampling teaching will be described. Figure 3AAn example of the teaching data editing GUI 3a in the first embodiment is shown in FIG.

[0045] For example, Figure 3A As shown, the teaching data selection unit 30 displays a selection data name input box 300 and a data selection button 301 on the display device, and accepts the data name of the teaching data by operating these buttons.

[0046] Specifically, user 4 enters the name of the teaching data they wish to edit into the select data name input box 300 and presses the data select button 301. When data select button 301 is pressed, the teaching data selection unit 30 searches the teaching data storage unit 24 for the teaching data 240a corresponding to the entered data name. If the teaching data 240a is found, the index value calculation unit 31 calculates the index value for the retrieved teaching data. If the teaching data 240a is not found, the user 4 is notified, for example, by displaying a pop-up window.

[0047] The index value calculation unit 31 acquires the teaching data 240 a of the data name input to the input box 300 , calculates the index value based on the state quantity vector at each time, and thereby generates time series data of the index value.

[0048] The state quantity vector and the index value will be specifically described. For example, a state quantity vector having m state quantities as components is represented by equation (1).

[0049] [Mathematical formula 1]

[0050]

[0051] Here, t is a time, and m is a natural number greater than or equal to 2. In this embodiment, m = 2. x1(t) represents the rotation angle of actuator 10a, and x2(t) represents the rotation angle of actuator 10b. As an example, the index value calculation unit 31 calculates the index value p(t) using Equation (2).

[0052] [Mathematical formula 2]

[0053]

[0054] Here, sqrt() represents a square root, and x'1(t) represents the time differential (time rate of change) of x1(t). This time differential is calculated using equation (3) using central difference.

[0055] [Mathematical formula 3]

[0056]

[0057] Here, Δt is the time interval for acquiring the state vector, x1(t+Δt) represents the state quantity acquired after x1(t), and x1(t-Δt) represents the state quantity acquired before x1(t). Furthermore, in this embodiment, x'1(t) represents the angular velocity of actuator 10a, and x'2(t) represents the angular velocity of actuator 10b.

[0058] The index value calculation unit 31 calculates the index value using at least one component of the state quantity vector, as shown in equation (2). While equation (2) calculates the square root of the sum of squares, the sum of the absolute values ​​of x'1(t) and x'2(t) could also be used. Using the sum of squares or the sum of absolute values ​​prevents the components of the state quantity vector from canceling out each other's positive and negative values ​​during index value calculation.

[0059] As shown in equation (2), the index value p(t) is expressed using the time rate of change (angular velocity) of the state quantity (rotation angle) of each actuator 10a and 10b. Therefore, the index value p(t) can be used to determine whether the robot 1 is moving. In other words, if the index value p(t) is 0, it can be determined that the robot 1 is not moving at all at that moment, and if the index value p(t) is not 0, it can be determined that the robot 1 is moving at that moment. Furthermore, based on the index value p(t), it is also possible to roughly determine whether the robot 1 is moving slowly or quickly based on the value. Therefore, when the user 4 edits the teaching data, by displaying the index value p(t), it is easy to find the time when the robot 1 stops moving, which is useless time, or the time when the robot 1 is moving slowly.

[0060] The index value calculated as described above can be expressed as a one-dimensional value regardless of the order of the state vector. Therefore, by displaying the index value instead of displaying the components of the state vector, the amount of information that the user 4 should observe during editing can be reduced, and the time spent on editing can be expected to be reduced. In addition, as shown in formula (2), by using each component of the state vector at least once to calculate the index value, the index value changes in conjunction with changes in any component of the state vector. As a result, changes in each component of the state vector are reflected in the index value without omission, and changes in any component of the state vector can be grasped as changes in the index value.

[0061] In this embodiment, the rotation angle is used as the state quantity. However, even with other state quantities, when the actuator operates, the state quantity will change over time. Therefore, the time rate of change of the state quantity becomes a physical quantity representing the actuator's operation. Therefore, by calculating the index value using the time rate of change of each component of the state quantity vector, it is possible to determine whether the robot is operating at least based on the index value.

[0062] Furthermore, the calculation of index values ​​is not limited to the aforementioned addition operations such as the sum of squares and the sum of absolute values. Existing functions other than addition, such as the four arithmetic operations and trigonometric functions, can also be used. Furthermore, in addition to using the change in the state quantity before and after time t, as in the case of the time rate of change of the state quantity shown in equations (2) and (3), the state quantity itself can also be used in the calculation, such as in the case of the sum of squares of the state quantity. For example, consider the case where the state quantity represents a time change, such as velocity.

[0063] The index value display unit 32 displays the time series data of the index value on the display device. Figure 3A As shown, in a graph 32a with time as the horizontal axis and index value as the vertical axis, time series data of the index value is displayed as plotted points. Each plotted point is data at each moment in the time series data of the index value, and is hereinafter referred to as a data point 320a.

[0064] The data point designation unit 33 accepts designation of one or more data points in the time series data of the displayed index value. Figure 3A As shown, a progress bar 330 is displayed, and a data point is designated by operating progress bar 330. When user 4 operates progress bar 330, the data point at the time currently indicated by progress bar 330 is displayed in a different color from the other data points. The designated data point is referred to as designated data point 331. User 4 performs an editing operation on designated data point 331.

[0065] Furthermore, designated data point 331 can be selected not just one point but multiple points. When select button 350 is pressed, designated data point 331 at the time of button 350's pressing is stored as the selection start point. When progress bar 330 is operated while the selection start point is stored, the color of the selection start point, the designated data point 331 currently displayed on progress bar 330, and the data points 320 between them all change, and all of these data points 320 are treated as designated data points 331. User 4 can edit all of these designated data points 331.

[0066] When the selection cancel button 351 is pressed, the record of the selected start point is deleted, and the designated data point 331 becomes only one point again.

[0067] Figure 3B3 is a diagram showing an example of the status display of the robot 1 on the simulator display unit 34. The simulator display unit 34 displays the status of the robot 1 at the time of the designated data point 331 on the display device. Specifically, the simulator display unit 34 obtains the time currently shown in the progress bar 330 as the designated time, and displays the status of the robot model 1' and the actuator models 10a' and 10b' represented by the state quantity vector at the designated time in the teaching data on the display device as shown in display 34a. When the user 4 operates the progress bar 330, he can understand what state the robot 1 is in at which time by observing the display device. In addition, as mentioned above, when the selection button 350 is pressed and there are multiple designated data points 331, the simulator display unit 34 can also continuously display the status of the robot 1 at each time of the multiple designated data points 331.

[0068] Next, the specific editing operation for the teaching data will be described. The editing operation unit 35 receives the editing operation for the teaching data, takes the time of the designated data point 331a as the designated time, and performs the editing operation on the state quantity vector at the designated time of the teaching data. In this embodiment, the editing operation unit 35 is as follows. Figure 3A As shown, a delete button 352, a correction button 353, a reverse button 354, and a speed change button 355 are displayed on the display device. By pressing these buttons, editing operations such as deletion, correction, reverse, or speed change are accepted. Hereinafter, the time at which data point 320a precedes designated data point 331a by one point is referred to as the previous time, and the time at which data point 320a follows designated data point 331a by one point is referred to as the next time. Furthermore, as described above, when multiple data points 320 are selected as designated data point 331, the time from the time of the earliest designated data point 331 to the time of the latest designated data point 331 is referred to as the selected time.

[0069] When the delete button 352 is pressed, the editing operation unit 35 accepts the delete operation as an editing operation and deletes the state quantity vector at the specified time in the teaching data. Furthermore, the teaching data is rearranged so that the time interval between the previous and next moments after the deletion of the state quantity vector at the specified time and the time interval between the previous and previous moments before the deletion of the state quantity vector at the specified time are equal. When the teaching data is rearranged, the indicator value calculation unit 31 regenerates the time series data of the indicator value based on the rearranged teaching data. Furthermore, the indicator value display unit 32 displays the regenerated time series data of the indicator value on the display device.

[0070] When the correction button 353 is pressed, the editing operation unit 35 displays the data point correction GUI. When the correction content is input into the data point correction GUI, the editing operation unit 35 accepts the correction as an editing operation and corrects the state quantity vector at the designated time in the teaching data.

[0071] Figure 3C An example of a data point correction GUI 3530 is shown. When the correction button 353 is pressed, the data point correction GUI 3530 is displayed as a pop-up window. In the data point correction GUI 3530, the time (specified interval) for the specified data point 331 and the various state quantities within the specified interval of the teaching data are displayed in numeric input boxes 3531a and 3531b, respectively. The user 4 can directly enter values ​​into the numeric input boxes 3531a and 3531b, or use, for example, the value increase buttons 3532a and 3532b or the value decrease buttons 3533a and 3533b to correct the corresponding state quantities to the desired values. After making the corrections, the user 4 presses the correction confirmation button 3534 to complete the correction operation. Furthermore, when the user 4 presses the correction cancel button 3535, the correction is canceled and the user returns to the teaching data editing GUI 3a. The indicator value calculation unit 31 regenerates the time series data of the indicator values ​​based on the corrected teaching data. Furthermore, the indicator value display unit 32 displays the regenerated time series data of the indicator values ​​on the display device.

[0072] As described above, when multiple data points 320 are selected as designated data points 331 and reverse button 354 is pressed, editing unit 35 accepts the reverse order as an editing operation and rearranges the time-series data of the state quantity vectors within the selected time period in the teaching data. Index value calculation unit 31 regenerates the time-series data of the index value based on the rearranged teaching data. Index value display unit 32 then displays the regenerated time-series data of the index value on the display device.

[0073] As described above, when a plurality of data points 320 are selected as the designated data point 331, when the Figure 3A When the speed change button 355 is pressed, the editing unit 35 accepts the speed change as an editing operation and corrects the time intervals of the state quantity vectors within the selected time period in the teaching data to the specified value. The index value calculation unit 31 regenerates the time series data of the index value based on the teaching data with the corrected time intervals. The index value display unit 32 then displays the regenerated time series data of the index value on the display device.

[0074] In addition, in this embodiment, the index value display unit 32 displays the time series data of the index value newly generated based on the teaching data subjected to the editing operation as data points 320b. Figure 3ASpecifically, the graph 32b shows time series data of the index value based on the teaching data that has been edited by deleting part of the data point 320a using the delete button 352.

[0075] Furthermore, 320b in graph 32b corresponds to designated data point 331a in graph 32a. Specifically, when designated data point 331a is selected using progress bar 330, if a corresponding data point 320b exists, the color of that data point 320b changes as designated data point 331b. If the corresponding data point 320b no longer exists due to deletion, the color of any data point 320b remains unchanged. Whenever an editing operation is performed, graph 32b displays the latest data. Displaying graph 32b allows user 4 to easily visually understand how teaching data 240a has changed due to editing operations.

[0076] Finally, the data name of the teaching data you want to save is entered into the save data name input box 3560. When the save button 356 is pressed, the teaching data generation unit 23 saves the edited data as new teaching data 240a in the teaching data storage unit 24 with the data name entered into the save data name input box 3560.

[0077] However, if the editing operation is performed improperly, the teaching data 240 that cannot be realized by the robot 1 may be generated. Therefore, it is necessary to judge whether the editing operation is appropriate. Therefore, the teaching data editing device of this embodiment further includes a judgment unit 39 (see Figure 2 ). Figure 4 An example of flow F related to the determination of the validity of the editing operation is shown.

[0078] First, after the user 4 performs an editing operation (step S10), the determination unit 39 performs step S11 to confirm whether each component of the state quantity vector subjected to the editing operation is within a first predetermined range set for each component. For example, in this embodiment, if the movable range of the actuator 10a is ±180°, the first predetermined range related to the rotation angle of the actuator 10a is set to -180 ≤ (state quantity) ≤ 180. If all components of the state quantity vector subjected to the editing operation are within the first predetermined range, the process proceeds to step S12. If they are outside the first predetermined range, the editing operation is rejected and the process ends at step S19.

[0079] In step S19 , the determination section 39 rejects the editing operation.

[0080] In step S12, the determination unit 39 calculates a leading time rate of change vector representing the time rate of change from the state quantity vector at the previous moment to the state quantity vector at the designated moment, based on the teaching data, and then proceeds to step S13. Furthermore, the difference between the state quantity vector at the designated moment and the state quantity vector at the previous moment is calculated, and each component of the calculated difference is divided by the time from the previous moment to the designated moment to obtain the leading time rate of change vector. In this embodiment, the leading time rate of change vector is a vector whose components are the time rate of change (angular velocity) of the rotation angle of actuator 10a (the first component of the state quantity vector) and the rotation angle of actuator 10b (the second component of the state quantity vector).

[0081] In step S13, the determination unit 39 checks whether each component of the leading time rate of change vector is within a second predetermined range, which is predefined for each component. For example, when the maximum angular velocity setting value of the actuator 10a is ±90° / second, the second predetermined range related to the angular velocity of the actuator 10a is set to -90 ≤ (angular velocity) ≤ 90. If each component of the leading time rate of change vector is within the second predetermined range, the process proceeds to step S15. If each component of the leading time rate of change vector is outside the second predetermined range, the process proceeds to step S15 via step S14.

[0082] In step S14, the determination unit 39 corrects the state quantity vector at the previous moment, the state quantity vector at the designated moment, or the time interval between the previous moment and the designated moment, so that each component of the leading time rate of change vector falls within the second predetermined range. To specifically illustrate the correction in step S14, consider the following case: the time interval between the previous moment and the designated moment is 0.1 seconds, the rotation angle of actuator 10a at the designated moment is 18°, the rotation angle of actuator 10a at the previous moment is 0°, and the second predetermined range associated with actuator 10a is set to -90 ≤ (angular velocity) ≤ 90. In this case, the angular velocity of actuator 10a, which constitutes a component of the leading time rate of change vector, is calculated to be 180° / second, which falls outside the second predetermined range. Therefore, the judgment unit 39 corrects the time interval between the previous moment and the specified moment to 0.2 seconds, corrects the rotation angle of the actuator 10a at the specified moment to 9°, or corrects the rotation angle of the actuator 10a at the previous moment to 9°, so that the angular velocity of the actuator 10a becomes within the second given range.

[0083] In step S15 , similarly to the front time change rate vector, a rear time change rate vector indicating the time change rate from the state quantity vector at a designated time to the state quantity vector at a time immediately after the designated time is calculated.

[0084] In step S16, it is checked whether each component of the rear-side time rate of change vector is within a third predetermined range that is pre-set for each component. The third predetermined range is set similarly to the second predetermined range. If each component of the rear-side time rate of change vector is within the third predetermined range, the process proceeds to step S18. If each component of the rear-side time rate of change vector is outside the third predetermined range, the process proceeds to step S18 via step S17.

[0085] In step S17, the determination unit 39 corrects the state quantity vector at the specified time, the state quantity vector at the next time, or the time interval between the specified time and the next time, so that each component of the trailing time rate of change vector falls within the third predetermined range. Based on the above determination, the editing operation is reflected (S18), and the process ends.

[0086] Through the above, the editing operation can be performed while ensuring that the robot 1 can implement the edited teaching data 240. Furthermore, in process F, between steps S17 and S18, a determination can be made as to whether the physical quantity obtained by further differentiating the time rate of change of the state quantity (in the case of the state quantity being the rotation angle, angular acceleration) is within a predetermined range.

[0087] Furthermore, to facilitate the estimation of robot 1's dead time based on the index value, it is necessary to consider the differences in the range of variation of each state quantity that constitutes a component of the state quantity vector. For example, in robot 1, when the movable range of actuator 10a is ±500° and the movable range of actuator 10b is ±5°, the sensitivity of each actuator, which can be represented by the index value 310 calculated using equation (2), is 1 / 100 of the sensitivity of actuator 10a. In other words, in index value 310, the situation where actuator 10b operates within its maximum range is treated as the same value as the situation where actuator 10a operates within 1 / 100 of its maximum range. Therefore, even when actuator 10b operates within its maximum range, it may still be treated as dead time. To address this issue, normalizing each state quantity is effective.

[0088] Figure 5 This diagram illustrates the calculations including normalization processing in Example 1. The robot teaching device 2 of this embodiment includes a normalization processing unit 36 ​​that normalizes each component of the state quantity vector 2400 stored in the teaching data storage unit 24 using a predetermined range for each component. The index value calculation unit 31 converts the state quantity vector 3600, after each component has been normalized, into an index value 310.

[0089] For example, a normalization operation is performed on a certain state quantity x as shown in formula (4).

[0090] [Formula 4]

[0091]

[0092] Here, x max is the maximum value in the teaching data of the state quantity x, x min is the minimum value in the teaching data of the state quantity x. max and X min The setting method of is not limited to this. For example, as in the movable range of the actuator 10a described above, the maximum value of the range of the state quantity that the actuator can take may be set to x. max , set the minimum value to x min .

[0093] After calculating the time rate of change of the state quantity, the time rate of change of the state quantity can also be normalized. For example, {(x′)-(x′ min )} / {(x′ max )-(x′ min )} to calculate the value of x′ to be substituted into equation (2). Here, x′ max is the maximum value of the time change rate of the state quantity x in the teaching data, x′ min It is the minimum value of the time change rate within the teaching data of the state quantity x. max and x′ min The method of setting is not limited to this, and the maximum and minimum values ​​that the time change rate of the state quantity based on the specifications of the actuator may be used.

[0094] Figure 6A This is a diagram showing an example of a robot that expresses its actions using multiple different types of state quantities. Figure 6A In the example configuration shown, robot 1 includes rotary actuators 10a and 10b, an end effector 12 for gripping an object using a commanded gripping force, and a single-axis table 13 capable of moving in a translational direction 130. The end effector 12 and single-axis table 13 are also examples of actuators, but are referred to herein as the end effector 12 and single-axis table 13 to avoid confusion with rotary actuators.

[0095] Figure 6B It shows the Figure 6A The diagram shows an example of teaching data 240b for robot 1. The state quantities representing the motion of actuator 10a (actuator A) and actuator 10b (actuator B) are obtained as angles [rad], the state quantity representing the motion of end effector 12 (end effector A) is obtained as gripping force [N], and the state quantity representing the motion of uniaxial table 13 (table A) is obtained as travel distance [m].

[0096] The normalized state quantity, as determined by the normalization processing unit 36, is not a specific physical quantity but rather a unitless value that extracts only the characteristics of the state change within the range [0, 1]. Therefore, the index value calculated based on the normalized state quantity is also a value that represents the characteristics of the state change of the robot 1, not a specific physical quantity.

[0097] In other words, even for a robot 1 whose motion is represented by multiple different state quantities, since the normalized state quantities are unified without units, the index value calculation as shown in Equation (2) can be applied. Furthermore, by performing the normalization process, an index value can be calculated that takes into account the differences in the range of variation of each state quantity. As a result, it is easier to estimate the idle time of the robot 1 based on the index value.

[0098] Alternatively, the index calculation unit 31 can calculate multiple index values. Specifically, assuming m is a natural number and i is a variable taking a natural number from 1 to m, the index calculation unit 31 calculates, for each i from 1 to m, the i-th index value that changes in conjunction with changes in any component of the i-th partial state vector, based on the i-th partial state vector obtained by extracting multiple components from the state vector, thereby generating time series data for the i-th (i = 1 to m) index value. Furthermore, each component of the state vector is extracted as at least one component from the 1st partial state vector to the mth partial state vector. For example, calculating index values ​​corresponding to the arm and end effector of robot 1 corresponds to m = 2. This allows the calculation of index values ​​for each component of the robot, making it easier to understand changes in the movement of each component.

[0099] Furthermore, m is set to be smaller than the order of the state quantity vector. Thus, displaying the index value of each partial state quantity vector separately, compared to displaying each component (state quantity) of the state quantity vector separately, reduces the amount of information that the user 4 must observe during editing, and can be expected to reduce the time required for editing operations.

[0100] According to the structure in Example 1, in the editing operation of the teaching data obtained by sampling teaching, by calculating the indicator value of the information amount that is less than the number of state quantities of the original teaching data and does not damage the original state quantity, as a result, the amount of information that the user 4 should observe when editing can be reduced, and the time spent on the editing operation can be expected to be reduced.

[0101] Furthermore, according to the present embodiment, it is possible to provide a teaching data editing device, a robot teaching system, and a teaching data editing method that allow a user to easily grasp the wasted time in the teaching operation to a robot.

[0102] Example 2

[0103] Figure 7A This diagram illustrates the configuration of a robot teaching device 2 in Example 2. Components not shown in this embodiment are the same as those in Example 1. The robot teaching device 2 in this embodiment includes a conversion unit that converts time-series data of index values ​​into one or more action segments based on the index values ​​at each moment. Furthermore, an index value display unit 32 displays the time-series data of index values ​​as one or more action segments on a display device.

[0104] Figure 7B This is a diagram showing an example of displaying time series data of an index value as a plurality of action divisions. Figure 3A The teaching data editing GUI3a is Figure 7B The teaching data editing GUI 3b is displayed on the display device. In the teaching data editing GUI 3b, two bar graphs are displayed one above the other along the horizontal axis representing time. The upper bar graph is a bar graph that converts the time series data of the index values ​​based on the teaching data that has not been edited into the action segments 370a and displays it. Meanwhile, the lower bar graph is a bar graph that converts the time series data of the index values ​​based on the teaching data that has been edited into the action segments 370b and displays it.

[0105] exist Figure 7B In the , there are five types of action divisions: Event 1 to Event 4 and Idle. Event 1 to Event 4 represent different actions, and Idle indicates that the robot 1 is not moving. Figure 7B Although events 1 to 4 are displayed in the , this is just an example. It is desirable to display names indicating the division of each action so that the content of the action can be easily conveyed to the user.

[0106] In addition, the classification method based on the action classification of the index value can be performed by presetting one or more thresholds corresponding to the action classification for the index value and observing the relationship between the threshold and the index value. It can also be performed using a recognition algorithm such as a pre-trained support vector machine. In addition, it can be performed based on the temporal evolution of the index value.

[0107] The teaching data editing GUI 3b does not display the progress bar 330 of Example 1. Instead, each motion segment can be directly selected using the mouse cursor 38. The motion segment selected using the mouse cursor 38 is bordered. Hereinafter, the selected motion segment is referred to as a designated motion segment 332. Furthermore, the time for the designated motion segment 332 is referred to as the designated motion time. Furthermore, the simulator display unit 34 displays the motion of the robot 1 in the designated motion segment 332 on the display device.

[0108] The user can edit the designated action segment 332. For example, pressing the delete button 352 deletes the state vector for the designated action time in the teaching data. Pressing the correct button 353 displays the components of the state vector for the designated action time in the teaching data, allowing corrections. The reverse button 354 and speed change button 355 are the same as in Example 1. Furthermore, in the lower bar graph, dragging and dropping the designated action segment 332 changes the time sequence of the action segment.

[0109] Furthermore, when editing operation is performed on the designated action partition 332, the result is displayed as Figure 7B Whenever an edit operation is performed, Figure 7B The bar graph below shows the action division based on the latest teaching data. This makes it easy for the user 4 to visually understand how the teaching data 240 changes due to the editing operation.

[0110] Figure 8A This is a diagram showing how the robot operates in Example 2. Figure 8A In the example, the operation of the robot 1 is taught using the operating device 20a as a teaching box and the operating device 20b as a small leader robot simulating the structure of the robot 1. The small leader robot is a type of operating device.

[0111] Operating device 20b, a small leader robot, has a compact structure while maintaining the size ratio of robot 1. It includes an angle sensor at a location corresponding to actuator 10 of robot 1. Robot 1 is operated using leader-follower control. In this leader-follower control, when user 4 directly touches operating device 20b and changes its posture, robot 1 imitates that posture.

[0112] By preparing multiple operating devices as described above and using different operating devices depending on the type of work to be performed by robot 1, teaching robot 1 becomes easier. Specifically, operating device 20b is suitable for rough operations that require a wide range of precision, such as grinding, while operating device 20a, which acts as a teaching pendant, is suitable for fine operations that require a narrow range of precision, such as peg-in-hole assembly.

[0113] When teaching the robot 1 various motions using multiple operating devices, as in this embodiment, the conversion unit 37 may find it difficult to convert the time-series data of the index values ​​into motion categories based solely on the index values. Therefore, the conversion unit 37 may use information about the operating devices used for teaching in addition to the time-series data of the index values ​​when converting the time-series data into motion categories.

[0114] Figure 8B FIG. 2 is a diagram showing an example of teaching data 240c including information on the operating device. Figure 8B As shown, the teaching data includes not only the components of the state quantity vector at each moment, but also information about the operating device used for teaching, such as the name of the operating device. By including the operating device information in the teaching data, the conversion unit 37 can also use the operating device information when converting the time series data of the indicator values ​​into action segments. Furthermore, if the robot 1 is operated by multiple operating devices, the robot teaching device 2 may include a conversion unit 37 for each operating device. Furthermore, the robot teaching device 2 uses the conversion unit 37 separately based on the operating device information included in the teaching data.

[0115] According to this embodiment, teaching data can be understood more easily, and more intuitive editing work can be performed.

[0116] Example 3

[0117] In this embodiment, teaching data for a robot system having a plurality of robots will be described. Configurations not shown in this embodiment are the same as those in the first embodiment.

[0118] Figure 9A This diagram illustrates the robot system 5 in the third embodiment. The robot system 5 includes a robot 1a having rotary actuators 10a and 10b; a robot 1b having rotary actuators 10c and 10d; and a single-axis table 13. Furthermore, robots 1a, 1b, and the single-axis table 13 can be operated simultaneously by at least one operating device 20a. Furthermore, the robot teaching system 6 of this embodiment differs from that of the first embodiment in that it includes the robot system 5 and a robot teaching device 2.

[0119] Figure 9B It shows the Figure 9A FIG2 is a diagram showing an example of teaching data 240d for the robot system 5. As teaching data 240d, the state quantities representing the motion of actuator 10a (actuator A), actuator 10b (actuator B), actuator 10c (actuator C), and actuator 10d (actuator D) are acquired as angles [rad], and the state quantity representing the motion of uniaxial table 13 (table A) is acquired as travel distance [m].

[0120] The normalization processing unit 36 ​​normalizes these state quantities, and the index value calculation unit 31 converts the state quantity vector having the normalized state quantities as components into an index value.

[0121] According to this embodiment, by using all state quantities within the robot system 5 including multiple robots to calculate the index value, the action of the robot system 5 can also be expressed as an index value, and the judgment and editing operations of useless time can be easily performed, just like the case of a single robot 1.

[0122] Furthermore, the index value calculation unit 31 may decompose the state quantity vector into partial state quantity vectors corresponding to each robot in the robot system 5. This allows the index value of each robot to be displayed, making it easier to understand the changes in the movement of each robot.

[0123] Description of Reference Numerals

[0124] 1…Robot, 1'…Robot model, 10…Actuator, 10'…Actuator model, 11…Robot control PC, 12…End effector, 13…Single-axis table, 2…Robot teaching device, 20…Operation receiving unit, 21…Robot control unit, 22…State acquisition unit, 23…Teaching data generation unit, 24…Teaching data storage unit, 240…Teaching data, 2400…State quantity vector, 3…Editing unit, 3a, 3b…Teaching data editing GUI, 30…Teaching data selection unit, 300…Data name selection input box, 301…Data selection button, 31…Indicator value calculation unit, 310…Indicator value, 32…Indicator value display unit, 320…Data point, 33…Data point designation unit, 330…Progress bar, 331…Designated data point, 33 2…Specify action division, 34…Simulator display unit, 35…Edit operation unit, 350…Select button, 351…Selection cancellation button, 352…Delete button, 353…Correction button, 3530…Data point correction GUI, 3531…Numerical value input box, 3532…Numerical value increase button, 3533…Numerical value decrease button, 3534…Correction confirmation button, 3535…Correction cancellation button, 354…Reverse button, 355…Speed ​​change button, 356…Save button, 3560…Save data name input box, 36…Normalization processing unit, 360…Normalized teaching data, 3600…Normalized state quantity vector, 37…Conversion unit, 370…Abstract event, 38…Mouse cursor, 39…Judgment unit, 4…User, 5…Robot system

Claims

1. A teaching data editing device for editing teaching data for causing a robot having an actuator to reproduce a desired motion, characterized in that: The teaching data is data of a plurality of state quantities representing the movement of the robot caused by user operation, acquired at fixed time intervals. The teaching data editing device comprises: an index value calculation unit that calculates, at each moment, an index value that changes in conjunction with changes in any component of a state quantity vector based on a state quantity vector having the state quantity as a component, thereby generating time series data of the index value; an indicator value display unit for displaying time series data of the indicator value on a display device; and An editing operation unit performs an editing operation on the state quantity vector at a time or a period specified by the time series data of the index value displayed on the display device.

2. The teaching data editing device according to claim 1, characterized in that The index value is a value based on the sum of squares or absolute values ​​of the time change rates of the components of the state quantity vector.

3. The teaching data editing device according to claim 1, wherein The index value calculation unit calculates, for each i from 1 to m, an i-th index value that changes in conjunction with a change in any component of the i-th partial state quantity vector, based on an i-th partial state quantity vector obtained by extracting a plurality of components from the state quantity vector, for each time instant, when m is set to a natural number and a variable that takes each natural number from 1 to m is set to i, thereby generating time series data of the i-th index value, where i=1 to m, Each component of the state quantity vector is extracted as at least any one component from the first partial state quantity vector to the mth partial state quantity vector.

4. The teaching data editing device according to claim 1, wherein The teaching data editing device includes: a data point designation unit that receives designation of one or more data points in the displayed time series data of the indicator value; The editing operation unit receives the editing operation for the teaching data, takes the time of the designated data point as a designated time, and performs the editing operation on the state quantity vector of the teaching data at the designated time. The index value calculation unit regenerates time series data of the index value based on the teaching data subjected to the editing operation, The index value display unit displays the newly generated time-series data of the index value on the display device.

5. The teaching data editing device according to claim 4, characterized in that The teaching data editing device comprises: a judgment unit for judging the validity of the editing operation; The editing operation unit corrects the state quantity vector at the specified time of the teaching data when receiving the correction of the teaching data as the editing operation. The determination unit rejects the editing operation when the value of each component of the corrected state quantity vector is outside a first predetermined range.

6. The teaching data editing device according to claim 5, characterized in that The judgment unit, with respect to the teaching data, corrects the state quantity vector at the previous moment, corrects the state quantity vector at the specified moment, corrects the time interval between the previous moment and the specified moment, and makes each component of the leading time rate of change vector fall within the second given range when each component of the leading time rate of change vector representing the time rate of change from the state quantity vector at the previous moment to the specified moment is outside the second given range. The judgment unit corrects the state quantity vector at the specified moment, the state quantity vector at the subsequent moment, or the time interval between the specified moment and the subsequent moment with respect to the teaching data, so that the components of the rear-side time change rate vector are within the third given range when the components of the rear-side time change rate vector representing the time change rate from the state quantity vector at the specified moment to the state quantity vector at the subsequent moment are outside the third given range.

7. The teaching data editing device according to claim 1, wherein The teaching data editing device comprises: a normalization processing unit for normalizing each component of the state quantity vector; The index value calculation unit calculates the index value for each time instant based on each component of the normalized state quantity vector.

8. The teaching data editing device according to claim 1, wherein The teaching data editing device includes: a conversion unit that converts the time series data of the index value into one or more action divisions to express the data; The index value display unit displays the time series data of the index value as the action division, The editing operation unit performs the editing operation on the action division displayed on the display device.

9. A robot teaching system comprising: a robot having an actuator; and a robot teaching device for generating teaching data for causing the robot to reproduce a desired movement. The robot teaching system is characterized in that: The robot teaching device comprises: An operation receiving unit for receiving an action instruction from a user to teach the robot; a robot control unit configured to control the robot based on the motion instruction; a state acquisition unit that acquires a state quantity vector having a plurality of state quantities representing the motion of the robot as components at fixed time intervals; A teaching data generating unit, which organizes the state quantity vector into time series data; an index value calculation unit that calculates, at each moment, an index value that changes in conjunction with a change in any component of the state quantity vector based on the state quantity vector, thereby generating time series data of the index value; an indicator value display unit for displaying time series data of the indicator value on a display device; and An editing operation unit performs an editing operation on the state quantity vector at a time or a period specified by the time series data of the index value displayed on the display device.

10. The robot teaching system according to claim 9, characterized in that: The robot control unit controls the robot based on the teaching data subjected to the editing operation.

11. A method for editing teaching data, comprising: using a teaching data editing device for editing teaching data for causing a robot having an actuator to reproduce a desired motion; The teaching data editing method is characterized in that: The teaching data editing device includes an index value calculation unit, an index value display unit, and an editing operation unit. The index value calculation unit calculates, at each moment, an index value that changes in conjunction with changes in any component of a state quantity vector based on a plurality of state quantities representing the movement of the robot, thereby generating time series data of the index value. The index value display unit displays the time series data of the index value on a display device. The editing operation unit performs an editing operation on the state quantity vector at a time or a period specified by the time series data of the index value displayed on the display device.

Citation Information

Patent Citations

  • Parallel link robot and operation teaching method therefor

    JP2013059852A