ROBOT CONTROL DEVICE, ROBOT CONTROL SYSTEM, AND ROBOT CONTROL METHOD

The robot control device and method address the challenge of setting the calibration range by using a control unit to generate a calibration position based on the actual field of view and spatial information, enabling efficient and accurate robot operation within designated spaces.

JP7660686B2Active Publication Date: 2025-04-11KYOCERA CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023540415
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-08-04
Filing Date
2022-08-04
Publication Date
2025-04-11
Estimated Expiration
2042-08-04

AI Technical Summary

Technical Problem

Existing robot control systems face challenges in efficiently setting the calibration range for robots to operate within their designated motion spaces, particularly in complex tasks like visual inspection, where a simple and effective calibration method is required.

Method used

The proposed robot control device and method include a control unit that acquires the actual field of view and spatial information from a spatial information acquisition unit, sets a predetermined first position, and generates a calibration position for the robot based on this information, allowing for automatic and efficient calibration without manual visual inspection.

Benefits of technology

This approach enables easy and accurate setting of the calibration range, allowing robots to operate effectively within their designated spaces, even in complex environments, thereby improving the efficiency and reliability of tasks such as visual inspection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007660686000001
    Figure 0007660686000001
  • Figure 0007660686000002
    Figure 0007660686000002
  • Figure 0007660686000003
    Figure 0007660686000003
Patent Text Reader

Abstract

