WO2022249481A1 - 教示装置、マーカ計測方法及びプログラム - Google Patents

教示装置、マーカ計測方法及びプログラム Download PDF

Info

Publication number
WO2022249481A1
WO2022249481A1 PCT/JP2021/020534 JP2021020534W WO2022249481A1 WO 2022249481 A1 WO2022249481 A1 WO 2022249481A1 JP 2021020534 W JP2021020534 W JP 2021020534W WO 2022249481 A1 WO2022249481 A1 WO 2022249481A1
Authority
WO
WIPO (PCT)
Prior art keywords
marker
measurement
user interface
setting
program
Prior art date
Application number
PCT/JP2021/020534
Other languages
English (en)
French (fr)
Inventor
勇太 並木
悠太郎 高橋
Original Assignee
ファナック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ファナック株式会社 filed Critical ファナック株式会社
Priority to CN202180098456.4A priority Critical patent/CN117355799A/zh
Priority to PCT/JP2021/020534 priority patent/WO2022249481A1/ja
Priority to DE112021007324.9T priority patent/DE112021007324T5/de
Priority to JP2023523935A priority patent/JPWO2022249481A1/ja
Priority to TW111116680A priority patent/TW202245708A/zh
Publication of WO2022249481A1 publication Critical patent/WO2022249481A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/409Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using manual data input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details or by setting parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39438Direct programming at the console

