Robot device and method for controlling same

WO2025046780A1PCT designated stage expired Publication Date: 2025-03-06NIKON CORP +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2023/031457
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-30
Publication Date
2025-03-06

Smart Images

  • Figure JP2023031457_06032025_PF_FP_ABST
    Figure JP2023031457_06032025_PF_FP_ABST
Patent Text Reader

Abstract

Provided is a robot device comprising: a robot hand; a robot arm that moves the robot hand with respect to at least three-degree-of-freedom directions including a rotation direction on a first coordinate system; a sensor that detects position information of the robot hand with respect to the at least three-degree-of-freedom directions; a detection unit that detects rotation axis information of the robot hand with respect to the rotation direction; and a control unit that controls the robot arm on the basis of the detected information of the sensor and the rotation axis information detected by the detection unit in order to control the position of the robot hand with respect to the at least three-degree-of-freedom directions so that a position error of the robot hand due to the rotation is compensated. The position error of the robot hand due to the rotation of the robot hand can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Robot device and control method thereof

[0001] The present invention relates to a robot device and a method for controlling a robot device.

[0002] A robot device is in use that has a robot hand (end effector) for grasping or manipulating an object and an arm that drives the robot hand, and that can detect the amount of positional deviation of the robot hand relative to the arm from an image of the robot hand (see, for example, Patent Document 1). In such technology, it is also desirable to reduce positional errors of the robot hand due to rotation of the robot hand.

[0003] JP 2017-124468 A

[0004] According to a first aspect of the present invention, there is provided a robot device comprising: a robot hand; a robot arm that moves the robot hand in at least three degrees of freedom directions including a rotational direction on a first coordinate system; a sensor that detects position information of the robot hand in the at least three degrees of freedom directions; a detection unit that detects rotational axis information of the robot hand in the rotational direction; and a control unit that controls the robot arm based on the detection information of the sensor and the rotational axis information detected by the detection unit, in order to control the position of the robot hand in the at least three degrees of freedom directions so as to compensate for a position error of the robot hand due to the rotation.

[0005] According to a second aspect, there is provided a control method for a robot device including a robot hand and a robot arm that moves the robot hand in at least three directions of degrees of freedom including a rotational direction on a first coordinate system, the control method including: detecting position information of the robot hand in the at least three directions of degrees of freedom; detecting rotational axis information of the robot hand in the rotational direction; and controlling the robot arm based on the detection results of the positional information of the robot hand in the at least three directions of degrees of freedom and the detection results of the rotational axis information, in order to control the position of the robot hand in the at least three directions of degrees of freedom so as to compensate for a positional error of the robot hand due to the rotation.

[0006] 1A is a perspective view showing a robot device according to a first embodiment, and FIG. 1B is a perspective view showing a modified example of the fingers of the robot hand. FIG. 1A is a side view showing the robot hand of FIG. 1A, FIG. 1B is a front view showing the fingers of the robot hand in the -Y1 direction, and FIG. 1C is a diagram showing an example of an image within the field of view of an imaging device. FIG. 1A, FIG. 1B, and FIG. 1C are simplified views of the robot hand, and FIG. 1D is a diagram showing an example of yawing of the robot hand. FIG. 1E is a diagram showing an example of pitching of the robot hand. FIG. 1B is a diagram showing an example of a control device for the robot device and the robot hand. FIG. 1A is a flowchart showing an example of a method for correcting rotation axis information of the robot hand, and FIG. 1B is a flowchart showing an example of a method for gripping a workpiece with the robot hand. FIG. 1A is a plan view showing a state in which the robot hand is rotated to move the gripping portion (tip) of the tweezers along the circumference, and FIG. 1B is a plan view showing the position on the circumference of the gripping portion of the tweezers of FIG. 6A as viewed by an imaging device. 1A is a perspective view showing a simplified view of the main parts of a robot hand according to a second embodiment, and FIGS. 1B and 1C are perspective views showing modified examples of a reference object. It is an explanatory diagram of a method for obtaining rotation axis information in the second embodiment. 1A is a perspective view showing a reference object according to another modified example, and FIG. 1B is a plan view showing an image of the reference object. 1C and 1D are plan views showing images of the reference object captured when yawing and pitching are present.

[0007] First Embodiment A first embodiment will be described below with reference to FIGS. 1A to 6B. FIG. 1A shows an articulated robotic device 2 according to this embodiment. Note that any robotic device, such as a horizontal articulated robotic device (SCARA type), may be used as the robotic device 2. In FIG. 1A, as an example, the X1 and Y1 axes are taken as being parallel to and perpendicular to the installation surface of the robotic device 2, and the Z1 axis is taken as being perpendicular to the installation surface. The installation surface is a substantially horizontal plane, and the positive direction of the Z1 axis is defined as the direction above the installation surface (the direction opposite to the vertical direction). The coordinate system consisting of the positions in the X1, Y1, and Z1 directions is referred to as the robot main body coordinate system (X1, Y1, Z1).

[0008] 1A, the robot device 2 includes a robot main body 4, a robot hand 6 joined to the robot main body 4, a control device 10 that controls the operation of the robot device 2, and a control device 12 that controls the operation of the robot hand 6. The robot main body 4 includes a base 14, a rotating unit 16 connected to the base 14, and a first robot arm 18A, a second robot arm 18B, and a third robot arm 18C that are connected to the rotating unit 16 in a manner that allows them to move in that order. The robot hand 6 is joined to a tip 20A of the third robot arm 18C. The robot hand 6 can also be called an end effector.

[0009] As an example, the rotation angle θ1 of the rotating unit 16 around an axis parallel to the Z1 axis can be controlled, the swing angle φ1 of the first robot arm 18A can be controlled, the rotation angle θ2 and swing angle φ2 of the second robot arm 18B can be controlled, and the swing angle φ3 and the rotation angle θ3 of the tip end 20A (robot hand 6) around an axis parallel to the Z1 axis can be controlled. The third robot arm 18C also has a rotating unit 20B that changes the rotation angle θ3 of the tip end 20A and a tilting drive unit 20C that changes the swing angle φ3. The rotating unit 20B and the tilting drive unit 20C each have a drive motor and an encoder 18CR, 18CF (see FIG. 4) that detects the rotation angle. The rotating unit 16 also has a drive motor and an encoder 16R. The other robot arms 18A and 18B also have drive motors and encoders 18AR, 18BR, and 18BF. Therefore, the robot hand 6 connected to the third robot arm 18C can be controlled in terms of six degrees of freedom (including angles), including positions in the X, Y, and Z directions and angles of rotation around the X, Y, and Z axes.

[0010] The origin of the robot main body coordinate system (X1, Y1, Z1) is, for example, the center of the base 14, but the origin can be set or changed to any position. For example, the robot hand 6 is driven by the rotating unit 16 and robot arms 18A-18C so that it moves parallel to the Z1 axis. The robot device 2 (rotating unit 16 and robot arms 18A-18C) can control the position of the robot hand 6 with six degrees of freedom. Hereinafter, the rotating unit 16 and robot arms 18A-18C will be collectively referred to as the robot arms 18A-18C. Instead of the robot arms 18A-18C, the robot hand 6 may be joined to a robot arm (not shown) that can control the position and angle of at least three degrees of freedom, including the rotation direction (rotation angle θ3) of the robot hand 6.

[0011] The robot device 2 also includes an imaging device 22 and a lighting device (not shown). As an example, the imaging device 22 is provided on the ceiling of the room in which the robot device 2 is installed. The imaging device 22 may also be provided on a side wall of the room or at a measurement position on the installation surface of the robot device 2. Multiple imaging devices may also be provided so that there are no blind spots at the tip of the robot hand 6 of the robot device 2. The imaging device 22 may also be attached to the side of the robot arm 18C or the side of the robot hand 6. For example, when the imaging device 22 is attached to the side of the robot hand 6, the imaging device 22 is attached to the side of the robot hand 6 via a support member 50, as shown by the dotted line in FIG. 2(A).

[0012] As an example, the imaging device 22 is a camera that captures ordinary two-dimensional images and has an autofocus mechanism. In this case, when the robot hand 6 grasps or manipulates an object to be processed, the tip of the robot hand 6 and the object to be processed are located at approximately the focal position of the imaging device 22. Therefore, the imaging device 22 can recognize the height in the Z1 direction of the focused portion in the two-dimensional image (for example, the tip of the robot hand 6). However, a three-dimensional camera (stereo camera) or the like may also be used as the imaging device 22.

[0013] The robot hand 6 of this embodiment also has two fingers 38A, 38B that can be driven to open and close, and holds the tweezers 8 so that they can be opened and closed by the fingers 38A, 38B. The tweezers 8 are made of metal, but some or all of the tweezers 8 may be made of synthetic resin or other materials. The tweezers 8 may be any type of tweezers, such as commercially available, custom-made, homemade, or modified from a commercially available product. That is, the tweezers 8 have a pair of flexible, elongated, flat movable parts (also referred to as contact parts or open / close parts) 8b and 8c that are manufactured to be openable and closable about a fulcrum 8a. By pressing the force point approximately midway between the fulcrum 8a of the tweezers 8 and the tips (points of application) of the movable parts 8b, 8c inward with the fingers 38A, 38B, the movable parts 8b, 8c close, allowing the object to be grasped or supported between the tips. The center of the tips of the movable parts 8b, 8c is referred to as a grasping position 8d. In addition, by opening the fingers 38A and 38B and reducing the force pressing on the force point, the movable parts 8b and 8c open, allowing the object to be released. As an example, the fulcrum 8a of the tweezers 8 is held by the fixed part 42 of the robot hand 6.

