Next Article in Journal
Genetic Algorithm-Based Data Optimization for Efficient Transfer Learning in Convolutional Neural Networks: A Brain–Machine Interface Implementation
Next Article in Special Issue
Driving Strategies for Omnidirectional Mobile Robots with Offset Differential Wheels
Previous Article in Journal
A Survey of Machine Learning Approaches for Mobile Robot Control
Previous Article in Special Issue
DDPG-Based Adaptive Sliding Mode Control with Extended State Observer for Multibody Robot Systems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Bi-Invariant Approach to Approximate Motion Synthesis of Planar Four-Bar Linkage

Department of Mechanical and Aerospace Engineering, University of Dayton, 300 College Park, Dayton, OH 45469, USA
*
Author to whom correspondence should be addressed.
Robotics 2024, 13(1), 13; https://doi.org/10.3390/robotics13010013
Submission received: 8 December 2023 / Revised: 5 January 2024 / Accepted: 9 January 2024 / Published: 10 January 2024
(This article belongs to the Special Issue Kinematics and Robot Design VI, KaRD2023)

Abstract

:
This paper presents a planar four-bar approximate motion synthesis technique that uses only pole locations. Synthesis for rigid-body guidance determines the linkage dimensions that guide a body in a desired manner. The desired motion is specified with task positions including a location and orientation angle. Approximation motion synthesis is necessary when an exact match to the task positions cannot be obtained. A linkage that achieves the task positions as closely as possible becomes desired. Structural error refers to the deviations between the task positions and the linkage’s generated positions. A challenge in approximate motion synthesis is that structural error involves metrics that include location and orientation. A best-fit solution is not evident because the structural error is based on an objective function that combines the location and orientation. Such solutions lack bi-invariance because a change in reference for the motion changes the values of the metric. This work uses only displacement poles, described solely by their coordinates, as they sufficiently characterize the relative task positions. The optimization seeks to minimize the distance between the poles of the task positions and the poles of the generated positions. The use of poles results in a bi-invariant statement of the problem.

1. Introduction

Kinematic synthesis of linkages is a process to determine the arrangement of links, and their corresponding dimensions, to achieve a desired motion. Rigid-body guidance is a category of kinematic synthesis that is concerned with placing a link in a specified set of task positions. The task positions include the location and orientation of the link at various positions of the desired linkage movement. Generated positions are the actual location and orientation that a link achieves as the linkage moves through its range of motion. Linkage motion that exactly generates the desired task positions is only possible for a finite number of positions. A four-bar linkage is capable of generating positions that exactly match a maximum of five task positions [1]. When greater than five task positions are specified, numerical optimization techniques must be used to determine linkage parameters that best fit the prescribed task positions [2]. The difference between the prescribed task position and the position generated by the linkage is termed structural error.
Levitskii [3] is recognized as the first to address approximate linkage synthesis by using an optimization that involved the synthesis equations and minimized the sum of the squares of the structural error. Sarkisyan et al. [4] improved the optimization by combining the algebraic least-squares method with circles and lines since they represent the geometric constraints associated with linkage joints. Ravani and Roth [5] developed an approach that represents the three parameters of a planar displacement as points on a spatial curve. Using this kinematic mapping, which is essentially a quaternion, the synthesis task becomes a curve-fitting problem. Their initial framework for motion synthesis has been applied to a wide range of planar mechanisms, and several authors have improved upon these techniques since this work was published. One such improvement was by Larochelle [6], introducing a method that uses a parameterized representation of a linkage’s workspace, called its constraint manifold. While still maintaining the advantages of the quaternion approach by Ravani and Roth, this optimization is posed to minimize the distance between the linkage constraint manifold and the specified task positions. Ge et al. [7] formulated approximate motion optimization by using a more general statement of the constraint manifolds, such that the coefficients become linear. The method views determining the motion trajectories of four-bar mechanisms as fitting a pencil of quadrics to the given motion data. By doing so, Ge et al. are able to develop a unified framework for motion synthesis that is applied to a wide range of planar mechanisms [8]. Gogate and Matekar [9] addressed approximate motion synthesis using evolutionary methods. Three alternative error functions were used for comparison. One of their alternatives includes the displacement pole position error in addition to the normalized angular displacement error. They noted that the location error of the target and generated position is exposed by the error in the poles.
Invariance generally refers to a property that is unaffected under a particular transformation, whereas bi-invariance implies that the property remains unchanged after two operations. The methods described above involve a metric for measuring structural error that combines a distance between locations and orientations of a link. The solution is inherently dependent on the manner in which these quantities are combined. That stated, many of the techniques above are either left or right invariant. In the context of Lie groups, a bi-invariant metric is unaffected after applying a left or right translation to the elements within the group [10]. Planar motion described in SE(2) is a Lie group, and metrics in SE(2) are not bi-invariant [11]. Elements of SE(2) are also called planar homogeneous transforms. Di Gregorio [12] provides an overview of error metrics on distances between spatial rigid-body positions and their representations by elements of SE(3), the special Euclidean group of spatial displacements, which includes SE(2) as a subset. Liu and Yang [13] present an approximate synthesis optimization using polynomial equations based on geometric conditions of a single dyad that leads to a bi-invariant solution, yet assumes optimality of the linkage after joining dyads. The contribution of this paper is a linkage synthesis method that solely uses the location of the displacement poles. The displacement poles properly describe the relative task positions, with the relative locations in a pole triangle ensuring the relative orientations of positions [1]. The presented technique is advantageous because the relative positions of the poles do not change if the coordinate axes used to specify the problem are changed. As such, the error metric has the potential to result in a more consistent optimization process.
The remainder of the paper is organized as follows. Various concepts that are used in rigid-body guidance are outlined in Section 2. Section 3 describes the optimization details. Details about the claims of bi-invariance are presented in Section 4. Section 5 presents examples and comparisons to several of the alternative methods available in the literature. Conclusions are provided in Section 6.