Definitions

  • the present invention relates to a teaching device.
  • An automated system has been proposed in which a robot is placed on a trolley or an AGV (Automated Guided Vehicle), moved, and stopped in front of a work space for machine tools, etc.
  • AGV Automated Guided Vehicle
  • Patent Document 1 discloses that a reference position detector (camera 4) at the end of the robot measures a reference (6) provided in the work coordinates, The robot is controlled by estimating the installation error from the difference between the reference measurement position and the reference position in the work coordinates measured in advance, and correcting this" (abstract).
  • One aspect of the present disclosure is a teaching device used to create a program for measuring a marker installed in a work space with a visual sensor, the teaching device creating a user interface for inputting setting information regarding the measurement of the marker. wherein the user interface creation unit makes the first setting information input regarding the first marker available in the setting regarding the second marker in the user interface; It is a teaching device.
  • Another aspect of the present disclosure is a method for measuring a marker installed in a work space with a visual sensor, wherein the first marker is measured and the accuracy of the measurement result of the first marker is evaluated. and measuring one or more additional markers when the accuracy of the measurement result of the first marker is less than a predetermined level, wherein the setting information regarding the measurement of the first marker is A method for measuring markers that can be used as setting information regarding the measurement of each of the additional one or more markers.
  • Yet another aspect of the present disclosure is to accept input of first configuration information regarding the measurement of one marker, and in a manner that can utilize the first configuration information input regarding the first marker, measure the second marker.
  • This is a program that causes a computer to perform an operation of providing a user interface for receiving input of second setting information related to measurement of .
  • the user can easily set the measurement of the plurality of markers in the same way as when setting the measurement of one marker. be able to.
  • FIG. 4 is a diagram showing one marker installed in the work space and teaching positions to be corrected;
  • FIG. 4 is a diagram showing three markers installed in the work space and teaching positions to be corrected;
  • FIG. 11 represents an icon of an instruction to perform measurements on one marker;
  • FIG. 11 represents an icon of an instruction to perform measurements on one marker;
  • FIG. 11 is a diagram showing a configuration example of a marker UI screen for performing detailed settings of a marker one-point measurement icon;
  • FIG. 11 represents an icon corresponding to an instruction to perform measurements on three markers;
  • FIG. 10 is a diagram showing a measurement program that evaluates the measurement result after performing measurement with the first marker, and measures the second and third markers when the evaluation value is low;
  • 12 is a flow chart showing the operation of the measurement program shown in FIG. 11;
  • FIG. 10 is a diagram showing a program in which a via point is added between the single-marker measurement icons when measuring with three markers; It is a figure which shows the marker setting input screen for measuring one marker provided by the setting part.
  • FIG. 1 is a diagram showing the equipment configuration of a robot system 100 including a teaching device 50 according to one embodiment.
  • the robot system 100 includes a machine tool 10, an industrial robot (hereinafter referred to as a robot) 20, a robot controller 30 that controls the robot 20, and a transport device 81 that transports the robot 20 and the robot controller 30. including.
  • the robot 20 is mounted on a transfer device 81 and placed at a predetermined position in front of the machine tool 10 to load/unload a work object (hereinafter referred to as a work) into/from the machine tool 10 . perform a given task. That is, the robot system 100 is configured as an automation system that automates the loading/unloading of workpieces to/from the machine tool 10 by the robot 20 .
  • the conveying device 81 is, for example, a cart or an AGV (Automated Guided Vehicle).
  • the teaching device 50 is wirelessly or wiredly connected to the robot control device 30 and 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. .
  • the robot 20 when the robot 20 performs work such as loading/unloading of a work, the position of the transfer device 81 on which the robot 20 is mounted changes. Therefore, the robot 20 needs to be configured so that it can measure the positional deviation of the robot 20 with respect to the machine tool 10 and work correctly with respect to the machine tool 10 . Therefore, a visual sensor 71 is mounted on the arm distal end portion 21 of the robot 20, and the robot 20 (robot control device 30) uses the visual sensor 71 to detect the displacement of the robot 20 with respect to the work space (machine tool 10). , is configured to perform the work by correcting the positional deviation.
  • the teaching device 50 measures the three-dimensional position of the marker 4 installed at a predetermined position in the work space (machine tool 10) using the visual sensor 71 mounted on the arm tip 21 of the robot 20, and determines the work space of the robot 20. It provides a function of creating a program for measuring the positional deviation from the desired position relative to the position (hereinafter, such a program is also referred to as a measurement program).
  • a control program including a measurement program created using the teaching device 50 is registered in the robot control device 30. Thereafter, the robot 20 (robot control device 30) moves from the desired position in the work space of the robot 20. It is possible to operate to detect a deviation, correct the position, and execute a predetermined work.
  • the visual sensor 71 may be a two-dimensional camera or a three-dimensional position detector. In this embodiment, the visual sensor 71 is assumed to be a two-dimensional camera. The visual sensor 71 is connected to the robot controller 30 . In this embodiment, the robot control device 30 is assumed to have a function of controlling the visual sensor 71, a function of performing various image processing on the image captured by the visual sensor 71, and the like. Further, it is assumed that calibration data including data indicating the position of the visual sensor 71 with respect to the robot 20 is pre-stored in the memory 32 of the robot control device 30 .
  • FIG. 2 is a diagram showing a hardware configuration example of the robot control device 30 and the teaching device 50.
  • the robot control device 30 is a general device 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. It may have a configuration as a computer.
  • the teaching device 50 provides a processor 51 with a memory 52 (ROM, RAM, non-volatile memory, etc.), a display unit 53, an operation unit 54 comprising an input device such as a keyboard (or software keys), an input/output interface 55 etc. are connected via a bus, and may have a configuration as a general computer.
  • a teaching operation panel, a tablet terminal, a smart phone, a personal computer, and other various information processing devices can be used.
  • the teaching device 50 is a device for creating a control program using commands for controlling the robot 20 .
  • the teaching device 50 is a device that enables programming using icons representing commands.
  • the teaching device 50 has a program creating section 151 for creating a control program and a setting section 154 for inputting various settings related to teaching of the robot 20 .
  • the program creating unit 151 includes a marker UI creating unit 152 that creates a UI (user interface) for accepting input of settings related to marker measurement, and a marker setting input accepting unit 153 that accepts marker setting input operations via this UI. and Note that the UI for marker setting is implemented using the functions of the display unit 53 and the operation unit 54 .
  • the setting unit 154 presents a UI screen for inputting various settings related to teaching of the robot 20 (for example, settings of the tool coordinate system), and accepts input of settings.
  • the input various settings are stored in the storage unit (memory 52 ) of the teaching device 50 .
  • the robot control device 30 includes a storage unit 131 that stores control programs and other various information, an operation control unit 132 that controls the operation of the robot 20 according to the control program, and a marker position measurement unit 133. , a relative position calculation unit 134 and a measurement accuracy evaluation unit 135 .
  • the marker position measurement unit 133 uses the visual sensor 71 to measure the three-dimensional position of the marker 4 .
  • the marker position measurement unit 133 measures the position of the marker 4 by stereo measurement 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, images 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 measurement system can be realized at low cost by using a relatively inexpensive two-dimensional camera. It should be noted that other techniques known in the art for measuring the position of markers (also called target marks or visual markers) may be used.
  • the storage unit 131 stores calibration data indicating the position of the two-dimensional camera (visual sensor 71) with reference to the coordinate system (mechanical interface coordinate system) set at the arm tip 21 of the robot 20.
  • the robot control device 30 can grasp the position and posture of the arm tip portion 21 during operation of the robot 20. FIG. Therefore, the robot control device 30 (marker position measurement unit 133) transforms the mechanical interface coordinate system into the robot coordinate system in accordance with the motion of the robot 20, so that the two-dimensional camera (visual sensor 71) detects the sensor during imaging.
  • a coordinate system and a robot coordinate system can be associated.
  • the marker position measuring unit 133 can obtain the position of the target (marker 4) as a three-dimensional position in the robot coordinate system.
  • the relative position calculator 134 calculates the relative position between the work space (machine tool 10) and the robot 20 (in other words, the amount of deviation from the desired position of the robot 20 with respect to the work space) based on the measured marker positions. .
  • the motion control unit 132 Based on the calculated relative positional relationship between the work space and the robot (the amount of deviation of the robot 20 from the desired position with respect to the work space), the motion control unit 132 corrects the robot 20 from the prescribed position and orientation. The robot 20 is controlled so as to perform the work in the correct position and posture.
  • the measurement accuracy evaluation unit 135 has a function of evaluating the accuracy of the measurement result obtained by measuring the position of one marker 4 by the marker position measurement unit 133 .
  • the functions related to marker position measurement by the marker position measurement unit 133 , relative position calculation unit 134 , and measurement accuracy evaluation unit 135 are performed by storing a measurement program related to marker position measurement created using the teaching device 50 in the robot control device 30 . It can be realized by registering in the unit 131 and executing the measurement program by the processor 31 of the robot control device 30 .
  • FIG. 4 shows an example of the marker 4 used in this embodiment.
  • the marker 4 of this example has a dot pattern as shown in FIG.
  • large dots 141-144 indicate the coordinate system (marker coordinate system) set for the marker 4.
  • dots 141-142 represent the X-axis of the marker coordinate system
  • dots 141, 143-144 represent the Y-axis of the marker coordinate system.
  • the Z-axis is normal to the marker forming surface.
  • the robot control device 30 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-time measurement using the visual sensor 71 (two-dimensional camera), or can be obtained by a stereo measurement method. As described above, in the present embodiment, the case of obtaining by the stereo measurement method will be described. Also, in this embodiment, the case where the marker 4 having the shape shown in FIG. 4 is used will be described, but any shape marker can be used as the marker to be measured.
  • the shape of the marker is taught via a user interface or the like (marker UI screen 220 or the like, which will be described later) for performing detailed settings regarding marker measurement.
  • FIG. 5 shows one marker 4 installed in the work space and a teaching position M1 to be corrected.
  • the distance d between the marker 4 and the taught position M1 to be corrected becomes large, there is a tendency for the corrected translational position of the taught position M1 to be adversely affected.
  • the teaching position M1 is translated by d ⁇ sin ⁇ to the corrected position. This is because direction deviation may occur.
  • the robot control device 30 increases the number of markers 4 to be measured, and comprehends the coordinate system and correction amount by synthesizing the measurement results of the markers, thereby correcting the teaching points. improve the accuracy of As an example, as shown in FIG. 6, three markers 4 (marker 41, marker 42, and marker 43) are arranged around teaching position M1 to be corrected. Let P1, P2, and P3 be the positions measured as individual markers 41, 42, and 43, respectively.
  • the marker position measurement unit 133 grasps the coordinate system with 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 the position on the XY plane.
  • the accuracy can be improved more than in the case of measurement using a single marker. Also, in this case, the greater the distance between the markers, the smaller the attitude error.
  • the measurement accuracy evaluation section 135 has a function of evaluating the result of position measurement of the marker 4 by the marker position measurement section 133 .
  • the measurement accuracy evaluation unit 135 evaluates the position measurement result of the marker 4 as follows. Let Pxi be the measured position of each measurement point (each dot) in the marker 4, Pyi be the position (design value) of each measurement point with respect to the origin of the marker 4, and Pm be the measured position/orientation of the marker, ⁇ (Pxi ⁇ Pm ⁇ Pyi) ⁇ 2 (1) is an index value representing the sum of squares of measurement errors at each measurement point, and the magnitude of this index value can be used to evaluate the accuracy of measurement. Note that Pxi, Pm, and Pyi in the above are simultaneous transformation matrices.
  • the measurement accuracy can also be evaluated by measuring the marker 4 from a plurality of viewpoints and comprehensively evaluating the measurement results. For example, when the measurement accuracy of the marker 4 is low, the measurement results from multiple viewpoints may vary.
  • the marker position measurement unit 133 and the relative position calculation unit 134 measure one marker 4 to obtain the above index value. value is greater than a predetermined threshold), the number of markers 4 to be measured may be increased (for example, three markers 4 may be used for measurement). Further, the marker position measurement unit 133 and the relative position calculation unit 134 measure one marker 4 to obtain the above index value. If the index value of the error obtained by Equation (1) is equal to or less than a predetermined threshold value, the relative positional relationship between the robot 20 and the work space may be obtained by measuring one marker 4 .
  • the teaching device 50 provides a programming function for realizing the marker measurement function of the robot control device 30 as described above.
  • the programming function of the teaching device 50 will be described below.
  • FIG. 7 is a diagram showing a basic configuration example of the program creation screen 400 generated by the program creation unit 151.
  • the program creation screen 400 includes an icon display area 200 for displaying 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. including.
  • the user arranges desired icons from the icon display area 200 in the program creation area 300 by, for example, a drag-and-drop operation, and performs programming. Further, the user can select an icon arranged in the program creation area 300 and select the details tab 262 to make detailed settings (teaching) for the currently selected icon.
  • FIG. 8 is a diagram showing an icon (hereinafter referred to as a single marker measurement icon 211) corresponding to an instruction to execute measurement for one marker.
  • the one-point 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 (that is, working space).
  • the two numbers displayed above the single-point marker measurement icon 211 indicate that the single-point marker measurement icon 211 includes two teaching point settings.
  • the two numbers above the one-point marker measurement icon 211 represent the teaching point numbers in the program.
  • the numbers of the two teaching points of the one-point marker measurement icon 211 are shown as second and third.
  • FIG. 9 is a diagram showing a configuration example of a marker UI (user interface) screen 220 for performing detailed settings of the marker one-point measurement icon 211.
  • a marker UI screen 220 is generated by the marker UI generation unit 152 .
  • the marker UI screen 220 may be activated and displayed by, for example, selecting the details tab 262 while the single-point marker measurement icon 211 placed in the program creation area 300 is selected.
  • the marker UI screen 220 includes, as detailed setting items, (1) Two measurement positions for stereo measurement (measurement position 1, measurement position 2) It has input fields 221 to 225 for setting (2) exposure time of visual sensor, (3) selection of marker, and (4) dot interval of marker. Note that default settings may be made in advance in the setting input fields 221 to 225 .
  • the teaching buttons 221a and 222a are selected to operate (jog) the robot 20 to teach the measurement positions (position of the visual sensor 71).
  • FIG. 10 shows an icon (hereinafter referred to as a 3-point marker measurement icon 230) for measuring 3-point markers.
  • the 3-point marker measurement icon 230 provides a function of measuring the 3-point markers 4 and determining the relative positional relationship between the robot 20 and the work space, as described above with reference to FIG.
  • the 3-point marker measurement icon 230 can be easily configured by arranging three 1-point marker measurement icons 211 in the depression in the center of the 3-point marker composite icon 231 formed in a U-shape.
  • the 3-marker synthesis icon 231 allows the robot (visual sensor) and the work to be performed in a manner that synthesizes the positions of the three markers respectively measured by the three marker-single-point measurement icons 211 .
  • the operator should arrange three same one-point marker measurement icons 211 . That is, the operator can set the measurement settings for the three markers by operating the same marker UI screen 220 shown in FIG. That is, a common UI screen is used for setting each of the three markers 4 .
  • the setting information input to the one-point-marker measurement icon 211 for one marker is the setting information for the other two single-point-marker measurement icons 211.
  • the present embodiment even when performing three-point marker measurement, it is possible to perform settings via the same UI screen as when performing one-point marker measurement, and perform one-point marker measurement.
  • the setting information input in the case can be reflected as the default values of the setting values when three-point marker measurement is performed. Therefore, it is possible to reduce the burden on the user when performing three-point marker measurement. That is, even when performing 3-point marker measurement, the user can set intervals similar to those for 1-point marker measurement, and is not required to have complicated knowledge for performing 3-point marker measurement.
  • a three-marker synthesis icon 231 having a U-shaped extension includes a first marker-single-point measurement icon 211, a conditional branch icon 241, and a second marker-point.
  • a measurement icon 211 and a third marker one-point measurement icon 211 are included.
  • the conditional branch icon 241 measures the second and third markers when the error index value obtained by Equation (1) above is greater than the threshold, and measures two markers when the error index value is equal to or less than the threshold.
  • FIG. 12 represents the operation of the measurement program 240 shown in FIG. 11 as a flowchart.
  • the first marker is measured (step S1).
  • the measurement accuracy of the first marker is evaluated (step S2).
  • the index value of the system is obtained by the above-mentioned formula (1).
  • S3: OK the accuracy is good
  • the second marker is measured (step S4) and the third marker is measured (step S5). )I do. Then, as described with reference to FIG. 6, the coordinate system of the work space is obtained by synthesizing the measurement results of the three markers, and the relative positional relationship between the robot 20 and the work space is obtained (step S6).
  • three markers 4 may be arranged in advance in the work space (machine tool 10), or if it is determined that the accuracy of measurement with one marker is not good (S3: NG), The user may increase the number of markers 4 .
  • the user operates the teaching device 50 to set the arrangement information of the added markers 4 .
  • step S1 corresponds to the first marker one-point measurement icon 211 of the measurement program 240
  • step S4 corresponds to the second marker one-point measurement icon 211 of the measurement program 240
  • step S5 corresponds to the measurement. It corresponds to the third marker one-point measurement icon 211 of the program 240
  • the operation of determining the relative position in step S6 corresponds to the function of the three-marker synthesis icon 231, and the flow control in step S3 of conditional judgment corresponds to the function of the conditional branch icon 241.
  • FIG. 13 shows a measurement program 250, which is an example of a program for adding a via point between the single-marker measurement icons 211 when measuring with three markers.
  • three marker-single-point measurement icons 211 are arranged in the three-point marker synthesis icon 231 .
  • a linear move icon 251 is inserted for adding points.
  • the robot 20 moves through the 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 can be avoided. In this way, even when a plurality of markers are measured, the icons for each measurement are separated, so flexible programming such as addition of waypoints can be performed.
  • the teaching device 50 has a setting unit 154 that provides a function of receiving various setting inputs related to robot teaching. Settings related to marker measurement may be made via such a setting input function of the teaching device 50 (that is, the function of the setting unit 154).
  • FIG. 14A shows an example of a marker setting input screen 500 for marker measurement provided as a function of the setting unit 154.
  • the marker setting input screen 500 includes an input field 511 for designating the number of markers to be measured, an input field 512 for designating a measurement method, and input fields 513 and 514 for inputting measurement positions.
  • input fields 513 and 514 are arranged for two measurement positions (measurement position 1 and measurement position 2). The user can select teaching buttons 513a and 514a to teach measurement positions.
  • the marker setting input screen 500B of FIG. 14B When the number of markers is designated as 2 on the marker setting input screen 500 shown in FIG. 14A, as shown in the marker setting input screen 500B of FIG. 14B, an input field for inputting the measurement position of the second marker 515 and 516 appear additionally.
  • the user can select teaching buttons 515a and 516a to teach the measurement position of the second marker.
  • the marker setting input screen 500B If the user has already entered settings for one marker via the marker setting input screen 500, the marker setting input screen 500B is displayed as the setting information for the first marker (marker 1).
  • the information entered via is reflected in a usable state.
  • the setting function for marker measurement by the setting unit 154 by changing the number of markers to 2 in the marker number drop-down menu on the marker setting input screen, it is possible to easily set the measurement of two markers. can move to
  • Setting information related to 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 from the program. If a marker measurement instruction is included in the control program, the marker measurement instruction can perform an operation for marker measurement using the setting information in the global memory area.
  • FIG. 15 is a flow chart showing the operation of providing an interface for inputting marker measurement settings and receiving setting inputs by the marker UI creating unit 152 and the marker setting input receiving unit 153 of the teaching device 50 .
  • the operation of the marker UI creation unit 152 and the marker setting input reception unit 153 in the case of a program for measuring three markers as illustrated in FIG. 10 will be described.
  • 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 reception unit 153 inputs the settings for the first marker measurement via the marker UI screen 220.
  • a setting input for the purpose is accepted (step S101).
  • the marker UI creation unit 152 presents the marker UI screen 220 for inputting settings for the second marker measurement (step S102).
  • the marker UI creating unit 152 reflects, as a default value, a value that has already been input as a setting for the measurement of the first marker in the marker UI screen 220 for the measurement of the second marker.
  • the marker setting input reception unit 153 receives setting input for the second marker measurement via the marker UI screen 220 for the second marker (step S102). Since the marker UI screen 220 for the second marker reflects and can be used the values that have already been entered for the first marker, the user can specifically set the measurement for the second marker. Only necessary items (for example, the measurement position of the second marker) need to be set.
  • the marker UI creation unit 152 presents a marker UI screen 220 for inputting settings for the third marker measurement
  • the marker setting input reception unit 153 presents the marker UI screen 220 for the third marker.
  • a setting input for the second marker measurement is received via (step S103).
  • the marker UI screen 220 for the third marker reflects the values that have already been entered for the first marker and the second marker. Only necessary items (for example, the measurement position of the third marker) need to be set for setting the three-marker measurement.
  • the input of the first setting information regarding the measurement of the first marker is received, and the first setting information input regarding the first marker is received.
  • the act of providing a user interface that accepts input of second configuration information relating to measurement of the second marker in a configuration information-enabled manner is accomplished.
  • the setting unit 154 also realizes an operation equivalent to this.
  • the functions provided by the teaching device 50 in the above-described embodiment can also be expressed as follows. That is, it is a teaching device used to create a program for measuring a marker placed in a work space with a visual sensor, and is a user interface creation unit ( A marker UI creation unit 152 or a setting unit 154) is provided, and the user interface creation unit makes the first setting information input regarding the first marker available in the setting regarding the second marker in the user interface. It is a teaching device.
  • the marker measurement method in the above-described embodiments can be expressed as follows. That is, a method for measuring a marker installed in a work space with a visual sensor, performs measurement on a first marker, evaluates the accuracy of the measurement result of the first marker, and measures the measurement of the first marker. measuring for an additional one or more of said markers if the accuracy of the result is below a predetermined level, wherein the configuration information regarding the measurement of the first marker is for each of the additional one or more of said markers. It is a marker measurement method that can be used as setting information related to measurement.
  • the user can easily set the measurement of the plurality of markers in the same way as setting the measurement of one marker. It can be carried out.
  • the teaching device 50 is configured as a programming device that enables programming using icons, but the teaching device 50 is configured as a programming device that enables text-based programming. Also good.
  • a text-based program corresponding to the instruction icon for measuring the three markers shown in FIG. 10 is shown below.
  • 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 one-point marker measurement icon 211 described above.
  • the command 'CALCULATE MARKERS' is a command for integrating the measurement results of the three markers to obtain the relative positional relationship between the robot and the work space, and corresponds to the 3-marker composite icon 231 described above.
  • Input of detailed settings for these commands may be performed via a user interface screen for inputting marker measurement settings in the same manner as in the above-described embodiments.
  • these statements may operate by referring to setting information copied to a global memory area.
  • the functional blocks of the teaching device or the robot control device shown in FIG. 3 in the above-described embodiment may be realized by the CPU of the teaching device or the robot control device executing various software stored in the storage device. Alternatively, it may be realized by a configuration mainly composed of hardware such as ASIC (Application Specific Integrated Circuit).
  • ASIC Application Specific Integrated Circuit
  • Programs for executing the various processes shown in the above-described embodiments can be stored in various computer-readable recording media (e.g. , ROM, EEPROM, semiconductor memory such as flash memory, magnetic recording medium, optical disc such as CD-ROM, DVD-ROM, etc.).
  • ROM read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • semiconductor memory such as flash memory
  • magnetic recording medium such as CD-ROM, DVD-ROM, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Supply And Installment Of Electrical Components (AREA)
  • User Interface Of Digital Computer (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)