[0014] The tweezers 8 may have one movable part 8b fixed and only the other movable part 8c movable. That is, the movable parts 8b and 8c may be capable of opening and closing relative to each other. Also, instead of the tweezers 8, tweezers with three or more contact parts (movable parts and / or fixed parts) may be used. When the movable parts 8b and 8c are three or more, the number of fingers 38A and 38B will also be three or more.

[0015] Alternatively, instead of using the robot hand 6 to hold the tweezers 8, as shown in FIG. 1B , the robot hand 6 may be provided with openable and closable fingers 38C and 38D instead of the fingers 38A and 38B, and tools 9a and 9b capable of manipulating the object to be processed (object to be manipulated) may be fixed to the fingers 38C and 38D. In this case, the tools 9a and 9b open and close together with the opening and closing of the fingers 38C and 38D, thereby manipulating or grasping the object to be processed. In the following description, the tweezers 8 are assumed to be held by the robot hand 6. As an example, the workpiece 48 serving as the object to be processed is a bolt (see FIG. 2A ), but the shape and size of the object to be processed are arbitrary as long as it has a portion that can be grasped by the tweezers 8.

[0016] 2A shows the robot hand 6 in FIG. 1A, and illustrates a state in which the robot hand 6 is joined to the lower end of the tip 20A of the robot arm 18C so that the opening and closing directions of the movable parts 8b and 8c of the tweezers 8 held by the robot hand 6 are substantially parallel to the X1 axis (X1 direction). In FIG. 2A, the robot hand 6 includes a hand main body 28 joined to the lower end of the tip 20A of the robot arm 18C, a tweezers holding part 26 connected to an actuating part 32 of the hand main body 28 to hold the tweezers 8, and a pair of fingers 38A and 38B that are opened and closed in the X1 direction by the actuating part 32. The movable parts 8b and 8c of the tweezers 8 held by the tweezers holding part 26 are opened and closed in the X1 direction by the fingers 38A and 38B. The actuating unit 32 also includes a finger driving unit 13C (see FIG. 4) including a rotary motor, a conversion unit (not shown) that reduces the rotational speed of the finger driving unit 13C and converts it into linear motion to open and close the fingers 38A, 38B, and a gap detection unit 13B (see FIG. 4) that detects the positions and gap between the fingers 38A, 38B from the rotation angle of the finger driving unit 13C. The actuating unit 32 causes the pair of fingers 38A, 38B to open and close the movable parts 8b, 8c of the tweezers 8 in the opening / closing direction (here, the X1 direction).

[0017] The hand main body 28 also includes a frame 30 having a flat joint joined to the tip end 20A, and an actuating unit 32 connected to the frame 30 via a linear slider 34 so as to be relatively movable in the Z1 direction. The joint of the frame 30 is joined to the tip end 20A mechanically (by screws, a movable claw mechanism, a permanent magnet, etc.) or electrically (by an electromagnet, etc.). Furthermore, the joint is provided with connections for electrical wiring, compressed air piping, and / or vacuum suction piping, etc., as needed. The joint of the frame 30 is provided with a plurality of positioning portions (not shown), such as protrusions or recesses, so that the position and rotation angle relative to the tip end 20A are predetermined.

[0018] The robot hand 6 rotates around a rotation axis 6ax relative to the robot arm 18C. The rotation axis 6ax passes through the center (rotation center) 20d of the tip 20A of the robot arm 18C. The rotating unit 20B of the robot arm 18C can rotate the tip 20A and the robot hand 6 by an arbitrary angle θ3 (hereinafter referred to as angle θ) clockwise or counterclockwise about the rotation axis 6ax. The tweezers holding unit 26 also includes a second connecting unit 38 connected to the side surface of the actuating unit 32 facing the -Y1 direction via a first connecting unit 36, a rotating unit 40 fixed to the second connecting unit 38 so as to be rotatable within a predetermined range (e.g., several degrees) around an axis parallel to the Z1 axis, and a fixed unit 42 fixed to the bottom surface of the rotating unit 40. The rotating unit 40 is provided with a stopper 54 for defining the rotation angle. The fixed portion 42 has a fixed plate 42a fixed to the bottom surface of the rotating portion 40 and a presser plate 42b that clamps the fulcrum 8a of the tweezers 8 against the fixed plate 42a (see FIG. 2(B)). By fixing the presser plate 42b to the fixed plate 42a with multiple bolts B1, the fulcrum 8a of the tweezers 8 can be stably held on the fixed portion 42. At this time, the tips of the movable portions 8b and 8c of the tweezers 8 protrude in the +Y1 direction of the fingers 38A and 38B through the gap between the fingers 38A and 38B. Note that the tweezers 8 can be held by placing the fulcrum 8a of the tweezers 8 on the fixed portion 42 and pressing it down with a leaf spring or the like from above, or by using a gripping tool such as a double clip to fix the fulcrum or other parts of the tweezers 8.

[0019] 2C , the center of the image 22G captured within the field of view of the imaging device 22 is taken as the origin, and the x-axis is taken parallel to the longitudinal direction of the image 22G, passing through the origin, and the y-axis is taken parallel to the lateral direction of the image 22G. This coordinate system (x, y) is referred to as the image coordinate system (x, y, z) of the imaging device 22. The z-axis is taken parallel to the Z1 axis, and the z-direction position (z position) of the gripping position 8d of the tweezers 8 measured, for example, by the autofocus mechanism of the imaging device 22 is combined with the z-axis. In this case, the gripping position 8d of the tweezers 8 is the specific part imaged by the imaging device 22. For example, the coordinate values ​​on the image coordinate system (x, y, z) are converted to values ​​when the magnification of the imaging device 22 is 1x. If the imaging device 22 is a stereoscopic camera, the z position measured by the stereoscopic camera may be used as the z position. 2C, the images 8bI and 8cI of the tips of the movable parts 8b and 8c of the tweezers 8 (image 8dI of the gripping position 8d) and the image 6axI of the rotation axis 6ax are located on the -y direction side of the origin in the image 22G. Images 48I of multiple workpieces 48 are also included in the image 22G.

[0020] In FIG. 2A, the robot main body coordinate system (X1, Y1, Z1) represents, as an example, the coordinates of the center 20d (the position through which the rotation axis 6ax passes) of the tip 20A of the robot arm 18C. The robot hand 6 rotates around the rotation axis 6ax while holding the tweezers 8. Therefore, if the distance from the rotation axis 6ax to the gripping position 8d of the tweezers 8 (hereinafter referred to as the radius of rotation) is R, and the rotation angle of the robot hand 6 around the rotation axis 6ax is θ, the positions X2 and Y2 of the gripping position 8d in the X1 and Y1 directions relative to the rotation axis 6ax are as follows: For ease of explanation, in FIG. 2C, the rotation angle θ is set to + in the counterclockwise direction relative to the Y1 axis, and the magnification is set to 1. X2 = -R sin θ (1A) Y2 = R cos θ (1B)

[0021] Furthermore, if the distance from the center 20d of the tip 20A to the gripping position 8d of the tweezers 8 along the Z1 axis is defined as Z2, then the distance Z2 can be considered a known value depending on the shape of the tweezers 8. In this case, the positions of the gripping position 8d of the tweezers 8 relative to the center 20d of the tip 20A in the X1, Y1, and Z1 directions are defined as X2, Y2, and Z2, respectively, and the coordinate system consisting of these positions is called the robot hand coordinate system (X2, Y2, Z2). The coordinate system obtained by adding the coordinates of the robot hand coordinate system (X2, Y2, Z2) to the coordinates of the robot main body coordinate system (X1, Y1, Z1) as follows is called the robot coordinate system (X, Y, Z) (see FIG. 2C ). The coordinates of the gripping position 8d of the tip of the tweezers 8 can be defined in the robot coordinate system (X, Y, Z). X=X1+X2...(2A) Y=Y1+Y2...(2B) Z=Z1+Z2...(2C)

[0022] When the robot hand 6 is rotated by the robot arm 18C, the gripping position 8d of the tweezers 8 moves along a circumference of radius R around the rotation axis 6ax. Therefore, in order to accurately determine the coordinates of the gripping position 8d of the tweezers 8 (particularly the position X2, Y2 therein), it is necessary to accurately calibrate or correct the offset of the position of the rotation axis 6ax, the rotation radius R, and the rotation angle θ on the robot coordinate system (X, Y, Z) or the robot hand coordinate system (X2, Y2, Z2). The rotation angle θ is the yawing of the robot hand 6.