2. Concepts Used in Rigid-Body Guidance

Figure 1a shows three task positions with their corresponding moving reference frames, M i . In planar, rigid-body guidance, a task position is defined by a location vector d i = [ d i x , d i y ] T and an orientation angle θ i , both measured relative to a fixed frame F.
A general point in M i is specified as x = [ x , y ] T and in F as X i = [ X i , Y i ] T , which are shown in Figure 1b. Relating x and X i ,
X i = A i x + d i ,
where
A i = cos θ i sin θ i sin θ i cos θ i .

2.1. The Displacement Pole

Any displacement of a rigid body from position j to position k, and vice versa, can be accomplished by a pure rotation about the displacement pole P j k = P k j , as shown in Figure 1c. The rotation angle about the pole from M j to M k is
ϕ j k = θ k θ j .
Since the pole is the center of rotation, its location p j k , relative to either M j or M k , must be identical. Using Equation (1) for both M j or M k ,
P j k = A j p j k + d j = A k p j k + d k .
Solving Equation (4) for p j k = [ A j A k ] 1 ( d k d j ) and using Equation (1) to determine the coordinates of the displacement pole in the fixed frame gives
P j k = A j [ A j A k ] 1 ( d k d j ) + d j = A k [ A k A j ] 1 ( d j d k ) + d k = P k j .
Three successive positions j, k, and l will define the three poles P j k , P j l , and  P k l . Note the relationship that ϕ j l = ϕ j k + ϕ k l . The three poles form a pole triangle as shown in Figure 2 [1].

2.2. Using Poles to Determine the Task Positions

Observe from Figure 2 that with one task position and all pole locations, instances of Equation (3) provide the orientation angles of the remaining task positions. So, given the pole locations in a pole triangle and one position, say θ j of A j and d j , the other angles and their corresponding rotation matrices, A k and A l , are readily determined. Equation (5) is then used to solve directly for d k and d l .

2.3. Counting the Required Poles

A displacement pole is associated with a pair of specified task positions. As such, the number of displacement poles n p is related to the number of specified task positions n t through a pairwise combination [1]:
n p = n t ( n t 1 ) / 2 .
Given one of the positions, however, having the full set of poles is not required (for more than three positions) to find the remaining positions. For example, n t = 4 positions have nine unknowns for θ j and d j , j = 2 , 3 , 4 . Four positions used in Equation (5) produce 6 vector equations or 12 equations when expanded. The result is 12 equations in 9 unknowns, and the system is observed to be redundant.
For an arbitrary number of positions, and without loss of generality, consider from Section 2.2 that Positions 2 and 3 may be generated, given Position 1, from poles P 12 , P 13 and P 23 . To generate Position 4, only 2 of the poles from P 14 , P 24 , or  P 34 are needed to complete a pole triangle. Now, to generate Position 5, only 2 of the poles from P 15 , P 25 , P 35 , or  P 45 are needed to complete the triangle. Observing that the pattern continues, only two poles are needed per position following the recognition of an initial pole triangle. The following general statement can now be made. Given one task position, the number of poles required to determine the location and orientation of the other n t 1 task positions is
n p * = 2 ( n t 3 ) + 3 .
The preceding rationale introduces the condition that each of the n t task positions must be represented in at least two of the n p * poles to complete a pole triangle. Consider an example with n t = 6 task positions. Equation (6) yields n p = 15 total poles, and Equation (7) specifies that only n p * = 9 are required to determine θ j and d j , j = 2 , , 6 given the information for j = 1 . However, the following set of nine poles P 13 , P 14 , P 15 , P 26 , P 34 , P 35 , P 36 , P 45 , and  P 56 will not generate independent equations because Position 2 is only represented once. Alternately, the set of nine poles P 12 , P 13 , P 14 , P 15 , P 16 , P 23 , P 34 , P 45 , and  P 56 has each position represented at least twice and is sufficient to determine the location and orientation of task Positions 2 through 6.

