Robot hand and method of controlling the same

Disclosed herein is a method of controlling a robot hand similar to a hand of a human being such that the robot hand naturally and safely grasps an object. The robot hand, including fingers and a palm, is capable of naturally and safely grasping an object, by the tip of each finger performing impedance control while following the optimal path on a Cartesian coordinate system, although the robot hand cannot reach a position ideal to grasp the object due to sensor errors or shape information of the object to be grasped is not correctly recognized. Also, the robot hand is capable of stably grasping the object even when moving or manipulating the object.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the priority benefit of Korean Patent Application No. 2008-0121378, filed on Dec. 2, 2008 in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference.

BACKGROUND

Embodiments relate to a method of controlling a robot hand similar to a hand of a human being such that the robot hand naturally and safely grasps an object.

2. Description of the Related Art

Generally, an apparatus to perform a motion similar to that of a human being using an electric or magnetic action is called a robot. Early robots were industrial robots, such as a manipulator and a transfer robot, for work automation and unmanned operations in a production field. Such robots was used to perform dangerous works, simple and repetitive works, and works needing a large force in behalf of human beings. In recent years, there has been actively conducted research and development of a humanoid robot having an appearance similar to that of a human being, coexisting with a human being in a working and living space of the human being, and providing various kinds of services.

The humanoid robot has a robot hand configured to grasp an object such that the humanoid robot smoothly conduct interchange with and cooperate with a human being in everyday life. The robot hand includes a plurality of fingers and a palm, like a hand of a human being. It is possible for the robot hand to perform not only an accurate work but also a flexible and safe work by adjusting the stiffness at tips of the fingers through impedance control. In particular, it is possible for the robot hand to safely interact with a human being through the implementation of flexible stiffness. Also, it is possible for the robot hand to grasp an object although shape information of the object is incorrect.

However, the grasp control of the conventional robot hand is based on grasping an object only using tips of the fingers without using the palm and on manipulating the object, with the result that it is not possible to naturally and safely grasp the object.

SUMMARY

In accordance with an aspect of exemplary embodiments, there is provided a robot hand that is capable of naturally and safely grasping an object through impedance control to enable tips of fingers to follow the optimal path and stably grasping the object even when moving or manipulating the object and a method of controlling the same.

In accordance with an aspect of exemplary embodiments, there is provided a method of controlling a robot hand having a palm and a plurality of fingers connected to the palm, the method including setting a plurality of target positions for the respective fingers, creating grasp paths corresponding to the fingers based on the set target positions, and performing an impedance control while moving the fingers along the created grasp paths.

The fingers may include a plurality of first fingers extending from the palm in the same direction and at least one second finger extending in a direction different from that of the first fingers.

The target positions may be positions to which tips of the first fingers are to move.

The first and second fingers may include a plurality of link members configured to be bent such that the link members face each other.

The target positions may include a first target position where all the first fingers are stretched out, a second target position where the first fingers come into contact with the second finger, and a third target position where the first fingers come into contact with the palm.

The first target position may be a position of a tip of each first finger at a point where an angle between neighboring ones of the link members of each first finger is 180 degrees.

The second target position may be a position of a tip of each first finger at a point where a circle inscribed in a polygon formed by the link members of each first finger, the palm, and the link members of the second finger is the greatest.

The third target position may be a position of a tip of each first finger at a point where an angle between neighboring ones of the link members of each first finger is the minimum.

The creating the grasp paths may include creating a quadratic curve based on the first to third target positions and creating a path along which a tip of each first finger moves using the created quadratic curve.

The performing the impedance control may include measuring a current position of a tip of each first finger, comparing the measured current position with the set target positions and calculating a moving position of the tip of each first finger, calculating a joint torque at the tip of each first finger using the calculated moving position, and controlling a grasp operation of the tip of each first finger according to the calculated joint torque.