Abstract

作業空間に設置されたマーカを視覚センサにより計測するプログラムを作成するために用いられる教示装置(50)であって、マーカの計測に関する設定情報を入力するためのユーザインタフェースを作成するユーザインタフェース作成部(152)を備え、ユーザインタフェース作成部(152)は、ユーザインタフェースにおいて、第1の前記マーカに関して入力された第1の前記設定情報を、第2の前記マーカに関する設定において利用可能とする、教示装置(50)である。

Description

教示装置、マーカ計測方法及びプログラム
 本発明は、教示装置に関する。
 台車やAGV(Automated Guided Vehicle:無人搬送車)にロボットを乗せて移動させ、工作機械などの作業スペースの前に停止させて作業を行う自動化システムが提案されている。
 このような自動化システムにおいて、ロボットが工作機械に対して加工対象物のロード/アンロードといった様々な作業を行う場合、ロボットを搭載した台車やAGVの停止位置が移動のたびに変わってしまう。そのため、ロボットは毎回同じ動作をするだけでは不十分であり、工作機械に対する台車やAGVの停止位置のずれを計測し、作業スペースに対して正しく作業を行うことができるように、ロボットの動作に補正をかけることが必要になる。その際には、ロボットの手先にカメラを取り付け、作業空間に取り付けたマーカを計測することで、ロボットと工作機械などの作業空間の位置関係を計測し、位置ずれ分を補正してロボットを動作させている。
 ロボットと作業空間の相対位置を求める手法の一つとして、特許文献1は、「ロボット末端の基準位置検出器(カメラ4)により作業座標に設けられた基準(6)を計測し、ロボット座標による基準の計測位置と予め計測された作業座標における基準の位置の差から設置誤差を推定し、これを補正することによりロボットを制御する」構成を記載する(要約書)。
 また、特許文献2は、「ロボット外科手術システム100として、ロボットアーム104、エンドエフェクタ112、患者210、および/又は外科用器具608の三次元の動きを追跡するように構成される一つ又は複数のマーカ118を含むことのできる」構成を記載する(段落0050)。