[0023] Two expandable tension coil springs (hereinafter referred to as elastic members) 44A, 44B are connected in a direction parallel to the Z axis between the joint (upper plate portion) of the frame 30 and both side surfaces of the first connecting portion 36 in the X1 direction. Hereinafter, the elastic members 44A, 44B are collectively referred to as elastic member 44. A suspension mechanism 46 (buffer mechanism) is configured, including the linear slider 34 and the elastic member 44, to support the movable portion (a portion including the actuating portion 32, fingers 38A, 38B, tweezers holding portion 26, and tweezers 8) so as to be elastically displaceable in the Z direction relative to the frame 30. A stopper 52 for limiting displacement of the actuating portion 32 (movable portion) in the Z direction relative to the frame 30 within a predetermined range is configured by a U-shaped limiting member 52a provided on the frame 30 and a pin 52b provided on the actuating portion 32 so as to be displaceable in the Z direction between the limiting member 52a. As an example, the pin 52b is set to be located at the lower end of the restricting member 52a when the tip of the tweezers 8 is not touching the floor (the tip is floating in the air).

[0024] The suspension mechanism 46 may have any configuration, such as a mechanism that uses a leaf spring instead of a tension coil spring as the elastic member 44. Alternatively, a suspension mechanism may be used in which, for example, the operating unit 32 is fixed to the frame 30 and the tweezers holding unit 26 is supported so as to be elastically displaceable in the Z direction relative to the operating unit 32. The suspension mechanism 46 is not necessarily provided. For example, the first connecting unit 36 ​​and the second connecting unit 38 are detachably connected by permanent magnets provided in the first connecting unit 36 ​​and the second connecting unit 38. Other methods for detachably connecting the second connecting unit 38 to the first connecting unit 36 ​​include mechanical connection using a movable claw mechanism, electromagnet connection, and vacuum suction connection.

[0025] Furthermore, a groove 38Aa is provided in the second connecting portion 38 of the tweezers holding unit 26. The tweezers holding unit 26 can be installed (stored) in a tweezers stand (not shown) by aligning the groove 38Aa with the base of the tweezers stand and installing the second connecting portion 38 on the base. At this time, multiple tweezers holding units 26, each with a different shape of tweezers fixed to the fixing portion 42, may be prepared and installed on the tweezers stand. Then, by simply moving the robot hand 6 to disconnect and connect the first connecting portion 36 and the second connecting portion 38, the tweezers (tweezers holding unit 26) held by the robot hand 6 can be easily replaced with other tweezers (not shown) appropriate for the object.

[0026] 2(B) is a front view of FIG. 2(A) as viewed in the -Y direction, and in FIG. 2(B), a pair of fingers 38A, 38B opens and closes the movable parts 8b, 8c of the tweezers 8 in an opening / closing direction (here, the X1 direction) by the actuation unit 32. Furthermore, hemispherical protrusions 38Aa, 38Ba, for example, are provided on the inside of the fingers 38A, 38B, and the protrusions 38Aa, 38Ba come into contact with the force points (or points between the fulcrum 8c and the gripping position 8d) of the movable parts 8b, 8c of the tweezers 8 to push the movable parts 8b, 8c in the +X1 direction and the -X1 direction, thereby reducing the distance between the movable parts 8b, 8c (the movable parts 8b, 8c close), and an object can be gripped, sandwiched, or supported by the tips of the movable parts 8b, 8c. Thereafter, by moving the protrusions 38Aa, 38Ba in the −X1 direction and the +X1 direction, the distance between the movable parts 8b, 8c increases (the movable parts 8b, 8c open), allowing the tweezers 8 to be removed from the object. Note that the actuating unit 32 may actuate the fingers 38A, 38B so that the fingers 38A, 38B move in the X1 direction independently of each other.

[0027] Furthermore, the fingers 38A, 38B are made of, for example, metal, and the protrusions 38Aa, 38Ba of the fingers 38A, 38B are made of, for example, a material with low frictional resistance (e.g., Teflon (registered trademark)). This allows the tweezers 8 held by the tweezers holder 26 to move (slide) slightly in the Z and Y directions relative to the fingers 38A, 38B. In this embodiment, the suspension mechanism 46 displaces the movable parts, including the actuating unit 32 and the tweezers holder 26, as a unit. Therefore, the protrusions 38Aa, 38Ba may be made of a material with high frictional resistance. The shape of the protrusions 38Aa, 38Ba is arbitrary, and it is not necessary to provide the protrusions 38Aa, 38Ba on the inside of the fingers 38A, 38B.

[0028] 3A, 3B, 3C, and the following drawings, the robot hand 6 in FIG. 2A is shown in a simplified form, and the tweezers holder 26 and suspension mechanism 46 are not shown. In addition, in FIGS. 3A, 3B, and 3C, the opening and closing direction of the movable parts 8b and 8c of the tweezers 8 by the fingers 38A and 38B of the robot hand 6 is defined as the Y1 direction in the robot main body coordinate system (X1, Y1, Z1). Hereinafter, the sign of an angle around a certain axis is defined as a positive value when the rotation direction of a right-handed screw pointing in the direction of the positive value of that axis is the positive value.

[0029] Furthermore, the rotation angles of the robot hand 6 on the robot hand coordinate system (X2, Y2, Z2) include a rotation angle (yawing) θz about the Z2 axis shown in FIG. 3A, a rotation angle (rolling) θx about the X2 axis shown in FIG. 3B, and a rotation angle (pitching) θy about the Y2 axis shown in FIG. 3C. When the yawing θz of the robot hand 6 can be controlled with high precision, it is assumed that multiple workpieces 48A are arranged at various angles on the mounting surface, as shown in FIG. 3D. In this case, the workpiece 48A parallel to the X2 axis can be accurately grasped at the initial position 6I. Furthermore, even for a workpiece 48A rotating about the Z2 axis, the tweezers 8 of the robot hand 6 can accurately grasp or manipulate the workpiece 48A by controlling the yawing θz in accordance with the angle of the image of the workpiece 48A captured by the imaging device 22, for example.

[0030] Similarly, when the pitching θy of the robot hand 6 can be controlled with high precision, assume that multiple workpieces 48A are placed on the mounting surface so that some of them overlap, as shown in FIG. 3(E). In this case, the workpiece 48A parallel to the X2 axis can be accurately grasped at the initial position 6I. Even for a workpiece 48A rotating around the Y2 axis, the tweezers 8 of the robot hand 6 can accurately grasp or manipulate the workpiece 48A tilted around the Y2 axis by controlling the pitching θy to match the angle of an image obtained by capturing the workpiece 48A from the side with an imaging device (not shown). Similarly, when the rolling θx can be controlled with high precision, a workpiece tilted around the X2 axis can be accurately grasped or processed. Therefore, in order to accurately grasp a rotated or tilted workpiece with the tweezers 8 of the robot hand 6, it is necessary to accurately determine and correct the offset (e.g., error relative to the rotation angle measured by the imaging device 22) of the rotation angle (yawing θz, pitching θy, rolling θx) of the robot hand 6. Furthermore, as shown in FIG. 3(D), in order to accurately grasp the workpiece 48A tilted around the Z2 axis, it is necessary to determine with high precision the position of the rotation axis 6ax of the robot hand 6 relative to the robot arm 18C and the radius of rotation R, which is the distance from the rotation axis 6ax to the tip of the tweezers 8 (the grasping position or specific part).

[0031] 4 shows the control device 10 of the robot device 2 and the control device 12 of the robot hand 6. In Fig. 4, the control device 10 has a control information input / output unit 11A that inputs and outputs control information (such as the shape of the tweezers to be used and the position of the object to be processed) to and from an operator, a main control unit 11B that transmits and receives control information to and from the control device 12 of the robot hand 6 and controls the operation of the entire device, and a coordinate / angle calculation unit 11C that processes the detection results of at least six-axis encoders 16R, 18AR to 18CF that detect the movements of the robot arms 18A to 18C and calculates the position of the center 20d of the tip 20A of the third robot arm 18C on the robot main body coordinate system (X1, Y1, Z1). The coordinate / angle calculation unit 11C receives information such as the Z2 direction position of the gripping position 8d of the tweezers 8 held by the robot hand 6 relative to the center 20d, the position of the rotation axis 6ax of the robot hand 6 (initial state: (0,0,0)), the rotation radius R, and the offset of the rotation angle θ (initial state: 0).

[0032] The coordinate / angle calculation unit 11C uses this information to determine the position of the gripping position 8d of the tweezers 8 relative to the center 20d on the robot hand coordinate system (X2, Y2, Z2), and adds this position to the position on the robot main body coordinate system (X1, Y1, Z1) to determine the position and angle (yawing θz, pitching θy, rolling θx) of the gripping position 8d of the tweezers 8 on the robot coordinate system (X, Y, Z). The determined position and angle are supplied to the coordinate conversion unit 11E, rotation axis correction unit 11F, and arm control unit 11G.