2.4. Dimensional Synthesis

Dimensional synthesis for rigid-body guidance is a classic problem in linkage design. Well-established methods have been developed to generate a revolute–revolute (RR) dyad to exactly reach as many as five arbitrary target positions [1,14,15]. Figure 3 illustrates two RR dyads that join to form a four-bar linkage.
The fixed pivots, also known as the center points, are located in the fixed frame with vectors G and H . The links attached to the fixed pivot, also known as cranks, have lengths l and m and for the linkage position illustrated have location vectors l i and m i .
The joined link of the two RR dyads is called the coupler and contains a generated reference frame N i , as illustrated in Figure 3. This reference frame is referred to as “generated” because its location is determined as part of the optimization process detailed below and, being approximate motion synthesis, does not match the target task positions. The position of the generated reference frame is described by a location vector e i = [ e x i , e y i ] T and an orientation angle ψ i , both stated relative to the fixed frame F.
The location vectors of the moving pivots, also known as circle points, relative to the moving frame are y and z . Using Equation (1), the locations of the moving pivots relative to the fixed frame are
Y i = B i y + e i ,
Z i = B i z + e i ,
where
B i = cos ψ i sin ψ i sin ψ i cos ψ i .
Alternately, the location of the moving pivots relative to the fixed frame as constrained by the cranks are
Y i = G + l i ,
Z i = H + m i .
Dimensional synthesis of the RR dyads amounts to determining values of G , y for one crank and H , z for the other that place the generated reference frames N i near the desired positions. The fundamental synthesis condition is that the crank lengths, l and m, remain constant throughout the motion. An expression for the resulting crank length l is generated by combining and squaring Equations (8) and (11), giving
l 2 = B i y + e i G T B i y + e i G .
Similar manipulation of Equations (9) and (12) gives
m 2 = B i z + e i H T B i z + e i H .
Considering a synthesized linkage movement from position j to position k, the displacement pole of the generated reference frame N, which is attached to the coupler, is Q j k . An expression for the location vector of the pole is determined in an identical process as that for Equation (5):
Q j k = B j [ B j B k ] 1 ( e k e j ) + e j = B k [ B k B j ] 1 ( e j e k ) + e k = Q k j .

3. Dimensional Synthesis Optimization

