Calibration device and automatic setting method for calibration

The calibration device automatically sets the correspondence between the robotic arm and the sensor, and uses the sensor's field of view and the object's size to determine the range of motion. This solves the cumbersome calibration problem in existing technologies and enables fast and high-precision calibration of the robotic arm and the sensor.

CN116323103BActive Publication Date: 2026-01-02OMRON CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202180067818.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-10-16
Filing Date
2021-09-02
Publication Date
2026-01-02
Estimated Expiration
2041-09-02

AI Technical Summary

Technical Problem

In existing technologies, the calibration of robotic arms and sensors is cumbersome, requires a large number of user input parameters and is difficult to complete quickly, and has high technical requirements for operators, which cannot meet the needs of non-professionals.

Method used

The robot arm's motion range is set by automatically determining the sensor's field of view and the object's size through a calibration device. The correspondence between the robot arm and the sensor is obtained and calibrated. The robot arm's posture change range is automatically determined using the sensor's field of view and the object's size. High-precision calibration is performed through a calibration unit, reducing user operation and time.

Benefits of technology

It simplifies operation, shortens calibration time, improves calibration accuracy, is suitable for non-professionals to quickly complete calibration, and reduces the technical requirements for operators.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116323103B_ABST
    Figure CN116323103B_ABST
Patent Text Reader

Abstract

A calibration device calibrates based on a detection result of a sensor on an object, and the calibration device has a determination unit that determines a range for changing a posture of a robot arm that mounts the sensor that detects the object or the object based on a field of view size of the sensor and a size of the object, an acquisition unit that repeatedly acquires a combination of information of the posture of the robot arm and the detection result of the sensor on the object in a change of the posture of the robot arm in the range determined by the determination unit, and a calibration unit that calibrates a correspondence relationship of the posture of the robot arm and the detection result of the object based on a plurality of the combinations acquired by the acquisition unit.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to a technique of determining a correspondence relationship between a posture of a robot arm and a detection result of an object by a sensor. BACKGROUND

[0002] A technique of detecting and controlling a posture and an action of a robot arm based on a detection result of an object by a sensor (hand-eye system, visual servo, visual feedback, etc.) is known, and has been disclosed in Patent Literature 1, for example. In such a technique, in order to be able to detect and control a posture and an action of a robot arm with high precision, calibration for determining a correspondence relationship between a posture of a robot arm and a detection result of a sensor is required. Generally, a posture of a robot arm is expressed by a coordinate system (robot coordinate system) defined with the robot arm as a reference, and a detection result of a sensor (a position and a posture of an object, etc.) is expressed by a coordinate system (sensor coordinate system) defined with the sensor as a reference. Therefore, the calibration can also be said to be a process of determining a correspondence relationship between the robot coordinate system and the sensor coordinate system.

[0003] PRIOR ART DOCUMENTS

[0004] PATENT LITERATURE

[0005] Patent Literature 1: Japanese Patent Application Publication No. 2018-111166 SUMMARY

[0006] PROBLEMS TO BE SOLVED BY THE INVENTION

[0007] However, in the conventional calibration, a user is required to input a large number of parameters, and the operation is cumbersome. For example, the user specifies several tens of postures one by one in a manner in which the posture of the robot arm is changed one by one.

[0008] In the technique disclosed in Patent Literature 1, before the calibration is performed, a marker provided to the robot is moved while the robot is controlled (so that the action is performed), and the marker is detected based on an image captured by a camera. Thereby, an action range of the robot corresponding to an image range (a part of the captured image) specified by the user is measured. Also, when the calibration is performed, the robot is controlled in a manner in which the marker is moved within the measured action range. However, even with the technique disclosed in Patent Literature 1, the user must specify the image range. Also, the robot is required to perform the action before the calibration is performed, so the calibration cannot be completed quickly.

[0009] Further, in the past, in the calibration of the robot arm and the sensor, not only skills to make the robot act while observing the result of the information acquired from the sensor are required, but also skills to perform optimal tuning of the measurable area and sensing performance of the sensor are required. Therefore, there is a problem that skilled workers (skilled system integrators) are required to perform correct calibration. Further, in order to correct the position and posture, not only simple two-dimensional images but also three-dimensional image information need to be processed, and the technical knowledge required for the system integrator increases, and the operation for calibration is not easy. The actual situation is that skilled workers who can operate these are few, and therefore it is required that calibration can be easily and quickly performed even by workers without professional knowledge.

[0010] The present application has been made in view of the above-described actual situation, and has an object to provide a technology that can easily and quickly perform calibration.

[0011] Technical solution for solving the problem

[0012] In order to achieve the above object, the present application adopts the following solution.

[0013] The first aspect of the present application provides a calibration device that calibrates a sensor based on a result of detection of an object by the sensor, characterized by comprising: a determination unit that determines a range for changing a posture of a robot arm or the sensor that detects the object, based on a field of view size of the sensor and a size of the object; an acquisition unit that repeatedly acquires a combination of information of the posture of the robot arm and a result of detection of the object by the sensor, in a change of the posture of the robot arm within the range determined by the determination unit; and a calibration unit that performs calibration for determining a correspondence relationship between the posture of the robot arm and the result of detection of the object, based on a plurality of the combinations acquired by the acquisition unit.