[0033] The control device 10 also includes an image processing unit 11D that processes the image signal from the imaging device 22 to determine the position and rotation angle of the gripping position 8d of the tweezers 8 held by the robot hand 6 in an image coordinate system (x, y, z), a coordinate conversion unit 11E that determines the coordinate conversion relationship between the robot coordinate system (X, Y, Z) and the image coordinate system (x, y, z), a rotation axis correction unit 11F (described in detail below) that corrects the position, rotation radius R, and yawing offset of the rotation axis 6ax (hereinafter referred to as information related to the rotation axis), an arm control unit 11G that controls the movement of the robot arms 18A to 18C based on the processing results of the coordinate / angle calculation unit 11C and the coordinate conversion unit 11E, and a memory unit 11H that stores various data. The memory unit 11H may include a storage device such as a hard disk drive (HDD) or a solid state drive (SSD), or a non-volatile memory such as a universal serial bus (USB) memory. The memory unit 11H stores programs and various setting values ​​of the control device 10. The control devices 10 and 12 are provided in a computer or server (not shown) installed, for example, in the room where the robot device 2 is installed or outside the room.

[0034] The control device 12 also includes a hand control unit 13A that exchanges control information between the main control unit 11B and the arm control unit 11G of the control device 10 and controls the operation of the entire robot hand 6, a finger drive unit 13C that opens and closes the fingers 38A, 38B, and a gap detection unit 13B that detects the position and gap between the fingers 38A, 38B. The control device 12 also includes a finger gripping force detection unit 13D that detects the reaction force from the movable parts 8b, 8c of the tweezers 8 to the fingers 38A, 38B as a finger gripping force FF, and a memory unit 13E. The memory unit 13E has the same configuration as the memory unit 11H, and stores programs and various setting values ​​of the control device 12.

[0035] As an example, the finger grip force detection unit 13D detects the finger grip force FF from the current flowing through the rotation motor of the finger drive unit 13C, and the hand control unit 13A controls the operation of the fingers 38A, 38B (finger drive unit 13C) so that the detected finger grip force FF is equal to or less than a preset level (standard value). This prevents damage to the tweezers 8, the fingers 38A, 38B, and / or the object. Note that instead of the finger grip force detection unit 13D, a sensor capable of detecting the finger grip force FF, such as a strain gauge or a pressure sensor provided on the fingers 38A, 38B, can be used. The control information input to the hand control unit 13A includes, for example, an instruction to start grasping an object with the tweezers 8 and an instruction to release the grasp, and the control information output from the hand control unit 13A to the main control unit 11B includes, for example, information indicating that the object has been grasped by the tweezers 8 and information indicating that the object has been released from the grasp by the tweezers 8 (completion of removal of the tweezers from the object).

[0036] Next, an example of the operation of the robot device 2 of this embodiment will be described. As described above, in order to control the position and angle of the gripping position 8d of the tweezers 8 held by the robot hand 6 with high precision, it is necessary to obtain information about the rotation axis of the robot hand 6 with high precision (the position of the rotation axis 6ax, the rotation radius R of the rotation axis 6ax, and the offset of the rotation angle θ). First, an example of a method for obtaining information about the rotation axis will be described with reference to the flowchart in FIG. 5A. In step 102 of FIG. 5A, a transformation relational expression between the robot coordinate system (X, Y, Z) and the image coordinate system (x, y, z) is calculated. To achieve this, for example, the tip of the tweezers 8 held by the robot hand 6 (the gripping position 8d) is moved via the robot arms 18A to 18C to, for example, four or more measurement points that are not on the same plane, and the coordinates of the gripping position 8d on the robot coordinate system (X, Y, Z) and the image coordinate system (x, y, z) at that time are obtained. Then, the coordinate transformation unit 11E uses, for example, the least squares method to find a 3-row by 3-column transformation matrix B of equation (3A) that transforms coordinates (X, Y, Z) in the robot coordinate system into coordinates (x, y, z) in the image coordinate system. Furthermore, the inverse matrix of transformation matrix B is found so that coordinates (X, Y, Z) in the robot coordinate system can be calculated from coordinates (x, y, z) in the image coordinate system, as shown in equation (3B). Transformation matrix B contains only linear components.

[0037] For example, the coordinates on the robot coordinate system are (X, Y, Z, 1) and the coordinates on the image coordinate system are (x, y, z, 1), and a transformation matrix (e.g., a homography transformation matrix) containing predetermined nonlinear components of 4 rows by 4 columns between the coordinates (X, Y, Z, 1) and the coordinates (x, y, z, 1) is calculated, and this transformation matrix or the like may be used. In the next step 104, for example, an operator inputs the position (Xc, Yc) of the rotation axis 6ax of the robot hand 6 (the center of rotation of the tweezers 8) on the robot hand coordinate system (X2, Y2, Z2) and the design value of the rotation radius R to the coordinate / angle calculation unit 11C and the rotation axis correction unit 11F. When the rotation axis 6ax is parallel to the Z axis, the Z position of the circumference around the rotation axis 6ax is the same, so positions Z2 and Z are omitted. In this case, the position of the rotation axis 6ax on the robot main body coordinate system (X1, Y1, Z1) is (X1, Y1) (position Z1 is omitted), and the position of the rotation axis 6ax on the robot coordinate system (X, Y, Z) is (X1 + Xc, Y1 + Yc). The design value of the position (Xc, Yc) is, for example, (0, 0).

[0038] In step 106, the robot arm 18C is placed parallel to the Z1 axis (the Z axis of the robot coordinate system) as shown in FIG. 1A and then stationary. Then, the tip 20A and the robot hand 6 are intermittently rotated by the rotating unit 20B around the rotation axis 6ax at intervals of a predetermined angle Δθ, as shown in FIG. 2A. In this case, as shown in FIG. 6A, the gripping position 8d of the tweezers 8 held by the robot hand 6 is first set to an initial target point P0 passing through the rotation axis 6ax and parallel to the X2 axis (or X axis), and the robot hand 6 is stationary for a predetermined time. In this case, the rotation angle θ is 0. Thereafter, the robot hand 6 (tweezers 8) is rotated counterclockwise around the rotation axis 6ax by a predetermined angle Δθ, and the robot hand 6 is stationary. This operation is repeated (n-1) times. The rotation angle θ changes as i × Δθ (i = 1 to n-1). Furthermore, if n is an integer equal to or greater than 4 and Δθ is 2π / n (rad), then on the robot coordinate system (X, Y, Z), the gripping position 8d (specific portion) of the tweezers 8 held by the robot hand 6 moves to n target points Pi (i = 0 to n-1) along a circumference 56 of radius R around the rotation axis 6ax and remains stationary for a predetermined time. The predetermined time is the time during which the imaging device 22 can capture an image of the gripping position 8d of the tweezers 8 at the target point Pi.

[0039] Furthermore, in step 108, substantially in parallel with the operation of step 106, the image capturing device 22 and the image processing unit 11D are used to acquire the coordinates (xi, yi, z) of the gripping position 8d of the tweezers 8 on the image coordinate system (x, y, z) at each target point Pi (i = 0 to n-1) along the circumference 56. Since the z-axis value is substantially constant, it will not be described further below. The coordinates (xi, yi) on the image coordinate system (x, y, z) of the gripping position 8d of the tweezers 8 at the n target points Pi on the circumference 56 obtained in step 108 are located at n measurement points Qi (i = 0 to n-1) on a circumference 56Q of radius r, as shown in FIG. 6B . The center of the circumference 56 (the position of the rotation axis 6ax) on the robot coordinate system (X, Y, Z) has moved to the center 56C, whose coordinate is (xc, yc) on the image coordinate system (x, y, z).

[0040] Next, in step 110, the rotation axis correction unit 11F calculates the center coordinates (xc, yc) and radius r of the circumference 56Q on the image coordinate system (x, y, z) using the following formula using the least squares method. For this purpose, the center coordinates (xc, yc) are set to (a, b), and the center coordinates and radius r are converted into the following coefficients A, B, and C. A=-2a ... (4A) B=-2b ... (4B) C=a 2 +b 2 -r 2 …(4C)

[0041] Then, using the coordinates (xi, yi) (i = 0 to n-1) of n measurement points Qi on circumference 56Q, coefficients A, B, and C can be calculated from the following equations: Note that the symbol Σ in equation (5) represents the sum from 0 to (n-1) for i.

[0042] Furthermore, from equations (4A) and (4B), the center coordinates (xc, yc) of the circumference 56Q are calculated using coefficients A and B as follows, and the radius r can be calculated using equation (4C) as follows: xc = -A / 2 ... (6A) yc = -B / 2 ... (6B) r = (a 2 +b 2 -C) 1 / 2 ...(6C) Next, the rotational axis correction unit 11F converts the center coordinates (xc, yc) and radius r into center coordinates (X cm, Y cm) and radius rm on the robot coordinate system (X, Y, Z) using the above-mentioned equation (3B). To convert the radius r using equation (3B), the radius r is multiplied by the linear magnification component in equation (3B). Furthermore, the rotational axis correction unit 11F determines the angle θ0, which is the angle formed by the line connecting the center 56c in FIG. 6B and the first measurement point Q0 on the image coordinate system (x, y, z) with an axis parallel to the x-axis, as the initial value of the rotation angle θ (yawing in this case) on the image coordinate system (x, y, z).