特開平4-211807号公報 特開2020-72773号公報
 作業空間に設置したマーカをロボットの手先に取り付けたカメラで計測する場合、サイクルタイムや教示工数の観点からは、1つのマーカを検出することでロボットの位置を補正できることが望ましい。しかしながら、1つのマーカの計測による位置補正では必要な精度が得られない場合がある。このような場合、複数のマーカを計測することで位置補正の精度を向上することができる。しかしながら、1つのマーカで計測を行う場合と、複数のマーカで計測を行う場合とで、計測方法や教示手順が異なると、マーカを増やして精度を向上させるのに手間がかかることとなる。
 本開示の一態様は、作業空間に設置されたマーカを視覚センサにより計測するプログラムを作成するために用いられる教示装置であって、前記マーカの計測に関する設定情報を入力するためのユーザインタフェースを作成するユーザインタフェース作成部を備え、前記ユーザインタフェース作成部は、前記ユーザインタフェースにおいて、第1の前記マーカに関して入力された第1の前記設定情報を、第2の前記マーカに関する設定において利用可能とする、教示装置である。
 本開示の別の態様は、作業空間に設置されたマーカを視覚センサにより計測するための方法であって、第1の前記マーカについて計測を行い、第1の前記マーカの計測結果の精度を評価し、前記第1のマーカの計測結果の精度が所定のレベル未満である場合に、追加の1以上の前記マーカについて計測を行うこと、を含み、第1の前記マーカの計測に関する設定情報が、追加の1以上の前記マーカの各々の計測に関する設定情報として利用可能となっている、マーカ計測方法である。
 本開示の更に別の態様は、1のマーカの計測に関する第1の設定情報の入力を受け付け、前記第1のマーカに関して入力された前記第1の設定情報を利用できるやり方で、第2のマーカの計測に関する第2の設定情報の入力を受け付ける、ユーザインタフェースを提供する動作を、コンピュータに実行させるプログラムである。
 上記構成によれば、複数のマーカの計測が必要になる状況においても、ユーザは、1つのマーカの計測についての設定を行う場合と同等のやり方で且つ容易に複数のマーカの計測について設定を行うことができる。
 添付図面に示される本発明の典型的な実施形態の詳細な説明から、本発明のこれらの目的、特徴および利点ならびに他の目的、特徴および利点がさらに明確になるであろう。