[0014] In order to perform calibration, it is necessary to change the posture of the robot arm in such a manner that the object enters the sensing range, and the sensing range includes a field of view of a two-dimensional plane that can be measured by the sensor and a depth direction that can be measured as a three-dimensional space. According to the above-described structure, the range of motion of the robot arm (range for changing the posture of the robot arm) is automatically determined based on the field of view size of the sensor and the size of the object (object size). In this way, as the range of motion of the robot arm, it is possible to accurately determine the range in which the object enters the field of view of the sensor, and it is possible to perform calibration. Further, the range of motion of the robot arm can be determined in a short time without making the robot arm act, and therefore it is possible to perform calibration in a short time.

[0015] In addition, calibration can be performed easily (without troublesome operations). For example, information of the field of view size can be acquired by the sensor, and information of the object size can be acquired from design data of the object, so calibration can be performed without such operations as input of parameters. In addition, information of the field of view size and the object size can be input by the user. The user can easily perform operations of inputting information of the field of view size and the object size, so even if information of at least one of the field of view size and the object size is input by the user, calibration can be performed with only simple operations.

[0016] The sensor or the object can be mounted at the front end of the robot arm, and the determination unit can determine a range for changing the position of the front end of the robot arm as the range for changing the posture of the robot arm. In this way, calibration for determining the correspondence between the position of the front end of the robot arm (position in the robot coordinate system) and the detection result of the object (result in the sensor coordinate system) can be performed.

[0017] The sensor or the object can be mounted at the front end of the robot arm, and the determination unit can determine a range for changing the posture of the front end of the robot arm as the range for changing the posture of the robot arm. In this way, calibration for determining the correspondence between the posture of the front end of the robot arm (position and posture in the robot coordinate system) and the detection result of the object (result in the sensor coordinate system) can be performed. If the position and the posture of the front end of the robot arm are considered, calibration can be performed with higher precision than a case in which only one of the position and the posture of the front end of the robot arm is considered.

[0018] The detection result of the object can include the position of the object detected by the sensor. In this way, calibration for determining the correspondence between the posture of the robot arm (posture in the robot coordinate system) and the detected position of the object (position detected by the sensor; position in the sensor coordinate system) can be performed. The detection result of the object can include the posture of the object detected by the sensor. In this way, calibration for determining the correspondence between the posture of the robot arm (posture in the robot coordinate system) and the detected posture of the object (posture detected by the sensor; posture in the sensor coordinate system) can be performed. By considering the detected position and the detected posture of the object, calibration can be performed with higher precision than a case in which only one of the detected position and the detected posture of the object is considered.

[0019] Even when an object enters the field of view of a sensor, depending on the position (relative position) of the object in the field of view of the sensor, sometimes the sensor cannot detect the object with high precision (reliability of the detection result of the object is low). For example, in the end portion of the field of view of the sensor, sometimes a region different from the region of the object is detected as the region of the object. Therefore, it is also possible to provide a calculation unit that calculates the reliability of the detection result of the object. The reliability can also be set as the degree of coincidence of each position on the surface of the object detected by the sensor and each position indicated using predetermined design data.

[0020] If a detection result (detection result of the object) with low reliability is used, the precision of the calibration is reduced. Therefore, the calibration unit can also perform the calibration based on the combinations in which the reliability is above a predetermined threshold value among the plurality of combinations. In this way, a detection result with low reliability is not used, so the calibration can be performed with high precision.

[0021] After the calibration is performed, if a detection result (detection result of the object) with low reliability is acquired and used, the movement of the posture of the robot arm cannot be detected with high precision, and the control cannot be performed with high precision. Therefore, it is also possible to provide a recording unit that records, in a storage unit, the range of the posture of the robot arm in which the reliability is above a predetermined threshold value, as a range in which the posture of the robot arm can be changed after the calibration is performed. In this way, a detection result with low reliability is not easily acquired, so the posture and movement of the robot arm can be detected with high precision, and the control can be performed with high precision.

[0022] The second aspect of the present application provides an automatic setting method of calibration, characterized by an automatic setting method of calibration based on a detection result of an object by a sensor, having: a determination step of determining a range in which the posture of a robot arm that installs the sensor that detects the object or the object is changed, based on the size of the field of view of the sensor and the size of the object; an acquisition step of repeatedly acquiring a combination of information of the posture of the robot arm and a detection result of the object by the sensor in the change of the posture of the robot arm in the range determined in the determination step; and a calibration step of performing calibration for determining the correspondence relationship between the posture of the robot arm and the detection result of the object, based on a plurality of the combinations acquired in the acquisition step.

[0023] In addition, the present application can be understood as a robot, a robot controller, a robot system, or the like having at least a part of the above-described structure or function. Also, the present application can be understood as an automatic setting method of calibration, a calibration method, a control method of a robot, a control method of a robot controller, or a control method of a robot system including at least a part of the above-described processing, a program for causing a computer to execute these methods, or a computer-readable recording medium capable of non-transitorily recording such a program. The above-described structure and processing can be combined with each other as long as no technical contradiction occurs.

