Easy To Use Patents Search & Patent Lawyer Directory

At Patents you can conduct a Patent Search, File a Patent Application, find a Patent Attorney, or search available technology through our Patent Exchange. Patents are available using simple keyword or date criteria. If you are looking to hire a patent attorney, you've come to the right place. Protect your idea and hire a patent lawyer.


Search All Patents:



  This Patent May Be For Sale or Lease. Contact Us

  Is This Your Patent? Claim This Patent Now.



Register or Login To Download This Patent As A PDF




United States Patent Application 20170050316
Kind Code A1
HARADA; Tomoki ;   et al. February 23, 2017

ROBOT

Abstract

A robot includes a hand that grips an object and a control unit that operates the hand, the hand includes fingers that are able to grip the object at four or more contact points, and an object of which a metallic tone index is equal to or higher than 5 is gripped with the hand.


Inventors: HARADA; Tomoki; (Matsumoto, JP) ; HASHIMOTO; Koichi; (Sendai, JP) ; ARAI; Shogo; (Sendai, JP) ; YAMAGUCHI; Kengo; (Sendai, JP)
Applicant:
Name City State Country Type

Seiko Epson Corporation

Tokyo

JP
Family ID: 1000002293804
Appl. No.: 15/345964
Filed: November 8, 2016


Related U.S. Patent Documents

Application NumberFiling DatePatent Number
14663897Mar 20, 20159527209
15345964

Current U.S. Class: 1/1
Current CPC Class: B25J 9/1612 20130101; B25J 9/1697 20130101; B25J 15/0042 20130101; G05B 2219/40607 20130101; G05B 2219/39487 20130101; G05B 2219/40053 20130101; G05B 2219/40583 20130101; G05B 2219/39476 20130101
International Class: B25J 9/16 20060101 B25J009/16; B25J 15/00 20060101 B25J015/00

Foreign Application Data

DateCodeApplication Number
Mar 25, 2014JP2014-061478

Claims



1. A robot comprising: a hand that grips an object; a control unit that operates the hand; and, a grip planning unit that determines an opening and closing direction of the fingers, wherein the hand includes fingers that are able to grip the object at four or more contact points, and wherein the object of which a metallic tone index is equal to or higher than 5 is gripped with the hand, wherein the grip planning unit inclines the fingers in the same direction as the inclination of the length direction of the object about a plane on which the object is placed from the direction perpendicular to the plane when an angle between the plane and the length direction of the object is equal to or greater than a predetermined angle threshold.

2. The robot according to claim 1, wherein the control unit includes: a position and attitude calculating unit that calculates position and attitude of the object on the basis of a three-dimensional point group obtained by imaging the object; and wherein the grip planning unit that determines an opening and closing direction of the fingers in a direction perpendicular to a length direction of the object and an imaging direction of the object.

3. The robot according to claim 2, wherein the grip planning unit causes the hand to approach the object from a point spaced apart by a predetermined distance from the position of the object in a direction perpendicular to the length direction of the object and not having a component parallel to the plane.

4. The robot according to claim 1, wherein the control unit includes an attitude control unit that adjusts an attitude of the object by changing a force for gripping the object with the hand.

5. The robot according to claim 4, wherein the fingers have a shape and a size enabling caging and self alignment on the object.
Description



CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This is a continuation application of U.S. patent application Ser. No. 14/663,897 filed Mar. 20, 2015, which claims priority to Japanese Patent Application No. 2014-061478, filed Mar. 25, 2014, both of which are expressly incorporated by reference herein in their entireties.

BACKGROUND

[0002] 1. Technical Field

[0003] The present invention relates to a robot.

[0004] 2. Related Art

[0005] Demand for bin picking of objects having a metallic gloss using a robot has increased more and more. Bin picking means that plural objects piled in a random manner are sequentially gripped and moved to a designated location one by one. An example of an object having a metallic gloss is a metallic bolt. When objects piled on a plane in a random manner are picked, information in a height direction (Z direction) perpendicular to the plane is necessary. Accordingly, detection of one of the objects, which have been piled on the plane, having a metallic gloss has been attempted using an image captured in a direction intersecting the plane with a general-use camera. At this time, a target might not be accurately recognized even by processing the captured image and an error in the detected position or attitude might increase. Accordingly, it has been considered that it is difficult to perform bin picking based on an image using a robot. On the other hand, when objects having a metallic gloss such as bolts are treated in a working spot, the objects might be distributed by adjusting the attitudes of the objects using a dedicated parts feeder.

[0006] JP-A-2009-128201 is an example of the related art.

[0007] Since it is difficult to treat a lot of objects at a time with a single parts feeder, the parts feeder might be used for each type of object. Accordingly, the spatial costs for installing the parts feeders and the temporal costs for treating the parts feeders have been great.

SUMMARY

[0008] An advantage of some aspects of the invention is that it provides a robot that can satisfactorily grip an object having a metallic gloss.

[0009] An aspect of the invention is directed to a robot including: a hand that grips an object; and a control unit that operates the hand, in which the hand includes fingers that are able to grip the object at four or more contact points and the object of which a metallic tone index is equal to or higher than 5 is gripped with the hand.

[0010] According to this configuration, since the fingers can grip an object at four or more contact points, it is possible to stably grip objects, which have been piled in a random manner, having a metallic gloss.

[0011] Another aspect of the invention is directed to the robot described above, wherein the control unit includes: a position and attitude calculating unit that calculates a position and attitude of the object on the basis of a three-dimensional point group obtained by imaging the object; and a grip planning unit that determines an opening and closing direction of the fingers in a direction perpendicular to a length direction of the object and an imaging direction of the object.

[0012] According to this configuration, since the imaging direction of the object and the opening and closing direction of the fingers are perpendicular to each other, accumulation of the error is not concentrated on a specific direction even when an error in the imaging direction of the position of the object based on imaging data is greater than that in the other directions and an error in the opening and closing direction of the fingers is smaller than that in the other directions. Since the fingers are opened and closed in the direction perpendicular to the length direction of the object, the hand can satisfactorily grip the object.

[0013] Still another aspect of the invention is directed to the robot described above, wherein the grip planning unit causes the hand to approach the object from a point spaced apart by a predetermined distance from the position of the object in a direction perpendicular to the length direction of the object and not having a component parallel to a plane on which the object is placed.

[0014] According to this configuration, the hand approaches the object in the direction not having a component parallel to the object to be gripped and the plane on which the object is placed with a point spaced apart by a predetermined distance from the position of the object as a base point. Accordingly, since the possibility that the hand will come in contact with the object or the plane on which the object is placed can be reduced, it is possible to satisfactorily grip the object.

[0015] Yet another aspect of the invention is directed to the robot described above, wherein the grip planning unit inclines the fingers in the same direction as the inclination of the length direction of the object about the plane from the direction perpendicular to the plane when an angle between the plane and the length direction of the object is equal to or greater than a predetermined angle threshold.

[0016] According to this configuration, when the inclination of the object from the plane on which the object is placed is great, the opening and closing direction of the fingers is inclined in a direction closer to the direction perpendicular to the length direction of the object depending on the inclination. Accordingly, even when the hand approaches the object from the direction perpendicular to the length direction of the object, it is possible to satisfactorily grip the object.

[0017] Still yet another aspect of the invention is directed to the robot described above, wherein the control unit includes an attitude control unit that adjusts attitude of the object by changing a force for gripping the object with the hand.

[0018] According to this configuration, since the attitude of the gripped object is autonomously adjusted, it is possible to skip or save manual operations associated with the adjustment.

[0019] Further another aspect of the invention is directed to the robot described above, wherein the fingers have a shape and a size enabling caging and self alignment on the object.

[0020] According to this configuration, when adjusting the attitude of the object, it is possible to utilize a gravitational force applied to the object by reducing the force for gripping the object with the hand. By increasing the force for gripping the object with the hand, it is possible to adjust the attitude of the object depending on the shape of the opposing surfaces of the pair of fingers.

BRIEF DESCRIPTION OF THE DRAWINGS

[0021] The invention will be described with reference to the accompanying drawings, wherein like numbers reference like elements.

[0022] FIG. 1 is a perspective view schematically illustrating a robot system according to an exemplary embodiment of the invention.

[0023] FIG. 2 is a block diagram schematically illustrating a configuration of the robot according to this exemplary embodiment.

[0024] FIG. 3 is a flowchart illustrating a robot control process according to this exemplary embodiment.

[0025] FIG. 4 is a diagram illustrating an example of a two-dimensional image.

[0026] FIG. 5 is a diagram illustrating an example of a model approximating the shape of an object.

[0027] FIG. 6 is a flowchart illustrating a position and attitude estimating process according to this exemplary embodiment.

[0028] FIG. 7 is a flowchart illustrating a gripping difficulty level calculating process according to this exemplary embodiment.

[0029] FIG. 8 is a flowchart illustrating a grip planning process according to this exemplary embodiment.

[0030] FIGS. 9A to 9E are diagrams illustrating an example of a positional relationship between a hand and an object in the grip planning process according to this exemplary embodiment.

[0031] FIGS. 10A to 10D are diagrams illustrating a direction checking process according to this exemplary embodiment.

[0032] FIGS. 11A to 11C are diagrams illustrating an example of a positional relationship between fingers of the hand and an object in attitude control according to this exemplary embodiment.

[0033] FIGS. 12A to 12C are diagrams schematically illustrating a configuration of the hand according to this exemplary embodiment.

[0034] FIGS. 13A and 13B are diagrams illustrating a claw opening and closing mechanism according to this exemplary embodiment.

[0035] FIGS. 14A to 14C are diagrams illustrating an object which can be gripped with the claws according to this exemplary embodiment.

[0036] FIG. 15 is a diagram illustrating a maximum size which can be gripped and shape parameters of the claws according to this exemplary embodiment.

[0037] FIGS. 16A and 16B are diagrams illustrating a size of a part which can be gripped depending on a relationship between vertices of the claws and the part according to this exemplary embodiment.

[0038] FIGS. 17A and 17B are diagrams illustrating a relationship between the vertices of the claws and the part according to this exemplary embodiment.

[0039] FIGS. 18A to 18C are diagrams illustrating the size of a part which can be gripped when the claws are closed according to this exemplary embodiment.

[0040] FIG. 19 is a diagram illustrating the minimum size of a part which can be gripped with the claws according to this exemplary embodiment.

[0041] FIGS. 20A and 20B are diagrams illustrating parameters of a caging region according to this exemplary embodiment.

[0042] FIGS. 21A and 21B are diagrams illustrating the shape of the caging region and parameters thereof according to this exemplary embodiment.

[0043] FIG. 22 is a diagram illustrating an example in which the distance in the x direction of the caging region according to this exemplary embodiment is c.sub.21.

[0044] FIG. 23 is a diagram illustrating an example in which the distance in the x direction of the caging region according to this exemplary embodiment is c.sub.22.

[0045] FIG. 24 is a diagram illustrating an example in which the distance in the x direction of the caging region according to this exemplary embodiment is c.sub.23.

[0046] FIG. 25 is a diagram illustrating an example in which the distance in the x direction of the caging region according to this exemplary embodiment is c.sub.24.

[0047] FIG. 26 is a diagram illustrating a relationship between the maximum size which can be caged and distances c.sub.1, c.sub.2, and c.sub.lim according to this exemplary embodiment.

[0048] FIGS. 27A and 27B are diagrams illustrating self alignment conditions according to this exemplary embodiment.

[0049] FIGS. 28A and 28B are diagrams illustrating a force applied to a part from the claws according to this exemplary embodiment.

[0050] FIG. 29 is a diagram illustrating a relationship between a radius of a part and the vertices according to this exemplary embodiment.

[0051] FIG. 30 is a diagram illustrating a configuration of a robot system according to a modification example of this exemplary embodiment.

DESCRIPTION OF EXEMPLARY EMBODIMENTS

[0052] Hereinafter, an exemplary embodiment of the invention will be described in detail with reference to the accompanying drawings.

[0053] In the drawings, scales of parts or structures may be different from actual ones for the purpose of clarifying the drawings.

[0054] FIG. 1 is a perspective view schematically illustrating a robot system 1 according to this exemplary embodiment.

[0055] As illustrated in FIG. 1, the robot system 1 includes a robot 10 and an imaging device 80.