The measuring the current position of the tip of each first finger may include measuring joint angles of each first finger and measuring the current position of the tip of each first finger using a function of the measured joint angles.

The moving position may be a value obtained by subtracting the current position from one of the target positions.

The method may further include obtaining a Jacobian of an impedance control input using a Jacobian matrix according to the moving position.

The performing the impedance control may further include calculating the joint torque at the tip of each first finger using the Jacobian and the moving position.

In accordance with an aspect of exemplary embodiments, there is provided a method of controlling a robot hand, the method including setting a plurality of target positions to which tips of fingers performing a grasp operation are to move, creating grasp paths corresponding to the tips of the fingers using the set target positions, and performing an impedance control while moving the tips of the fingers along the created grasp paths.

In accordance with an aspect of exemplary embodiments, there is provided a robot hand including a palm, a plurality of fingers connected to the palm to perform a grasp operation, and a control unit to set a plurality of target positions to which a tip of each finger is to move, create grasp paths based on the set target positions, and perform an impedance control while moving the tips of the fingers along the created grasp paths.

DETAILED DESCRIPTION

Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout. Exemplary embodiments are described below by referring to the figures.

FIG. 1is a perspective view illustrating the schematic structure of a robot hand100according to an exemplary embodiment.

As shown inFIG. 1, the robot hand100includes a palm110and a plurality of fingers120and130connected to the palm110. The palm110is connected to an arm140with at least one degree of freedom.

The fingers120and130include a plurality of main grasping fingers120(hereinafter, referred to as first fingers) extending from the edge of one end of the palm110in the same direction such that the first fingers120can be bent toward the palm110and at least one auxiliary grasping finger130(hereinafter, referred to as at least one second finger) extending in the direction different from that of the first fingers120such that the at least one second finger can be bent toward the palm110.

The first fingers120respond to the index finger, the middle finger, the medical finger, and the little finger of a human being, and the at least one second finger130corresponds to the thumb of the human being. The first and second fingers120and130include pluralities of link members121,123,125,131,133, and135and pluralities of joints122,124,126,132,134, and136to interconnect the link members121,123,125and131,133,135.

The link members121,123,125,131,133, and135include first link members121and131, second link members123and133, and third link members125and135, which are sequentially arranged from the palm110in order. The joints122,124,126,132,134, and136include first joints122and132, second joints124and134, and third joints126and136, which are sequentially arranged from the palm110in order. The first joints122and132connect the first link members121and131to the palm110, respectively. The second joints124and134connect the second link members123and133to the first link members121and131, respectively. The third joints126and136connect the third link members125and135to the second link members123and133, respectively. Tips127and137of the third link members125and135constitute fingertips of the respective fingers120and130, respectively. At the joints122,124,126,132,134, and136are mounted encoders (not shown) to measure angles between neighboring ones of the link members121,123,125,131,133, and135, i.e., joint angles θ.

The positions of the tips127and137of the respective fingers120and130are decided by a Cartesian coordinate system created on the basis of an arbitrary point in the robot hand. Alternatively, the positions of the tips127and137of the respective fingers120and130may be displayed by a Cartesian coordinate system of a robot arm system having the robot hand100mounted thereto though the conversion of the coordinate system. For grasp, impedance control is performed while changing the target positions of the tips127and137of the respective fingers120and130.

The impedance control is a method of appropriately controlling stiffness against the limit in positional control exhibiting great stiffness (K=stiffness coefficient included in impedance properties) such that an appropriate force is applied to the fingers120and130during the grasp control of the fingers120and130. Through the impedance control, it is possible to provide various kinds of stiffness between target positions and actual positions of each fingertip127and thus to provide the robot, which exhibits lower accuracy to sense an object in the grasp of the object than a human being, with more stable and higher grasp success rate.