[0024] Effects of Invention

[0025] According to the present application, calibration can be performed easily and in a short time. BRIEF DESCRIPTION OF DRAWINGS

[0026] Figure 1 (A) of FIG. 1, Figure 1 (B) of FIG. 1 is a schematic view showing a general structure example of a robot system to which the present application is applied.

[0027] Figure 2 is a block diagram showing a structure example of a calibration device to which the present application is applied.

[0028] Figure 3 is a flowchart showing an action example of the calibration device according to Embodiment 1 of the present application.

[0029] Figure 4 (A) to Figure 4 (C) of FIG. 1 are schematic views showing an example of a method of determining a movement range of a robot arm.

[0030] Figure 5 is a schematic view showing an example of a state in which a posture of a front end of a robot arm is changed.

[0031] Figure 6 is a block diagram showing a structure example of a calibration device according to Embodiment 2 of the present application.

[0032] Figure 7 is a flowchart showing an action example of the calibration device according to Embodiment 2 of the present application.

[0033] Figure 8 is a block diagram showing a structure example of a calibration device according to Embodiment 3 of the present application. DETAILED DESCRIPTION

[0034]

[0035] An application example of the present application will be described. Figure 1 (A) of FIG. 1, Figure 1 ​(B) is a schematic diagram showing a general structural example of a robot system to which the present invention is applicable. The robot system includes a calibration device 100, a robotic arm 200, a sensor 300, and an object 400. The sensor 300 or the object 400 is mounted on the robotic arm 200. Figure 1 In (A), a sensor 300 is installed on the robotic arm 200. Figure 1 In (B), an object 400 is mounted on the robotic arm 200. Figure 1 In (B), the sensor 300 is fixed at a position away from the robotic arm 200, specifically on the ceiling of the room where the robotic arm 200 is located.

