Next Article in Journal
Fear Detection in Multimodal Affective Computing: Physiological Signals versus Catecholamine Concentration
Previous Article in Journal
Acoustic Estimation of the Direction of Arrival of an Unmanned Aerial Vehicle Based on Frequency Tracking in the Time-Frequency Plane
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Novel Collision-Free Homotopy Path Planning for Planar Robotic Arms

by
Gerardo C. Velez-Lopez
1,
Hector Vazquez-Leal
2,3,*,
Luis Hernandez-Martinez
1,
Arturo Sarmiento-Reyes
1,
Gerardo Diaz-Arango
4,
Jesus Huerta-Chua
4,
Hector D. Rico-Aniles
5 and
Victor M. Jimenez-Fernandez
2
1
Electronics Department, National Institute for Astrophysics, Optics and Electronics, Luis Enrique Erro 1, Santa María Tonantzintla, Cholula 72840, Puebla, Mexico
2
Facultad de Instrumentacion Electronica, Universidad Veracruzana, Cto. Gonzalo Aguirre Beltran S/N, Xalapa 91000, Veracruz, Mexico
3
Consejo Veracruzano de Investigacion Cientifica y Desarrollo Tecnologico (COVEICYDET), Av. Rafael Murillo Vidal No. 1735, Xalapa 91069, Veracruz, Mexico
4
Instituto Tecnologico Superior de Poza Rica, Tecnologico Nacional de Mexico, Luis Donaldo Colosio Murrieta S/N, Poza Rica 93230, Veracruz, Mexico
5
Electrical Engineering Department, North Central College, 30 N. Brainard St., Naperville, IL 60540, USA
*
Author to whom correspondence should be addressed.
Sensors 2022, 22(11), 4022; https://doi.org/10.3390/s22114022
Submission received: 6 April 2022 / Revised: 16 May 2022 / Accepted: 18 May 2022 / Published: 26 May 2022
(This article belongs to the Topic Robotics and Automation in Smart Manufacturing Systems)

Abstract

:
Achieving the smart motion of any autonomous or semi-autonomous robot requires an efficient algorithm to determine a feasible collision-free path. In this paper, a novel collision-free path homotopy-based path-planning algorithm applied to planar robotic arms is presented. The algorithm utilizes homotopy continuation methods (HCMs) to solve the non-linear algebraic equations system (NAES) that models the robot’s workspace. The method was validated with three case studies with robotic arms in different configurations. For the first case, a robot arm with three links must enter a narrow corridor with two obstacles. For the second case, a six-link robot arm with a gripper is required to take an object inside a narrow corridor with two obstacles. For the third case, a twenty-link arm must take an object inside a maze-like environment. These case studies validated, by simulation, the versatility and capacity of the proposed path-planning algorithm. The results show that the CPU time is dozens of milliseconds with a memory consumption less than 4.5 kB for the first two cases. For the third case, the CPU time is around 2.7 s and the memory consumption around 18 kB. Finally, the method’s performance was further validated using the industrial robot arm CRS CataLyst-5 by Thermo Electron.

1. Introduction

Significant advances have been made in robotics with more powerful and versatile robots being developed. Currently, robots exhibit enhanced capabilities for performing autonomous and semi-autonomous tasks with a high degree of human interaction. Their applications have been expanded from the traditional ones used in industry and research environments to areas such as clinical surgery and rehabilitation therapy [1,2,3]. Moreover, the robotics field offer support functions such as automated navigation, warehouse management, and household management [2,4,5,6,7,8,9].
The design of robotic arms has been part of the robotics evolution by incorporating not only new materials and mechanical structures, but also novel application-specific models. An example of this evolution is hyper-redundant robots; these have a mechanical structure capable of deforming continuously according to their degrees of freedom (DoF) to adapt to disorderly (unstructured) environments [10,11]; these robots resemble living organisms or their parts, such as snakes or elephant trunks; they are denoted as continuous manipulators and are widely applied in the medical area (for minimal invasive surgeries), for in-orbit servicing, grasping, and locomotion in unstructured environments [5,12,13]. However, working with this type of robot implies solving complex and computationally costly inverse kinematics and real-time collision-free path planning problems [10,11,14].
To perform its main task, every robot executes a sequence of movements. This action must be achieved safely, i.e., without colliding with any obstacle in the workspace. Commonly, this task is performed by a planning algorithm responsible for determining a collision-free path that allows the motion of the robot from an initial to a final configuration without colliding with any obstacle. Since obstacles may be static or moving, the algorithm may be recast as an off-line or on-line planner. On-line planning strategies generate the path to the goal during the movement, while off-line planners obtain the path to the goal before the movement begins [15].
Figure 1 shows the stages required for autonomous or semi-autonomous movement in robots [16]. The proposed work contributes to the advancement of collision-free path computations, represented in the blue block.
In the last few decades, several algorithm have been used to determine collision-free paths, and some of the most common are as follows: (a) sampling-based planning algorithms such as rapidly random trees (RRT) [16], probabilistic roadmap (PRM) [1,17], and the variants of each of them [16]; (b) graph-based algorithms such as visibility graph [18] and A* [19]; (c) heuristic-based algorithms such as ant colony [20] and genetic-based [3]; (d) deterministic-based methods, which include artificial potential fields (APFs) [21] and the homotopy-based path-planning method (HPPM) [22,23,24]. These algorithms and methods have been applied in mobile terrestrial robots, UAVs, car-like vehicles, and robotic manipulators [1,16,17,20,23,25,26,27,28]. However, these algorithms and methods still have several drawbacks such as falling into local minima, high computational cost, or long times to obtain a solution path, and some of these do not guarantee a solution path. Some algorithms present difficulties working in complex environments with narrow corridors, a high number of obstacles, or a high number of DoFs. Other path-planning algorithms need a post-processing stage to smooth out the obtained path for implementation in a real robot [16,23,29,30].
Path planning for planar robots is an interesting topic in robotics due to its principle of operation. It is at the root of multi-joint serial manipulator’s path planning because many industrial robots operate with this configuration, such as the SCARA robots. Recently, some works have focused on strategies to handle collision-free path planning. In [31], a path-planning method based on an obstacle-free workspace was proposed for collision-free movements of multi-joint serial manipulators. The method presented in this work uses Monte Carlo and rapidly exploring random tree (RRT), which has advantages in solving the planning problem of a three-joint planar robot arm with only one circular obstacle. Amit Jena et al. proposed in [32] an optimal planning technique using geodesics to achieve an accurate, as well as smooth trajectory for industrial robot manipulators. In this work, the authors validated its technique with a real SCARA robot; however, the workspace in the case study was obstacle-free. In [33], an optimum trajectory planning for a planar redundant manipulator was presented by minimizing the power consumption when its end-effector was commanded to move in its prescribed path. In this work, a model of the three-joint planar arm was used to validate the effectiveness of the methodology. The case studies in this work show the advantages of the planner to minimize the power consumption; however, only one polygonal obstacle is embedded in the workspace. Finally, a method for trajectory planning and control of planar robots with a passive rotational last joint was presented in [34]. This work validated the method for trajectory planning and control problems for the class of n-link planar robots with a passive rotational last joint. The case studies presented in this work were focused on showing the advantages of this method for trajectory planning and control; however, the presence of obstacles in the environment was not considered.
In this work, the operation principle of the path planning homotopic method (HPPM) is modified to deal with the planar robotic arm’s constraints. Originally, the homotopy of continuation was formulated with the aim of solving non-linear systems of equations with multiple solutions. These systems are common in all areas that involve non-linear modeling of systems, such as physics, chemistry, electronics, robotics, fluid mechanics, etc. [23,24,35,36,37,38,39]. Although homotopy has proven to be a very useful tool to find a solution in non-linear systems, recently, its application has focused on solving inverse kinematics calculations in parallel manipulators [35,40], in the calculation of path planning in mobile robots [23,24], and path planning based on the homotopy class with restrictions [41].
In this work, the novel use of the homotopic continuation method for collision-free path planning for planar robotic arms is presented. This involves the modeling of the planar robotic arm and the obstacles in the homotopic formulation to generate the collision-free path. The obtained path is expressed as a sequence of movements for the robotic to move from position A to position B while avoiding obstacles. The paper is organized as follows. Section 2 presents the homotopy-based path planning formulation. The proposed method applied to planar robotic arms with obstacles is presented in Section 3 and Section 4. Three case studies show the performance of the proposed method in Section 5. Section 6 presents a scenario where the proposed method is validated in an industrial robotic arm. Finally, Section 7 presents conclusions and future work.

2. Path Planning Using Homotopy-Based Formulations