[0056] The robot 10 includes a moving mechanism 12, a base 50, and a control unit 60. The moving mechanism 12 includes an arm 20 and a hand 40.

[0057] The robot 10 is a vertical articulated robot having six-axis degree of freedom by cooperation of the arm 20 and the hand 40. The robot 10 can freely change a position and attitude of a workpiece Wk that is gripped with the hand 40.

[0058] One end of the arm 20 is connected to the hand 40. The other end of the arm 20 is fixed to the base 50. The arm 20 includes joints at a position closer to the other end thereof than the one end and at a position closer to the one end thereof than the other end. The position of the hand 40 connected to the one end of the arm 20 is controlled by rotation of the respective joints.

[0059] The hand 40 includes two fingers 41 and 42 and a support member 520. The base ends of the fingers 41 and 42 are supported by the support member 520. On the other hand, the tips of the fingers 41 and 42 can get close to each other or be spaced apart from each other in a plane parallel to the length direction of the fingers 41 and 42. In the following description, the getting close to each other and the being spaced apart from each other are referred to as "closing" and "opening", respectively, and the "closing" and the "opening" are also referred to as "opening and closing".

[0060] The hand 40 opens the tips of the fingers 41 and 42, moves to a position at which a workpiece Wk is interposed therebetween, and then closes the tips of the fingers 41 and 42. By this operation, the hand 40 can grip the workpiece Wk. The hand 40 can carry the workpiece Wk by moving with the workpiece Wk gripped therewith. The configuration of the fingers 41 and 42 will be described later.

[0061] The support member 520 has a rotation axis in the direction in which one end of the arm 20 extends and is supported so as to be rotatable around the rotation axis. By causing the support member 520 to rotate, the direction (opening and closing direction) in which the tips of the fingers 41 and 42 are opened and closed is changed around the rotation axis.

[0062] The support member 520 includes a detection unit 63 (see FIG. 2) that detects a force and a moment for gripping a workpiece Wk. The detection unit 63 is, for example, a pressure sensor. The detection unit 63 outputs a load signal indicating the detected force and the detected moment to the control unit 60. By this configuration, a control error of the position or attitude of the hand 40 in the opening and closing direction of the fingers 41 and 42 becomes smaller than the control error in the direction of the rotation axis of the support member 520.

[0063] The robot 10 includes encoders (not illustrated) that detect an opening angle between the fingers 41 and 42, a rotation angle of the support member 520, and a rotation angle of the joints of the arm 20. The encoders generate detection signals indicating the detected opening angle, the detected rotation angle, and the like and output the generated detection signals to the control unit 60.

[0064] The base 50 is fixed to the bottom surface so as to support the moving mechanism 12. The base 50 receives the control unit 60.

[0065] The control unit 60 controls operations of one or both of the arm 20 and the hand 40. For example, the control unit 60 causes the arm 20 to operate, causes the hand 40 to move to the vicinity of a workpiece Wk, and causes the support member 520 to grip the workpiece Wk. The load signal from the detection unit 63 (FIG. 2), the detection signals from the encoders, and image data from the imaging device 80 are input to the control unit 60. The control unit 60 uses the input load signal, the input detection signals, and the input image data to control the operations of the arm 20 and the hand 40. The configuration of the control unit 60 will be described later.

[0066] The imaging device 80 images a three-dimensional point group indicating a three-dimensional shape of a subject in a predetermined three-dimensional imaging region and generates three-dimensional point group data indicating the imaged three-dimensional point group. The imaging device 80 outputs the generated three-dimensional point group data to the control unit 60. The imaging device 80 is, for example, a three-dimensional sensor for shape inspection.

[0067] In the illustrated example, the imaging device 80 is installed so that the optical axis thereof is perpendicular (directed to the lower side) to the surface of a workbench Tb parallel to the horizontal plane. In the imaging region, plural workpieces Wk as a subject are piled on the workbench Tb in a random manner. In the following description, the surface of the workbench Tb is referred to as a work plane.

[0068] The three-dimensional point group data generated by the imaging device 80 is, for example, data including position information for each of plural sample points which are obtained by sampling the three-dimensional shape with a predetermined resolution. The sample point data of each sample point represents an orthogonal coordinate (x, y, z) in a three-dimensional space obtained by sampling the surface of the subject. That is, the sample point data is data indicating the positions of the sample points obtained by sampling the surface of the subject. The imaging device 80 measures the three-dimensional coordinates of the surface of the subject for each pixel, for example, using a phase shift method. The z direction is a direction of the optical axis of the imaging device 80, and the x direction and the y direction are directions perpendicular to the z direction, respectively. In the example illustrated in FIG. 1, the z direction is directed to the left side, the y direction is a depth direction, and the z direction is directed to the lower side. The precision of the x coordinate and the y coordinate of a sample point measured using the phase shift method is relatively high (for example, an error of about .+-.1 mm), and the precision of the z coordinate is relatively low (for example, an error of about .+-.5 mm). The phase shift method will be described later. Here, (x, y, z) is referred to as a coordinate system (work plane coordinate system) based on the imaging device 80 or the work plane and is distinguished from other coordinate systems.

[0069] The imaging device 80 captures a two-dimensional image indicating a two-dimensional shape of the subject in the imaging region. The imaging device 80 generates two-dimensional image data indicating the captured two-dimensional image.

[0070] The captured two-dimensional image corresponds to an image formed by projecting the three-dimensional point group onto a plane intersecting the optical axis of the imaging device 80. That is, the two-dimensional image is an image indicating the same subject in the same imaging region as the three-dimensional point group and is correlated with the corresponding imaging region. The imaging device 80 outputs the two-dimensional image data indicating the captured two-dimensional image to the control unit 60. In the following description, the two-dimensional image data and the three-dimensional point group data are collectively simply referred to as "image data".

[0071] The configuration of the robot 10 according to this exemplary embodiment will be described below.

[0072] FIG. 2 is a block diagram schematically illustrating the configuration of the robot 10 according to this exemplary embodiment.

[0073] The robot 10 includes the moving mechanism 12, the control unit 60, an input unit 61, a storage unit 62, and the detection unit 63.

[0074] The input unit 61 outputs the image data input from the imaging device 80 to the control unit 60. The input unit 61 is, for example, an input interface.

[0075] The storage unit 62 stores data used for processes performed by the control unit 60 and data generated by the processes. The storage unit 62 is, for example, a random access memory (RAM).

[0076] The control unit 60 includes an image data acquiring unit 601, a position and attitude estimating unit (position and attitude calculating unit) 602, a gripping difficulty level calculating unit 603, a grip planning unit 604, a direction checking unit 605, and an attitude control unit 606.

[0077] The two-dimensional image data and the three-dimensional point group data are input to the image data acquiring unit 601 from the imaging device 80 via the input unit 61. The image data acquiring unit 601 determines a region of interest with a predetermined size from the imaging region of the input two-dimensional image data. The region of interest is a rectangular region that is processed at a time and is a region that is estimated to include a workpiece Wk. The length of one side of the region of interest is, for example, 1 to 1.5 times the length of the workpiece Wk and the length of the other side is 3 to 4 times the radius r of the head of the workpiece Wk.

[0078] The image data acquiring unit 601 extracts two-dimensional image data indicating a two-dimensional image in the selected region of interest from the input two-dimensional image data. The image data acquiring unit 601 extracts three-dimensional point group data indicating a three-dimensional point group in a three-dimensional region corresponding to the selected region of interest from the input three-dimensional point group data.

[0079] The imaging region of the two-dimensional image indicated by the input two-dimensional image data may include plural candidates of the region of interest. The image data acquiring unit 601 selects one of the candidates as the region of interest. At the time of selecting the region of interest, the image data acquiring unit 601 extracts a bright region in which luminance value of each pixel is greater than a predetermined threshold by binarizing the two-dimensional image. The image data acquiring unit 601 extracts a continuous bright region in which the luminance value is greater than the predetermined threshold from the candidates of the region of interest and selects one of the candidates of the region of interest in which the size and the shape of the extracted bright region are within predetermined ranges, respectively. Accordingly, a region which is set to a direction having a large area with a predetermined workpiece Wk faces the imaging device 80 and which has a high possibility that a predetermined workpiece Wk is present is selected as the region of interest. The ranges of the size and shape of the bright region are determined in advance on the basis of the size and shape of the side surface of the workpiece Wk.

[0080] The position and attitude estimating unit 602 estimates plural sets of a position and attitude of a workpiece from the three-dimensional point group data extracted by the image data acquiring unit 601, for example, using a random sample consensus (RANSAC) method. The attitude of a workpiece Wk is expressed by the direction of the central axis which is the length direction thereof. An example of the process (position and attitude estimating process) of estimating the position and attitude of a workpiece Wk through the use of the position and attitude estimating unit 602 will be described later.

[0081] The gripping difficulty level calculating unit 603 calculates a gripping difficulty level of the workpiece Wk indicated by the three-dimensional point group data extracted by the image data acquiring unit 601 for each set of the position and attitude estimated by the position and attitude estimating unit 602. The gripping difficulty level is calculated by adding first to fourth evaluation index values as four parameters. The gripping difficulty level is a real number between 0 and 1 and indicates that the greater the value becomes, the more difficult the gripping becomes and the smaller the value becomes, the easier the gripping becomes. The first to fourth evaluation index values have a value between 0 and 1.

[0082] The gripping difficulty level calculating unit 603 selects a set of a position and attitude of which the calculated gripping difficulty level is the lowest. An example of the gripping difficulty level calculating process will be described later.

[0083] The grip planning unit 604 prepares a gripping plan for gripping a workpieces Wk with the hand 40 on the basis of the position and attitude selected by the gripping difficulty level calculating unit 603. In the gripping plan, the grip planning unit 604 determines a gripping standby point P' on the basis of the estimated attitude (direction of the central axis of the workpiece Wk) and position (gripping position P). The gripping standby point P' is a point located at a position spaced apart from the work plane by a predetermined distance from the gripping position P in the direction z' perpendicular to the direction y' of the central axis and not having a component parallel to the work plane. Accordingly, the gripping standby point P' is set to the direction separated from both the workpiece Wk and the work plane. Accordingly, it is possible to reduce a risk of bringing the hand 40 into contact with the work plane and the workpiece Wk when causing the gripping standby point P' to approach the gripping position P.

[0084] The grip planning unit 604 determines a direction x' perpendicular to the direction y' of the central axis and parallel to the work plane as the opening and closing direction z'' of the fingers 41 and 42 of the hand 40.

[0085] As described above, the control error in the position or attitude of the hand 40 in the opening and closing direction z'' may be less than the control error in the directions x'' and y'' perpendicular to the opening and closing direction z''. On the other hand, in the position and attitude of the workpiece Wk determined from the three-dimensional point group, the error in the x direction and the y direction (including the x' direction) parallel to the work plane may be less than that in the z direction. Accordingly, since the cumulative control error is not concentrated in a specific direction but is equalized, it is possible to stably grip the workpiece Wk.

[0086] The grip planning unit 604 determines an inclination angle .theta.' of the hand 40 which becomes greater as the angle .theta. becomes greater and which is not greater than the angle .theta. when the angle .theta. between the work plane and the estimated central axis of the workpiece Wk is equal to or greater than a predetermined angle threshold. The inclination angle .theta.' is an angle at which the base line of the hand 40 is inclined in the same direction as the inclination of the direction y' of the central axis about the work plane from the negative z direction (which is perpendicular to the work plane). The direction of the base line of the hand 40 corresponds the length direction of the fingers 41 and 42 in a state in which the fingers 41 and 42 are closed. The direction of the base line is a direction perpendicular to the opening and closing direction z''. Accordingly, even when the inclination of the central axis of the workpiece Wk about the work plane is great, the opening and closing direction of the fingers 41 and 42 is inclined to a direction close to the direction perpendicular to the central axis of the workpiece Wk depending on the inclination. Even when the hand 40 approaches from the direction perpendicular to the central axis of the workpiece Wk, it is possible to enhance the possibility of successfully gripping the workpiece Wk. The process associated with the gripping plan (grip planning process) will be described later.

[0087] The direction checking unit 605 checks whether the direction of the head at one end of the workpiece Wk is directed from the positive direction of the axis y' to the negative direction on the basis of the two-dimensional image data acquired by the image data acquiring unit 601. The direction checking unit 605 specifies a region corresponding to the region of interest out of two-dimensional images binarized by the image data acquiring unit 601. The specific region includes a bright region indicating the workpiece Wk. The direction checking unit 605 detects a pixel (pixel y.sub.1) in which the y' coordinate is the largest and a pixel (pixel y.sub.2) in which the y' coordinate is the smallest in the bright region included in the specified region. The direction checking unit 605 calculates the area (the number of pixels) s.sub.1 and s.sub.2 of the bright region included in a predetermined range (radius r') of the detected pixels y.sub.1 and y.sub.2. The direction checking unit 605 determines that the head of the workpiece Wk is directed to the pixel having the larger calculated area.