For optimal grasp through such impedance control, an exemplary embodiment creates a grasp path along which each first fingertip127optimally moves similarly to a path along which a human being moves when grasping an object. To create an optimal grasp path, an exemplary embodiment sets three target positions to which each first fingertip127is to move and creates a quadratic-curve grasp path based on the three set target positions, which will be described hereinafter with reference toFIGS. 2 to 5.

FIG. 2is a view illustrating a first operation state of the robot hand according to an exemplary embodiment, especially illustrating a first target position P1of each first fingertip127.

Referring toFIG. 2, the first target position P1is a position of each fingertip127at the point where each first finger120is stretched out, i.e., the angle between neighboring ones of the link members121,123, and125of each first finger120is 180 degrees. At this time, the second finger130is also stretched out such that the angle between neighboring ones of the link members131,133, and135of the second finger130is 180 degrees.

FIG. 3is a view illustrating a second operation state of the robot hand according to an exemplary embodiment, especially illustrating a second target position P2of each first fingertip127.

Referring toFIG. 3, when each first finger120and the second finger130come into contact with each other, i.e., when the fingertip127of one, of the first fingers120, which can come into contact with the second finger130(the middle finger) and the tip137of the second finger come into contact with each other, the second target position P2is a position of the first fingertip127at the point where a circle inscribed in a polygon formed by the link members121,123, and125of the first finger120, the palm110, and the link members131,133, and135of the second finger130is the greatest.

FIG. 4is a view illustrating a third operation state of the robot hand according to an exemplary, especially illustrating a third target position P3of each first fingertip127.

Referring toFIG. 3, the third target position P3is a position of the first fingertip127at the point where the angle between neighboring ones of the link members121,123, and125of each first finger120is the minimum, i.e., at the point where each first finger120performs a full grasp operation without an object. That is, the third target position P3is a grasp position where even the palm110is used. At this time, the angle between neighboring ones of the link members131,133, and135of the second finger130is also maintained at predetermined level.

FIG. 5is a view illustrating an operation path of the robot hand according to an exemplary embodiment. A quadratic curve is created based on the first to third target positions P1, P2, and P3, and a grasp path in which each first fingertip127moves along the curve.

Referring toFIG. 5, the position of each first fingertip127is set such that the first fingertip127moves along the grasp path formed by the first target position P1, the second target position P2, and the third target position P3, thereby holding an object in a wrapping fashion similarly to a path along which a human being moves when grasping an object. Also, the object is completely grasped even when using the palm110. Consequently, even when the object slightly deviates from an ideal grasp position or the shape of the object is not uniform, it is possible to grasp the object in a wrapping fashion, thereby further improving a grasp success rate.

As shown inFIG. 5, the power grasp to completely grasp an object is a grasp method frequently used in everyday life, which is necessary not only to move the object but also to manipulate the object with one hand while holding the object with another hand.

FIG. 6is a control block diagram of the robot hand according to an exemplary embodiment. The robot hand includes a target position setting unit150, a grasp path creation unit152, a drive unit154, a current position measurement unit156, a position comparison unit158, a position calculation unit160, a Jacobian creation unit162, an impedance control unit164, and a torque control unit166.

The target position setting unit150sets target positions Xdto which the tip127of each first finger120is to move such that the tip127of each first finger120follows the optimal path on a Cartesian coordinate system, to perform a grasp operation using each first finger120and the second finger130. Specifically, the target position setting unit150sets a grasp path of each first fingertip127such that each first fingertip127holds an object in a wrapping fashion similarly to a path along which a human being moves when grasping an object. Also, the target position setting unit150sets a grasp path of each first fingertip127such that even the palm110is used. To this end, the target position setting unit150sets the target positions Xdof each finger tip127to be the three positions P1, P2, and P3shown inFIGS. 2 to 4.

The grasp path creation unit152creates a quadratic curve based on the three target positions Xd(P1, P2, and P3) set by the target position setting unit150, and creates a grasp path of each first fingertip127, such that each first fingertip127moves along the curve, as shown inFIG. 5.