一実施形態に係る教示装置を含むロボットシステムの機器構成を表す図である。 ロボット制御装置及び教示装置のハードウェア構成例を表す図である。 教示装置及びロボット制御装置の機能ブロック図である。 本実施形態で用いられるマーカの例を表す図である。 作業空間に設置された1つのマーカと、補正をかけるべき教示位置とを示す図である。 作業空間に設置された3つのマーカと、補正を掛けるべき教示位置とを示す図である。 プログラム作成画面の基本的な構成例を示す図である。 1つのマーカに対する計測を実行する命令のアイコンを表す図である。 マーカ1点計測アイコンの詳細設定を行うためのマーカUI画面の構成例を示す図である。 3つのマーカに対する計測を実行する命令に対応するアイコンを表す図である。 1つ目のマーカで計測を行った後、計測結果を評価し、評価値が低い場合に2つ目及び3つ目のマーカを計測する計測プログラムを示す図である。 図11に示した計測プログラムの動作を表すフローチャートである。 3つのマーカで計測を行う場合に、マーカ1点計測アイコンの間に経由点を追加したプログラムを示す図である。 設定部により提供される、1つのマーカを計測するためのマーカ設定入力画面を示す図である。 設定部により提供される、2つのマーカを計測するためのマーカ設定入力画面を示す図である。 マーカ計測設定を入力するためのインタフェースを提供して設定入力を受け付ける動作を表すフローチャートである。
 次に、本開示の実施形態について図面を参照して説明する。参照する図面において、同様の構成部分または機能部分には同様の参照符号が付けられている。理解を容易にするために、これらの図面は縮尺を適宜変更している。また、図面に示される形態は本発明を実施するための一つの例であり、本発明は図示された形態に限定されるものではない。
 図1は、一実施形態に係る教示装置50を含むロボットシステム100の機器構成を表す図である。ロボットシステム100は、工作機械10と、産業用ロボット(以下、ロボットと記載する)20と、ロボット20を制御するロボット制御装置30と、ロボット20及びロボット制御装置30を搬送するための搬送装置81とを含む。ロボット20は、搬送装置81に搭載された状態で工作機械10の前の所定の位置に配置され、工作機械10内への作業対象物(以下、ワークと記載する)のロード/アンロード等の所定の作業を実行する。すなわち、ロボットシステム100は、工作機械10へのワークのロード/アンロードをロボット20により自動化する自動化システムとして構成されている。
 図1において、ロボット20は垂直多関節ロボットとして記載されているが、他のタイプのロボットが用いられても良い。搬送装置81は、例えば、台車又はAGV(Automated Guided Vehicle;無人搬送車)である。
 教示装置50は、ロボット制御装置30に無線或いは有線接続され、ロボット20を教示するため(ロボット20の制御プログラムを作成するため)に用いられる。なお、ロボットシステム100の実運用時には、教示装置50を用いて作成された制御プログラムはロボット制御装置30内に登録されている状態となるため、教示装置50はロボットシステム100から省かれても良い。
 図1のようなロボットシステム100において、ロボット20がワークのロード/アンロード等の作業を実行すると、ロボット20を搭載した搬送装置81の位置が変わってしまう。したがって、ロボット20は、工作機械10に対するロボット20の位置ずれを計測し、工作機械10に対して正しく作業を行うことができるように構成される必要がある。そのため、ロボット20のアーム先端部21には視覚センサ71が搭載され、ロボット20(ロボット制御装置30)は、視覚センサ71を用いて作業空間(工作機械10)に対するロボット20の位置ずれを検出し、当該位置ずれを補正して作業を実行するように構成される。
 教示装置50は、ロボット20のアーム先端部21に搭載した視覚センサ71により、作業空間(工作機械10)の所定の位置に設置されたマーカ4の3次元位置を計測し、ロボット20の作業空間に対する所期の位置からの位置ずれを計測するプログラム(以下、このようなプログラムを計測プログラムとも称する)を作成する機能を提供する。教示装置50を用いて作成された計測プログラムを含む制御プログラムは、ロボット制御装置30に登録され、以後、ロボット20(ロボット制御装置30)は、ロボット20の作業空間に対する所期の位置からの位置ずれを検出して位置補正を行い所定の作業を実行するよう動作することができる。
 視覚センサ71は、2次元カメラであってもよく、或いは3次元位置検出器であっても良い。本実施形態では、視覚センサ71は2次元カメラであるものとする。視覚センサ71は、ロボット制御装置30に接続されている。本実施形態では、ロボット制御装置30は、視覚センサ71を制御するための機能、視覚センサ71が撮像した画像に対する各種画像処理を行う機能等を有しているものとする。また、ロボット20を基準とする視覚センサ71の位置を示すデータを含むキャリブレーションデータは、ロボット制御装置30のメモリ32に予め記憶されているものとする。
 図2は、ロボット制御装置30及び教示装置50のハードウェア構成例を表す図である。ロボット制御装置30は、プロセッサ31に対してメモリ32(ROM、RAM、不揮発性メモリ等)、入出力インタフェース33、各種操作スイッチを含む操作部34等がバスを介して接続された、一般的なコンピュータとしての構成を有していても良い。教示装置50は、プロセッサ51に対して、メモリ52(ROM、RAM、不揮発性メモリ等)、表示部53、キーボード(或いはソフトウェアキー)等の入力装置により構成される操作部54、入出力インタフェース55等がバスを介して接続された、一般的なコンピュータとしての構成を有していても良い。なお、教示装置50として、教示操作盤、タブレット端末、スマートフォン、パーソナルコンピュータその他の各種の情報処理装置を用いることができる。
 図3は、教示装置50及びロボット制御装置30の機能ブロック図である。教示装置50は、ロボット20を制御するための命令を用いて制御プログラムを作成するための装置である。本実施形態では、例示として、教示装置50は、命令を表すアイコンを用いてプログラミングを行うことを可能とする装置であるものとする。教示装置50は、制御プログラムを作成するためのプログラム作成部151と、ロボット20の教示に関する各種設定を入力するための設定部154とを有する。プログラム作成部151は、マーカの計測に関する設定の入力を受け付けるためのUI(ユーザインタフェース)を作成するマーカUI作成部152と、このUIを介したマーカの設定入力操作を受け付けるマーカ設定入力受付部153とを有する。なお、マーカ設定のためのUIは、表示部53及びと操作部54の機能を用いて実現される。
 設定部154は、ロボット20の教示に関する各種設定(例えば、ツール座標系の設定)に関する入力を行うためのUI画面を提示し、設定の入力を受け付ける。入力され各種設定は、教示装置50の記憶部(メモリ52)に記憶される。
 図3に示すように、ロボット制御装置30は、制御プログラムその他の各種情報を記憶する記憶部131と、制御プログラムにしたがってロボット20の動作を制御する動作制御部132と、マーカ位置計測部133と、相対位置計算部134と、計測精度評価部135とを備える。
 マーカ位置計測部133は、視覚センサ71を用いてマーカ4の3次元位置を計測する。本実施形態では、一例として、マーカ位置計測部133は、2次元カメラとしての視覚センサ71を用いてステレオ計測法によりマーカ4の位置計測を行う。すなわち、マーカ位置計測部133は、2次元カメラからなる視覚センサ71の位置を変えて2つの異なる位置から同一のマーカ4を撮像し、そのマーカ4の3次元位置を算出する。この手法は、比較的安価な2次元カメラを用いることで位置計測システムを低コストで実現できるという利点をもたらす。なお、マーカ(ターゲットマークや視覚マーカとも称される)の位置を計測するための当分野で知られた他の手法が用いられても良い。
 記憶部131には、ロボット20のアーム先端部21に設定した座標系(メカニカルインタフェース座標系)を基準とした2次元カメラ(視覚センサ71)の位置を示すキャリブレーションデータが記憶されている。一方、ロボット制御装置30(マーカ位置計測部133)は、ロボット20の動作時におけるアーム先端部21の位置及び姿勢を把握することができる。したがって、ロボット制御装置30(マーカ位置計測部133)は、ロボット20の動作に応じて、メカニカルインタフェース座標系をロボット座標系に変換することで、2次元カメラ(視覚センサ71)の撮像時のセンサ座標系とロボット座標系とを対応付けることができる。これにより、マーカ位置計測部133において、対象(マーカ4)の位置をロボット座標系における3次元位置として求めることが可能となる。
 相対位置計算部134は、計測されたマーカ位置に基づいて、作業空間(工作機械10)とロボット20の相対位置(言い換えると、作業空間に対するロボット20の所期の位置からのずれ量)を求める。
 動作制御部132は、計算された作業空間とロボットとの相対位置関係(作業空間に対するロボット20の所期の位置からのずれ量))に基づいて、ロボット20が規定の位置及び姿勢から補正された正しい位置及び姿勢で作業を実行するようにロボット20を制御する。
 計測精度評価部135は、マーカ位置計測部133が一つのマーカ4の位置を計測した計測結果の精度を評価する機能を有する。
 なお、マーカ位置計測部133、相対位置計算部134、及び計測精度評価部135によるマーカ位置計測に関する機能は、教示装置50を用いて作成されたマーカ位置計測に関する計測プログラムをロボット制御装置30の記憶部131に登録し、当該計測プログラムをロボット制御装置30のプロセッサ31により実行することで実現することができる。
 図4は、本実施形態で用いられるマーカ4の例を表している。本例のマーカ4は、図4に図示のようなドットパターンを有している。図4に例示のマーカにおいて、大きいドット141-144はマーカ4に設定された座標系(マーカ座標系)を示す。ドット141がマーカ座標系の原点を示し、ドット141-142がマーカ座標系のX軸を表し、ドット141、143-144がマーカ座標系のY軸を表す。Z軸は、マーカ形成面に対する法線方向となる。ロボット制御装置30が、計測プログラムにしたがってマーカ4の計測を行う場合には、マーカ4のドット間隔の情報は既知の情報として用いることができる。したがって、ロボット制御装置30(マーカ位置計測部133及び相対位置計算部134)は、マーカ4の各ドットを計測することで、マーカ4に設定されたマーカ座標系の位置及び姿勢を求めることができる。なお、このようなマーカ4の位置及び姿勢は、視覚センサ71(2次元カメラ)による1回の計測で求めることもできるし、ステレオ計測法で求めることもできる。上述の通り、本実施形態では、ステレオ計測法で求める場合を記載することとする。また、本実施形態では、図4に示したような形状のマーカ4を用いる場合について記載するが、計測の対象としてのマーカとしては任意の形状のマーカを用いることができる。任意の形状のマーカを用いる場合には、マーカ計測に関する詳細設定を行うユーザインタフェース等(後述のマーカUI画面220等)を介して、マーカの形状を教示する。
 視覚センサで1つのマーカ4を計測することで、視覚センサ71に対するマーカ4の3次元位置を取得することは可能であるが、マーカ一つの計測では十分な精度が得られない場合がある。図5は、作業空間に設置された一つのマーカ4と、補正をかけるべき教示位置M1とを示している。マーカ4と補正をかけるべき教示位置M1との間隔dが大きくなると、教示位置M1の補正後の並進位置に悪い影響が与えられる傾向となる。教示位置M1をマーカ4を基準とする座標系内の位置として操作(補正)する場合、マーカ4の姿勢に誤差θが生じていると、教示位置M1の補正後の位置にd×sinθの並進方向のずれが生じ得るためである。
 そこで本実施形態に係るロボット制御装置30は、計測するマーカ4の数を増加させ、マーカの計測結果を合成する形で座標系や補正量の把握を行うようにすることで、教示点の補正の精度を向上させる。一例として、図6に示すように、3つのマーカ4(マーカ41、マーカ42、マーカ43)を、補正をかけるべき教示位置M1の周囲に配置する。マーカ41、マーカ42、マーカ43それぞれ単体として計測した位置をP1、P2、P3とする。マーカ位置計測部133は、マーカ41の位置P1を原点位置、マーカ42の位置P2をX軸方向の位置、マーカ43の位置P3をXY平面状にある位置として座標系を把握する。このように複数のマーカ4を用いて座標系の位置・姿勢を把握するようにする場合、マーカ一つの計測の場合よりも精度を向上させることができる。また、この場合、マーカ間の距離を大きくするほど姿勢の誤差を小さくすることが可能となる。
 なお、複数のマーカを計測した結果を合成して対象物全体(本実施形態では作業空間)の位置及び姿勢を把握する手法として、当分野で知られた他の手法が用いられても良い。例えば、2点(2つのマーカ)での計測を行う場合には、計測した2点を結ぶ線分を軸とする回転量を同定することはできないが、この回転量がシステム精度上変化しにくい場合には、十分に実用的な構成となる。
 計測精度評価部135は、マーカ位置計測部133によるマーカ4の位置計測の結果を評価する機能を有する。一例として、計測精度評価部135は、マーカ4の位置計測結果の評価を次のように行う。マーカ4中の各計測点(各ドット)の計測された位置をPxi、マーカ4の原点に対する各計測点の位置(設計値)をPyi、計測されたマーカの位置・姿勢をPmとするとき、
   Σ(Pxi-Pm×Pyi)^2    ・・・(1)
