ROBOT CONTROL DEVICE, ROBOT CONTROL SYSTEM, AND ROBOT CONTROL METHOD
The robot control device and method address the inefficiency of re-running calibration during abnormalities by using spatial information to determine calibration needs, thereby reducing workload and improving efficiency.
Patent Information
- Application Number
- JP2023540394
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-08-03
- Filing Date
- 2022-08-03
- Publication Date
- 2025-04-07
- Estimated Expiration
- 2042-08-03
AI Technical Summary
Conventional robot control systems require re-running calibration during abnormalities, increasing workload and inefficiency.
A robot control device and method that acquires measurement positions and results based on spatial information, determining whether to perform calibration to reduce workload during abnormalities.
The solution reduces the workload associated with abnormalities by efficiently determining the need for calibration based on measurement positions and results, thereby improving operational efficiency.
Smart Images

Figure 0007657936000001 
Figure 0007657936000002 
Figure 0007657936000003
Abstract
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to Japanese Patent Application No. 2021-127715 (filed August 3, 2021), the entire disclosure of which is incorporated herein by reference. [Technical field]
[0002] The present disclosure relates to a robot control device, a robot control system, and a robot control method. [Background technology]
[0003] Conventionally, a robot control system is known that performs abnormality diagnosis based on the position of a mark portion at the time of calibration (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2020-116717 A Summary of the Invention
[0005] A robot control device according to an embodiment of the present disclosure includes a control unit for controlling a robot, the control unit acquiring a measurement position of the robot to be moved, acquiring a measurement result of the position of the robot calculated based on spatial information related to a motion space of the robot acquired by a spatial information acquiring unit, and determining whether to calibrate the robot based on the measurement position and the measurement result.
[0006] A robot control system according to an embodiment of the present disclosure includes the robot control device and the robot.
[0007] A robot control method according to an embodiment of the present disclosure is executed by a control unit that controls a robot. The robot control method includes acquiring a measurement position of a destination of the robot. The robot control method includes acquiring a measurement result of the position of the robot based on spatial information related to a motion space of the robot acquired by a spatial information acquisition unit. The robot control method includes determining whether to perform calibration of the robot based on the measurement position and the measurement result. [Brief description of the drawings]
[0008] [Figure 1] 1 is a block diagram showing an example of the configuration of a robot control system according to an embodiment. [Diagram 2] FIG. 1 is a schematic diagram illustrating an example of the configuration of a robot control system according to an embodiment. [Diagram 3] 11A and 11B are schematic diagrams showing an example of a difference between a tip position and orientation based on a sensor and a tip position and orientation based on an image. [Figure 4] 1 is a flowchart illustrating an example of a procedure of a robot control method according to an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Performing calibration again when an abnormality occurs increases the workload. It is therefore desirable to reduce the workload when an abnormality occurs. According to a robot control device, a robot control system, and a robot control method according to an embodiment of the present disclosure, the workload when an abnormality occurs can be reduced.
[0010] (Overview of Robot Control System 1) As illustrated in FIG. 1 and FIG. 2, a robot control system 1 according to an embodiment includes a robot 40, a robot control device 10, and a spatial information acquisition unit 20. The robot 40 operates in a predetermined operating space. The spatial information acquisition unit 20 generates depth information of the operating space in which the robot 40 operates. As described later, the spatial information acquisition unit 20 calculates a distance to a measurement point located on the surface of an object 50 existing in the operating space. The distance from the spatial information acquisition unit 20 to the measurement point is also called a depth. The depth information is information about the depth measured for each measurement point. In other words, the depth information is information about the distance to a measurement point located on the surface of an object 50 existing in the operating space. The depth information may be expressed as a depth map that associates a direction as viewed from the spatial information acquisition unit 20 with a depth in that direction. The spatial information acquisition unit 20 generates depth information of the operating space based on an (X, Y, Z) coordinate system. The robot control device 10 operates the robot 40 based on the depth information generated by the spatial information acquisition unit 20. The robot control device 10 controls and operates the robot 40 based on the (X_RB, Y_RB, Z_RB) coordinate system.
[0011] The (X_RB, Y_RB, Z_RB) coordinate system is also referred to as the coordinate system of the robot 40. The (X, Y, Z) coordinate system is also referred to as the coordinate system of the spatial information acquisition unit 20. The coordinate system of the robot 40 may be set to be the same as the coordinate system of the spatial information acquisition unit 20, or may be set to be a different coordinate system. When the coordinate system of the robot 40 is set to be a different coordinate system from the coordinate system of the spatial information acquisition unit 20, the robot control device 10 converts the depth information generated in the coordinate system of the spatial information acquisition unit 20 into the coordinate system of the robot 40 for use.
[0012] The number of robots 40 and robot control devices 10 is not limited to one as illustrated, but may be two or more. The number of spatial information acquisition units 20 may be one for one operating space as illustrated, or may be two or more. Each component will be specifically described below.
[0013] <Robot control device 10> The robot control device 10 includes a control unit 11 and a storage unit 12 .
[0014] The control unit 11 may include at least one processor to realize various functions of the robot control device 10. The processor may execute a program to realize various functions of the robot control device 10. The processor may be realized as a single integrated circuit. The integrated circuit is also called an IC (Integrated Circuit). The processor may be realized as a plurality of integrated circuits and discrete circuits connected in a communicable manner. The processor may include a CPU (Central Processing Unit). The processor may include a DSP (Digital Signal Processor) or a GPU (Graphics Processing Unit). The processor may be realized based on various other known technologies.
[0015] The storage unit 12 may be configured to include an electromagnetic storage medium such as a magnetic disk, or may be configured to include a memory such as a semiconductor memory or a magnetic memory. The storage unit 12 may be configured as a hard disk drive (HDD) or a solid state drive (SSD). The storage unit 12 stores various information and programs executed by the control unit 11. The storage unit 12 may function as a work memory for the control unit 11. The control unit 11 may be configured to include at least a part of the storage unit 12.
[0016] The robot control device 10 may further include a communication device configured to be able to communicate with the spatial information acquisition unit 20 and the robot 40 in a wired or wireless manner. The communication device may be configured to be able to communicate using a communication method based on various communication standards. The communication device may be configured using known communication technology. Detailed descriptions of the hardware, etc. of the communication device will be omitted. The functions of the communication device may be realized by one interface, or may be realized by separate interfaces for each connection destination. The control unit 11 may be configured to be able to communicate with the spatial information acquisition unit 20 and the robot 40. The control unit 11 may be configured to include a communication device.
[0017] <Robot 40> 2, the robot 40 includes an arm 42, an end effector 44 attached to the arm 42, and a mark 46 provided on the end effector 44. Note that the mark 46 may be provided on the arm 42 instead of the end effector 44.
[0018] The arm 42 may be configured, for example, as a 6-axis or 7-axis vertical articulated robot. The arm 42 may be configured as a 3-axis or 4-axis horizontal articulated robot or SCARA robot. The arm 42 may be configured as a 2-axis or 3-axis Cartesian robot. The arm 42 may be configured as a parallel link robot or the like. The number of axes constituting the arm 42 is not limited to those exemplified.
[0019] The end effector 44 may include, for example, a gripping hand configured to grip a work object. The gripping hand may have multiple fingers. The number of fingers of the gripping hand may be two or more. The fingers of the gripping hand may have one or more joints. The end effector 44 may include a suction hand configured to suck the work object. The end effector 44 may include a scooping hand configured to scoop the work object. The end effector 44 may include a tool such as a drill and be configured to perform various processing such as drilling a hole in the work object. The end effector 44 is not limited to these examples and may be configured to perform various other operations.
[0020] The robot 40 can control the position of the end effector 44 by operating the arm 42. The end effector 44 may have an axis that is a reference for the direction in which it acts on a work object. If the end effector 44 has an axis, the robot 40 can control the direction of the axis of the end effector 44 by operating the arm 42. The robot 40 controls the start and end of the operation of the end effector 44 acting on the work object. The robot 40 can move or process the work object by controlling the operation of the end effector 44 while controlling the position of the end effector 44 or the direction of the axis of the end effector 44.
[0021] The robot 40 may further include a sensor that detects the state of each component of the robot 40. The sensor may detect the actual position or posture of each component of the robot 40, or information related to the speed or acceleration of each component of the robot 40. The sensor may detect a force acting on each component of the robot 40. The sensor may detect a current flowing through a motor that drives each component of the robot 40, or a torque of the motor. The sensor can detect information obtained as a result of the actual operation of the robot 40. The robot control device 10 can grasp the result of the actual operation of the robot 40 by acquiring the detection result of the sensor. In other words, the robot control device 10 can acquire the state of the robot 40 based on the detection result of the sensor.
[0022] The robot control device 10 recognizes the position of the mark 46 or the position of the end effector 44 on which the mark 46 is placed based on an image of the mark 46 captured by the spatial information acquisition unit 20. The robot control device 10 also recognizes the state of the robot 40 based on an image of the mark 46 captured by the spatial information acquisition unit 20. The robot control device 10 can calibrate the robot 40 by comparing the state of the robot 40 acquired based on the detection results of the sensor with the state of the robot 40 acquired based on the image capturing the mark 46.
[0023] <Spatial information acquisition unit 20> The spatial information acquisition unit 20 acquires spatial information related to the motion space of the robot 40. The spatial information acquisition unit 20 may photograph the motion space and acquire an image of the motion space as the spatial information. As exemplified in FIG. 2, the spatial information acquisition unit 20 may photograph an object 50 existing in the motion space. The spatial information acquisition unit 20 may be configured as a camera. The spatial information acquisition unit 20 may be configured as a 3D stereo camera. The 3D stereo camera photographs the object 50 existing in the motion space, calculates the distance to a measurement point located on the surface of the object 50 existing in the motion space as the depth, and generates the depth information. The spatial information acquisition unit 20 may be configured as a LiDAR (light detection and ranging). The LiDAR measures the distance to a measurement point located on the surface of the object 50 existing in the motion space, and generates the depth information. That is, the spatial information acquisition unit 20 may acquire the depth information of the motion space as the spatial information. The spatial information acquisition unit 20 may be configured as various devices without being limited to these. The spatial information acquisition unit 20 may acquire various kinds of information other than the image or depth information of the motion space as the spatial information. The spatial information acquisition unit 20 may include an imaging element. The spatial information acquisition unit 20 may further include an optical system. The spatial information acquisition unit 20 may output an image of the motion space captured to the robot control device 10. The spatial information acquisition unit 20 may generate depth information in the motion space of the robot 40 and output it to the robot control device 10. The spatial information acquisition unit 20 may generate point cloud information in the motion space of the robot 40 and output it to the robot control device 10. That is, the spatial information may be output in the form of point cloud data. In other words, the point cloud information may have spatial information. The point cloud information is information of a set of measurement points located on the surface of the object 50 existing in the motion space, and is information including coordinate information or color information of each measurement point. It can also be said that the point cloud information is data representing the object 50 in the measurement space by a plurality of points. Since the spatial information is in the form of point cloud data, the data density can be made smaller than that of spatial information based on the initial data acquired by the spatial information acquisition unit 20.
[0024] The spatial information acquisition unit 20 has a FOV (Field Of View). The FOV corresponds to the shooting range of the spatial information acquisition unit 20. The spatial information acquisition unit 20 can shoot the range included in the FOV. The actual field of view size of the spatial information acquisition unit 20 is determined based on the FOV of the spatial information acquisition unit 20 and the depth information. The robot control device 10 can acquire the position and posture of the mark 46 of the robot 40 based on the actual field of view size of the spatial information acquisition unit 20 and the image including the mark 46 of the robot 40 captured by the spatial information acquisition unit 20. Specifically, the robot control device 10 can calculate the position and posture of the mark 46 based on the image by analyzing the image of the mark 46 with a predetermined algorithm. The predetermined algorithm may include, for example, a formula or a table, or may include a program that specifies a calculation process. The predetermined algorithm may include a parameter for correcting a calculation result based on an image.
[0025] (Operation example of the robot control device 10) The robot control device 10 operates the robot 40 to act on a work target such as an object 50 present in the operating space, or to avoid the object 50. The robot control device 10 operates the robot 40 to act on or avoid the object 50, based on an image of the object 50 captured by the spatial information acquisition unit 20.
[0026] <Calibration> The control unit 11 of the robot control device 10 can acquire the state of the robot 40 based on the position and posture of the mark 46 captured in the image captured by the spatial information acquisition unit 20, and can acquire the positional relationship between the robot 40 and the object 50. On the other hand, the control unit 11 acquires the state of the robot 40 based on a sensor of the robot 40, such as an encoder installed on the arm 42, for example. The state based on the sensor of the robot 40 represents the position and posture of the robot 40 with higher accuracy than the state based on the image captured by the spatial information acquisition unit 20. Therefore, the control unit 11 can control the robot 40 with high accuracy in the operating space by matching the state of the robot 40 based on the image captured by the spatial information acquisition unit 20 with the state of the robot 40 based on the sensor of the robot 40. The task of matching the state of the robot 40 based on the image captured by the spatial information acquisition unit 20 with the state of the robot 40 based on the sensor of the robot 40 is also called calibration. Specifically, the control unit 11 performs calibration so as to match the (X, Y, Z) coordinate system of the spatial information acquisition unit 20 with the (X_RB, Y_RB, Z_RB) coordinate system of the robot 40. The control unit 11 may estimate a relative positional relationship between the coordinate system of the spatial information acquisition unit 20 and the coordinate system of the robot 40, and align the coordinate system of the spatial information acquisition unit 20 with the coordinate system of the robot 40 based on the estimated relative positional relationship.
[0027] The control unit 11 may perform calibration with at least a part of the FOV of the spatial information acquisition unit 20 as a calibration range 60. In this embodiment, the control unit 11 performs calibration in the calibration range 60 shown in FIG. 2. The calibration range 60 is shown as an area surrounded by a two-dot chain line in FIG. 2. The calibration range 60 corresponds to a range in which calibration of the robot 40 is performed. The calibration range 60 may include the working area of the robot 40. The calibration range 60 may be a range in which the working area of the robot 40 and the FOV overlap.
[0028] Moreover, the control unit 11 sets a point for performing calibration within the calibration range 60. The point for performing calibration is also referred to as a calibration position. The control unit 11 moves the mark 46 of the robot 40 to the calibration position and causes the spatial information acquisition unit 20 to photograph the mark 46. The control unit 11 calculates the position and orientation of the mark 46 based on the image of the mark 46. The control unit 11 corrects the position and orientation of the mark 46 based on the image so that the position and orientation of the mark 46 calculated based on the image coincide with the position and orientation of the mark 46 determined based on the detection result of the sensor of the robot 40. The correction of the position and orientation of the mark 46 based on the image corresponds to calibration. The position and orientation of the mark 46 are also referred to as the tip position and orientation. Calibration corresponds to the correction of the tip position and orientation. The calibration position corresponds to the position at which the tip position and orientation is corrected.
[0029] Specifically, the control unit 11 may perform the calibration as described below. The control unit 11 generates control information for the robot 40 for moving the mark 46 of the robot 40 to the calibration position. The control unit 11 operates the robot 40 based on the control information, and moves the mark 46 of the robot 40 to the calibration position. The control unit 11 acquires an image of the mark 46 from the spatial information acquisition unit 20. The control unit 11 calculates the position and orientation of the mark 46 based on the image. The position and orientation of the mark 46 calculated based on the image are also referred to as the tip position and orientation based on the image. The control unit 11 calculates the position and orientation of the mark 46 determined based on the detection result of the sensor of the robot 40. The position and orientation of the mark 46 calculated based on the detection result of the sensor are also referred to as the tip position and orientation based on the sensor. The control unit 11 compares the tip position and orientation based on the image with the tip position and orientation based on the sensor. The control unit 11 corrects the tip position and orientation based on the image so that the tip position and orientation based on the image coincides with the tip position and orientation based on the sensor. The control unit 11 may correct an algorithm for calculating the tip position and orientation based on an image. The control unit 11 may correct parameters included in the algorithm, or may correct a formula, a table, or a program. When multiple calibration positions are set, the control unit 11 moves the robot 40 to each calibration position, obtains an image of the mark 46 at each calibration position, and corrects the tip position and orientation based on the image.
[0030] In the above example, calibration is performed for the position and orientation of the mark 46, but the location where calibration is performed is not limited to the position and orientation of the mark 46. That is, the control unit 11 may store in advance the positional relationship between the position of the mark 46 and a calibration target part, which is a part of the robot 40 to be calibrated, and calculate the position and orientation of the calibration target part from the position and orientation of the mark 46 based on the image. Then, calibration can be performed by comparing the position and orientation of the calibration target part based on the detection result of the sensor of the robot 40 with the position and orientation of the mark 46. Therefore, calibration can be performed at a position and orientation other than the mark 46. In the above example, the calibration target part is the tip position and orientation of the robot 40, but the calibration target is not limited to the tip position and orientation of the robot 40 as long as the position and orientation can be calculated.
[0031] <<Calibration item>> Before performing calibration, the control unit 11 sets a calibration range 60 in advance. Furthermore, the control unit 11 sets a calibration position included in the calibration range 60. The control unit 11 sets the calibration position within the calibration range 60.
[0032] The control unit 11 generates control information for the robot 40 so as to move the robot 40 to the calibration position. The control unit 11 generates information for specifying the tip position and orientation when the robot 40 is moved to the calibration position and the recognition result of the mark 46 of the robot 40 as a calibration item. The calibration item is, for example, information related to coordinates. Specifically, the calibration item is, for example, coordinate information indicating the tip position and orientation based on the detection result of the sensor of the robot 40 when the robot 40 is moved to the calibration position, or coordinate information indicating the tip position and orientation based on the recognition result of the mark 46 recognized by the spatial information acquisition unit 20.
[0033] The control unit 11 may generate the calibration items as described below.
[0034] The control unit 11 acquires, for example, information on the size of the actual visual field of the spatial information acquisition unit 20 or information on the FOV from the spatial information acquisition unit 20. The control unit 11 sets the calibration range 60 based on the size of the actual visual field or the FOV of the spatial information acquisition unit 20 and the working area of the robot 40. The control unit 11 may set the calibration range 60 based on the position of the object 50 in the operating space of the robot 40. The control unit 11 may set the calibration range 60 based on the depth information or point cloud information of the object 50 detected by the spatial information acquisition unit 20. In FIG. 2, the shape of the calibration range 60 is set to a quadrangular pyramid shape. The shape of the calibration range 60 is not limited to this and may be set to various other shapes.
[0035] The control unit 11 matches the tip position and orientation of the robot 40 based on the sensor with the tip position and orientation based on the image of the spatial information acquisition unit 20. Specifically, the control unit 11 moves the robot 40 to a first position. The control unit 11 generates control information for operating the robot 40 so that the mark 46 of the robot 40 is at a predetermined position and orientation, and controls the robot 40 based on the control information to move the robot 40 to the first position. The first position may be a predetermined position included in the FOV of the spatial information acquisition unit 20. The first position may be, for example, the center position of the FOV of the spatial information acquisition unit 20. The control unit 11 acquires an image of the mark 46 when the robot 40 moves to the first position, and calculates the position and orientation of the mark 46 as the tip position and orientation based on the image. In addition, the control unit 11 calculates the tip position and orientation based on the sensor. Based on a comparison between the tip position and orientation based on the image and the tip position and orientation based on the sensor, the control unit 11 corrects the control information of the robot 40 so that the position of the robot 40 becomes the first position based on the detection result of the sensor in the image. The control unit 11 moves the robot 40 based on the corrected control information, thereby updating the state of the robot 40 so that the position of the robot 40 in the coordinate system of the robot 40 coincides with the position of the robot 40 in the coordinate system of the spatial information acquisition unit 20. In other words, it can be said that the control unit 11 updates the state of the robot 40 so that the position of the robot 40 becomes the first position in the image.
[0036] The control unit 11 may generate a position that is a candidate for the calibration position, different from the first position, within the calibration range 60. The position that is a candidate for the calibration position is also referred to as a second position. The second position is included in the calibration range 60. The control unit 11 estimates the state of the robot 40 when the robot 40 moves to the second position by simulating the operation of the robot 40. In other words, the control unit 11 calculates the state of the robot 40 when it is assumed that the robot 40 moves to the second position. As a result, the control unit 11 can determine whether the robot 40 can move to the second position.
[0037] When the state of the robot 40 when it is assumed to move to the second position is a state where the robot 40 is not in contact with the object 50, is within the range of motion of the joint, and is not a singular point, the control unit 11 registers the second position as a calibration position. When registering the second position as a calibration position, the control unit 11 may generate, as a plurality of calibration items, information that specifies each of the tip position and orientation based on the detection result of the sensor of the robot 40 when the robot 40 is moved to the second position and the tip position and orientation based on the recognition result of the mark 46 of the robot 40. When not registering the second position as a calibration position, the control unit 11 may generate a new second position that is a different position and determine whether the new second position can be registered as a calibration position. When the numerical value representing the angle of the joint of the robot 40 is within the range of motion, the control unit 11 may determine that the state of the robot 40 is not in the joint restricted state. When the numerical value representing the angle of the joint of the robot 40 is outside the range of motion, the control unit 11 may determine that the state of the robot 40 is in the joint restricted state.
[0038] A singularity corresponds to a posture where the robot 40 becomes uncontrollable structurally. If a singularity is included in the trajectory for moving the robot 40, the robot 40 moves (runs out of control) at high speed near the singularity and stops at the singularity. There are three types of singularities of the robot 40: (1) to (3) below. (1) A point outside the working area when controlling the robot 40 to be close to the outer limit of the working area. (The working area is an area corresponding to the operating space of the robot 40.) (2) Points when controlling the robot 40 directly above and directly below the robot base, even within the working area. (3) A point where the angle of the joint immediately before the tip joint of the arm 42 of the robot 40 becomes zero or 180 degrees (wrist alignment singular point).
[0039] The control unit 11 may determine that the state of the robot 40 is a singular point state when the numerical value representing the state of the robot 40 matches a numerical value representing a singular point state. The control unit 11 may determine that the state of the robot 40 is a singular point state when the difference between the numerical value representing the state of the robot 40 and the numerical value representing a singular point state is less than a predetermined value. The numerical value representing the state of the robot 40 may include, for example, the angle of the joint of the arm 42, or the torque of the motor that drives the robot 40.
[0040] As described above, the control unit 11 sets the calibration range 60, and sets a calibration position within the calibration range 60. Furthermore, the control unit 11 can generate a calibration item as information that specifies the tip position and orientation of the robot 40 and the recognition result of the mark 46 of the robot 40 when the robot 40 is moved to the calibration position.
[0041] <<Perform calibration>> The control unit 11 performs calibration so that the calibration item of the tip position and orientation related to the recognition result of the mark 46 matches the calibration item of the tip position and orientation related to the detection result of the sensor of the robot 40. Specifically, the control unit 11 moves the robot 40 to the calibration position. The control unit 11 acquires the recognition result of the mark 46 of the robot 40 when the robot 40 moves to the calibration position by the spatial information acquisition unit 20. The control unit 11 calculates the relative positional relationship of the calibration item of the tip position and orientation acquired as the recognition result of the mark 46 with respect to the calibration item of the tip position and orientation based on the sensor of the robot 40. The relative positional relationship corresponds to the difference in coordinates and the difference in angle between the two calibration items. The control unit 11 corrects the coordinate system of the spatial information acquisition unit 20 to match the coordinate system of the robot 40 so that the coordinate error and the angle error corresponding to the relative positional relationship with respect to the two calibration items are zero or close to zero (i.e., the error is less than a predetermined value). In this way, the control unit 11 can calculate the relative positional relationship by matching the recognition result of the mark 46 when the robot 40 moves to the calibration position with the tip position and orientation identified by the sensor of the robot 40.
[0042] Specifically, the control unit 11 executes the calibration to correct the (X, Y, Z) coordinate system of the spatial information acquisition unit 20 to coincide with the (X_RB, Y_RB, Z_RB) coordinate system of the robot 40. The control unit 11 may specify the relationship between the coordinate system of the spatial information acquisition unit 20 and the coordinate system of the robot 40 by executing the calibration.
[0043] <Responses when an abnormality occurs> As described above, the relationship between the coordinate system of the spatial information acquisition unit 20 and the coordinate system of the robot 40 is specified by calibration. In this embodiment, the coordinate system of the spatial information acquisition unit 20 and the coordinate system of the robot 40 coincide with each other. Here, the relationship between the coordinate systems may change due to various causes. The relationship between the coordinate systems may change when an abnormality occurs in the robot 40 or the robot control system 1. The relationship between the coordinate systems may change when the robot 40 is stopped or when the robot 40 is started up.
[0044] When the robot 40 that has been calibrated at least once is started normally or started to recover from an abnormality, the control unit 11 determines whether the coordinate system relationship specified by the calibration has changed. If the coordinate system relationship has not changed, the control unit 11 does not need to correct the coordinate system relationship or perform calibration. On the other hand, if the coordinate system relationship has changed when the robot 40 is started, the control unit 11 determines whether the coordinate system relationship can be corrected. If the coordinate system relationship can be corrected, the control unit 11 corrects the coordinate system relationship and does not perform calibration. If the coordinate system relationship cannot be corrected, the control unit 11 performs recalibration to newly specify the coordinate system relationship.
[0045] In other words, the necessity of calibration may be determined when the robot 40 stops or when the robot 40 is started. In addition, when the robot 40 stops, it is not limited to when it stops abnormally, but may be when it completes a designated task. In addition, when the robot 40 is started, it is not limited to when it starts after it stops abnormally, but may be when it starts a designated task.
[0046] When starting up a robot 40 that has performed calibration at least once, the control unit 11 determines whether the relationship between the coordinate system of the robot 40 and the coordinate system of the spatial information acquisition unit 20 has changed, as described below, and determines whether re-calibration is necessary.
[0047] The control unit 11 moves the robot 40 to a measurement position. The control unit 11 sets the measurement position to a point included in the calibration range 60. The measurement position may include, for example, a part of the calibration position. The measurement position may include, for example, a corner point of the calibration range 60. The measurement position may include, for example, the first position or the second position described above, or may include a position different from the first position and the second position. The measurement position may include a calibration position used in the previous calibration, or may include a position different from the previous calibration position. The control unit 11 may set, for example, a point inside the calibration range 60 as the measurement position. The control unit 11 is not limited to these points, and may set various points included in the calibration range 60 as the measurement position. The control unit 11 may acquire the measurement position of the movement destination of the robot 40.
[0048] The control unit 11 acquires the recognition result of the mark 46 when the robot 40 is moved to the measurement position. The control unit 11 calculates the position of the robot 40 as a measurement result based on the recognition result of the mark 46. The control unit 11 calculates the difference between the initial value of the measurement position and the measurement result. Since the control unit 11 moves the robot 40 to the measurement position based on the detection result of the sensor, it may calculate the difference between the set measurement position itself and the measurement result without calculating the position of the robot 40 based on the sensor. The control unit 11 may acquire the detection result of the sensor when the robot 40 is moved to the measurement position, calculate and acquire the position of the robot 40 based on the sensor as the measurement position from this detection result, and calculate the difference from the measurement result using the calculated measurement position as the initial value of the measurement position.
[0049] The control unit 11 determines whether to correct the relationship of the coordinate system based on the difference between the initial value of the measurement position and the measurement result. For example, the control unit 11 determines to correct the relationship of the coordinate system when the difference between the initial value of the measurement position and the measurement result is greater than a predetermined threshold. When the measurement results are acquired at a plurality of measurement positions, the control unit 11 determines to correct the relationship of the coordinate system when the difference between the initial value of at least one measurement position and its measurement result is greater than a predetermined threshold. The control unit 11 determines that correction of the relationship of the coordinate system and recalibration are not necessary when the difference between the initial value of the measurement position and the measurement result is equal to or less than a predetermined threshold. The control unit 11 may set the predetermined threshold as appropriate. The control unit 11 may set the predetermined threshold based on, for example, the specifications of the position accuracy during the operation of the robot 40.
[0050] When correcting the relationship between the coordinate systems, the control unit 11 may correct the coordinate system of the spatial information acquisition unit 20 so as to align the coordinate system of the robot 40 with the coordinate system of the spatial information acquisition unit 20. The control unit 11 may correct the coordinate system of the robot 40 so as to align the coordinate system of the robot 40 with the coordinate system of the spatial information acquisition unit 20.
[0051] Specifically, the control unit 11 may correct the coordinate system of the spatial information acquisition unit 20 or the coordinate system of the robot 40 by rotating or translating it. The control unit 11 may correct the coordinate system of the spatial information acquisition unit 20 or the coordinate system of the robot 40 by enlarging or shrinking it. The control unit 11 may correct distortion of the coordinate system of the spatial information acquisition unit 20 or the coordinate system of the robot 40. The control unit 11 may calculate a correction value for the measurement position based on the correction of the coordinate system.
[0052] The control unit 11 may acquire the tip position and orientation of the robot 40 at one measurement position, and based on information such as the rotation angle indicating the orientation of the mark 46, correct the coordinate system not only in the translation direction but also in the rotation direction.
[0053] A specific example of the change in the relationship of the coordinate systems will be described with reference to FIG. 3. It is assumed that a measurement position model 70 having the coordinates of the measurement positions as vertices is determined based on the (X_RB, Y_RB, Z_RB) coordinate system of the robot 40. The control unit 11 moves the robot 40 to each vertex (measurement position) of the measurement position model 70 to acquire the recognition result of the mark 46. It is assumed that when the recognition result of the mark 46 acquired based on the (X, Y, Z) coordinate system of the spatial information acquisition unit 20 is matched with the (X_RB, Y_RB, Z_RB) coordinate system of the robot 40, the calculated measurement result is represented by a measurement result model 72 having the coordinates of the measurement result as vertices. The measurement position model 70 corresponds to the set measurement position itself, or the initial value of the measurement position when the robot 40 is moved to the measurement position based on the detection result of the sensor. The measurement result model 72 corresponds to the measurement result when the recognition result of the mark 46 when the robot 40 is moved to the measurement position is matched with the (X_RB, Y_RB, Z_RB) coordinate system of the robot 40. The control unit 11 determines whether the relationship between the coordinate systems has changed based on a comparison between the measurement position model 70 and the measurement result model 72. In this embodiment, it is assumed that the coordinate system of the robot 40 and the coordinate system of the spatial information acquisition unit 20 coincide with each other through a calibration performed in advance. In the state illustrated in FIG. 3, the coordinate system of the spatial information acquisition unit 20 has changed in the rotational direction and the translational direction with respect to the coordinate system of the robot 40. The control unit 11 may correct the coordinate system of the spatial information acquisition unit 20 in the translational direction and the rotational direction so that the coordinate system of the spatial information acquisition unit 20 coincides with the coordinate system of the robot 40.
[0054] After correcting the relationship of the coordinate systems, the control unit 11 again moves the robot 40 to the corrected measurement position to obtain a measurement result. The corrected measurement position is also referred to as a corrected position. The measurement result obtained after correcting the relationship of the coordinate systems is also referred to as a corrected measurement result. When the difference between the corrected position and the corrected measurement result is equal to or less than a predetermined threshold, the control unit 11 determines that the relationship of the coordinate systems has returned to the relationship at the time of the previous calibration by the correction, and determines that recalibration of the robot 40 is not necessary. The control unit 11 updates the relative positional relationship based on the correction result of the relationship of the coordinate systems. Specifically, the control unit 11 may update the relative positional relationship based on the difference between the initial value of the measurement position and the corrected position.
[0055] If the difference between the corrected position and the post-correction measurement result is greater than a predetermined value, the control unit 11 determines that the relationship of the coordinate systems will not return to the relationship at the time of the previous calibration by the correction, and determines that recalibration of the robot 40 is necessary.
[0056] The above-described correction of the coordinate system may be performed when an abnormality occurs. Specifically, the correction of the coordinate system may be performed when the robot 40 is restarted after the robot 40 has stopped abnormally. The correction of the coordinate system may also be performed when the (X, Y, Z) coordinate system of the spatial information acquisition unit 20 changes due to the movement of the spatial information acquisition unit 20. The correction of the coordinate system may be performed not only when an abnormality occurs, but also when the robot 40 is started up.
[0057] (Example of robot control procedure) The control unit 11 of the robot control device 10 may execute a robot control method including the steps of the flowchart illustrated in Fig. 4 when starting up the robot 40 or when recovering from an abnormality. The robot control method may be realized as a robot control program executed by a processor constituting the control unit 11. The robot control program may be stored in a non-transitory computer-readable medium.
[0058] The control unit 11 acquires a measurement position (step S1). The control unit 11 moves the robot 40 to the measurement position (step S2). The control unit 11 acquires a recognition result of the mark 46 at the measurement position to which the robot 40 has moved (step S3). The control unit 11 determines whether recognition of the mark 46 has been completed at all measurement positions (step S4). If recognition of the mark 46 has not been completed at all measurement positions (step S4: NO), the control unit 11 returns to the procedure of step S2.
[0059] When the recognition of the mark 46 is completed at all measurement positions (step S4: YES), the control unit 11 judges whether the difference between the initial value of the measurement position and the measurement result is equal to or smaller than a predetermined threshold (step S5). When the difference between the initial value of the measurement position and the measurement result is equal to or smaller than a predetermined threshold (step S5: YES), the control unit 11 ends the execution of the procedure of the flowchart in FIG.
[0060] If the difference between the initial value of the measurement position and the measurement result is not equal to or less than the predetermined threshold (step S5: NO), that is, if the difference between the initial value of the measurement position and the measurement result is greater than the predetermined threshold, the control unit 11 corrects the coordinate system and calculates the corrected position (step S6). The control unit 11 moves the robot 40 to the corrected position (step S7). The control unit 11 obtains the recognition result of the mark 46 at the corrected position to which the robot 40 has moved, and obtains the corrected measurement result (step S8).
[0061] The control unit 11 determines whether the difference between the corrected position and the corrected measurement result is equal to or less than a predetermined threshold (step S9). If the difference between the corrected position and the corrected measurement result is equal to or less than the predetermined threshold (step S9: YES), the control unit 11 calculates a correction value based on the difference between the initial value of the measurement position and the measurement result, and updates the calibration value (step S10). The calibration value represents the relative positional relationship. After executing the procedure of step S10, the control unit 11 ends the execution of the procedure of the flowchart in FIG. 4.
[0062] If the difference between the corrected position and the corrected measurement result is not equal to or less than a predetermined threshold (step S9: NO), that is, if the difference between the correction value of the measurement position and the measurement result is greater than a predetermined threshold, the control unit 11 determines that recalibration of the robot 40 is necessary (step S11). After executing the procedure of step S11, the control unit 11 ends execution of the procedure of the flowchart in Fig. 4. The control unit 11 may execute recalibration of the robot 40 after executing the procedure of step S11.
[0063] (summary) As described above, according to the robot control device 10 and the robot control method of this embodiment, when the robot 40 is started up or when recovering from an abnormality, the coordinate system is corrected if the difference between the measurement position and the measurement result is greater than a predetermined threshold. Then, if the difference between the measurement position and the measurement result after the coordinate system is corrected is greater than the predetermined threshold, it can be determined that recalibration is necessary. Conversely, if the difference between the measurement position and the measurement result after the coordinate system is corrected is equal to or smaller than the predetermined threshold, it can be determined that recalibration is not necessary. In this way, the workload when an abnormality occurs can be reduced.
[0064] Although the embodiments of the present disclosure have been described based on the drawings and examples, it should be noted that those skilled in the art can make various modifications or alterations based on the present disclosure. Therefore, it should be noted that these modifications or alterations are included in the scope of the present disclosure. For example, the functions, etc. included in each component, etc. can be rearranged so as not to cause logical inconsistencies, and multiple components, etc. can be combined into one or divided.
[0065] All of the features described in this disclosure and / or all steps of any method or process disclosed herein may be combined in any combination except those combinations in which the features are mutually exclusive. Furthermore, each feature described in this disclosure may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly denied. Thus, unless expressly denied, each disclosed feature is merely one example of a generic series of the same or equivalent features.
[0066] Furthermore, the embodiments of the present disclosure are not limited to any of the specific configurations of the embodiments described above, but rather extend to any novel feature or combination of features described herein, or any novel method or process step or combination of features described herein. [Explanation of symbols]
[0067] 1. Robot Control System 10 Robot control device (11: control unit, 12: memory unit) 20 Spatial information acquisition section 40 Robot (42: Arm, 44: End effector, 46: Mark) 50 objects 60 Calibration Range 70 Measurement location model 72 Measurement Results Model
Claims
1. A control unit for controlling the robot is provided, The control unit is Acquire a measurement position of the destination of the robot; acquiring a measurement result of the position of the robot calculated based on spatial information related to the operation space of the robot acquired by a spatial information acquisition unit; determining whether to correct a relationship between a coordinate system of the spatial information acquisition unit and a coordinate system for controlling the robot based on the measurement position and the measurement result, and further determining whether to perform calibration of the robot; Robot control device.
2. The robot control device according to claim 1 , wherein the control unit corrects a coordinate system of the spatial information acquisition unit or a coordinate system for controlling the robot when a difference between the measurement position and the measurement result is greater than a predetermined threshold value.
3. The robot control device according to claim 2 , wherein the control unit corrects the coordinate system of the spatial information acquisition unit or the coordinate system for controlling the robot with respect to rotation, translation, enlargement, reduction, or distortion.
4. The control unit is moving the robot to a measurement position in the corrected coordinate system and calculating the position of the robot as a corrected measurement result; The robot control device according to claim 2 , further comprising: a step of: executing calibration of the robot when a difference between the measurement position and the corrected measurement result is equal to or greater than a predetermined value.
5. The robot control device according to claim 4 , wherein the control unit is capable of determining whether or not to re-execute the calibration for a robot that has undergone the calibration at least once among the robots.
6. A robot control system comprising: the robot control device according to any one of claims 1 to 4; and the robot.
7. A control unit that controls a robot acquires a measurement position of a destination of the robot, acquiring a measurement result of the position of the robot calculated based on spatial information related to a motion space of the robot acquired by a spatial information acquisition unit; determining whether to correct a relationship between a coordinate system of the spatial information acquisition unit and a coordinate system for controlling the robot based on the measurement position and the measurement result, and further determining whether to perform calibration of the robot; A robot control method comprising:
Citation Information
Patent Citations
Calibration device and method of robot
JP2009125857A
Robot control system
JP2020116717A