The homotopy-based path-planning method (HPPM) assumes that the environment constrainsthe robot, and the obstacles present are mathematically modeled and contained in a non-linear algebraic equations system (NAES) represented by (1).
F ( X ) = 0 ; R n R n ,
The use of a homotopy continuation method (HCM) modifies the NAES by introducing an additional parameter known as the homotopy parameter λ , yielding a set of homotopy formulas, expressed by (2).
H ( F ( X ) , λ ) = λ F ( X ) + ( 1 λ ) G ( X ) = 0 ,
where H ( F ( X ) , λ ) : R n + 1 R n , X R n , λ [ 0 , 1 ] and G ( X ) = 0 is a function with a trivial or known solution. When λ = 0 , the system in (2) reduces itself to:
H ( F ( X ) , λ ) | λ = 0 = G ( X ) = 0 ,
whereas at λ = 1 , the system in (2) becomes:
H ( F ( X ) , λ ) | λ = 1 = F ( X ) = 0 ,
Equation (4) becomes the original equation system represented in (1).
A particular case of HCM arises if G ( X ) = F ( X ) F ( X 0 ) in (2), which yields (5).
H ( F ( X ) , λ ) = F ( X ) ( 1 λ ) F ( X 0 ) = 0 ,
where X 0 is the initial point. The formulation in (5) is known as Newton’s homotopy, and it has been used to determine a collision-free path, namely the homotopy path-planning method (HPPM) [22,23].
The HPPM models the robot and the obstacles in the workspace as a set of non-linear algebraic equations. Singularities are created for obstacles so that they can be avoided [22,24]. This yields a system of non-linear equations that is solved by the HCM. The solution curve of H ( F ( X ) , λ ) , is used as the path that the robot will travel from the initial position to the final. An enhanced version of the HPPM (EHPPM) allows better control over the repulsion effect that is caused by the singularities placed in the workspace [22,23,24].
The HPPM has been successfully applied to mobile robots [23,24]. Figure 2 shows the application of the EHPPM to generate a collision-free path for a mobile robot, showing a workspace with a mobile robot and 11 circular obstacles. The initial position of the robot is at ( x 0 , y 0 ) (red point), and the goal is at ( a , b ) (blue point), while the path to be followed by the robot is shown in blue.
The EHPPM uses the auxiliary Equations (6) and (7) to find the solution.
D 1 ( x , y ) = y m 1 x + ( b + m 1 a ) = 0 ,
D 2 ( x , y ) = y m 2 x + ( b + m 2 a ) = 0 ,
where D 1 and D 2 are straight lines that intersect at the goal (gray lines in Figure 2), m 1 and m 2 are the values of their slopes, and ( a , b ) represents the ordered pair of the point at the intersection of the straight lines [22,23,24].
The EHPPM models the workspace with Equations (8) and (9):
f 1 ( x , y ) = D 1 ( x , y ) = 0 ,
f 2 ( x , y ) = D 2 ( x , y ) + W ( x , y ) Q = 0 ,
where W ( x , y ) represents the singularities that model the obstacles in the workspace and  Q = W ( a , b ) removes the effect of singularities at the goal point ( a , b ) of the workspace [22,23,24]. When applying Newton’s homotopy (5), the system of homotopic equations is (10).
H = H 1 ( f 1 ( x , y ) , λ ) = f 1 ( x , y ) ( 1 λ ) f 1 ( x 0 , y 0 ) = 0 , H 2 ( f 2 ( x , y ) , λ ) = f 2 ( x , y ) ( 1 λ ) f 2 ( x 0 , y 0 ) = 0 ,
where ( x 0 , y 0 ) is the start point.
The EHPPM can model the obstacles by two separate sets, namely a set of circles (circular obstacles) and another set of ellipsoidal approximations (ellipsoidal obstacles) [22,23,24]. As a result, W ( x , y ) can be represented by Equation (11).
W ( x , y ) = W C ( x , y ) + W R ( x , y ) ,
where W C ( x , y ) represents the set of circular obstacles and W R ( x , y ) represents the set of ellipsoidal obstacles.
On the one hand, the set of circular obstacles is defined by Equation (12).
W C ( x , y ) = i = 1 i = k P C i C i ( x i , y i ) ,
where P C i is the repulsion parameter of each obstacle, k is the number of circular obstacles present in the workspace, and  C i ( x , y ) represents a circular obstacle, modeled by Equation (13).
C i ( x , y ) = ( x x i ) 2 + ( y y i ) 2 r c i 2 = 0 ,
where ( x i , y i ) is the center and r c i is the radius of the i-th circle.
On the other hand, the set of ellipsoidal obstacles is modeled by Equation (14).
W R ( x , y ) = j = 1 j = d P R j R j ( x j , y j ) ,
where P R j is the repulsion parameter of each ellipsoidal obstacle, d is the number of ellipsoidal obstacles present in the workspace, and  R j ( x , y ) represents the ellipsoidal obstacle modeled by the equation of an ellipse expressed in (15).
R j ( x , y ) = x x j α j 2 η + y y j β j 2 η 1 = 0 ,
where ( x j , y j ) is the center of the j-th ellipsoidal obstacle, α j and β j define the width and length, and η is an integer and defines the sharp of the vertex (in this work, η = 2 ).

2.1. Spherical-Path-Tracking Algorithm

The EHPPM uses the spherical tracking algorithm to follow the homotopy path at all times and avoids falling into discontinuities or closed curves [22,23,24,42]. This algorithm creates a hypersphere S of n dimensions, where the number of dimensions corresponds to the number of generated homotopic equations. The hypersphere S i has a radius r s with center O i located on the homotopic curve γ . The circumference of the sphere touches at least two points ( O i 1 , O i + 1 ) on the curve γ , as depicted in Figure 3.
Equation (16) describes the hypersphere for two homotopy functions.
S i ( x , y , λ ) = ( x c x ) 2 + ( y c y ) 2 + ( λ c λ ) 2 r s 2 = 0 ,
where ( c x , c y , c λ ) is the center and r s is the radius of the hypersphere at each step of the spherical tracking.
Using Newton’s homotopy (5), with Equations (10) and (16), the system of homotopy equations is expressed as:
H S = H 1 ( x , y , λ ) = 0 , H 2 ( x , y , λ ) = 0 , S i ( x , y , λ ) = 0

2.2. Predictor–Corrector Algorithm

The spherical path tracking of trajectories is complemented by the predictor–corrector algorithm, which helps follow the homotopic path without falling into discontinuities [22,23,24,42]. The predictor algorithm is used to generate the next point close to the homotopic trajectory γ such that the intersection between the hypersphere and the y curve is achieved; in this work, the corrector was implemented with Broyden’s method [24,43], and the intersection between the hypersphere and the γ curve is achieved. Figure 4 shows the predictor–corrector algorithm where ( x i , y i , λ i ) is the center of the hypersphere S i and  r s represents the radius of the hypersphere. The predictor is the point ( x j , y j , λ j ) = ( x p , y p , λ p ) , and it is used as the starting point for the corrector, finding the intersection of the hypersphere with the curve γ at j = 4 . Now, the next center of the hypersphere is at ( x j + 1 , y j + 1 , λ j + 1 ) .
This algorithm repeats and updates the center of each hypersphere until it reaches γ = 1 . In this work, two predictive methods were implemented: Euler’s predictor [23,24] and the vector predictor [42]. To start the homotopic path, Euler’s predictor is used (only two hyperspheres), then the vector predictor is the one that continues with the path until reaching λ = 1 ; this is due to two reasons: by its formulation, the vector predictor always advances on the curve γ , and it requires a lower computational cost than Euler’s predictor.

3. Proposed Scheme for Path Planning of Planar Arms

