PARALLEL MECHANISM WITH KINEMATICALLY REDUNDANT ACTUATION
20170221376 · 2017-08-03
Assignee
Inventors
Cpc classification
F16M11/121
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
F16M11/18
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
B25J17/0216
PERFORMING OPERATIONS; TRANSPORTING
B25J17/0266
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1623
PERFORMING OPERATIONS; TRANSPORTING
B25J9/0066
PERFORMING OPERATIONS; TRANSPORTING
International classification
F16M11/12
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
B25J9/00
PERFORMING OPERATIONS; TRANSPORTING
F16M11/18
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
Abstract
A parallel mechanism comprises legs with kinematically redundant actuation for a parallel mechanism. Each of these legs comprises a first sub-leg and a second sub-leg, each said sub-leg comprising a proximal end and a distal end. A link has a proximal end and a distal end. A joint with a rotational degree of freedom (DOF) is between and common to the distal ends of each of the first sub-leg and the second sub-leg, and the proximal end of the link. A joint provides at least two rotational DOFs at the distal end of the link and is adapted to connect the distal end of the link to one end of the parallel mechanism. Joints in the first sub-leg and the second sub-leg to provide DOFs to the sub-legs and to connect the proximal ends of the sub-legs to the other end of the parallel mechanism. A degree of actuation (DOA) is provided for each of the first sub-leg and the second sub-leg to control movement of the link. A method for controlling movement of the parallel mechanism is also provided.
Claims
1. A leg with kinematically redundant actuation for a parallel mechanism comprising: a first sub-leg and a second sub-leg, each said sub-leg comprising a proximal end and a distal end; a link having a proximal end and a distal end; a joint with a rotational degree of freedom (DOF) between and common to the distal ends of each of the first sub-leg and the second sub-leg, and the proximal end of the link; at least one joint providing at least two rotational DOFs at the distal end of the link and adapted to connect the distal end of the link to one end of the parallel mechanism; joints in the first sub-leg and the second sub-leg to provide DOFs to the sub-legs and to connect the proximal ends of the sub-legs to the other end of the parallel mechanism; and at least one degree of actuation (DOA) for each of the first sub-leg and the second sub-leg to control movement of the link.
2. The leg according to claim 1, wherein said joints in the first sub-leg and the second sub-leg include: a translational DOF joint in each said sub-leg between its proximal end and its distal end, the DOA for each said sub-leg actuating the translational DOF joint, and at least one joint providing two rotational DOFs at the proximal end of each said sub-leg.
3. The leg according to claim 1, wherein said joints in the first sub-leg and the second sub-leg include: a rotational DOF joint in each said sub-leg between its proximal end and its distal end, a rotational DOF joint at the proximal end of each said sub-leg, the DOA for each said sub-leg actuating the rotational DOF joint at the proximal end, and a common rotational DOF joint connected to the other end of the parallel mechanism, the rotational DOF joints at the proximal ends of the sub-legs being concurrently mounted onto the common rotational DOF joint.
4. The leg according to claim 3, wherein the sub-legs lie in a plane and a rotational axis of the common rotational DOF joint lies in said plane.
5. The leg according to claim 1, wherein said joints in the first sub-leg and the second sub-leg include: a rotational DOF joint at the proximal end of each of the sub-legs, a translational DOF joint upon which is mounted said rotational DOF joint at the proximal end of each of the sub-legs, the DOA for each said sub-leg actuating the translational DOF joint, and a common rotational DOF joint connected to the other end of the parallel mechanism, the translational DOF joints at the proximal ends of the sub-legs being concurrently mounted onto the common rotational DOF joint.
6. The leg according to claim 1, wherein the link and the sub-legs lie in a common plane, with an axis of rotation of the joint with one rotational DOF between and common to the distal ends of the sub-legs being normal to the common plane.
7. A spatial parallel mechanism comprising: a platform; a base; at least three of the leg with kinematically redundant actuation according to claim 1, each connected at opposed ends to the platform and to the base; and at least three single legs, each single leg comprising at least one joint providing at least two rotational DOFs connecting a distal end of the single leg to one end of the parallel mechanism, joints to provide DOFs to the single leg and to connect the proximal end of the single leg to the other end of the spatial parallel mechanism, and at least one DOA for each of the single leg to actuate movement at one of said joints; wherein the DOAs of the legs with kinematically redundant actuation and of the single legs are actuated to selectively displace the platform along at least one of six DOFs.
8. The spatial parallel mechanism according to claim 7, wherein said joints in each said single leg include: a translational DOF joint between the proximal end and the distal end of said single leg, the DOA for each said single leg actuating the translational DOF joint, and at least one joint providing two rotational DOFs at the proximal end of each said single leg.
9. The spatial parallel mechanism according to claim 7, wherein the proximal end of the legs with kinematically redundant actuation and of the single legs are connected to the base, and the distal ends of the legs with kinematically redundant actuation and of the single legs are connected to the platform.
10. (canceled)
11. A planar parallel mechanism comprising: a platform; a base; a leg with kinematically redundant actuation comprising a first sub-leg and a second sub-leg, each said sub-leg comprising a proximal end and a distal end, a link having a proximal end and a distal end, a first rotational joint between and common to the distal ends of each of the first sub-leg and the second sub-leg, and the proximal end of the link, a second rotational joint at the distal end of the link connecting the distal end of the link to the platform, joints in the first sub-leg and the second sub-leg to provide DOFs to the sub-legs and to connect the proximal ends of the sub-legs to the base, and at least one DOA for each of the first sub-leg and the second sub-leg to control movement of the link; two single legs connected to the platform by a first rotational joint common to the distal ends of the two single legs, each single leg comprising joints to provide DOFs to the single legs and to connect the proximal end of the single leg to the base of the parallel mechanism, and at least one DOA for each of the single leg to actuate movement at one of said joints; wherein the DOAs of the leg with kinematically redundant actuation and of the single legs are actuated to selectively displace the platform along at least one of three DOFs in a plane.
12. The planar parallel mechanism according to claim 11, wherein said joints in the first sub-leg and the second sub-leg include: a translational joint in each said sub-leg between its proximal end and its distal end, the DOA for each said sub-leg actuating the translational joint, and a third rotational joint at the proximal end of each said sub-leg.
13. The planar parallel mechanism according to claim 11, wherein said joints in the first sub-leg and the second sub-leg include: a third rotational joint in each said sub-leg between its proximal end and its distal end, a fourth rotational joint at the proximal end of each said sub-leg, the DOA for each said sub-leg actuating the fourth rotational joint.
14. The planar parallel mechanism according to claim 11, wherein said joints in the first sub-leg and the second sub-leg include: a third rotational joint at the proximal end of each of the sub-legs, a translational joint upon which is mounted said third rotational joint at the proximal end of each of the sub-legs, the DOA for each said sub-leg actuating the translational joint.
15. The planar parallel mechanism according to claim 11, wherein said joints in each said single leg include: a rotational joint at the proximal end of each of the single legs, and a translational joint upon which is mounted said rotational joint at the proximal end of each of the single legs, the DOA for each said single leg actuating the translational joint.
16. The planar parallel mechanism according to claim 11, wherein rotational axes of all said rotational joints are normal to said plane.
17. The planar parallel mechanism according to claim 11, further comprising a gripper portion integral with the link, and another gripper portion integral with the platform, the gripper portions concurrently forming a gripper actuable by the selective displacement of the platform along at least one of three DOFs in a plane.
18. (canceled)
Description
DESCRIPTION OF THE DRAWINGS
[0038] A preferred embodiment of the present invention will now be described with reference to the accompanying drawings in which:
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
DETAILED DESCRIPTION
[0047] Referring to the drawings and, more particularly, to
[0048] The mechanism 10 has a frame 11 (a.k.a., base) and a platform 12, the frame 11 being provided to support a plurality of single legs 13 and a plurality of double legs 14 that actuate the motion of the platform 12. Although a frame 11 is shown as being a defined surface, the single legs 13 and the double legs 14 may be secured directly to the ground. The platform 12 is shown without any components thereon. However, the platform 12 (also referred to as end effector) typically receives thereon equipment, systems, tools, seats, etc, all of which depend on the use of the parallel mechanism 10. Moreover, the mechanism 10 may be upside down relative to the orientation shown in
[0049] Each of the single legs 13 may be composed of a passive universal joint 30 (i.e., three rotational degrees of freedom, or 3 rDOF, at least two of which are used) connecting the leg 13 to the base 11, a first moving link 31, a second moving link 32 and a passive spherical joint 33 (3 rDOF, at least two of which are used) that connects the leg 13 to the platform 12. The first moving link 31 and the second moving link 32 are interconnected to form a prismatic (sliding) joint 34 which may provide the actuation of the leg 13. This joint 34, providing one translation degree of freedom (1 tDOF), can be a hydraulic cylinder, an electric linear actuator, an electric ball-screw system, a pneumatic cylinder or any other means of providing linear actuation. While a single configuration is shown for the single legs 13, it is considered to provide different arrangements as well. For example, sub-legs of double legs will be described hereinafter, with reference to
[0050] Referring concurrently to
[0051] The moving links 41 and 42 are interconnected in each sub-leg by a prismatic (sliding) joint 44 that provides actuation of the tDOF between the links 41 and 42. This joint 44, providing one translation degree of freedom (tDOF), can be a hydraulic cylinder, an electric linear actuator, an electric ball-screw system, a pneumatic cylinder or any other means of providing linear actuation. There are two actuators in a double leg 14, i.e., one for each joint 44.
[0052] The common passive pivot 43 connects the sub-legs to an additional moving link 45 that is connected to the moving platform 12 by a passive spherical joint 46 (3 rDOF). In an embodiment, the moving link 45 lies in a plane that is parallel to a direction of both the joints 44, and the rotational axis of the 1 DOF pivot 43 is normal to this double-leg plane, as this arrangement allows the double leg 14 to work solely in tension/compression.
[0053] In the parallel mechanism 10 of
[0054] Depending on the application, it could be advantageous to place the attachment points of the legs 13 and 14 to the base 11 and to the platform 12 in different locations. For example, the mechanism 10 can be assembled upside-down, with the platform 12 below the base 11. Also, the attachment points on the base 11 or on the platform 12 do not necessarily have to be coplanar.
[0055] Other combinations of double legs 14 are contemplated to offer the same possibility of avoiding singularities, two of which are respectively shown in
[0056] Referring to
[0057] The sub-legs are defined by moving links 41′ and 42′, which differ from the moving links 41 and 42 of
[0058] In order to adjust the direction of the link 45 to avoid singularities, the actuators may be provided at each of the pivot joints 51. Hence, with two rotational degrees of actuation, the double leg 14′ may avoid singularities. In this embodiment, the actuators produce a rotational output, and may be electric motors for instance.
[0059] Referring to
[0060] The sub-legs of the double leg 14″ are defined by links 41″, which are each connected by a pivot joint 60 to a respective prismatic joint 61. Moreover, the sub-legs are connected to the frame 11 by an additional pivot joint 62 rotatably connected to the frame 11, with the prismatic joints 61 concurrently mounted to a shaft of the pivot joint 62. Hence, in this embodiment, the direction of the prismatic joints 61 is parallel to the axis of the pivot joint 62.
[0061] In the double leg 14″, the rotational axes of the pivot joints 60 are parallel to one another. In order to avoid flexion in the leg 14″, the rotational axes of the pivot joints 60 of the double leg 14″ is also parallel to the axis of the common passive pivot 43, with all these axes being normal to plane of the double leg 14″. Also, the axis of pivot 62 is included in the plane of leg 14″.
[0062] In order to adjust the direction of the link 45 to avoid singularities, the degrees of actuation may be provided at each of the prismatic joint 61, i.e., the translation is actuated. Hence, with two translational degrees of actuation, the double leg 14″ may avoid singularities. In this embodiment, the actuators may be any appropriate form of linear actuator as mentioned above for the double leg 14 of
[0063] Therefore, it is proposed to introduce some redundancy in some of the legs in order to provide some control over the direction of the lines that define the singularities. A key issue may then be to introduce this redundancy while preserving the tension/compression loading in the legs, i.e., without introducing bending loads or internal forces. The various planar relations described above prevent the introduction of bending loads or internal forces.
[0064] It is pointed out that, although not shown for simplifying the drawings, the parallel mechanism 10 may be operated by a processor (e.g., a computer, etc) that drives the degrees of actuation of the parallel mechanism 10, as a function of desired position and/orientation for the platform 12 as input by an operator manipulating the parallel mechanism 10. For this purpose, the various joints and actuators of the parallel mechanism 10 are monitored to continuously know their geometric relation to one another. The geometric relations of the joints, for instance obtained by appropriate sensors (e.g., rotary encoders, magnetic sensors, etc), are used in the algorithm leading to the singularity-less control of the movements of the platform 12.
[0065] Now that an exemplary spatial parallel mechanism 10 has been described, along with various configurations for its double legs (e.g., 14, 14′ and 14″), the algorithm to solve its inverse kinematic problem is set forth. The method is described with reference to the spatial parallel mechanism 10 of
[0066] When the mechanism 10 is in operation, the position and orientation of the platform 12 is prescribed at each time step, according to the application. For a given position and orientation of the platform 12, the extension of the actuators of the joints 34 of the single legs 13 is readily computed. For the double legs 14, because of the kinematic redundancy, an algorithm is required to compute the extension of the actuators of the joints 44 since infinitely many combinations of the extensions of the two actuators of the double leg 14 are possible. The algorithm is based on the optimization of the direction of the link 45 that connects the double leg 14 to the platform 12. Indeed, it is known that the kinematic singularities are dependent on the direction of the links that connect each of the legs 13 and 14 to the platform 12. By optimizing the direction of the links 45, which is accomplished by selecting a proper combination of the extensions of the two actuators for the joints 44 of a double leg 14, it is possible to keep the mechanism 10 away from singularities. The mathematical optimization can be implemented using a gradient search technique or other mathematical tools using a performance index that can be the condition number of the Jacobian matrix of the mechanism, the determinant of the Jacobian matrix, the kinematic sensitivity of the Jacobian matrix or other means of ensuring that the configuration adopted by the double legs 14 is appropriate, such that the mechanism is kept away from singularities and such that the forces in the actuators remain within prescribed limits. The result of the optimization will yield the extensions of the actuators 44 of the double legs 14. It is pointed out that one of the key features of the disclosure is that kinematic redundancy is introduced to alleviate singularities, thereby increasing the workspace. At the same time, the parallel mechanism 10 may be configured such that all actuated legs are subjected to tension/compression forces only and no actuation redundancy (capability to generate internal forces using the actuators) is introduced.
[0067] Hence, referring to
[0068] According to 71, the processor of the parallel mechanism 10 receives a command to move the platform 12 from a current position and orientation to a desired position and orientation. The current position and orientation may be continuously calculated by the processor.
[0069] According to 72, singularities are identified in the parallel mechanism 10 in a displacement from the current position and orientation of the platform 12, to the desired position and orientation of the platform 12.
[0070] In order to identify the singularities, consider a parallel mechanism with k redundant legs each containing two prismatic actuators (e.g., such as double legs 14) and (6−k) conventional legs each containing one prismatic actuator (e.g., such as single leg 13). Referring to
[0071] where ∥.Math.∥ stands for the norm of its vector argument, and the length of the link connecting point Si to point Bi is noted li. Finally, the extension of the ith leg is noted pi if the latter is a conventional leg while the extension of the sublegs are noted ρi1 and ρi2 if the leg is a redundant leg.
[0072] The Cartesian coordinates of the moving platform (e.g., platform 12 in
b.sub.i=p+Qv.sub.i0′ i=1, . . . , 6 (2)
[0073] where vi0 is the position vector of point Bi with respect to point P, expressed in the reference frame attached to the platform. For a given mechanism, this vector is constant.
[0074] The Jacobian matrices of the mechanism are obtained from the velocity equations, which are written as:
Jt=Kp (3)
[0075] where J is a 6×6 matrix and K is a (6×(6+k)) matrix. These Jacobian matrices can be shown to have the following structure
[0076] where it is assumed that the legs numbered from 1 to k are the redundant legs while the legs numbered from k+1 to 6 are the conventional legs. It can be observed, from eq. (4), that the rows of matrix J are the Plucker coordinates of lines. The line of the Jacobian corresponding to a conventional leg is formed with the Plucker coordinates of the line connecting point Ai to point Bi while the line of the Jacobian matrix corresponding to a redundant leg is formed with the Plucker coordinates of the line connecting point Si to point Bi.
[0077] Matrix K is also readily obtained based on the above velocity equations. For a mechanism comprising k redundant legs and 6−k conventional legs, matrix K is of dimension 6×(6+k) and has the following form
[0078] where 0i×j stands for a zero matrix of dimension i×j and where matrix K1 is written as
[0079] in which one has ri=(si−bi) and where one has
[0080] while matrix K2 is the following diagonal matrix
K.sub.2=diag└ρ.sub.k+1, . . . , ρ.sub.6┘ (10)
[0081] where it is assumed that the legs numbered from i to k are the redundant legs while the legs numbered from k+1 to 6 are the conventional legs. It can be observed that the first k lines of matrix K, associated with the redundant legs, each contain two nonzero entries while the last (6−k) lines, associated with the conventional legs each contain one nonzero entry (matrix K2 is a (6−k)×(6−k) diagonal matrix). The redundancy of the robot is apparent from matrix K, which contains two columns for each of the k redundant legs.
[0082] Still referring to
[0083] The solution of the inverse kinematic problem of the kinematically redundant parallel mechanism 10 described above consists in determining all joint coordinates for a given pose—position and orientation—of the platform 12. Because the mechanism 10 is kinematically redundant, the inverse kinematic problem has infinitely many solutions. Indeed, when the pose of the platform 12 is prescribed, the position of points Bi is uniquely determined. For the conventional legs (e.g., the single legs 13), the joint coordinates, pi, are therefore also uniquely determined. However, in each of the redundant legs (e.g., 14/14′/14″), it can be observed that point Si is only constrained to lie on a circle of radius li centered at Bi and inscribed in a plane defined by points Si, Bi, Ai1 and Ai2 and that the position on this circle can be chosen arbitrarily by varying ρi1 and ρi2. Moreover, as explained above and as clearly seen in eq. (4), the singularities of the mechanism 10 are governed by the Plucker lines of the conventional legs 13 and of the links 45 connecting points Si and Bi for the redundant legs 14/14′/14″. Therefore, when solving the inverse kinematic problem for the redundant legs 14/14′/14″, it should be possible to select solutions that correspond to orientations of the links 45 connecting Si and Bi that avoid singularities. In other words, each of the redundant legs 14/14′/14″ introduces an additional degree of freedom that can be exploited to reorient link SiBi to the corrective orientation and avoid singularities. In order to formulate the optimization problem, a variable ai is introduced for each of the redundant legs 14/14′/14″ that represents the orientation of link SiBi with respect to the direction of unit vector ei, as illustrated in
(s.sub.i−b.sub.i)=l.sub.i cos α.sub.ie.sub.u+l.sub.i sin α.sub.if.sub.i (11)
[0084] where fi is a unit vector orthogonal to vector ei and located in the plane of redundant leg i, defined by points Bi, Ai1 and Ai2. Vector fi is readily computed using
[0085] The inverse kinematic problem can therefore be formulated as follows: for a prescribed pose of the platform, first compute the actuated joint coordinates of the conventional legs 13 (the solution is unique) and then determine the actuated joint coordinates of the redundant legs 14/14′/14″ in order to maximize the ‘distance’ to singularities. Clearly, there is no generally accepted measure of the distance to singularities but several indices proposed in the literature can be used here since the purpose is simply to avoid singularities and not necessarily to find optimum configurations. Such indices include the dexterity, the determinant of the Jacobian matrix, the condition number of a normalized Jacobian matrix, the kinematic sensitivity, or others. The kinematic sensitivity is suggested because of its clear geometric meaning and because it does not suffer from unit inconsistencies. Translational and orientational kinematic sensitivity can be used in order to ensure that all singularities are avoided. Let η be the chosen index to be minimized in order to avoid singularities. The inverse kinematic problem can then be formulated as follows, assuming k redundant legs numbered from 1 to k and (6−k) conventional legs numbered from (k+1) to 6.
[0086] The solution of the inverse kinematic problem of kinematically redundant manipulators consists in obtaining the minimum norm solution of the joint velocity vector that produces the prescribed Cartesian velocity vector and in adding an extra term to the joint velocity vector that is contained in the nullspace of the Jacobian matrix, which is used to optimize some performance index.
[0087] Referring to eqs. (3), (4) and (5) and assuming that matrix J is of full rank, eq. (5) can be rewritten as
t=J .sup.1K{dot over (ρ)}=U{dot over (ρ)} (13)
which is the standard form of the velocity equations for kinematically redundant manipulators, where matrix U is of dimension 6×(6+k). Since matrix J is of full rank, the nullspace of matrix U is simply the nullspace of matrix K. Also, by observation of eqs. (6) and (10), the nullspace of matrix K, noted N(K) is readily obtained and can be described as
with vector σi defined as
σ.sub.i=[0 0 . . . r.sub.i.sup.Tn.sub.i−r.sub.i.sup.Tm.sub.i 0 . . . 0].sup.T. i=1 . . . k. (15)
[0088] In other words, vector a has (6+k) components and only two nonzero entries located in position (2i−1) and 2i. It can be observed that the last (6−k) components of vector σ.sub.i are all equal to zero. This corresponds to the fact that, for a given position and orientation of the platform 12, the length of the (6−k) non-redundant legs is determined. It can also be observed that vectors σ.sub.i form a set of orthogonal vectors, which corresponds to the fact that the redundancy of the robot is decoupled, i.e., the adjustment of the direction of the end link of one of the redundant legs has no impact on the orientation of the other legs. Hence, the resolution of the redundancy is readily computed. The general solution of the velocity equations can then be written as
where U.sup.I is the generalized inverse corresponding to the minimum norm solution, namely U.sup.I=U.sup.T(UU.sup.T).sup.−1, ξ is a scaling factor used to adjust the magnitude of the second term of the solution with respect to the first one, η is a performance index to be minimized and matrix P=(1−U.sup.IU) projects any vector in the nullspace of matrix U, where 1 stands for the identity matrix. Based on the above description of the nullspace of matrix U (eq. (14)) and since vectors σ.sub.i form an orthogonal base of this nullspace, it is clear that the second term of eq. (17) can be readily computed as the following sum of scalar products, namely
which is computationally much more efficient.
[0089] In practice, since the last (6−k) components of vector a are equal to zero, the last (6−k) components of vector δη/δρ do not need to be computed. This corresponds to the fact that the non-redundant legs do not contribute to the redundancy resolution. The above described scheme is used to solve the inverse kinematic problem of the kinematically redundant parallel mechanism 10.
[0090] Returning to
[0091] Referring to
[0092] A double leg, which bears similarities with the double legs 14/14′/14″ of
[0093] The four controllable DOFs can be chosen as the position and orientation of the platform PB plus the orientation of link SB with respect to the platform PB. Moreover, as it will be shown below, the singularities of the mechanism 100 correspond to the degeneracy of the three lines defined along the single legs A.sub.1P and A.sub.2P and the link SB. Therefore, by controlling the orientation of the link SB relative to the platform PB, singularities may be avoided when displacing the platform PB to any position and orientation in its working plane. Since lines defined along A.sub.1P and A.sub.2P intersect at point P, it suffices to ensure that the line defined along segment SB does not go through point P. For instance, maintaining the link SB orthogonal to the platform PB guarantees that the three lines are as “far” as possible from intersecting. Therefore, one simple approach to the trajectory planning of the mechanism 100 is to consider the revolute joint at point B to be inactive and fixed in an orientation that makes the link SB orthogonal to the platform PB, to compute the position of points P and S based on the latter assumption and the prescribed position and orientation of the platform PB, and, finally, to compute the actuator lengths accordingly. If the geometric parameters of the mechanism 100 are chosen properly, this approach leads to a mechanism design that is singularity-free and that has unlimited rotational motion in its working plane, as it will be demonstrated below. Finally, it is pointed out that the proposed architecture can be applied to other types of single legs and sub-legs such as PRR and RRR.
[0094] The kinematic modeling of the planar kinematically redundant four-DOF parallel mechanism 100 is now presented. Referring to
[0095] The Cartesian coordinates of the moving platform PB are given by the position vector of the reference point P on the platform PB, vector p, and the orientation of the platform PB, given by matrix Q, which represents the rotation from the fixed reference frame A.sub.1xy to the moving reference frame Px′y′ attached to the platform PB, written as
where φ is the angle defined between the x-axis of the fixed frame and the x′-axis of the moving frame PB. In addition, vector v is defined as the vector connecting point [0096] P to point B, expressed in the moving frame, namely
v=|b 0.sup.T (20)
where b is the distance between point P and point B (platform length). The distance between points S and B, i.e., the length of the link SB is noted I and the actuator extensions (joint coordinates) are noted ρi, i=1, . . . , 4, which correspond, respectively, to the length of segments A.sub.1P, A.sub.2P, A.sub.3S, and A.sub.4S. With the above definitions, the position vector of point B can then be written as
b=p−Qv. (21)
[0097] Differentiating (21) with respect to time, one then obtains
[0098] Considering the two single legs of the mechanism 100, the distance between point P of the platform and points A.sub.1 and A.sub.2 can be written as
ρ.sub.i.sup.2=(p−a.sub.i).sup.T(p−a.sub.i). i=1. 2. (24)
[0099] Differentiating (24) with respect to time then leads to
ρ.sub.i{dot over (ρ)}.sub.i=(p−a.sub.i).sup.T{dot over (p)}. i=1. 2. (25)
[0100] The sub-legs of the mechanism 100 are then considered. First, the constraint introduced by the link SB, namely the constant distance between points S and B, can be written as
(s−b).sup.T(s−b)=l.sup.2. (26)
[0101] Differentiating (26) with respect to time, one then obtains
(s−b).sup.T{dot over (s)}=(s−b).sup.T{dot over (b)}. (27)
[0102] Then, the distance between point S and points A3 and A4 can be written as
ρ.sub.i.sup.2=(s−a.sub.i).sup.T(s−a.sub.i). i=3. 4. (28)
[0103] Differentiating (28) with respect to time then yields
ρ.sub.i{dot over (ρ)}.sub.i=(s−a.sub.i).sup.T{dot over (s)}. i=3. 4. (29)
[0104] which can be written in matrix form as
H{dot over (s)}=h (30)
where matrix H and vector h are obtained as
[0105] It can readily be observed that matrix H is always of full rank as long as the sub-legs are not aligned, which is easily ensured by design. Therefore, (30) can be inverted in order to express vector s as a function of the velocity of the actuators of the sub-legs. Based on (31), a simple robust analytical form of the inverse relationship can be written as
[0106] Finally, the substitution of (37) and (22) into (27) leads to the relationship between the Cartesian velocity of the platform—defined with vector p and scalar σ—and the velocity of the sub-legs, namely
(s−b).sup.T({dot over (p)}−{dot over (o)}EQv)=(s−b).sup.TNh. (34)
[0107] Equations (25) and (34) form a system of three equations relating the three components of the Cartesian velocities to the four joint velocities.
[0108] Following the standard notation generally used for parallel mechanisms, the relationship between the joint velocities and the Cartesian velocities of the kinematically redundant planar parallel mechanism introduced above is written as
Jt=K{dot over (ρ)} (35)
where t is the vector of Cartesian velocities defined as t=[ρ.sup.T φ].sup.T, and ρ is the vector of joint velocities defined as ρ=[ρ1 ρ2 ρ3 ρ4].sup.T. Hence, matrix J is a 3×3 matrix, while matrix K is a 3×4 matrix. The kinematic redundancy is apparent from matrix K.
[0109] Equation (25) is used to construct the first two rows of the Jacobian matrices, while (34) is used to construct the third row, leading to
[0110] It can be observed, from (36), that the rows of matrix J are the planar coordinates of lines. Indeed, rows 1 and 2 correspond to lines defined along segments A.sub.1P and A.sub.2P, while row 3 corresponds to a line defined along segment SB. This observation confirms the possibility to avoid all singularities by using the redundancy to control the orientation of link SB with respect to the platform. Indeed, matrix J will always be of full rank as long as the aforementioned three lines are not dependent. In the special case described above, in which the single legs A.sub.1P and A.sub.2P are connected to a common attachment point P on the platform PB, it suffices to ensure that the line defined along segment SB does not pass through point P and that legs A.sub.1P and A.sub.2P are not aligned.
[0111] The structure of matrix K can also be analyzed. It appears clearly that the latter matrix is of full rank as long as none of the joint coordinates ρi, i=1, . . . , 4, is equal to zero and as long as the sub-legs are not aligned. Again, these conditions are easily satisfied by design.
[0112] The solution of the inverse kinematic problem of the planar kinematically redundant parallel mechanism 100 described above consists in determining all joint coordinates for a given pose—position p and orientation φ—of the platform. Since the mechanism is kinematically redundant, the inverse kinematic problem has infinitely many solutions. As mentioned above, one possible approach consists in using the kinematic redundancy to maintain the link SB orthogonal to the platform BP, thereby avoiding all direct kinematic singularities. Indeed, from (36), it is clear that this solution corresponds to staying as “far away” as possible from the geometric condition that corresponds to a singular configuration, i.e., the alignment of links SB and BP. This particular solution is straightforward, robust, and easy to implement in a practical situation. It should be preferred in most cases. The following algorithm is used: [0113] 1) Prescribe the position and orientation of the platform PB, namely vector p and angle φ. [0114] 2) Compute the position of point B using (21). [0115] 3) Compute the first two joint coordinates ρ1 and ρ2 using (24). [0116] 4) Based on the position and orientation of the platform PB, compute the position of point S that will make link SB orthogonal to the platform PB. This is accomplished using (40), in which the solution that places link SB below the platform PB in the reference configuration is chosen:
where 1 stands for the identity matrix. This step corresponds to the redundancy resolution. [0117] 5) Compute the last two joint coordinates ρ3 and ρ4 using (28).
[0118] If only the positive solutions of pi are considered and if the link SB and the platform PB are prescribed to be orthogonal, the inverse kinematic problem has only two solutions.
[0119] The above solution can be generalized to exploit the kinematic redundancy for the performance of an auxiliary task. Indeed, the angle between links SB and PB does not need to be kept at 90°: It suffices to ensure that this angle does not become close to zero or Tr. Therefore, there exists a range of angles within which the configuration of the link SB and platform PB can be chosen and an additional task can be associated with this choice of angle. For example, the use of the redundancy for grasping is considered, by providing gripper portions integral with the link SB, and integral with the platform PB, the gripper portions concurrently forming a gripper actuable by the selective displacement of the platform PB along at least one of three DOFs in the working plane of the mechanism 100, with the angle θ between platform PB and the link BS corresponding to the opening of such a gripper. The general inverse kinematic algorithm can be written as follows: [0120] 1) Prescribe the position and orientation of the platform PB, namely vector p and angle φ. [0121] 2) Compute the position of point B using (21). [0122] 3) Compute the first two joint coordinates ρ1 and ρ2 using (24). [0123] 4) Select the orientation of link SB—with respect to the platform PB—that corresponds to the auxiliary task while ensuring that links SB and PB do not become close to being aligned. This is accomplished using
where 1 stands for the identity matrix, and matrix R is defined as
where θ is the angle between the platform PB and the link BS. In order to avoid singularities, this angle should be restricted to one of the following ranges, namely
−π−{circle around (0)}.sub.i≦θ≦−{circle around (0)}.sub.i or {circle around (0)}.sub.i≦θ≦π−{circle around (0)}.sub.i (43)
where Y is the angle that is considered safe for singularity avoidance. This step corresponds to the exploitation of the redundancy for a given additional task such as grasping. [0124] 5) Compute the last two joint coordinates Σ3 and Σ4 using (28).
[0125] The direct kinematic problem of the kinematically redundant mechanisms proposed herein is rather straightforward. Indeed, if the first two actuator coordinates, ρ1 and ρ2, are prescribed, it is possible to compute the position vector of point P. The latter problem corresponds to finding the intersection of two circles centered, respectively, in A1 and A2 and having radii ρ1 and ρ2. Similarly, if actuator coordinates ρ3 and ρ4 are prescribed, it is possible to compute the position vector of point S. This problem corresponds to finding the intersection of two circles centered, respectively, in A3 and A4 and having radii ρ3 and ρ4. Finally, when the position of points P and S are known, the position of point B can be found by intersecting two circles of radii I and b centered, respectively, in S and P. Therefore, the solution of the direct kinematic problem can admit up to eight solutions. However, in practice, the geometric design of the mechanism 100 may limit the number of solutions. For example, the limitations on the actuator lengths are usually such that actuators of the single legs A.sub.1P and A.sub.2P can never become aligned (likewise for actuators of the sub-legs of the double leg) and links PB and BS are kept away from an aligned configuration in the above inverse kinematic algorithms. Under these conditions, the solution of the direct kinematic problem becomes unique and is readily computed.
[0126] The analysis of the workspace of the redundant parallel mechanism 100 can be readily performed based on the particular solution of the inverse kinematic problem defined above. Indeed, the latter solution assumes that links PB and SB remain orthogonal in order to avoid singularities. Based on this assumption, a virtual platform PBS can be defined, and the workspace analysis can be conducted using techniques developed for nonredundant planar parallel mechanisms 100. As long as the legs in a given pair are not allowed to align—which is readily verified—the workspace obtained using this approach is free from singularities since it is obtained while preventing links PB and SB to align.
[0127] Referring now to
[0128] The mechanism 100 of
a.sub.i=ρ.sub.ie.sub.i. i=1 . . . 4 (44)
where e.sub.i is a constant unit vector oriented along the axis of the ith fixed prismatic joint. In the geometric arrangement of
e.sub.i=[1 0].sup.T. i=1 . . . 4. (45)
[0129] The (constant) length of the link connecting point A.sub.i, with i=1, 2, to point P is noted u.sub.i, as shown in
(p a.sub.i).sup.T(p a.sub.i)=u.sub.i.sup.2. i=1. 2. (46)
[0130] Substituting (44) into (46) and rearranging then leads to
ρ.sub.i.sup.2+B.sub.iρ.sub.i−C.sub.i=0. i=1. 2 (47)
where
B.sub.i=−2p.sup.Te.sub.i and C.sub.i=p.sup.Tp−u.sub.i.sup.2. i=1. 2. (48)
[0131] In addition, differentiating (46) with respect to time leads to
(p−a.sub.i).sup.T{dot over (p)}=(p−a.sub.i).sup.T{dot over (a)}={dot over (ρ)}.sub.i(p−a.sub.i).sup.Te.sub.i. i=1. 2. (49)
[0132] Considering now the kinematics of the moving platform PB, (21), (22), (26), and (17) directly apply, leading to
(s−b).sup.T{dot over (s)}=(s−b).sup.T({dot over (p)}−{dot over (o)}EQv). (50)
where φ is the angle between the fixed x-axis and the moving x′-axis and represents the orientation of the platform, while E, Q, and v are defined, respectively, in (23), (19), and (20).
[0133] The sub-legs can then be considered. The (constant) length of the link connecting point A.sub.i, with i=3, 4, to point S is noted u.sub.i, as shown in
(s−a.sub.i).sup.T(s−a.sub.i)=u.sub.i.sup.2. i=3. 4. (51)
[0134] The above equation can be rewritten as
ρ.sub.i.sup.2+D.sub.iρ.sub.i−F.sub.i=0. i=3. 4 (52)
where
D.sub.i=−2s.sup.Te.sub.i and F.sub.i=s.sup.Ts−u.sub.i.sup.2. i=3. 4. (53)
[0135] Differentiating (51) with respect to time, one then gets
(s−a.sub.i).sup.T{dot over (s)}=(s−a.sub.i).sup.T{dot over (a)}.sub.i={dot over (ρ)}.sub.i(s−a.sub.i).sup.Te.sub.i. i=3. 4 (54)
which can be written in matrix form as
H{dot over (s)}=h.sub.ρ (55)
where H is defined in (31) and where hp is defined as
[0136] As pointed out in the derivation of the kinematic equations of the mechanism with RPR legs, matrix H is of full rank as long as the sub-legs (links of length u3 and u4) are not aligned. Matrix H can be inverted explicitly, leading to the expression of matrix N given in (33), which also applies here. One has
{dot over (s)}=Nh.sub.ρ. (57)
[0137] Substituting (57) into (50) and rearranging, the third velocity equation—complementing the first two velocity equations given in (49)—is obtained as
[0138] Based on the above derivation, the Jacobian matrices can be assembled, leading to
Jt=K.sub.ρ{dot over (ρ)} (62)
where matrix J is defined in (36), vectors t and ρ are defined as t=[p.sup.T φ].sup.T, and ρ=[ρ1 ρ2 ρ3 ρ4].sup.T, and where matrix K.sub.p is defined as
with k.sub.p33 and k.sub.p34 as defined in (59) and (60). It is noted that matrix J is the same as in the case of the mechanism with RPR legs, while matrix K has to be modified to account for the different actuation scheme.
[0139] The use of legs of the PRR type in the mechanism 100 slightly changes the singularity avoidance conditions. Indeed, in the case of RPR legs, the two legs attached to a common platform (or intermediate link) joint could not become aligned as long as the sum of their minimum lengths is larger than the distance between their fixed attachment points. In the case of PRR legs, one must again ensure that two legs attached to a common platform (or intermediate link) joint do not become aligned, which would lead to a singularity. If the rails are all aligned, as in
[0140] The inverse kinematic problem of the mechanism with PRR legs can be solved as follows: [0141] 1) Prescribe the position and orientation of the platform PB, namely vector ρ and angle φ. [0142] 2) Compute the position of point B using (21). [0143] 3) Compute the first two joint coordinates ρ1 and ρ2 using (47). The latter quadratic equations are readily solved for ρi and the proper root of the equation is easily determined based on the geometric arrangement. [0144] 4) Select the orientation of link SB—with respect to the platform PB—that corresponds to maintaining the links at 90° or to performing an auxiliary task, while ensuring that links SB and PB do not become close to being aligned. This is accomplished using
where 1 stands for the identity matrix, and matrix R is defined as
where θ is the angle between link PB and link BS, which is either set to −90° or restricted to one of the following ranges:
−π−{circle around (0)}.sub.i≦θ≦−{circle around (0)}.sub.i or {circle around (0)}.sub.i≦θ≦π−{circle around (0)}.sub.i (66)
where Y is the angle that is considered safe for singularity avoidance. [0145] 5) Compute the last two joint coordinates ρ3 and ρ4 using (52). The latter quadratic equations are readily solved for pi and the selection of the proper root is straightforward, based on the geometric arrangement of the legs.