This robot control device is provided with a control unit. The control unit acquires an actual field-of-view size from a space information acquisition unit capturing an image of an operating space for a robot, and space information from the space information acquisition unit, sets a predetermined first position on the basis of the actual field-of-view size and the space information, and generates a calibration position of the robot on the basis of the first position and the actual field-of-view size.
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to Japanese Patent Application No. 2021-128475 (filed August 4, 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, there is known an apparatus that sets a calibration range in advance in an image coordinate system (see, for example, Patent Document 1). [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2018-111166 A Summary of the Invention

[0005] A robot control device according to an embodiment of the present disclosure includes a control unit that controls a robot. The control unit acquires an actual field of view size of a spatial information acquisition unit that captures an operating space of the robot and spatial information of the spatial information acquisition unit. The control unit sets a predetermined first position based on the actual field of view size and the spatial information. The control unit generates a calibration position of the robot based on the first position and the actual field of view size.

[0006] A robot control system according to an embodiment of the present disclosure includes the robot control device, the robot, and the spatial information acquisition unit.

[0007] A robot control method according to an embodiment of the present disclosure includes a control unit that controls a robot acquiring an actual field of view size of a spatial information acquisition unit that captures an operating space of the robot and an image captured by the spatial information acquisition unit. The robot control method includes the control unit setting a predetermined first position based on the actual field of view size of the spatial information acquisition unit and the captured image. The robot control method includes the control unit generating a calibration position of the robot based on the first position and the actual field of view size of the spatial information acquisition unit. [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] 4 is a schematic diagram showing an example of FOV (Field Of View) of a spatial information acquisition unit. FIG. [Figure 4] FIG. 13 is a schematic diagram showing examples of candidate positions. [Diagram 5] 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] In order to set a calibration range within the operating range of the robot while avoiding areas in which the robot cannot operate, cumbersome tasks such as visual confirmation are required. A simple setting of the calibration range is required. According to a robot control device, a robot control system, and a robot control method according to an embodiment of the present disclosure, the calibration range can be set easily.

[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 on the depth measured for each measurement point. In other words, the depth information is information on 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 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 may be set as the same coordinate system as the (X, Y, Z) coordinate system, or may be set as a different coordinate system. When the (X_RB, Y_RB, Z_RB) coordinate system is set as a coordinate system different from the (X, Y, Z) coordinate system, the robot control device 10 converts the depth information generated in the (X, Y, Z) coordinate system by the spatial information acquisition unit 20 into the (X_RB, Y_RB, Z_RB) coordinate system 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 illustrated in FIG. 2, the spatial information acquisition unit 20 may photograph an object 50 present in the motion space. The spatial information acquisition unit 20 may be configured as a camera. The 3D stereo camera photographs the object 50 present in the motion space, calculates the distance to a measurement point located on the surface of the object 50 present in the motion space as the depth, and generates the depth information. The spatial information acquisition unit 20 may be configured as a 3D stereo camera. 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 present 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 acquisition unit 20 may output the spatial information 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 FOV70 (Field Of View) exemplified as a range of a two-dot chain line in FIG. 3. The FOV70 corresponds to the shooting range (angle of view) of the spatial information acquisition unit 20. The FOV70 is determined based on a central axis 70A of the spatial information acquisition unit 20, a viewing angle 71 in the depth direction, and a viewing angle 72 in the width direction. The central axis 70A can also be said to be a set of points located at the center of the FOV70 (angle of view). In FIG. 3, the shape of the FOV70 is a quadrangular pyramid. The shape of the FOV70 is not limited to a quadrangular pyramid and may be various other shapes. The FOV70 may include a central position 70C. The central position 70C is located on the central axis 70A. The central position 70C may be located at the center of the working range of the robot 40.

[0025] The spatial information acquisition unit 20 can capture an image of a range included in the FOV70. The size of the actual field of view of the spatial information acquisition unit 20 is determined based on the FOV70 of the spatial information acquisition unit 20 and the depth information. As described later, the robot control device 10 can acquire the position and orientation of the mark 46 of the robot 40 based on the size of the actual field of view of the spatial information acquisition unit 20 and an 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 orientation of the mark 46 based on the image by analyzing the image of the mark 46 using 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.

[0026] (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.

[0027] <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.

[0028] The control unit 11 may perform calibration by setting at least a part of the FOV70 illustrated in FIG. 3 as a calibration range. In this embodiment, the control unit 11 performs calibration in a calibration range 60 illustrated in FIG. 3. The calibration range 60 is also illustrated as a three-dimensional area indicated by a two-dot chain line in FIG. 2. The calibration range 60 corresponds to a range in which the 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 FOV70 overlap.

[0029] Moreover, the control unit 11 sets a point for performing calibration by moving the mark 46 of the robot 40 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 the 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 where the tip position and orientation is corrected.

[0030] 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.

[0031] 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.

[0032] <Creating calibration items> 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.

[0033] The control unit 11 generates control information for the robot 40 so as to move the robot 40 to the tip position and orientation specified at the calibration position. The control unit 11 generates information 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.

[0034] 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 specified by the sensor of the robot 40. Note that the control unit 11 may match the tip position and orientation specified by the sensor of the robot 40 with the tip position and orientation recognized by the recognition result of the mark 46.

[0035] The control unit 11 can set a calibration position by generating a calibration item. In other words, the calibration position corresponds to a position to which the robot 40 is moved in order to generate the calibration item. The control unit 11 can perform calibration by moving the robot 40 to the calibration position by applying the calibration item to the control of the robot 40.

[0036] The control unit 11 may generate the calibration positions as described below.

[0037] The control unit 11 acquires information on the real field of view size of the spatial information acquisition unit 20 or information on the FOV 70 from the spatial information acquisition unit 20. The control unit 11 sets the calibration range 60 based on the real field of view size or the FOV 70 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. 3, 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 a quadrangular pyramid shape and may be set to various other shapes. The calibration range 60 may be specified by a height (H) corresponding to the length in the direction along the central axis 70A of the spatial information acquisition unit 20, a depth (D) corresponding to the length in the depth direction of the base of the quadrangular pyramid, and a width (W) corresponding to the length in the width direction.

[0038] Here, the viewing angle 71 in the depth direction is represented by u [rad]. The viewing angle 72 in the width direction is represented by v [rad]. Also, the distance from the spatial information acquisition unit 20 to the center position 70C is represented by h. In this case, W and D can be calculated by the following formulas. W = 2 × h × tan(u / 2) D = 2 × h × tan(v / 2)

[0039] H may be determined appropriately based on the operation space of the robot 40. H may be determined based on the height of the object 50, for example.

[0040] The control unit 11 moves the robot 40 to a first position. The first position is set on the central axis 70A. The first position may be set in advance, for example. In this embodiment, the first position is set to, for example, the central position 70C. The control unit 11 generates control information for operating the robot 40 so that the position and orientation of the mark 46 based on the image of the mark 46 of the robot 40 become a predetermined tip position and orientation at the first position. The control unit 11 moves the robot 40 to the first position by controlling the robot 40 based on the control information. The first position may be the central position 70C of the FOV 70 exemplified in FIG. 3. 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. The control unit 11 generates a position that is a candidate for the calibration position within the calibration range 60 based on the tip position and orientation based on the image of the first position and the tip position and orientation based on the sensor.

[0041] The control unit 11 generates positions that are candidates for the calibration position within the calibration range 60. For example, as shown in FIG. 4, the control unit 11 generates a first candidate position (P1) to a ninth candidate position (P9) within the calibration range 60. The number of candidate positions is not limited to nine, and may be eight or less, or ten or more. The first candidate position (P1) is set to match the first position. The candidate positions such as P1 to P9 are also collectively referred to as second positions. The number of second positions (candidate positions) may be determined based on the number of grid intervals in each of the W direction, D direction, and H direction of the calibration range 60. The number of grid intervals indicates how many parts the calibration range 60 is divided into along that direction. In the example of FIG. 4, the number of grid intervals in the W direction (GW) is set to 2. The number of grid intervals in the D direction (GD) is set to 2. The number of grid intervals in the H direction (GH) is set to 1. In the example of FIG. 4, on the base of the quadrangular pyramid representing the calibration range 60, nine points (P1 to P9) including points (midpoints of sides) that divide the sides in the W direction and D direction into two and corners are set as second positions (candidate positions). P1 is set to the same point as the central position 70C. The coordinates of P2 to P9 are determined based on the coordinates of P1. When the coordinates of P1 are expressed as (P1X, P1Y, P1Z), the coordinates of P2 are expressed as (P1X-W / GW, P1Y-D / GD, P1Z). The coordinates of P3 are expressed as (P1X, P1Y-D / GD, P1Z). The coordinates of P4 are expressed as (P1X+W / GW, P1Y-D / GD, P1Z). The coordinates of P5 are expressed as (P1X-W / GW, P1Y, P1Z). The coordinates of P6 are expressed as (P1X+W / GW, P1Y, P1Z). The coordinates of P7 are expressed as (P1X-W / GW, P1Y+D / GD, P1Z). The coordinates of P8 are expressed as (P1X, P1Y+D / GD, P1Z). The coordinates of P9 are expressed as (P1X+W / GW, P1Y+D / GD, P1Z). In addition, on the top surface of the truncated pyramid representing the calibration range 60, nine points including the points (midpoints of the sides) that divide the sides in the W direction and D direction into two and the corners are set as second positions (candidate positions).

[0042] The control unit 11 estimates the state of the robot 40 when the robot 40 moves to a second position (candidate position) by simulating the operation of the robot 40. That is, the control unit 11 calculates the state of the robot 40 when it is assumed that the robot 40 moves to each second position (each candidate position). Then, the control unit 11 determines whether or not the robot 40 can be calibrated at each second position.

[0043] When the state of the robot 40 when it is assumed to move to the second position (candidate position) is a state where it is not in contact with the object 50, is a state within the joint motion range, and is not a singular point, the control unit 11 determines that calibration of the robot 40 is possible and registers the second position (candidate position) as a calibration position. When registering the second position (candidate position) as a calibration position, the control unit 11 generates, as a calibration item, information that specifies the tip position and orientation when the robot 40 is moved to the second position (candidate position) and the recognition result of the mark 46 of the robot 40. The control unit 11 may determine whether or not to register all of the second positions (candidate positions) as calibration positions at once. The control unit 11 may determine whether or not to register each second position (candidate position) as a calibration position. When a numerical value indicating an angle of a joint of the robot 40 is within the motion range, the control unit 11 may determine that the state of the robot 40 is not in a joint restriction state. The control unit 11 may determine that the state of the robot 40 is in the joint restricted state when the numerical value indicating the angle of the joint of the robot 40 is outside the range of motion.

[0044] 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).

[0045] 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.

[0046] 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.

[0047] (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. 5. 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.

[0048] The control unit 11 acquires information on the actual field of view size or FOV 70 of the spatial information acquisition unit 20 (step S1). The control unit 11 acquires spatial information of a captured image in which the mark 46 of the robot 40 is captured (step S2). The control unit 11 moves the robot 40 to a first position (step S3).

[0049] The control unit 11 calculates all candidate positions (step S4). The control unit 11 determines whether the robot 40 comes into contact with the object 50 in the operating space in a state of the robot 40 when it is assumed that the robot 40 is moved to each position calculated in the procedure of step S4 (step S5). If the robot 40 comes into contact with the object 50 when it is assumed that the robot 40 is moved to each position calculated in the procedure of step S4 (step S5: YES), the control unit 11 proceeds to the procedure of step S9. If the robot 40 does not come into contact with the object 50 when it is assumed that the robot 40 is moved to each position calculated in the procedure of step S4 (step S5: NO), the control unit 11 determines whether the robot 40 is in a state outside the joint motion range in a state of the robot 40 when it is assumed that the robot 40 is moved to each position calculated in the procedure of step S4 (step S6). If the robot 40 is outside the joint movable range when it is assumed that the robot 40 is moved to each position calculated in the procedure of step S4 (step S6: YES), the control unit 11 proceeds to the procedure of step S9. If the robot 40 is not outside the joint movable range when it is assumed that the robot 40 is moved to each position calculated in the procedure of step S4 (step S6: NO), the control unit 11 determines whether the robot 40 is in a singular point state in the state of the robot 40 when it is assumed that the robot 40 is moved to each position calculated in the procedure of step S4 (step S7). If the robot 40 is in a singular point state when it is assumed that the robot 40 is moved to each position calculated in the procedure of step S4 (step S7: YES), the control unit 11 proceeds to the procedure of step S9. If the robot 40 is not in a singular point state when it is assumed that the robot 40 is moved to each position calculated in the procedure of step S5 (step S7: NO), the control unit 11 can determine that even if the robot 40 moves to each position calculated in the procedure of step S5, it will not come into contact with the object 50, be outside the joint motion range, or be in a singular point state. The control unit 11 generates information that specifies the tip position and orientation when the robot 40 is moved to each position calculated in the procedure of step S4 and the recognition result of the mark 46 of the robot 40 as a calibration position (step S8).After completing the procedure of step S8, the control unit 11 ends the execution of the procedure of the flowchart in Fig. 5. In at least one of the following cases: when the robot 40 contacts the object 50 when it is assumed that the robot 40 is moved to each position calculated in the procedure of step S5 (step S5: YES), when the robot 40 is in a state outside the joint motion range (step S6: YES), or when the robot 40 is in a singular point state (step S7: YES), the control unit 11 does not register each position calculated in the procedure of step S4 as a calibration position (step S9). After completing the procedure of step S9, the control unit 11 ends the execution of the procedure of the flowchart in Fig. 5.

[0050] The control unit 11 may determine whether or not to register all the positions calculated in the procedure of step S4 as calibration positions collectively. The control unit 11 may determine whether or not to register each of the positions calculated in the procedure of step S5 as a calibration position.

[0051] (summary) As described above, according to the robot control device 10 and the robot control method of this embodiment, the calibration position is generated based on spatial information such as an image captured by the spatial information acquisition unit 20. In this way, the calibration position can be generated without visual inspection by an operator. In other words, the calibration position can be generated automatically. The calibration range 60 is a range that includes the calibration position. As a result, the calibration range 60 can be set easily.

[0052] Moreover, according to the robot control device 10 and the robot control method of the present embodiment, a simulation is performed based on the actual field of view size or FOV70 of the spatial information acquisition unit 20. Then, a calibration position can be generated based on the simulation so as to avoid collision with an obstacle such as the object 50 in the motion space of the robot 40. Also, a calibration position can be generated based on the simulation so as to prevent the robot 40 from being in a state outside the joint motion range. Also, a calibration position can be generated based on the simulation so as to prevent the robot 40 from being in a singular point state. In this way, a calibration position can be generated without actually moving the robot 40. As a result, a calibration position can be generated efficiently.

[0053] 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.

[0054] 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.

[0055] 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]

[0056] 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 FOV (70A: central axis, 70C: central position, 71: field of view in the depth direction, 72: field of view in the width direction)

Claims

1. A control unit for controlling the robot is provided, The control unit is Acquire a real field of view size of a spatial information acquisition unit that captures an operational space of the robot and spatial information of the spatial information acquisition unit including depth information of an object present in the operational space; setting a predetermined first position based on the actual field of view size and the spatial information; generating candidate positions for a calibration position of the robot based on the first position and the field of view size; Robot control device.

2. The control unit is Calculating a state of the robot assuming that the robot moves to the candidate position of the calibration position; determining whether the robot is calibrated; The robot control device according to claim 1 .

3. The control unit is Further calculating a position of an object present in the motion space based on the actual field of view size of the spatial information acquisition unit and the spatial information; moving the robot to the calibration position when the state of the robot is not in contact with an object present in the motion space, is not outside the range of motion of a joint, and is not a singular point; The robot control device according to claim 1 .

4. A robot control system comprising: the robot control device according to claim 1 ; the robot; and the spatial information acquisition unit.

5. A control unit that controls a robot acquires an actual field of view size of a spatial information acquisition unit that captures an operational space of the robot and spatial information of the spatial information acquisition unit including depth information of an object existing in the operational space; The control unit sets a predetermined first position based on the actual field of view size and the spatial information; the control unit generates candidate positions for a calibration position of the robot based on the first position and the actual field of view size; A robot control method comprising:

Citation Information

Patent Citations

  • Mechanical arm absolute positioning accuracy calibrating method and system based on genetic algorithm

    CN111195915A

  • Calibration device of visual sensor, method and program

    JP2018111166A

  • Robot control unit

    JP2018114578A

  • Method, constraining device and system for determining geometric properties of a manipulator

    US20200298403A1

  • Robot arm apparatus, calibration method, and program

    WO2015129473A1