In this paper, a modified HPPM [22] is presented to obtain a collision-free path for planar robot arms. The proposal leaves aside the holonomic punctual robot and presents a novel scheme that has the ability to model redundant and hyper-redundant rigid planar robotic arms, with or without grippers, providing them with rigidity and orientation, and through the formulation of singular projections implemented, it guarantees the avoidance of obstacles. The proposed method is named the homotopy path-planning method for planar robotic arms (HPPM-PRA).
The inputs of the HPPM-PRA are the initial and final configuration of the planar robotic arm and the obstacle’s position and size. The planar robotic arm configuration is described in terms of the angles of the links, as shown in Figure 5.
The HPPM-PRA works on the configuration space (C-space), and in the proposed method, it is shown with the angles w of the bonds; therefore, the algebraic equations are described using w-angles, as well as the obstacles. To describe the obstacles in the C-space, it is proposed to project the obstacles from the Euclidean space ( x , y ) to the C-space, by creating singularities just in the points where the links touch the perimeter of the obstacles. Therefore, the homotopy path avoids obstacles in the C-space.
Based on Figure 5, the formulas that determine the position of a two-link planar robot arm anchored to the point of origin ( 0 , 0 ) are described by (18).
Es 1 : x 1 , y 1 = L 1 cos w 1 , L 1 sin w 1 , Es 2 : x 2 , y 2 = x 1 + L 2 cos w 2 , y 1 + L 2 sin w 2 ,
where L 1 and L 2 represent the length of the links and the angles w 1 and w 2 represent the position of links Es 1 and Es 2 . This process can be repeated for each link in the case of more than two links.
In order to avoid obstacles, each link has to be divided into n singular points. These singular points exhibit a projection over the perimeter of each of the obstacles. Figure 6 shows an example of a workspace with a two-link robot arm ( Es 1 , Es 2 ) and two circular obstacles ( C 1 , C 2 ) . The link Es 2 is divided into n singular points. Then, each singular point of Es 2 is represented by (19).
Es 2 : x k , y k = ( L 1 cos w 1 + ( q k ) L 2 cos w 2 , L 1 sin w 1 + ( q k ) L 2 sin w 2 ) , k = 1 , , n ,
where q k helps calculate the position of each singular k-th point in the Euclidean space and represents the link’s segments, as represented by Equation (20).
q k = k n , k = 1 , 2 , , n ,
where k is the k-th segment and n is the number of segments.
The formulation for circular obstacles C i ( w ) and ellipsoidal obstacles R j ( w ) is expressed in (21) and (22).
C i ( w 1 , w 2 ) = ( x k x i ) 2 + ( y k y i ) 2 r i 2 , i = 1 , 2 , , c ,
R j ( w 1 , w 2 ) = x k x j α j 2 η + y k y j β j 2 η 1 , j = 1 , 2 , , d ,
where C i is the i-th circular obstacle, R j represents the j-th ellipsoidal obstacle, c is the number of circular obstacles, and d is the number of ellipsoidal obstacles in the workspace. The coordinates of each singular point in each link are represented by ( x k , y k ) , while ( x i , y i ) is the center of circular obstacle ( C i ( w 1 , w 2 ) ) and ( x j , y j ) is the center of ellipsoidal obstacle ( R j ( w 1 , w 2 ) ). r i is the radius of each circular obstacle, and α j and β j are the base and height of the j-th ellipsoidal obstacle. To create rigid obstacles, n-singular points were used for each link by considering the size of the smallest obstacle in the workspace as a reference to set n. The formulation that represents the singularities created by the singular projections involving all the links is given by (23).
W w 1 , , w v = i = 1 c t = 1 v k = 1 n P C i C i w 1 , , w v + j = 1 d t = 1 v k = 1 n P R j R j w 1 , , w v ,
where P C i represents the repulsion parameter of each circular obstacle, P R j represents the repulsion parameter of each ellipsoidal obstacle, c represents the number of circular obstacles, d represents the number of ellipsoidal obstacles, v the number of links, and n the number of singular points of each link.
The HPPM-PRA uses a system of auxiliary equations to set the final position of the robotic arm given by (24).
l k ( w 1 , , w v ) = a 0 , k + j = 1 v a j , k w j = 0 , k = [ 1 , 2 , , v ] ,
Here, v is the number of links in the robot arm and a is a set of arbitrary constants. By evaluating (24) at the goal position ( w g o a l 1 , , w g o a l v ) and selecting a 0 , k to set each linear equation to zero, the system of equations for a planar robot arm becomes:
f 1 ( w 1 , , w v ) = l 1 ( w 1 , , w v ) = 0 , f 2 ( w 1 , , w v ) = l 2 ( w 1 , , w v ) = 0 , f v ( w 1 , , w v ) = l v ( w 1 , , w v ) + W ( w 1 , , w v ) Q = 0 ,
where Q is a constant to guarantee that the solution of (25) is ( w g o a l 1 , , w g o a l v ) . It is important to note that the equation l v was chosen to add the term W Q ; nonetheless, it is feasible to select another equation of (25).
The homotopy system to solve (25) using (5) is then (26).
H = H 1 ( f 1 ( w 1 , , w v ) , λ ) = f 1 ( w 1 , , w v ) ( 1 λ ) f 1 ( w s t a r t 1 , , w s t a r t v ) = 0 , H 2 ( f 2 ( w 1 , , w v ) , λ ) = f 2 ( w 1 , , w v ) ( 1 λ ) f 2 ( w s t a r t 1 , , w s t a r t v ) = 0 , H v ( f v ( w 1 , , w v ) , λ ) = f v ( w 1 , , w v ) ( 1 λ ) f v ( w s t a r t 1 , , w s t a r t v ) = 0 ,
where ( w s t a r t 1 , , w s t a r t v ) represents mathematically the starting point for the homotopy path and, physically, the initial position of the robotic arm.
Equation (27) is proposed to implement the hyperspherical path-tracking algorithm that was stated in (16).
S i ( w 1 , , w v , λ ) = ( w 1 c 1 ) 2 + ( w 2 c 2 ) 2 + + ( w v c v ) 2 + ( λ c v + 1 ) 2 r s 2 = 0 ,
where ( c 1 , c 2 , , c v + 1 ) is the center of the hypersphere and r s is the radius of the hypersphere. It is important to highlight that the first hypersphere’s center ( c 1 , c 2 , , c v ) is equal to the starting point ( w s t a r t 1 , , w s t a r t v ) of the homotopy at λ = c v + 1 = 0 . However, it is also feasible to use a variable-radius scheme.
The system of equations to be solved for each step of the path-tracking algorithm is given in (28).
H S = H 1 ( w 1 , , w v , λ ) = 0 , H 1 ( w 1 , , w v , λ ) = 0 , H v ( w 1 , , w v , λ ) = 0 , S i ( w 1 , , w v , λ ) = 0 ,
where the center of the hypersphere S i is updated at every i-th step of the path tracking, as explained in Section 2.2.

Workspace and C-Space

This section explains how to transform from the workspace to C-space and the relation to obstacles and the homotopic path computation process. On the one hand, the workspace is the graphical representation of the number and length of links, the initial and final position of the robotic arm (start, goal), and the number, position, and shape of obstacles in the real world. On the other hand, the C-space maps the allowed and forbidden configurations that the robot can perform without collisions in the workspace. The configurations are modeled in a space with as many dimensions as degrees of freedom the robot has. Figure 7a shows the workspace with a two-link planar robotic arm. The initial (start) and final (goal) positions of the robotic arm are represented by the solid red line and the blue asterisks, respectively. Figure 7b shows the C-space in terms of the angles w 1 and w 2 of the links.
The solid red dot marks the starting point (start), and the intersection of the auxiliary lines denotes the endpoint (goal) of the homotopic path (blue diamond).
It can be noted that the circular obstacle in the Euclidean space is transformed into an elongated amorphous shape in the C-space, and this is due to the singular projections that exist between the link of the robotic arm and the obstacle; this shape was obtained by plotting (23) using the Maple 18 “implicitplot” command. It should be mentioned that for more than three dimensions, it is not easy to visualize the C-space.

4. HPPM-PRA Procedure Steps