[0036] The robotic arm 200 is a device capable of changing its posture, enabling it to perform actions such as moving an object it is holding. The robotic arm 200 changes its own posture to allow the sensor 300 to... Figure 1 (A) case) or object 400 ( Figure 1 (In case B) movement. The robotic arm 200 can be any type of robot, such as a vertical multi-joint robot, a mobile mechanism robot, a parallel connection robot, a direct-acting mechanism robot, etc. In this embodiment, the robotic arm 200 is an arm-shaped robot with multiple joints, which controls the position (or orientation) of the sensor 300 or the object 400 by controlling the angle of each joint. Each joint has a drive shaft that is driven by a motor to rotate each joint.

[0037] Sensor 300 is a sensor capable of detecting object 400. For example, various cameras (camera units), depth sensors that acquire depth information, or distance image sensors that acquire distance images can be used as sensor 300. Sensor 300 can be a 1D sensor capable of detecting position in a one-dimensional direction, a 2D sensor capable of detecting position and orientation in a two-dimensional direction, or a 3D sensor capable of detecting position and orientation in a three-dimensional direction. Sensor 300 may also include an illumination unit that illuminates the field of view (search area) of sensor 300 with light, and a projector that projects an image.

[0038] Sensor 300 can also acquire the distance from sensor 300 to object 400 (the object itself), and this acquisition can be either active or passive. Here, an active method refers to acquiring the distance by projecting light from sensor 300 onto the object and receiving the reflected light from the object. Conversely, a passive method refers to acquiring the distance by receiving light from the object illuminated by natural light or other lighting. As an active method, for example, a projector can illuminate the object with infrared light, and a camera can receive the reflected infrared light from the object, thereby acquiring the distance to the object based on the principle of triangulation (point method; TOF). Furthermore, as an active method, a projector can illuminate the object with a pattern image, and a camera can capture the pattern image projected onto the object, thereby acquiring the distance to the object based on the distortion of the captured pattern image. Furthermore, as a passive method, the object can be captured from two different points, and the distance can be acquired based on the difference between the two captured images.

[0039] Object 400 is the object required for calibration, as described later. Object 400 can have either a three-dimensional (solid) shape or a two-dimensional (planar) shape. Object 400 can also be a mark drawn on the robotic arm 200 or on the ground (floor). If object 400 is a two-dimensional object, it can be manufactured at low cost. Object 400 can be a calibration-specific object or not. For example, object 400 can also be an object that is moved by being held by the robotic arm 200. Object 400 can also be used to detect and control the posture and movement of the robotic arm 200 after calibration is performed. If the way object 400 is observed from the sensor 300 changes due to changes in the posture of the robotic arm 200, the shape and purpose of object 400 (for purposes other than calibration) are not particularly limited.

[0040] In addition, Figure 1 (A) Figure 1 In (B), the calibration device 100, the robotic arm 200, and the sensor 300 are independent devices, but are not limited to this structure. For example, the calibration device 100 may also be part of the robotic arm 200. Some or all of the functions of the sensor 300 may also be provided in the calibration device 100. For example, the sensor 300 may also have a measuring unit for acquiring measurement data of the sensor 300's field of view and a detection unit for detecting the object 400 based on the measurement data. In this case, the detection unit may also be provided in the calibration device 100.

[0041] The above calibration is performed to enable high-precision detection and control of the posture and movement of the robot arm 200 based on the detection result of the object 400 by the sensor 300. The calibration is processing for determining the correspondence relationship between the posture of the robot arm 200 and the detection result of the sensor 300. Generally, the posture of the robot arm 200 is expressed in a coordinate system (robot coordinate system) defined with the robot arm 200 as a reference, and the detection result of the sensor 300 (the position and posture of the object 400, etc.) is expressed in a coordinate system (sensor coordinate system) defined with the sensor 300 as a reference. Therefore, the calibration can also be said to be processing for determining the correspondence relationship between the robot coordinate system and the sensor coordinate system.

[0042] However, in the conventional calibration, either the operation is cumbersome or the calibration cannot be completed quickly.

[0043] Figure 2 is a block diagram showing a configuration example of a calibration device 100 to which the present application is applied. The calibration device 100 is a device that performs the above calibration, and is, for example, a personal computer or a robot controller, etc. The calibration device 100 has a movement range determination section 101, a robot control section 102, an information acquisition section 103, and a calibration section 104.

[0044] The movement range determination section 101 acquires information of the field of view size of the sensor 300 and information of the size (object size) of the object 400, and determines a range (movement range of the robot arm 200) for changing the posture of the robot arm 200 based on the field of view size and the object size. Here, the field of view size and the object size can be one-dimensional sizes (for example, horizontal width and vertical width), two-dimensional sizes (for example, horizontal width x vertical width), or three-dimensional sizes (for example, horizontal width x vertical width x thickness). Similarly, the movement range can be one-dimensional, two-dimensional, or three-dimensional. The movement range determination section 101 is an example of the determination unit of the present application.

[0045] The robot control section 102 controls the posture and movement of the robot arm 200. For example, when performing the calibration, the robot control section 102 changes the posture of the robot arm 200 within the movement range determined by the movement range determination section 101. In addition, the robot control section 102 can be provided in a device (for example, a controller that controls the posture and movement of the robot arm 200) separate from the calibration device 100, etc.

[0046] The information acquisition section 103 repeatedly acquires a combination (information set) of the information of the posture of the robot arm 200 and the detection result of the object 400 by the sensor 300 in the change of the posture of the robot arm 200 within the movement range determined by the movement range determination section 101. The information acquisition section 103 is an example of the acquisition unit of the present application.

[0047] The calibration unit 104 performs calibration based on a plurality of sets of information acquired by the information acquisition unit 103 (a plurality of sets of information acquired at a plurality of poses in which the pose of the robot arm 200 is different from each other). The calibration unit 104 sets the result of the calibration to the robot control unit 102. The calibration unit 104 is an example of the calibration unit of the present application.

[0048] In order to perform calibration, it is necessary to change the pose of the robot arm 200 in such a manner that the object 400 enters the sensing range including the field of view of the two-dimensional plane in which the sensor 300 can perform measurement and the depth direction in which the sensor 300 can perform measurement in the three-dimensional space. According to the above-described configuration, the range of motion of the robot arm 200 is determined automatically based on the size of the field of view of the sensor 300 and the size of the object 400 (object size). In this way, as the range of motion of the robot arm 200, the range in which the object 400 enters the field of view of the sensor 300 can be determined with high precision, and calibration can be performed. Furthermore, it is not necessary to cause the robot arm 200 to perform motion, and the range of motion of the robot arm 200 can be determined in a short time, so calibration can be performed in a short time.

[0049] In addition, calibration can be easily (without troublesome operation) performed. For example, information on the size of the field of view can be acquired by the sensor 300, and information on the size of the object can be acquired from design data of the object 400, so calibration can be performed without such operation as input of parameters. The design data is, for example, stored in advance in a storage device not shown. In addition, information on the size of the field of view and the size of the object can be input by the user. The user can easily perform the operation of inputting information on the size of the field of view and the size of the object, so even in the case where information on at least one of the size of the field of view and the size of the object is input by the user, calibration can be performed with only a simple operation.

[0050] <Embodiment 1>

[0051] Embodiment 1 of the present application will be described. In Embodiment 1, the robot system has the configuration shown in (A) of Figure 1 or (B) of Figure 1 , and the calibration device 100 has the configuration shown in Figure 2 .

[0052] Figure 3 is a flowchart showing an example of the operation of the calibration device 100 at the time of performing calibration. Figure 3 The operation of (1) is, for example, started in accordance with an instruction by the user to perform calibration. Figure 3 The operation of (1) can also be started at a predetermined timing. Figure 3 The operation of (1) can be performed periodically or non-periodically.

[0053] First, the action range determination section 101 determines a range for changing the posture of the robot arm 200 (the action range of the robot arm 200) based on the field of view size of the sensor 300 and the size of the object 400 (step S301).

[0054] In Embodiment 1, as Figure 1 (A) of FIG. 1, Figure 1 (B) of FIG. 1, the sensor 300 or the object 400 is attached to the tip of the robot arm 200. In this case, the action range determination section 101 can also determine a range for changing the position of the tip of the robot arm 200 as the action range of the robot arm 200. In this way, calibration for determining the correspondence between the position of the tip of the robot arm 200 (the position expressed in the robot coordinate system) and the detection result of the object 400 (the result expressed in the sensor coordinate system) can be performed.

[0055] Also, the action range determination section 101 can determine a range for changing the posture of the tip of the robot arm 200 as the action range of the robot arm 200. In this way, calibration for determining the correspondence between the posture of the tip of the robot arm 200 (the position and the posture expressed in the robot coordinate system) and the detection result of the object 400 (the result expressed in the sensor coordinate system) can be performed. By taking into account the position and the posture of the tip of the robot arm 200, calibration can be performed with higher precision than when only one of the position and the posture of the tip of the robot arm 200 is taken into account.

[0056] In addition, the detection result of the object 400 can include the detected position of the object 400 (the position detected by the sensor 300). In this way, calibration for determining the correspondence between the posture of the robot arm 200 (the posture expressed in the robot coordinate system) and the detected position of the object 400 (the position expressed in the sensor coordinate system) can be performed. The detection result of the object 400 can also include the detected posture of the object 400 (the posture detected by the sensor 300). In this way, calibration for determining the correspondence between the posture of the robot arm 200 (the posture expressed in the robot coordinate system) and the detected posture of the object 400 (the posture expressed in the sensor coordinate system) can be performed. By taking into account the detected position and the detected posture of the object 400, calibration can be performed with higher precision than when only one of the detected position and the detected posture of the object 400 is taken into account.

[0057] Here, the method of determining the action range of the robot arm 200 will be described in detail. First, an example of changing the position of the tip of the robot arm 200 in two dimensions will be described. This case is as shown in Figure 4As shown in (A) of FIG. 10, the action range determining section 101 obtains an outer circle of the two-dimensional field of view of the sensor 300 (field of view outer circle) from the size of the field of view of the sensor 300, and obtains an outer circle of the object 400 (object outer circle) from the size of the object 400. Further, the action range determining section 101 determines, as the action range, a range (circular region) having a radius of "radius of field of view outer circle - radius of object outer circle" with the state in which the object 400 is disposed at the center of the field of view as a reference. In the case where the radius of the field of view outer circle is 5 cm and the radius of the object outer circle is 1 cm, as shown in (A) of FIG. 10, a range having a radius of 4 cm with the state in which the object 400 is disposed at the center of the field of view as a reference is determined as the action range. Figure 4 As shown in (B) of FIG. 10, a range having a radius of 5 cm with the state in which the object 400 is disposed at the center of the field of view as a reference is determined as the action range.

[0058] Next, an example of a case where the position of the tip of the robot arm 200 is changed three-dimensionally will be described. This case is as shown in (C) of FIG. 10. Figure 4 As shown in (C) of FIG. 10, the action range determining section 101 obtains an outer sphere of the three-dimensional field of view of the sensor 300 (field of view outer sphere) from the size of the field of view of the sensor 300, and obtains an outer sphere of the object 400 (object outer sphere) from the size of the object 400. In this case, the action range determining section 101 determines, as the action range, a range (spherical region) having a radius of "radius of field of view outer sphere - radius of object outer sphere" with the state in which the object 400 is disposed at the center of the field of view as a reference. Figure 4 In the example of (C) of FIG. 10, the field of view of the sensor 300 is a range of 10 to 50 cm in the height direction from the sensor 300, and has a lateral width and a longitudinal width of 20 cm. That is, the field of view of the sensor 300 refers to the range of a cuboid of 20 (lateral width) x 20 (longitudinal width) x 40 (height; thickness) disposed at a position 10 cm away from the sensor 300 in the height direction. Further, the action range determining section 101 determines, as the action range, a range (spherical region) having a radius of "radius of field of view outer sphere - radius of object outer sphere" with the state in which the object 400 is disposed at the center of the field of view as a reference.

[0059] Before the calibration is completed, the correspondence between the robot arm 200 and the sensor 300 is unknown, so it is also unknown how the position and posture of the object 400 with respect to the field of view of the sensor 300 change according to the change in the posture of the robot arm 200. By using the above-described outer circle and outer sphere, the action range can be determined in a manner that includes the range in which the object 400 enters the field of view of the sensor 300. In addition, the method of determining the action range is not limited to the above-described method, and the action range can be determined in a manner that includes the range in which the object 400 enters the field of view of the sensor 300. The shape of the action range can also not be circular or spherical.

[0060] Returning to Figure 3The following is an explanation. After step S301, the robot control unit 102 changes the posture of the robotic arm 200 within the range of motion determined by step S301 (step S302). In Embodiment 1, the robot control unit 102 changes the posture of the robotic arm 200 sequentially by repeatedly performing the process of step S302 and scanning within the range of motion determined by step S301.

[0061] Here, the smaller the change in the posture of the robotic arm 200 at a time, the higher the calibration accuracy, but the longer the calibration time. On the other hand, the larger the change at a time, the shorter the calibration time, but the lower the calibration accuracy. Therefore, it is preferable to consider both calibration accuracy and time when determining the change at a time.

[0062] In addition, the amount of change in the posture of the robotic arm 200 at one time can be a predetermined fixed value, or it can be determined by the motion range determination unit 101 or the robot control unit 102 based on the field of view of the sensor 300 and the size of the object 400.

[0063] Here is an example illustrating the case of changing the position of the front end of the robotic arm 200 in two dimensions. This situation is as follows: Figure 4 As shown in (A), the posture of the robotic arm 200 is adjusted so that the object 400 is positioned approximately at the center of the two-dimensional field of view of the sensor 300. Furthermore, the diameter of the object's circumscribed circle is determined as the amount of one change in the posture of the robotic arm 200, such that the changed circumscribed circle does not coincide with the original circumscribed circle. When the radius of the field of view's circumscribed circle is 5 cm and the radius of the object's circumscribed circle is 1 cm, as... Figure 4 As shown in (B), the position of the front end of the robotic arm 200 moves by 2 cm each time.

[0064] The following is an example of changing the position of the front end of the robotic arm 200 in three dimensions. In this case, the posture of the robotic arm 200 is adjusted so that the object 400 is positioned approximately at the center of the three-dimensional field of view of the sensor 300. Furthermore, the diameter of the object's circumscribed sphere is determined as the amount of one change in the posture of the robotic arm 200, such that the changed circumscribed sphere is in contact with the original circumscribed sphere without overlapping.

[0065] To achieve higher precision calibration, such as Figure 5 As shown, it is preferable not only to change the position of the front end of the robotic arm 200, but also to change the posture of the front end. For example, the posture of the front end of the robotic arm 200 can be changed within a range of ±30°, with the state in which the object 400 is positioned at the center of the field of view of the sensor 300 as a reference.

[0066] Return to Figure 3The information acquisition unit 103 acquires information of the posture of the robot arm 200 and the detection result of the object 400 by the sensor 300 (information set) (step S303) after the step S302.

[0067] Then, the information acquisition unit 103 determines whether the detection result of the object 400 can be acquired in the step S303 (step S304). In a case where it is determined that the detection result of the object 400 can be acquired (step S304: Yes), the information acquisition unit 103 outputs the information set acquired in the step S303 to the calibration unit 104. Also, the process proceeds to the step S306. In a case where it is determined that the detection result of the object 400 cannot be acquired (step S304: No), the process proceeds to the step S305. The determination of whether the detection result of the object 400 can be acquired by the information acquisition unit 103 can also be said to be a determination of whether the object can be detected by the sensor 300. In a case where the object 400 does not enter the field of view of the sensor 300, the sensor 300 cannot detect the object 400. Even when the object 400 enters the field of view of the sensor 300, depending on the position (relative position) of the object 400 in the field of view, the sensor 300 sometimes cannot detect the object 400.

[0068] In the step S305, the information acquisition unit 103 deletes the information (information of the posture of the robot arm 200) acquired in the step S303. Also, the process proceeds to the step S306. The use of the information (information of the posture of the robot arm 200) acquired in a state where the detection result of the object 400 is not acquired reduces the accuracy of the calibration. Therefore, such information is deleted in the step S305.

[0069] In the step S306, the robot control unit 102 determines whether the scanning of the movement range determined in the step S301 is completed. In a case where it is determined that the scanning of the movement range is completed (step S306: Yes), the process proceeds to the step S307, and in a case where it is determined that the scanning of the movement range is not completed (step S306: No), the process returns to the step S302.

[0070] In the step S307, the calibration unit 104 performs calibration based on the plurality of information sets output from the information acquisition unit 103.

[0071] As described above, according to the embodiment 1, the movement range of the robot arm 200 is determined automatically based on the field of view size of the sensor 300 and the size of the object 400. Thus, the calibration can be performed easily and in a short time.

[0072] <Embodiment 2>

[0073] An embodiment 2 of the present application will be described. In the embodiment 2, the robot system has Figure 1(A) or Figure 1 (B) shown in FIG. 1.

[0074] Even when the object 400 enters the field of view of the sensor 300, depending on the position (relative position) of the object 400 in the field of view of the sensor 300, sometimes the sensor 300 cannot detect the object 400 with high precision (the reliability of the detection result of the object 400 is low). For example, at the end portion of the field of view of the sensor 300, sometimes a region largely different from the region of the object 400 is detected as the region of the object 400. Also, if the detection result (the detection result of the object 400) with low reliability is used, the precision of the calibration is reduced. Therefore, in Embodiment 2, when the calibration is performed, the reliability of the detection result of the object 400 is also taken into consideration.

[0075] Figure 6 is a block diagram showing an example of the structure of the calibration device 100 according to Embodiment 2. The calibration device 100 according to Embodiment 2 has a reliability calculation section 601 in addition to the components of the calibration device 100 according to Embodiment 1 Figure 2 ).