[0043] In the next step 1, step 112, the rotation axis correction unit 11F determines the position of the center (rotation axis 6ax) of the circumference 56 and the offset of the radius R. In this case, the coordinate of the rotation axis 6ax on the robot coordinate system (X, Y, Z) is the above-mentioned (X1, Y1) (the same as the coordinate (X1, Y1) on the robot main body coordinate system (X1, Y1, Z1)), and the offset of the position of the rotation axis 6ax (rotation center) and the rotation radius R is as follows. These offsets are input to the coordinate / angle calculation unit 11C. The coordinate / angle calculation unit 11C stores the coordinate of the rotation center and the rotation radius R' after adding the input offsets. Offset of rotation center in X direction=X cm-X1 ... (7A) Offset of rotation center in Y direction=Y cm-Y1 ... (7B) Offset of rotation radius R=rm-R ... (7C)

[0044] In the next step 114, the rotation axis correction unit 11F sets the initial value θ0 of the rotation angle θ calculated on the image coordinate system (x, y, z) in FIG. 6B as the offset of the rotation angle (yawing) of the robot hand 6. This offset is input to the coordinate / angle calculation unit 11C. The coordinate / angle calculation unit 11C uses the value (θ-θ0) obtained by subtracting the offset θ0 from the detected rotation angle θ as the rotation angle θ thereafter. Note that the following method may be used to calculate the offset θ0 of the rotation angle θ in step 114. In FIG. 6B, the rotation angle of the target point Pi (i = 0 to n-1) (coordinates (xi, yi)) on the circumference 56 is iΔθ (= 2πi / n), and the rotation angle of the measurement point Qi on the circumference 56Q of radius r is (iΔθ + θ0). Here, the following coefficients S and C are calculated. The symbol Σ represents the sum from 0 to (n-1) for i.

[0045] S = Σ{(yi / r) sin(iΔθ)} ... (8A) C = Σ{(xi / r) cos(iΔθ)} ... (8B) Using these coefficients S and C, the offset θ0 can be calculated as follows: θ0 = arctan(S / C) ... (8C) Alternatively, the coordinates (xc, yc) of the center of circumference 56Q may be calculated as follows: In these cases, it is preferable that the number of measurement points n is as large as possible. xc = (Σxi) / n ... (8D), yc = (Σyi) / n ... (8E)

[0046] Next, an example of a method for controlling the robot device 2 using information about the rotation axis of the robot hand 6 to process a workpiece will be described with reference to the flowchart of FIG. 5B. In step 122 of FIG. 5B, the position (xw, yw, zw) and angle θqw of the workpiece to be processed are detected in the image coordinate system (x, y, z) using the imaging device 22 of FIG. 1. As an example, the image of the workpiece to be processed is image 48I at position P1 in image 22G of FIG. 2C. At this time, the coordinate conversion unit 11E of FIG. 4 converts the position (xw, yw, zw) and angle θqw into a position (Xw, Yw, Zw) and angle θpw on the robot coordinate system (X, Y, Z) using the above-mentioned equation (3B).

[0047] In the next step 124, the rotation angle θ of the robot hand 6 by the robot arm 18C is set so that the angle (rotation angle) of the tweezers 8 of the robot hand 6 detected by the coordinate / angle calculation unit 11C becomes angle θpw. Furthermore, the robot arm 18C is moved in the robot coordinate system (X, Y, Z) so that the value of the gripping position 8d of the tweezers 8 detected by the coordinate / angle calculation unit 11C becomes (Xw, Yw, Zw). At this time, the tips of the movable parts 8b and 8c of the tweezers 8 are open. Furthermore, in order to set the value of the gripping position 8d to (Xw, Yw, Zw), for example, the rotation axis 6ax (center of rotation after offset correction) of the robot hand 6 may be moved to a position away from the position (Xw, Yw, Zw) by the angle θpw and the rotation radius R (value after offset correction).

[0048] In the next step 126, the fingers 38A, 38B of the robot hand 6 are closed, allowing the workpiece 48 to be grasped by the tweezers 8. Thereafter, in step 128, the robot hand 6 is moved to the destination of the workpiece via the robot arms 18A to 18C, and the fingers 38A, 38B are opened, allowing the robot hand 6 to detach from the workpiece. Then, in step 130, it is determined whether all of the workpieces have been processed, and if there are workpieces remaining to be processed, steps 122 to 128 are repeated. When there are no more workpieces to be processed, the workpiece processing process ends.

[0049] As described above, according to the control method for the robot device 2 of this embodiment, the offsets of the position (center of rotation) and radius R of the rotation axis 6ax of the robot hand 6 and the rotation angle θ (yawing) of the robot hand 6 are determined and corrected, thereby reducing the position error of the tip of the tweezers 8 (gripping position 8d) held by the robot hand 6 due to the rotation of the robot hand 6. Furthermore, even if the angle of the workpiece to be processed varies, the angle of the tweezers 8 held by the tweezers 8 can be accurately set to match the workpiece. Furthermore, because the distance from the center of rotation of the robot hand 6 to the workpiece can be accurately set to the rotation radius, the gripping position 8d of the tweezers 8 held by the robot hand 6 can be accurately controlled, allowing the workpiece to be accurately gripped or manipulated with the tweezers 8.

[0050] As described above, the robot device 2 of this embodiment includes: a robot hand 6; robot arms 18A to 18C that move the robot hand 6 in at least three degrees of freedom, including the rotational direction (rotation angle θ), on a robot coordinate system (X, Y, Z) (first coordinate system); encoders 16R, 18AR to 18CF (sensors) that detect position information of the robot hand 6 in the at least three degrees of freedom; an imaging device 22 and an image processing unit 11D (detection unit) that detect information related to the rotational axis of the robot hand 6 in the rotational direction (hereinafter also referred to as rotational axis information) on an image coordinate system (x, y, z) (second coordinate system); and a rotational axis correction unit 11F and an arm control unit 11G (control unit) that control the robot arms 18A to 18C based on the detection information of the encoders 16R, 18AR to 18CF and the rotational axis information detected by the detection units, in order to control the position of the robot hand 6 in the at least three degrees of freedom so as to compensate for a positional error of the gripping position 8d of the tweezers 8 of the robot hand 6 due to the rotation.

[0051] Furthermore, the control method for the robot device 2 of this embodiment includes steps 102 and 124 of detecting position information of the robot hand 6 in at least three degrees of freedom directions including the rotational direction on the robot coordinate system (X, Y, Z), steps 108 and 110 of detecting rotational axis information of the robot hand 6 in the rotational direction, and steps 112, 114 and 128 of controlling the robot arms 18A to 18C based on the detection results of the positional information of the robot hand 6 in the at least three degrees of freedom directions and the detection results of the rotational axis information, in order to control the position of the robot hand 6 in the at least three degrees of freedom directions so as to compensate for the positional error of the robot hand 6 due to the rotation.

[0052] According to this embodiment, rotation axis information (position of the rotation center, rotation radius, and rotation angle θ) of the robot hand 6 is detected. Therefore, by correcting the rotation axis information, an error in the gripping position 8d of the tweezers 8 held by the robot hand 6 due to the rotation of the robot hand 6 can be reduced. Note that instead of controlling the position of the gripping position 8d of the tweezers 8 on the robot coordinate system (X, Y, Z), it is also possible to control the gripping position 8d of the tweezers 8 at a certain point in time and the amount of movement to the target object (workpiece). Note that, although the robot hand 6 has three degrees of freedom in the rotation direction in the above-described embodiment, the robot hand 6 may also have at least one degree of freedom in the rotation direction. For example, the robot hand 6 may have one degree of freedom of yawing only, or two degrees of freedom of yawing and at least one of pitching and rolling.

[0053] The above-described embodiment can be modified as follows. In the above-described embodiment, the yawing offset of the robot hand 6 is corrected. Alternatively, the pitching and rolling angle offsets of the robot hand 6 in the image coordinate system (x, y, z) can be calculated. To achieve this, for example, the robot arms 18A to 18C may tilt the robot hand 6 by a predetermined angle θp or θr around the Y-axis or X-axis. At this time, the imaging device 22 may measure the difference in height in the z-direction between the tilt center before and after tilting and, for example, the gripping position 8d of the tweezers 8 held by the robot hand 6. When measuring rolling, the rotation angle of the robot hand 6 may be rotated 90 degrees relative to the angle at which yawing was measured. In these cases, by setting the intersection of the rotation axis 6ax and a line perpendicular to the rotation axis 6ax that passes through the gripping position 8d as the tilt center, the distance between the tilt center and the gripping position 8d becomes the same as the rotation radius R. Therefore, the pitching and rolling on the image coordinate system (x, y, z) can be calculated using the rotation radius R and the difference in height in the z direction, and the pitching and rolling offsets in the robot coordinate system (X, Y, Z) can be calculated. Note that although both the pitching and rolling of the robot hand 6 may be calculated in this way, it is also possible to calculate either the pitching or the rolling.