The drive unit154drives joint motors of each first finger120such that the tip127of each first finger120follows the grasp path created by the grasp path creation unit152.

The current position measurement unit156reads joint angles θ of each first finger120using encoders (or velocity sensors, such as tachometers, or position sensors) to measure the joint angles θ of each first finger120, and measures the current absolute coordinate position X (hereinafter, referred to as the current position) of each first fingertip127from the read joint angles θ.

The position comparison unit158compares the current position X of each first fingertip127measured by the current position measurement unit156with the predetermined three target positions Xd(P1, P2, and P3) to determine whether the current position X of each first fingertip127has reached the third target position Xd(P3).

When the position comparison unit158determines that the current position X of each first fingertip127has not reached the third target position Xd(P3), the position calculation unit160calculates a position Xd−X (hereinafter, referred to as a moving position) to move on a Cartesian coordinate system until each first fingertip127reaches the third target position Xd(P3) from the current position X for each of the three target positions Xd(P1, P2, and P3).

The Jacobian creation unit162creates Jacobian JTwith respect to each first finger120using the moving position Xd−X calculated by the position calculation unit160.

The impedance control unit164performs impedance control to calculate joint torque Tθwhich will be generated at each first finger120using the Jacobian JTcreated by the Jacobian creation unit162, the moving position Xd−X calculated by the position calculation unit160, and a stiffness coefficient K previously inputted with respect to the Cartesian coordinate system. K is a stiffness coefficient for the impedance control, which is a value previously inputted.

The torque control unit166moves the tip127of each first finger120to the target positions Xd(P1, P2, and P3) according to a command of the joint torque Tθat each first finger120calculated by the impedance control unit164, and performs the grasp operation of each first finger120.

Hereinafter, a method of controlling the robot hand with the above-stated construction will be described.

First, the Jacobian and impedance control of each first finger120will be described to explain an operation principle of an exemplary embodiment.

The current position X of each first fingertip127may be expressed as a function of joint angle θ as represented by Equation [1] below.
X=f(θ)  Equation [1]

J of Equation [2] obtained by differentiating Equation [1] is called Jacobian, which denotes a mapping of a Cartesian space and a function space of joint angle θ.
{dot over (X)}=J{dot over (θ)}Equation [2]

Where, J indicates a Jacobian transposed matrix with respect to a Cartesian coordinate system.

The impedance control is a method of appropriately controlling stiffness against the limit in positional control exhibiting great stiffness such that an appropriate force is applied to the each first finger120during the grasp control of each first finger120. The impedance control in the Cartesian space may be represented by Equation 3 below.
Tθ=JTK(Xd−X)  Equation [3]

Where, Tθindicates joint torque at each first finger120, JTindicates a Jacobian transposed matrix of each first finger120on a Cartesian coordinate system, K indicates a coefficient of impedance stiffness, Xdindicates the target position of each first fingertip127, and X indicates the current position of each first fingertip127.

When performing the impedance control, it is possible to set stiffness between target positions and actual positions of the tip127of each first finger120. When the stiffness is flexibly set, it is possible for each first finger120to appropriately come into tight contact with an object according to the shape of the object and thus to stably grasp the object, without individually controlling each first finger120depending upon the shape of the object to be grasped during the grasp control.

For each first fingertip127to perform the grasp operation using the impedance control, it is required for each first fingertip127to perform the impedance control while following the optimal grasp path shown inFIG. 5on a Cartesian coordinate system, which will be described in detail with reference toFIG. 7.

FIG. 7is a flow chart illustrating a grasp control method of the robot hand according to an exemplary embodiment.

First, the target position setting unit150sets the target positions Xdto which each first finger tip127is to move to be the three positions P1, P2, and P3shown inFIGS. 2 to 4, for the optimal grasp of an object (300).

When the three target positions Xd(P1, P2, and P3) are set, the grasp path creation unit152creates a quadratic curve based on the set three target positions Xd(P1, P2, and P3), and creates a grasp path of each first fingertip127, such that each first fingertip127moves along the curve, as shown inFIG. 5(302).

When the grasp path is created, the drive unit154drives the respective joint motors of each first finger120such that the tip127of each first finger120moves while following the created optimal grasp path on a Cartesian coordinate system (304).

For each first fingertip127to perform the impedance control while following the optimal grasp path, as described above, the current position measurement unit156reads the joint angles θ of each first finger120using encoders (or velocity sensors, such as tachometers, or position sensors) to measure the joint angles θ of each first finger120(306), and measures the current position X of each first fingertip127from the read joint angles θ (308).

Subsequently, the position comparison unit158compares the current position X of each first fingertip127measured by the current position measurement unit156with the predetermined three target positions Xd(P1, P2, and P3) to determine whether the current position X of each first fingertip127has reached the third target position Xd(P3) (310).

When it is determined at Operation310that the current position X of each first fingertip127has reached the third target position Xd(P3), the grasp operation using each first finger120is ended. When it is determined that the current position X of each first fingertip127has not reached the third target position Xd(P3), the position calculation unit160calculates the position Xd−X to move on a Cartesian coordinate system until each first fingertip127reaches the target positions Xd(P1, P2, and P3) from the current position X of each first fingertip127for each of the three target positions Xd(P1, P2, and P3) (312).

Subsequently, the Jacobian creation unit162creates Jacobian JTwith respect to each first finger120using the moving position Xd−X calculated by the position calculation unit160(314).

When the Jacobian JTwith respect to each first finger120is created, the impedance control unit164performs impedance control using the Jacobian JTinputted from the Jacobian creation unit162and the three moving positions Xd−X inputted from the position calculation unit160to calculate joint torque Tθwhich will be generated at each first finger120and input the calculated joint torque Tθto the torque control unit166(316).

The impedance control to calculate the joint torque Tθat each first finger120may be represented by Equation 3 below.
Tθ=JTK(Xd−X)  Equation [3]

The impedance control is an algorithm to calculate a command of the joint torque Tθsuch that each first fingertip127performs a grasp operation while moving to a desired target position along the optimal grasp path shown inFIG. 5by applying an appropriate force to each first finger120, during the grasp operation, to provide hardness or softness to the movement of each first finger120.

Consequently, the torque control unit166moves the tip127of each first finger120to the target position Xdaccording to a command of the joint torque Tθat each first finger120calculated by the impedance control unit164, and performs the grasp operation of each first finger120(318). Subsequent operations are repeatedly performed until each first finger120reaches the final position, i.e., the third target position P3.

In a previous exemplary embodiment, there was described as an example that the tip127of each first finger120performs the impedance control while following the optimal grasp path to naturally and safely achieve the grasp operation although the robot hand100cannot reach a position ideal to grasp an object due to sensor errors or shape information of an object to be grasped is not correctly recognized. However, exemplary embodiments are not limited to previous exemplary embodiments. For example, the tip137of the second finger130may perform impedance control while following the optimal grasp path or by all the tips127and137of the first fingers120and the second finger130may perform impedance control while following the optimal grasp paths.

Also, in a previous exemplary embodiment, there was described as an example that the robot hand100is applied to a humanoid robot. However, exemplary embodiments are not limited to previous exemplary embodiments. For example, it is possible to naturally and safely achieve a grasp operation through impedance control using Jacobian while following the optimal grasp path even when performing the grasp operation using an industrial robot.

As apparent from the above description, the robot hand, including the fingers and the palm, has the effect of naturally and safely grasping an object, by the tip of each finger performing the impedance control while following the optimal path on a Cartesian coordinate system, although the robot hand cannot reach a position ideal to grasp the object due to sensor errors or shape information of the object to be grasped is not correctly recognized. Also, the robot hand has the effect of stably grasping the object even when moving or manipulating the object.