[0076] The reliability calculation section 601 calculates the reliability of the detection result (the detection result of the object 400 by the sensor 300) acquired by the information acquisition section 103. The method of calculating the reliability is not particularly limited, and for example, the reliability calculation section 601 performs matching of each position on the surface of the object 400 detected by the sensor 300 and each position represented by predetermined design data (CAD data or the like), and calculates the degree of coincidence of these positions as the reliability. The matching can be two-dimensional matching or three-dimensional matching. The reliability calculation section 601 is an example of the calculation unit of the present application.

[0077] Also, in Embodiment 2, the calibration section 104 performs calibration based on the information sets in which the reliability calculated by the reliability calculation section 601 is equal to or higher than a predetermined threshold value, among the plurality of information sets acquired by the information acquisition section 103. In this way, the detection result (the detection result of the object 400) with low reliability is not used, so calibration can be performed with high precision.

[0078] Figure 7 is a flowchart showing an example of the operation of the calibration device 100 when the calibration is performed. The processes of steps S701 to S703 are the same as the processes of steps S301 to S303 of Embodiment 1 Figure 3 ).

[0079] After step S703, the reliability calculation section 601 calculates the reliability of the detection result (the detection result of the object 400) acquired in step S703 (step S704).

[0080] Then, the reliability calculation section 601 determines whether or not the reliability calculated in step S704 is equal to or higher than a predetermined threshold (step S705). In a case where it is determined that the reliability is equal to or higher than the predetermined threshold (step S705: Yes), the reliability calculation section 601 outputs the information set acquired in step S703 to the calibration section 104. Also, the process proceeds to step S707. In a case where it is determined that the reliability is not equal to or higher than the predetermined threshold (the reliability is lower than the predetermined threshold) (step S705: No), the process proceeds to step S706.