[0054] In the above-described embodiment, the imaging device 22 is used to image the tip (specific portion) of the tweezers 8 held by the robot hand 6. Alternatively, an object (specific portion) with a predetermined mark formed thereon may be provided at the tip of the tweezers 8 to facilitate imaging by the imaging device 22. The mark may be any mark or marker, such as a circle, cross, or polygonal symbol, alphabet or number, or a symbol containing predetermined information, such as a barcode. The mark may also be a so-called tag or an identification code, such as a QR code (registered trademark) (two-dimensional barcode).

[0055] Second Embodiment A second embodiment will be described with reference to FIGS. 7A to 8. In FIG. 7A, parts corresponding to those in FIGS. 1A, 2A, and 3A are designated by the same or similar reference numerals, and detailed descriptions thereof will be omitted. FIG. 7A shows a simplified view of a robot hand 6A driven by robot arms 18A to 18C (robot arms 18A and 18B are not shown) of a robot device according to this embodiment. In FIG. 7A, the coordinate system (X1, Y1, Z1) is the robot main body coordinate system (see FIG. 1A), and the coordinate system (X, Y, Z) is the robot coordinate system (see FIG. 2A). In this embodiment, the robot hand 6A also holds tweezers 8, and the fingers 38A and 38B of the robot hand 6A open and close the tweezers 8. Furthermore, the robot hand 6A can be rotated around a rotation axis 6Aax by the robot arm 18C. By rotating the robot hand 6A, the gripping position 8d of the tweezers 8 held by the robot hand 6A moves around the rotation axis 6Aax on a circumference with a rotation radius R. The rotation angle of the robot hand 6A (tweezers 8) around the rotation axis 6Aax is defined as θ.

[0056] In this embodiment, a force sensor 58 is provided between the tip 20A of the robot arm 18C and the actuator 32 of the robot hand 6A, capable of detecting six-degree-of-freedom forces and / or torques acting on the tip 20A from the robot hand 6A. The force sensor 58 can detect, for example, forces in the X, Y, and Z directions, as well as torques in the θx direction around the X axis, the θy direction around the Y axis, and the θz direction around the Z axis. A reference solid 60 made of a metal sphere is supported via a support member 62 on a workpiece (not shown) placement surface FL in a room where the robot device of this embodiment is installed. The shape of the reference solid 60 is known, and the coordinates of the center of the reference solid 60 in the robot coordinate system (X, Y, Z) and its size (here, radius) are input to a main control unit 11B (see FIG. 4) of a control device (not shown) for the robot device. The detection signal from the force sensor 58 is supplied to a contact detection unit (not shown) within the control device. In this case, when the robot arm 18C is driven to bring the tip of the tweezers 8 (grasping position 8d) held by the robot hand 6A into contact with the reference solid 60, the force sensor 58 can detect the force and torque in the contact direction, and the contact detection unit can detect that the tip of the tweezers 8 has come into contact with the reference solid 60 and the direction of that contact. Furthermore, an imaging device 22 is installed on the ceiling (or side wall, etc.) of the room in which the robot device of this embodiment is installed, and it is also possible to detect that the tip of the tweezers 8 has come into contact with the reference solid 60 from an image captured by the imaging device 22. The imaging device 22 may be omitted. The remaining configuration is the same as that of the first embodiment.

[0057] In addition, in this embodiment, instead of the spherical reference solid 60, it is possible to use a cylindrical reference solid 64 shown in Fig. 7(B), a reference solid 66 in the shape of a stack of a plurality of gradually smaller square flat plates shown in Fig. 7(C), or a columnar reference solid 68 shown in Fig. 8. Below, an example of a method for using the columnar reference solid 68 shown in Fig. 8 to obtain rotation axis information including the position (rotation position) of the rotation axis 6Aax of the robot hand 6A, the rotation radius R from the rotation axis 6Aax to the grip position 8d (specific portion) of the tweezers 8, and an offset of the rotation angle θ (yawing) around the rotation axis 6Aax will be described.

[0058] In Figure 8, a cylindrical reference solid 68 of radius RA is installed with a center 68A at a predetermined position on the robot coordinate system (X, Y, Z). When the tip of the tweezers 8 of the robot hand 6A is brought into contact with the outer surface of the reference solid 68, the rotation angle θ of the robot hand 6A is set so that the tweezers 8 are parallel to lines 70A, 70B, and 70C (other lines are omitted) connecting the gripping position 8d of the tweezers 8 of the robot hand 6A and the center 68A of the reference solid 68. In this case, the tip of the tweezers 8 is brought into contact with the outer surface of the reference solid 68 while gradually rotating the robot hand 6A around the rotation axis 6Aax. In this case, if the position of the rotation axis 6Aax is defined on the robot coordinate system (X, Y, Z), that position changes significantly as the robot hand 6A moves around the reference solid 68. Therefore, the value of the position (X2, Y2) on the robot hand coordinate system (X2, Y2, Z2) (see FIG. 2A) is used as the position (Xc, Yc) of the rotation axis 6Aax. Because the robot hand coordinate system (X2, Y2, Z2) is fixed to the robot hand 6A, the position (Xc, Yc) does not change even if the robot hand 6A is moved. In addition, in the initial state, the position (Xc, Yc) is (0, 0). In addition, when all offsets of the above-mentioned rotation axis information are 0, the tweezers 8 of the robot hand 6A contact the target points P1, ..., Pi, ... on the outer surface of the reference solid body 68.

[0059] However, because the rotation axis information actually contains an error (offset), it appears that there is a reference solid 68Q of radius RB with a center 68QA that is offset from the center 68A. That is, when contact is detected using the force sensor 58 in FIG. 7A, the tip of the tweezers 8 of the robot hand 6A contacts measurement points Q1, ..., Qi, ... on the outer surface of the reference solid 68Q of radius RB centered at position 68QA in the robot coordinate system (X, Y, Z) in FIG. 8. FIG. 8 shows the state in which the tweezers 8 of the robot hand 6A contacts the reference solid 68Q at five positions PA, PB, PC, PD, and PE around the reference solid 68Q. In reality, the tweezers 8 of the robot hand 6A contacts the reference solid 68Q at many more positions.

[0060] At this time, when the measurement point Q1, etc. is closer to the robot hand 6A than the target point P1, etc., as in positions PA, PB, and PE, and the amount of movement of the tweezers 8 toward the center 68QA of the tip end (hereinafter referred to as the feed amount) is smaller, the errors δa, δb, and δe of the feed amount of the tweezers 8 toward the reference solid 68Q are set to negative values ​​(-δa, -δb, -δe). On the other hand, when the target point Pi, etc. is closer to the robot hand 6A than the measurement point Qi, etc., as in positions PC and PD, and the amount of feed of the tweezers 8 toward the center 68QA of the tip end is larger, the errors δc and δd of the feed amount of the tweezers 8 toward the reference solid 68Q are set to positive values. In addition, the distribution of the measurement target points Pi with respect to the reference solid 68 is set to positions obtained by dividing the outer periphery of the reference solid 68 into n equal parts.

[0061] Furthermore, the errors in the X and Y directions of the feed amount calculated for n target points Pi and measurement points Qi (i = 0 to n-1) around the reference solid 68 are defined as (sxi, syi) (i = 0 to n-1). In this case, if the errors in the X and Y directions of the position (Xc, Yc) of the rotation axis 6Aax are defined as (cx, cy), and the error in the rotation radius R is defined as δR, these errors are as follows. Note that the symbol Σ represents the sum from 0 to (n-1) with respect to i. Furthermore, the sign in equation (9C) is +1 when the tweezers 8 are pressed closer to the center 68A than the target point Pi, as in positions PC and PD, and is -1 when the tweezers 8 hit the reference solid 68Q before the target point Pi, as in positions PA and PB. cx = (Σsxi) / n ... (9A) cy = (Σsyi) / n ... (9B) δR = {Σsign(sxi 2 +syi 2 ) 1 / 2 } / n ... (9C)

[0062] Furthermore, regarding the offset of the rotation angle θ (yawing), for example, if the direction around the Z axis of the force detected by the force sensor 58 in FIG. 7A when the tweezers 8 of the robot hand 6A contact the reference solid 68 n times is θi (i = 1 to n-1), the offset of the rotation angle θ is calculated as follows: Offset of rotation angle θ = (Σθi) / n ... (9D) After this, when the robot hand 6A is driven by the robot arm 18C, the position of the rotation axis A6ax, the rotation radius R, and the offset of the rotation angle (yawing) are corrected. This reduces the position error of the tip of the tweezers 8 held by the robot hand 6A (gripping position 8d) due to the rotation of the robot hand 6A. Furthermore, in this embodiment, even if a spherical reference solid 60 or a cylindrical reference solid 64, 66 is used, the rotation axis information can be obtained in the same way as when a cylindrical reference solid 68 is used.

[0063] 7A, the force sensor 58 may be disposed between the reference solid 60 and the support member 62. In this case, even if the robot hand 6 of the first embodiment is used instead of the robot hand 6A, the rotation axis information can be obtained without using the imaging device 22.

