Next Article in Journal
Topology- and Geometry-Controlled Functionalization of Nanostructured Metamaterials
Next Article in Special Issue
Model for Semi-Automatic Serious Games Generation
Previous Article in Journal
An Efficient Finite-Difference Stencil with High-Order Temporal Accuracy for Scalar Wave Modeling
Previous Article in Special Issue
Cybersecurity Risk Assessment: A Systematic Mapping Review, Proposal, and Validation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Numerical Method Using Homotopic Iterative Functions Based on the via Point for the Joint-Space Trajectory Generation

1
Facultad de Informática Mazatlán, Universidad Autónoma de Sinaloa, Culiacán 80000, Mexico
2
Centro de Investigación en Matemáticas, Zacatecas 98000, Mexico
*
Authors to whom correspondence should be addressed.
Appl. Sci. 2023, 13(2), 1142; https://doi.org/10.3390/app13021142
Submission received: 8 November 2022 / Revised: 25 December 2022 / Accepted: 11 January 2023 / Published: 14 January 2023

Abstract

:
In recent years, many methods have been developed to calculate the trajectory of a robotic arm in the joint-space. These methods have many advantages, such as a soft motion and infinite jerk avoidance. Nevertheless, these methods present other problems that must be avoided, such as an unnatural motion while generating the trajectory and producing unsafe planning. In this sense, this work presents a numerical method named iterative optimal solution trajectory via ( ζ ) v -homotopy former (IOSTV ( ζ ) v -HF). It is proposed to reduce and avoid oscillation while obtaining trajectories with different shapes to perform better, reliable, smooth, and long-life robotic systems. The algorithm with the proposed method is described, and examples of the trajectories obtained with different parameters are presented. In addition, these were mapped and a trajectory with a continuous velocity and a reduced oscillation and another trajectory with the same restrictions but with a continuous acceleration and zero oscillations were shown; the method is versatile since it allows for choosing and finding the most optimal solutions according to the application. Finally, the article ends with a critical discussion of the experimental results.

1. Introduction

In recent decades, robot applications have been extensively studied [1] and numerous improvements have been developed [2]. These advances are becoming more robust today since they mainly focus on work with repetitive tasks to increase productivity, such as industrial applications [3,4] and applications in the medical area [5]. Therefore, robot arms (manipulators) must be precise to be used by these applications and many others [6]. Usually, these robots can work in dangerous environments, in places where humans cannot access to perform dangerous tasks [7]; at the same time, these robot arms must navigate obstacles because the environment of a robotic arm is often very complicated.
For these reasons, the robotic arm’s motion must be precise and fulfill some specific characteristics that are defined depending on the environment and the application. In addition, it is necessary to thoroughly study trajectories and kinematics (direct and inverse) to verify that the robotic arm does not show any complications while performing a motion [8]. For example, the most famous methods to calculate the trajectory of a robotic arm [9,10] are cubic polynomials [11], trapezoidal trajectory [12], and the Euler angles [10], amongst others. In addition, many studies, methods, algorithms, and designs (electronic and mechanical) help to obtain a better performance in a robotic arm motion [13,14,15,16,17,18]. Nevertheless, some of these methods are complicated to implement. Others are feasible in exhibiting an unnatural motion, infinite jerk (third time derivative of position), or require other resources, such as an optimal timing solution or specific PID (proportion-al-integral-derivative) control to generate the optimal trajectory.
For example, the LSPB method (Linear Segment with Parabolic Blends) has improved the trajectory’s performance [19]. However, it requires more calculations. This is because the LSPB divides the trajectory into segments and may only sometimes produce the most optimal solution in terms of the executed time [20]. Additionally, using this method can result in undesirable acceleration profiles, limiting the flexibility of the resulting motion [21]. Concerning n-order polynomials, they also have some disadvantages. According to some authors [11,22,23,24], higher-order polynomials are more complex and may require more computation to evaluate, which can be a drawback in real-time control systems. In addition, it presents a local minima or maxima, which can lead to unexpected or undesired behavior if the trajectory is not carefully designed. Finally, this method may not be as flexible as other types of trajectories, such as splines, in accurately following the desired path. In summary, high-order polynomials must be carefully designed using other techniques to optimize this method.
In another example, the authors in [25] present trajectories with a total time of 11 s using a radial basis function (RBF) neural network. This method is reliable and an excellent option for performing motion planning. However, the trajectories present many big–long oscillations through time, which means a greater energy consumption and unsafe motion planning to avoid collisions [26]. The 3–5–3 interpolation polynomial method presented in [27] has the same problem mentioned previously in [25].
Other works [28,29,30,31] use numerical methods with homotopy continuation to generate optimal trajectories in manipulators. The authors mentioned that this approach is a favorable option for generating trajectories because these are versatile and fulfill the characteristics of the mechanical system. Other related works that use homotopic functions for optimal trajectory planning focus mainly on mobile robots [32], humanoid robots [33], dynamics, and control problems [34].
In previous work, a novel algorithm introduced in [35,36] was presented as a trajectory planning approach with more characteristics which had not been mentioned before and others which had been overlooked. This algorithm generated homotopic trajectories that always start in the specified start position and end at the final point, generating enough iterations to make trajectories that become closer and closer to the desired via point each time. The algorithm generates the ideal trajectory (the trajectory that passes through the specified via point) with infinite iterations and prelaminar parameters that determine the shape of the trajectory desired. However, a finite quantity of iterations obtains an excellent approximation and can be as accurate as desired.
Furthermore, the method proposed in this work makes it possible to obtain a better trajectory performance by changing the shape of the velocity, acceleration, and jerk profiles. In this sense, it has coined this algorithm with the name the iterative optimal solution trajectory via the ( ζ ) v -homotopy former (IOSTV ( ζ ) v -HF). In addition, with this algorithm, some of the disadvantages presented before are lost. For example, generating many options for obtaining different trajectory shapes with the same initial, via, and final point makes it possible to obtain the best suitable trajectory for specific applications. Furthermore, the IOSTV-HF method is flexible because it always achieves a trajectory that passes through these three points in a defined time, and many options can be generated. Additionally, oscillations can be reduced or removed by applying the same process and changing the initial parameters to generate many different shapes of trajectories. In summary, this method presents versatility as the main characteristic. Many unique advantages introduced through this work have been given to help obtain better reliable, smooth, and long-life robotic systems.
The remainder of this paper is organized as follows: Section 2 introduces the preliminary properties that were taken to construct the trajectory function and define it. Section 3 describes the algorithm and the algorithm’s proof and shows examples to generate a trajectory that converges to the via point. Section 4 presents the results by generating trajectories with the same initial via point and final position and the obtained trajectory with its velocity, acceleration, and jerk. Section 5 details a critical discussion of the results obtained with the proposed algorithm (IOSTV ( ζ ) v -HF) compared to the sixth-order polynomial method. Finally, Section 6 summarizes the conclusions of the work and presents indications for further work.

