Teaching device, marker measurement method and program
The teaching device simplifies the measurement process for multiple markers by allowing the reuse of setting information from single marker measurements, thereby improving accuracy and reducing complexity in the correction of robot positional deviations.
Patent Information
- Application Number
- JP2025035764
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-03-06
- Publication Date
- 2025-05-13
AI Technical Summary
Existing systems for correcting the positional deviation of robots in automated systems using a single marker attached to the work space may not provide sufficient accuracy, necessitating the use of multiple markers and differing measurement methods, which complicates the teaching and measurement processes.
A teaching device and method that allow for the creation of a program to measure markers in a work space using visual sensors, where the user interface enables setting information for measuring one marker to be reused for measuring multiple markers, simplifying the process and improving accuracy.
This approach allows users to easily set up measurements for multiple markers in the same manner as for a single marker, improving positional correction accuracy and reducing the complexity of the teaching process.
Smart Images

Figure 2025074368000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a teaching device. [Background technology]
[0002] An automated system has been proposed in which a robot is placed on a cart or AGV (Automated Guided Vehicle) and moved, stopping in front of a work space such as a machine tool to perform work.
[0003] In such an automation system, when a robot performs various tasks such as loading / unloading workpieces from a machine tool, the stopping position of the cart or AGV carrying the robot changes every time it moves. Therefore, it is not enough for the robot to perform the same operation every time, and it is necessary to measure the deviation of the stopping position of the cart or AGV relative to the machine tool and correct the robot's operation so that it can perform the work correctly in the work space. In this case, a camera is attached to the robot's hand and measures markers attached to the work space to measure the positional relationship between the robot and the work space such as the machine tool, and the positional deviation is corrected to operate the robot.
[0004] As one method for determining the relative position between a robot and the workspace, Patent Document 1 describes a configuration in which "a reference (6) set in the work coordinates is measured by a reference position detector (camera 4) at the end of the robot, and an installation error is estimated from the difference between the measured position of the reference in the robot coordinates and the position of the reference in the work coordinates measured in advance, and this is corrected to control the robot" (abstract).
[0005] Patent document 2 also describes a configuration in which "the robotic surgical system 100 may include one or more markers 118 configured to track three-dimensional movement of the robotic arm 104, the end effector 112, the patient 210, and / or the surgical instrument 608" (paragraph 0050). [Prior art documents] [Patent documents]
[0006] [Patent Document 1] Japanese Patent Application Publication No. 4-211807 [Patent Document 2] JP 2020-72773 A Summary of the Invention [Problem to be solved by the invention]
[0007] When measuring markers installed in the workspace with a camera attached to the tip of a robot, it is desirable to be able to correct the robot's position by detecting one marker from the viewpoint of cycle time and teaching man-hours. However, there are cases where the required accuracy cannot be obtained by position correction by measuring one marker. In such cases, the accuracy of position correction can be improved by measuring multiple markers. However, if the measurement method and teaching procedure differ between measuring with one marker and measuring with multiple markers, it will be time-consuming to increase the number of markers and improve accuracy. [Means for solving the problem]
[0008] One aspect of the present disclosure is a teaching device used to create a program for measuring a marker placed in a work space using a visual sensor, the teaching device including a user interface creation unit that creates a user interface for inputting setting information related to the measurement of the marker, and the user interface creation unit makes first setting information inputted in the user interface related to a first marker available for use in setting related to a second marker.
[0009] Another aspect of the present disclosure is a marker measurement method for measuring markers installed in a workspace using a visual sensor, the method including: performing a measurement on a first marker, evaluating the accuracy of the measurement result of the first marker, and if the accuracy of the measurement result of the first marker is less than a predetermined level, performing a measurement on one or more additional markers, wherein a user interface is provided that enables setting information input regarding the measurement of the first marker to be used as setting information regarding the measurement of each of the one or more additional markers.
[0010] Yet another aspect of the present disclosure is a program that causes a computer to perform an operation of providing a user interface that accepts input of first setting information related to measurement when a visual sensor measures one marker, and accepts input of second setting information related to measurement when the visual sensor measures a second marker in a manner that can utilize the first setting information input related to the first marker. Effect of the Invention
[0011] According to the above configuration, even in a situation where measurement of multiple markers is required, the user can easily set up the measurement of multiple markers in the same manner as when setting up the measurement of a single marker.
[0012] These and other objects, features and advantages of the present invention will become more apparent from the detailed description of exemplary embodiments of the invention that are illustrated in the accompanying drawings. [Brief description of the drawings]
[0013] [Figure 1] 1 is a diagram illustrating a device configuration of a robot system including a teaching device according to an embodiment. [Diagram 2] FIG. 2 is a diagram illustrating an example of a hardware configuration of a robot control device and a teaching device. [Diagram 3] FIG. 2 is a functional block diagram of a teaching device and a robot control device. [Figure 4]1A and 1B are diagrams illustrating examples of markers used in the present embodiment. [Diagram 5] FIG. 13 is a diagram showing one marker installed in a working space and a teaching position to be corrected. [Figure 6] FIG. 1 is a diagram showing three markers installed in a working space and a teaching position to be corrected. [Figure 7] FIG. 2 is a diagram showing an example of a basic configuration of a program creation screen. [Figure 8] FIG. 13 is a diagram showing an icon of a command for performing a measurement for one marker. [Figure 9] 13 is a diagram showing an example of the configuration of a marker UI screen for performing detailed settings of a single marker measurement icon. FIG. [Figure 10] FIG. 13 shows icons corresponding to commands to perform measurements on three markers. [Figure 11] FIG. 13 is a diagram showing a measurement program in which, after measurement with a first marker, the measurement result is evaluated, and if the evaluation value is low, the second and third markers are measured. [Figure 12] 12 is a flowchart showing the operation of the measurement program shown in FIG. 11. [Figure 13] FIG. 13 is a diagram showing a program in which a waypoint is added between one-marker measurement icons when performing measurements with three markers. [Figure 14A] FIG. 13 is a diagram showing a marker setting input screen for measuring one marker, provided by a setting unit. [Figure 14B] FIG. 13 is a diagram showing a marker setting input screen for measuring two markers, which is provided by the setting unit. [Figure 15] 13 is a flowchart showing the operation of providing an interface for inputting marker measurement settings and accepting setting inputs. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] Next, an embodiment of the present disclosure will be described with reference to the drawings. In the drawings, similar components or functional parts are given similar reference symbols. To facilitate understanding, the scale of these drawings is appropriately changed. In addition, the form shown in the drawings is one example for implementing the present invention, and the present invention is not limited to the illustrated form.
[0015] 1 is a diagram showing a device configuration of a robot system 100 including a teaching device 50 according to an embodiment. The robot system 100 includes a machine tool 10, an industrial robot (hereinafter referred to as robot) 20, a robot control device 30 that controls the robot 20, and a transport device 81 for transporting the robot 20 and the robot control device 30. The robot 20 is mounted on the transport device 81 and placed at a predetermined position in front of the machine tool 10, and performs predetermined tasks such as loading / unloading a work object (hereinafter referred to as workpiece) into the machine tool 10. In other words, the robot system 100 is configured as an automation system that automates the loading / unloading of a workpiece into the machine tool 10 by the robot 20.
[0016] 1, the robot 20 is illustrated as a vertical articulated robot, but other types of robots may be used. The transport device 81 is, for example, a dolly or an AGV (Automated Guided Vehicle).
[0017] The teaching device 50 is connected wirelessly or by wire to the robot control device 30, and is used to teach the robot 20 (to create a control program for the robot 20). During actual operation of the robot system 100, the control program created using the teaching device 50 is registered in the robot control device 30, so the teaching device 50 may be omitted from the robot system 100.
[0018] In a robot system 100 as shown in Fig. 1, when the robot 20 performs a task such as loading / unloading a workpiece, the position of the transport device 81 on which the robot 20 is mounted changes. Therefore, the robot 20 needs to be configured to measure the positional deviation of the robot 20 relative to the machine tool 10 so as to correctly perform the task relative to the machine tool 10. For this reason, a visual sensor 71 is mounted on the arm tip 21 of the robot 20, and the robot 20 (robot control device 30) is configured to use the visual sensor 71 to detect the positional deviation of the robot 20 relative to the working space (machine tool 10) and correct the positional deviation to perform the task.
[0019] The teaching device 50 provides a function of creating a program (hereinafter, such a program is also referred to as a measurement program) that measures the three-dimensional position of the marker 4 installed at a predetermined position in the workspace (machine tool 10) using a visual sensor 71 mounted on the arm tip 21 of the robot 20 and measures the positional deviation of the robot 20 from its intended position in the workspace. A control program including the measurement program created using the teaching device 50 is registered in the robot controller 30, and thereafter, the robot 20 (robot controller 30) can operate to detect the positional deviation of the robot 20 from its intended position in the workspace, correct the position, and execute a predetermined task.
[0020] The visual sensor 71 may be a two-dimensional camera or a three-dimensional position detector. In this embodiment, the visual sensor 71 is a two-dimensional camera. The visual sensor 71 is connected to the robot control device 30. In this embodiment, the robot control device 30 has a function for controlling the visual sensor 71, a function for performing various image processing on the image captured by the visual sensor 71, and the like. In addition, calibration data including data indicating the position of the visual sensor 71 relative to the robot 20 is stored in advance in the memory 32 of the robot control device 30.
[0021] 2 is a diagram showing an example of the hardware configuration of the robot control device 30 and the teaching device 50. The robot control device 30 may have a configuration as a general computer in which a memory 32 (ROM, RAM, non-volatile memory, etc.), an input / output interface 33, an operation unit 34 including various operation switches, etc. are connected to a processor 31 via a bus. The teaching device 50 may have a configuration as a general computer in which a memory 52 (ROM, RAM, non-volatile memory, etc.), a display unit 53, an operation unit 54 including an input device such as a keyboard (or software key), an input / output interface 55, etc. are connected to a processor 51 via a bus. Note that the teaching device 50 can be a teaching operation panel, a tablet terminal, a smartphone, a personal computer, or any other various information processing device.
[0022] FIG. 3 is a functional block diagram of the teaching device 50 and the robot control device 30. The teaching device 50 is a device for creating a control program using commands for controlling the robot 20. In the present embodiment, as an example, the teaching device 50 is a device that enables programming using icons representing commands. The teaching device 50 has a program creation unit 151 for creating a control program and a setting unit 154 for inputting various settings related to the teaching of the robot 20. The program creation unit 151 has a marker UI creation unit 152 for creating a UI (user interface) for receiving input of settings related to marker measurement, and a marker setting input acceptance unit 153 for accepting marker setting input operations via the UI. The UI for marker setting is realized using the functions of the display unit 53 and the operation unit 54.
[0023] The setting unit 154 presents a UI screen for inputting various settings (e.g., settings of a tool coordinate system) related to the teaching of the robot 20, and accepts the input of the settings. The input various settings are stored in a storage unit (memory 52) of the teaching device 50.
[0024] As shown in FIG. 3, the robot control device 30 includes a memory unit 131 that stores a control program and other various information, an operation control unit 132 that controls the operation of the robot 20 in accordance with the control program, a marker position measurement unit 133, a relative position calculation unit 134, and a measurement accuracy evaluation unit 135.
[0025] The marker position measuring unit 133 measures the three-dimensional position of the marker 4 using the visual sensor 71. In this embodiment, as an example, the marker position measuring unit 133 measures the position of the marker 4 by a stereo measurement method using the visual sensor 71 as a two-dimensional camera. That is, the marker position measuring unit 133 changes the position of the visual sensor 71 consisting of a two-dimensional camera, captures images of the same marker 4 from two different positions, and calculates the three-dimensional position of the marker 4. This method has the advantage that a position measuring system can be realized at low cost by using a relatively inexpensive two-dimensional camera. Note that other methods known in the art for measuring the position of a marker (also called a target mark or visual marker) may be used.
[0026] The storage unit 131 stores calibration data indicating the position of the two-dimensional camera (visual sensor 71) based on a coordinate system (mechanical interface coordinate system) set on the arm tip 21 of the robot 20. Meanwhile, the robot control device 30 (marker position measurement unit 133) can grasp the position and posture of the arm tip 21 when the robot 20 is in motion. Therefore, the robot control device 30 (marker position measurement unit 133) can associate the sensor coordinate system at the time of imaging by the two-dimensional camera (visual sensor 71) with the robot coordinate system by converting the mechanical interface coordinate system into the robot coordinate system according to the motion of the robot 20. This enables the marker position measurement unit 133 to obtain the position of the target (marker 4) as a three-dimensional position in the robot coordinate system.
[0027] The relative position calculation unit 134 determines the relative position between the work space (machine tool 10) and the robot 20 (in other words, the amount of deviation from the intended position of the robot 20 with respect to the work space) based on the measured marker positions.
[0028] The operation control unit 132 controls the robot 20 so that the robot 20 performs the task in a correct position and posture corrected from the specified position and posture based on the calculated relative positional relationship between the work space and the robot (the amount of deviation from the intended position of the robot 20 relative to the work space).
[0029] The measurement accuracy evaluation unit 135 has a function of evaluating the accuracy of the measurement result obtained when the marker position measurement unit 133 measures the position of one marker 4 .
[0030] In addition, the functions related to marker position measurement by the marker position measurement unit 133, the relative position calculation unit 134, and the measurement accuracy evaluation unit 135 can be realized by registering a measurement program related to marker position measurement created using the teaching device 50 in the memory unit 131 of the robot control device 30 and executing the measurement program by the processor 31 of the robot control device 30.
[0031] FIG. 4 shows an example of the marker 4 used in this embodiment. The marker 4 in this example has a dot pattern as shown in FIG. 4. In the marker shown in FIG. 4, large dots 141-144 indicate a coordinate system (marker coordinate system) set for the marker 4. The dot 141 indicates the origin of the marker coordinate system, the dots 141-142 indicate the X-axis of the marker coordinate system, and the dots 141, 143-144 indicate the Y-axis of the marker coordinate system. The Z-axis is the normal direction to the marker formation surface. When the robot control device 30 measures the marker 4 according to the measurement program, information on the dot interval of the marker 4 can be used as known information. Therefore, the robot control device 30 (marker position measurement unit 133 and relative position calculation unit 134) can obtain the position and orientation of the marker coordinate system set for the marker 4 by measuring each dot of the marker 4. The position and orientation of such a marker 4 can be obtained by one measurement using the visual sensor 71 (two-dimensional camera), or can be obtained by a stereo measurement method. As described above, in this embodiment, a case where the position and orientation are obtained by a stereo measurement method will be described. Also, in this embodiment, a case where a marker 4 having a shape as shown in FIG. 4 is used will be described, but a marker of any shape can be used as a marker to be measured. When a marker of any shape is used, the shape of the marker is instructed via a user interface or the like (such as a marker UI screen 220 described later) that performs detailed settings related to marker measurement.
[0032] Although it is possible to obtain the three-dimensional position of the marker 4 relative to the visual sensor 71 by measuring one marker 4 with a visual sensor, there are cases where sufficient accuracy cannot be obtained by measuring one marker. FIG. 5 shows one marker 4 installed in the working space and a teaching position M1 to be corrected. If the distance d between the marker 4 and the teaching position M1 to be corrected becomes large, the translational position after correction of the teaching position M1 tends to be adversely affected. This is because, when the teaching position M1 is operated (corrected) as a position in a coordinate system based on the marker 4, if an error θ occurs in the attitude of the marker 4, a deviation of d×sinθ in the translational direction may occur in the corrected position of the teaching position M1.
[0033] Therefore, the robot control device 30 according to the present embodiment increases the number of markers 4 to be measured, and grasps the coordinate system and the amount of correction by synthesizing the measurement results of the markers, thereby improving the accuracy of correction of the teaching point. As an example, as shown in FIG. 6, three markers 4 (marker 41, marker 42, marker 43) are arranged around the teaching position M1 to be corrected. The positions measured individually for the markers 41, 42, and 43 are designated as P1, P2, and P3, respectively. The marker position measurement unit 133 grasps the coordinate system by setting the position P1 of the marker 41 as the origin position, the position P2 of the marker 42 as the position in the X-axis direction, and the position P3 of the marker 43 as a position on the XY plane. When the position and orientation of the coordinate system are grasped using a plurality of markers 4 in this way, the accuracy can be improved compared to the case of measuring one marker. In this case, the greater the distance between the markers, the smaller the orientation error can be.
[0034] Other methods known in the art may be used as a method for determining the position and orientation of the entire object (work space in this embodiment) by synthesizing the results of measuring multiple markers. For example, when measuring two points (two markers), it is not possible to identify the amount of rotation about the axis of the line segment connecting the two measured points, but if this amount of rotation is unlikely to change due to the system accuracy, this is a sufficiently practical configuration.
[0035] The measurement accuracy evaluation unit 135 has a function of evaluating the result of the position measurement of the marker 4 by the marker position measurement unit 133. As an example, the measurement accuracy evaluation unit 135 evaluates the result of the position measurement of the marker 4 as follows. If the measured position of each measurement point (each dot) in the marker 4 is Pxi, the position (design value) of each measurement point relative to the origin of the marker 4 is Pyi, and the measured position and orientation of the marker is Pm, then Σ(Pxi-Pm×Pyi)^2 (1) is an index value that represents the sum of squares of the measurement errors at each measurement point, and the measurement accuracy can be evaluated based on the magnitude of this index value. In the above, Pm is a homogeneous transformation matrix. The measurement accuracy can also be evaluated by measuring the marker 4 from multiple viewpoints and comprehensively evaluating the measurement results. For example, when the measurement accuracy of the marker 4 is low, there may be variation in the measurement results from multiple viewpoints.
[0036] The marker position measuring unit 133 and the relative position calculating unit 134 may measure one marker 4 to obtain the index value, and if the accuracy of the position measurement using one marker is low (for example, if the index value of the error using formula (1) is greater than a predetermined threshold value), they may increase the number of markers 4 to be measured (for example, perform measurement using three markers 4). Furthermore, the marker position measuring unit 133 and the relative position calculating unit 134 may measure one marker 4 to obtain the index value, and if it is determined that the accuracy of the measurement using one marker is sufficient (for example, if the index value of the error using formula (1) is equal to or less than a predetermined threshold value), they may obtain the relative positional relationship between the robot 20 and the workspace by measuring one marker 4.
[0037] The teaching device 50 provides a programming function for realizing the above-mentioned marker measurement function in the robot control device 30. The program creation function in the teaching device 50 will be described below.
[0038] 7 is a diagram showing a basic configuration example of a program creation screen 400 generated by the program creation unit 151. The program creation screen 400 includes an icon display area 200 that displays a list of icons that can be used for program creation, and a program creation area 300 for creating a program by arranging desired icons selected from the icon display area 200. The user performs programming by arranging desired icons from the icon display area 200 in the program creation area 300 in order, for example, by a drag-and-drop operation. In addition, the user can select an icon arranged in the program creation area 300 and select a details tab 262 to perform detailed settings (instructions) for the currently selected icon.
[0039] FIG. 8 is a diagram showing an icon (hereinafter, referred to as a one-marker measurement icon 211) corresponding to a command to execute measurement for one marker. The one-marker measurement icon 211 provides a function of measuring the three-dimensional position of the marker by a visual detection function using the visual sensor 71 and calculating the relative positional relationship between the robot 20 and the marker (i.e., the working space). The two numbers displayed on the upper side of the one-marker measurement icon 211 indicate that the one-marker measurement icon 211 includes the setting of two teaching points. When the one-marker measurement icon 211 is placed in the program creation area 300 together with other icons, the two numbers on the upper side of the one-marker measurement icon 211 indicate the numbers of the teaching points in the program. FIG. 8 shows, as an example, that the two teaching points of the one-marker measurement icon 211 are the second and third.
[0040] 9 is a diagram showing an example of the configuration of a marker UI (user interface) screen 220 for performing detailed settings of the one-marker point measurement icon 211. The marker UI screen 220 is generated by the marker UI creation unit 152. The marker UI screen 220 may be started and displayed, for example, by selecting the details tab 262 while the one-marker point measurement icon 211 arranged in the program creation area 300 is selected. As shown in FIG. 9, the marker UI screen 220 has the following detailed setting items: (1) Two measurement positions for stereo measurement (measurement position 1, measurement position 2) (2) Exposure time of the visual sensor (3) Marker selection (4) Marker dot spacing The setting input fields 221 to 225 are provided with default settings in advance.
[0041] When setting two measurement positions, the teach buttons 221a and 222a are selected to operate (jog) the robot 20 to teach the measurement positions (positions of the visual sensor 71).
[0042] FIG. 10 shows an icon for measuring three markers (hereinafter, referred to as a three-marker measurement icon 230). As described above with reference to FIG. 6, the three-marker measurement icon 230 provides a function for measuring three markers 4 and determining the relative positional relationship between the robot 20 and the working space. The three-marker measurement icon 230 can be easily configured by arranging three one-marker measurement icons 211 in a recessed portion at the center of a three-marker composite icon 231 formed in a U-shape. As described above with reference to FIG. 6, the three-marker composite icon 231 provides a function for determining the relative positional relationship between the robot (visual sensor) and the working space by combining the positions of three markers measured by the three one-marker measurement icons 211, respectively.
[0043] When performing three-point measurement of a marker, the operator only needs to line up three of the same one-point measurement icons 211. That is, the operator can set the measurement of three markers by operating the same marker UI screen 220 shown in Fig. 9. That is, a common UI screen is used for setting each of the three markers 4.
[0044] Here, since the setting items are common to the settings of the three markers, the setting information input to the one-marker measurement icon 211 for one marker may be configured to be reflected as a default value in the setting information of the other two one-marker measurement icons 211. For example, in the case of the example of the setting items shown in Fig. 9, the setting items other than the two positions for stereo measurement can be common.
[0045] In this way, according to this embodiment, when performing three-marker measurement, settings can be made via a UI screen common to when performing one-marker measurement, and the setting information input when performing one-marker measurement can be reflected as the default setting value when performing three-marker measurement. Therefore, the burden on the user when performing three-marker measurement can be reduced. In other words, when performing three-marker measurement, the user can make settings at the same intervals as when performing one-marker measurement, and is not required to have complex knowledge for performing three-marker measurement.
[0046] FIG. 11 shows a measurement program 240 that performs measurement with a first marker, evaluates the measurement result, and performs measurements with a second and third marker only when the evaluation value is low (i.e., when the measurement accuracy is determined to be low), thereby improving the accuracy of position measurement. The measurement program 240 includes a first marker one-point measurement icon 211, a conditional branch icon 241, a second marker one-point measurement icon 211, and a third marker one-point measurement icon 211 in a three-marker composite icon 231 having a shape extended in a U-shape. The conditional branch icon 241 is set to provide an operation in which, when the index value of the error according to the above-mentioned formula (1) is greater than a threshold value, the second and third markers are measured, and, when the index value of the error is equal to or less than the threshold value, the second and third markers are not measured. In this way, according to this embodiment, an operation of shifting to measurement with multiple markers when accuracy is not achieved with one marker can be easily realized. In other words, when accuracy is not achieved with one marker, it is possible to seamlessly switch to measurement with multiple markers.
[0047] FIG. 12 is a flowchart showing the operation of the measurement program 240 shown in FIG. 11. First, the first marker is measured (step S1). Next, the accuracy of the measurement of the first marker is evaluated (step S2). Here, the precision index value is calculated using the above-mentioned formula (1). If the index value from formula (1) is equal to or less than a predetermined value and the precision is judged to be good (S3: OK), this process is terminated. In this case, the relative positional relationship between the robot 20 and the working space is obtained using the measurement result of one marker.
[0048] If the index value by the formula (1) is larger than a predetermined value and it is determined that the accuracy is poor (S3: NG), the second marker is measured (step S4) and the third marker is measured (step S5). Then, as described with reference to Fig. 6, the coordinate system of the working space is obtained by combining the measurement results of the three markers, and the relative positional relationship between the robot 20 and the working space is obtained (step S6).
[0049] Three markers 4 may be placed in advance in the work space (machine tool 10), or if it is determined that the measurement accuracy with one marker is poor (S3: NG), the user may increase the number of markers 4. When the user increases the number of markers 4, the user operates the teaching device 50 to set the placement information of the added markers 4.
[0050] In the above flowchart, step S1 corresponds to the first one marker measurement icon 211 in the measurement program 240, step S4 corresponds to the second one marker measurement icon 211 in the measurement program 240, and step S5 corresponds to the third one marker measurement icon 211 in the measurement program 240. The operation of determining the relative position in step S6 corresponds to the function of the three markers combination icon 231, and the flow control by the condition decision step S3 corresponds to the function of the condition branch icon 241.
[0051] FIG. 13 shows a measurement program 250, which is an example of a program in the case where a via point is added between one-marker measurement icons 211 when performing measurement with three markers. In this example, three one-marker measurement icons 211 are arranged in a three-marker composite icon 231, and a linear movement icon 251 for adding a via point is inserted between the first one-marker measurement icon 211 and the second one-marker measurement icon 211. In this case, the robot 20 operates so as to pass through a teaching point designated by the linear movement icon 251 between the measurement position of the first marker and the measurement position of the second marker. Therefore, if there is an obstacle or a singular point on the path from the measurement position of the first marker to the measurement position of the second marker, it is possible to avoid it. In this way, even when performing measurement of multiple markers, since the icons for each measurement are separate, flexible programming such as adding via points can be performed.
[0052] The above describes an example of an operation when detailed settings related to marker measurement are made via the programming function provided by the program creation unit 151. The teaching device 50 has a setting unit 154 that provides a function of accepting various setting inputs related to robot teaching. Settings related to marker measurement may be made via such setting input function of the teaching device 50 (i.e., the function of the setting unit 154).
[0053] Fig. 14A shows an example of a marker setting input screen 500 for marker measurement, which is provided as a function of the setting unit 154. The marker setting input screen 500 includes an input field 511 for specifying the number of markers to be measured, an input field 512 for specifying the measurement method, and input fields 513 and 514 for inputting measurement positions. In the example of Fig. 14A, measurement by the stereo measurement method is specified for one marker, so input fields 513 and 514 for two measurement positions (measurement position 1 and measurement position 2) are arranged. The user can select instruction buttons 513a and 514a to instruct the measurement positions.
[0054] When the number of markers is designated as 2 on the marker setting input screen 500 shown in FIG. 14A, input fields 515 and 516 for inputting the measurement position of the second marker appear additionally, as shown in the marker setting input screen 500B of FIG. 14B. The user can select the teaching buttons 515a and 516a to teach the measurement position of the second marker. When the user has already input the setting for one marker via the marker setting input screen 500, the information input via the marker setting input screen 500 is reflected in a usable state as the setting information for the first marker (marker 1) on the marker setting input screen 500B. In this way, according to the setting function for marker measurement by the setting unit 154, it is possible to easily move to the setting for the measurement of two markers by changing the number of markers to 2 in the drop-down menu for the number of markers on the marker setting input screen.
[0055] The setting information for marker measurement input via the marker setting input screen 500 or the marker setting input screen 500B is copied and stored in a global memory area that can be referenced by the program. If a marker measurement command is included in a control program, the marker measurement command can perform an operation for marker measurement using the setting information in the global memory area.
[0056] 15 is a flowchart showing the operation of marker UI creation unit 152 and marker setting input receiving unit 153 of teaching device 50 to provide an interface for inputting marker measurement settings and to receive setting input. Here, the operation of marker UI creation unit 152 and marker setting input receiving unit 153 in the case of a program for measuring three markers as exemplified in FIG.
[0057] First, the marker UI creation unit 152 presents a marker UI screen 220 for inputting settings for the first marker measurement, and the marker setting input receiving unit 153 receives the setting input for the first marker measurement via the marker UI screen 220 (step S101). Next, the marker UI creation unit 152 presents a marker UI screen 220 for inputting settings for the second marker measurement (step S102). In this case, the marker UI creation unit 152 reflects values that have already been input as settings for the first marker measurement as default values in the marker UI screen 220 for the second marker measurement. Then, the marker setting input receiving unit 153 receives the setting input for the second marker measurement via the marker UI screen 220 for the second marker (step S102). The marker UI screen 220 for the second marker reflects and is available to use the values already entered for the first marker, so the user only needs to set items that are specifically required for setting the measurement of the second marker (e.g., the measurement position of the second marker).
[0058] Next, the marker UI creation unit 152 presents a marker UI screen 220 for inputting settings for the third marker measurement, and the marker setting input receiving unit 153 receives setting input for the second marker measurement via the marker UI screen 220 for the third marker (step S103). In this case, the marker UI screen 220 for the third marker also reflects the values already input for the first marker and the second marker and is available for use, so the user need only set items that are particularly necessary for setting the third marker measurement (for example, the measurement position of the third marker).
[0059] In this way, the functions of marker UI creation unit 152 and marker setting input receiving unit 153 realize an operation of providing a user interface that receives input of first setting information related to measurement of a first marker, and receives input of second setting information related to measurement of a second marker in a manner that can utilize the first setting information inputted related to the first marker. Note that an equivalent operation is also realized by setting unit 154.
[0060] The functions provided by the teaching device 50 in the above-described embodiment can also be expressed as follows: That is, the teaching device is used to create a program for measuring a marker placed in a working space by a visual sensor, and includes a user interface creation unit (marker UI creation unit 152 or setting unit 154) that creates a user interface for inputting setting information related to the measurement of the marker, and the user interface creation unit makes first setting information inputted for a first marker available in the user interface for setting a second marker.
[0061] The marker measurement method in the above-described embodiment (FIGS. 11, 12, etc.) can be expressed as follows: That is, it is a method for measuring markers placed in a working space by a visual sensor, which includes measuring a first marker, evaluating the accuracy of the measurement result of the first marker, and, if the accuracy of the measurement result of the first marker is below a predetermined level, measuring one or more additional markers, and the setting information related to the measurement of the first marker is available as setting information related to the measurement of each of the one or more additional markers.
[0062] According to this embodiment, even in a situation where measurement of multiple markers is required, the user can easily configure the measurement of multiple markers in the same manner as when configuring the measurement of a single marker.
[0063] Although the present invention has been described using exemplary embodiments, those skilled in the art will understand that modifications and various other changes, omissions, and additions can be made to the above-described embodiments without departing from the scope of the present invention.
[0064] In the above embodiment, the teaching device 50 is configured as a programming device that allows programming using icons, but the teaching device 50 may be configured as a programming device that allows text-based programming. A text-based program corresponding to the command icons for measuring the three markers shown in FIG. 10 is shown below. (Example of a measurement program) FIND MARKER FIND MARKER FIND MARKER CALCULATE MARKERS In the above measurement program, the command 'FIND MARKER' is a measurement command for measuring one marker, and corresponds to the above-mentioned single marker measurement icon 211. The command 'CALCULATE MARKERS' is a command for integrating the measurement results for three markers to find the relative positional relationship between the robot and the working space, and corresponds to the above-mentioned three marker synthesis icon 231. Detailed settings for these commands may be input via a user interface screen for inputting settings for marker measurement, in the same manner as in the above-mentioned embodiment. Alternatively, these command statements may operate by referring to setting information copied to a global memory area.
[0065] In the above-described embodiments, the functional blocks of the teaching device or robot control device shown in FIG. 3 may be realized by the CPU of the teaching device or robot control device executing various software stored in a storage device, or may be realized by a configuration mainly based on hardware such as an ASIC (Application Specific Integrated Circuit).
[0066] The programs for executing the various processes shown in the above-described embodiments (including the measurement program shown in FIG. 12 and the program for providing the user interface shown in FIG. 15) can be recorded on various computer-readable recording media (e.g., semiconductor memories such as ROM, EEPROM, and flash memory, magnetic recording media, and optical discs such as CD-ROM and DVD-ROM). [Explanation of symbols]
[0067] 4 Markers 10 Machine tools 20. Robot 30 Robot control device 31 Processors 32 Memory 33 Input / Output Interface 34 Control section 50 Teaching device 51 Processors 52 Memory 53 Display section 54 Operation section 55 Input / Output Interface 71 Visual Sensor 100 Robot System 131 Storage section 132 Motion control section 133 Marker position measurement unit 134 Relative Position Calculation Unit 135 Measurement Accuracy Evaluation Section 200 Icon display area 211 Marker 1 point measurement icon 220 Marker UI screen 230 marker 3 point measurement icon 300 Programming area 400 Program creation screen 500, 500B Marker setting input screen
Claims
1. A teaching device used to create a program for measuring a marker installed in a work space by a visual sensor, comprising: a user interface creation unit that creates a user interface for inputting setting information related to the measurement of the marker; The user interface creation unit makes the first setting information inputted regarding the first marker available in the user interface for setting the second marker.
2. the user interface includes a first user interface screen for setting a first marker and a second user interface screen for setting a second marker; The teaching device according to claim 1 , wherein the first setting information is at least partially set as a default value on the second user interface screen.
3. The teaching device according to claim 2 , wherein the first user interface screen and the second user interface screen include common setting items.
4. The teaching device according to claim 3 , wherein the setting information includes, as the common setting items, one or more of an exposure time of the visual sensor, a selection of the marker, and a dot interval of the marker.
5. A program creation unit that creates a program creation screen for creating the program, A teaching device as described in any one of claims 1 to 4, wherein a first measurement command for measuring the first marker and a second measurement command for measuring the second marker are arranged as a single command on the program creation screen.
6. The teaching device according to claim 5 , wherein the first measurement command and the second measurement command are represented by the same icon.
7. A method for measuring a marker installed in a workspace by a visual sensor, comprising: taking a measurement on a first said marker; Evaluating the accuracy of the measurement results of the first marker; performing measurements on one or more additional markers if the accuracy of the measurement of a first marker is below a predetermined level; A marker measurement method in which a user interface is provided in which setting information input regarding measurement of a first marker can be used as setting information regarding measurement of each of one or more additional markers.
8. The marker measurement method according to claim 7 , further comprising: determining a relative positional relationship between the working space and the visual sensor by combining measurement results for the first marker and one or more additional markers.
9. The marker measurement method according to claim 7 or 8, wherein the setting information regarding the measurement of the first marker and the setting information regarding the measurement of each of the additional one or more markers include one or more of the exposure time of the visual sensor, the selection of the marker, and the dot spacing of the marker as common setting items.
10. the marker has a dot pattern including dots having a known dot spacing and defining a coordinate system for the marker; Evaluating accuracy of the measurement result of the first marker includes: Let Pxi be the homogeneous coordinates representing the measured position of each dot in the marker, Pyi be the homogeneous coordinates representing the designed position of each dot relative to the origin of the marker, and Pm be the homogeneous transformation matrix representing the measured position and orientation of the marker. Σ(Pxi-Pm×Pyi)^2 as an index value to evaluate the accuracy, The marker measurement method according to any one of claims 7 to 9.
11. accepting an input of first setting information related to measurement when measuring a first marker with a visual sensor; A program that causes a computer to execute an operation of providing a user interface that accepts input of second setting information regarding measurement when measuring a second marker with the visual sensor in a manner that can utilize the first setting information input regarding the first marker.
12. the user interface includes a first user interface screen for settings related to the first marker and a second user interface screen for settings related to the second marker; The computer-readable medium according to claim 11 , wherein the first setting information is at least partially set as default values on the second user interface screen.
13. The computer-readable medium according to claim 12 , wherein the first user interface screen and the second user interface screen include common setting items.
14. The program according to claim 13 , wherein each of the first setting information and the second setting information includes, as the common setting item, one or more of an exposure time of the visual sensor, a selection of the marker, and a dot interval of the marker.
Citation Information
Patent Citations
Method and device for estimating installing error of robot and robot drive controlling method, working bench with standard, and standard
JP1992211807A
Programming method for system including robot
JP1996249026A
Robot and robot system
JP2019093533A
Robot control system
JP2020116717A
Transfer device and delivery system
JP2020163518A