The approximate motion synthesis begins with a specified set of task positions, from which the pole locations are determined from Equation (5). A synthesized linkage will produce generated positions, from which the pole locations are determined from Equation (15). In the proposed approach, structural error is defined based on the difference between the task and generated pole locations
J = i = 1 n p j = i + 1 n p ( P i j Q i j ) T ( P i j Q i j ) .
By defining J as in Equation (16) for the motion optimization, both the orientation error and location error are incorporated into a measure of linear distance. To illustrate that J is invariant, left and right translations will be explored. A left translation is a shift of the task positions in the fixed reference frame F, whereas a right translation is a shift relative to the local reference frame M i . As discussed further in Section 4, a right translation does not alter the values in the equation in any way. A left translation does alter the individual values in the equation, but since it moves the entire set of poles maintaining the relative dimensions, the value of the metric remains unchanged.
Note that Equation (16) is written to use all n p pole locations, which creates an unnecessarily large optimization. As stated in Section 2.2, n p * poles and one task position provide sufficient information to describe the remaining task positions, given that each position is referenced twice. The first position is arbitrarily selected as the reference with ψ 1 = θ 1 and e 1 = d 1 . Observe that, while efficiently solved, an optimization posed with n p * poles can create numerical issues when some poles lie at a great distance from the task positions due to θ i θ j . Further, it has been observed that selecting n ˜ p poles, n p * n ˜ p n p , creates a more robust optimization.
To select the n ˜ p poles for the optimization, the centroid of all n p poles is determined. The distance from each pole to the pole centroid δ i is determined. The  n p * poles with the lowest δ values are selected, and their indices are inserted into a set P . As stated in Section 2.2, each task position must be represented in two of the n p * poles. To that end, poles are progressively added to P based on the next lowest δ value until each task position is represented in at least two poles. This being the minimum number of poles used, where some increase above this number is observed to lead to more robustness in the ensuing optimization.
Instances of Equations (13) and (14) are written in terms of i = 1 and subtracted from i = 2 , , n t :
C 1 i = B i y + e i G T B i y + e i G B 1 y + e 1 G T B 1 y + e 1 G ,
C 2 i = B i z + e i H T B i z + e i H B 1 z + e 1 H T B 1 z + e 1 H .
Thus, C 1 i = C 2 i = 0 ensures that the crank lengths remain constant at all positions.
Finally, the approximate motion optimization is posed as
min G , y , H , z J , i j P s . t . C 1 i = 0 , C 2 i = 0 .
where y and z are temporary values of y and z , which will be shifted as described later.
The optimization of Equation (19) is constructed in Matlab using the gradient-based fmincon function. Within the optimization, the generated positions e i and ψ i , i = 2 , , n t are determined from e 1 , ψ 1 , Q i j , where i j P . Since local minimums are detected, numerous solutions to Equation (19) are generated using diverse starting values. The interior-point algorithm was used. Optimizations were performed using various settings of maximum iterations, along with convergence and constraint tolerances. The Matlab defaults were ultimately used because they provided consistent solutions in acceptable computation time (less than 10 s per randomly selected starting value).
Recall that Task Position 1 is selected as the reference to determine all other positions. As such, the generated positions that result from the optimization of Equation (19) will be biased toward Task Position 1. A final process in the presented dimensional synthesis methodology is to distribute the structural error among all task positions. The average location and orientation error is defined as
e ¯ x = 1 n t i = 1 n t d i x e i x ,
e ¯ y = 1 n t i = 1 n t d i y e i y ,
ψ ¯ = 1 n t i = 1 n t θ i ψ i .
All generated positions are subjected to a right translation defined by e ¯ = [ e ¯ x , e ¯ x ] T and ψ ¯ . As stated in Section 4.1, right translations will not alter the location of the poles, and therefore will not interfere with the optimization results. Instances of Equation (25) are applied to provide the coupler dimensions
y = B ¯ y + e ¯ ,
z = B ¯ z + e ¯ .

4. Bi-Invariance

The approach used in the techniques of this paper focuses solely on the poles, whose relative locations are bi-invariant. This section further explores this fact.

4.1. Right Translation

A right translation is a shift of a position in the local reference frame. Consider a right translation of all task positions defined by A ¯ and d ¯ . The resulting locations of the task positions in the fixed frame are
X ¯ i = A i [ A ¯ x + d ¯ ] + d i , i = 1 , , n t .
To determine the pole of the right-translated task positions j and k, an expression similar to Equation (4) becomes
A j [ A ¯ p j k + d ¯ ] + d j = A k [ A ¯ p j k + d ¯ ] + d k .
Equation (26) is solved for p j k :
p j k = ( A j A ¯ A k A ¯ ) 1 ( A k d ¯ A j d ¯ + d k d j ) .
Equation (1) is used to determine the coordinates of the displacement pole in the fixed frame:
P j k = A j A ¯ A ¯ 1 ( A j A k ) 1 ( A k d ¯ A j d ¯ + d k d j ) + d ¯ + d j .
After factoring and simplifying Equation (28), the resulting expression is identical to Equation (5). Thus, a right translation of every task position will not change the location of the poles. Extending further, a right translation will not affect the optimization metric specified in Equation (16). As such, the process outlined is right invariant.

4.2. Left Translation