The HPPM-PRA is a straightforward procedure that is easy to implement. This requires some basic steps:
1.
Capturing of the workspace. In this step, a camera or system to capture the environment is used to generate the geometrical representation of the robot’s workspace. This procedure requires an image-processing algorithm; however, this is not a topic of this work; thus, the workspace is considered known a priori. Then, for this work, only circular obstacles (21) and ellipsoidal obstacles (22) are considered to represent the workspace in the case studies of Section 5.
2.
Setting the robot parameters. The number and length of the links and the start and end configurations are given to the HPPM-PRA.
3.
Repulsion parameter assignation. Assign the repulsion parameter to each obstacle of the workspace.
4.
Model workspace obstacles in the C-space. The singular projections (W) that represent the forbidden configurations (obstacle collision space) are employed to establish the Q value using (23).
5.
Generate the auxiliary equations. These are used to set the final configuration of the robotic arm.
6.
Generate non-linear equation system. This represents the entire problem and contains the characteristics of the robot and the workspace.
7.
Homotopy continuation formulation (Equation (26)). In this step, the original system of non-linear equations of the previous step is converted to a homotopic system.
8.
Hyperspherical tracking. The hyperspherical tracking algorithm is employed to calculate each point of the solution path.
9.
Robotic arm executing. Finally, the obtained homotopic path is followed by the robotic arm.
Figure 8 shows the flowchart of the proposed methodology.
Algorithms 1–5 describe the stages that model the proposed method. Algorithm 1 describes the general procedure of the HPPM-PRA. This procedure requires the workspace configuration as the input and uses four algorithms that build the homotopy system (H). The homotopy system is solved by using the spherical path-tracking algorithm to generate the path for the planar robotic arm.
The function of Algorithm 2 is to transform the workspace to the C-space, and the information obtained ( w s t a r t , w g o a l , a 0 ) is used by the following algorithms.
Algorithm 3 is responsible for obtaining the value of Q from the evaluation of the circular and ellipsoidal obstacles in the final position ( w g o a l ) . Furthermore, this algorithm is used in each step of the hyperspherical procedure to obtain the value of W.
Algorithm 4 builds, based on the auxiliary equations ( l k ( w 1 , , w v ) ), the system of non-linear equations ( f 1 , , f v ), which Algorithm 5 uses to generate the homotopic system (H).
Algorithm 1 HPPM-PRA general procedure.
Require:   R ( w ) , C ( w ) , E s s t a r t , E s g o a l , L , v ▹ The task to be solved is proposed
Require:   P C , P R ▹ Assign the repulsion parameter
1: Get ( w s t a r t , w g o a l , a 0 ) ▹ See Algorithm 2
2: Get the value of Q▹ See Algorithm 3
3: Set the non-linear equation system to solve ( f 1 , , f v ) ▹ See Algorithm 4
4: Generate the homotopy equation (H) ▹ See Algorithm 5
5: Create hypersphere S i w s t a r t is used as the center of the first hypersphere
6: Formulation of the homotopy system ( H S )
7: iteration=0 ▹ A temporary variable is used as the counter
8: while ( λ 1 ) do▹ Use the hyperspherical path-tracking algorithm, until  λ = 1
9:     if  ( i t e r a t i o n < 2 )  then
10:         Euler’s predictor ( H S ) ▹ Euler’s predictor is used
11:     else
12:         Vector predictor ( H S ) ▹ The vector predictor is used
13:     end if
14:     Broyden’s method ( H S ) ▹ The corrector method is used
15:     The numeric homotopy path is stored
16:     Update the center of the hypersphere ( S i )
17:     iteration++
18: end while
Ensure:  The numerical homotopy path ▹ The robotic arm can execute the path
Algorithm 2 Transformation from workspace to C-space.
1: functionC-space( s t a r t , g o a l , a j , k , v , L v )
2:      j , k ▹ Temporary variables
3:     for  ( j = 0 ; j < v ; j + + )  do
4:          w s t a r t [ j ] = arccos s t a r t [ j + 1 ] s t a r t [ j ] L [ j ] ▹ Start position in C-space.
5:          w g o a l [ j ] = arccos g o a l [ j + 1 ] g o a l [ j ] L [ j ] ▹ Goal position in C-space.
6:     end for
7:     for  ( j = 0 ; j < v ; j + + ) do▹ Calculation of the value of a 0 .
8:         for  ( k = 0 ; k < v ; k + + )  do
9:             a 0 [ j ] = ( w g o a l [ k + 1 ] ) ( a [ j ] [ k ] )
10:         end for
11:          a 0 [ j ] = w g o a l [ 0 ]
12:     end for
13:     return  ( w s t a r t , w g o a l , a 0 ) ▹ Returns the values from the C-space
14: end function
Algorithm 3 Get the value of (Q, W).
1: functionGet Q( w g o a l , C w , R w , P C , L v , c , v , n )
2:      a d d o b s [ v ] = 0 , a d d [ n ] = 0 , j , k , i ▹ Temporal variables.
3:     for  ( j = 0 ; j < c ; j + + )  do
4:         for  ( k = 0 ; k < v ; k + + )  do
5:            for  ( i = 0 ; i < n ; i + + )  do
6:                 x k [ i ] = cos ( w g o a l [ k ] ) ( L [ k ] ) i + 1 n
7:                 y k [ i ] = sin ( w g o a l [ k ] ) ( L [ k ] ) i + 1 n ( x k , y k ) are the coordinates of each singular point for a given link
8:                 a d d o b s [ k ] + = P C [ j ] ( x k [ i ] x [ j ] ) 2 + ( y k [ i ] y [ j ] ) 2 ( r [ j ] ) 2 ▹ The equation of the circular obstacle C ( w ) can be replaced by the equation of ellipsoidal obstacle R ( w )
9:            end for
10:             a d d [ j ] + = a d d o b s [ k ]
11:         end for
12:          a d d o b s [ v ] = 0 ▹ Temporal variable is cleared.
13:          Q + = a d d [ j ]
14:     end for
15:     return  ( Q ) ▹ The value of Q is obtained.
16: end function
Algorithm 4 Set non-linear equation system to solve.
1: functionSet f 1 , , f v ( a 0 , a j , k , W , Q , v )
2:      j , k ▹ Temporary variables
3:     for  ( j = 1 ; j < v ; j + + )  do
4:         for  ( k = 1 ; k < v ; k + + )  do
5:             l [ k ] + = ( a [ j ] [ k ] ) ( w [ j ] )
6:         end for
7:          l [ k ] + = a 0 [ j ] ▹ The system of auxiliary equations is obtained l k ( w 1 , , w v )
8:     end for
9:     for  ( k = 1 ; k < v 1 ; k + + )  do
10:          f [ k ] = l [ k ]
11:     end for
12:      f [ k + 1 ] = l [ k ] + W Q
13:     return f▹ Returns f 1 , , f v
14: end function
Algorithm 5 Generate the homotopy system.
1: functionGenerate H( w s t a r t , v , f 1 , , f v , λ )
2:     for  ( k = 1 ; k < v ; k + + )  do
3:          H [ k ] = f [ k ] ( 1 λ ) f [ k ] ( w s t a r t )
4:     end for
5:     return f▹ Returns H 1 , , H v
6: end function

5. Case Studies

In this section, three case studies are presented, which show the capacity of the proposed method to obtain the path in planar robot arms. These studies evaluate the performance of the proposed method with the environment, which includes narrow corridors and circular and ellipsoidal obstacles. The implementation can be modified to any number of links, their length, and added grippers. For all the case studies shown in this section, the following color convention is used: circular obstacles ( C u ) are purple; ellipsoidal obstacles ( E u ) are gray; the gripper is brown; the initial position of the robot arm is red; the final position is blue; the homotopic path is shown in black. The proposed method was implemented using the C++ programming language, and the animations were performed in Maple software. All the case studies were executed on a personal computer with a Core [email protected] processor and 8 GB of RAM. Here, it is important to note that no special specialized package, library, or hardware was used to help reduce the computing time.

5.1. Case Study 1

In this case study, a three-link planar robot arm with two circular obstacles is presented as shown in Figure 9. To reach the final position, the robot arm must pass through a narrow corridor generated by the circular obstacles C 1 and C 2 .
Table 1 shows the center, radius, and proposed repulsion parameter (P) of circular obstacles, the length of each link, and the proposed constants of auxiliary equations.
Figure 10 depicts the collision-free path for the robotic arm of Figure 9. From Figure 10a to Figure 10e, the collision-free movements of the planar robotic arm are observed until it reaches the final position (goal) in the narrow corridor generated by the two obstacles (see Figure 10e).
Figure 11 shows the changes that each angle of movement w of the robotic arm has; the marked points are the nodes of the solution path shown in Figure 10. Figure 12 shows the change in joint angle movement, where it is observed that the greatest change obtained between each movement does not exceed 0.03 radians, confirming that the path obtained is smooth.
It is important to note that the robotic arm touches the perimeter of the obstacles; nevertheless, it does not collide with them due to the safeguard radius ( r t ) [22,23], as depicted in Figure 13. This case study shows that the HPPM-PRA can obtain paths even in narrow corridors where probabilistic methods may fail.

5.2. Case Study 2

For this case study, a robot arm with six links (of the same length) and a gripper is depicted. The robotic arm starts from a rest position where the gripper is closed and moves to grip a circular object ( C 1 ) that is between the ellipsoidal obstacles ( E 1 , E 2 ), as depicted in Figure 14. Table 2 shows the configuration parameters for this case study.
Figure 15 shows how the robotic arm moves from the initial position to the final position to grip the circular object. The robotic arm goes through the narrow corridor whilst the gripper opens gradually to hold the object; the HPPM-PRA considers the robotic arm and gripper as a unified structure during simulation. In this case study, a simple gripper was proposed, but it can be modeled in different ways, depending on the specific needs.
Figure 16 shows the angle w of each joint for the full path; the points marked in Figure 16 correspond to the images in Figure 15. Figure 17 shows the change in joint angle movement, where it is observed that the greatest change obtained between each movement does not exceed 0.03 radians for the full path, so the path is smooth.

5.3. Case Study 3