[0081] In step S706, the reliability calculation section 601 deletes the information set acquired in step S303 (the combination of the information of the posture of the robot arm 200 and the detection result of the object 400 by the sensor 300). Also, the process proceeds to step S707. As described above, the use of the information set whose detection result of the object 400 has low reliability reduces the accuracy of calibration. Therefore, in step S706, such information set is deleted.

[0082] In step S707, the robot control section 102 determines whether or not the scanning of the movement range determined in step S701 is completed. In a case where it is determined that the scanning of the movement range is completed (step S707: Yes), the process proceeds to step S708, and in a case where it is determined that the scanning of the movement range is not completed (step S707: No), the process returns to step S702.

[0083] In step S708, the calibration section 104 performs calibration based on the plurality of information sets output from the reliability calculation section 601.

[0084] As described above, according to Embodiment 2, calibration is performed based on the information set whose reliability calculated by the reliability calculation section 601 is equal to or higher than the predetermined threshold. In this way, the detection result (the detection result of the object 400) having low reliability is not used, so calibration can be performed with high accuracy.

[0085] <Embodiment 3>

[0086] Embodiment 3 of the present application will be described. In Embodiment 2, the robot system has the structure shown in (A) of FIG. 10 or the structure shown in (B) of FIG. 10. Figure 1 Figure 1