は、各計測点の計測誤差の2乗和を表す指標値となり、この指標値の大小により計測の精度を評価し得る。なお、上記において、Pxi、Pm、Pyiは、同時変換行列である。なお、マーカ4を複数視点から計測し、それらの計測結果を総合的に評価することによっても計測精度の評価が可能である。例えば、マーカ4の計測精度が低い状態の場合には、複数視点からの計測結果にばらつきが生じ得る。
 マーカ位置計測部133及び相対位置計算部134は、一つのマーカ4を計測して上記指標値を求め、マーカ一つによる位置計測の精度が低い場合に(例えば、数式(1)による誤差の指標値が所定の閾値より大きい場合に)、計測するマーカ4の数を増加させる(例えば、3つのマーカ4による計測を行う)ようにしても良い。また、マーカ位置計測部133及び相対位置計算部134は、一つのマーカ4を計測して上記指標値を求め、マーカ一つによる計測の精度が十分であると判断される場合には(例えば、数式(1)による誤差の指標値が所定の閾値以下である場合には)、一つのマーカ4の計測により、ロボット20と作業空間との相対位置関係を求めるようにしても良い。
 教示装置50は、ロボット制御装置30における上述のようなマーカ計測機能を実現するためのプログラミング機能を提供する。以下では、教示装置50におけるプログラム作成機能について説明する。
 図7は、プログラム作成部151により生成されるプログラム作成画面400の基本的な構成例を示す図である。プログラム作成画面400は、プログラム作成に用いることのできるアイコンのリストを表示するアイコン表示領域200と、アイコン表示領域200から選択した所望のアイコンを並べることでプログラム作成を行うためのプログラム作成領域300とを含む。ユーザは、アイコン表示領域200から所望のアイコンを、例えばドラッグアンドドロップ操作によりプログラム作成領域300に順に並べてプログラミングを行う。また、ユーザは、プログラム作成領域300に配置されたアイコンを選択し、詳細タブ262を選択することで、現在選択されているアイコンに対する詳細設定(教示)を行うことができる。
 図8は、一つのマーカに対する計測を実行する命令に対応するアイコン(以下、マーカ1点計測アイコン211と記す)を表す図である。マーカ1点計測アイコン211は、視覚センサ71を用いた視覚検出機能によりマーカの3次元位置を計測し、ロボット20とマーカ(すなわち、作業空間)との相対位置関係を算出する機能を提供する。マーカ1点計測アイコン211の上側に表示された2つの数字は、このマーカ1点計測アイコン211が2つの教示点の設定を含むことを表す。マーカ1点計測アイコン211が、他のアイコンと共にプログラム作成領域300に配置されるとき、マーカ1点計測アイコン211の上側の2つの数字は、プログラム内での教示点の番号を表すこととなる。図8では、例示として、マーカ1点計測アイコン211の2つの教示点の番号が2番目と3番目であることを示している。
 図9は、マーカ1点計測アイコン211の詳細設定を行うためのマーカUI(ユーザインタフェース)画面220の構成例を示す図である。マーカUI画面220は、マーカUI作成部152により生成される。マーカUI画面220は、例えば、プログラム作成領域300に配置したマーカ1点計測アイコン211を選択した状態で、詳細タブ262を選択することで起動され表示されても良い。図9に例示すように、マーカUI画面220は、詳細設定項目として、