[0064] Next, a modified example of the first embodiment shown in FIG. 1A and other figures will be described with reference to FIGS. 9A to 9D. In FIG. 9A, parts corresponding to those in FIGS. 1A, 2A, and 3A are designated by the same or similar reference numerals, and detailed descriptions thereof will be omitted. FIG. 9A shows a simplified view of a robot hand 6 driven by robot arms 18A to 18C (see FIG. 1A, not shown in FIG. 9A) of a robot device according to this modified example. An imaging device 22A is attached to the actuator 32 of the robot hand 6 of the modified robot device via a support member 50. A fixed imaging device 22 (see FIG. 1A) may also be installed on the ceiling of a room in which the robot device is installed. The optical axis of the imaging device 22A is designed to be parallel to the rotation axis 6ax (see FIG. 2A) of the robot hand 6, and the grasping position 8d (the grasping center of the tip) of the tweezers 8 held by the robot hand 6 is within the field of view of the imaging device 22A. The imaging device 22A also has an autofocus mechanism. In this modification, the coordinate system in the image captured by the imaging device 22A is referred to as the image coordinate system (x, y, z). Because the imaging device 22A is supported by the robot hand 6, the image coordinate system (x, y, z) moves and rotates relative to the fixed robot coordinate system (X, Y, Z) as the robot hand 6 moves and rotates. By design, the imaging device 22A is supported so that when the rotation angle (yawing) of the robot hand 6 about the Z axis is 0, the x-axis and y-axis of the image coordinate system (x, y, z) are parallel to the x-axis and y-axis of the robot coordinate system (X, Y, Z), respectively. The other configurations of the robot device are the same as those in the first embodiment.

[0065] In FIG. 9A, a reference object 72 formed of a truncated quadrangular pyramid is fixed to the floor of a room in which a robot device is installed by a fixing member (not shown). Two orthogonal sides of the square base of the reference object 72 are assumed to be parallel to the X and Y axes of the robot coordinate system (X, Y, Z). Identical reference figures 74A, 74B, 74C, and 74D, each having a circular or elliptical shape, are provided on four diagonal sides of the reference object 72. As an example, with the rotation axis of the robot hand 6 set parallel to the Z axis via robot arms 18A-18C (not shown), the robot hand 6 (image capture device 22A) is moved above the reference object 72, and an image of the reference object 72 is captured by the image capture device 22A. The image thus obtained by the image capture device 22A is assumed to be image 72G shown in FIGS. 9B-9D.

[0066] 9A, it is assumed that the offsets of the rotation angle (yawing Ya) about the Z axis, the rotation angle (rolling R) about the Y axis, and the rotation angle (pitching P) about the X axis of the robot hand 6 (tweezers 8) are 0. In this case, as shown in FIG. 9B, an image 72G of the reference object 72 obtained by the imaging device 22A includes an elliptical image 74AI in the −y direction having a major axis radius a1 and a minor axis radius b1, an elliptical image 74BI in the −x direction having a major axis radius a2 and a minor axis radius b2, an elliptical image 74CI in the +y direction having a major axis radius a3 and a minor axis radius b3, and an elliptical image 74DI in the +x direction having a major axis radius a4 and a minor axis radius b4. The shapes of the elliptical images 74AI to 74DI are identical (a1 = a2 = a3 = a4, b1 = b2 = b3 = b4), the line passing through the centers of the elliptical images 74AI and 74CI that face each other in the y direction is parallel to the y axis, and the line passing through the centers of the elliptical images 74BI and 74DI that face each other in the x direction is parallel to the x axis. The shapes (including the tilt angles) and centers of the elliptical images 74AI to 74DI can be determined by fitting the captured images to an ellipse.

[0067] On the other hand, if the robot hand 6 has a yawing offset Ya, the image 72G of the imaging device 22A is tilted around the z-axis as shown in FIG. 9C. The yawing offset Ya of the robot hand 6 can be calculated from this tilt angle. Furthermore, if the robot hand 6 has a pitching offset P, the image 72G of the imaging device 22A shows that the two elliptical images 74AI and 74CI facing each other in the y direction have different sizes as shown in FIG. 9D. The pitching offset P of the robot hand 6 can be calculated by dividing the average value δa of the difference in size between the elliptical images 74AI and 74CI by the distance δy between the centers of the elliptical images 74AI and 74CI in the y direction. δa = {(a1 - a3) / 2 + (b1 - b3) / 2)} / 2 (10)

[0068] Similarly, the offset of the rolling R of the robot hand 6 can be calculated from the difference in size between two elliptical images 74BI and 74DI facing each other in the x direction in the image 72G. As described above, according to this modification, the offsets of the yawing Ya, rolling R, and pitching P of the robot hand 6 can be easily calculated by using the imaging device 22A supported by the robot hand 6 and the truncated pyramidal reference object 72. Thereafter, the offsets are corrected and the tweezers 8 are moved by the robot hand 6, thereby reducing the positioning error of the tip of the tweezers 8. While the above embodiment describes the robot hand 6 holding the tweezers 8, the above embodiment and its modifications can also be applied when the robot hand 6 holds any tool other than the tweezers 8. Essentially, any robot hand may be used as long as it is equipped with a tool whose gripping or manipulating unit for grasping or manipulating an object is offset from the center of rotation of the robot hand.

[0069] Next, the robot hands 6, 6A in the above-described embodiments can be connected to the robot arms of any robot device configuration, such as a horizontally articulated type (SCARA type), a parallel link type, or an orthogonal type, in addition to the vertically articulated type robot device 2. Furthermore, the robot hands 6, 6A are not limited to the above-described robot devices, but can also be applied to various robot devices (for example, assembly robots, human-collaborative robots, etc.) that have joint structures similar to other robot arms.

[0070] The following aspects of the invention are also described in this specification. 1) A robot device comprising: a robot hand; a robot arm that moves the robot hand in at least three directions of degrees of freedom including a rotational direction on a first coordinate system; a sensor that detects position information of the robot hand in the at least three directions of degrees of freedom; a detection unit that detects rotational axis information of the robot hand in the rotational direction; and a control unit that controls the robot arm based on the detection information of the sensor and the rotational axis information detected by the detection unit to control the position of the robot hand in the at least three directions of degrees of freedom so as to compensate for a positional error of the robot hand due to the rotation. 2) The robot device described in 1, wherein the control unit controls the robot arm to correct a target position or a movement amount of the robot hand based on the rotational axis information. 3) The robot device described in 1 or 2, wherein the at least three directions of degrees of freedom include at least one of two directions orthogonal to each other within a predetermined plane on the first coordinate system, and the rotational direction is a rotational direction around an axis orthogonal to the predetermined plane. 4) The robot device according to 3), wherein the robot hand is movable in a rotation direction different from the rotation direction, and the different rotation direction includes a rotation direction around an axis parallel to at least one of the two directions. 5) The robot device according to any one of 1 to 4), wherein the detection unit has a calculation unit that acquires position information of the robot hand at each of a plurality of positions with respect to the rotation direction and calculates the rotation axis information based on the acquired plurality of pieces of position information. 6) The robot device according to 5), wherein the detection unit acquires the position information of the robot hand on a second coordinate system different from the first coordinate system. 7) The robot device according to 5 or 6), wherein the rotation axis information includes at least one of a position of a rotation axis that rotates the robot hand relative to the robot arm, a rotation radius from the rotation axis to a specific portion of the robot hand, and an offset of the position of the robot hand with respect to the rotation direction.

[0071] 8) The robot device according to 7), wherein the detection unit has an imaging device that detects the specific part of the robot hand, and detects the specific part at each of the multiple positions using the imaging device to acquire the multiple pieces of position information, and the calculation unit calculates at least one of the position of the rotation axis, the rotation radius, and an offset related to the position in the rotation direction based on the acquired position information. 9) The robot device according to 8), wherein the imaging device is provided outside the robot arm and the robot hand. 10) The robot device according to 5), wherein the detection unit has a reference member that can come into contact with the robot hand and a force sensor that detects contact of the robot hand with the reference member, and acquires the multiple pieces of position information based on detection information from the force sensor, and the robot hand is moved by the robot arm so as to bring the robot hand into contact with the reference member at each of the multiple positions. 11) The robot device according to 10), wherein the reference member is a sphere, a cylindrical member, or a truncated pyramidal member having four inclined side surfaces. 12) The robot device according to 10 or 11, wherein the force sensor detects at least one of force information in directions of three mutually perpendicular axes when the robot hand contacts the reference member and torque information about the three axes. 13) The robot device according to any one of 1 to 12, wherein the robot hand has a plurality of fingers, at least one of which is movable, and is capable of grasping an object with the plurality of finger portions. 14) A control method for a robot device including a robot hand and a robot arm that moves the robot hand in at least three degrees of freedom directions including a rotational direction on a first coordinate system, the control method comprising: detecting position information of the robot hand in the at least three degrees of freedom directions; detecting rotational axis information of the robot hand in the rotational direction; and controlling the robot arm based on the detection results of the positional information of the robot hand in the at least three degrees of freedom directions and the detection results of the rotational axis information, in order to control the position of the robot hand in the at least three degrees of freedom directions so as to compensate for a positional error of the robot hand due to the rotation.

