Robot tool deformation amount calculation device, robot tool deformation amount calculation system, and robot tool deformation amount calculation method
By installing the target to be measured at the mounting point of the robot tool and using a camera to acquire images to calculate the tool deformation, the problem of the failure to effectively consider the elastic deformation of the rigid body of the tool and robot in the existing technology is solved. This achieves high-precision tool deformation calculation, simplifies equipment and processes, and reduces costs.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- FANUC LTD
- Filing Date
- 2021-09-29
- Publication Date
- 2026-04-21
AI Technical Summary
Existing technologies fail to effectively consider the elastic deformation of the rigid body of the tool and robot when calculating the position of the tool tip, resulting in calculation errors and requiring expensive equipment and complicated procedures to determine the degree of elastic deformation of the tool.
By installing first and second targets at the robot tool mounting location, images are acquired using a camera, and the deformation of the tool and the robot is calculated. The deformation of the tool is calculated using a simple structure and method, including image acquisition, position calculation, and deformation parameter determination.
It enables high-precision calculation of the deformation of robot tools, simplifies equipment and processes, reduces costs, and improves calculation accuracy.
Smart Images

Figure CN116348252B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a tool deformation calculation device, a tool deformation calculation system, and a tool deformation calculation method for a robot. Background Technology
[0002] Previously, it was known that a target was fixed to the tool mounting surface, a camera photographed the mark on the target, and the position of the camera's gaze point in the mechanical interface coordinate system Σf and the position of the marked point in the robot coordinate system Σb were calculated (for example, see Patent Document 1).
[0003] Existing technical documents
[0004] Patent documents
[0005] Patent Document 1: Japanese Patent No. 4267005 Summary of the Invention
[0006] The problem the invention aims to solve
[0007] Industrial robots consist of several rigid body parts and joints for rotating these rigid body parts. The rigid body parts and joints elastically deform due to the weight of the tool mounted on the robot, the robot's own weight, or in relation to the robot's posture. When calculating the position of the tool tip based on the rotation angle of the joints, if the calculation is performed assuming that the rigid body parts and joints do not deform, the calculation result will contain an error corresponding to the elastic deformation. Therefore, there exists a technique to improve calculation accuracy by calculating the amount of elastic deformation of the robot and using this amount of elastic deformation when calculating the position of the robot's tool tip.
[0008] On the other hand, not only robots, but also tools mounted on them, such as servo welding guns and hands, undergo elastic deformation. Therefore, to accurately determine the position of the tool tip, it is necessary to determine the degree of elastic deformation. Furthermore, the degree of elastic deformation varies depending on the type of tool, so it is necessary to determine the degree of elastic deformation based on the type of tool to be used. However, this presents a problem: determining the degree of elastic deformation generally requires expensive 3D measuring machines such as laser trackers, involving complex procedures and high costs.
[0009] Regarding the technology described in the aforementioned patent document 1, a camera is used to photograph the target. During the robot's calibration, the errors of mechanism parameters such as the length of the connecting rod and the origin position of each drive shaft are calculated with high precision and automatically, and the mechanism parameters are corrected. However, since the target is fixed to the tool mounting surface, there is no consideration for calculating the degree of elastic deformation of the tool.
[0010] In one aspect, the objective is to provide a robot tool deformation calculation device, a robot tool deformation calculation system, and a robot tool deformation calculation method that can calculate the deformation of various tools installed on a robot through simple structural calculation.
[0011] Solution for solving the problem
[0012] The main purpose of this disclosure is as follows.
[0013] In one aspect of the present invention, a tool deformation calculation device for a robot includes: an image acquisition unit that acquires a first image obtained by photographing a first target and a second image obtained by photographing a second target, the first target being located at a tool mounting portion at the front end of the robot, and the second target being located at a predetermined position closer to the front end of the tool than the tool mounting portion; a first target position calculation unit that calculates the position of the first target based on the first image; a second target position calculation unit that calculates the position of the second target based on the second image; and a tool deformation calculation unit that calculates the deformation of the tool corresponding to the robot's posture based on the positions of the first and second targets.
[0014] Alternatively, the first target position calculation unit can calculate the position of the camera that captured the first image and the second image relative to the robot's coordinate system by calculating the position of the first target based on the first image.
[0015] Alternatively, the second target position calculation unit calculates the position of the second target relative to the robot's coordinate system based on the position of the second target relative to the camera's coordinate system calculated based on the second image, and the position of the camera's coordinate system relative to the robot's coordinate system. It also calculates the position and posture of the tool mounting unit relative to the robot's coordinate system based on the angles of the robot's joints, and calculates the position of the second target relative to the tool mounting unit based on the position of the second target relative to the robot's coordinate system and the position and posture of the tool mounting unit relative to the robot's coordinate system.
[0016] Alternatively, it may also include an elastic deformation parameter determination unit, which determines the elastic deformation parameters of the tool contained in the model formula by comparing the position of the second target relative to the tool mounting part calculated by the second target position calculation unit under multiple robot postures with the position of the second target relative to the tool mounting part obtained according to the model formula representing the elastic deformation of the tool. The tool deformation calculation unit calculates the deformation amount of the tool corresponding to the robot posture based on the model formula.
[0017] Alternatively, it may also include a tool position calculation unit that calculates the position of a specified part of the tool based on the amount of tool deformation.
[0018] Alternatively, it may also include a robot deformation calculation unit, which calculates the robot deformation corresponding to the robot's elastic deformation, and a tool position calculation unit, which calculates the position of a specified part based on the robot deformation and the tool deformation.
[0019] Alternatively, the specified part could be the front end of the tool.
[0020] In other embodiments of the present invention, the tool deformation calculation system for the robot comprises: a first target to be measured, located at a tool mounting portion at the front end of the robot; a second target to be measured, located at a position closer to the front end of the tool than the tool mounting portion; a camera disposed around the robot, generating a first image obtained by photographing the first target to be measured and a second image obtained by photographing the second target to be measured; and a tool deformation calculation device for calculating the deformation of the tool, wherein the tool deformation calculation device comprises: an image acquisition unit for acquiring the first image and the second image; a first target position calculation unit for calculating the position of the first target to be measured based on the first image; a second target position calculation unit for calculating the position of the second target to be measured based on the second image; and a tool deformation calculation unit for calculating the deformation of the tool corresponding to the robot's posture based on the positions of the first target to be measured and the positions of the second target to be measured.
[0021] In another aspect of the present invention, the method for calculating the tool deformation of a robot includes the following steps: acquiring a first image obtained by photographing a first target to be measured and a second image obtained by photographing a second target to be measured, the first target to be measured being located at a tool mounting part at the front end of the robot, and the second target to be measured being located at a position closer to the front end of the tool than the tool mounting part; calculating the position of the first target to be measured based on the first image; calculating the position of the second target to be measured based on the second image; and calculating the deformation of the tool corresponding to the robot's posture based on the positions of the first target to be measured and the positions of the second target to be measured.
[0022] The effects of the invention
[0023] According to the present invention, the following effects are achieved: a robot tool deformation calculation device, a robot tool deformation calculation system, and a robot tool deformation calculation method are provided, which can calculate the deformation of various tools installed on a robot through simple structural calculation. Attached Figure Description
[0024] Figure 1This is a schematic diagram of a robot system equipped with a tool deformation calculation device based on one implementation of the robot.
[0025] Figure 2 This is a schematic diagram showing the installation of a tool onto the tool mounting surface at the front end of a robot.
[0026] Figure 3 This is a schematic diagram of the control device.
[0027] Figure 4 It is a function block diagram of a processor related to the processing of the deformation of a computing tool and the calculation of the front-end position of the tool by taking into account the deformation of the tool.
[0028] Figure 5 This is a schematic diagram used to illustrate the parameters of the elastic deformation model.
[0029] Figure 6 This is a schematic diagram used to illustrate the parameters of the elastic deformation model.
[0030] Figure 7 This is a flowchart illustrating the process for calculating the tool deformation of the robot involved in this embodiment. Detailed Implementation
[0031] Hereinafter, several embodiments of the present invention will be described with reference to the accompanying drawings. However, these descriptions are intended to be merely illustrative of preferred embodiments of the invention and not to limit the invention to such specific embodiments.
[0032] Figure 1 This is a schematic structural diagram of a robot system 1000 equipped with a tool deformation calculation device based on one embodiment of the robot. The robot system 1000 is one embodiment of a robot tool deformation calculation system, and includes a robot 100, a tool 200 mounted on the front end of the robot 100, a control device 300 for controlling the robot 100 and the tool 200, a display device 400, a teach pendant 500, and a camera 600.
[0033] Robot 100 is, for example, a multi-joint robot, having a base 102, a turntable 104, a first arm 106, a second arm 108, and a wrist 110. The turntable 104, the first arm 106, the second arm 108, and the wrist 110 are supported by axes provided at the joints where they are mounted, and move by axes driven by servo motors.
[0034] When the robot 100 is placed on the ground 1, the base 102 serves as a base. The rotary table 104 is mounted on the top surface of the base 102 in such a way that it can rotate about an axis that is orthogonal to the top surface of the base 102 via the joint 112.
[0035] One end of the first arm 106 is mounted to the rotary table 104 via a joint 114 disposed on the rotary table 104. In this embodiment, as... Figure 1 As shown, the first arm 106 can rotate about an axis that is parallel to the surface of the mounting turntable 104 of the base 102 via the joint 114.
[0036] The second arm 108 is mounted to the first arm 106 at one end via a joint 116 located on the opposite end of the first arm 106 to the joint 114. In this embodiment, as... Figure 1 As shown, the second arm 108 can rotate about an axis that is parallel to the surface of the mounting turntable 104 of the base 102 via the joint 116.
[0037] The wrist 110 is mounted on the front end of the second arm 108, opposite to joint 116, via joint 118. The wrist 110 has joint 120, allowing it to bend about an axis parallel to the axes of joint 114 and joint 116. Alternatively, the wrist 110 can rotate about an axis parallel to the long side of the second arm 108 in a plane orthogonal to the long side of the second arm 108, via joint 118.
[0038] The tool 200 is mounted on a tool mounting surface (tool mounting portion) 122 at the front end of the wrist 110 opposite to the joint 118. The tool 200 has a mechanism or device for performing operations on the workpiece W. For example, the tool 200 may have a laser for machining the workpiece W, or a servo welding torch for welding the workpiece W. Alternatively, the tool 200 may also have a hand mechanism for holding the workpiece W or assembling components onto the workpiece W.
[0039] The control device 300 is one type of tool deformation calculation device for the robot. The control device 300 is connected to the robot 100 via a communication line 302, and receives information from the robot 100 via the communication line 302, including information on the motion status of servo motors that drive axes installed on the joints of the robot 100. Additionally, the control device 300 is connected to a camera 600 via a communication line 304, and receives images captured by the camera 600 via the communication line 302. Furthermore, the control device 300 controls the servo motors based on the received information and information on the robot 100's motion received from a higher-level control device (not shown) or pre-set information, thereby controlling the position and posture of each movable part of the robot 100, and controlling the tool 200 or the camera 600.
[0040] The display device 400 is, for example, a liquid crystal display (LCD). The display device 400 displays images being captured by the camera 600, past images stored in the memory 330, and images that have undergone image processing, etc., as needed, based on instructions from the control device 300.
[0041] The teach pendant 500 is a device with a standard display function. The operator manually operates the teach pendant 500 to create, modify, register, or set various parameters of the robot 100's motion program. In addition, it can replay the taught motion program and perform easing control. Furthermore, when calculating the deformation of the tool 200, the operator can input camera parameters representing information related to the camera 600 being used. The system program supporting the basic functions of the robot 100 and the control device 300 is stored in the ROM of the control device 300's memory 330, described later. Additionally, the robot's motion program (e.g., a spot welding program) taught according to the application program, along with associated setting data, is stored in the non-volatile memory of the memory 330.
[0042] The camera 600 is mounted on the ground 1 via a base, tripod, etc., and its position and orientation are designed to remain unchanged until the processing described in this embodiment is completed. The camera 600 has a two-dimensional detector composed of an array of photoelectric conversion elements sensitive to visible light, such as CCD or C-MOS, and an imaging optical system that images the area to be photographed onto this two-dimensional detector. The camera 600 is oriented towards a direction that includes either a first target 10 mounted on the tool mounting surface 122 or a second target 20 mounted on the front end 202 of the tool 200 within its shooting range. Furthermore, the camera 600 generates an image of the first target 10 or the second target 20 within the shooting range by capturing images of the shooting range containing the first target 10 or the second target 20 at predetermined shooting cycles. Each time an image is generated, the camera 600 outputs the generated image to the control device 300 via the communication line 304.
[0043] like Figure 1 As shown, the robot system 1000 includes a coordinate system (hereinafter referred to as the robot coordinate system) Σb fixed to the robot base, a coordinate system (hereinafter referred to as the tool mounting surface coordinate system) Σf fixed to the tool mounting surface 122, and a coordinate system (hereinafter referred to as the light receiving device coordinate system) Σv representing the line of sight from a representative point (e.g., the center of the light receiving surface) of the camera 600 toward the first or second target to be measured, such as the target 10 or 20. Within the control device 300, the position and orientation of the origin of the tool mounting surface coordinate system Σf can be determined at any time based on the specifications of the robot 100, such as the joint angles and arm lengths.
[0044] Figure 2 This is a schematic diagram showing the installation of a tool 200 on the tool mounting surface 122 at the front end of the robot 100. For various operations on the workpiece W on the ground 1, different tools 200 are installed on the tool mounting surface 122 in a replaceable manner depending on the operation.
[0045] The tools 200 mounted on the robot 100 undergo elastic deformation or other deformations relative to the tool mounting surface 122 due to their own weight. In particular, when a relatively large and heavy tool 200, such as a servo welding gun for spot welding, is mounted on the tool mounting surface 122, the deformation of the tool 200 is relatively large. When working on the workpiece W, the position of the tip 202 of the tool 200 (the position of the point of action relative to the workpiece W) is calculated. However, in order to calculate the position of the tip 202 of the tool 200 with high accuracy, it is preferable to calculate the position of the tip 202 taking into account the degree of deformation of the tool 200. Therefore, the robot system 1000 according to this embodiment can calculate the deformation amount of each tool 200 mounted on the tip of the robot 100.
[0046] To calculate the deformation of various tools 200, a first target 10 is mounted on the tool mounting surface 122 at the front end of the robot 100. A second target 20 is mounted at a predetermined position closer to the front end of the tool 200 than the tool mounting surface 122. Hereinafter, the example of the second target 20 being mounted at the front end 202 of the tool 200 is given, but this embodiment is not limited to this; the second target 20 can be mounted at any position closer to the front end of the tool 200 than the tool mounting surface 122. The first target 10 and the second target 20 are, for example, flat, and include a circular or cross-shaped mark as a target for detecting the first target 10 or the second target 20 based on an image. Unless otherwise specified, the first target 10 refers to this mark. The same applies to the second target 20.
[0047] When a user wants to use a specific tool 200, in order to calculate the deformation of the tool 200 or to take into account the position of the front end 202 of the tool 200, the user can also install the first target 10 and the second target 20 themselves. Therefore, the first target 10 and the second target 20 can also be made of a label, paper, or the like with an adhesive layer. On the other hand, the first target 10 and the second target 20 can also be pre-installed on the tool mounting surface 122 or the front end 202 of each tool 200.
[0048] Figure 3 This is a schematic diagram of the control device 300. The control device 300 includes a communication interface 310, a drive circuit 320, a memory 330, and a processor 340. The communication interface 310 includes, for example, a communication interface for connecting the control device 300 to a communication line 302 or a communication line 304, and circuitry for performing processing related to the transmission and reception of signals via the communication line 302 or the communication line 304. Furthermore, the communication interface 310 receives, for example, information indicating the operating status of the servo motor 130, such as a measured value of the rotation amount from an encoder used to detect the rotation amount of the servo motor 130, from the robot 100 via the communication line 302, and transfers this information to the processor 340. Additionally, in... Figure 3 In the diagram, a representative servo motor 130 is shown, but the robot 100 may have a servo motor for each joint, which drives the axis of that joint.
[0049] Additionally, the communication interface 310 receives images generated and output by the camera 600 via the communication line 304 and hands the images over to the processor 340. Furthermore, the communication interface 310 includes interface circuitry for connecting the processor 340 to the display device 400 or the teach pendant 500, and circuitry for performing processing related to the transmission and reception of signals with the teach pendant 500 or the display device 400.
[0050] The drive circuit 320 is connected to the servo motor 130 via a cable for supplying current, and supplies the servo motor 130 with power corresponding to the torque, direction of rotation or speed of rotation to be generated by the servo motor 130 according to the control performed by the processor 340.
[0051] The memory 330 may include, for example, read-write semiconductor memory (RAM), read-only semiconductor memory (ROM), and non-volatile memory. Furthermore, the memory 330 may also include a storage medium such as a semiconductor memory card, a hard disk, or an optical storage medium, as well as a device for accessing that storage medium.
[0052] The memory 330 stores various computer programs executed by the processor 340 of the control device 300 for controlling the robot 100. Additionally, the memory 330 stores information for controlling the robot 100's movements when it is being manipulated. Furthermore, the memory 330 stores information obtained from the robot 100 during its movements indicating the operating status of the servo motor 130. The memory 330 also stores various data used in the deformation calculation processing of the tool 200. This data includes camera parameters such as the focal length, mounting position, and orientation of the camera 600, images obtained from the camera 600, and information related to the robot 100's specifications, such as the length of the first arm 106 or the second arm 108.
[0053] Figure 4 This is a function block diagram of a processor 340 related to the processing of calculating the position of the front end of the tool 200 by considering the deformation of the tool 200. The processor 340 acquires an image of a first target 10 and an image of a second target 20, calculates the position of the first target based on the image of the first target 10, and calculates the position of the second target 20 based on the image of the second target 20.
[0054] When the positions of the first target 10 and the second target 20 are calculated, the deformation of the tool 200 can be calculated based on their relative positions. Therefore, when the deformation of the tool 200 is determined based on the relative positions of the first target 10 and the second target 20 under multiple postures of the robot 100, the deformation of the tool 200 can be calculated under any posture of the robot 100.
[0055] More specifically, the processor 340 calculates an elastic deformation parameter representing the degree of elastic deformation of the tool 200 based on the deformation of the tool 200 calculated under multiple postures of the robot 100. When the elastic deformation parameter is calculated, the deformation of the tool 200 corresponding to any posture of the robot 100 can be calculated. Furthermore, when the deformation of the tool 200 corresponding to any posture of the robot 100 can be calculated, the front end position of the tool 200 is determined with high precision by considering the deformation of the tool 200.
[0056] Furthermore, the processor 340 calculates the amount of elastic deformation of the robot 100, and calculates the front end position of the tool based on the deformation of the robot 100 and the deformation of the tool 200. This allows for a more precise determination of the front end position of the tool 200.
[0057] The following details the processing performed by processor 340. For example... Figure 4 As shown, the processor 340 includes an image acquisition unit 341, a first target position calculation unit 342, a second target position calculation unit 343, an elastic deformation parameter determination unit 344, a tool deformation calculation unit 345, a robot deformation calculation unit 346, and a tool tip position calculation unit 347. These units of the processor 340 are, for example, functional modules implemented by a computer program executed on the processor 340. Alternatively, these units may be implemented as dedicated arithmetic circuits mounted as a part of the processor 340.
[0058] The image acquisition unit 341 of the processor 340 acquires the image of the first target 10 generated by the camera 600. Additionally, the image acquisition unit 341 acquires the image of the second target 20 generated by the camera 600.
[0059] The first target position calculation unit 342 of the processor 340 detects the first target 10 by performing image processing such as template matching on an image of the first target 10 presented, or by inputting an image into a recognizer that has undergone machine learning for target detection. Then, the first target position calculation unit 342 calculates the position of the first target 10 based on the image of the first target 10 presented, and calculates the position and pose of the light-receiving device coordinate system Σv relative to the robot coordinate system Σb. Therefore, the first target position calculation unit 342 also functions as a light-receiving device coordinate system calculation unit.
[0060] The first target position calculation unit 342 calculates the position of the light-receiving device coordinate system Σv relative to the robot coordinate system Σb using, for example, the method described in Japanese Patent No. 419180. Since this method is known, its summary will be described here. First, the robot 100 is translated so that the first target 10 in the image aligns with the center point of the light-receiving surface (CCD array) of the camera 600, and the position Qf1 of the tool mounting surface coordinate system Σf in the robot coordinate system Σb is calculated. Next, after translating the robot 100 to a position where the distance between the first target 10 and the camera 600 is different, the first target 10 in the image aligns with the center point of the light-receiving surface, and the position Qf2 of the tool mounting surface coordinate system Σf in the robot coordinate system Σb is calculated. When the direction of the line of sight of the camera 600 connecting Qf1 and Qf2 is determined, after the robot 100 is moved to a position where Qf1 is rotated 180 degrees around an axis parallel to the direction of the line of sight and passing through the origin of the tool mounting surface coordinate system Σf, the robot 100 is translated to align the center point of the first target 10 in the image with the center point of the light-receiving surface of the camera 600. The position Qf3 of the tool mounting surface coordinate system Σf on the robot coordinate system Σb is then calculated. The midpoint between Qf1 and Qf3 is then determined as the origin of the light-receiving device coordinate system Σv. By determining the direction of the line of sight of the camera 600 and the origin position of the camera 600, the position and orientation of the light-receiving device coordinate system Σv relative to the robot coordinate system Σb are determined. Furthermore, the positions of Qf1, Qf2, and Qf3 on the robot coordinate system Σb are calculated based on the specifications of the robot 100, such as the joint angles and arm lengths. Furthermore, the origin of the coordinate system Σv of the light-receiving device can be set at any position on the line of sight of the camera 600. However, it is preferable to set it at a position that is far away from the first target 10, at a distance from the focal length of the camera 600, from the position where the size of the first target 10 on the light-receiving surface of the camera 600 is consistent with the actual size of the first target 10.
[0061] When the first target 10 is mounted on a potentially deformable tool 200, the position of the first target 10 is affected by the elastic deformation of the tool 200, making it impossible to accurately determine the position and orientation of the light-receiving device coordinate system Σv relative to the robot coordinate system Σb. In this embodiment, by mounting the first target 10 on the tool mounting surface 122, the position and orientation of the light-receiving device coordinate system Σv relative to the robot coordinate system Σb can be determined with high precision.
[0062] In addition, by simply mounting the first target to be measured 10 on the tool mounting surface 122 and setting any camera 600 on the ground 1, the user can easily determine the position and orientation of the light-receiving device coordinate system Σv relative to the robot coordinate system Σb.
[0063] The second target position calculation unit 343 of the processor 340 calculates the position of the second target 20 mounted on the front end 202 of the tool 200 relative to the tool mounting surface coordinate system Σf based on an image of the second target 20 presented, thereby calculating the position of the front end 202 of the tool 200. The second target 20 presented in the image includes positional deviations caused by deformation of the tool 200; therefore, by calculating the position of the second target 20 based on the image of the second target 20 presented, the position of the front end 202 of the tool 200, including the effects of deformation of the tool 200, is calculated.
[0064] To perform this processing, the second target position calculation unit 343 includes: a second target position calculation unit 343a, which calculates the position of the second target 20 relative to the robot coordinate system Σb; a tool mounting surface position calculation unit 343b, which calculates the position and orientation of the tool mounting surface coordinate system Σf relative to the robot coordinate system Σb; and a tool tip position calculation unit 343c, which calculates the position of the tip 202 of the tool 200 relative to the tool mounting surface coordinate system Σf.
[0065] The second target position calculation unit 343a calculates the position of the second target 20 relative to the light-receiving device coordinate system Σv using a known pinhole camera model as follows: First, the second target 20 is detected in the image by performing image processing such as template matching on the image presenting the second target 20, or by inputting the image into a recognizer that has undergone machine learning for target detection. Then, for the detected second target 20, the position (Vt, Hz) and size (dimension) Sz of the second target 20 in the image are obtained. Furthermore, the distance and size in the image can be measured, for example, based on how many squares of "pixels". At this time, the XY plane with the center of the image as the origin is set, and the coordinate values of the second target 20 are set as the position (Vt, Hz) in the image. Furthermore, the units of Vt, Hz, and Sz are set to mm.
[0066] Then, the second target position calculation unit 343a sets the focal length of the camera 600 to f (mm) and the actual size of the second target 20 to S0, and calculates the position (X) of the second target 20 relative to the light receiving device coordinate system Σv according to the following formulas (1) to (3). v Y v Z v Furthermore, the values of focal length f and S0 are assumed to be known.
[0067] X v =Vt×(SO / Sz)···(1)
[0068] Y v =Hz×(SO / Sz)···(2)
[0069] Z v =f×(SO / Sz)···(3)
[0070] The position (X) of the second measured target 20 is obtained here. v Y v Z v The position of the target 20 relative to the light-receiving device coordinate system ∑v is calculated. On the other hand, the first target position calculation unit 342 calculates the position and orientation of the light-receiving device coordinate system ∑v relative to the robot coordinate system ∑b. Therefore, the second target position calculation unit 343a calculates the position (X) of the second target 20 relative to the light-receiving device coordinate system ∑v. v Y v Z v The position (X) of the second target 20 relative to the robot coordinate system ∑b is calculated using the position and pose of the light-receiving device coordinate system Σv relative to the robot coordinate system ∑b. b Yb Z b Therefore, the position (X) of the second target 20 relative to the coordinate system Σv of the light-receiving device is determined. v Y v Z v The coordinates are transformed to the position (X) of the second measured target 20 relative to the robot coordinate system ∑b. b Y b Z b ).
[0071] The second target position calculation unit 343a performs the above processing on multiple images generated by the camera 600 while changing the posture of the robot 100. Therefore, based on the multiple postures (P1, P2, ..., P...), the target position calculation unit 343a calculates the target position. N The image of the second measured target 20 is presented accordingly to calculate the pose of the robot 100 as P. i The position (X) of the second measured target 20 relative to the robot coordinate system ∑b in the case of (i = 1, 2, ..., N (N is a natural number)) is given. b Y b Z b ).
[0072] The tool mounting surface position calculation unit 343b calculates the position and orientation of the tool mounting surface coordinate system Σf relative to the robot coordinate system Σb. The tool mounting surface position calculation unit 343b calculates the position and orientation of the tool mounting surface coordinate system Σf relative to the robot coordinate system Σb based on the angles of each joint of the robot 100 and the specifications of the robot 100, such as the lengths of the first arm 106 and the second arm 108. Furthermore, the angles of each joint of the robot 100 are obtained from an encoder used to detect the rotation amount of the servo motors driving the axes of each joint. Additionally, the specifications of the robot 100, such as the lengths of the first arm 106 and the second arm 108, are pre-stored in the memory 330.
[0073] The tool tip position calculation unit 343c calculates the position of the tip 202 of the tool 200 relative to the tool mounting surface coordinate system Σf by calculating the position of the second target 20 relative to the tool mounting surface coordinate system Σf. The tool tip position calculation unit 343c calculates the position (X) of the second target 20 relative to the robot coordinate system Σb based on the position (X) of the second target 20 relative to the robot coordinate system Σb calculated by the second target position calculation unit 343a. b Y b Z b The tool mounting surface coordinate system Σf, calculated by the tool mounting surface position calculation unit 343b, relative to the robot coordinate system Σb, is used to calculate the robot's pose P. iThe position of the second measured target 20 relative to the tool mounting surface coordinate system Σf in the case of (i = 1, 2, ..., N), that is, the position of the front end 202 of the tool 200 (X f Y f Z f Therefore, the position (X) of the second target 20 relative to the robot coordinate system Σb is determined. b Y b Z b The coordinates are transformed to the position (X) of the front end 202 of tool 200 relative to the tool mounting surface coordinate system Σf. f Y f Z f ).
[0074] The position (X) of the front end 202 of tool 200 relative to the tool mounting surface coordinate system Σf is calculated as described above. f Y f Z f The value is calculated based on an image captured by camera 600 of the second target 20, and therefore includes the elastic deformation of the tool 200 corresponding to the posture of robot 100. Thus, for the robot's posture P... i For each case (i = 1, 2, ..., N), calculate the position (X) of the front end 202 of the tool 200, which includes the effect of the elastic deformation of the tool 200. f Y f Z f Furthermore, assuming that tool 200 does not deform, the position (X) of the front end 202 of tool 200 relative to the tool mounting surface coordinate system Σf. f Y f Z f In N poses P i The value remains the same for any orientation (i = 1, 2, ..., N). However, when tool 200 deforms, the position (X) of the front end 202 of tool 200 relative to the tool mounting surface coordinate system Σ... f Y f Z f It varies depending on the posture of tool 200.
[0075] The elastic deformation parameter determination unit 344 of the processor 340 calculates the position (X) of the front end 202 of the tool 200 relative to the tool mounting surface coordinate system ∑f, which includes the effect of the elastic deformation of the tool 200, based on the position calculation unit 343 of the second measured target. f Y f Z fThe elastic deformation parameter determination unit 344 determines the value of the elastic deformation parameter α, which represents the degree of elastic deformation of the tool 200, using the elastic deformation model expressed by the following equations (4) to (6).
[0076] X m =α×sinθ×cosφ···(4)
[0077] Y m =α×sinθ×sinφ···(5)
[0078] Z m =Z0···(6)
[0079] In equations (4) to (6), X m Y m Z m In the elastic deformation model, the position (coordinate value) of the front end 202 of the tool 200 of the robot 100 relative to the tool mounting surface coordinate system ∑f is represented by the tool front end position calculation unit 343c. f Y f Z f In addition, (X) m Y m Z m ) and (X f Y f Z f The unit is set to [mm].
[0080] Regarding the elastic deformation parameter α in equations (4) and (5), which represents the degree of elastic deformation of tool 200, the more easily tool 200 flexes, the larger the value of the elastic deformation parameter α. If it is assumed that tool 200 does not flex, then the value of the elastic deformation parameter α is 0.
[0081] Furthermore, in equations (4) and (5), θ represents the angle at which tool 200 tilts from its reference posture relative to the direction of gravity (the Z-axis direction of the robot coordinate system ∑b). The unit of θ is degrees (deg), and 0 ≤ θ ≤ 90°. Additionally, in equations (4) and (5), φ is the angle at which tool 200 tilts, representing the tilt angle as observed from the tool mounting surface coordinate system ∑f. The unit of φ is also degrees (deg), and 0 ≤ φ ≤ 90°.
[0082] Figure 5 and Figure 6 This is a schematic diagram used to illustrate the parameters in equations (4) to (6). Figure 5 This shows the reference posture of tool 200 without tilting. Figure 5and Figure 6 In this context, tool 200 is assumed to be cylindrical, and in the reference posture, the axis of the cylinder of tool 200 is aligned with the direction of gravity. Furthermore, in... Figure 5 and Figure 6 The image shows a mark 22 drawn on the second target 20 to be measured, which is mounted on the front end 202 of the tool 200. Figure 5 The diagram on the left shows the state of tool 200 when viewed from a horizontal (horizontal) perspective. Additionally, Figure 5 The diagram on the right shows the view of tool 200 shown on the left from below (in the direction of arrow A1). Figure 5 When the reference position is shown, the position of the front end 202 of tool 200 relative to the tool mounting surface coordinate system ∑f is X. f =0, Y f =0, Z f =Z0.
[0083] Figure 6 Showing the tool 200 from Figure 5 The posture when the object is tilted at an angle θ relative to the direction of gravity. Figure 5 The same applies to the diagram on the right. Figure 6 The diagram on the right shows the state of tool 200 when viewed from below. Figure 6 The coordinate axes shown in the right-hand figure schematically illustrate... Figure 5 The coordinate axes (X-axis, Y-axis) of the tool mounting surface coordinate system Σf in the reference posture shown are tilted, indicating that tool 200 is tilted by an angle φ relative to the X-axis of the tool mounting surface coordinate system Σf. Additionally, Figure 6 The diagram on the left shows the view from the horizontal direction (arrow A2 direction). Figure 6 The right side of the diagram shows the state when tool 200 is tilted by an angle θ relative to the reference pose.
[0084] like Figure 6 As shown, when tool 200 is tilted at an angle θ relative to the direction of gravity, the tip 202 of tool 200 moves towards the center due to its own weight. Figure 6 The directions indicated by arrows A3 and A4 are deformed.
[0085] The elastic deformation parameter determination unit 344 determines the N poses P of the robot 100. iFor each pose in (i = 1, 2, ..., N), the values of θ and φ are calculated based on the pose of robot 100. Furthermore, the values of θ and φ are calculated by determining the angles of each joint based on the encoder values used to detect the rotation of the servo motors driving the axes of each joint, and by determining the position and pose of the tool mounting surface 122 (tool mounting surface coordinate system Σf) of robot 100 based on the angles of each joint and the specifications of robot 100.
[0086] Then, the elastic deformation parameter determination unit 344 determines the N poses P of the robot 100. i For each posture in (i = 1, 2, ..., N), the value of the elastic deformation parameter α is determined using methods such as least squares, so that the tool tip position calculation unit 343c actually calculates the position (X) of the tool tip 200 tip 202 relative to the tool mounting surface coordinate system Σf. f Y f Z f ) and the model values (X) calculated using equations (4) to (6) m Y m Z m The difference is the smallest.
[0087] When the elastic deformation parameter α, which represents the degree of elastic deformation of tool 200, is determined as described above, the coordinate X of the front end 202 of tool 200 is calculated based on the elastic deformation parameter α and the values of θ and φ determined according to the posture of robot 100, according to the elastic deformation model of equations (4) to (6). m Y m Z m That is, the deformation of tool 200. The tool deformation calculation unit 345 of processor 340 calculates the position X of the front end 202 of tool 200 relative to the tool mounting surface coordinate system Σf under any posture of robot 100 based on the elastic deformation model of equations (4) to (6). m Y m Z m As the deformation amount of tool 200.
[0088] The deformation of tool 200, as described above, can be determined by the user installing the first target 10 and the second target 20 and setting the camera 600 on the ground 1 when the user wants to use the specific tool 200. Alternatively, the deformation of tool 200 can be pre-calculated and stored in memory 330 when the robot system 100 or tool 200 leaves the factory.
[0089] The robot deformation calculation unit 346 of the processor 340 calculates the elastic deformation of the robot 100 relative to its theoretical position and orientation with respect to the tool mounting surface 122, using the robot coordinate system Σb as a reference. As described above, the rigid body portion and joint portion of the robot 100 elastically deform in accordance with the orientation of the robot 100 due to the weight of the tool 200 mounted on the robot 100 and the self-weight of the robot 100. The robot deformation calculation unit 346 calculates the elastic deformation of the robot 100 corresponding to its orientation using, for example, the method described in Japanese Patent Application Publication No. 2002-307344, which calculates the torque of each joint and the deflection of each joint based on the elastic constant and the torque of each joint. Alternatively, when the tool mounting surface position calculation unit 343b calculates the position and orientation of the tool mounting surface coordinate system Σf relative to the robot coordinate system Σb, it may also consider the deformation of the robot 100 calculated by the robot deformation calculation unit 346 to calculate the position and orientation of the tool mounting surface coordinate system Σf relative to the robot coordinate system Σb.
[0090] The tool tip position calculation unit 347 of the processor 340 calculates the position X of the tool tip 202 relative to the tool mounting surface coordinate system Σf based on the elastic deformation model calculated by the tool deformation calculation unit 345. m Y m Z m The tool 200 front end 202 is calculated by taking into account the deformation of the tool 200, and by calculating the position of the tool mounting surface coordinate system Σf relative to the robot coordinate system Σb based on the angles of each joint of the robot 100 and the specifications of the robot 100. Furthermore, the tool front end position calculation unit 347 can also calculate the position X of the tool 200 front end 202 relative to the tool mounting surface coordinate system Σf, which is calculated by the tool deformation calculation unit 345 based on the elastic deformation model. m Y m Z m The tool mounting surface coordinate system Σf is calculated relative to the robot coordinate system Σb based on the angles of each joint of the robot 100 and the specifications of the robot 100. The deformation of the robot 100 based on the robot coordinate system Σb is calculated by the robot deformation calculation unit 346. The position of the front end 202 of the tool 200, which takes into account the deformation of the tool 200 and the deformation of the robot 100, is then calculated.
[0091] Therefore, since the position of the front end 202 of the tool 200 is calculated considering the deformation of the tool 200, the position of the front end 202 of the tool 200 can be aligned with the workpiece W with high precision when working on the workpiece W. Since the position of the front end 202 of the tool 200 is also calculated considering the elastic deformation of the robot 100, the position of the front end 202 of the tool 200 can be aligned with the workpiece W with even higher precision.
[0092] Next, based on Figure 7 The flowchart below illustrates the processing of the tool deformation calculation method for the robot according to this embodiment. First, with the first target to be measured 10 mounted on the tool mounting surface 122, the second target to be measured 20 mounted on the front end 202 of the tool 200, and the camera 600 set on the ground 1, the image acquisition unit 341 of the processor 340 of the control device 300 acquires and displays images of the first target to be measured 10 and the second target to be measured 20 (step S10). Next, the first target to be measured position calculation unit 342 of the processor 340 calculates the position of the first target to be measured 10 mounted on the tool mounting surface 122, and calculates the position and posture of the light receiving device coordinate system Σv relative to the robot coordinate system Σb (step S12).
[0093] Next, the second target position calculation unit 343a of the processor 340 calculates the position of the second target 20 relative to the light receiving device coordinate system Σv under multiple postures of the robot 100 (step S14), and calculates the position of the second target 20 relative to the robot coordinate system Σb (step S16).
[0094] Next, the tool mounting surface position calculation unit 343b of the processor 340 calculates the position and orientation of the tool mounting surface coordinate system Σf relative to the robot coordinate system Σb (step S18). Next, the tool tip position calculation unit 343c of the processor 340 calculates the position of the second target 20 relative to the tool mounting surface 122, that is, the position of the tip 202 of the tool 200 (step S20).
[0095] Next, the elastic deformation parameter determination unit 344 of the processor 340 determines the elastic deformation parameter α in the elastic deformation model (step S22). Then, the tool deformation calculation unit 345 of the processor 340 calculates the position (X) of the front end of the tool 200 relative to the tool mounting surface coordinate system Σf based on the elastic deformation model. m Y m Z m The deformation of tool 200 is calculated (step S24). Next, the tool tip position calculation unit 347 of processor 340 calculates the position of the tip 202 of tool 200 relative to robot coordinate system Σb, taking into account the deformation of tool 200 (step S26).
[0096] As explained above, according to this embodiment, the position of the second target 20 installed on the front end 202 of the tool 200 is determined based on the image captured by the camera 600 under multiple postures of the robot 100, and the elastic deformation parameters in the elastic deformation model are calculated. Therefore, the elastic deformation amount of various tools 200 installed on the front end of the robot 100 can be calculated with high accuracy through a simple structure.
[0097] Furthermore, by having the user of the robot system 1000 install the first target 10 and the second target 20 and set up any camera 600, the elastic deformation of the various tools 200 to be used by the user can be calculated with high precision without complicated operations or the use of expensive three-dimensional measuring machines.
[0098] All examples and specific terms listed herein should be interpreted as illustrative of the invention and the concepts contributed by the inventors to facilitate the understanding of the invention, and not as limiting the scope to the structure of any example in this specification that illustrates the advantages and disadvantages of the invention, such specific examples and conditions listed. While embodiments of the invention have been described in detail, it should be understood that various changes, substitutions, and modifications can be made to the embodiments of the invention without departing from the spirit and scope thereof.
[0099] Explanation of reference numerals in the attached figures
[0100] 1: Ground; 10: First target to be measured; 20: Second target to be measured; 22: Marker; 100: Robot; 102: Base; 104: Rotary platform; 106: First arm; 108: Second arm; 110: Wrist; 112, 114, 116, 118, 120: Joints; 122: Tool mounting surface; 130: Servo motor; 200: Tool; 202: Front end; 300: Control device; 302, 304: Communication lines; 310: Communication interface; 320: Drive circuit; 330: Memory; 340: Processing... Processor; 341: Image acquisition unit; 342: First target position calculation unit; 343: Second target position calculation unit; 343a: Second target position calculation unit; 343b: Tool mounting surface position calculation unit; 343c: Tool tip position calculation unit; 344: Elastic deformation parameter determination unit; 345: Tool deformation calculation unit; 346: Robot deformation calculation unit; 347: Tool tip position calculation unit; 400: Display device; 500: Teach pendant; 600: Camera; 1000: Robot system.
Claims
1. A tool deformation calculation device for a robot, comprising: The image acquisition unit acquires a first image obtained by photographing a first target to be measured and a second image obtained by photographing a second target to be measured. The first target to be measured is located at the tool mounting part at the front end of the robot, and the second target to be measured is located at a predetermined position on the front end side of the tool, which is closer to the tool mounting part than the tool mounting part. The first target position calculation unit calculates the position of the first target based on the first image; The second target position calculation unit calculates the position of the second target based on the second image; as well as The tool deformation calculation unit calculates the deformation of the tool corresponding to the robot's posture based on the positions of the first and second measured targets.
2. The tool deformation calculation device for the robot according to claim 1, wherein, The first target position calculation unit calculates the position of the camera that captured the first image and the second image relative to the robot's coordinate system by calculating the position of the first target based on the first image.
3. The tool deformation calculation device for the robot according to claim 2, wherein, The second target position calculation unit calculates the position of the second target relative to the robot's coordinate system based on the position of the second target relative to the camera's coordinate system calculated based on the second image, and the position of the camera's coordinate system relative to the robot's coordinate system. It also calculates the position and posture of the tool mounting unit relative to the robot's coordinate system based on the angles of the robot's joints. Finally, it calculates the position of the second target relative to the tool mounting unit based on the position of the second target relative to the robot's coordinate system and the position and posture of the tool mounting unit relative to the robot's coordinate system.
4. The tool deformation calculation device for the robot according to claim 3, wherein, It also includes an elastic deformation parameter determination unit, which determines the elastic deformation parameters of the tool included in the model formula by comparing the position of the second measured target relative to the tool mounting part calculated by the second measured target position calculation unit under multiple postures of the robot with the position of the second measured target relative to the tool mounting part obtained according to the model formula representing the elastic deformation of the tool. The tool deformation calculation unit calculates the deformation of the tool corresponding to the robot's posture based on the model formula.
5. The tool deformation calculation device for a robot according to any one of claims 1 to 4, wherein, It also includes a tool position calculation unit, which calculates the position of the specified part of the tool based on the deformation of the tool.
6. The tool deformation calculation device for a robot according to claim 5, wherein, It also includes a robot deformation calculation unit, which calculates the deformation of the robot corresponding to its elastic deformation. The tool position calculation unit calculates the position of the specified part based on the deformation of the robot and the deformation of the tool.
7. The tool deformation calculation device for a robot according to any one of claims 1 to 4, wherein, The specified part is the front end of the tool.
8. The tool deformation calculation device for a robot according to claim 5, wherein, The specified part is the front end of the tool.
9. The tool deformation calculation device for a robot according to claim 6, wherein, The specified part is the front end of the tool.
10. A tool deformation calculation system for a robot, comprising: The first target to be measured is the tool mounting section at the front end of the robot; The second target to be measured is located at a position closer to the front end of the tool than the tool mounting part; A camera, positioned around the robot, generates a first image of the first target being measured and a second image of the second target being measured. as well as A tool deformation calculation device that calculates the deformation of the tool. The tool deformation calculation device includes: An image acquisition unit acquires the first image and the second image; The first target position calculation unit calculates the position of the first target based on the first image; The second target location calculation unit calculates the location of the second target based on the second image; and The tool deformation calculation unit calculates the deformation of the tool corresponding to the robot's posture based on the positions of the first and second measured targets.
11. A method for calculating the tool deformation of a robot, comprising the following steps: A first image obtained by photographing a first target and a second image obtained by photographing a second target are acquired, wherein the first target is located at the tool mounting part at the front end of the robot, and the second target is located at a position closer to the front end of the tool than the tool mounting part. The position of the first measured target is calculated based on the first image; The position of the second target is calculated based on the second image; as well as Based on the positions of the first and second measured targets, the deformation of the tool corresponding to the robot's posture is calculated.
Citation Information
Patent Citations
Robot control device
JP2002307344A
Robot, robot system, manufacturing apparatus of device, manufacturing method of device and method for adjusting teaching positions
CN110228058A
Deflection measurement system for measuring deflection of articulated robot
US20170072562A1