(1)ステレオ計測のための2箇所の計測位置(計測位置1、計測位置2)
(2)視覚センサの露光時間
(3)マーカの選択
(4)マーカのドット間隔
の設定入力欄221から225を有している。なお、設定入力欄221から225には、予めデフォルトの設定が成されていても良い。
 2つの計測位置の設定を行う場合、教示ボタン221a、222aを選択してロボット20を操作(ジョグ操作)して計測位置(視覚センサ71の位置)を教示する。
 図10は、マーカ3点に対する計測を行うためのアイコン(以下、マーカ3点計測アイコン230と記す)を表す。マーカ3点計測アイコン230は、図6を参照して上述したように、3点のマーカ4に対し計測を行って、ロボット20と作業空間との相対位置関係を求める機能を提供する。マーカ3点計測アイコン230は、コの字型に形成されたマーカ3点合成アイコン231の中央部の窪み部分にマーカ1点計測アイコン211を3つ並べることで簡単に構成することができる。図6を参照して上述したように、マーカ3点合成アイコン231は、3つのマーカ1点計測アイコン211によりそれぞれ計測された3つのマーカの位置を合成するやり方で、ロボット(視覚センサ)と作業空間との相対位置関係を求める機能を提供する。
 マーカの3点計測を行う場合にも、オペレータは、同じマーカ1点計測アイコン211を3つ並べればよい。すなわち、オペレータは、3つのマーカの計測の設定に関して、図9に示す同じマーカUI画面220を操作して設定をすることができる。すなわち、3つのマーカ4の各々に対する設定において、共通のUI画面が用いられる。
 ここで、3つのマーカの設定において設定項目は共通しているので、一つのマーカについてのマーカ1点計測アイコン211に入力された設定情報が、他の2つのマーカ1点計測アイコン211の設定情報にデフォルト値として反映されるように構成されていても良い。例えば、図9に示す上記設定項目の例の場合には、ステレオ計測のための2つの位置以外の設定項目は共通の内容とすることができる。
 このように、本実施形態によれば、マーカ3点計測を行う場合にも、マーカ1点計測を行う場合と共通のUI画面を介して設定を行うことができ、且つマーカ1点計測を行う場合に入力した設定情報を、マーカ3点計測を行う場合の設定値のデフォルト値として反映させることができる。したがって、マーカ3点計測を行う場合のユーザの負担を軽減することができる。すなわち、ユーザは、マーカ3点計測を行う場合にも、マーカ1点計測と同様の間隔で設定を行うことができ、マーカ3点計測を行うための複雑な知識を有することは要求されない。
 図11は、1つ目のマーカで計測を行った後、計測結果を評価し、評価値が低い場合(すなわち、計測の精度が低いと判定される場合)にのみ2つ目及び3つ目のマーカの計測を行い、位置計測の精度を高める計測プログラム240を示している。計測プログラム240には、コの字上に延長された形状を有するマーカ3点合成アイコン231の中に、1つ目のマーカ1点計測アイコン211、条件分岐アイコン241、2つ目のマーカ1点計測アイコン211、及び3つ目のマーカ1点計測アイコン211が含まれている。条件分岐アイコン241は、上述の数式(1)による誤差の指標値が閾値より大きい場合に、2つ目及び3つ目のマーカの計測を行い、誤差の指標値が閾値以下であれば2つ目及び3つ目のマーカの計測を行わないという動作を提供するように設定される。このように、本実施形態によれば、マーカ1つで精度が出ない場合にマーカ複数による計測に移行する動作を容易に実現することができる。すなわち、マーカ1つで精度がでないときに、マーカ複数の計測にシームレスに切り替えることができる。
 図12は、図11に示した計測プログラム240の動作をフローチャートとして表したものである。はじめに、一つ目のマーカの計測を行う(ステップS1)。次に、一つ目のマーカの計測の精度を評価する(ステップS2)。ここでは、上述の数式(1)により制度の指標値を求める。数式(1)による指標値が所定の値以下で精度が良いと判定される場合(S3:OK)、本処理を抜ける。この場合、一つのマーカの計測結果を用いて、ロボット20と作業空間との相対位置関係が得られる。
 数式(1)による指標値が所定の値より大きく精度が良くないと判定される場合(S3:NG)、2つ目のマーカの計測(ステップS4)及び3つ目のマーカの計測(ステップS5)を行う。そして、図6を参照して説明したように、3つのマーカの計測結果を合成した形で作業空間の座標系を求め、ロボット20と作業空間との相対位置関係を得る(ステップS6)。
 なお、マーカ4は、作業空間(工作機械10)に予め3つ配置しておいても良く、或いは、一つのマーカでの計測の精度が良くないと判定された場合に(S3:NG)、ユーザがマーカ4の数を増加させても良い。なお、ユーザがマーカ4を増加させる場合には、ユーザは、追加したマーカ4の配置情報を教示装置50を操作して設定するようにする。
 上記フローチャートにおいて、ステップS1が計測プログラム240の1つ目のマーカ1点計測アイコン211に対応し、ステップS4が計測プログラム240の2つ目のマーカ1点計測アイコン211に対応し、ステップS5が計測プログラム240の3つ目のマーカ1点計測アイコン211に対応する。ステップS6において相対位置を求める動作が、マーカ3点合成アイコン231の機能に対応し、条件判断のステップS3による流れの制御が、条件分岐アイコン241の機能に対応している。
 図13は、3つのマーカで計測を行う場合に、マーカ1点計測アイコン211の間に経由点を追加する場合のプログラム例である計測プログラム250を示す。本例では、マーカ3点合成アイコン231の中に3つのマーカ1点計測アイコン211が配置され、1つ目のマーカ1点計測アイコン211と2つ目のマーカ1点計測アイコン211の間に経由点を加えるための直線移動アイコン251が挿入されている。この場合、1つ目のマーカの計測位置から2つ目のマーカの計測位置の間に、ロボット20は、直線移動アイコン251で指定された教示点を経由するように動作する。よって、1つ目のマーカの計測位置から2つ目のマーカの計測位置への経路に障害物や特異点がある場合にそれを回避することができる。このように、複数のマーカの計測を行う場合においても各計測のアイコンが分かれているので、経由点を追加する等の柔軟なプログラミングを行うことができる。
 以上では、プログラム作成部151により提供されるプログラミング機能を介してマーカ計測に関する詳細設定を行う場合の動作例について説明した。教示装置50は、ロボットの教示に関する各種設定入力を受け付ける機能を提供する設定部154を有する。マーカ計測に関する設定は、教示装置50のこのような設定入力機能(すなわち、設定部154の機能)を介して行うようにしても良い。
 図14Aは、設定部154の機能として提供される、マーカ計測のためのマーカ設定入力画面500の例を示す。マーカ設定入力画面500は、計測するマーカ数を指定するための入力欄511、計測方式を指定するための入力欄512、計測位置を入力するための入力欄513及び514を含む。図14Aの例では、一つのマーカに対してステレオ計測法による計測が指定されているため、2つの計測位置(計測位置1、計測位置2)についての入力欄513及び514が配置されている。ユーザは、教示ボタン513a、514aを選択して計測位置の教示を行うことができる。
 図14Aに示したマーカ設定入力画面500においてマーカ数を2と指定した場合には、図14Bのマーカ設定入力画面500Bに示すように、2つ目のマーカの計測位置を入力するための入力欄515及び516が追加で現れる。ユーザは、教示ボタン515a、516aを選択して、2つ目のマーカの計測位置の教示を行うことができる。ユーザが、マーカ設定入力画面500を介して一つのマーカに関して設定入力を既に行っている場合、マーカ設定入力画面500Bでは、一つ目のマーカ(マーカ1)の設定情報として、マーカ設定入力画面500を介して入力された情報が利用可能な状態で反映される。このように、設定部154によるマーカ計測のための設定機能によれば、マーカ設定入力画面においてマーカ数のドロップダウンメニューにおいてマーカ数を2に変更することで、2つのマーカの計測の設定に簡単に移行することができる。
 マーカ設定入力画面500或いはマーカ設定入力画面500Bを介して入力されたマーカ計測に関する設定情報は、プログラムから参照可能なグローバルなメモリ領域にコピーし格納される。制御プログラム中にマーカ計測命令が含まれていると、そのマーカ計測命令は、上記グローバルなメモリ領域にある設定情報を用いてマーカ計測のための動作を行うことができる。
 図15は、教示装置50のマーカUI作成部152及びマーカ設定入力受付部153による、マーカ計測設定を入力するためのインタフェースを提供して設定入力を受け付ける動作をフローチャートとして表したものである。ここでは、図10に例示したような3つのマーカを計測するためのプログラムに関する場合のマーカUI作成部152及びマーカ設定入力受付部153の動作について説明する。
 はじめに、マーカUI作成部152は、第1のマーカ計測の設定入力を行うためのマーカUI画面220を提示し、マーカ設定入力受付部153は、マーカUI画面220を介して第1のマーカ計測のための設定入力を受け付ける(ステップS101)。続いて、マーカUI作成部152は、第2のマーカ計測の設定入力を行うためのマーカUI画面220を提示する(ステップS102)。この場合、マーカUI作成部152は、第2のマーカの計測のためのマーカUI画面220中に、第1のマーカの計測の設定として既に入力されている値をデフォルト値として反映させる。そして、マーカ設定入力受付部153は、第2のマーカのためのマーカUI画面220を介して第2のマーカ計測のための設定入力を受け付ける(ステップS102)。第2のマーカのためのマーカUI画面220には、第1のマーカのために既に入力した値が反映され利用可能となっているので、ユーザは、第2マーカの計測の設定のために特に必要な項目(例えば、第2のマーカの計測位置)のみ設定すればよい。
 続いて、マーカUI作成部152は、第3のマーカ計測の設定入力を行うためのマーカUI画面220を提示し、マーカ設定入力受付部153は、第3のマーカのためのマーカUI画面220を介して第2のマーカ計測のための設定入力を受け付ける(ステップS103)。この場合にも、第3のマーカのためのマーカUI画面220には、第1のマーカ及び第2のマーカのために既に入力した値が反映され利用可能となっているので、ユーザは、第3マーカの計測の設定のために特に必要な項目(例えば、第3のマーカの計測位置)のみ設定すればよい。
 このように、マーカUI作成部152及びマーカ設定入力受付部153の機能によれば、第1のマーカの計測に関する第1の設定情報の入力を受け付け、第1のマーカに関して入力された第1の設定情報を利用できるやり方で、第2のマーカの計測に関する第2の設定情報の入力を受け付ける、ユーザインタフェースを提供する動作が実現される。なお、設定部154によってもこれと同等の動作が実現される。
 上述した実施形態における、教示装置50が提供する機能は、次のように表現することもできる。すなわち、作業空間に設置されたマーカを視覚センサにより計測するプログラムを作成するために用いられる教示装置であって、マーカの計測に関する設定情報を入力するためのユーザインタフェースを作成するユーザインタフェース作成部(マーカUI作成部152或いは設定部154)を備え、ユーザインタフェース作成部は、ユーザインタフェースにおいて、第1のマーカに関して入力された第1の設定情報を、第2のマーカに関する設定において利用可能とする、教示装置である。
 上述した実施形態におけるマーカ計測方法(図11、図12等)は、次のように表現することができる。すなわち、作業空間に設置されたマーカを視覚センサにより計測するための方法であって、第1のマーカについて計測を行い、第1のマーカの計測結果の精度を評価し、第1のマーカの計測結果の精度が所定のレベル未満である場合に、追加の1以上の前記マーカについて計測を行うこと、を含み、第1のマーカの計測に関する設定情報が、追加の1以上の前記マーカの各々の計測に関する設定情報として利用可能となっている、マーカ計測方法である。
 本実施形態によれば、複数のマーカの計測が必要になる状況においても、ユーザは、1つのマーカの計測についての設定を行う場合と同等のやり方で且つ容易に複数のマーカの計測について設定を行うことができる。
 以上、典型的な実施形態を用いて本発明を説明したが、当業者であれば、本発明の範囲から逸脱することなしに、上述の各実施形態に変更及び種々の他の変更、省略、追加を行うことができるのを理解できるであろう。
 上述の実施形態では、教示装置50は、アイコンを用いたプログラミングを可能とするプログラミング装置として構成されていたが、教示装置50は、テキストベースでのプログラミングを可能とするプログラミング装置として構成されていても良い。図10に示した三つのマーカを計測するための命令アイコンに対応するテキストベースでのプログラムを以下に示す。

(計測プログラムの例)
FIND MARKER
FIND MARKER
FIND MARKER
CALCULATE MARKERS

上記計測プログラムにおいて、命令‘FIND MARKER’は、一つのマーカの計測を行うための計測命令であり、上述のマーカ1点計測アイコン211に相当する。また、命令’CALCULATE MARKERS’は、3つのマーカについての計測結果を統合してロボットと作業空間との相対位置関係を求める命令であり、上述のマーカ3点合成アイコン231に相当する。これらの命令に対する詳細設定の入力は、上述の実施形態と同様のやり方で、マーカ計測の設定入力のためのユーザインタフェース画面を介して行うようにしても良い。或いは、これらの命令文が、グローバルなメモリ領域にコピーされた設定情報を参照して動作するようにしても良い。
 上述の実施形態において図3に示した教示装置或いはロボット制御装置の機能ブロックは、教示装置或いはロボット制御装置のCPUが、記憶装置に格納された各種ソフトウェアを実行することで実現されても良く、或いは、ASIC(Application Specific Integrated Circuit)等のハードウェアを主体とした構成により実現されても良い。
 上述した実施形態において示した各種処理を実行するプログラム(図12に示した計測プログラム、図15に示したユーザインタフェースを提供する動作のプログラムを含む)は、コンピュータに読み取り可能な各種記録媒体(例えば、ROM、EEPROM、フラッシュメモリ等の半導体メモリ、磁気記録媒体、CD-ROM、DVD-ROM等の光ディスク)に記録することができる。
 4  マーカ
 10  工作機械
 20  ロボット
 30  ロボット制御装置
 31  プロセッサ
 32  メモリ
 33  入出力インタフェース
 34  操作部
 50  教示装置
 51  プロセッサ
 52  メモリ
 53  表示部
 54  操作部
 55  入出力インタフェース
 71  視覚センサ
 100  ロボットシステム
 131  記憶部
 132  動作制御部
 133  マーカ位置計測部
 134  相対位置計算部
 135  計測精度評価部
 200  アイコン表示領域
 211  マーカ1点計測アイコン
 220  マーカUI画面
 230  マーカ3点計測アイコン
 300  プログラム作成領域
 400  プログラム作成画面
 500、500B  マーカ設定入力画面