[0072] 15) The control method for a robot device according to 14, wherein controlling the robot arm includes correcting a target position or a movement amount of the robot hand based on the rotation axis information. 16) The control method for a robot device according to 14 or 15, wherein the at least three degrees of freedom directions include at least one of two directions orthogonal to each other within a predetermined plane on the first coordinate system, and the rotation direction is a rotation direction around an axis orthogonal to the predetermined plane. 17) The control method for a robot device according to 16, wherein the robot hand is movable in a rotation direction different from the rotation direction, and the different rotation direction includes a rotation direction around an axis parallel to at least one of the two directions. 18) The robot device according to any one of 14 to 17, wherein detecting the rotation axis information includes acquiring position information of the robot hand at a plurality of positions with respect to the rotation direction, and calculating the rotation axis information based on the acquired plurality of position information. 19) The control method for a robot device according to 18, wherein detecting the rotation axis information includes acquiring the position information of the robot hand on a second coordinate system different from the first coordinate system. 20) A control method for a robot device described in 18 or 19, wherein the rotation axis information includes at least one of the position of a rotation axis that rotates the robot hand relative to the robot arm, the rotation radius from the rotation axis to a specific part of the robot hand, and an offset of the position of the robot hand relative to the rotation direction.

[0073] 21) The control method for a robot device according to 20, wherein detecting the rotation axis information includes detecting the specific part of the robot hand at the multiple positions using an imaging device to acquire the multiple pieces of position information, and calculating at least one of the position of the rotation axis, the rotation radius, and a position offset related to the rotation direction based on the acquired position information. 22) The robot device according to 21, wherein the imaging device is provided external to the robot arm and the robot hand. 23) The control method for a robot device according to 18, wherein detecting the rotation axis information includes acquiring the multiple pieces of position information based on detection information from a force sensor that detects contact of the robot hand with a reference member, and includes moving the robot hand by the robot arm so as to bring the robot hand into contact with the reference member at each of the multiple positions. 24) The control method for a robot device according to 23, wherein the reference member is a sphere, a cylindrical member, or a truncated pyramidal member having four inclined side surfaces. 25) The method for controlling a robot device according to 23 or 24, wherein the force sensor detects at least one of force information in the directions of three mutually perpendicular axes when the robot hand contacts the reference member and torque information around the three axes. 26) The method for controlling a robot device according to any one of 14 to 25, wherein the robot hand has a plurality of finger portions, at least one of which is movable, and is capable of grasping an object with the plurality of finger portions.

[0074] 2...Robot device, 6, 6A...Robot hand, 8...Tweezers, 8b, 8c...Moving part of tweezers, 10...Control device of robot device, 12...Control device of robot hand, 16...Rotating part, 18A to 18C...Robot arm, 22...Imaging device, 26...Tweezers holding part, 28...Hand main body part, 32...Actuating part, 38A, 38B...Fingers, 48, 48A...Workpiece, 58...Force sensor, 60, 68...Reference solid, 72...Reference object

Claims

1. A robot device comprising: a robot hand; a robot arm that moves the robot hand in at least three degrees of freedom including a rotational direction on a first coordinate system; a sensor that detects position information of the robot hand in the at least three degrees of freedom; a detection unit that detects rotational axis information of the robot hand in the rotational direction; and a control unit that controls the robot arm based on the detection information of the sensor and the rotational axis information detected by the detection unit, in order to control the position of the robot hand in the at least three degrees of freedom so as to compensate for positional errors of the robot hand due to the rotation.

2. The robot device according to claim 1, wherein the control unit controls the robot arm so as to correct a target position or a movement amount of the robot hand based on the rotation axis information.

3. The robot device according to claim 1, wherein the at least three degrees of freedom directions include at least one of two directions that are mutually perpendicular within a specified plane on the first coordinate system, and the rotation direction is a rotation direction around an axis that is perpendicular to the specified plane.

4. The robot device according to claim 3, wherein the robot hand is movable in a rotational direction different from the rotational direction, and the different rotational direction includes a rotational direction about an axis parallel to at least one of the two directions.

5. A robot device according to any one of claims 1 to 4, wherein the detection unit acquires position information of the robot hand at a plurality of positions in the rotation direction, and has a calculation unit that calculates the rotation axis information based on the acquired plurality of position information.

6. The robot device according to claim 5, wherein the detection unit acquires the position information of the robot hand on a second coordinate system different from the first coordinate system.

7. The robot device of claim 5, wherein the rotation axis information includes at least one of the position of a rotation axis that rotates the robot hand relative to the robot arm, a rotation radius from the rotation axis to a particular portion of the robot hand, and an offset of the position of the robot hand relative to the direction of rotation.

8. The robot device according to claim 7, wherein the detection unit has an imaging device that detects the specific part of the robot hand, and detects the specific part at each of the multiple positions using the imaging device to obtain the multiple pieces of position information, and the calculation unit calculates at least one of the position of the rotation axis, the rotation radius, and an offset related to the position in the rotation direction based on the obtained position information.

9. The robot device according to claim 8, wherein the imaging device is provided outside the robot arm and the robot hand.

10. A robot device as described in claim 5, wherein the detection unit has a reference member that can come into contact with the robot hand and a force sensor that detects contact of the robot hand with the reference member, and obtains the multiple position information based on detection information from the force sensor, and the robot hand is moved by the robot arm so as to bring the robot hand into contact with the reference member at each of the multiple positions.

11. The robotic device according to claim 10, wherein the reference member is a sphere, a cylindrical member, or a truncated pyramid member having four sloping sides.

12. The robot device according to claim 10, wherein the force sensor detects at least one of force information in the directions of three mutually perpendicular axes when the robot hand contacts the reference member, and torque information about the three axes.

13. A robot device according to any one of claims 1 to 4, wherein the robot hand has a plurality of finger portions, at least one of which is movable, and is capable of grasping an object with the plurality of finger portions.

14. A method for controlling a robot device comprising a robot hand and a robot arm for moving the robot hand in at least three directions of degrees of freedom including a rotational direction on a first coordinate system, comprising: detecting position information of the robot hand in the at least three directions of degrees of freedom; detecting rotation axis information of the robot hand in the rotational direction; and controlling the robot arm based on the detection results of the position information of the robot hand in the at least three directions of degrees of freedom and the detection results of the rotational axis information, in order to control the position of the robot hand in the at least three directions of degrees of freedom so as to compensate for a position error of the robot hand due to the rotation.

15. The method for controlling a robot device according to claim 14, wherein controlling the robot arm includes correcting a target position or a movement amount of the robot hand based on the rotation axis information.

16. A method for controlling a robot device as described in claim 14, wherein the at least three degrees of freedom directions include at least one of two directions perpendicular to each other within a specified plane on the first coordinate system, and the rotation direction is a rotation direction around an axis perpendicular to the specified plane.

17. The method for controlling a robot device according to claim 16, wherein the robot hand is movable in a rotational direction different from the rotational direction, and the different rotational direction includes a rotational direction around an axis parallel to at least one of the two directions.

18. A robot device according to any one of claims 14 to 17, wherein detecting the rotation axis information includes acquiring position information of the robot hand at each of a plurality of positions in the rotation direction, and calculating the rotation axis information based on the acquired plurality of position information.

19. The method for controlling a robot device according to claim 18, wherein detecting the rotation axis information includes acquiring the position information of the robot hand on a second coordinate system different from the first coordinate system.

20. A method for controlling a robot device as described in claim 18, wherein the rotation axis information includes at least one of the position of a rotation axis that rotates the robot hand relative to the robot arm, a rotation radius from the rotation axis to a specific part of the robot hand, and an offset of the position of the robot hand with respect to the rotation direction.

21. A method for controlling a robot device as described in claim 20, wherein detecting the rotation axis information includes: detecting the specific parts of the robot hand at the multiple positions using an imaging device to obtain the multiple position information; and calculating at least one of the position of the rotation axis, the rotation radius, and a position offset related to the rotation direction based on the obtained position information.

22. The robot device according to claim 21, wherein the imaging device is provided outside the robot arm and the robot hand.

23. A method for controlling a robot device as described in claim 18, wherein detecting the rotation axis information includes acquiring the multiple position information based on detection information from a force sensor that detects contact of the robot hand with a reference member, and moving the robot hand by the robot arm so as to bring the robot hand into contact with the reference member at each of the multiple positions.

24. The method for controlling a robot device according to claim 23, wherein the reference member is a sphere, a cylindrical member, or a truncated pyramid member having four inclined sides.

25. A method for controlling a robot device as described in claim 23, wherein the force sensor detects at least one of force information in the directions of three mutually perpendicular axes when the robot hand contacts the reference member, and torque information about the three axes.

26. A method for controlling a robot device according to any one of claims 14 to 17, wherein the robot hand has a plurality of finger portions, at least one of which is movable, and an object can be grasped by the plurality of finger portions.

Citation Information

Patent Citations

  • Position detection device, position control device and robot control device

    JP1999165287A

  • Tool location correcting method for articulated robot

    JP2006082171A

  • Tool coordinate system correction method of robot system and robot system

    JP2015155126A

  • Robot system, and robot system control method

    JP2022142376A