This case study aims to show the suitability of the proposed method applied to a hyper-redundant robot. For this, a twenty-link hyper-redundant robot arm is used. Figure 18 depicts the scenario proposed for this case study. The robot arm must evade the circular obstacle C 2 , continue to move through the path formed by objects E 1 E 5 , and finally, grab the circular object ( C 1 ). In this scenario, a gripper is no longer necessary, since the robotic arm can grab the object with its links; this is an advantage of the hyper-redundant arms [10,11].
Figure 19 presents the sequence of robot arm simulation of the study case 3. In this picture, each position corresponds to a marked point in Figure 20. Figure 20 shows the evolution of the angles w along the path obtained for Case Study 3.
Figure 20 shows the evolution of the angles w along the path obtained for this. It can be seen that it exhibits a smooth displacement throughout the points that correspond to the images in Figure 21. The smoothness of the path can be validated by the nature of the homotopy continuation methods, which generate a continuous solution curve. Figure 21 shows the change in joint angle movement, where it is observed that the greatest change obtained between each movement does not exceed 0.02 radians for the full path, so the path is smooth.
Table 3 shows the simulation parameters. The successful implementation of the HPPM-PRA on hyper-redundant robot arms to compute a collision-free path opens the possibility for the method to be applied to various areas of science such as medicine and exploration, among others [5,10,12,13,14,44,45].
Table 4 shows the computation time, memory consumption, total number of hyperspheres used to trace the homotopy path, radius of the hyperspheres, and characteristics of the workspace (number of links, the amount and type of obstacles).
It can be seen that the computation time and memory consumption increase as the number of links and obstacles increases. The ellipsoidal obstacles have a higher computational cost than the circular obstacles. This is because the numerical problems that path tracking faces are due to the exponent of the ellipsoid formulation. The number of hyperspheres shown in Table 4 indicates the total movements made by the robotic arm to complete the task, so the proposed method obtains smooth paths for all case studies; this can be validated with Figure 11, Figure 12, Figure 16, Figure 17, Figure 20 and Figure 21. The nature of homotopy is to create smooth paths to solve the NAES; therefore, the paths obtained with the proposed method will be smooth. The radius of the hypersphere was assigned as 0.02 with the purpose of standardizing the value, but this can be changed for any case study. It is suggested to use a value between 0.001 and 0.04; the smaller the size, the greater the total number of hyperspheres to be obtained is and vice versa.
Case Study 1 was the one that obtained the best results in CPU time, hyperspheres, and memory consumption. This is because the complexity of this workspace is minor since it only has two obstacles and an arm with three links. For Case Study 2 and Case Study 3, the computation time and memory consumption increased because of the greater number of obstacles and links and the presence of ellipsoidal obstacles.
In the first two case studies, the computation time was less than 65 milliseconds and the memory consumption was less than 5 KB; this means that the proposed method can be implemented in embedded systems with limited memory. The memory consumption in all cases was less than 20 KB, demonstrating the low memory consumption of the proposed method. In contrast, the state-of-the-art hyper-redundant robotic arms, such as the one proposed in Case Study 3, require high-performance equipment with outstanding processor and memory consumption. They even use mathematical strategies to obtain favorable results [10,11,14], not to mention that, sometimes, they cannot find the path or only work with specific scenarios.

6. Implementation of the Proposed Method in the CRS Catalyst-5 Robot

The proposed method was validated through its implementation on a real robotic arm model, CRS CataLyst-5. The method so far only works with planar robot arms; thus, the movement of the CRS-CataLyst-5 robot was limited to two axes.
To carry out the implementation, the test was divided into two stages:
1.
First, the workspace to be solved was established. A three-link robot arm with normalized dimensions regarding the CRS CataLyst-5 robot was used. The circular obstacles had a tolerance radius r t , which guaranteed no collision of the robot arm with the obstacle (foam balls). For this case, two goals (goal1 and goal2) were set and are depicted in Figure 22 by the line formed by gray boxes and the blue line formed by asterisks, respectively. The movements of the robot arm are semi-transparent. The robot arm first reaches Goal 1 (the first homotopic path has been followed). Then, the endpoint of this path is used as the starting position to obtain the second homotopic path and reach Goal 2. In this way, a single path is obtained capable of avoiding obstacles and meeting both goals. The computation time and memory consumption were 2 milliseconds and 0.924 KB, respectively. The sequence of movements is executed by the robotic arm, as shown in Figure 22a.
2.
The second stage of this process is to adjust the numeric homotopy path data to the correct instructions for the CRS CataLyst-5 arm to follow the path. The CRS-CataLyst-5 robot has five degrees of freedom, a teach pendant, and a controller for interpreting and processing the instructions sent by the computer through its Robcomm3 software to generate the movements of the robot [46,47]. Figure 22b depicts the robotic arm workspace. From Figure 23 (implementation), the sequence of movements of Figure 22a (simulation) is corroborated.

7. Conclusions and Future Work

In this work, a novel method for collision-free path planning for robotic arms using homotopy continuation methods was presented. This proposal is flexible since it is capable of working in the simulation with different characteristics of the robotic arm, such as different link lengths, an arbitrary number of links, or adding grippers. Moreover, the homotopy path-planning method for planar robotic arms (HPPM-PRA) can work with circular and ellipsoidal obstacles. Obstacle avoidance is achieved by strategically adding mathematical singular points to the links. The behavior of the evasion is controlled by the repulsion parameter assigned to each obstacle, which allows obtaining a path that approaches or moves away from each obstacle when searching for the goal position.
The HPPM-PRA was tested in three different scenarios to validate the capability of the method to work with different robot arms. The results of the case studies showed 20 KB of maximum memory expended in the implementations. These results validate the low memory consumption of the HPPM-PRA. A remarkable result of the HPPM-PRA is that it can reach a goal while avoiding obstacles and crossing narrow corridors using low computational resources, which is a complex task for probabilistic methods. The HPPM-PRA method was validated with a CRS CataLyst-5 robot for practical implementations. For this, it was necessary to consider a normalized workspace and the limitations of the software and hardware of the CRS CataLyst-5 robot.
The HPPM-PRA represents a novel proposal for the homotopy continuation methods [22,23,24,35,36,37,38,39,40,41,42,43,48,49] because it faces the problem of path planning by representing the configuration space (C-space) of the robot arm by using a system of algebraic equations and strategically allocated singularities, which are fundamental during the process of circumventing the obstacles. The proof of concept proved to be effective for implementation on real robots and prepares the way for implementation on scrolling robots in 3D configuration spaces. However, the extension of this project to 3D environments is left as future work, since the representation of the configuration space must be modified in the HPPM formulation by using the Denavit–Hartenberg representation.

Author Contributions

Conceptualization, H.V.-L. and G.D.-A.; Data curation, J.H.-C. and V.M.J.-F.; Formal analysis, G.C.V.-L., H.V.-L. and G.D.-A.; Investigation, G.C.V.-L. and L.H.-M.; Methodology, H.V.-L., G.D.-A. and H.D.R.-A.; Project administration, L.H.-M. and A.S.-R.; Resources, J.H.-C., H.D.R.-A. and V.M.J.-F.; Software, G.C.V.-L. and G.D.-A.; Supervision, L.H.-M., A.S.-R., G.D.-A., J.H.-C., H.D.R.-A. and V.M.J.-F. 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