[0087] ​​If a detection result with low reliability (a detection result of the object 400) is acquired and used after the calibration is performed, the posture and the motion of the robot arm 200 cannot be detected with high accuracy, and the control cannot be performed with high accuracy. Therefore, in Embodiment 3, information of a range of the motion of the robot arm 200 (a range of the posture of the robot arm 200) in which the reliability of the detection result of the object 400 is equal to or higher than a predetermined threshold is recorded in the storage section. Also, after the calibration is performed, the range of the motion recorded in the storage section is changed to the posture of the robot arm 200. In this way, the detection result with low reliability (the detection result of the object 400) is less likely to be acquired, so the posture and the motion of the robot arm 200 can be detected with high accuracy, and the control can be performed with high accuracy.

[0088] Figure 8 is a block diagram showing a configuration example of the calibration device 100 according to Embodiment 3. The calibration device 100 according to Embodiment 3 has a motion range recording section 801 and a storage section 802 in addition to the components of the calibration device 100 according to Embodiment 2 ( Figure 6 ). Also, the operation of the calibration device 100 when the calibration is performed can be the same as the operation of Embodiment 1 ( Figure 3 ) and can be the same as the operation of Embodiment 2 ( Figure 7 ).

[0089] The motion range recording section 801 generates information of a range of the motion of the robot arm 200 (a range of the posture of the robot arm 200) in which the reliability of the detection result of the object 400 is equal to or higher than a predetermined threshold based on the calculation result of the reliability calculation section 601, and records the information in the storage section 802. The motion range recording section 801 is an example of the recording unit of the present application.

[0090] From the information from the motion range recording section 801, it is known that the detection range of the sensor 300 in which the reliability is high is a three-dimensional measurable region, so it can be said that the calibration that absorbs the deviation of the inherent measurable region of the sensor 300 can be performed. That is, when it is assumed that a plurality of robot arms and sensors are arranged side by side in a production line as in (A) of Figure 1 and (B) of Figure 1 , it can be said that the calibration that takes into account the machine difference of the measurable region of each robot arm and sensor can be performed. That is, the inherent measurable region of the sensor is automatically transferred to the robot control section 102.

[0091] The storage section 802 can store various kinds of information. The storage section 802 can be provided in a device separate from the calibration device 100, or can be a storage device separate from the calibration device 100.

[0092] Further, in Embodiment 3, the robot control section 102 changes the posture of the robot arm 200 in the range of the motion recorded in the storage section 802 after the calibration is performed.