2. Preliminary Properties

2.1. Construction of the Function

This method presented in [35] has been tested recently to obtain the velocity, acceleration, and jerk with a smaller gap in the via point time ( t v ). Although this method presents non-continuous derivatives, these remain finite without showing an inconvenience. Moreover, the resulting trajectory can be changed to avoid or reduce unnatural oscillation, no matter how short or long the distance is. This is possible because of the construction of the function below:
S ζ a t s ( t ) = { q 0   i f   t 0 n t ζ | n t + t s t 1 n a | + q 0   i f   0 < t t s   a n d   q 0 S f n t ζ | n t + t s t 1 n a | + q 0   i f   0 < t t S   a n d   S f < q 0 .
where:
  • n fixed constant greater to 1 ( n > 1 ) .
  • a velocity, acceleration, and Jerk modifier parameter (it is fixed).
  • t s final trajectory time.
  • S f final position.
  • q 0 initial position.
  • ζ objective parameter outcome in the i th iteration.
This function has been shown in [25] and it was used to generate point-to-point trajectories, but in this work, (1) is added to generate via point trajectories as well (this is explained deeply in Section 4).
The ideas behind the way this function was constructed are simple. First, we know that any function with the form n t ζ , where n > 1 , can reach any positive or negative point (when this function is negative n t ζ ) monotonically increasing or decreasing, respectively, by just calculating ζ at any particular time. Still, it cannot start in any position chosen (when t > 0 ). Nevertheless, this is solved by multiplying this function with the following ( | n t + t s t 1 n a | ) 1 . Then, note that:
lim t 0 + ± n t ζ | n t + t s t 1 n a | = 0 .
Once it is verified that the calculation of the function (1) fulfills the essential requirement to perform a trajectory with any particular start and final position, the parameter ζ is required to generate the trajectory starting and ending at a particular point; the formula is presented in [35,36], but this time the case S f = q 0 is added in the definition of ζ . Then:
ζ = { t s log n [ ( S f q 0 ) ( n t s n a ) ]   i f   S f > q 0 t s log n [ ( q 0 S f ) ( n t s n a ) ]   i f   q 0 > S f   i f   S f = q 0

2.2. Further Properties

Another point to consider using this method is uniqueness, more specifically, obtaining more properties that can help achieve a better understanding and use them to obtain the best solution. So, another remarkable characteristic of this function is that it can also be considered to be a generating probability function and inherit its features. For example, consider the following probability function where t is any parameter such that t [ 0 , t s ] and x = 1 , 2 , 3 ,
f ( x , t ) = { 0   i f   t 0 , ( n ( t ζ ) | t ( n t + t s t t n a + n t ζ ) | ) x   i f   0 < t t s   .
The following is calculated using the definition of the probability generating function. The parameter t is considered to be the same parameter t from f ( x , t ) and the definition of the probability generating function:
x = 0 t x f ( x ) ,
Then:
G ( t ) = x = 0 t x f ( x , t ) = x = 0 t x ( n ( t ζ ) | t ( n t + t s t t n a + n t ζ ) | ) x = k = 1 t x ( ( n t ζ ) x ( | t x | | n t + t s t t n a + n t ζ | ) x )                  = n t ζ ( n t ζ | n t + t s t t n a + n t ζ | + 1 ) ( | n t + t s t t n a + n t ζ | )                        = n t ζ ( | n t ζ + n t + t s t t n a + n t ζ | ) = n t ζ ( | n t + t s t t n a | )   .
Function (6) is a probability generating function for when ζ = 1 log n | n t s n a | and because it must fulfill that lim t 1 G ( t ) = 1 . Taking into account the example of Figure 1, n = 2 ,   t s = 3 , a = 0 ,   S f = 4 , and q 0 = 0 , a trajectory is obtained, being S ζ a t s ( t ) , function (1), a probability generating function:
Making S ζ a t s ( t ) a Probability-Generating Function (PGF) can provide us with many benefits that will be discussed in future works. For example, one of these remarkable benefits is that a PGF could potentially be used as a tool to analyze the probability distribution of the joint-space trajectory, which could be useful in understanding the characteristics of the trajectory and optimizing the performance and reliability of the robot arm by providing a way to analyze and understand the probability distribution of the joint angles as the arm moves through its range of motion. For example, it can be used to obtain an average velocity through the trajectory for a better performance and then choose a suitable motor that can work with this velocity average, but this must be studied deeply. Additionally, it could be interesting to note that, without losing generality, if S ζ a t s ( t ) is a PGF, it is easy to see that every derivative starts at zero when t = 0 (since f ( x , 0 ) = 0 and the preposition that indicates for every generating function to occur that P ( X = x ) = 1 x ! G x ( 0 ) ), which is impossible for some current methods. Any trajectory with a start and final position can be obtained by calculating ζ , as mentioned before, with its derivatives starting at 0 (when t = 0 ). So, these are some prelaminar ideas that were considered to construct function (1) and to avoid some disadvantages presented in the current works and stated in the introduction part of this article.

3. Algorithm Description

The trajectory function obtained by applying the method (IOSTV ( ζ ) v -HF) is denoted as S i ( ζ a t s ) v ( t ) , where i represents the number of iterations. While these iterations increase, the trajectory becomes closer and closer to the via point, forming a homotopy with a family of functions with different parameters ζ i and ζ v i calculated in every iteration until a solution for these two parameters fits to generate the desired via point trajectory. This happens because ζ i and ζ v i converge when i tends to infinity ( i ) by calculating the sequence S v i for every iteration, making S i ( ζ a t s ) v ( t ) pass through the specified via point in the desired via point time ( t v ). Then, the function is defined as S i ( ζ a t s ) v ( t ) : [ 0 , t s ] and with the following conditions ( S v i is defined in (9)), each condition is provided with an example:
S i ( ζ a t s ) v ( t ) = { q 0   i f   t 0 1 s t cond { n t ζ i | n t + t s t 1 n a | + n v t ζ v i | n v t + t v t 1 n v a v | + q 0   i f   0 < t t v   a n d   q 0 S v i S f n t ζ i | n t + t s t 1 n a | + n v t v ζ v i | n v t v 1 n v a v | + q 0     i f   t v < t t s   a n d   q 0 S v i S f 2 n d cond { n t ζ i | n t + t s t 1 n a | + n v t ζ v i | n v t + t v t 1 n v a v | + q 0   i f   0 < t t v   a n d   q 0 < S v i , S f < S v i n t ζ i | n t + t s t 1 n a | + n v t v ζ v i | n v t v 1 n v a v | + q 0     i f   t v < t t s   a n d   q 0 < S v i , S f < S v i .
For when S v i < q 0 , the next conditions are followed:
S i ( ζ a t s ) v ( t ) = { 3 r d cond { n t ζ i | n t + t s t 1 n a | n v t ζ v i | n v t + t v t 1 n v a v | + q 0   i f   0 < t t v   a n d   S v i < q 0 ,   S v i < S f n t ζ i | n t + t s t 1 n a | n v t v ζ v i | n v t v 1 n v a v | + q 0     i f   t v < t t s   a n d   S v i < q 0 ,   S v i < S f 4 t h cond { n t ζ i | n t + t s t 1 n a | n v t ζ v i | n v t + t v t 1 n v a v | + q 0   i f   0 < t t v   a n d   S v i < q 0 ,   S f < S v i n t ζ i | n t + t s t 1 n a | n v t v ζ v i | n v t v 1 n v a v | + q 0     i f   t v < t t s   a n d   S v i < q 0 ,   S f < S v i .
where:
  • n v fixed constant greater to 1   ( n v > 1 ) .
  • a v velocity, acceleration, and Jerk modifier parameter (it is fixed).
  • t v via point time.
  • θ v via point.
  • S v i feedback iterative sequence
ζ i and ζ v i converge if the feedback iterative sequence ( S v i ) is defined as follows:
S v i = { θ v n t v ζ i 1 | n t v + t s t v 1 n a |   f o r   t h e   1 s t   a n d   3 r d   c o n d θ v + n t v ζ i 1 | n t v + t s t v 1 n a |   f o r   t h e   2 n d   a n d   4 t h   c o n d   ,
For every i = 1 , 2 , 3 , 4 , and when i = 0 , S v 0 is any real number that fulfills any of the conditions presented before in (7) and (8).
S v i is called the iterative feedback sequence and is used to calculate ζ v i and ζ i as follows:
ζ v i = { t v l o g n v [ ( | S v i q 0 | ) ( | n v t v n v a | ) ]     i f   q 0 < S v i t v l o g n v [ ( | q 0 S v i | ) ( | n v t v n v a | ) ]     i f   S v i < q 0   i f   S v i = q 0   , ζ i = { t s l o g n [ ( | S f S v i | ) ( | n t s n a | ) ]     i f   S v i < S f t s l o g n [ ( | S v i S f | ) ( | n t s n a | ) ]     i f   S f < S v i   i f   S v i = S f   .
Now, with everything mentioned before, the algorithm to obtain a trajectory with an initial point, a via point at t v , and a final point at t s is introduced:
Proposition 1. 
Let n , n v > 1 , t s > t v > 0 , a < t s , a v < t v , defining S v i as in (9) for every i = 1 , 2 , 3 , 4 , 5 , and taking any S v 0 that achieves any of the conditions presented before in (7) and (8), there exist ζ v i and ζ i for when i tends to infinity, such that S i ( ζ a t s ) v ( 0 ) = q 0 , S i ( ζ a t s ) v ( t v ) = θ v , and S i ( ζ a t s ) v ( t s ) = S f .
Proof. 
The constraints S i ( ζ a t s ) v ( 0 ) = q 0 and S i ( ζ a t s ) v ( t s ) = S f for every i = 0 , 1 , 2 , 3 , are easily fulfill by the definition:
Now, let any S v 0 be S f > S v 0 and q 0 < S v 0 , then ζ 0 = t s l o g n [ ( | S f S v 0 | ) ( | n t s n a | ) ] and ζ v 0 = t v l o g n v [ ( | S v 0 q 0 | ) ( | n v t v n v a | ) ] , the trajectory functions (11) at the iteration i = 0 is the following:
S ( ζ a t s ) v 0 ( t ) = n t ζ 0 | n t + t s t 1 n a | + n v t ζ v 0 | n v t + t v t 1 n v a v | + q 0 .
Then, making:
n v t v ζ v 2 | n v t v n v a v | + q 0 = S v 2 = θ v n t v ζ 0 | n t v + t s t v 1 n a | .
Using the new feedback sequence in the second iteration S v 2 to calculate ζ 2 = t s l o g n [ ( | S f S v 2 | ) ( | n t s n a | ) ] and ζ v 2 = t v l o g n v [ ( | S v 2 q 0 | ) ( | n v t v n v a | ) ] .
S ( ζ a t s ) v 2 ( t ) = n t ζ 2 | n t + t s t 1 n a | + n v t ζ v 2 | n v t + t v t 1 n v a v | + q 0
Now, taking any value of S v 1 such that S v 1 < S f and q 0 > S v 1 , then ζ 1 = t s l o g n [ ( | S f S v 1 | ) ( | n t s n a | ) ] and ζ v 1 = t v l o g n v [ ( | q 0 S v 1 | ) ( | n v t v n v a | ) ] , it obtains the following trajectory function (14) at i = 1 :
S ( ζ a t s ) v 1 ( t ) = n t ζ 1 | n t + t s t 1 n a | n v t ζ v 1 | n v t + t v t 1 n v a v | + q 0 .
Additionally, making:
n v t ζ v 3 | n v t v n v a v | + q 0 = S v 3 = θ v n t v ζ 1 | n t v + t s t v 1 n a |  
Using S v 3 in (15) to calculate ζ 3 and ζ v 3 using formula (10), then, the following trajectory function (16) at i = 3 is
S ( ζ a t s ) v 3 ( t ) = n t ζ 3 | n t + t s t 1 n a | n v t ζ v 3 | n v t + t v t 1 n v a v | + q 0 .
Then, for the 4th iteration ( i = 4 ), the following sequence (17) is obtained:
n v t v ζ v 4 | n v t v n v a v | + q 0 = S v 4 = θ v n t v ζ 2 | n t v + t s t v 1 n a |   .
With ζ 4 = t s l o g n [ ( | S f S v 4 | ) ( | n t s n a | ) ] and ζ v 4 = t v l o g n v [ ( | S v 4 q 0 | ) ( | n v t v n v a | ) ] by using formula (10).
Additionally, for the 5th iteration, then:
n v t v ζ v 5 | n v t v n v a v | + q 0 = S v 5 = θ v n t v ζ 3 | n t v + t s t v 1 n a |   .
With ζ 5 = t s l o g n [ ( | S f S v 5 | ) ( | n t s n a | ) ] and ζ v 5 = t v l o g n v [ ( | q 0 S v 5 | ) ( | n v t v n v a | ) ] by using formula (10).
Repeating this process k times, it has:
n v t v ζ v k | n v t v n v a v | + q 0 = S v k = θ v n t v ζ k 2 | n t v + t s t v 1 n a |   .
Using formula (10), ζ k = t s l o g n [ ( | S f S v k | ) ( | n t s n a | ) ] and ζ v k = t v l o g n v [ ( | S v k q 0 | ) ( | n v t v n v a | ) ] and (20) is obtained representing the trajectory in in the k -iteration:
S ( ζ a t s ) v k ( t ) = n t ζ k | n t + t s t 1 n a | + n v t ζ v k | n v t + t v t 1 n v a v | + q 0 ,
Such that:
S ( ζ a t s ) v k ( t v ) = n t v ζ k | n t v + t s t v 1 n a | + n v t v ζ v k | n v t v n v a v | + q 0 = n t v ζ k | n t v + t s t v 1 n a | + ( S v k ) = n t v ζ k | n t v + t s t v 1 n a | + ( θ v n t v ζ k 2 | n t v + t s t v 1 n a | ) ,
Additionally, for the k + 1 time, it has:
n v t v ζ v k + 1 | n v t v n v a v | + q 0 = S v k + 1 = θ v n t v ζ k 1 | n t v + t s t v 1 n a |   .
Then, using formula (10), ζ k + 1 = t s l o g n [ ( | S f S v k + 1 | ) ( | n t s n a | ) ] and ζ v k + 1 = t v l o g n v [ ( | q 0 S v k + 1 | ) ( | n v t v n v a | ) ] and the trajectory function (23) is obtained:
S ( ζ a t s ) v k + 1 ( t ) = n t ζ k + 1 | n t + t s t 1 n a | n v t ζ v k + 1 | n v t + t v t 1 n v a v | + q 0 ,
Such that:
S ( ζ a t s ) v k + 1 ( t v ) = n t v ζ k + 1 | n t v + t s t v 1 n a | n v t v ζ v k + 1 | n v t v n v a v | + q 0 = n t v ζ k + 1 | n t v + t s t v 1 n a | + ( S v k + 1 ) = n t v ζ k + 1 | n t v + t s t v 1 n a | + ( θ v n t v ζ k 1 | n t v + t s t v 1 n a | ) .
Then, because n t v ζ k 2 | n t v + t s t v 1 n a | and n t v ζ k 1 | n t v + t s t v 1 n a | are always finite for every ζ k 2 and ζ k 1 , and the way ζ k 2 ,   ζ k 1 and the subsequent S v k and S v k + 1 have been defined, this mean that when k tends to infinity ( k ) then lim k S v k = θ v n t v ζ | n t v + t s t v 1 n a | = lim k S v k + 1 , this limit is finite too, making:
S ( ζ a t s ) v ( t v ) = n t v ζ | n t v + t s t v 1 n a | + n v t v ζ v | n v t v n v a v | + q 0 = n t v ζ | n t v + t s t v 1 n a | + ( S v ) = n t v ζ | n t v + t s t v 1 n a | + ( θ v n t v ζ | n t v + t s t v 1 n a | ) = θ v ,
Additionally,
S ( ζ a t s ) v ( t v ) = n t v ζ | n t v + t s t v 1 n a | n v t v ζ v | n v t v n v a v | + q 0                                                                                      = n t v ζ | n t v + t s t v 1 n a | + ( n v t v ζ v | n v t v n v a v | + q 0 ) = n t v ζ | n t v + t s t v 1 n a | + ( S v )                                                     = n t v ζ | n t v + t s t v 1 n a | + ( θ v n t v ζ | n t v + t s t v 1 n a | ) = θ v .
Therefore, S ( ζ a t s ) v i ( t v ) = θ v for when i . An analog proof can be constructed for the other conditions. □

Examples

Now, considering a trajectory with q 0 = 12 , θ v = 5 , and S f = 30 with the next parameters n v = 2 ,   a v = 0.05 , t v = 1.5 with a final ζ v i = 5.4327 and n = 2.5 , a = 1.4 , t s = 3 , and a final ζ i = 4.0586 at the iteration number 40 and S v i = 11.9635 . The following trajectories are presented in Figure 2.
As noted in Figure 1, the trajectory avoids oscillation with a soft start and reaches the final position with a sharp end (non-zero velocity). Nevertheless, the trajectory can be softer at the end position, changing the parameters a v and a , and produce switching between the abovementioned conditions. For example, by considering the parameters presented before but changing a v = 1.2481 and S v i = 27.2749 . The obtained results are shown in Figure 3.
As can be seen in Figure 3, the last trajectory passes through the three desired positions presented in Figure 2 but with a different shape. This is because different parameters have been chosen, and a velocity too close to zero at t s has been obtained by repeating the process that this algorithm defines, making the trajectory have an S-shape as a result.
Now, taking a much more difficult trajectory to perform, the algorithm can be run for a longer time, and sometimes this is much more difficult to guess the complexity of the trajectory. In other words, it is much more challenging to know exactly where an oscillation is and is not occurring. For example, Figure 4 presents a trajectory with this behavior, considering the following values: q 0 = 10 , θ v = 25 , and S f = 62 . Taking n v = 1.7 ,   a v = 0.05 , t v = 2.6 with a final ζ v i = 16.6294 and n = 1.8 , a = 1.2 , t s = 3 and ζ i = 14.8052 in the iteration 7067th.
This trajectory can be modified by changing some preliminary parameters such as n v ,   n , a v , and a . However, these are difficult to guess. Currently, there is not an existing analytic formula or definition to obtain these parameters for a particular trajectory shape, so these parameters are changed manually to achieve complex trajectories. For example, Figure 5 shows the trajectories that were obtained while changing some of the parameters mentioned before.
Finally, obtaining a trajectory with the same constraints with no oscillations is possible. For example, Figure 6 shows the trajectories obtained with the following values n v = 125 , a v = 100 , n = 70 , and a = 2.2 with a final ζ v i = 0.7130 and ζ = 1.0328 and a S v i = 21.2603 at the iteration number 58th.
In Figure 6, it can be observed that the trajectory avoids any oscillation. This is possible because the parameters mentioned before have been changed. The trajectory made between the initial point ( q 0 ) and the via point ( θ v ) has a different velocity, acceleration, and jerk trajectory than the trajectory made between the via point ( θ v ) and the final point S f . In other words, it has C 0 continuity for the cases presented before. Hence, avoiding any oscillation for any via point time t v and final time t s is possible. This is another advantage gained by taking IOSTV ( ζ ) v -HF, therefore versatile and complex trajectories can be obtained by applying this method, and this is not always possible with the other current methods.
Additionally, note that in Figure 4, Figure 5 and Figure 6, the trajectory ends with a sharp end position. This is because the velocity has a short period (which is 2.6 t 3 ) to be well distributed through that period of time. Nevertheless, the trajectory always presents finite velocity, acceleration, and jerks, and the trajectory at the end position can be softer over a more significant period.

4. Results: Velocity, Acceleration, and Jerk Function

The velocity, acceleration, and jerk functions have been presented in [36]. This work requires a retaking of the topic of these functions because it is crucial for a long-life robotic system to exist. As shown in the previous examples, the trajectories presented obtain no continuous velocity, acceleration, and jerk at the via point time ( t v ). Nevertheless, every value is bounded, and the gap between the velocity, acceleration, and jerk in t v can be reduced as much as desired, making a safe motion in the joint-space. Moreover, the IOSTV ( ζ ) v -HF is not the first method that presents no-continuous velocity, acceleration, or jerk. Some methods mentioned before in the introduction and many others often used currently present no-continuous velocity, acceleration, or jerk. For example, [37] used trapezoidal velocity profiles to generate trajectories and presents a no-continuous jerk profile, which is bounded and ready for implementation.
Additionally, Refs. [38,39] present not-zero velocity at the final point, but this method is a perfect tool for obstacle avoidance, as they wanted to show using IOSTV ( ζ ) v -HF.
In [36], the via point trajectory taken from [9] has been used to compare it with the IOSTV ( ζ ) v -HF method by presenting a trajectory shape with a continuous velocity and another with a continuous acceleration. In [9], the trajectory compared was not optimal, and a significant gap in the velocity was presented. In this work, the via point trajectory taken from [9] is retaken to obtain a better trajectory than the one that was presented in [36] and compared with the result from [35]. The values are q 0 = 30 , θ v = 180 at t v = 1.5 s, and S f = 120 at t s = 3 s, and the sixth order polynomial from [9] is:
θ ( t ) = 9.22 t 6 + 85.19 t 5 265.56 t 4 + 282.22 t 3 + 30
Plotting this trajectory in MATLAB, it is shown that the trajectory obtains 185.4 degrees as a maximum value, and t v = 1.5 the trajectory reaches θ v = 180 degrees.
As shown in Figure 7, the trajectory presents a maximum value at t = 1.74 s. The method proposed in this work tried to reduce this oscillation, so this one would not be greater than 181 degrees. The algorithm IOSTV ( ζ ) v -HF was run several times until it obtained some solutions that fulfilled the requirements. First, it tested the trajectory result by finding values on the parameters to obtain a continuous velocity, for example, by using the parameters n v = 1.91 , a v = 0.8734 , ζ v i = 6.0657 , n = 81.7467 , a = 2.4 , and ζ i = 0.9204 in the iteration number 12; the following profiles are obtained and are shown in Figure 8.
Regarding the acceleration and jerk, it can be observed that they were discontinuous in t v . However, these do not present discontinuities at the start and end, like the method presented in [9]. Therefore, the discontinuities have been reduced to one by using IOSTV ( ζ ) v -HF, and these are also kept finite. Additionally, the differences between the acceleration at t approaches to the left-approximation and the right-approximation to t v are insignificant, about 219.824 degrees/s2 of difference, and obtaining 180.4 degrees as a leading position in the trajectory.
Then, Figure 9 shows a trajectory with a continuous acceleration but a discontinuous velocity and jerk using the following values n v = 5 ,   a v = 0.5865 , and ζ v i = 3.0399 and n = 5 , a = 1.95 , and ζ i = 2.6193 in the iteration number 28.
With the above parameters, the trajectory obtains an even smaller jerk than the one that was found while using the sixth-order polynomial function from [9]. The acceleration function using OISTV ( ζ ) v -HF starts at 0 degrees/s3 and ends too close at 0 degrees/s3, which means that the trajectory shown presents a finite jerk. The maximum value in the jerk function using OISTV ( ζ ) v -HF was 1394 degrees/s3, and the lowest value was −1177 degrees/s3 while using the sixth-order polynomial function, the maximum value jerk was 1693 degrees/s3, and the lowest value was −1294 degrees/ s3. Additionally, the trajectory using IOSTV ( ζ ) v -HF or the sixth-order polynomial function from [9] presents a finite jerk; this one is not continuous, though, but this characteristic, according to [9], obeys the rule of thumb for a mechanical design/motion.

5. Discussion

This paper presents the idea of obtaining a trajectory to achieve the best performance or a motion in the joint-space that fulfills some preliminary conditions that a user can state. This idea is reached by using the method presented and named after this work as OISTV ( ζ ) v -HF. Some of these many essential conditions have been tested that make a safe trajectory while controlling a robotic arm. First, the method OISTV ( ζ ) v -HF avoids and reduces any undesired oscillation through the trajectory. The trajectory retains a finite velocity, acceleration, and jerk that obeys the rule of thumb for a mechanical design/motion; the algorithm OISTV ( ζ ) v -HF works by iteration. This method creates a trajectory that is as accurate as wanted, generating many trajectories. In contrast, the number of iterations increases until a trajectory passes through the initial position q 0 at t = 0 , then θ v at the via point time t v , and finally reaches the final position S f at t s at the end time.
Nevertheless, we have found some disadvantages while using this method. First, a desirable trajectory can be obtained, but some drawbacks must be made; for example, a trajectory can obtain a no-continuous velocity and more significant spikes in the acceleration or jerk. At this time, there is not an existing method to obtain the best parameters that can allow us to generate a trajectory that fulfills all the desirable conditions. Therefore, we had to run this algorithm many times to obtain these parameters and obtain the desired trajectory, which means much time is spent on tests. Moreover, the algorithm can run for an extended period, and the time the convergence occurs can vary depending on the parameters. For example, in these results, the longest-running time was about 17.5 s, and the shortest-running time was about 0.052 s (the running time was obtained using a function of MATLAB called the tic toc function). So, a method to generate trajectories with a faster running time and find the best parameters to generate a trajectory that fulfills all the desired conditions must be developed in future works.

6. Conclusions

According to the results obtained in this work, it can be hypothesized that only one or several sets of parameters can work to obtain the desired trajectory. In addition, one or several sets of parameters can make a trajectory with a continuous velocity, acceleration, and jerk.
The method converges to a via point θ v at any via point time t v . The method proposed has been tested, and according to the results and all characteristics introduced in this work, the IOSTV ( ζ ) v -HF method presents some advantages, such as avoiding unwanted oscillations. In addition, several options are generated to choose the best trajectory or, in its case, the one that meets the desired conditions. It can reduce the complexity of trajectories by setting new parameters and generating infinity options of generating a trajectory that fulfills basic constraints. Furthermore, the method generates trajectories with a finite jerk and continuous acceleration that avoids infinite jerks. All the derivatives while using the IOSTV ( ζ ) v -HF start at 0, which is a uniqueness of this method and is advantageous for reliable, smooth, and long-life robotic systems.
Although this method has to be improved, at this time, it is a confident tool for generating safe and reliable trajectories; meanwhile, a new algorithm has to be designed to obtain a trajectory that converges to the via point by iterations in a faster way. Additionally, in future works, finding a solution to obtain a set of suitable parameters that makes a continuous velocity, acceleration, and jerk without presenting undesirables oscillations could make a complete method to generate safe trajectories in the joint-space.

Author Contributions

Conceptualization, Y.Q. and O.Z. Ideas; formulation or evaluation of general research objectives and goals; methodology, Y.Q., O.Z., C.L., R.A. and J.M. were developed and designed the methodology as well as creating models; software, Y.Q., O.Z. and J.M. Programming, software development; designing computer programs; implementation of the computer code and supporting algorithms; testing of existing code components; validation, Y.Q., O.Z. and J.M. Verification, whether as a part of the activity or separate, of the overall replication/reproducibility of the results/experiments and other research outputs; formal analysis, Y.Q. and O.Z. Application of statistical, mathematical, computational, or other formal techniques to analyze or synthesize study data; investigation, Y.Q., O.Z. and J.M. Conducting a research and investigation process, specifically performing the experiments, or data/evidence collection; resources, Y.Q., O.Z., C.L., R.A. and J.M. Provision of study materials, reagents, materials, patients, laboratory samples, animals, instrumentation, computing resources, or other analysis tools; data curation, Y.Q., O.Z. and J.M. Management activities to annotate (produce metadata), scrub data, and maintain research data (including software code, where it is necessary for interpreting the data itself) for initial use and later reuse; writing—original draft preparation, Y.Q., O.Z. and J.M. Preparation, creation, and/or presentation of the published work, specifically writing the initial draft (including substantive translation); writing—review and editing, Y.Q. and O.Z. Preparation, creation, and/or presentation of the published work by those from the original research group, specifically critical review, commentary or revision—including pre-or post-publication stages; visualization, Y.Q., O.Z., R.A. and J.M. Preparation, creation, and/or presentation of the published work, specifically visualization/data presentation; supervision, Y.Q. and O.Z. Oversight and leadership responsibility for the research activity planning and execution, including mentorship external to the core team; project administration, Y.Q., O.Z., C.L., R.A. and J.M. Management and coordination responsibility for the research activity planning and execution; funding acquisition, Y.Q. and O.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Acknowledgments

The authors want to thank the Autonomous University of Sinaloa for supporting the development of this project.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Martín, F.A.; Castillo, J.C.; Malfáz, M.; Castro-González, Á. Applications and Trends in Social Robotics. Electronics 2022, 11, 212. [Google Scholar] [CrossRef]
  2. Smids, J.; Nyholm, S.; Berkers, H. Robots in the Workplace: A Threat to—Or Opportunity for—Meaningful Work? Philos. Technol. 2020, 33, 503–522. [Google Scholar] [CrossRef] [Green Version]
  3. Grau, A.; Indri, M.; Bello, L.L.; Sauter, T. Industrial robotics in factory automation: From the early stage to the Internet of Things. In Proceedings of the 43rd Annual Conference of the IEEE Industrial Electronics Society, Beijing, China, 29 October–1 November 2017; pp. 6159–6164. [Google Scholar]
  4. Yenorkar, R.; Chaskar, U.M. GUI Based Pick and Place Robotic Arm for Multipurpose Industrial Applications. In Proceedings of the Second International Conference on Intelligent Computing and Control, Systems, Madurai, India, 14–15 June 2018; pp. 200–203. [Google Scholar]
  5. Kyrarini, M.; Lygerakis, F.; Rajavenkatanarayanan, A.; Sevastopoulos, C.; Nambiappan, H.R.; Chaitanya, K.K.; Babu, A.R.; Mathew, J.; Makedon, F. A Survey of Robots in Healthcare. Technologies 2021, 9, 8. [Google Scholar] [CrossRef]
  6. Benotsmane, R.; Dudás, L.; Kovács, G. Newly Elaborated Hybrid Algorithm for Optimization of Robot Arm’s Trajectory in Order to Increase Efficiency and Provide Sustainability in Production. Sustainability 2021, 13, 8193. [Google Scholar] [CrossRef]
  7. Singh, G.; Banga, V.K. Robots and its types for industrial applications. Mater. Today Proc. 2022, 60, 1779–1786. [Google Scholar] [CrossRef]
  8. Liu, X.; Qiu, C.; Zeng, Q.; Li, A. Kinematics Analysis and Trajectory Planning of collaborative welding robot with multiple manipulators. Procedia CIRP 2019, 81, 1034–1039. [Google Scholar] [CrossRef]
  9. Williams, R.L. Simplified Robotics Joint-Space Trajectory Generation with a via Point Using a Single Polynomial. J. Robot. 2013, 2013, 735958. [Google Scholar] [CrossRef] [Green Version]
  10. Dong, M.; Yao, G.; Li, J.; Zhang, L. Research on Attitude Interpolation and Tracking Control Based on Improved Orientation Vector SLERP Method. Robotica 2020, 38, 719–731. [Google Scholar] [CrossRef]
  11. Sidobre, D.; Desormeaux, K. Smooth Cubic Polynomial Trajectories for Human-Robot Interactions. J. Intell. Robot. Syst. 2019, 95, 851–869. [Google Scholar] [CrossRef] [Green Version]
  12. Hong-Jun, H.; Yungdeug, S.; Jang-Mok, K. A Trapezoidal Velocity Profile Generator for Position Control Using a Feedback Strategy. Energies 2019, 12, 1222. [Google Scholar]
  13. Zhao, R.; Shi, Z.; Guan, Y.; Shao, Z.; Zhang, Q.; Wang, G. Inverse kinematic solution of 6R robot manipulators based on screw theory and the Paden–Kahan subproblem. Int. J. Adv. Robot. Syst. 2018, 15, 1–11. [Google Scholar] [CrossRef]
  14. Wang, Y.; Su, C.; Wang, H.; Zhang, Z.; Sheng, C.; Cui, W.; Liang, X.; Lu, X. A Convenient Kinematic Calibration and Inverse Solution Method for 4-DOF Robot. In Proceedings of the Chinese Control and Decision Conference, Nanchang, China, 3–5 June 2019; pp. 5747–5750. [Google Scholar]
  15. Csanádi, B.; Tar, J.K.; Bitó, J.F. Matrix inversion-free quasi-differential approach in solving the inverse kinematic task. In Proceedings of the 17th International Symposium on Computational Intelligence and Informatics, Budapest, Hungary, 17–19 November 2016; pp. 61–66. [Google Scholar]
  16. Liu, W.; Chen, D.; Steil, J.J. Analytical inverse kinematics solver for anthropomorphic 7-DOF redundant manipulators with human-like configuration constraints. J. Intell. Robot. Syst. 2017, 86, 63–79. [Google Scholar] [CrossRef]
  17. Kuhlemann, I.; Schweikard, A.; Ernst, F.; Jauer, P. Robust inverse kinematics by configuration control for redundant manipulators with seven DOF. In Proceedings of the 2nd International Conference on Control, Automation and Robotics, Hong Kong, China, 28–30 April 2016; pp. 49–55. [Google Scholar]
  18. Gong, M.; Li, X.; Zhang, L. Analytical Inverse Kinematics and Self-Motion Application for 7-DOF Redundant Manipulator. IEEE Access 2019, 7, 18662–18674. [Google Scholar] [CrossRef]
  19. Walch, A.; Eitzinger, C.; Zambal, S.; Palfinger, W. LSPB Trajectory Planning Using Quadratic Splines. In Proceedings of the 3rd International Conference on Mechatronics and Robotics Engineering, ICMRE 2017, Paris, France, 5–12 February 2017; Association for Computing Machinery: New York, NY, USA, 2017; pp. 81–87. [Google Scholar]
  20. Raji, A.A.; Asaolu, O.S.; Akano, T.T. Joint Space Robot Arm Trajectory Planning Using Septic Function. ABUAD J. Eng. Res. Dev. 2022, 5, 110–123. [Google Scholar]
  21. Zaghlul, S.; Al-khayyt, S. Creating Through Points in Linear Function with Parabolic Blends Path by Optimization Method. Al-Khwarizmi Eng. J. 2018, 14, 77–89. [Google Scholar]
  22. Barghi Jond, H.; VNabiyev, V.; Benveniste, R. Trajectory Planning Using High Order Polynomials under Acceleration Constraint. J. Optim. Ind. Eng. 2016, 10, 1–6. [Google Scholar]
  23. Sciavicco, L.; Siciliano, B. Modelling and Control of Robot Manipulators; Springer: London, UK, 2010. [Google Scholar]
  24. Zhang, J.; Meng, Q.; Feng, X.; Shen, H. A 6-DOF robot-time optimal trajectory planning based on an improved genetic algorithm. Robot. Biomim 2018, 5, 1–7. [Google Scholar] [CrossRef]
  25. Song, Q.; Li, S.; Bai, Q.; Yang, J.; Zhang, A.; Zhang, X.; Zhe, L. Trajectory Planning of Robot Manipulator Based on RBF Neural Network. Entropy 2021, 23, 1207. [Google Scholar] [CrossRef]
  26. Carron, A.; Arcari, E.; Wermelinger, M.; Hewing, L.; Hutter, M.; Zeilinger, M.N. Data-Driven Model Predictive Control for Trajectory Tracking with a Robotic Arm. IEEE Robot. Autom. Lett. 2019, 4, 3758–3765. [Google Scholar] [CrossRef] [Green Version]
  27. Wang, W.; Tao, Q.; Cao, Y.; Wang, X.; Zhang, X. Robot Time-Optimal Trajectory Planning Based on Improved Cuckoo Search Algorithm. IEEE Access 2020, 8, 86923–86933. [Google Scholar] [CrossRef]
  28. Moradi, M.; Naraghi, M.; Nikoobin, A. Indirect optimal trajectory planning of robotic manipulators with the homotopy continuation technique. In Proceedings of the International Conference on Robotics and Mechatronics, Tehran, Iran, 15–17 October 2014; pp. 286–291. [Google Scholar]
  29. Diaz Arango, G.U. Robotic Motion Path Generation Method Based on Homotopy Continuation for Multidi-Mensional Workspaces. Ph.D. Thesis, National Institute for Astrophysics, Optics and Electronics, Puebla, Mexico, 2018. [Google Scholar]
  30. Gallardo-Alvarado, J. An Application of the Newton-Homotopy Continuation Method for Solving the Forward Kinematic Problem of the 3-RRS Parallel Manipulator. Math. Probl. Eng. 2019, 2019, 3123808. [Google Scholar] [CrossRef]
  31. Rice, J.J.; Schimmels, J.M. Multi-homotopy class optimal path planning for manipulation with one degree of redundancy. Mech. Mach. Theory 2020, 149, 103834. [Google Scholar] [CrossRef]
  32. Li, H.; Savkin, A.V. An algorithm for safe navigation of mobile robots by a sensor network in dynamic cluttered industrial environments. Robot. Comput.-Integr. Manuf. 2018, 54, 65–82. [Google Scholar] [CrossRef]
  33. Ranganeni, V.; Chintalapudi, S.; Salzman, O.; Likhachev, M. Effective footstep planning using homotopy-class guidance. Artif. Intell. 2020, 286, 103346. [Google Scholar] [CrossRef]
  34. Wang, Y.; Topputo, F. A TFC-based homotopy continuation algorithm with application to dynamics and control problems. J. Comput. Appl. Math. 2022, 401, 113777. [Google Scholar] [CrossRef]
  35. Quiñonez, Y.; Mejía, J.; Zatarain, O.; Lizarraga, C.; Peraza, J.; Estrada, R. Algorithm to Generate Trajectories in a Robotic Arm Using an LCD Touch Screen to Help Physically Disabled People. Electronics 2021, 10, 104. [Google Scholar] [CrossRef]
  36. Quiñonez, Y.; Zatarain, O.; Lizarraga, C.; Aguayo, R.; Mejía, J. A Novel Method Based on Numerical Iterations for Joint-Space Trajectory Generation with a via Point. In New Perspectives in Software Engineering; Mejia, J., Muñoz, M., Rocha, Á., Avila-George, H., Martínez-Aguilar, G.M., Eds.; Springer: Cham, Swizerland; Coahuila, Mexico, 2022; Volume 1416, pp. 189–204. [Google Scholar]
  37. Jeong, S.Y.; Choi, Y.J.; Park, P.; Choi, S.G. Jerk Limited Velocity Profile Generation for High Speed Industrial Robot Trajectories. IFAC Proc. Vol. 2005, 38, 595–600. [Google Scholar] [CrossRef] [Green Version]
  38. Sengupta, A.; Chakraborti, T.; Konar, A.; Nagar, A. Energy efficient trajectory planning by a robot arm using invasive weed optimization technique. In Proceedings of the Third World Congress on Nature and Biologically Inspired Computing, Salamanca, Spain, 19–21 October 2011; pp. 311–316. [Google Scholar]
  39. Števo, S.; Sekaj, I.; Dekan, M. Optimization of Robotic Arm Trajectory Using Genetic Algorithm. IFAC Proc. Vol. 2014, 47, 1748–1753. [Google Scholar] [CrossRef]
Figure 1. Trajectory example where S ζ a t s ( t ) is a probability generating function with parameters n = 2 ,     t s = 3 ,   a = 0 ,     S f = 4 , and q 0 = 0 .
Figure 1. Trajectory example where S ζ a t s ( t ) is a probability generating function with parameters n = 2 ,     t s = 3 ,   a = 0 ,     S f = 4 , and q 0 = 0 .
Applsci 13 01142 g001
Figure 2. Homotopy trajectories are approaching to the via point θ v = 5 at t v = 1.5 and initial position q 0 = 12 and S f = 30 using the first and second condition.
Figure 2. Homotopy trajectories are approaching to the via point θ v = 5 at t v = 1.5 and initial position q 0 = 12 and S f = 30 using the first and second condition.
Applsci 13 01142 g002
Figure 3. Homotopy trajectories are approaching the via point θ v = 5 at t v = 1.5 and initial position q 0 = 12 and S f = 30 using the first, second, and third condition and changing its shape.
Figure 3. Homotopy trajectories are approaching the via point θ v = 5 at t v = 1.5 and initial position q 0 = 12 and S f = 30 using the first, second, and third condition and changing its shape.
Applsci 13 01142 g003
Figure 4. Example of complex trajectories approaching the via point θ v = 25 at t v = 2.6 and initial position q 0 = 10 and S f = 62 at t s = 3 .
Figure 4. Example of complex trajectories approaching the via point θ v = 25 at t v = 2.6 and initial position q 0 = 10 and S f = 62 at t s = 3 .
Applsci 13 01142 g004
Figure 5. Example of complex trajectories approaching the via point θ v = 25 at t v = 2.6 and initial position q 0 = 10 and S f = 62 at t s = 3 , reducing the spikes of the oscillations changing the parameters n v , a v , and n , a .
Figure 5. Example of complex trajectories approaching the via point θ v = 25 at t v = 2.6 and initial position q 0 = 10 and S f = 62 at t s = 3 , reducing the spikes of the oscillations changing the parameters n v , a v , and n , a .
Applsci 13 01142 g005
Figure 6. Example of complicated trajectories approaching the via point θ v = 25 at t v = 2.6 and initial position q 0 = 10 and S f = 62 at t s = 3 , reducing the spikes of the oscillations changing the parameters n v , a v , and n , a .
Figure 6. Example of complicated trajectories approaching the via point θ v = 25 at t v = 2.6 and initial position q 0 = 10 and S f = 62 at t s = 3 , reducing the spikes of the oscillations changing the parameters n v , a v , and n , a .
Applsci 13 01142 g006
Figure 7. Trajectory obtained from the sixth-order polynomial.
Figure 7. Trajectory obtained from the sixth-order polynomial.
Applsci 13 01142 g007
Figure 8. Trajectory solution with continuous velocity (it has C 1 continuity) starting at q 0 = 30 , via point θ v = 180 and S f = 120 .
Figure 8. Trajectory solution with continuous velocity (it has C 1 continuity) starting at q 0 = 30 , via point θ v = 180 and S f = 120 .
Applsci 13 01142 g008
Figure 9. Trajectory solution with continuous acceleration starting at q 0 = 30 , via point θ v = 180 and S f = 120 .
Figure 9. Trajectory solution with continuous acceleration starting at q 0 = 30 , via point θ v = 180 and S f = 120 .
Applsci 13 01142 g009
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

Quiñonez, Y.; Zatarain, O.; Lizarraga, C.; Aguayo, R.; Mejía, J. Numerical Method Using Homotopic Iterative Functions Based on the via Point for the Joint-Space Trajectory Generation. Appl. Sci. 2023, 13, 1142. https://doi.org/10.3390/app13021142

AMA Style

Quiñonez Y, Zatarain O, Lizarraga C, Aguayo R, Mejía J. Numerical Method Using Homotopic Iterative Functions Based on the via Point for the Joint-Space Trajectory Generation. Applied Sciences. 2023; 13(2):1142. https://doi.org/10.3390/app13021142

Chicago/Turabian Style

Quiñonez, Yadira, Oscar Zatarain, Carmen Lizarraga, Raquel Aguayo, and Jezreel Mejía. 2023. "Numerical Method Using Homotopic Iterative Functions Based on the via Point for the Joint-Space Trajectory Generation" Applied Sciences 13, no. 2: 1142. https://doi.org/10.3390/app13021142

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