Gerardo Cesar Velez Lopez gratefully acknowledges the financial support provided by the National Council for Science and Technology of Mexico (CONACyT) through an academic scholarship under contract 711139.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Baek, D.; Hwang, M.; Kim, H.; Kwon, D.S. Path planning for automation of surgery robot based on probabilistic roadmap and reinforcement learning. In Proceedings of the 2018 15th International Conference on Ubiquitous Robots (UR), Honolulu, HI, USA, 26–30 June 2018; pp. 342–347. [Google Scholar]
  2. Bauzano, E.; Estebanez, B.; Garcia-Morales, I.; Munoz, V.F. Collaborative human–robot system for hals suture procedures. IEEE Syst. J. 2014, 10, 957–966. [Google Scholar] [CrossRef]
  3. Roy, R.; Mahadevappa, M.; Kumar, C. Trajectory path planning of EEG controlled robotic arm using GA. Procedia Comput. Sci. 2016, 84, 147–151. [Google Scholar] [CrossRef] [Green Version]
  4. Kopperger, E.; List, J.; Madhira, S.; Rothfischer, F.; Lamb, D.C.; Simmel, F.C. A self-assembled nanoscale robotic arm controlled by electric fields. Science 2018, 359, 296–301. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  5. Flores-Abad, A.; Ma, O.; Pham, K.; Ulrich, S. A review of space robotics technologies for on-orbit servicing. Prog. Aerosp. Sci. 2014, 68, 1–26. [Google Scholar] [CrossRef] [Green Version]
  6. Kularatne, D.; Bhattacharya, S.; Hsieh, M.A. Optimal path planning in time-varying flows using adaptive discretization. IEEE Robot. Autom. Lett. 2017, 3, 458–465. [Google Scholar] [CrossRef]
  7. Grushko, S.; Vysocký, A.; Oščádal, P.; Vocetka, M.; Novák, P.; Bobovský, Z. Improved Mutual Understanding for Human-Robot Collaboration: Combining Human-Aware Motion Planning with Haptic Feedback Devices for Communicating Planned Trajectory. Sensors 2021, 21, 3673. [Google Scholar] [CrossRef]
  8. Zhao, S.; Zhao, J.; Sui, D.; Wang, T.; Zheng, T.; Zhao, C.; Zhu, Y. Modular Robotic Limbs for Astronaut Activities Assistance. Sensors 2021, 21, 6305. [Google Scholar] [CrossRef]
  9. Rybus, T.; Wojtunik, M.; Basmadji, F.L. Optimal collision-free path planning of a free-floating space robot using spline-based trajectories. Acta Astronaut. 2022, 190, 395–408. [Google Scholar] [CrossRef]
  10. Martín Barrio, A.; Terrile, S.; Barrientos, A.; del Cerro, J. Robots Hiper-Redundantes: Clasificación, Estado del Arte y Problemática. Rev. Iberoam. Autom. Inform. Ind. 2018, 15, 351–362. [Google Scholar] [CrossRef]
  11. Cowan, L.S.; Walker, I.D. The importance of continuous and discrete elements in continuum robots. Int. J. Adv. Robot. Syst. 2013, 10, 165. [Google Scholar] [CrossRef]
  12. Lau, K.; Leung, E.; Poon, C.; Lau, J.; Yam, Y.; Chiu, P. Development of an Endoscopic Surgical Robotic System–from Bench to Animal Studies. In Proceedings of the Hamlyn Symposium on Medical Robotics, London, UK, 25–28 June 2017; p. 1. [Google Scholar]
  13. Berthet-Rayne, P.; Gras, G.; Leibrandt, K.; Wisanuvej, P.; Schmitz, A.; Seneci, C.A.; Yang, G.Z. The i 2 snake robotic platform for endoscopic surgery. Ann. Biomed. Eng. 2018, 46, 1663–1675. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  14. Deng, J.; Meng, B.H.; Kanj, I.; Godage, I.S. Near-optimal Smooth Path Planning for Multisection Continuum Arms. In Proceedings of the 2019 2nd IEEE International Conference on Soft Robotics (RoboSoft), Seoul, Korea, 14–18 April 2019; pp. 416–421. [Google Scholar]
  15. Shiller, Z. Off-line and on-line trajectory planning. In Motion and Operation Planning of Robotic Systems; Springer: Berlin/Heidelberg, Germany, 2015; pp. 29–62. [Google Scholar]
  16. LaValle, S.M. Planning Algorithms; Cambridge University Press: Cambridge, UK, 2006. [Google Scholar]
  17. Murray, S.; Floyd-Jones, W.; Qi, Y.; Sorin, D.J.; Konidaris, G.D. Robot Motion Planning on a Chip. In Proceedings of the Robotics: Science and Systems, Ann Arbor, MI, USA, 18–22 June 2016. [Google Scholar]
  18. Brass, P.; Vigan, I.; Xu, N. Shortest path planning for a tethered robot. Comput. Geom. 2015, 48, 732–742. [Google Scholar] [CrossRef]
  19. Fu, B.; Chen, L.; Zhou, Y.; Zheng, D.; Wei, Z.; Dai, J.; Pan, H. An improved A* algorithm for the industrial robot path planning with high success rate and short length. Robot. Auton. Syst. 2018, 106, 26–37. [Google Scholar] [CrossRef]
  20. Baghli, F.Z.; Elbakkali, L.; Lakhal, Y. Optimization of arm manipulator trajectory planning in the presence of obstacles by ant colony algorithm. Procedia Eng. 2017, 181, 560–567. [Google Scholar] [CrossRef]
  21. Gai, S.N.; Sun, R.; Chen, S.J.; Ji, S. 6-DOF robotic obstacle avoidance path planning based on artificial potential field method. In Proceedings of the 2019 16th International Conference on Ubiquitous Robots (UR), Jeju, Korea, 24–27 June 2019; pp. 165–168. [Google Scholar]
  22. Vazquez-Leal, H.; Marin-Hernandez, A.; Khan, Y.; Yıldırım, A.; Filobello-Nino, U.; Castañeda-Sheissa, R.; Jimenez-Fernandez, V.M. Exploring collision-free path planning by using homotopy continuation methods. Appl. Math. Comput. 2013, 219, 7514–7532. [Google Scholar]
  23. Diaz-Arango, G.; Vázquez-Leal, H.; Hernandez-Martinez, L.; Pascual, M.T.S.; Sandoval-Hernandez, M. Homotopy path planning for terrestrial robots using spherical algorithm. IEEE Trans. Autom. Sci. Eng. 2017, 15, 567–585. [Google Scholar] [CrossRef]
  24. Diaz-Arango, G.; Vazquez-Leal, H.; Hernandez-Martinez, L.; Jimenez-Fernandez, V.M.; Heredia-Jimenez, A.; Ambrosio, R.C.; Huerta-Chua, J.; Cos-Cholula, D.; Hernandez-Mendez, S. Multiple-Target Homotopic Quasi-Complete path-planning method for Mobile Robot Using a Piecewise Linear Approach. Sensors 2020, 20, 3265. [Google Scholar]
  25. Liu, Y.R.; Huang, M.B.; Huang, H.P. Automated grasp planning and path planning for a robot hand-arm system. In Proceedings of the 2019 IEEE/SICE International Symposium on System Integration (SII), Paris, France, 14–16 January 2019; pp. 92–97. [Google Scholar]
  26. Kingston, Z.; Moll, M.; Kavraki, L.E. Sampling-based methods for motion planning with constraints. Annu. Rev. Control Robot. Auton. Syst. 2018, 1, 159–185. [Google Scholar] [CrossRef] [Green Version]
  27. Vien, N.A.; Toussaint, M. POMDP manipulation via trajectory optimization. In Proceedings of the 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Hamburg, Germany, 28 September–2 October 2015; pp. 242–249. [Google Scholar]
  28. Samaniego, R.; Rodríguez, R.; Vázquez, F.; López, J. Efficient path planing for articulated vehicles in cluttered environments. Sensors 2020, 20, 6821. [Google Scholar]
  29. Kang, T.W.; Kang, J.G.; Jung, J.W. A Bidirectional Interpolation Method for Post-Processing in Sampling-Based Robot Path Planning. Sensors 2021, 21, 7425. [Google Scholar]
  30. Jeon, G.Y.; Jung, J.W. Water sink model for robot motion planning. Sensors 2019, 19, 1269. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  31. Cao, Y.; Guo, M.; Li, Y. Obstacle-free workspace based path planning for serial manipulator. In Proceedings of the 2017 36th Chinese Control Conference (CCC), Dalian, China, 26–28 July 2017; pp. 6897–6900. [Google Scholar]
  32. Jena, A.; Sahu, P.K.; Bharat, S.C.; Biswal, B. Optimal trajectory planning of a 3R SCARA manipulator using geodesic. In Proceedings of the 2016 IEEE 1st International Conference on Power Electronics, Intelligent Control and Energy Systems (ICPEICES), Delhi, India, 4–6 July 2016; pp. 1–6. [Google Scholar]
  33. Chembuly, V.S.; Voruganti, H.K. Trajectory planning of redundant manipulators moving along constrained path and avoiding obstacles. Procedia Comput. Sci. 2018, 133, 627–634. [Google Scholar] [CrossRef]
  34. De Luca, A.; Oriolo, G. Trajectory planning and control for planar robots with passive last joint. Int. J. Robot. Res. 2002, 21, 575–590. [Google Scholar] [CrossRef]
  35. Shafiee-Ashtiani, M.; Yousefi-Koma, A.; Iravanimanesh, S.; Bashardoust, A.S. Kinematic analysis of a 3-UPU parallel Robot using the Ostrowski-Homotopy Continuation. In Proceedings of the 2016 24th Iranian Conference on Electrical Engineering (ICEE), Shiraz, Iran, 10–12 May 2016; pp. 1306–1311. [Google Scholar]
  36. Nor, H.M.; Rahman, A.; Ismail, A.I.M.; Majid, A.A. Super Ostrowski homotopy continuation method for solving polynomial system of equations. MATEMATIKA Malays. J. Ind. Appl. Math. 2016, 32, 53–67. [Google Scholar]
  37. Jiménez-Islas, H.; Martínez-González, G.M.; Navarrete-Bolaños, J.L.; Botello-Álvarez, J.E.; Oliveros-Munoz, J.M. Nonlinear homotopic continuation methods: A chemical engineering perspective review. Ind. Eng. Chem. Res. 2013, 52, 14729–14742. [Google Scholar] [CrossRef]
  38. Dong, B.; Yu, B.; Yu, Y. A homotopy method for finding all solutions of a multiparameter eigenvalue problem. SIAM J. Matrix Anal. Appl. 2016, 37, 550–571. [Google Scholar] [CrossRef]
  39. Jiménez-Islas, H.; Calderón-Ramírez, M.; Martínez-González, G.M.; Calderón-Álvarado, M.P.; Oliveros-Muñoz, J.M. Multiple solutions for steady differential equations via hyperspherical path-tracking of homotopy curves. Comput. Math. Appl. 2020, 79, 2216–2239. [Google Scholar] [CrossRef]
  40. Mirmohammad, S.H.; Yousefi-Koma, A.; Mohtasebi, S.S. Direct kinematics of a three revolute-prismatic-spherical parallel robot using a fast homotopy continuation method. In Proceedings of the 2016 4th International Conference on Robotics and Mechatronics (ICROM), Tehran, Iran, 26–28 October 2016; pp. 410–415. [Google Scholar]
  41. Gregoire, J.; Čáp, M.; Frazzoli, E. Locally optimal multi-robot navigation under delaying disturbances using homotopy constraints. Auton. Robot. 2018, 42, 895–907. [Google Scholar] [CrossRef] [Green Version]
  42. Vázquez-Leal, H.; Castañeda-Sheissa, R.; Rabago-Bernal, F.; Hernández-Martínez, L.; Sarmiento-Reyes, A.; Filobello-Niño, U. Powering multiparameter homotopy-based simulation with a fast path-following technique. ISRN Appl. Math. 2011, 2011, 610637. [Google Scholar] [CrossRef] [Green Version]
  43. Velez-Lopez, G.C.; Hernández-Martínez, L.; Diaz-Arango, G.; Vazquez-Leal, H. A Tool to Solve Nonlinear Algebraic Equations Systems. In Proceedings of the 2019 16th International Conference on Electrical Engineering, Computing Science and Automatic Control (CCE), Mexico City, Mexico, 11–13 September 2019; pp. 1–4. [Google Scholar]
  44. Giorgio, I.; Del Vescovo, D. Non-linear lumped-parameter modeling of planar multi-link manipulators with highly flexible arms. Robotics 2018, 7, 60. [Google Scholar] [CrossRef] [Green Version]
  45. Cianchetti, M.; Laschi, C.; Menciassi, A.; Dario, P. Biomedical applications of soft robotics. Nat. Rev. Mater. 2018, 3, 143–153. [Google Scholar] [CrossRef]
  46. CRS Robotics Corporation (Thermo CRS Limited). A255 Robot Arm User Guide For Use with C500C Controller; CRS Robotics Corporation: Burlington, ON, Canada, 2000. [Google Scholar]
  47. Rios, E.M.L. Prácticas Didácticas del Laboratorio de Procesos Automatizados e Integrados por Computadora (LPAIC); Instituto Politecnico Nacional: Mexico City, Mexico, 2010. [Google Scholar]
  48. Torres-Muñoz, D.; Hernandez-Martinez, L.; Vazquez-Leal, H. Spherical continuation algorithm with spheres of variable radius to trace homotopy curves. Int. J. Appl. Comput. Math. 2016, 2, 421–433. [Google Scholar] [CrossRef] [Green Version]
  49. Vazquez-Leal, H.; Jimenez-Fernandez, V.; Benhammouda, B.; Filobello-Nino, U.; Sarmiento-Reyes, A.; Ramirez-Pinero, A.; Marin-Hernandez, A.; Huerta-Chua, J. Modified hyperspheres algorithm to trace homotopy curves of non-linear circuits composed by piecewise linear modelled devices. Sci. World J. 2014, 2014, 938598. [Google Scholar] [CrossRef] [PubMed]