[0088] The attitude control unit 606 causes the hand 40 to grip the workpiece Wk and directs the direction of the head of the workpiece Wk determined by the direction checking unit 605 to the negative z direction.

[0089] The attitude control unit 606 controls the gripping attitude of the workpiece Wk by opening and closing the fingers 41 and 42 of the hand 40 and increasing and decreasing the force for griping the workpiece Wk. The control of the position or attitude of the workpiece Wk using the opening and closing of the fingers 41 and 42 of the hand 40 or the increasing and decreasing of the gripping force may also be referred to as attitude control.

[0090] The attitude control includes caging and self alignment. In the caging, the attitude control unit 606 releases the gripping of the workpiece Wk by decreasing the force for gripping the workpiece Wk with the fingers 41 and 42. Since the frictional force to the axis portion Ax of the workpiece Wk decreases, the workpiece Wk falls in the vertical direction (the positive z direction). The maximum gap between the fingers 41 and 42 is smaller than the radius of the head Hd of the workpiece Wk. Accordingly, the head Hd of the workpiece Wk is supported on the fingers 41 and 42.

[0091] Thereafter, in the self alignment, the attitude control unit 606 increases the force for gripping the workpiece Wk until the fingers 41 and 42 comes in contact with the workpiece Wk at four points, by decreasing the gap between the fingers 41 and 42. As the frictional force applied to the workpiece Wk increases, the position and attitude of the workpiece Wk vary along the shape of the opposing surfaces of the fingers 41 and 42. The hand 40 can stably grip the workpiece Wk by bringing the fingers 41 and 42 into contact with the workpiece Wk at four points. The number of times at which the attitude control unit 606 controls the attitude of each workpiece Wk is not limited to one time, and the attitude control may be performed two or more times. An example of the attitude control will be described later.

Robot Control Process

[0092] A robot control process according to this exemplary embodiment will be described below.

[0093] FIG. 3 is a flowchart illustrating the robot control process according to this exemplary embodiment.

[0094] (Step S101) The image data acquiring unit 601 determines a region of interest with a predetermined size from the imaging region of the two-dimensional image data input from the imaging device 80 and acquires two-dimensional image data indicating a two-dimensional image in the determined region of interest. The image data acquiring unit 601 acquires three-dimensional point group data indicating a three-dimensional point group in the three-dimensional region corresponding to the region of interest determined from the input two-dimensional image data. Thereafter, the process flow moves to step S102.

[0095] (Step S102) The position and attitude estimating unit 602 estimates plural sets of a position and attitude of a workpiece Wk from the three-dimensional point group data extracted by the image data acquiring unit 601 using the RANSAC method. Thereafter, the process flow moves to step S103.

[0096] (Step S103) The gripping difficulty level calculating unit 603 calculates a gripping difficulty level of the workpiece Wk indicated by the three-dimensional point group data extracted by the image data acquiring unit 601 for each set of the position and attitude estimated by the position and attitude estimating unit 602. The gripping difficulty level calculating unit 603 selects the set of the position and attitude of which the calculated gripping difficulty level is the lowest. Thereafter, the process flow moves to step S104.

[0097] (Step S104) The grip planning unit 604 prepares a gripping plan for griping the workpiece Wk with the hand 40 on the basis of the position and attitude selected by the gripping difficulty level calculating unit 603. In the gripping plan, the grip planning unit 604 determines a gripping standby point P' on the basis of the estimated attitude and position. The grip planning unit 604 cause the hand 40 to move to the gripping standby point P' with the fingers 41 and 42 opened. The grip planning unit 604 determines the direction x' perpendicular to the direction y' of the central axis and parallel to the work plane to be the opening and closing direction z'' of the fingers 41 and 42 of the hand 40. The grip planning unit 604 determines the inclination angle .theta.' of the hand 40 when the angle .theta. between the work plane and the estimated central axis of the workpiece Wk is greater than a predetermined angle threshold. The grip planning unit 604 inclines the direction of the hand 40 at the determined inclination angle .theta.'. Then, the grip planning unit 604 causes the hand 40 to move from the gripping standby point P' to the gripping position P, closes the fingers 41 and 42 to grip the workpiece Wk. Thereafter, the process flow moves to step S105.

[0098] (Step S105) the direction checking unit 605 checks whether the direction of the head of the workpiece Wk as the direction of the workpiece Wk is a positive direction or a negative direction of the y' axis on the basis of the two-dimensional image data extracted by the image data acquiring unit 601. Thereafter, the process flow moves to step S106.

[0099] (Step S106) The attitude control unit 606 causes the hand 40 to grip the workpiece Wk and directs the head of the workpiece Wk to the negative z direction.

[0100] The attitude control unit 606 controls the gripping attitude of the workpiece Wk by opening and closing the fingers 41 and 42 of the hand 40 and increasing and decreasing the force for gripping the workpiece Wk. Thereafter, the process flow illustrated in FIG. 3 ends.

Example of Two-Dimensional Image

[0101] An example of a two-dimensional image acquired by the imaging device 80 will be described below.

[0102] FIG. 4 is a diagram illustrating an example of a two-dimensional image.

[0103] A two-dimensional image Im01 illustrated in FIG. 4 is an image of a subject in a predetermined region of interest. The two-dimensional image shows the surface of plural workpieces Wk piled in a random manner. Two-dimensional image data indicating the two-dimensional image represents luminance values by pixels. A darker pixel has a lower luminance value and a brighter pixel has a higher luminance value.

Example of Workpiece

[0104] In the example illustrated in FIG. 4, the workpiece Wk is a bolt having a metallic gloss. Since an object having a metallic gloss emits strong reflected light, there is a tendency to increase the luminance value. Accordingly, when the distance to the workpiece Wk is measured using the phase shift method to be described later, a phase in a spatial variation of the luminance value is detected and thus measurement accuracy may be lowered.

[0105] The workpiece Wk is an object in which a metallic tone index described in JP-A-2010-175497 is equal to or greater than 5. The metallic tone index is an index indicating a degree of metallic gloss. The greater the metallic tone index becomes, the more the metallic gloss becomes, and the smaller the metallic tone index becomes, the less the metallic gloss becomes. The metallic tone index is given as divergence in an L*-C* space of a vector (L*, C*) including brightness L* and chroma C* of light reflected from a subject as elements. The brightness L* and the chroma C* are brightness L* and chroma C* in a CIEL*a*b* color space, respectively.

[0106] A model approximating a shape of an object will be described below.

[0107] FIG. 5 is a diagram illustrating an example of the model approximating a shape of a workpiece.