[0093] As explained above, according to Embodiment 3, the range of the posture of the robot arm 200 in which the reliability calculated by the reliability calculation section 601 reaches a predetermined threshold or more is taken as the range in which the posture of the robot arm 200 can be changed after the calibration is performed. In this way, the detection result (the detection result of the object 400) with low reliability is less likely to be acquired, so the posture and the motion of the robot arm 200 can be detected with high accuracy, and the control can be performed with high accuracy.

[0094] <Other>

[0095] The above-described embodiments are merely illustrative of the ways of explaining the structural examples of the present application. The present application is not limited to the above-described specific embodiments, and various modifications can be made within the scope of the technical idea thereof.

[0096] <Note 1>

[0097] A calibration device (100) that calibrates a detection result of an object by a sensor, characterized by comprising: a determination unit (101) that determines a range for changing a posture of a robot arm on which the sensor that detects the object or the object is mounted, based on a field of view size of the sensor and a size of the object; an acquisition unit (103) that repeatedly acquires a combination of information of the posture of the robot arm and the detection result of the object by the sensor in a change of the posture of the robot arm in the range determined by the determination unit; and a calibration unit (104) that performs calibration of a correspondence relationship between the posture of the robot arm and the detection result of the object based on a plurality of the combinations acquired by the acquisition unit.

[0098] <Note 2>

[0099] An automatic setting method of calibration, characterized by comprising, in an automatic setting method of calibration of a detection result of an object by a sensor: a determination step (S301, S701) that determines a range for changing a posture of a robot arm on which the sensor that detects the object or the object is mounted, based on a field of view size of the sensor and a size of the object; an acquisition step (S303, S703) that repeatedly acquires a combination of information of the posture of the robot arm and the detection result of the object by the sensor in a change of the posture of the robot arm in the range determined by the determination step; and a calibration step (S307, S708) that performs calibration of a correspondence relationship between the posture of the robot arm and the detection result of the object based on a plurality of the combinations acquired in the acquisition step.

[0100] Reference Signs

[0101] 100 calibration device; 101 action range determination section; 102 robot control section; 103 information acquisition section; 104 calibration section; 200 robot arm; 300 sensor; 400 object; 601 reliability calculation section; 801 action range recording section; 802 storage section.

Claims

1. A calibration device, calibrating based on the detection results of an object by a sensor, characterized in that, The calibration device has: The determining unit determines, based on the sensor's field of view and the object's dimensions, the range for changing the posture of the sensor mounted on the object or the robotic arm mounted on the object. The acquisition unit repeatedly acquires information about the posture of the robotic arm and a combination of the sensor's detection results of the object during changes in the posture of the robotic arm within the range determined by the determining unit. The calibration unit performs calibration based on multiple combinations acquired by the acquisition unit to determine the correspondence between the posture of the robotic arm and the detection results of the object; The calculation unit calculates the consistency between each position detected by the sensor on the surface of the object and each position represented by predetermined design data as the reliability of the detection result of the object. as well as The recording unit records the range of the robot arm's posture when the reliability reaches a predetermined threshold as the range in which the robot arm's posture can be changed after the calibration is performed in the storage unit.

2. The calibration device according to claim 1, characterized in that, The sensor or the object is mounted on the front end of the robotic arm. The determining unit determines the range for changing the position of the front end of the robotic arm as the range for changing the posture of the robotic arm.

3. The calibration apparatus according to claim 1 or 2, characterized in that, The sensor or the object is mounted on the front end of the robotic arm. The determining unit determines the range of the attitude of the front end of the robotic arm as the range of the attitude of the robotic arm.

4. The calibration apparatus according to claim 1 or 2, characterized in that, The detection result of the object includes the position of the object detected by the sensor.

5. The calibration apparatus according to claim 1 or 2, characterized in that, The detection result of the object includes the posture of the object detected by the sensor.

6. The calibration apparatus according to claim 1 or 2, characterized in that, The calibration unit performs the calibration based on combinations where the reliability is above a predetermined threshold among the plurality of combinations.

7. An automatic calibration setting method, comprising automatically setting calibration based on the detection results of an object by a sensor, characterized in that the automatic calibration setting method includes: The steps are defined to determine the range of poses for changing the sensor on which the object is detected or the robotic arm on which the object is mounted, based on the sensor's field of view and the object's dimensions. The acquisition step involves repeatedly acquiring information about the robot arm's posture and a combination of the sensor's detection results of the object during changes in the robot arm's posture within the range determined in the determination step. The calibration step involves calibrating the relationship between the posture of the robotic arm and the detection results of the object based on the multiple combinations obtained in the acquisition step. The calculation step involves calculating the consistency between each position detected by the sensor on the surface of the object and each position represented using predetermined design data, as the reliability of the detection results for the object. as well as The recording step involves storing the range of the robotic arm's posture when the reliability reaches a predetermined threshold as the range within which the robotic arm's posture can be changed after the calibration is performed.

8. A computer program product, characterized in that, The computer performs each step of the automatic calibration setting method as described in claim 7.

Citation Information

Patent Citations

  • Calibration device of visual sensor, method and program

    JP2018111166A

  • System and method for automatic hand-eye calibration of vision system for robot motion

    US20200238525A1