Figure 1. Refinement approach for autonomous robotic manipulators.
Figure 1. Refinement approach for autonomous robotic manipulators.
Sensors 22 04022 g001
Figure 2. Path obtained with the EHPPM for a mobile robot.
Figure 2. Path obtained with the EHPPM for a mobile robot.
Sensors 22 04022 g002
Figure 3. Representation of a hypersphere on the homotopic curve γ .
Figure 3. Representation of a hypersphere on the homotopic curve γ .
Sensors 22 04022 g003
Figure 4. Representation of the predictor–corrector algorithm.
Figure 4. Representation of the predictor–corrector algorithm.
Sensors 22 04022 g004
Figure 5. Representation of a two-link planar robot arm.
Figure 5. Representation of a two-link planar robot arm.
Sensors 22 04022 g005
Figure 6. Singular projections of a two-link planar robot arm with two obstacles.
Figure 6. Singular projections of a two-link planar robot arm with two obstacles.
Sensors 22 04022 g006
Figure 7. Workspace to C-space of a two-link planar robot arm with a circular obstacle. (a) Two-link planar robot workspace. (b) C-space representation of the two-link planar robot workspace.
Figure 7. Workspace to C-space of a two-link planar robot arm with a circular obstacle. (a) Two-link planar robot workspace. (b) C-space representation of the two-link planar robot workspace.
Sensors 22 04022 g007
Figure 8. HPPM-PRA method flowchart.
Figure 8. HPPM-PRA method flowchart.
Sensors 22 04022 g008
Figure 9. Workspace of a planar robot arm with three links and two circular obstacles.
Figure 9. Workspace of a planar robot arm with three links and two circular obstacles.
Sensors 22 04022 g009
Figure 10. Sequence of images that describe the collision-free path of Case Study 1.
Figure 10. Sequence of images that describe the collision-free path of Case Study 1.
Sensors 22 04022 g010
Figure 11. Joint angles motion of Case Study 1.
Figure 11. Joint angles motion of Case Study 1.
Sensors 22 04022 g011
Figure 12. Change of joint angle motion of Case Study 1.
Figure 12. Change of joint angle motion of Case Study 1.
Sensors 22 04022 g012
Figure 13. Representation of a safeguard radius ( r t ) of an obstacle in a workspace with a robotic arm.
Figure 13. Representation of a safeguard radius ( r t ) of an obstacle in a workspace with a robotic arm.
Sensors 22 04022 g013
Figure 14. Case Study 2 shows a planar robotic arm with six links and a gripper, two ellipsoidal obstacles, and a circular obstacle.
Figure 14. Case Study 2 shows a planar robotic arm with six links and a gripper, two ellipsoidal obstacles, and a circular obstacle.
Sensors 22 04022 g014
Figure 15. Movement of a six-link planar robot arm with a gripper, obstacles, and a circular object to grip.
Figure 15. Movement of a six-link planar robot arm with a gripper, obstacles, and a circular object to grip.
Sensors 22 04022 g015
Figure 16. Joint angle motion for Case Study 2.
Figure 16. Joint angle motion for Case Study 2.
Sensors 22 04022 g016
Figure 17. Change of joint angle motion of Case Study 2.
Figure 17. Change of joint angle motion of Case Study 2.
Sensors 22 04022 g017
Figure 18. Workspace of a planar robotic arm with twenty link, five ellipsoidal obstacles, and one circular obstacle.
Figure 18. Workspace of a planar robotic arm with twenty link, five ellipsoidal obstacles, and one circular obstacle.
Sensors 22 04022 g018
Figure 19. The sequence of images that describe the collision-free path of Case Study 3.
Figure 19. The sequence of images that describe the collision-free path of Case Study 3.
Sensors 22 04022 g019
Figure 20. Joint w-angle motion for Case Study 3.
Figure 20. Joint w-angle motion for Case Study 3.
Sensors 22 04022 g020
Figure 21. Change of joint angle motion of Case Study 3.
Figure 21. Change of joint angle motion of Case Study 3.
Sensors 22 04022 g021
Figure 22. Path planning for the CRS CataLyst-5 robot. (a) Robot arm simulation. (b) Configuration of the CRS CataLyst-5 robot arm.
Figure 22. Path planning for the CRS CataLyst-5 robot. (a) Robot arm simulation. (b) Configuration of the CRS CataLyst-5 robot arm.
Sensors 22 04022 g022
Figure 23. Sequence of images that describe the movement of the CRS CataLyst-5 robot avoiding two obstacles.
Figure 23. Sequence of images that describe the movement of the CRS CataLyst-5 robot avoiding two obstacles.
Sensors 22 04022 g023
Table 1. Parameters of Case Study 1.
Table 1. Parameters of Case Study 1.
ObstacleType of
Obstacle
x c y c r c P
C 1 Circular2.42.50.58 0.1
C 2 Circular1.63.50.580.1
Link length L 1 = 5 , L 2 = 2 , L 3 = 0.5
Constants of
auxiliary equations
l 1 : ( a 0 = 5.03 , a 1 = 1 , a 2 = 3 , a 3 = 2 ) ,
l 2 : ( a 0 = 3.46 , a 1 = 1 , a 2 = 1 , a 3 = 4 ) ,
l 3 : ( a 0 = 0.32 , a 1 = 1 , a 2 = 1 , a 3 = 2 )
Initial state of the
robot arm links
L 1 : { ( 0 , 0 ) , ( 2 , 1 ) } , L 2 : { ( 2 , 1 ) , ( 3 , 0 ) } , L 3 : { ( 3 , 0 ) , ( 3.5 , 0.5 ) }
Final state of the
robot arm links
L 1 : { ( 0 , 0 ) , ( 1 , 2 ) } , L 2 : { ( 1 , 2 ) , ( 2 , 3 ) } , L 3 : { ( 2 , 3 ) , ( 2.5 , 3.5 ) }
Table 2. Parameters of Case Study 2.
Table 2. Parameters of Case Study 2.
ObstacleType of Obstacle x c y c r c α c β c P
C 1 Circular4.06.50.2-- 0.0002
E 1 Ellipsoid4.55.5-15.00.05 0.8
E 2 Ellipsoid4.57.5-15.00.050.8
Link length L 1 6 = 2 , L g r i p p e r = 0.5
Constants of
auxiliary equations
l 1 : ( a 0 = 13.05 , a 1 = 1 , a 2 = 1 , a 3 = 2 , a 4 = 3 , a 5 = 4 , a 6 = 5 ,
a 7 = 5 , a 8 = 4 ) ,
l 2 : ( a 0 = 6.26 , a 1 = 1 , a 2 = 1 , a 3 = 2 , a 4 = 3 , a 5 = 4 , a 6 = 5 ,
a 7 = 5 , a 8 = 4 ) ,
l 3 : ( a 0 = 9.19 , a 1 = 1 , a 2 = 1 , a 3 = 2 , a 4 = 3 , a 5 = 4 , a 6 = 5 ,
a 7 = 5 , a 8 = 4 ) ,
l 4 : ( a 0 = 5.73 , a 1 = 1 , a 2 = 3 , a 3 = 2 , a 4 = 3 , a 5 = 1 , a 6 = 3 ,
a 7 = 7 , a 8 = 3 ) ,
l 5 : ( a 0 = 21.87 , a 1 = 1 , a 2 = 7 , a 3 = 2 , a 4 = 3 , a 5 = 6 , a 6 = 7 ,
a 7 = 8 , a 8 = 1 ) ,
l 6 : ( a 0 = 0.00 , a 1 = 1 , a 2 = 1 , a 3 = 7 , a 4 = 7 , a 5 = 4 , a 6 = 3 ,
a 7 = 1 , a 8 = 4 ) ,
l 7 : ( a 0 = 13.88 , a 1 = 1 , a 2 = 8 , a 3 = 4 , a 4 = 3 , a 5 = 3 , a 6 = 6 ,
a 7 = 6 , a 8 = 8 ) ,
l 8 : ( a 0 = 20.24 , a 1 = 1 , a 2 = 10 , a 3 = 1 , a 4 = 3 , a 5 = 4 , a 6 = 10 ,
a 7 = 6 , a 8 = 8 )
Initial state of the
robot arm links
L 1 : { ( 0 , 0 ) , ( 1 , 1 ) } , L 2 : { ( 1 , 1 ) , ( 2 , 2 ) } , L 3 : { ( 2 , 2 ) , ( 3 , 3 ) } ,
L 4 : { ( 3 , 3 ) , ( 4 , 2 ) } , L 5 : { ( 4 , 2 ) , ( 5 , 1 ) } , L 6 : { ( 5 , 1 ) , ( 6 , 0 ) } ,
L 7 : { ( 6 , 0 ) , ( 6.5 , 0.5 ) } , L 8 : { ( 6 , 0 ) , ( 6.5 , 0.5 ) }
Final state of the
robot arm links
L 1 : { ( 0 , 0 ) , ( 0 , 2 ) } , L 2 : { ( 0 , 2 ) , ( 0 , 2 2 ) } ,
L 3 : { ( 0 , 2 2 ) , ( 0 , 3 2 ) } , L 4 : { ( 0 , 3 2 ) , ( 1 , 5.24 ) } ,
L 5 : { ( 1 , 5.24 ) , ( 2 , 6.24 ) } , L 6 : { ( 2 , 6.24 ) , ( 3.39 , 6.5 ) } ,
L 7 : { ( 3.39 , 6.5 ) , ( 4.05 , 6.75 ) } , L 8 : { ( 3.39 , 6.5 ) , ( 4.05 , 6.25 ) }
Table 3. Parameters of Case Study 3.
Table 3. Parameters of Case Study 3.
ObstacleType of
Obstacle
x c y c r c α c β c P
C 1 Circular6.844.750.15--0.0000001
C 2 Circular 3.0 8.00.5-- 1.2
E 1 Ellipsoid4.57.5-300.00.01450.0
E 2 Ellipsoid4.55.9-0.0215.060.0
E 3 Ellipsoid8.52.1-0.0215.0 0.0001
E 4 Ellipsoid4.50.5-300.00.0110.0
E 5 Ellipsoid0.51.7-0.028.0 63.0
Link length L 1 20 = 0.5
Constants of
auxiliary equations
l 1 : ( a 0 = 42.41 , a 1 = 1 , a 2 = 1 , a 3 = 2 , a 4 = 3 , a 5 = 4 , a 6 = 5 ,
a 7 = 5 , a 8 = 4 , a 9 = 3 , a 10 = 2 , a 11 = 1 , a 12 = 5 , a 13 = 4 ,
a 14 = 3 , a 15 = 2 , a 16 = 1 , a 17 = 1 , a 18 = 2 , a 19 = 3 ,
a 20 = 4 ) ,
.
.
.,
l 20 : ( a 0 = 18.84 , a 1 = 1 , a 2 = 1 , a 3 = 9 , a 4 = 7 , a 5 = 2 , a 6 = 1 ,
a 7 = 5 , a 8 = 4 , a 9 = 3 , a 10 = 6 , a 11 = 1 , a 12 = 5 , a 13 = 3 ,
a 14 = 6 , a 15 = 8 , a 16 = 1 , a 17 = 10 , a 18 = 2 , a 19 = 3 , a 20 = 8 )
Initial state of the
robot arm links
L 1 : ( 0.5 , 0.5 ) , L 2 : ( 1 , 1 ) , L 3 : ( 1.5 , 1.5 ) , L 4 : ( 2 , 2 ) ,
L 5 : ( 2.5 , 2.5 ) , L 6 : ( 3 , 3 ) , L 7 : ( 3.5 , 3.5 ) , L 8 : ( 4 , 4 ) ,
L 9 : ( 4.5 , 4.5 ) , L 10 : ( 5 , 5 ) , L 11 : ( 5.5 , 5.5 ) , L 12 : ( 6 , 6 ) ,
L 13 : ( 6.5 , 6.5 ) , L 14 : ( 7 , 7 ) , L 15 : ( 7.5 , 7.5 ) , L 16 : ( 8 , 8 ) ,
L 17 : ( 8.5 , 8.5 ) , L 18 : ( 9 , 9 ) , L 19 : ( 9.5 , 9.5 ) , L 20 : ( 10 , 10 )
Final state of the
robot arm links
L 1 : ( 0 , 2 ) , L 2 : ( 0 , 2 2 ) , L 3 : ( 0 , 3 2 ) , L 4 : ( 0 , 4 2 ) , L 5 : ( 0 , 5 2 ) ,
L 6 : ( 0 , 6 2 ) , L 7 : ( 0.5 , 4.74 ) , L 8 : ( 1.2 , 4.74 ) , L 9 : ( 1.91 , 4.74 ) ,
L 10 : ( 2.62 , 4.74 ) , L 11 : ( 3.12 , 4.24 ) , L 12 : ( 3.62 , 3.74 ) , L 13 : ( 4.12 , 3.24 ) ,
L 14 : ( 4.82 , 3.24 ) , L 15 : ( 5.32 , 3.74 ) , L 16 : ( 5.82 , 4.24 ) , L 17 : ( 6.32 , 4.74 ) ,
L 18 : ( 6.82 , 5.24 ) , L 19 : ( 7.32 , 4.74 ) , L 20 : ( 6.82 , 4.24 )
Table 4. Results obtained in the three case studies carried out.
Table 4. Results obtained in the three case studies carried out.
Study
Case
TimeMemoryHyperspheresHypersphere
Radius
Number
of Links
Circular
Obstacle
Ellipsoid
Obstacle
13.3 ms1.404 KB1460.0232-
261.1 ms4.308 KB3230.02812
32.71 s18.272 KB10120.022025
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Velez-Lopez, G.C.; Vazquez-Leal, H.; Hernandez-Martinez, L.; Sarmiento-Reyes, A.; Diaz-Arango, G.; Huerta-Chua, J.; Rico-Aniles, H.D.; Jimenez-Fernandez, V.M. A Novel Collision-Free Homotopy Path Planning for Planar Robotic Arms. Sensors 2022, 22, 4022. https://doi.org/10.3390/s22114022

AMA Style

Velez-Lopez GC, Vazquez-Leal H, Hernandez-Martinez L, Sarmiento-Reyes A, Diaz-Arango G, Huerta-Chua J, Rico-Aniles HD, Jimenez-Fernandez VM. A Novel Collision-Free Homotopy Path Planning for Planar Robotic Arms. Sensors. 2022; 22(11):4022. https://doi.org/10.3390/s22114022

Chicago/Turabian Style

Velez-Lopez, Gerardo C., Hector Vazquez-Leal, Luis Hernandez-Martinez, Arturo Sarmiento-Reyes, Gerardo Diaz-Arango, Jesus Huerta-Chua, Hector D. Rico-Aniles, and Victor M. Jimenez-Fernandez. 2022. "A Novel Collision-Free Homotopy Path Planning for Planar Robotic Arms" Sensors 22, no. 11: 4022. https://doi.org/10.3390/s22114022

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