[0108] A workpiece Wk is a cylindrical object of which the shape of at least part thereof approximates a cylinder. In the example illustrated in FIG. 5, the shape of the workpiece Wk includes an axis portion Ax of which the shape approximates a cylinder and a head Hd having a larger radius and a smaller length than the axis portion Ax. In this exemplary embodiment, length 1 and radius r are used as the characteristic length indicating the size of the workpiece Wk. The central axis of the workpiece Wk means the central axis of the axis portion Ax as long as not differentially mentioned, and they' direction means the direction of the central axis. The x' and z' directions are directions perpendicular to the y' direction. The x' direction and the z' direction are perpendicular to each other. The coordinate system expressed by the coordinates (x', y', z') in the x', y', and z' directions is referred to as a workpiece coordinate system and is distinguished from the coordinate system based on the workbench Tb or the imaging device 80.

Phase Shift Method

[0109] The phase shift method will be described below. The phase shift method is a method of projecting sinusoidal stripe patterns having different phases from a projector (not illustrated) and calculating the distance z from an imaging element to the surface of a subject for each pixel on the basis of luminance values I.sub.n(.xi., .eta.) of the images obtained by projecting the patterns. Here, .xi. and .eta. represent the coordinate in the horizontal direction and the coordinate in the vertical direction on a projection device. The sinusoidal stripe pattern is an image which is expressed by a sine function in which the luminance values of the pixels forming the two-dimensional image vary with a predetermined period in the horizontal direction and are distributed constant in the vertical direction. In the phase shift method, three or more sinusoidal stripe patterns having different phases in the horizontal direction are used. When four sinusoidal stripe patterns in which the phase in the horizontal direction is n.pi./2 (where n is an integer of 0 to 3) are used, the imaging device 80 calculates the phase .phi.(.xi., .eta.) for each pixel using Expression (1).

.phi. ( .xi. , .eta. ) = tan - 1 ( I 3 ( .xi. , .eta. ) - I 1 ( .xi. , .eta. ) I 0 ( .xi. , .eta. ) - I 2 ( .xi. , .eta. ) ) ( 1 ) ##EQU00001##

[0110] The calculated phase .phi.(.xi., .eta.) represent a distortion of the sinusoidal stripe patterns applied to a subject. The imaging device 80 detects an equiphase line AB having the same phase as the phase .phi.(.xi., .eta.) calculated for each pixel Px out of the sinusoidal stripe patterns on the projection device of the projector. The imaging device 80 calculates the three-dimensional coordinates of the surface of the subject obtained by an intersection Qp of the straight line CoPx and the plane PoAB with the pixel Px based on the optical center coordinate Co thereof and the optical center coordinate Po of the projector.

[0111] The phase shift method is described in detail in the following document: Ken-ichiro Nosaka, Hidekazu Araki, Tomoharu Nakahara, In-Line 3D Visual Inspection System Using Phase-Shift Method, "Technical Reports of Panasonic Electric Works", Panasonic Electric Works Co., Ltd., Vol. 57, No. 3, P. 29-34, September, 2009.

Position and Attitude Estimating Process

[0112] A position and attitude estimating process will be described below.

[0113] FIG. 6 is a flowchart illustrating the position and attitude estimating process according to this exemplary embodiment.

[0114] The position and attitude estimating unit 602 estimates the position and attitude of a workpiece by performing the following steps on the three-dimensional point group data extracted by the image data acquiring unit 601.

[0115] (Step S201) The position and attitude estimating unit 602 selects a set in which the length of a segment between two points is within a predetermined range out of plural sets of two sample points from the three-dimensional point group indicated by the three-dimensional point group data. The range of the length of the segment is determined in advance on the basis of the length 1 of the workpiece Wk. Thereafter, the process flow moves to step S202.

[0116] (Step S202) The position and attitude estimating unit 602 extracts sample points of which the distance from the segment between two points of the selected set is less than a predetermined distance from the three-dimensional point group data. The predetermined distance from the segment is determined in advance on the basis of the radius r of the axis portion of the workpiece Wk. Thereafter, the process flow moves to step S203.

[0117] (Step S203) The position and attitude estimating unit 602 selects a central axis in which the error err between the distance d.sub.i from the segment to the extracted sample point i and the radius r of the workpiece Wk is in a predetermined range. The error err is given by Expression (2). In Expression (2), n.sub.s represents the number of extracted sample points. Thereafter, the process flow moves to step S204.

err = i = 1 n s d i - r / n s ( 2 ) ##EQU00002##

[0118] (Step S204) The position and attitude estimating unit 602 determines the direction of the selected central axis as the attitude of the workpiece Wk. Thereafter, the process flow moves to step S205.

[0119] (Step S205) The position and attitude estimating unit 602 counts the number of sample points for each coordinate in the direction of the selected central axis and calculates a distribution of the number of sample points in the central axis direction. The position and attitude estimating unit 602 specifies a region of the workpiece Wk on the basis of the calculated distribution and determines a region of the head and a region of the axis portion of the workpiece Wk depending on whether the number of sample points in the specified region is greater than a predetermined number. The position and attitude estimating unit 602 determines a representative point (for example, the gravitational center point) of the determined region of the axis portion to be the position of the workpiece Wk. Thereafter, the position and attitude estimating process ends.

Gripping Difficulty Level Calculating Process

[0120] A gripping difficulty level calculating process will be described below.

[0121] FIG. 7 is a flowchart illustrating the gripping difficulty level calculating process according to this exemplary embodiment.

[0122] The gripping difficulty level calculating unit 603 calculates a gripping difficulty level by performing the following steps.

[0123] (Step S301) The gripping difficulty level calculating unit 603 calculates a first evaluation index value y.sub.1 corresponding to the angle .theta. indicating the attitude calculated by the position and attitude estimating unit 602. The angle .theta. is an angle between the work plane and the central axis of the workpiece Wk. The first evaluation index value y.sub.1 is a normal distribution having an optimal angle (for example, 0 degrees) as a median. The optimal angle is an angle .theta. optimal for gripping the workpiece Wk with the hand 40. The median and the variance of the normal distribution are determined in advance depending on the shape of the hand 40 or the shape of the workpiece Wk. Thereafter, the process flow moves to step S302.

[0124] (Step S302) The gripping difficulty level calculating unit 603 calculates a second evaluation index value y.sub.2 on the basis of the three-dimensional point group data extracted by the image data acquiring unit 601. The gripping difficulty level calculating unit 603 separates the point group of the workpiece Wk and the other point group from the point group in a predetermined range, which is a part of the three-dimensional point group indicated by the three-dimensional point group data. The predetermined range is determined in advance depending on the shape of the hand 40 or the shape of the workpiece Wk. The gripping difficulty level calculating unit 603 calculates a height difference x.sub.2 from the point group around the workpiece Wk by subtracting the average of the heights of the other point group from the average of the heights of the point group of the workpiece Wk. The gripping difficulty level calculating unit 603 calculates the second evaluation index value y.sub.2 using Expression (3) on the basis of the height difference x.sub.2. In Expression (3), A.sub.2 is 1. .rho..sub.2 and .alpha..sub.2 are parameters depending on an environment and are determined in advance depending on the environment. .rho..sub.2 represents that the greater the value becomes, the stricter the evaluation becomes. .rho..sub.2 is a value greater than 1. Accordingly, the greater the height difference x.sub.2 becomes, the greater the second evaluation index value y.sub.2 becomes. Thereafter, the process flow moves to step S303.

y 2 = A 2 1 + ( 2 x 2 / .rho. 2 - 1 ) .alpha. 2 ( 3 ) ##EQU00003##

[0125] (Step S303) The gripping difficulty level calculating unit 603 calculates a third evaluation index value y.sub.3 on the basis of the three-dimensional point group separated in step S202. The gripping difficulty level calculating unit 603 calculates a difference x.sub.3 between the distance of the point group separated in step S202 from the central axis calculated by the position and attitude estimating unit 602 to the each sample point and the radius r of the axis portion of the workpiece. The difference x.sub.3 represents the central axis estimation error. The gripping difficulty level calculating unit 603 calculates the third evaluation index value y.sub.3 by substituting the calculated difference x.sub.3 and predetermined parameters .rho..sub.3 and .alpha..sub.3 for x.sub.2, .rho..sub.2, and .alpha..sub.2 of Expression (3). The value of .rho..sub.3 is greater than 1 and equal to or less than about 50% of the radius r of the axis portion of the workpiece Wk. Here, the optimal value of .rho..sub.3 can vary depending on the accuracy of the three-dimensional point group, the surface roughness of the workpiece Wk, and the like. Thereafter, the process flow moves to step S304.

[0126] (Step S304) The gripping difficulty level calculating unit 603 calculates a fourth evaluation index value y.sub.4 on the basis of the optimal number of sample points (optimal number of points) and the number of sample points (extracted number of points) included in the three-dimensional point group separated in step S202. The optimal number of points means the number of sample points indicating the shape of the workpiece Wk under the optimal conditions for the three-dimensional point group. The gripping difficulty level calculating unit 603 calculates a ratio x.sub.4 of the extracted number of points to the optimal number of points. The gripping difficulty level calculating unit 603 calculates the fourth evaluation index value y.sub.4 by substituting the calculated ratio x.sub.4 and predetermined parameters .rho..sub.4 and .alpha..sub.4 for x.sub.4, .rho..sup.4, and .alpha..sub.4 of Expression (3). The value of .rho..sub.4 is smaller than 1 and is, for example, 0.5. Accordingly, the greater the ratio x.sub.4 becomes, the greater the fourth evaluation index value y.sub.4 becomes. Thereafter, the process flow moves to step S305.

[0127] (Step S305) The gripping difficulty level calculating unit 603 calculates the evaluation index value by adding the calculated first to fourth evaluation index values y.sub.1 to y.sub.4. Thereafter, the gripping difficulty level calculating process ends.

Grip Planning Process

[0128] A grip planning process will be described below with reference to FIGS. 8 and 9.

[0129] FIG. 8 is a flowchart illustrating the grip planning process according to this exemplary embodiment.

[0130] FIGS. 9A to 9E are diagrams illustrating an example of the positional relationship between the hand 40 and the workpiece Wk in the grip planning process according to this exemplary embodiment.

[0131] (Step S401) The grip planning unit 604 specifies a direction z' perpendicular to the direction y' of the central axis of the workpiece Wk and not having a component parallel to the work plane and determines a point at a position spaced apart by a predetermined distance from the work plane in the specified direction z' from the gripping position P to be a gripping standby point P' (FIG. 9A). The predetermined distance can be a distance at which the hand 40 does not come in contact with any of the workpiece Wk and the work plane even when the hand 40 moves at the gripping standby point P'. The work plane in FIG. 9A is a plane parallel to the x-y plane.

[0132] Thereafter, the grip planning unit 604 causes the hand 40 to move so that a gripping target point Qt reaches the gripping standby point P' (FIG. 9A). The gripping target point Qt is a position of a representative point (for example, the central axis) of the workpiece Wk gripped by the hand 40 and is determined depending on the shapes and the sizes of the hand 40 and the workpiece Wk. The moving of the hand 40 so that the gripping target point Qt reaches the gripping standby point P' means that the hand 40 moves to the gripping standby point P'. Thereafter, the process flow moves to step S402.

[0133] (Step S402) The grip planning unit 604 specifies a direction x' perpendicular to the direction y' of the central axis and parallel to the work plane (FIG. 9B). The grip planning unit 604 causes the support member 520 of the hand 40 to rotate and matches the opening and closing direction z'' of the fingers 41 and 42 of the hand 40 with the specified direction x' (FIG. 9B). Thereafter, the process flow moves to step S403.

[0134] (Step S403) The grip planning unit 604 specifies the angle .theta. between the work plane and the direction y' of the central axis and determines the inclination angle .theta.' of the hand 40 on the basis of the specified angle .theta. (FIG. 9C). The grip planning unit 604 sets the inclination angle .theta.' to 0.degree. when the angle .theta. is less than 20.degree., sets the inclination angle .theta.' to .theta.-20.degree. when the angle .theta. is equal to or greater than 20.degree. and less than 40.degree., and sets the inclination angle .theta.' to .theta./2 when the angle .theta. is equal to or greater than 40.degree..

[0135] The grip planning unit 604 matches the direction of the base line y'' of the hand 40 with a direction inclined by the inclination angle .theta.' from the negative z direction in the same direction as the inclination of the direction y' of the central axis about the work plane (FIG. 9C). Thereafter, the process flow moves to step S404.

[0136] (Step S404) The grip planning unit 604 opens the fingers 41 and 42 of the hand 40 and causes the hand 40 to move from the gripping standby point P' to the gripping position P (FIG. 9D). Thereafter, the process flow moves to step S405.

[0137] (Step S405) The grip planning unit 604 causes the hand 40 to rotate by a predetermined angle .phi.'(for example, 2.degree. to 3.degree.) in the x'-y' plane with the workpiece Wk interposed therebetween before closing the fingers 41 and 42 of the hand 40 (FIG. 9E). Thereafter, the process flow moves to step S406.

[0138] (Step S406) The grip planning unit 604 closes the fingers 41 and 42 of the hand 40 to grip the workpiece Wk and causes the hand 40 to move to the gripping standby point P'. Thereafter, the grip planning process ends.

[0139] By bringing the hand 40 into contact with the workpiece Wk and into vibration in step S405, other objects can be dropped when the other objects are piled on the workpiece Wk. Accordingly, the hand 40 can grip only one workpiece Wk at a time and can avoid gripping another object together. By performing the process of step S406 in advance, the opening width of the tips of the fingers 41 and 42 of the hand 40 when the gripping is successful may be measured in advance. The control unit 60 can lower the possibility of gripping failure by gripping the workpiece Wk using the opening width obtained by the measurement.

Direction Checking

[0140] Checking of the direction of a workpiece Wk will be described below.

[0141] FIG. 10 is a diagram illustrating a direction checking process according to this exemplary embodiment.

[0142] (a) of FIG. 10 illustrates a two-dimensional image Im02 showing the fingers 41 and 42 of the hand 40 and the workpiece Wk. The workpiece Wk is gripped with the fingers 41 and 42 and the head Hd thereof is directed to the lower side in the drawing. The x' direction and the y' direction are illustrated on the right-upper side of the drawing.

[0143] (b) of FIG. 10 illustrates a two-dimensional image Im03 obtained by binarizing the two-dimensional image Im02. In the two-dimensional image Im03, the bright part is a bright region BWk indicating the workpiece Wk.

[0144] (c) of FIG. 10 illustrates a two-dimensional image Im04 in which pixels py1 and py2 are overlapped with the two-dimensional image Im03. The pixels py1 and py2 are a pixel of which the y' coordinate is the greatest in the bright region BWk of (b) of FIG. 10 and a pixel of which the y' coordinate is the smallest.

[0145] (d) of FIG. 10 illustrates a two-dimensional image Im05 in which regions ry1 and ry2 are overlapped with the two-dimensional image Im04. The regions ry1 and ry2 represent regions within a predetermined distance from the pixels py1 and py2, respectively. The direction checking unit 605 counts the area of the bright regions included in the regions ry1 and ry2 and determines that the head Hd is directed to the pixel associated with the region having the greater counted area. In the example illustrated in (d) of FIG. 10, since the area of the bright region in the region ry2 is greater than the area of the bright region in the region ry1, the direction checking unit 605 determines that the head Hd is directed to the pixel py2 (in the negative y' direction).

Attitude Control

[0146] An example of the attitude control will be described below.

[0147] FIG. 11 is a diagram illustrating an example of the positional relationship between the fingers 41 and 42 of the hand 40 and the workpiece Wk in the attitude control according to this exemplary embodiment. (a) to (c) of FIG. 11 show cross-sectional views of the fingers 41 and 42 and the workpiece Wk in the x-y plane when viewed from the upper side. In the cross-sectional views, the cross-section of the fingers 41 and 42 and the cross-sectional perpendicular to the central axis of the axis portion Ax of the workpiece Wk are indicated by a solid line. These cross-sections do not intersect the head Hd of the workpiece Wk, but the outer profile of the head Hd is indicated by a dotted line in (a) to (c) of FIG. 11. In the example illustrated in the drawing, the base ends and the tips of the fingers 41 and 42 are directed to the positive y direction and the negative y direction, respectively, and the opening and closing direction of the fingers 41 and 42 is directed to the x direction.

[0148] In the lower parts of (a) to (c) of FIG. 11, a perspective view of the finger 42 and the workpiece Wk is illustrated. The finger 41 is disposed in the negative x direction from the finger 42 and is not illustrated in the lower parts. In the example illustrated in the drawing, the head Hd is directed in the negative z direction.

[0149] (a) of FIG. 11 illustrates the positional relationship between the fingers 41 and 42 and the workpiece Wk before the attitude control unit 606 starts the attitude control. The workpiece Wk is gripped at a position close to the base ends of second inclined surfaces 121 and 122 of the fingers 41 and 42. The workpiece Wk is gripped at a position at which the fingers 41 and 42 are spaced apart in the z direction (vertical direction) from the head Hd in the axis portion Ax. The attitude control unit 606 keeps the frictional force for gripping the workpiece Wk constant to be greater than the gravitational force applied to the workpiece Wk. Accordingly, the workpiece Wk is fixed in a state in which the workpiece Wk is pinched between the fingers 41 and 42.

[0150] Thereafter, the attitude control unit 606 enlarges the gap between the fingers 41 and 42 by gradually decreasing the frictional force for gripping the workpiece Wk with the fingers 41 and 42.

[0151] (b) of FIG. 11 illustrates the positional relationship between the fingers 41 and 42 and the workpiece Wk when the gap between the fingers 41 and 42 becomes greater than the axis portion Ax by the caging of the attitude control unit 606. At this time, since the frictional force for gripping the axis portion Ax is released by the fingers 41 and 42, the workpiece Wk moves in the z direction due to the gravitational force. Here, the maximum gap between the fingers 41 and 42 is smaller than the radius of the head Hd. Accordingly, the surface directed in the z direction of the head Hd of the workpiece Wk is supported on the surfaces of the fingers 41 and 42 directed in the negative z direction.

[0152] Here, the attitude control unit 606 detects that the surface of the head Hd directed the z direction in the workpiece Wk comes in contact with the surfaces of the fingers 41 and 42 directed in the negative z direction on the basis of the load signal input from the detection unit 63. The contact with the surface directed in the negative direction can be detected on the basis of the fact that the force in the z direction indicated by the load signal is greater than a predetermined threshold. Thereafter, the attitude control unit 606 performs the control of decreasing the frictional force for gripping the workpiece Wk with the fingers 41 and 42 or stops the operation of enlarging the gap between the fingers 41 and 42. The attitude control unit 606 gradually increases the frictional force for gripping the workpiece Wk by reducing the gap between the fingers 41 and 42 (self alignment).

[0153] (c) of FIG. 11 illustrates the positional relationship between the fingers 41 and 42 and the workpiece Wk when the attitude control unit 606 gradually increases the frictional force for gripping the workpiece Wk with the fingers 41 and 42 by the self alignment. At this time, the fingers 41 and 42 come in contact with the axis portion Ax on the second inclined surfaces 121 and 122. Since the second inclined surfaces 121 and 122 are inclined in the direction in which both are spaced apart from each other as it goes from the base ends of the fingers 41 and 42 to the tips, the workpiece Wk moves to the tip of the finger 41 by increasing the frictional force applied from the fingers 41 and 42. The first inclined surfaces 111 and 112 of the fingers 41 and 42 are inclined in a direction in which both get close to each other as it goes from the base ends of the fingers 41 and 42 to the tips thereof. When the workpiece Wk comes in contact with the first inclined surfaces 111 and 112, the movement of the workpiece Wk stops.

[0154] Here, the attitude control unit 606 detects that the workpiece Wk comes in contact with the first inclined surfaces 111 and 112 on the basis of the load signal input from the detection unit 63. The contact with the first inclined surfaces 111 and 112 can be detected on the basis of the fact that the force in the negative y direction indicated by the load signal is greater than a predetermined threshold. Thereafter, the attitude control unit 606 stops the increasing of the frictional force for gripping the workpiece Wk with the fingers 41 and 42. At the time point when the movement of the workpiece Wk stops, the workpiece Wk comes in contact with the fingers 41 and 42 at total four points of the respective points of the first inclined surfaces 111 and 112 and the second inclined surfaces 121 and 122 and thus the workpiece Wk is stably gripped. In this state, the gripping of the workpiece Wk with the fingers 41 and 42 is referred to as frictional gripping.

[0155] When the direction checking unit 605 fails to estimate the direction of the head and the head of the workpiece Wk is directed in the positive z direction, the hand 40 cannot keep the gripping of the workpiece Wk. In this case, the workpiece Wk is dropped onto the workbench Tb. The attitude control unit 606 detects that the workpiece Wk is dropped on the basis of the load signal input from the detection unit 63 and then the control unit 60 may perform the robot control process (FIG. 3) on a new workpiece Wk.

Configuration of Fingers

[0156] The configuration of the fingers 41 and 42 will be described below.

[0157] FIGS. 12A to 12C are diagrams schematically illustrating the configuration of the hand 40 according to this exemplary embodiment.

[0158] FIG. 12A is a plan view illustrating the configuration of the hand 40.

[0159] As described above, the hand 40 includes the fingers 41 and 42 and the support member 520. The base ends of the fingers 41 and 42 are supported by the support member 520 and the fingers 41 and 42 are face each other in the length direction. The direction in which the fingers 41 and 42 face each other corresponds to the opening and closing direction. The hand 40 is a precise gripping hand having a shape and a size with which the caging, the self alignment, and the frictional gripping can be performed on the workpiece Wk as will be described later. In the following description, unlike the description above, the opening and closing direction of the fingers 41 and 42 is defined as the x direction, the direction of the base line 202 is defined as the y direction, and the direction perpendicular to the x direction and the y direction is defined as the z direction.

[0160] FIG. 12B is a plan view illustrating the configuration of the fingers 41 and 42. FIG. 12B illustrates a region Cf in FIG. 12A in an enlarged view.

[0161] The finger 41 includes a claw 101 and the finger 42 includes a claw 102. The claws 101 and 102 are symmetric with respect to the base line 202. The claws 101 and 102 have the first inclined surfaces (also referred to as tip surfaces) 111 and 112 which are gradually inclined in the direction in which both are spaced apart from each other as it goes from the tips to the rear ends (also referred to as base ends or base portions) and the second inclined surfaces (also referred to as the surfaces on the base end side or the surfaces on the base portion side) 121 and 122 which are gradually inclined in the direction in which both get close to each other. The claws 101 and 102 can be formed, for example, by bending a metal (sheet metal) of aluminum or the like or cutting the metal (rectangular parallelepiped).

[0162] With this configuration, the workpiece Wk is gripped in the vicinity of the tips of the claws 101 and 102. Accordingly, since the claws 101 and 102 stably grip and carry the workpiece Wk, it is possible to realize three functions of caging, self alignment, and frictional gripping. The control unit 60 controls the claws 101 and 102 so as to grip the workpiece Wk at four or more contact points. The point Qc appearing in the base line 202 is the center point of the gripped workpiece Wk. The center point Qc can be used as the gripping target point Qt (FIG. 9A) in the aforementioned grip planning process.

[0163] The "caging" means that the workpiece Wk is located in a space closed by the pair of claws 101 and 102 when the workpiece Wk is in a certain position and attitude. In the caging, the position or attitude of the workpiece Wk is not constrained to the claws 101 and 102 but is free.

[0164] The "self alignment" means that the workpiece Wk moves to a predetermined position in the closed space through the use of the shapes of the claws 101 and 102 or the frictional force between the claws 101 and 102 and the workpiece Wk when the claws 101 and 102 pinch the workpiece Wk therebetween as described above.

[0165] The "frictional gripping" means that the claws 101 and 102 come in contact with the workpiece Wk at four or more points to constrain the workpiece Wk and the workpiece Wk is constrained and gripped in the direction perpendicular to the surface on which the object Wk is placed using the frictional force.

[0166] As illustrated in FIG. 12B, the tip of the claw 101 has a triangular (concave) shape (hereinafter, referred to as claw shape) surrounded with vertices a.sub.1, a.sub.2, and a.sub.3. This claw shape is expressed by three parameters .alpha., .beta., and d. The parameter .beta. represents an angle formed by a segment a.sub.1a.sub.2 and a segment a.sub.1a.sub.3, and the parameter .alpha. represents an angle formed by a segment a.sub.2a.sub.3 and a perpendicular line when the perpendicular line (also referred to as base line) is drawn from the vertex a.sub.2 to the segment a.sub.1a.sub.3. The parameter d represents the height (=a.sub.2a.sub.3 cos .alpha.) to the bottom side a.sub.2 of the triangle a.sub.1a.sub.2a.sub.3. The point a.sub.2 which is an intersection of the first inclined surface 111 and the second inclined surface 121 is also referred to as a base point.

[0167] In the claw 101, allowable ranges of the parameters .alpha., .beta., and d of the claw shape are 0<d, 0<.alpha.<.pi./2, and 0<.beta.<.pi./2, respectively.

[0168] FIGS. 13A and 13B are diagrams illustrating an opening and closing mechanism of the claw according to this exemplary embodiment.

[0169] As illustrated in FIG. 13A, the control unit 60 opens and closes the claw 101 and the claw 102 by controlling the angle .phi. formed by lines extending the sides a.sub.1a.sub.3 about an intersection Q of extension lines of segments connecting the vertices a.sub.1 and a.sub.3.

[0170] As illustrated in FIG. 13B, three parameters for opening and closing the claw 101 (hereinafter, referred to as opening and closing parameters) are defined as .theta., .gamma., and l. In FIG. 13B, the point P represents a rotation center and the parameter l represents the distance from the point P to the bottom end a.sub.1 (point B, which is also referred to as an end of the surface on the base end side) of the triangle a.sub.1a.sub.2a.sub.3 of the claw 101. The parameter .gamma. represents an angle formed by a segment BP when the claws 101 and 102 are closed and the x axis, and the parameter .theta. represents an angle formed by the segment BP when the claws 101 and 102 are closed and the segment B' P when the claw 101 is opened.

[0171] The conditions of the parameters .alpha., .theta., and d of the claw shape will be described below.

[0172] The conditions which the parameters .alpha., .theta., and d should satisfy are a frictional gripping condition, a casing condition, and a self alignment condition.

Frictional Gripping Condition

[0173] First, the frictional gripping condition will be described below. The condition in which the claw 101 and the claw 102 grip the workpiece Wk is that the claws 101 and 102 come in contact with the workpiece Wk at four or more contact points and constrain the workpiece (frictional gripping condition). The frictional gripping condition depends on the size of the workpiece Wk.

[0174] FIG. 14 is a diagram illustrating an object that can be gripped by the claws 101 and 102 according to this exemplary embodiment. In the drawing, the shape of a part M to be gripped by the claw 101 and the claw 102 is a circular shape (for example, a cylindrical shape) when viewed in the x-y plane. In the following description, the triangular shape of the tips of the claw 101 and the claw 102 will be described in order to calculate the parameters .alpha., .beta., and d of the claw shape. In the following description, gripping portions having different parameters .alpha., .beta., and d of the claw shape are referenced by the same reference signs 101 and 102 and are also referred to as the claws 101 and 102. Workpieces Wk having different sizes to be gripped by the claw 101 and the claw 102 are referenced by common reference sign M and are referred to as parts M.

[0175] As illustrated in (a) to (c) of FIG. 14, the contact point of the first inclined surface 111 of the claw 101 and the part M is referred to as a point p.sub.1, the contact point of the second inclined surface 121 of the claw 101 and the part M is referred to as a point p.sub.2, the contact point of the first inclined surface 112 of the claw 102 and the part M is referred to as a point p.sub.4, and the contact point of the second inclined surface 122 of the claw 102 and the part M is referred to as a point p.sub.3. The center point o of the part M is located in the base line 202 and a segment passing through the center point and perpendicular to the base line 202 is referred to as a central line 201.

[0176] (a) of FIG. 14 is a diagram illustrating a part that can be gripped with the claw 101 and the claw 102, (b) of FIG. 14 is a diagram illustrating a part with a maximum size that can be gripped with the claw 101 and the claw 102, and (c) of FIG. 14 is a diagram illustrating apart that cannot be gripped with the claw 101 and the claw 102.

[0177] As illustrated in (a) of FIG. 14, the central line 201 is located between a segment connecting the contact points p.sub.1 and p.sub.4 and a segment connecting the contact points p.sub.2 and p.sub.3. In this state, since the claw 101 and the claw 102 can grip the part M so as to surround the part M at four contact points, the part M is stably gripped by the frictional gripping.

[0178] As illustrated in (c) of FIG. 14, the central line 201 is located closer to the positive side in the y direction than the segment connecting the contact points p.sub.1 and p.sub.4. In this state, since the claw 101 and the claw 102 cannot grip the part M so as to surround the part M at four contact points, the part M may not be stably gripped by the frictional gripping. For example, when the friction coefficient between the part M and the claw 101 and the claw 102 is less than a predetermined value, the part M may depart and protrude in the positive y direction from the frictionally-gripped state.

[0179] Accordingly, the maximum size of the part M which can be gripped with the claw 101 and the claw 102 is a size when the central line 201 corresponds to the segment connecting the contact points p.sub.1 and p.sub.4 as illustrated in (b) of FIG. 14. The maximum radius of the part M that can be gripped by the surfaces (the first inclined surfaces 111 and 112 and the second inclined surfaces 121 and 122) of the claw 101 and the claw 102 is defined as r.sub.max1 (hereinafter, referred to as a maximum gripping size).

[0180] FIG. 15 is a diagram illustrating the relationship between the maximum gripping size and the parameters .alpha., .beta., and d of the claw shape according to this exemplary embodiment. As illustrated in FIG. 15, the part M is surrounded at four contact points p.sub.1 to p.sub.4. That is, all the contact points p.sub.1 to p.sub.4 and the part M are located on the surfaces (the first inclined surfaces 111 and 112 and the second inclined surfaces 121 and 122) of the claw 101 and the claw 102. In this way, the maximum gripping size with which the part M can be surrounded at four contact points is defined as r.sub.max11.

[0181] FIG. 16 is a diagram illustrating the size of a part that can be gripped depending on the relationship between the vertices of the claws and a part according to this exemplary embodiment. FIGS. 17A and 17B are diagrams illustrating a relationship between the vertices of the claws and a part according to this exemplary embodiment.

[0182] (a) of FIG. 16 is a diagram illustrating a case in which a part can be gripped and (b) of FIG. 16 is a diagram illustrating a case in which a part cannot be gripped. The part M may be formed of a resin softer than the material of the claw 101 and the claw 102.

[0183] As illustrated in (a) of FIG. 16, the part M comes in contact with the second inclined surface 121 of the claw 101 at the contact point p.sub.2 and comes in contact with the second inclined surface 122 of the claw 102 at the contact point p.sub.3. The part M does not come in contact with the first inclined surface 111 of the claw 101 and comes in contact with the vertex a.sub.3 (contact point p.sub.3) of a triangle a.sub.1a.sub.2a.sub.3 at the tip of the claw 101. At the contact point p.sub.1, the side a.sub.2a.sub.3 of the triangle a.sub.1a.sub.2a.sub.3 of the claw 101 is a tangent of the part M. Accordingly, the vertex a.sub.3 of the claw 101 is not stuck into the part M.

[0184] On the other hand, as illustrated in (b) of FIG. 16, the part M comes in contact with the second inclined surface 121 of the claw 101 at the contact point p.sub.2 and comes in contact with the second inclined surface 122 of the claw 102 at the contact point p.sub.3 similarly to (a) of FIG. 16. However, the vertex a.sub.3 of the claw 101 and the part M come in contact with each other at the contact point p.sub.1. In this case, at the contact point p.sub.1, the side a.sub.2a.sub.3 of the triangle a.sub.1a.sub.2a.sub.3 of the claw 101 is not a tangent of the part M. Accordingly, the vertex a.sub.3 of the claw 101 is stuck into the part M.

[0185] That is, in the condition of the maximum gripping size, the vertex a.sub.3 or the vertex a.sub.1 of the claw 101 does not have to be stuck into the part M.

[0186] Hereinafter, the vertices a.sub.3 of the claw 101 and the claw 102 and the vertices a.sub.1 of the claw 101 and the claw 102 are referred to as claw tips.

[0187] FIG. 17A is a diagram illustrating a condition in which the vertices a.sub.3 of the claw 101 and the claw 102 are not stuck into a part M. FIG. 17B is a diagram illustrating a condition in which the vertices a.sub.1 of the claw 101 and the claw 102 are not stuck into a part M. FIG. 17A is different from FIG. 17B, in whether the parameter .alpha. of the claw shape is less than .pi./2-.beta. or equal to or greater than .pi./2-.beta.. In this way, the maximum gripping size in consideration of the condition in which the claw tips are not stuck is defined as r.sub.max12.

[0188] As a result, as illustrated in FIGS. 15 and 17, the maximum gripping size r.sub.max1 is given by Expressions (4) to (6) using the parameters .alpha., .beta., and d of the claw shape and the opening and closing parameters .theta., .gamma., and l on the basis of the geometrical relationship.

r max 1 = min { r max 11 , r max 12 } ( 4 ) r max 11 = d sin .beta. cos ( .alpha. - .beta. ) + l cos .gamma. + l sin ( .gamma. - .alpha. ) ( 5 ) r max 12 = { d cos .alpha. tan ( .pi. 2 - .beta. + .alpha. 2 ) , if .alpha. < .pi. 2 - .beta. d sin .beta. tan ( .pi. 2 - .beta. + .alpha. 2 ) , if .alpha. .gtoreq. .pi. 2 - .beta. ( 6 ) ##EQU00004##

[0189] In Expression (4), which of r.sub.max11 and r.sub.max12 should be selected as r.sub.max1 depends on the shape of the claw tip. In Expression (6), r.sub.max12=d/cos(.alpha.).times.tan((.pi./2-.beta.+.alpha.)/2) is established when .alpha. is less than .pi./2-.beta., and r.sub.max12=d/sin(.beta.).times.tan((.pi./2-.beta.+.alpha.)/2) is established when .alpha. is equal to or greater than .pi./2-.beta..

[0190] The state in which the claw 101 and the claw 102 are closed will be described below.

[0191] FIG. 18 is a diagram illustrating the size of a part that can be gripped when the claws are closed according to this exemplary embodiment. When the claw 101 and the claw 102 are closed as illustrated (b) of FIG. 18, the first inclined surfaces 111 and 112 and the second inclined surfaces 121 and 122 of the claw 101 and the claw 102 come in contact with the part M at the contact points p.sub.1 to p.sub.4. The minimum size of the part M that can be gripped with the claw 101 and the claw 102 in this state is r.sub.min1.

[0192] On the other hand, as illustrated in (a) of FIG. 18, when the part M is small and the claw 101 and the claw 102 are closed, the part M cannot come in contact with the claw 101 and the claw 102 at all of four contact points p.sub.1 to p.sub.4. In this state, the part M cannot be gripped with the claw 101 and the claw 102 (gripping impossible).

[0193] As illustrated in (c) of FIG. 18, the rear end of the part M comes in contact with the second inclined surfaces 121 and 122 of the claw 101 and the claw 102 at the contact points p.sub.2 and p.sub.3. The contact points p.sub.1 and p.sub.4 of the tip of the part M and the claw 101 and the claw 102 are the tips a.sub.3 of the claw 101 and the claw 102. The segment a.sub.2a.sub.3 is a tangent of the part M. In this state, as described with reference to FIGS. 17A and 17B, the claw 101 and the claw 102 are not stuck into the part M and thus the gripping is possible.

[0194] FIG. 19 is a diagram illustrating calculation of the minimum size of a part that can be gripped with the claws according to this exemplary embodiment. In this state, as illustrated in (b) of FIG. 18, when the claw 101 and the claw 102 are closed, the part M comes in contact with the surfaces (the first inclined surfaces 111 and 112 and the second inclined surfaces 121 and 122) of the claw 101 and the claw 102 at four contact points p.sub.1 to p.sub.4. Since the part M is circular, the minimum size r.sub.min1 of the part M that can be gripped with the claws 101 and 102 is the radius of an inscribed circle when the claws are closed. Accordingly, the minimum gripping size of the part is given by Expression (7) on the basis of the geometrical relationship illustrated in FIG. 19.

r min 1 = d cos ( .alpha. - .beta. ) cos .alpha. + sin .beta. ( 7 ) ##EQU00005##

Caging Condition

[0195] The condition of the size of a part M that can be caged (caging condition) will be described below.

[0196] FIGS. 20A and 20B are diagrams illustrating parameters of a caging region according to this exemplary embodiment. As illustrated in FIG. 20A, symbol r represents the radius of the part M. In a space S in which the center point o of the part M can move freely, the length in the x direction is defined c.sub.2 and the length in the y direction is defined as c.sub.1. As illustrated in FIG. 20B, symbol H represents the vertex in the positive y direction of the caging region S and symbol J represents the vertex in the negative y direction. Symbol I represents the vertex in the negative x direction with respect to the segment HJ of the caging region S and symbol K represents the vertex in the positive x direction with respect to the segment HJ. That is, the length c.sub.1 in the y direction is the distance between the vertices H and J, and the length c.sub.2 in the x direction is the distance between the vertices I and K.

[0197] FIGS. 21A and 21B are diagrams illustrating the shape and the parameters of the caging region according to this exemplary embodiment.

[0198] Symbols will be first defined. As illustrated in FIGS. 21A and 21B, in the triangles a.sub.1a.sub.2a.sub.3 of the claw 101 and the claw 102, symbol l.sub.2 represents the distance in the y direction between the vertices a.sub.3 and a.sub.1. The length c.sub.1 in the y direction described with reference to FIGS. 20A and 20B is marked by symbol c.sub.11 or c.sub.12 depending on the shape of the caging region. The length c.sub.2 in the x direction described with reference to FIGS. 20A and 20B is marked by symbol c.sub.21, c.sub.22, c.sub.23, or c.sub.24 depending on the shape of the caging region. When the vertex a.sub.1 of the triangle a.sub.1a.sub.2a.sub.3 is marked by B, symbol l.sub.1 represents the distance in the x direction between the point B and the vertex J.

[0199] As illustrated in FIGS. 21A and 21B, the length in the y direction is marked by c.sub.11 or c.sub.12 depending on the shape of the region surrounded with the vertices I, J, and K of the caging region S. The distance between the tip positions of the claw tips of the claw 101 and the claw 102 is equal to or less than the diameter of the part M. That is, the top of the distance c.sub.11 is a midpoint between the tip positions of the claw tips of the claw 101 and the claw 102.

[0200] Among the segments of the caging region S illustrated in FIG. 21A, the segment between the vertices I and J is a straight line and the segment between the vertices J and K is a straight line. Among the segments of the caging region S, the segment between the vertices H and I is not a straight line and the segment between the vertices H and K is not a straight line. As illustrated in FIG. 21A, the distance between the point B and the vertex J is not equal to r. The length in the y direction of the caging region S in this state is defined as c.sub.11.

[0201] The segment between the vertices I and J of the caging region S illustrated in FIG. 21B includes a straight line and a curve. Among the segments of the caging region S, the segment between the vertices H and I and the segment between the vertices H and K include a straight line and a curve. As illustrated in FIG. 21B, the distance between the point B and the vertex J is r. The length in the y direction of the caging region S in this state is defined as c.sub.12.

[0202] As illustrated in FIGS. 21A and 21B, the distance c.sub.1 in the y direction of the caging region S is divided as expressed by Expression (8).

c 1 = { c 11 , if l 1 < r cos ( .beta. + .theta. ) c 12 , if l 1 .gtoreq. r cos ( .beta. + .theta. ) ( 8 ) ##EQU00006##

[0203] The lengths c.sub.11 and c.sub.12 in they direction of the caging region S are given by Expressions (9) and (10) from the geometrical relationships illustrated in FIGS. 21A and 21B.

c 11 = l 2 - ( r sin ( .beta. + .theta. ) - l 1 tan ( .beta. + .theta. ) ) ( 9 ) c 12 = l 2 - r 2 - l 1 2 ( 10 ) ##EQU00007##

[0204] In Expressions (9) and (10), the distance l.sub.1 and the distance l.sub.2 are given by Expressions (11) and (12).

l 1 = l cos .gamma. - l cos ( .gamma. + .theta. ) ( 11 ) l 2 = ( d tan .alpha. + d tan .beta. ) cos .theta. ( 12 ) ##EQU00008##

[0205] In Expressions (11) and (12), the angle .theta. is given by Expression (13).

.theta. = 2 tan - 1 ( - a + a 2 + b 2 + c 2 c - b ) ( 13 ) ##EQU00009##

[0206] In Expression (13), a, b, and c are given by Expressions (14), (15), and (16), respectively.

a = d tan .alpha. + d tan .beta. + l sin .gamma. ( 14 ) b = - l cos .gamma. ( 15 ) c = l cos .gamma. - r ( 16 ) ##EQU00010##

[0207] The distance c.sub.2 in the x direction of the caging region S is distinguished into c.sub.21 to c.sub.24 depending on the shape of the caging region S as illustrated in FIGS. 22 to 25.

[0208] FIG. 22 is a diagram illustrating a case in which the distance in the x direction of the caging region is c.sub.21 according to this exemplary embodiment. FIG. 23 is a diagram illustrating a case in which the distance in the x direction of the caging region is c.sub.22 according to this exemplary embodiment. FIG. 24 is a diagram illustrating a case in which the distance in the x direction of the caging region is c.sub.23 according to this exemplary embodiment. FIG. 25 is a diagram illustrating a case in which the distance in the x direction of the caging region is c.sub.24 according to this exemplary embodiment.

[0209] First, symbols used in FIGS. 22 to 25 are defined. Symbol T represents the vertex a.sub.3 of the triangle a.sub.1a.sub.2a.sub.3 of the claw 101 and symbol B represents the vertex a.sub.1. Symbol C represents the vertex J of the caging region S. Symbol L1 represents a straight line passing through a segment connecting the vertex J and the vertex I of the caging region S. Symbol A represents the end point of the straight range between the vertex I and the vertex H. That is, in FIG. 22, the segment IA is a straight line and the segment AH is a curve.

[0210] The straight line L2 is a straight line passing through the straight range IA between the vertex I and the vertex H of the caging region S. Symbol l.sub.3 represents the distance in the x direction between the vertex J of the caging region S and the vertex a.sub.2 of the triangle a.sub.1a.sub.2a.sub.3 of the claw 101. Symbol l.sub.4 represents the distance between the point A (boundary (upper side) between an arc and a straight line) and the straight line L1, and symbol l.sub.5 represents the distance between the point C (boundary (lower side) between an arc and a straight line) and the straight line L2. Symbol l.sub.6 represents the distance between the point A and the point B (the claw tip) and Symbol l.sub.7 represents the distance between the point C and the point T (the claw tip).

[0211] As illustrated in FIGS. 22 to 25, the distance c.sub.2 between the vertices I and K of the caging region S is distinguished as expressed by Expression (17).

c 2 = { c 21 if ( l 4 .gtoreq. 0 l 5 .gtoreq. 0 ) c 22 if ( l 4 < 0 l 5 .gtoreq. 0 ) ( ( l 4 < 0 l 5 < 0 ) ( l 6 < r l 7 .gtoreq. r ) ) c 23 if ( l 4 .gtoreq. 0 l 5 < 0 ) ( ( l 4 < 0 l 5 < 0 ) ( l 6 .gtoreq. r l 7 < r ) ) c 24 if ( l 4 < 0 l 5 < 0 ) ( ( l 6 .gtoreq. r l 7 .gtoreq. r ) ( l 6 < r l 7 < r ) ) ( 17 ) ##EQU00011##

[0212] In Expression (17), . . . represents a logical product (AND) of . . . and .about., and . . . represents a logical sum (OR) of . . . and .about.. If l.sub.4 is greater than 0 (zero), it means that a straight region is present between the vertex I and the vertex H of the caging region S. If l.sub.4 is less than 0 (zero), it means that a straight region is not present between the vertex I and the vertex H of the caging region S, that is, that a curve region is present therebetween. If l.sub.4 is equal to or greater than 0 (zero), it means that a straight region and a curve region are present between the vertex I and the vertex H of the caging region S.

[0213] As illustrated in FIG. 22, in the caging region S having the distance c.sub.21, the segment between the vertex H and the vertex I includes a straight line and a curve, and the segment between the vertex I and the vertex J includes only a straight line. As illustrated in FIG. 23, in the caging region S having the distance c.sub.22, the segment between the vertex H and the vertex I includes only a curve, and the segment between the vertex I and the vertex J includes only a straight line. As illustrated in FIG. 24, in the caging region S having the distance c.sub.23, the segment between the vertex H and the vertex I includes a straight line and a curve, and the segment between the vertex I and the vertex J includes only a curve. As illustrated in FIG. 25, in the caging region S having the distance c.sub.24, the segment between the vertex H and the vertex I includes only a curve, and the segment between the vertex I and the vertex J includes only a curve.

[0214] The lengths c.sub.21 to c.sub.24 in the x direction of the caging region S are given by Expressions (18) to (21) from the geometrical relationships illustrated in FIGS. 22 to 25.

c 21 = 2 / 3 - 2 r cos ( .pi. 2 - .beta. - .alpha. 2 - .theta. ) sin ( .pi. 2 - .beta. + .alpha. 2 ) ( 18 ) c 22 = 2 3 - 2 r cos ( .beta. + .theta. ) - 2 sin ( .beta. + .theta. ) cos .alpha. ( d sin ( .beta. - .alpha. ) + 2 dr cos .alpha. cos ( .beta. - .alpha. ) - d 2 cos 2 ( .beta. - .alpha. ) ) ( 19 ) c 23 = 2 3 - 2 r sin ( .alpha. + .theta. ) - 2 cos ( .alpha. + .theta. ) sin .beta. ( d sin ( .beta. - .alpha. ) + 2 dr sin .beta. cos ( .beta. - .alpha. ) - d 2 cos 2 ( .beta. - .alpha. ) ) ( 20 ) c 24 = 2 r - ( d tan .alpha. + d tan .beta. ) sin .theta. - cos .theta. 4 r 2 - ( d tan .alpha. + d tan .beta. ) 2 ( 21 ) ##EQU00012##

[0215] In Expressions (18) to (21), l.sub.3 to l.sub.7 and the angle .theta. are given by Expressions (22) to (26) and Expression (27), respectively.

l 3 l cos .gamma. - l cos ( .gamma. + .theta. ) + d sin ( .beta. + .theta. ) sin .beta. ( 22 ) l 4 = d cos ( .alpha. - .beta. ) cos .alpha. + r sin ( .alpha. - .beta. ) - r ( 23 ) l 5 = d cos ( .alpha. - .beta. ) sin .beta. + r sin ( .alpha. - .beta. ) - r ( 24 ) l 6 = r 2 + ( d tan .alpha. + d tan .beta. ) 2 - 2 r ( d tan .alpha. + d tan .beta. ) cos .alpha. ( 25 ) l 7 = r 2 + ( d tan .alpha. + d tan .beta. ) 2 - 2 r ( d tan .alpha. + d tan .beta. ) sin .beta. ( 26 ) .theta. = 2 tan - 1 ( - a + a 2 + b 2 - c 2 c - b ) ( 27 ) ##EQU00013##

[0216] In Expression (27), a, b, and c are given by Expressions (28), (29), and (30), respectively.

a = d tan .alpha. + d tan .beta. + l sin .gamma. ( 28 ) b = - l cos .gamma. ( 29 ) c = l cos .gamma. - r ( 30 ) ##EQU00014##

[0217] The larger the caging region S becomes, the robuster gripping to the position error of the part M is possible. The larger the part M becomes, the smaller the values of the distances c.sub.1 and c.sub.2 of the caging region S becomes. Accordingly, the size of the part M in which the distance c.sub.1 or c.sub.2 is less than the minimum allowable position error C.sub.lim determined in advance corresponds to the maximum caging size r.sub.max2. The maximum caging size r.sub.max2 is given by Expressions (8) and (17).

[0218] FIG. 26 is a diagram illustrating the relationship between the maximum caging size r.sup.max2 and the distances c.sub.1, c.sub.2, and c.sub.lim according to this exemplary embodiment. In FIG. 26, the vertical axis represents the distances c.sub.1, c.sub.2, and c.sub.lim and the horizontal axis represents the radius of the part M. As illustrated in FIG. 26, the smaller value of r of the intersections between the curves of the distances c.sub.1 and c.sub.2 and the minimum value C.sub.lim is selected as the maximum caging size r.sub.max2. For example, when c.sub.12 is selected in Expression (8) and c.sub.21 is selected in Expression (17), the smaller value of r of the intersections between the curves of the distances c.sub.12 and c.sub.21 and the minimum value C.sub.1 is selected as the maximum caging size r.sub.max2.

[0219] The minimum value C.sub.lim is an allowable position error. The allowable position error is a range (caging region S) in which the part M can move freely in a state in which the caging is established. For example, when the minimum value C.sub.lim is 2.0 [mm], the distance c.sub.1 or c.sub.2 is 2.0 [mm]. This value means that the caging of the part M with r.sub.max2 is possible when the position detection error using an image or the positioning error of the hand 40 is in the range of the caging region S with c.sub.1 or c.sub.2 of 2.0 [mm].

Self Alignment Condition

[0220] The size condition of a part M that can be subjected to self alignment (self alignment condition) will be described below.

[0221] FIGS. 27A and 27B are diagrams illustrating the self alignment condition according to this exemplary embodiment. As illustrated in FIG. 27A, the part M comes in contact with the second inclined surfaces 121 and 122 of the claw 101 and the claw 102 at the contact points p.sub.2 and p.sub.3. In this state, when the claw 101 and the claw 102 moves in the direction in which both get close to each other, that is, both is closed, the part M moves in the positive y direction. Accordingly, the self alignment is performed (also referred to as upward self alignment). In FIG. 27A, symbol .phi. represents the angle formed by the segment a.sub.1a.sub.2 of the claw 101 and a segment 401 parallel to the y direction with the vertex a.sub.1 as a start point.

[0222] As illustrated in FIG. 27B, the part M comes in contact with the first inclined surfaces 111 and 112 of the claw 101 and the claw 102 at the contact points p.sub.1 and p.sub.4. In this state, when the claw 101 and the claw 102 moves in the direction in which both get close to each other, that is, both is closed, the part M moves in the negative y direction. Accordingly, the self alignment is performed (also referred to as downward self alignment). In FIG. 27B, symbol .phi. represents the angle formed by the segment a.sub.3a.sub.2 of the claw 101 and a segment 411 parallel to the y direction with the vertex a.sub.3 as a start point. This angle .phi. is a contact angle of the claw 101 and the part M.

[0223] FIGS. 28A and 28B are diagrams illustrating a force applied to a part from the claws according to this exemplary embodiment. FIG. 28A is a diagram illustrating the force applied to the part from the claws at the time of upward self alignment similarly to FIG. 27A. FIG. 28B is a diagram illustrating the force applied to the part from the claws at the time of upward self alignment similarly to FIG. 27B. In FIG. 28B, symbol xb represents the distance from the vertex a.sub.3 of the claw 101 to a segment 421 passing through the center point o of the part M.

[0224] FIG. 29 is a diagram illustrating the relationship between the radius r of the part M and the vertex a.sub.2 according to this exemplary embodiment.

[0225] As illustrated in FIGS. 28A and 28B, among the force F applied to the part M from the claw 101 and the claw 102, the force f.sub.s in the claw direction (the direction of the segment a.sub.2a.sub.1 or the direction of the segment a.sub.3a.sub.2) and the force f.sub.x in the x direction are given by Expression (31).

{ f s = F tan .phi. f x = F cos .phi. ( 31 ) ##EQU00015##

[0226] The frictional force f.sub.f acting on the part M is given by Expression (32), where .mu. is a friction coefficient.

f.sub.f=.mu.F (32)

[0227] From Expressions (31) and (32), the condition in which the part M moves by closing the claw 101 and the claw 102 is given by Expression (33).

.phi.>tan.sup.-1.mu. (33)

[0228] In the following description, tan.sup.-1.mu. in Expression (31) may be expressed by .phi..sub.lim.

[0229] The self alignment condition in the upward self alignment will be described below. As illustrated in (b) of FIG. 19, the contact angle .phi. is expressed by .phi.=.beta.+.theta.. The contact angle .phi. decreases with the closing of the claw 101 and the claw 102. Accordingly, in a range in which .beta. is less than .phi..sub.lim, the movement of part M may be stopped in the middle of self alignment. Accordingly, the minimum size r.sub.min2 of the part M that can be subjected to upward self alignment is given by Expression (34) from the geometrical relationship illustrated in FIG. 28A.

r min 2 = { ( d sin .phi. lim sin .beta. + l cos .gamma. - l cos ( .gamma. + .phi. lim - .beta. ) ) .times. sin ( .pi. 2 - .beta. + .alpha. 2 ) cos ( .pi. 2 - .beta. + .alpha. 2 - ( .pi. 2 - .phi. lim ) ) , if .beta. .ltoreq. .phi. lim 0 , if .beta. > .phi. lim ( 34 ) ##EQU00016##

[0230] Expression (34) is modified to Expression (35) by substituting tan.sup.-1.mu. for .phi..sub.lim.

r min 2 = { ( d sin ( .beta. + .theta. ) sin .beta. + l cos .gamma. - l cos ( .theta. + .gamma. ) ) .times. sin ( .pi. 2 - .beta. + .alpha. 2 ) cos ( .pi. 2 - .beta. + .alpha. 2 - ( .pi. 2 - ( .beta. + .theta. ) ) ) , if .beta. .ltoreq. .phi. lim 0 , if .beta. > .phi. lim ( 35 ) ##EQU00017##

[0231] The self alignment condition in the downward self alignment will be described below. As illustrated in FIG. 28B, the contact angle .phi. is given by Expression (36).

.phi. = .pi. 2 - .alpha. - .theta. ( 36 ) ##EQU00018##

[0232] Expression (36) represents that the contact angle .phi. increases with the closing of the claw 101 and the claw 102. In a range in which (.pi./2-.alpha.) is equal to or greater than (tan.sup.-1.mu.), the self alignment is possible when the claws 101 and 102 are most opened. Accordingly, the maximum size r.sub.max3 of the part M that can be subjected to downward self alignment is given by Expression (37) from the geometrical relationship illustrated in FIG. 28B.

r max 3 = { 0 , if .pi. 2 - .alpha. < .phi. lim ( d tan .alpha. + d tan .beta. ) cos ( .alpha. + .phi. lim ) cos .phi. lim + l cos .gamma. - l sin ( .alpha. + .phi. lim - .gamma. ) cos .phi. lim , if .pi. 2 - .alpha. .gtoreq. .phi. lim ( 37 ) ##EQU00019##

[0233] Expression (38) is obtained by substituting Expression (36) for Expression (37).

r max 3 = { 0 , if .pi. 2 - .alpha. < .phi. lim ( d tan .alpha. + d tan .beta. ) cos ( .pi. 2 - .theta. ) cos ( .pi. 2 - .alpha. - .theta. ) + l cos .gamma. - l sin ( .pi. 2 - .theta. - .gamma. ) cos ( .pi. 2 - .alpha. - .theta. ) , if .pi. 2 - .alpha. .gtoreq. .phi. lim ( 38 ) ##EQU00020##

[0234] As described above, the maximum caging size r.sub.max2 of the part M is given by Expressions (8) and (17) on the basis of the caging condition. The minimum size r.sub.min2 of the part M that can be subjected to the upward self alignment is given by Expression (35) and the maximum size r.sub.max3 of the part M that can be subjected to the downward self alignment is given by Expression (38).

[0235] From the aforementioned description, the sizes and shapes of the claws 101 and 102 of the hand 40 are given in the range in which the frictional gripping condition, the caging condition, and the self alignment condition are satisfied for the part M (the radius r of the axis portion of the workpiece Wk). This range is as follows. The minimum size r.sub.min of the part M is the larger value of the minimum size r.sub.min1 of the part M that can be subjected to the frictional gripping and the minimum size r.sub.min2 of the part M that can be subjected to the self alignment from the base ends to the tips. The maximum size r.sub.max of the part M is the smallest value among the maximum size r.sub.max1 of the part M that can be subjected to the frictional gripping, the maximum size r.sub.max2 of the part M with which the area in which the center of the part M is movable is the maximum, and the maximum size r.sub.max3 of the part M that can be subjected to the self alignment from the base ends to the tips.

[0236] The tips of the claws 101 and 102 do not mean only the ends in the strict meaning, but may include side surfaces on the front side including a straight line passing through the point a.sub.1 and the point a.sub.3 or a portion similar thereto, for example, as illustrated in FIG. 13A. Similarly, the base ends of the claws 101 and 102 do not mean only the ends in the strict meaning, but may include side surfaces on the rear side including a straight line passing through the point a.sub.1 and the point a.sub.3 or a portion similar thereto, for example, as illustrated in FIG. 13A.

[0237] As described above, the robot 10 according to this exemplary embodiment includes the hand 40 gripping an object (for example, the workpiece Wk) and the control unit 60 operating the hand 40. The hand 40 includes fingers 41 and 42 that are able to grip an object at four or more contact points and the hand 40 grips an object of which a metallic tone index is equal to or higher than 5.

[0238] According to this configuration, since the fingers 41 and 42 can grip an object at four or more contact points, it is possible to stably grip objects, which have been piled in a random manner, having a metallic gloss.

[0239] In the robot 10, the control unit 60 includes the position and attitude calculating unit 602 that calculates the position and attitude of the object on the basis of a three-dimensional point group obtained by imaging the object and the grip planning unit 604 that determines the opening and closing direction (for example, the z'' direction (FIG. 9B)) of the fingers 41 and 42 in the direction perpendicular to the length direction (for example, the y' direction) of the object and the imaging direction (for example, the z direction) of the object.

[0240] According to this configuration, since the imaging direction of the object and the opening and closing direction of the fingers are perpendicular to each other, an error in the imaging direction of the position of the object based on imaging data is greater than that in the other directions and an error in the opening and closing direction of the fingers is smaller than the other directions. Accordingly, accumulation of the error is not concentrated on a specific direction. Since the fingers are opened and closed in the direction perpendicular to the length direction of the object, the hand can satisfactorily grip the object.

[0241] In the robot 10, the grip planning unit 604 causes the hand 40 to approach the object from a point (for example, the gripping standby point P') spaced apart by a predetermined distance from the position of the object in a direction perpendicular to the length direction of the object and not having a component parallel to the plane (for example, the work plane) on which the object is placed.

[0242] According to this configuration, the hand 40 approaches the objects in the direction not having a component parallel to the object to be gripped and the plane on which the object is placed with the point (for example, the gripping standby point P') spaced apart by a predetermined distance from the position of the object as a base point. Accordingly, since the possibility that the hand will come in contact with the object or the plane (for example, the work plane) on which the object is placed can be reduced, it is possible to satisfactorily grip the object.

[0243] In the robot 10, the grip planning unit 604 inclines the fingers 41 and 42 in the same direction as the inclination of the length direction of the object from the direction perpendicular to the plane when the angle (for example, the angle .theta.) between the plane and the length direction of the object is equal to or greater than a predetermined angle threshold (for example, 20.degree.).

[0244] According to this configuration, when the inclination of the object from the plane on which the object is placed is great, the opening and closing direction of the fingers is inclined in a direction closer to the direction perpendicular to the length direction of the object depending on the inclination. Accordingly, even when the hand approaches the object from the direction perpendicular to the length direction of the object, it is possible to satisfactorily grip the object.

[0245] In the robot 10, the control unit 60 includes the attitude control unit 606 that adjusts attitude of the object by changing a force for gripping the object with the hand 40.

[0246] According to this configuration, since the attitude of the gripped object is autonomously adjusted, it is possible to skip or save manual operations associated with the adjustment.

[0247] In the robot 10, the fingers 41 and 42 have a shape and a size enabling the caging and the self alignment on the object.

[0248] According to this configuration, when adjusting the attitude of the object, it is possible to utilize a gravitational force applied to the object by reducing the force for gripping the object with the hand 40. By increasing the force for gripping the object with the hand 40, it is possible to adjust the attitude of the object depending on the shape of the surfaces (for example, the first inclined surfaces 111 and 112 and the second inclined surfaces 121 and 122) on which the pair of fingers 41 and 42 face each other.

Modification Examples

[0249] The technical scope of the invention is not limited to the aforementioned exemplary embodiment, but can be modified in various forms without departing from the gist of the invention.

[0250] The aforementioned exemplary embodiment has described the example in which a workpiece Wk has a cylindrical shape or a shape similar to a cylinder, but the invention is not limited to this configuration. The shape of the workpiece Wk may be any shape that can be approximated into a long and narrow shape in which the length of one side is longer than that of the other sides, such as polygonal prisms such as a triangular prism and a rectangular prism or shapes similar to the polygonal prisms.

[0251] When a workpiece Wk does not have a portion (for example head Hd) of which the diameter is greater than the diameter of the other portions, the direction checking unit 605 and the attitude control unit 606 may not be provided. When the direction checking unit 605 is not provided, the imaging device 80 may not include the function of capturing a two-dimensional image, and the image data acquiring unit 601 may not perform the process of extracting two-dimensional image data.

[0252] The method of causing the imaging device 80 to acquire a three-dimensional point group indicating the shape of a subject is not limited to the phase shift method. Any method (for example, a time-of-flight method) may be employed as long as it can acquire the three-dimensional coordinates of sample points.

[0253] The method of causing the position and attitude estimating unit 602 to calculate the attitude of an object is not limited to the RANSAC method. Any method (for example, a minimum norm method) may be employed as long as it can calculate the attitude of an object. The number of sets of a position and attitude of an object which is calculated by the position and attitude estimating unit 602 may be one. In this case, the gripping difficulty level calculating unit 603 may not be provided.

[0254] The gripping difficulty level calculating unit 603 may not calculate the evaluation index value using all of the first to fourth evaluation index values. The gripping difficulty level calculating unit 603 may determine the evaluation index value using any one or any combination of the first to fourth evaluation index values.

[0255] The grip planning unit 604 may skip the process (step S405 in FIG. 8) of rotating the hand 40 by a predetermined angle .phi.' in the x'-y' plane with a workpiece Wk held therein.

[0256] The aforementioned embodiment has described the premise that the length (height) or radius of an object is set in advance by the control unit 60, but the invention is not limited to this configuration. The control unit 60 may acquire the length and radius from an input unit (not illustrated) capable of inputting the length and radius with a user's operation. The robot 10 may include a communication unit (not illustrated) capable of receiving the length and radius via a communication line.

[0257] The imaging device 80 may output image data pieces by frames to the robot 10 or may sequentially output the image data pieces to the robot 10 for every predetermined time interval. The imaging device 80 may be incorporated into the robot 10.

[0258] The control unit 60 may be constructed as a controller independent of the robot 10 as long as it can transmit and receive a variety of data to and from the imaging device 80, the moving mechanism 12, and the detection unit 63.

[0259] The degrees of freedom of the robot 10 are not limited to six axes, but may be set to seven or more axes or five or less axes.

[0260] The robot 10 is a single-arm robot including a set of the arm 20 and the hand 40, but the invention is not limited to this configuration. The numbers of arm 20 and the number of hands 40 may be greater than one.

[0261] FIG. 30 is a diagram illustrating a configuration of a robot system 1a of a modification example.

[0262] The robot system 1a includes a robot 10a.

[0263] The robot 10a is a two-arm robot including two sets of the arm 20 and the hand 40. The control unit 60 can independently control the operations of two sets of the arm 20 and the hand 40. The robot 10a includes a storage unit 70a and the control unit 60 is received in the storage unit 70a. The imaging device 80 may be installed on the top surface of the storage unit 70a. Vehicle wheels may be attached to the bottom surface of the storage unit 70a and thus the entire robot system 1a may move with an application of an external force.

[0264] The aforementioned processes of the control unit may be performed by recording a program for performing the processes of a part or all of the control unit 60, for example, the image data acquiring unit 601, the position and attitude estimating unit 602, the gripping difficulty level calculating unit 603, the grip planning unit 604, the direction checking unit 605, and the attitude control unit 606, on a computer-readable recording medium and causing a computer system to read and execute the program recorded on the recording medium.

[0265] Here, the "computer system" may include an operating system (OS) or hardware such as peripherals in addition to hardware such as a central processing unit (CPU) or a graphical processing unit (GPU) performing the aforementioned processes. The "computer system" may include a WWW system including a homepage providing environment (or display environment). Examples of the "computer-readable recording medium" include writable nonvolatile memories such as a flexible disk, a magneto-optical disk, a ROM, and a flash memory, portable mediums such as a compact disc (CD)-ROM, and a storage device such as a hard disk built in a computer system.

[0266] The "computer-readable recording medium" may include a medium that temporarily holds a program for a predetermined time, like a volatile memory (for example, a dynamic random access memory (RAM)) inside a computer system serving as a server or a client in a case where the program is transmitted via a network such as the Internet or a communication circuit such as a telephone circuit. The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by transmission waves in the transmission medium. Here, the "transmission medium" via which the program is transmitted means a medium having a function of transmitting information such as a network (communication network) such as the Internet or a communication circuit (communication line) such as a telephone line. The program may be configured to realize a part of the above-mentioned functions or may be configured to realize the above-mentioned functions by combination with a program recorded in advance in a computer system, like a so-called differential file (differential program).

[0267] While the exemplary embodiment of the invention has been described above in detail with reference to the accompanying drawings, the invention is not limited to the exemplary embodiment but may include designs or the like without departing from the gist of the invention.

* * * * *

File A Patent Application

  • Protect your idea -- Don't let someone else file first. Learn more.

  • 3 Easy Steps -- Complete Form, application Review, and File. See our process.

  • Attorney Review -- Have your application reviewed by a Patent Attorney. See what's included.