Claims (10)

  1.  作業空間に設置されたマーカを視覚センサにより計測するプログラムを作成するために用いられる教示装置であって、
     前記マーカの計測に関する設定情報を入力するためのユーザインタフェースを作成するユーザインタフェース作成部を備え、
     前記ユーザインタフェース作成部は、前記ユーザインタフェースにおいて、第1の前記マーカに関して入力された第1の前記設定情報を、第2の前記マーカに関する設定において利用可能とする、教示装置。
  2.  前記ユーザインタフェースは、第1の前記マーカに関する設定のための第1のユーザインタフェース画面と、第2の前記マーカに関する設定のための第2のユーザインタフェース画面とを含み、
     前記第2のユーザインタフェース画面において、第1の前記設定情報が少なくとも部分的にデフォルト値として設定されている、請求項1に記載の教示装置。
  3.  前記第1のユーザインタフェース画面と前記第2のユーザインタフェース画面とは共通の設定項目を含む、請求項2に記載の教示装置。
  4.  前記プログラムを作成するためのプログラム作成画面を生成するプログラム作成部を更に備え、
     前記プログラム作成画面には第1の前記マーカを計測するための第1の計測命令と、第2の前記マーカを計測するための第2の計測命令とが同一の命令として配置されている、請求項1から3のいずれか一項に記載の教示装置。
  5.  前記第1の計測命令と前記第2の計測命令は同一のアイコンで表されている、請求項4に記載の教示装置。
  6.  作業空間に設置されたマーカを視覚センサにより計測するための方法であって、
     第1の前記マーカについて計測を行い、
     第1の前記マーカの計測結果の精度を評価し、
     第1の前記マーカの計測結果の精度が所定のレベル未満である場合に、追加の1以上の前記マーカについて計測を行うこと、を含み、
     第1の前記マーカの計測に関する設定情報が、追加の1以上の前記マーカの各々の計測に関する設定情報として利用可能となっている、マーカ計測方法。
  7.  第1の前記マーカ及び追加の1以上の前記マーカについての計測結果を合成して、前記作業空間と前記視覚センサとの相対位置関係を求めることを更に含む、請求項6に記載のマーカ計測方法。
  8.  第1のマーカの計測に関する第1の設定情報の入力を受け付け、
     前記第1のマーカに関して入力された前記第1の設定情報を利用できるやり方で、第2のマーカの計測に関する第2の設定情報の入力を受け付ける、ユーザインタフェースを提供する動作を、コンピュータに実行させるプログラム。
  9.  前記ユーザインタフェースは、前記第1のマーカに関する設定のための第1のユーザインタフェース画面と、前記第2のマーカに関する設定のための第2のユーザインタフェース画面とを含み、
     前記第2のユーザインタフェース画面において、前記第1の設定情報が少なくとも部分的にデフォルト値として設定されている、請求項8に記載のプログラム。
  10.  前記第1のユーザインタフェース画面と前記第2のユーザインタフェース画面とは共通の設定項目を含む、請求項9に記載のプログラム。
PCT/JP2021/020534 2021-05-28 2021-05-28 教示装置、マーカ計測方法及びプログラム WO2022249481A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202180098456.4A CN117355799A (zh) 2021-05-28 2021-05-28 示教装置、标记测量方法以及程序
PCT/JP2021/020534 WO2022249481A1 (ja) 2021-05-28 2021-05-28 教示装置、マーカ計測方法及びプログラム
DE112021007324.9T DE112021007324T5 (de) 2021-05-28 2021-05-28 Lehrgerät, verfahren zur markermessung und programm
JP2023523935A JPWO2022249481A1 (ja) 2021-05-28 2021-05-28
TW111116680A TW202245708A (zh) 2021-05-28 2022-05-03 教示裝置、標記計測方法及程式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/020534 WO2022249481A1 (ja) 2021-05-28 2021-05-28 教示装置、マーカ計測方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2022249481A1 true WO2022249481A1 (ja) 2022-12-01

Family

ID=84229642

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/020534 WO2022249481A1 (ja) 2021-05-28 2021-05-28 教示装置、マーカ計測方法及びプログラム

Country Status (5)

Country Link
JP (1) JPWO2022249481A1 (ja)
CN (1) CN117355799A (ja)
DE (1) DE112021007324T5 (ja)
TW (1) TW202245708A (ja)
WO (1) WO2022249481A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04211807A (ja) * 1990-04-20 1992-08-03 Hitachi Ltd ロボットの設置誤差の推定方法及びその装置並びにロボット駆動制御方法及び基準付き作業台及び基準
JPH08249026A (ja) * 1995-03-10 1996-09-27 Fanuc Ltd ロボットを含むシステムのプログラミング方法
JP2001318715A (ja) * 2000-05-12 2001-11-16 Daihen Corp 溶接用ロボットの教示方法及び装置
JP2007160486A (ja) * 2005-12-16 2007-06-28 Fanuc Ltd オフラインプログラミング装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04211807A (ja) * 1990-04-20 1992-08-03 Hitachi Ltd ロボットの設置誤差の推定方法及びその装置並びにロボット駆動制御方法及び基準付き作業台及び基準
JPH08249026A (ja) * 1995-03-10 1996-09-27 Fanuc Ltd ロボットを含むシステムのプログラミング方法
JP2001318715A (ja) * 2000-05-12 2001-11-16 Daihen Corp 溶接用ロボットの教示方法及び装置
JP2007160486A (ja) * 2005-12-16 2007-06-28 Fanuc Ltd オフラインプログラミング装置

Also Published As

Publication number Publication date
JPWO2022249481A1 (ja) 2022-12-01
CN117355799A (zh) 2024-01-05
DE112021007324T5 (de) 2024-04-04
TW202245708A (zh) 2022-12-01

Similar Documents

Publication Publication Date Title
US20200139547A1 (en) Teaching device, teaching method, and robot system
EP1834738B1 (en) Teaching position correcting apparatus and teaching position correction method
EP1936458B1 (en) Device, method, program and recording medium for robot offline programming
JP4763074B2 (ja) ロボットのツール先端点の位置の計測装置および計測方法
JP4171488B2 (ja) オフラインプログラミング装置
EP1607194B1 (en) Robot system comprising a plurality of robots provided with means for calibrating their relative position
JP3733364B2 (ja) 教示位置修正方法
US7724380B2 (en) Method and system for three-dimensional measurement
JP5670416B2 (ja) ロボットシステム表示装置
CN110977931A (zh) 使用了增强现实和混合现实的机器人控制装置及显示装置
JP6235664B2 (ja) ロボットの機構パラメータを校正するために使用される計測装置
JP5618066B2 (ja) 力制御ロボットのキャリブレーション装置と方法
US10675759B2 (en) Interference region setting apparatus for mobile robot
US20050159842A1 (en) Measuring system
US20080013825A1 (en) Simulation device of robot system
JPH07311610A (ja) 視覚センサを用いた座標系設定方法
US20070242073A1 (en) Robot simulation apparatus
JP2021059012A (ja) 情報処理装置、情報処理方法及びロボットシステム
WO2019082394A1 (ja) 数値制御装置
JP6825026B2 (ja) 情報処理装置、情報処理方法及びロボットシステム
CN111033412B (zh) 伺服马达调整装置及伺服马达调整方法
WO2022249481A1 (ja) 教示装置、マーカ計測方法及びプログラム
US7877225B2 (en) Method for determining measuring points
WO2024062535A1 (ja) ロボット制御装置
JP7421155B1 (ja) ロボットの教示システム及び教示方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21943118

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023523935

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 112021007324

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 202180098456.4

Country of ref document: CN

122 Ep: pct application non-entry in european phase

Ref document number: 21943118

Country of ref document: EP

Kind code of ref document: A1