A left translation shifts the position of the fixed reference frame used to specify the set of task positions:
X ˜ i = A ˜ [ A i x + d i ] + d ˜ , i = 1 , , n t .
A left translation will change the location of the poles. The observation that initiated the approach developed in this paper is that the relative locations of the poles remain unchanged. Using the distance metric used in Equation (16) for positions j and k,
J j k = ( P j k Q j k ) T ( P j k Q j k ) .
Consider the left translation of J j k defined by A ˜ and d ˜ :
J ˜ j k = ( A ˜ P j k + d ˜ ) ( A ˜ Q j k + d ˜ ) T ( A ˜ P j k + d ˜ ) ( A ˜ Q j k + d ˜ ) , = A ˜ ( P j k Q j k ) T ( A ˜ ( P j k Q j k ) , = A ˜ T A ˜ ( P j k Q j k ) T ( P j k Q j k ) , = ( P j k Q j k ) T ( P j k Q j k ) .
Note that the final expression in Equation (31) is the same as Equation (30). As such, the optimization used in the approximate motion synthesis of Equation (16) is left invariant.

5. Examples

In this section, three examples are provided to demonstrate the applicability of the presented method in various scenarios to analyze the accuracy and efficiency of the pole method in solving motion trajectory problems that lack an exact solution. The first example compares the synthesis results using quaternion-based theory by previous researchers with the pole method for ten desired locations. The second example utilizes the case presented by Gogate [9] to demonstrate the effectiveness and accuracy of the pole method. The third example evaluates the claims of bi-invariance. Overall, the results demonstrate the accuracy and effectiveness of the pole method in solving complex motion trajectory problems.

5.1. Example 1: Task Positions Taken from Ref. [5]

The first example presents synthesis results using various methods available in the literature along with the methodology developed in this paper. The 10 task positions used by Ravani and Roth [5] are given in Table 1.
With n t = 10 , n p = 45 total displacement poles exist. The minimum number of poles that are required to determine the remaining task positions is n p * = 17 . By selecting the 17 poles closest to the geometric center of the poles, each task position was represented twice. To generate a more robust optimization, n ˜ p = 39 poles closest to the geometric center are selected and placed into the set P , because of a large change in distance from the geometric center is observed: δ 38 = 50.41 , δ 39 = 56.41 , and δ 40 = 85.58 . The optimization was conducted with 1000 different starting points. The best solution resulted in J = 37.4 . The resulting linkage parameters from the method presented in the paper are G = [ 6.7378 , 0.7731 ] T , H = [ 15.4473 , 13.9909 ] T , y = [ 3.1862 , 8.2763 ] T , z = [ 10.1174 , 4.3177 ] T , l = 5.4134 , and m = 25.8726 . The resulting linkage and generated positions are shown in Figure 4.
The motion curve was generated from the linkage in Figure 4 and shown with the blue curve in Figure 5 (identified as Xu). Using the linkage parameters provided in the literature, the motion curves were generated for Ravani and Roth (shown in red) and Larochelle [6] (shown in green). The method from Ge et al. [7] was reproduced and used with the task positions in Table 1 to generate the motion curve shown in cyan.
From the linkage parameters and motion curve, generated frames that approximate the task positions were identified. Those generated frames are shown in Figure 6 for Ravani and Roth (red), Larochelle (green), and Ge et al. (cyan). Using these frames, the error based on the difference of task and generated pole locations was calculated for Ravani and Roth as J = 120.6, Larochelle as J = 132.9, and Ge et al. as J = 209.2. The method described herein uses J as the objective and predictably has a lower value of J = 37.4. Figure 5 and Figure 6 show that the alternative methods compare favorably.

5.2. Example 2: Task Positions Taken from Ref. [9]

The second example uses the n t = 7 task positions used by Gogate [9], which are given in Table 2.
With n t = 7 , n p = 21 total displacement poles exist. The minimum number of poles that are required to determine the remaining task positions is n p * = 11 . By selecting the 11 poles closest to the geometric center of the poles, each task position was represented twice. The optimization was conducted using only those 11 poles with 100 different starting points. The best solution resulted in J = 0.0064 . The resulting linkage parameters are G = [ 3.6627 × 10 4 , 1.7543 × 10 5 ] T , H = [ 2.7021 , 0.0025 ] T , y = [ 0.7885 , 3.3943 × 10 05 ] T , z = [ 1.5016 , 1.4275 ] T , l = 0.7477 , and m = 1.4959 . Figure 7 illustrates the task frames (shown in black), the generated task frames (shown in red), the resulting linkage along with the motion curve (shown in blue), and the motion curve produced by Gogate (shown in green).

5.3. Example 3: Demonstrating Bi-Invariance

The third example uses the developed methodology on twelve arbitrary task positions, which are given in Table 3.
Having n t = 12 task positions, the total number of displacement poles is n p = 66 . In addition to the first task position, the minimum number of poles that are required to determine the remaining task positions is n p * = 21 . Placing the 21 poles closest to the geometric center into the set P , each task position is not represented twice. Poles are successively added to P , based on the next lowest δ value. When n ˜ p = 29 , all task positions appear at least twice. For this optimization, n ˜ p = 53 poles are included in P resulting in each task position being represented eight times and having δ 53 = 17.39 . The optimization was conducted with 100 different starting points. The resulting mechanism parameters are given in the first row of Table 4. The task positions (thick black), linkage (solid blue), and the generated frames (thick red) are shown in Figure 8.
To demonstrate the bi-invariance of the methodology, the twelve task positions were subjected to a small right translation of Equation (25) defined by A ¯ S corresponding to a rotation of 120 and d ¯ S = ( 10 , 5 ) . The same number of poles n ˜ p are included in the optimization. The right-translated task positions (thin black), linkage (dashed blue), and the generated frames (thin red) are shown in Figure 8. The resulting mechanism parameters are given in the second row of Table 4. Note that the values of G , H , l, m, and J are nearly identical to the non-translated results given in the first row. Additionally, a right translation is applied to the results given in the moving frame: y ¯ = A ¯ S y + d ¯ S = ( 2.5771 , 1.2636 ) , and z ¯ = A ¯ S z + d ¯ S = ( 4.8482 , 4.0103 ) . These translated values y ¯ and z ¯ are nearly identical to the non-translated results y and z given in the first row.
Similarly, the twelve task positions were subjected to a small left translation of Equation (29) defined by A ˜ S corresponding to a rotation of 56 and d ˜ S = ( 7 , 8 ) . As in the other optimizations, the same number of poles n ˜ p are included. The left-translated task positions (black), linkage, and the generated frames are shown in Figure 9. The resulting mechanism parameters are given in the third row of Table 4. Note that the values of y , z , l, m, and J are nearly identical to the non-translated results given in the first row. Additionally, a left translation is applied to the results given in the fixed frame: G ˜ = A ˜ 1 ( G d ˜ ) = ( 2.2663 , 3.0513 ) , and H ˜ = A ˜ 1 ( H d ˜ ) = ( 4.4648 , 2.5831 ) . These translated values G ˜ and H ˜ are nearly identical to the non-translated results G and H given in the first row.
Large right and left translations are also applied, defined by A ¯ L of 120 , d ¯ L = ( 150 , 80 ) and A ˜ L of 135 , d ˜ L = ( 95 , 84 ) , respectively. Optimizations were conducted with the same parameters as the small translations discussed above. The resulting mechanism parameters are given in the fourth and fifth row of Table 4. For A ¯ L , d ¯ L , the values of G , H , l, m, and J are once again nearly identical to the non-translated results given in the first row. Applying right translation to y = A ¯ L y ¯ + d ¯ L = ( 2.7166 , 1.1977 ) , and z = A ¯ L z ¯ + d ¯ L = ( 4.9834 , 4.0760 ) correlates well with y and z given in the first row. For A ˜ L , d ˜ L , the values of y , z , l, m, and J match the non-translated results given in the first row. Applying the left translation to G = A ˜ L 1 ( G ˜ d ˜ L ) = ( 2.2642 , 3.0519 ) and H = A ˜ L 1 ( H ˜ d ˜ L ) = ( 4.4640 , 2.5689 ) correspond with G and H given in the first row.

6. Conclusions

This paper presents a technique for the approximate motion synthesis of planar four-bar mechanisms based exclusively on the locations of displacement poles. The benefit is that the displacement poles are described solely by their locations, which includes information about the location and orientation of the task positions. The optimization minimizes the distance between the poles of the task positions and the poles of the positions generated by a synthesized linkage, thereby producing a bi-invariant solution. To generate an efficient optimization process, and to avoid poles very distant or infinitely far from the others, the technique presented uses a subset of the entire set of displacement poles. The technique is illustrated in three examples, where the results compare favorably to alternative methods presented in the literature.

Author Contributions

Conceptualization, A.P.M.; methodology, D.H.M. and A.P.M.; software, T.X. and A.P.M.; validation, T.X.; formal analysis, T.X., D.H.M., and A.P.M.; investigation, T.X. and A.P.M.; resources, T.X.; data curation, T.X.; writing—original draft preparation, T.X., D.H.M., and A.P.M.; writing—review and editing, T.X., D.H.M., and A.P.M.; visualization, T.X., D.H.M., and A.P.M.; supervision, D.H.M. and A.P.M.; project administration, D.H.M. and A.P.M. All authors have read and agreed to the published version of the manuscript.

Funding

This work has been supported in part by the University of Dayton Office for Graduate Academic Affairs through the Graduate Student Summer Fellowship Program.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data are available upon request.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. McCarthy, J.; Soh, G. Geometric Design of Linkages; Springer: New York, NY, USA, 2010. [Google Scholar]
  2. Suh, C.H.; Radcliffe, C.W. Kinematics and Mechanism Design; John Wiley and Sons: New York, NY, USA, 1978. [Google Scholar]
  3. Levitskii, N.I. Design of Plane Mechanisms with Lower Pairs. In Proceedings of the AH CCCP Izdatelstvo Akademii Nauk, Leningrad, Moscow, 1950. [Google Scholar]
  4. Sarkisyan, Y.L.; Gupta, K.C.; Roth, B. Kinematic Geometry Associated with the Least-square Approximation of a Given Motion. ASME J. Eng. Ind. 1973, 95, 503–510. [Google Scholar] [CrossRef]
  5. Ravani, B.; Roth, B. Motion Synthesis using Kinematic Mappings. ASME J. Mech. Transm. Autom. Des. 1983, 105, 460–467. [Google Scholar] [CrossRef]
  6. Larochelle, P.M. Approximate Motion Synthesis of Open and Closed Chains via Parametric Constraint Manifold Fitting: Preliminary Results. In Proceedings of the ASME Design Automation Conference, Chicago, IL, USA, 2–6 September 2003; pp. 1049–1057. [Google Scholar]
  7. Ge, Q.J.; Zhao, P.; Purwar, A.; Li, X. A Novel Approach to Algebraic Fitting of a Pencil of Quadrics for Planar 4R Motion Synthesis. J. Comput. Inf. Sci. Eng. 2012, 12, 0041003. [Google Scholar] [CrossRef]
  8. Ge, Q.J.; Purwar, A.; Zhao, P.; Dephpande, S. A Task-Driven Approach to Unified Synthesis of Planar Four-Bar Linkages Using Algebraic Fitting of a Pencil of G-Manifolds. ASME J. Mech. Robot. 2017, 17, 031011. [Google Scholar] [CrossRef]
  9. Gogate, G.R.; Matekar, S.B. Optimum synthesis of motion generating four-bar mechanisms using alternate error functions. Mech. Mach. Theory 2012, 54, 41–61. [Google Scholar] [CrossRef]
  10. Milnor, J. Curvatures of left invariant metrics on lie groups. Adv. Math. 1976, 21, 293–329. [Google Scholar] [CrossRef]
  11. Martinez, J.M.R.; Duffy, J. On the Metrics of Rigid Body Displacements for Infinite and Finite Bodies. J. Mech. Des. 1995, 117, 41–47. [Google Scholar] [CrossRef]
  12. Di Gregorio, R. Metrics proposed for measuring the distance between two rigid-body poses: Review, comparison, and combination. Robotica 2024, 42, 302–318. [Google Scholar] [CrossRef]
  13. Liu, A.X.; Yang, T.L. Finding All Solutions to Unconstrained Nonlinear Optimization for Approximate Synthesis of Planar Linkages Using Continuation Method. J. Mech. Des. 1999, 121, 368–374. [Google Scholar] [CrossRef]
  14. Erdman, A.G.; Sandor, G.N.; Kota, S. Mechanism Design: Analysis and Synthesis, 3rd ed.; Prentice Hall: Englewood Cliffs, NJ, USA, 2001; Volume 1. [Google Scholar]
  15. Sandor, G.N.; Erdman, A.G. Advanced Mechanism Design: Analysis and Synthesis; Prentice Hall: Englewood Cliffs, NJ, USA, 1984; Volume 2. [Google Scholar]
Figure 1. Concepts for rigid-body guidance include identifying target positions, coordinate transformations, and the displacement pole.
Figure 1. Concepts for rigid-body guidance include identifying target positions, coordinate transformations, and the displacement pole.
Robotics 13 00013 g001
Figure 2. The pole triangle.
Figure 2. The pole triangle.
Robotics 13 00013 g002
Figure 3. Vector description of a four-bar linkage.
Figure 3. Vector description of a four-bar linkage.
Robotics 13 00013 g003
Figure 4. The task frames, generated frames, and resulting linkage from the presented method for Example 1.
Figure 4. The task frames, generated frames, and resulting linkage from the presented method for Example 1.
Robotics 13 00013 g004
Figure 5. The task frames and generated motion curves from various methods for Example 1.
Figure 5. The task frames and generated motion curves from various methods for Example 1.
Robotics 13 00013 g005
Figure 6. The task frames and generated frames from various methods for Example 2.
Figure 6. The task frames and generated frames from various methods for Example 2.
Robotics 13 00013 g006
Figure 7. The task frames, generated frames, motion curve, and linkage for Example 2.
Figure 7. The task frames, generated frames, motion curve, and linkage for Example 2.
Robotics 13 00013 g007
Figure 8. Task positions for Example 3 before (thick black) and after applying a right translation (thin black). Generated positions are shown for task positions before (thick red) and after right translation (thin red). The thick blue lines are the optimized four-bar linkage seen to be identical in the two solutions. The thin blue lines show the coupler to the original positions (solid) and the right translated positions (dashed).
Figure 8. Task positions for Example 3 before (thick black) and after applying a right translation (thin black). Generated positions are shown for task positions before (thick red) and after right translation (thin red). The thick blue lines are the optimized four-bar linkage seen to be identical in the two solutions. The thin blue lines show the coupler to the original positions (solid) and the right translated positions (dashed).
Robotics 13 00013 g008
Figure 9. Task positions for Example 3 after applying a small left translation (black) and the associated generated positions (red). The fixed frame after applying a left translation is also shown. The thick blue lines are the optimized four-bar matching the linkage shown in Figure 8. The thin blue lines show the coupler to the left translated positions.
Figure 9. Task positions for Example 3 after applying a small left translation (black) and the associated generated positions (red). The fixed frame after applying a left translation is also shown. The thick blue lines are the optimized four-bar matching the linkage shown in Figure 8. The thin blue lines show the coupler to the left translated positions.
Robotics 13 00013 g009
Table 1. The ten task positions for Example 1.
Table 1. The ten task positions for Example 1.
LocationOrientation (Deg)
(0.00, 0.00)40
(4.50, 4.00)20
(8.50, 8.00)0
(13.00, 11.50)−30
(13.00, 12.50)−35
(9.50, 14.00)−35
(5.00, 13.50)−30
(1.00, 10.50)−15
(−1.00, 6.50)0
(−1.50, 3.00)20
Table 2. The seven task positions for Example 2.
Table 2. The seven task positions for Example 2.
LocationOrientation (Deg)
(1.1025, 1.0206)54.9693
(0.9439, 0.4950)72.3439
(0.3804, 0.0741)80.9533
(−0.1340, 0.1014)72.1922
(−0.3286, 0.5434)58.6599
(−0.0668, 1.0855)49.9219
(0.5293, 1.3346)47.8367
Table 3. The 12 task positions for bi-invariance example.
Table 3. The 12 task positions for bi-invariance example.
LocationOrientation (Deg)
(5.4925, −5.5813)109.2727
(6.5759, −4.0083)126.6505
(6.3082, −2.3480)140.3157
(5.0394, −1.1357)159.4077
(3.4334, −1.8575)167.6665
(0.8025, −3.7452)144.6324
(−1.8858, −6.0622)116.1184
(−1.7438, −7.8746)103.3444
(−0.8606, −8.8435)85.9285
(1.0690, −9.5115)88.2301
(2.2986, −8.8865)80.0622
(4.5038, −7.8714)87.0337
Table 4. The generated mechanism result with small and large translations for right and left.
Table 4. The generated mechanism result with small and large translations for right and left.
TranslationGHyzlmJ
None(2.2675, −3.0510)(−4.4649, 2.5947)(2.5643, −1.2709)(4.8371, 4.0034)3.94646.991072.073
A ¯ S , d ¯ S (2.2659, −3.0512)(−4.4641, 2.5767)(−1.7130, 9.5602)(1.7188, 4.9564)3.94096.972772.073
A ˜ S , d ˜ S (10.797, −7.8274)(2.3618, −10.257)(2.5663, −1.2680)(4.8394, 4.0052)3.94216.978272.073
A ¯ L , d ¯ L (2.2668, −3.0453)(−4.4655, 2.6025)(3.3224, 168.15)(6.7562, 163.55)3.95426.998272.076
A ˜ L , d ˜ L (95.557, −80.241)(96.340, −88.973)(2.5683, −1.2665)(4.8407, 4.0068)3.93816.963672.073
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Xu, T.; Myszka, D.H.; Murray, A.P. A Bi-Invariant Approach to Approximate Motion Synthesis of Planar Four-Bar Linkage. Robotics 2024, 13, 13. https://doi.org/10.3390/robotics13010013

AMA Style

Xu T, Myszka DH, Murray AP. A Bi-Invariant Approach to Approximate Motion Synthesis of Planar Four-Bar Linkage. Robotics. 2024; 13(1):13. https://doi.org/10.3390/robotics13010013

Chicago/Turabian Style

Xu, Tianze, David H. Myszka, and Andrew P. Murray. 2024. "A Bi-Invariant Approach to Approximate Motion Synthesis of Planar Four-Bar Linkage" Robotics 13, no. 1: 13. https://doi.org/10.3390/robotics13010013

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop