This application claims the benefit of Korean Patent Application No. 2009-0099003, filed on Oct. 16, 2009 in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference.
1. Field
Example embodiments relate to a teaching and playback method for a robot having at least one redundancy resolution, particularly a robot with an elbow having an offset, using a redundancy resolution parameter determined in conjunction with a joint structure.
2. Description of the Related Art
A teaching and playback algorithm based on Inverse Kinematics (IK) is used for control of an industrial robot. A robot arm such as a 7-axis manipulator has recently emerged to mimic the natural movement of the human arm.
In general, differential IK and analytical IK are used as IK. It is known that analytical IK is restrictively applicable to a Spherical-Regulated-Spherical (S-R-S) manipulator which allows for geometric and algebraic analyses.
There are basically six coordinate system parameters for an end-effector of a robot, and one or more redundancy resolution parameters are defined for posture control. An arm angle is used as a redundancy resolution parameter. The arm angle is defined as an angle between a reference plane formed by a reference vector and a shoulder and wrist of the robot and an arm plane formed by the shoulder, elbow, and wrist of the robot.
In differential IK, the arm angle is used for Extended Jacobian as a parameter of a cost function, whereas in analytical IK, the arm angle is used as a parameter of operational space.
Even though the robot has the coordinate system parameters for the end-effector and seven teaching values as arm angles, one arm angle may represent two shoulder postures at the same time. Therefore, there is a limit on the playback function of the robot to return to the same position and posture all the time.
Therefore, it is an aspect of the example embodiments to provide a teaching and playback method using a redundancy resolution parameter determined in conjunction with a joint structure for a robot having at least one redundancy resolution.
It is another aspect of the example embodiments to provide a method to apply analytic Inverse Kinematics (IK) to a robot with an elbow having an offset.
The foregoing and/or other aspects are achieved by providing a teaching and playback method for a robot including performing a teaching and playback operation based on inverse kinetics for the robot, for posture control, in operational space, by calculating joint angles of the robot in joint space using end-effector parameters and a redundancy resolution parameter of the robot. The redundancy resolution parameter is determined in conjunction with a joint structure of the robot.
The redundancy resolution parameter may be an arm angle which is an angle between a set reference plane and an arm plane formed by a shoulder, elbow, and wrist of the robot.
The robot may include a Spherical-Regulated-Spherical (S-R-S) manipulator having an elbow without an offset or a Spherical-Articulated-Spherical (S-A-S) manipulator having an elbow with an offset.
The teaching and playback method may further include determining whether a posture of the robot is one of a positive and negative by comparing a set angle with an angle θS between a second joint axis of the robot and a vector obtained by projecting a vector directed from the shoulder to the wrist of the robot on an X-Y plane of a first joint coordinate system based on Denavit-Hartenberg (D-H) convention parameters. If the angle θS is between 0 and 180 degrees, the posture of the robot may be determined to be positive, and if the angle θS is below 0 or above 180 degrees, the posture of the robot may be determined to be negative.
The reference plane may be one of a positive reference plane and a negative reference plane according to a posture of the robot. The positive reference plane may be generated to be a plane formed by the shoulder and the wrist of the robot and a first reference vector which is a cross product between the vector directed from the shoulder to wrist of the robot and an axial-direction vector of the second joint axis of the robot, when the posture of the robot is positive, and the negative reference plane may be generated to be a plane formed by the shoulder and wrist of the robot and a second reference vector which is a cross product between the axial-direction vector of the second joint axis of the robot and the vector directed from the shoulder to the wrist of the robot, when the posture of the robot is negative.
The arm angle and a type of the reference plane may be represented in one parameter by setting the arm angle to range from 0 to 360 degrees and assigning a sign indicating one of the positive and negative reference plane.
Information indicating whether the reference plane is one of the positive and negative plane may be stored as a parameter.
The inverse kinematics may be differential or analytic inverse kinematics. The teaching and playback operation may be performed in the analytic inverse kinematics by setting a center of a fourth axis of the robot as an elbow, generating two virtual elbows based on Denavit-Hartenberg (D-H) convention parameters, and interpreting an initial posture of the robot and a target posture that results from moving the arm plane by a predetermined angle, using the elbow and the virtual elbows.
The foregoing and/or other aspects are achieved by providing a teaching and playback method for a robot having an elbow with an offset includes performing a teaching and playback operation based on analytic inverse kinetics for the robot for posture control, using end-effector parameters and a redundancy resolution parameter of the robot. The teaching and playback operation may be performed by setting a center of a fourth axis of the robot as an elbow, generating two virtual elbows based on Denavit-Hartenberg (D-H) convention parameters, and interpreting an initial posture of the robot and a target posture that results from moving a set reference plane and an arm plane defined by a shoulder, elbow, and wrist of the robot by a predetermined angle, using the elbow and the virtual elbows.
The redundancy resolution parameter may be determined in conjunction with a joint structure of the robot.
The redundancy resolution parameter may be an arm angle which is an angle between the set reference plane and the arm plane.
According to another aspect of one or more embodiments, there is provided at least one computer readable medium including computer readable instructions that control at least one processor to implement methods of one or more embodiments.
Additional aspects of the example embodiments will be set forth in part in the description which follows and, in part, will be apparent from the description, or may be learned by practice of the disclosure.
These and/or other aspects will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout.
Target values of the above-described parameters are set for the robot and a time-dependent trajectory is planned from a current state to a target state. In IK, the planned parameters are converted to joint values of the robot in joint space and a torque value is calculated using the joint values and input to each motor of the robot.
Referring to
As illustrated in
The motion planning stage includes planning the end-effector parameters x, y, z, roll, pitch and yaw and the redundancy resolution parameter, i.e. arm angle over all motions. The redundancy resolution parameter, namely the arm angle is an angle between a reference plane and an arm plane. A reference vector {circumflex over (V)} is variably set according to the joint structure of a shoulder of the robot, as described later in detail with reference to
The IK stage is divided into differential IK and analytic IK, for example, according to control methods for a 7-axis manipulator. The IK stage involves calculation for each joint of the robot of a target joint value, an angular speed, an angular acceleration, torque, etc. using target values obtained from the motion planning. For differential IK-based redundancy resolution control, a cost function of the difference between a current arm angle and a target arm angle is used. The differential IK-based redundancy resolution control includes control of a redundancy resolution through null-space control or Extended Jacobian. On the other hand, analytic IK involves calculation of joint values corresponding to the end-effector parameters including x, y, z, roll, pitch and yaw, and the redundancy resolution parameter consisting arm angle, either geometrically or algebraically. To be more specific, the analytic IK includes a method of interpreting and applying the redundancy resolution and a method of determining a solution from among a plurality of joint values. In particular, the analytic IK includes a method of interpreting an elbow offset manipulator and applying an arm angle, which will be described later in detail.
The robot stage involves actual operation of the robot by motors in response to input of the calculated target values, and output of feedback values by an encoder.
For teaching and playback of the 7-axis elbow offset manipulator, the D-H convention parameters illustrated in
The redundancy resolution parameter (arm angle, ψ) is defined as follows. The redundancy resolution parameter includes a sign and a value. The sign represents a reference plane to be used, and the value represents an angle with respect to the reference plane. According to signs, positive and negative reference planes exist as illustrated in
where θS is an angle between a second joint axis and a vector VSW directed from the shoulder to the wrist, projected to the X-Y plane of a first coordinate system based on the D-H convention parameters. The above posture classification is available when each of the remaining axes except for the fourth axis is in a rotation range of 180 to 360 degrees. If the fourth axis rotates 180 degrees or more, four types of postures are defined. A fixed vector {circumflex over (V)} is determined as follows to determine a reference plane based on the determined posture.
where uSW is a unit vector of VSW and u2z is an axial-direction (z-axis direction) unit vector of the second joint axis.
The reference plane is generated using the determined fixed vector {circumflex over (V)} and
The application of the above values to IK will be described below. First, the following Jacobian is calculated in differential IK.
Jψ={dot over (ψ)}/{dot over (θ)}
The above Jacobian is applied to a null-space controller or Extended or Augmented Jacobian, thereby making the manipulator move by a fine displacement and finally reach the target posture. For example, the following equation describes application of the Jacobian to the null-space controller during a speed level control
{dot over (θ)}=J+{dot over (x)}+[Jψ(I−J+J)]+({dot over (ψ)}−JψJ+{dot over (x)})
Analytic IK is divided into two parts, initial posture analysis and target posture analysis. An initial posture is a posture of the robot when ψ=0 and an elbow is defined for analysis as illustrated in
Two virtual elbow joints E1 and E2 are formed based on the D-H convention parameters. E1 is a point apart from the shoulder by a distance dSE1 in the direction of the rotation axis of the third axis and E2 is a point apart from the wrist by a distance −dSE1 in the direction of the rotation central axis of the fifth axis. By setting the parameter a from the shoulder and the wrist to 0 in the D-H convention parameter table,
3lSE
3lE
Also, a base of the robot and the manipulator is in the following relationship.
The initial posture with ψ=0 is analyzed as follows. First, θ01, θ02, θ03 and θ04 representing the initial posture of the robot are defined. θ01 represents the value of an ith joint for the initial posture. Unless the poise of the end-effector is changed, the position of the wrist is always the same. Hence, θ4 is constant irrespective of ψ. That is, θ4=θ04, which is calculated geometrically by
Then θα is defined as ∠ESW and θβ is defined as an angle between u1z and VSW.
From the above equations, other joint angles are calculated by
θ10=A tan 2(−ux0×u2z,uy0×u2z)
θ20=θβ−θα−θ∠E
θ30=0
According to the reference plane and the reference vector, u2z is geometrically determined by the following equation.
u2z={circumflex over (V)}×VSW
θ1 is calculated and selected according to the positive or negative posture as described in relation to the arm angle definition. θ2,3 is calculated by a geometrical analysis between VSW and a link and θ3 is always 0 when ψ=0.
Now, a detailed description will be made of analysis of the target posture. The target posture analysis includes calculating a posture of the manipulator having an arm angle changed by ψ with respect to the initial posture. The target posture analysis is carried out by analyzing three parts, that is, the elbow, the shoulder and the wrist.
The elbow analysis is made geometrically. Because θ4 is independent of ψ as stated before, θ4 is given as
θ4=π−θ∠SEW+θoffset
The shoulder is analyzed as follows. When ψ=0, the direction of the elbow is known from θ01, θ02, θ03 and θ04. Hence, a target elbow direction is derived by
0R4=0Rnψ0R40
0R40=(0R1|θ
0Rnψ=I3+sin ψ[n×]+(1−cos ψ)[n×]2
where 0R04 is a rotation matrix from the base to the coordinates of the fourth axis when ψ=0, and 0R0nψ is a rotation matrix obtained by using the Rodriques's formula with respect to the reference axis VSW and the arm angle ψ. The following equation is derived from the above equations.
0R3=0Rnψ0R30
If θS is a set of θ1, θ2 and θ3, 0R3 and a rotation matrix R(θS) are expressed as
where se and ce are short for sin θ and cos θ. Using the above two equations, shoulder joint values are computed by
θ1=A tan 2(s23,s13)
θ2=A tan 2(√{square root over (s132+s232)},s33)
θ3=A tan 2(s32,−s31)
where sij is a component of the matrix 0R3 and the matrix 0R3 is valid when s13 and s23 are not zeros. Aside from the above equations, other possible solutions are given as
θ1=A tan 2(−s23,−s13)
θ2=A tan 2(−√{square root over (s132+s232)},s33)
θ3=A tan 2(−s32,−s31)
In other words, one of the two sets of solutions is selected by determining whether the robot's posture is positive or negative.
Regarding the wrist analysis, the relationship between a fifth joint and a sixth joint is calculated by analyzing target wrist joint angles by
4′R7=4R4′T0R4T0R7
where 0R4′ is a rotation offset between the fourth axis and the fifth axis, 0RT4 is a value mathematically calculated by IV-B.1 and IV-B.2, and 0R7 is a direction of the end-effector. The wrist is similar to the shoulder in structure. Therefore, if θW is a set of θ5, θ6 and θ7, the following equations are derived according to the foregoing analysis.
Based on the above equations, the following joint angle solutions are obtained.
θ5=A tan 2(w23,w13) θ5=A tan 2(−w23,−w13)
θ6=A tan 2(√{square root over (w132+w232)},w33) or θ6=A tan 2(−√{square root over (w132w232)},w33)
θ7=A tan 2(w32,−w31) θ7=A tan 2(−w32,−w31)
where wij is a component of the matrix 0R7 and the matrix 0R7 is valid when w13 and w23 are not zeros. As stated before in relation to the shoulder analysis, one of the two sets of solutions may be selected. However, if there is no reference value for the wrist, a solution most similar to the wrist posture of the manipulator is selected.
The above method is summarized as follows. The respective equations are used to derive the values of the first, second and third axes and the values of the fifth, sixth and seventh axes by comparing algebraic equations with analytic equations. i-1Ri represents rotation from an (i−1)th coordinate system to an ith coordinate system, 0Rnψ represents a Rodrigues rotation with respect to VSW. 4R4′ represents an offset between a fourth coordinate system and a fifth coordinate system.
0R3=0Rnφ0R30
4′R7=4R4′T0R4T0R7
Since the position of the wrist is always constant unless the poise of the end-effector is changed, θ4 is constant irrespective of ψ. Therefore, θ4 is equal to θ4 of the initial posture. When a plurality of solutions are derived for the shoulder, a solution is selected according to a posture sign, and when a plurality of solutions are derived for the wrist, a solution most similar to the current structure is selected.
As is apparent from the above description, the teaching and playback method based on control of a redundancy resolution for a robot according to example embodiments eliminates the uncertainty of teaching and playback for a multi-joint robot. In particular, the teaching and playback method is provided by applying analytic IK to an S-A-S robot with an elbow having an offset.
The above-described embodiments may be recorded in computer-readable media including program instructions to implement various operations embodied by a computer. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. Examples of computer-readable media (computer-readable storage devices) include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM disks and DVDs; magneto-optical media such as optical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. The computer-readable media may be a plurality of computer-readable storage devices in a distributed network, so that the program instructions are stored in the plurality of computer-readable storage devices and executed in a distributed fashion. The program instructions may be executed by one or more processors or processing devices. The computer-readable media may also be embodied in at least one application specific integrated circuit (ASIC) or Field Programmable Gate Array (FPGA). Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules in order to perform the operations of the above-described exemplary embodiments, or vice versa.
Although embodiments have been shown and described, it should be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the disclosure, the scope of which is defined in the claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
10-2009-0099003 | Oct 2009 | KR | national |
Number | Name | Date | Kind |
---|---|---|---|
4887222 | Miyake et al. | Dec 1989 | A |
4931549 | Berner | Jun 1990 | A |
4967126 | Gretz et al. | Oct 1990 | A |
4975856 | Vold et al. | Dec 1990 | A |
5737500 | Seraji et al. | Apr 1998 | A |
6489741 | Genov et al. | Dec 2002 | B1 |
6845295 | Cheng et al. | Jan 2005 | B2 |
7756606 | Nakajima et al. | Jul 2010 | B2 |
7904202 | Hoppe | Mar 2011 | B2 |
8145355 | Danko | Mar 2012 | B2 |
Number | Date | Country | |
---|---|---|---|
20110093119 A1 | Apr 2011 | US |