Next Article in Journal
Thermodynamics of Soil Microbial Metabolism: Applications and Functions
Next Article in Special Issue
Universal Approach to Solution of Optimization Problems by Symbolic Regression
Previous Article in Journal
Investigation of Stray Radiation Suppression in Infrared Imaging System Using a Novel Broadband and High-Absorption Ceramic Coating
Previous Article in Special Issue
Bit Streaming Processing Algorithms for Intelligent Hardware Converters
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Determination of Workspaces and Intersections of Robot Links in a Multi-Robotic System for Trajectory Planning

1
Department of Electrical Engineering, Indian Institute of Technology at Kanpur, Kanpur 208016, India
2
Research Institute of Robotics and Control Systems, Belgorod State Technological University Named after V.G. Shukhov, 308012 Belgorod, Russia
*
Author to whom correspondence should be addressed.
Appl. Sci. 2021, 11(11), 4961; https://doi.org/10.3390/app11114961
Submission received: 1 May 2021 / Revised: 20 May 2021 / Accepted: 22 May 2021 / Published: 28 May 2021
(This article belongs to the Special Issue 14th International Conference on Intelligent Systems (INTELS’20))

Abstract

:
One of the problems in the development of multi-robotic systems is the safe navigation of a group of robots. To solve it, the restrictions imposed by the structural elements of its agents are determined. The article presents a multi-robotic system consisting of parallel and serial robots installed on mobile platforms. The parallel robot is made based on a tripod with the ability to rotate the robot’s base relative to the horizontal axis. The analysis of its working and technological area is carried out, taking into account singularity zones. The developed algorithms for determining the workspaces are based on deterministic methods for approximating the set of solutions to systems of nonlinear inequalities. In this case, restrictions in spaces of different coordinates are presented in the form of n-dimensional boxes. Approaches to solving two problems are proposed to determine the possible intersection of links for the collaborative performance of tasks by a multi-robotic system. The first task is to determine the intersection of the links for the given positions and the relative position of the manipulators. The second is in determining the minimum distance between the technological areas of manipulators, which consist of the workspace and all possible positions of the intermediate links.

1. Introduction

Currently, an important and relevant area for solving many practical problems is multi-robotic systems. These systems have found applications in broad areas, including military surveillance, reconnaissance, rescue operations, warehousing, air traffic control, cluster telescopes, satellite formations in search and rescue operations, and the formation of autonomous unmanned aerial vehicles (UAVs). A multi-robotic multi-agent system can be described as a group of intelligent robots (agents) capable of interacting with each other and jointly to implement various tasks [1]. Interest in the problem of coordinating the movement of a large number of mobile autonomous vehicles through distributed control has raised several questions about the formation, maintenance, and modification, in real time, of vehicles of all types and has been investigated by many scientists. So, in some particular work [2], the distributed structural stabilization of the formations of a set of vehicles is considered using the structural potential functions obtained from the graphs of the formation of vehicles. In [3], an artificial potential function (APF) approach for reservoir control was considered. The formulation of the coordination problem and the presentation of feedback laws for solving problems with local information are discussed in [4]. If there is a communication channel between two group members, then both members gain access to each other’s information. This bi-directional communication leads to the creation of a special interconnection structure. Using this structure, a design method has been developed that achieves passivity and, therefore, stability of an interconnected system. There are several approaches to solving the formation control problem, such as behavior-based control [5], virtual structure-based control [6], and follower–leader control [7]. In [8], rigid and consistent education constraints are considered that can be modeled using directed graphs. One can also highlight the work on the formation of a circular structure. So, in [9], the control of the formation of a circular structure and the corresponding control law for its achievement are presented.
Safe navigation of a group of robots and the determination of the workspace of each of the robots are important tasks when building a control system for a multi-robotic system. To solve these problems, it is required to determine the constraints imposed by the structural elements of its agents. To exclude collisions between agents and external objects, it is necessary to determine the boundaries of the technological space of robots during movement, taking into account the geometric parameters and configuration of robots. Many scientists have proposed methods for constructing the workspace of robots [10,11,12]. A simple depiction of constraints was considered in [13] for a planar 3-RPR mechanism. The study of interval analysis as an effective tool for approximating the workspace is shown in [14,15,16]. Algorithms based on deterministic methods for approximating the set of solutions to systems of nonlinear inequalities can be effectively used to determine the workspace. The use of deterministic optimization algorithms based on the concept of nonuniform coverings [17] to determine the workspace of parallel robots is presented in [18,19]. Let us consider applying an approach based on the concept of nonuniform coverings to determine the working and technological areas of robots that are part of a multi-robotic system and then identify the positions at which a collision of robots is possible.
The paper is organized as follows—Section 2 presents a conceptual model of a multi-robotic system. The kinematic relationships of the parallel manipulator are presented in Section 3. The developed approach to determining the intersections of links is considered in Section 4. An algorithm is described for implementing the developed approaches to determining the workspace, taking into account the interference of links in Section 5. Section 6 shows the results of simulation of the workspace and technological space of the parallel manipulator, taking into account the rotation of the movable platform. Section 7 considers the determination of the workspace and technological space of the serial manipulator. Two problems were solved relating to the interference of manipulator links as part of a multi-robotic system in Section 8. The first problem is solved for the given positions of each of the manipulators, and the second is taking into account all the achievable positions of the manipulators using the technological spaces defined in the previous sections. A discussion on the results is provided in Section 9.

2. Formulation of the Problem

Consider a multi-robotic system with a heterogeneous structure that consists of parallel and serial robots installed on mobile platforms (Figure 1). A planar serial robot (Figure 1a) contains a horizontal base 1, which is pivotally connected at point A with a serial manipulator 2 with rotary joints having a gripper at the end. The parallel robot (Figure 1b) is made in the form of a tripod with the ability to rotate the base relative to the horizontal axis. It contains a movable horizontal base 4, which is pivotally connected to the vertical base 5 with the possibility of its deviation from the vertical. The vertical base 5 has a drive 6. On the vertical base 5, a tripod 7 is installed. The end effector 8 is hingedly mounted on the working platform 9 of tripod 7 with the possibility of rotation about an axis perpendicular to the working platform 9 of the tripod. On the platform of the tripod, a drive 10 is installed, which ensures the rotation of the end effector 8. The grip 11 is fixed at the free end of the end effector 8.
Each of the robots must reach the required position of end-effectors in the process of performing the required operations. However, the location of the mobile platforms and the trajectory of the end-effector to achieve this position may be different. However, we should choose such an arrangement of platforms and trajectories that exclude collisions between manipulators and external objects. Further, the paper will consider the proposed approaches to the determination of robot links interference and technological workspaces of robots taking into account the intersection checking in a multi-robotic system for trajectory planning.

3. Parallel Manipulator Mathematical Model

Let us consider the scheme of a parallel manipulator based on a tripod (Figure 2). The tripod includes three rods of variable length l 1 ,   l 2 ,   l 3 , which are connected by rotary joints D 1 ,     D 2 ,     D 3 to the base and spherical joints E 1 ,   E 2 ,   E 3 to the working platform. The base and work platform are equilateral triangles. When changing the lengths of the rods, the working platform moves along the Z 1 axis at a distance z 1 , and rotates around the X 1 axis at an angle ψ and around Y 1 at an angle θ . In addition, there are additional degrees of freedom—displacement along the X 1 axes at a distance x 1 and along Y 1 at a distance y 1 and rotation relative to Z 1 by an angle α , which are determined by the formulas [20].
α = T a n 1 sin ψ sin θ cos ψ + cos θ
x 1 = r 2 cos θ cos α + sin ψ sin θ sin α cos ψ cos α
y 1 = r cos ψ sin α
The input coordinates are the lengths of the drive links l 1 , l 2 , l 3 , the output coordinates are the coordinates of the point O of the end effector: x O ,   y O ,   z O . Point O is located at a distance h from the center of the movable platform. To determine the workspace, it is necessary to first determine the set of permissible values of the linear and angular coordinates of the center O of the movable platform, and then, for these values, determine the set of coordinates O of the end effector. Coordinates O in the moving coordinate system, X 2 ,   Y 2 ,   Z 2 ,
O 2 = 0 0 h 1 T .
Calculate the coordinates of point O in the coordinate system X 1 Y 1 Z 1 ,
O 1 = M 2 _ 1 O 2 ,
where M 2 _ 1 is the transition matrix from the moving coordinate system X 2 Y 2 Z 2 to the fixed system X 1 Y 1 Z 1 which includes matrices of displacements and rotations along the X 1 ,   Y 1 ,   Z 1 ,
M 2 _ 1 = cos θ cos α + sin ψ sin θ sin α cos θ sin α + sin ψ sin θ cos α cos ψ sin α cos ψ cos α sin θ cos ψ x 1 sin ψ y 1 sin θ cos α + sin ψ cos θ sin α sin θ sin α + sin ψ cos θ cos α 0 0 cos θ cos ψ z 1 0 1
After transformation taking into account (4)–(6), we get,
O 1 = x 1 + sin θ cos ψ h y 1 sin ψ h z 1 + cos θ cos ψ h 1
Let us introduce restrictions on the geometric parameters of the mechanism,
l i l max 0 l min l i 0
where l min ,   l max are determined by the design parameters of the mechanism; l i is the length of the i-th rod, which is defined as,
l i = x E i x D i 2 + y E i y D i 2 + z E i z D i 2 ,
where x E i ,   y E i ,   z E i —coordinates of the centers of the joints, point E i ; x D i ,   y D i ,   z D i —coordinates of the centers of the joints, point D i in a fixed coordinate system.
We define the coordinates of the joints E i in the moving coordinate system X 2 Y 2 Z 2   E 1 2 = r 0 0 1 T , E 2 2 = 0.5 r 0.5 3 r 0 1 T , E 3 2 = 0.5 r 0.5 3 r 0 1 T .
We denote in (6) M 11 = cos θ cos α + sin ψ sin θ sin α ; M 12 = cos θ sin α + sin ψ sin θ cos α ; M 13 = sin θ cos ψ ; M 21 = cos ψ sin α ; M 22 = cos ψ cos α ; M 23 = sin ψ ; M 31 = sin θ cos α + sin ψ cos θ sin φ ; M 32 = sin θ sin α + sin ψ cos θ cos α ; M 33 = cos θ cos ψ .
Let us express the coordinates of the joints E i in the moving coordinate system X 1 Y 1 Z 1
E 1 1 = M 2 _ 1 E 1 2 = x 1 + M 11 r y 1 + M 21 r z 1 + M 31 r 1 T   = x 1 + M 11 r 0 z 1 + M 31 r 1 T ,  
E 2 1 = M 2 _ 1 E 2 2 = x 1 0.5 r M 11 3 M 12 y 1 0.5 r M 21 3 M 22 z 1 0.5 r M 31 3 M 32 1 T ,
E 3 1 = M 2 _ 1 E 3 2 = x 1 0.5 r M 11 + 3 M 12 y 1 0.5 r M 21 + 3 M 22 z 1 0.5 r M 31 + 3 M 32 1 T  
Determine the coordinates of the joints D_i in the moving coordinate system X 1 Y 1 Z 1 :
D 1 1 = R 0 0 1 T ,   D 2 1 = 0.5 R 0.5 3 R 0 1 T ,   D 3 1 = 0.5 R 0.5 3 R 0 1 T .  
Substituting (10)–(13) into (9), we obtain,
l 1 = x 1 + M 11 r R 2 + z 1 + M 31 r 2 ,
l 2 = x 1 0.5 r M 11 3 M 12 + 0.5 R 2 + y 1 0.5 r M 21 3 M 22 3 2 R 2 + z 1 0.5 r M 31 3 M 32 2 1 2
l 3 = x 1 0.5 r M 11 + 3 M 12 + 0.5 R 2 + y 1 0.5 r M 21 + 3 M 22 3 2 R 2 + z 1 0.5 r M 31 + 3 M 32 2 1 2
Similarly, we calculate the coordinates of the point O in the fixed coordinate system X 0 Y 0 Z 0 :
O 0 = M 1 _ 0 O 1 ,  
where M 1 _ 0 is the transition matrix from the moving coordinate system X 1 Y 1 Z 1 to the fixed system X 0 Y 0 Z 0 , which includes matrices of displacement along the X 0 and Y 0   axes and rotation around the Y 0 axis,
M 1 _ 0 = cos φ 0 0 1 sin φ x 0 cos φ 0 y 0 sin φ 0 0 0 cos φ sin φ x 0 0 1
After transformation, taking into account (7), (17) and (18), we obtain,
O 0 = cos φ x 1 + x 0 + sin θ cos ψ h sin φ z 1 + cos θ cos ψ h y 1 sin ψ h + y 0 cos φ z 1 + cos θ cos ψ h + sin φ x 1 + x 0 + sin θ cos ψ h 1
The coordinates of the joints D i and E i in the fixed coordinate system X 0 Y 0 Z 0   are defined as:
D 1 0 = M 1 _ 0 D 1 1 = cos φ R + x 0 0 sin φ R + x 0 1 T ,
D 2 0 = M 1 _ 0 D 2 1 = cos φ x 0 0.5 R 0.5 3 R sin φ x 0 0.5 R 1 T
D 3 0 = M 1 _ 0 D 3 1 = cos φ x 0 0.5 R 0.5 3 R sin φ x 0 0.5 R 1 T
E 1 0 = M 1 _ 0 E 1 1 = cos φ x 1 + M 11 r + x 0 sin φ z 1 + M 31 r 0 sin φ x 1 + M 11 r + x 0 + cos φ z 1 + M 31 r 1 ,
E 2 0 = M 1 _ 0 E 2 1 = cos φ x 1 0.5 r M 11 3 M 12 + x 0 sin φ z 1 0.5 r M 31 3 M 32 y 1 0.5 r M 21 3 M 22 sin φ x 1 0.5 r M 11 3 M 12 + x 0 + cos φ z 1 0.5 r M 31 3 M 32 1 ,  
E 3 0 = M 1 _ 0 E 3 1 = cos φ x 1 0.5 r M 11 + 3 M 12 + x 0 sin φ z 1 0.5 r M 31 + 3 M 32 y 1 0.5 r M 21 + 3 M 22 sin φ x 1 0.5 r M 11 + 3 M 12 + x 0 + cos φ z 1 0.5 r M 31 + 3 M 32 1 .
We calculate the integers corresponding to the coordinates of the point O to describe the form of a partially ordered set of integers,
x O Z = x O δ , x O ,   x O Z   y O Z = y O δ , y O ,   y O Z   z O Z = z O δ , z O ,   z O Z   ,
where δ is the approximation accuracy.
In addition to restrictions on the permissible ranges of drive lengths, it is necessary to exclude the mechanism from falling into singularity zones in which the control of the mechanism is lost. We use the method proposed by C. Gosselin [21], which is based on the analysis of the Jacobi matrix of the mechanism obtained by differentiating the constraint equations and describing the transition from generalized velocities in driving kinematic pairs to angular or linear velocities of the end effector. According to Gosselin’s classification [21], the tripod is characterized by singularities of only the second type, for which the Jacobi matrix is equal to zero.
The determinant of the Jacobi matrix has the form,
det J A = F 1 z F 1 ψ F 1 θ F 2 z F 2 ψ F 2 θ F 3 z F 3 ψ F 3 θ ,
where F i corresponds to the bar length Formulas (14)–(16).
Because of the cumbersomeness of the formulas for each of the elements of the determinant, we present only one of them,
F 1 z = z r S b C a + C b C b S b S a 2 C a + C b S a 2 S b 2 C a + C b 2 + 1 ( ( r C b C a + C b + S a 2 S b 2 C a + C b S a 2 S b 2 C a + C b 2 + 1 R + r C b C a cos 2 tan 1 S a S b C a + C b 2 ) 2 + z r S b C a + C b C b S b S a 2 C a + C b S a 2 S b 2 C a + C b 2 + 1 2 ) 2
where Ca = cos( θ ); C a = cos θ ,   C b = cos ψ ,   S a = sin θ ,   S b = sin ψ . Let us write down the condition for the occurrence of singularity zones,
det J A = 0
Getting into a singularity zone in which condition (28) is satisfied occurs when the sign of the determinant of the Jacobi matrix is changed, therefore, it is necessary to add the condition of its constancy of sign.
The given constraints make it possible to determine constraints in the space of coordinates z 1 , θ , ψ , under which we calculate the set of positions of the end effector according to (7), (19), (25). It should be noted that these restrictions do not allow us to exclude the intersection of the links of the mechanism.

4. Determination of Link Intersections

The intersections of the links of the mechanism can be divided into two groups:
-
Intersections at small angles between links connected by rotary joints; and
-
The intersection of links that are not connected.
The first group can be defined, taking into account the restrictions on the angles of rotation in the joints E i :
β i j β m i n ; β m a x ,   i 1 , 2 , 3 ,   j 1 , 2 , 3 ,  
where i is the index of the joint E , j is the index for one of the three corners of the joint E i .
Define the angles β 1 j
β 1 1 = cos 1 x D 1 x E 1 x E 2 x E 1 + y D 1 y E 1 y E 2 y E 1 + z D 1 z E 1 z E 2 z E 1 3 R l 1 ,   β 1 1 0 ; π
β 1 2 = cos 1 x D 1 x E 1 x 1 x E 1 + y D 1 y E 1 y 1 y E 1 + z D 1 z E 1 z 1 z E 1 R l 1 ,   β 1 2 0 ; π
β 1 3 = cos 1 x D 1 x E 1 x E 3 x E 1 + y D 1 y E 1 y E 3 y E 1 + z D 1 z E 1 z E 3 z E 1 3 R l 1 ,   β 1 3 0 ; π
We define the second group of intersections using an approach based on determining the minimum distance between the segments drawn between the centers of the joints of each of the links. In [22], a similar condition is used, but the approach has drawbacks. In particular, the authors propose determining the intersections of the segments on the auxiliary plane, not the distance between the nearest points. This does not allow for identifying such an intersection of links in which there is no intersection of the axes.
The approach proposed in the current work is as follows. Let us imagine the links in the form of a spherocylinder. Let A 1 A 2 и A 3 A 4   be the segments connecting the centers of the joints of the links (Figure 3).
In this case, we write the first condition for the absence of intersections as:
D l i n k < x 2 + y 2 + z 2 ,  
where D l i n k   is the diameter of the links, x ,   y ,   z   is the distance between the nearest points of the segments along each of the axes and are defined as:
x = m i n i 1 , 2 x A i m a x j 3 , 4 x A j   i f   m i n i 1 , 2 x A i > m a x i 1 , 2 x A i , m i n i 3 , 4 x A j m a x i 1 , 2 x A i   i f   m i n i 3 , 4 x A j > m a x i 1 , 2 x A i , 0     i f   m i n i 1 , 2 x A i ; m a x i 1 , 2 x A i m i n i 3 , 4 x A j ; m a x j 3 , 4 x A j .
The values y and z are defined similarly.
There is no intersection of the links when the minimum distance u between the segments A 1 A 2 and A 3 A 4   is greater than the diameter of the links D l i n k :
D l i n k > u
Consider two cases of relative position of links.
Case 1. The links are parallel in the case when the condition is fulfilled:
x A 2 x A 1 x A 4 x A 3 = y A 2 y A 1 y A 4 y A 3 = z A 2 z A 1 z A 4 z A 3
Determine the minimum distance between the segments by rotating the segments relative to the point A 1   so that they become perpendicular to the YOZ plane. Let us denote for points A 2 ,     A 3   and A 4   the obtained coordinates of points after rotation as A 12 ,   A 13   and A 14 , respectively. Taking into account the rotation of the segments to the perpendicular position to the YOZ plane, the coordinates of the points A 12 ,   A 13   and A 14   are calculated as:
x A 1 i = x A 1 + c i a x A i x A 1 + s i a s i b y A i y A 1 + c i b z A i z A 1 ,
y A 1 i = y A 1 + c i b y A i y A 1 s i b z A i z A 1 ,  
z A 1 i = z A 1 s i a x A i x A 1 + c i a s i b y A i y A 1 + c i b z A i z A 1 ,
where s i a = sin tan 1 s b y A i y A 1 + c b z A i z A 1 x A i x A 1 , c i a = cos tan 1 s b y A i y A 1 + c b z A i z A 1 x A i x A 1 , s i b = sin tan 1 y A i y A 1 z A i z A 1 , c i b = cos tan 1 y A i y A 1 z A i z A 1 ,   i 2 ,   3 ,   4 . In this case, y A 12 = y A 1 ,   z A 12 = z A 1 , y A 13 = y A 14 , z A 13 = z A 14 .
The distance between the segments is determined as:
u = u 1 2 + u 2 2 ,  
where u 1 is the distance between the segments A 1 A 12   and A 13 A 14   in the projection onto the YOZ plane, u 2   is the distance between the nearest points of the segments along the X axis. They are defined as:
u 1 = y A 13 y A 1 2 + z A 13 z A 1 2
u 2 = min i 1 , 12 x A i max j 13 , 14 x A j   if   min i 1 , 12 x A i > max i 1 , 12 x A i , min i 13 , 14 x A j max i 1 , 12 x A i   if   min i 13 , 14 x A j > max i 1 , 12 x A i , 0     if   min i 1 , 12 x A i ; max i 1 , 12 x A i min i 13 , 14 x A j ; max j 13 , 14 x A j .
Figure 4 shows examples of verification for the first case of intersection of links. Figure 4a shows an example when u 1 > D l i n k , and u 2 = 0 , since the coordinate intervals of the segments along the X axis intersect. In this case, u = u 1 , respectively, u > D l i n k   and there is no intersection. Figure 4b shows an example where u 1 > 0   and u 2 > 0 , while u > D l i n k , so there is no intersection.
Case 2. Condition (36) is not satisfied, that is, the links are not parallel. Let us construct an auxiliary plane in which the segment A 3 A 4   will lie and to which the segment A 1 A 2   will be parallel. In this case, the distance between the segments can be similarly written as:
u = u 1 2 + u 2 2 ,  
where u 1   is the distance between the segment A 1 A 2   and the auxiliary plane, u 2   is the distance between the nearest points of the segments A 3 A 4 and the projection of the segment A 1 A 2   onto the auxiliary plane.
To determine u 1 , we calculate the normal vector:
N = N x N y N z = y A 4 y A 3 z A 2 z A 1 z A 4 z A 3 y A 2 y A 1 z A 4 z A 3 x A 2 x A 1 x A 4 x A 3 z A 2 z A 1 x A 4 x A 3 y A 2 y A 1 y A 4 y A 3 x A 2 x A 1
Determine the distance u 1 using the coefficient k for the length of the normal vector.
u 1 = N x k 2 + N y k 2 + N z k 2 ,  
where k = N x x A 1 x A 3 + N y y A 1 y A 3 + N z z A 1 z A 3 x A 1 N x + y A 1 N y + z A 1 N z .
Let us determine, using the coefficient k , the coordinates of the point A 11   as a result of the projection of the point A 1   onto the auxiliary plane:
x A 11 = x A 1 N x k ,   y A 11 = y A 1 N y k ,   z A 11 = z A 1 N z k .
To define u 2 , rotate the construction plane around point A 11   so that it is parallel to the YOZ plane. After rotating the coordinates of the second point of the segment A 12   and points A 13   and A 14   of the second segment, we define as:
x A 12 = x A 11 + c a x A i x A 1 + s a s b y A i y A 1 + c b z A i z A 1 ,  
y A 12 = y A 11 + c b y A i y A 1 s b z A i z A 1 ,  
z A 12 = z A 11 s a x A i x A 1 + c a s b y A i y A 1 + c b z A i z A 1 ,  
x A 1 i = x A 11 + c a x A i x A 11 + s a s b y A i y A 11 + c b z A i z A 11 ,  
y A 1 i = y A 11 + c b y A i y A 11 s b z A i z A 11 ,  
z A 1 i = z A 11 s a x A i x A 11 + c a s b y A i y A 11 + c b z A i z A 11 ,  
where s a = sin tan 1 s b N y + c b N z N x , c a = cos tan 1 s b N y + c b N z N x , s b = sin tan 1 N y N z , c b = cos tan 1 N y N z , i 3 ,   4 .
As a result, the definition of u 2   is reduced to the problem of calculating the distance between the nearest points of the segments A 11 A 12   and A 13 A 14   on a two-dimensional plane, which consists of checking the intersection of the segments, and then, if there are no intersections, the search for the smallest height dropped from the end of one segment to another. If it is impossible to lower the height, we determine the minimum distance between the extreme points of the segments.
Figure 5 shows examples of verification for the second case of intersection of links. Figure 5a shows an example when u 1 > D l i n k , and u 2 = 0 , since the segments intersect in the projection. In this case, u = u 1 , respectively,   u > D l i n k   and there is no intersection. Figure 5b shows an example where u 1 < D l i n k , but u > D l i n k   and there is no intersection either. In Figure 5c u 1 < D l i n k   and u 2 = 0 , so u < D l i n k and the line segments intersect. In Figure 5d u 2 > 0 , that is, the segments do not intersect in the projection, but u < D l i n k , respectively, the segments intersect.

5. Algorithm Synthesis

Taking into account Formulas (1)–(35), we synthesize an algorithm for approximating the workspace of a parallel manipulator. The left sides of the system of inequalities (8) are coordinate functions in the form g j x , j 1 , , 6 : g 1 = l m i n l 1 , g 2 = l m i n l 2 , g 3 = l m i n l 3 , g 4 = l 1 l m a x , g 5 = l 2 l m a x , g 6 = l 3 l m a x . Let us approximate the set of solutions of system (8) for transferring the constraint of input coordinates according to (7) and (19) into the space of coordinates z 1 , θ , ψ of the moving platform. The approximated set is a covering consisting of n-dimensional boxes. To do this, we will set the initial box B, which is guaranteed to include all possible positions of the movable platform. Let m B = max j = 1 , , 6 min x B g i x and M B = max j = 1 , , 6 max x B g i x . If m B > 0 , then B does not contain possible points for system (8) and is excluded. If M B 0 , then each point of the box B is a solution to the system (8). Based on this, let us add B to the coverage as an inner box. In other cases, the box is divided into two equal boxes along the larger edge, and for each of them, the procedure is repeated until their diameter is less than the specified approximation accuracy δ . After that, the remaining boxes are checked for intersections and singularity zones. Taking this into account, the resulting constraints in the form of a set of boxes are transferred to the coordinate space of the end effector x O Z ,     y O Z ,     z O Z as a partially ordered set of integers. The set has the following structure—the values x O Z , as well as the corresponding values of y O Z , are ordered in ascending order, and the values z O Z corresponding to each of y O Z are ordered in ascending order and consecutive ones are combined into intervals. To transfer the constraints, we divide each of the boxes describing the constraints in the space z 1 , θ , ψ by a uniform mesh along each axis. We calculated for each of the grid nodes the values x O Z ,   y O Z ,     z O Z using (4) and (5). Let us arrange the set of calculated values x O Z ,     y O Z and z O Z .
The synthesized algorithm is implemented in a C ++ program. The sets of boxes are represented as a vector using the vector standard library. A vector consists of elements, the number of which is equal to the number of boxes. Each element consists of 2n numbers, that is, for each of the n dimensions of the box, two numbers describe the beginning and end of the interval. A partially ordered set of integers is similarly represented as a vector, but with a different structure. The vector has a three-level structure. Each of the first level elements includes the corresponding vector of elements of the second level and one number. The number is the x O Z value. Each of the elements of the second level similarly includes the corresponding vector of elements of the third level and number, while the number is the value y O Z . Each of the elements of the third level includes only two numbers describing the beginning and end of the intervals of values z O Z . Let us simulate the workspace of a parallel manipulator using distributed computing to determine m B and M B , implemented using the OpenMP library [23].

6. Simulation Results

We investigate the workspace of the parallel manipulator without considering the rotation of the rotary part of the mobile platform. Consider the change in the workspace and the intersection of the links with restrictions on the angles of rotation of the movable platform E 1 E 2 E 3 . Simulation is performed for l 1 , 2 , 3 [ 300   mm ,   600   mm ] ,   R = 400 mm ,   r = 100 mm, h = 100 mm. Conversion of the obtained sets into an STL file for three-dimensional visualization of the workspace has been implemented. Also, the export for the formation of a 3D model of the manipulator in STL format for the positions at which the intersections of the links occur has been given. The results showed that for the ranges of angles θ 90 ° ; 90 ° and ψ 90 ° ; 90 ° (Figure 6a), there are no intersections of the links. The volume of the workspace was 6.48 × 10 6 m3. Increasing the angle ranges will result in overlaps. At the same time, the volume of the workspace increases slightly. Figure 6b shows the workspace for θ 95 ° ; 95 ° and ψ 95 ° ; 95 ° , and Figure 7 shows some cases of intersections. The volume of the workspace increased insignificantly and amounted to 6.59 × 10 6 m3.
Simulations for other ranges of rod lengths have similarly shown the occurrence of intersections when the range of angles θ and ψ is expanded over ± 90 ° . Based on the results for further research, the above restriction on the angles of rotation of the movable platform of the parallel manipulator was adopted.
To select the sign in the condition of constancy of the determinant of the Jacobi matrix to exclude singularity zones, the workspace was determined both with the condition of positiveness (Figure 8a) of the determinant, and with the condition of negativity (Figure 8b).
Figure 8 shows that the inner part of the workspace corresponds to a negative value of the determinant. Based on this, we add the condition for the negative determinant of the Jacobi matrix to exclude singularities. The volume of the workspace, taking into account singularity zones, was 5.71 × 10 6 m3.
Let us define the workspace of the parallel manipulator, taking into account the rotation of the platform. The range of the angle of the rotary part of the platform φ 0 ° ; 90 ° was selected with a step of 2 ° for simulation. The results are shown in Figure 9a. The volume of the workspace due to the rotation of the platform increased from 5.71 × 10 6 to 62.04 × 10 6 m3. The workspace shows the many achievable end effector positions. However, to avoid collisions of the manipulator with external objects, it is necessary to determine the technological area, that is, the area of possible positions of all intermediate links. So, in addition to the coordinates of the end effector, an iterative discrete determination of the coordinates of points lying on the axes of all links and the moving platform has been added. The discrete step value does not exceed the approximation accuracy. The results in an approximation accuracy of δ = 5 mm, as shown in Figure 9b.

7. Defining the Workspace of a Serial Manipulator

Consider a serial three-link robot (Figure 10). The gripper position is completely determined by the vector of link lengths s = s 1 , , s k and by the vector of angles θ = θ 1 , , θ k between the corresponding links. The task of determining the workspace for this work is considered in other works [24,25]. Here is a brief description of the proposed solution.
The permissible set of angles and lengths of links is a box
X = s 1 ¯ , s 1 ¯ × × s k ¯ , s k ¯ × θ 1 ¯ , θ 1 ¯ × × θ k ¯ , θ k ¯
where s i ¯ , s i ¯ and θ i ¯ , θ i ¯ are given ranges of possible values of the link length s i and angle θ i , respectively.
The workspace of the robot manipulator is the image Y = F X of the admissible set X , where F s , θ = f 1 s , θ , f 2 s , θ is given by formulas
f 1 s , θ = i = 1 k s i · cos j = 1 i θ j
f 2 s , θ = i = 1 k s i · sin j = 1 i θ j
During the operation of the algorithm for determining the workspace of the serial mechanism, a list of points from the set X is maintained such that its image F, which is determined using (54) and (55), contains a finite set of pairwise incomparable points, which after the completion of the algorithm will be an ε-approximation of the boundary of the set Y. An algorithm for constructing an ε-Pareto set with guaranteed accuracy ε is given in [26].
In the current work, the covering set has been transformed into an ordered set of integers, similarly to the transformation of the covering set of a tripod. In this case, the vector has a two-level structure, since the workspace of a serial robot is two-dimensional.
Figure 11a shows the simulation results for the following dimensions s 1 = 400 , s 2 = 265 , s 3 = 35 , ranges of angles: θ 1 π 6 , π 3 ,   θ 2 π 6 , π 3 ,   θ 3 π , π .
The technological area was similarly defined for a serial manipulator. The results are shown in Figure 11b.

8. Determination of Links Interference of a Multi-Robotic System

In the process of collaborative execution of tasks by a multi-robotic system, two problems arise within the framework of determining a possible intersection of links. The first task is to determine the presence of intersections for the given positions of each of the manipulators. Each of the positions can be obtained by discretizing the trajectory while performing the operation, taking into account the time. The second task is to determine the presence of intersections, taking into account all achievable positions of the manipulators for a given relative position of the mobile platforms.
To solve the first problem, we use the approach to determining the intersections of links, described in Section 3. In this case, the intersection of all combinations of manipulator links with each other is checked. The coordinates specify the mutual position of the platforms x s and y s by the angle λ of rotation of the coordinate system of the mobile platform of the serial manipulator relative to the coordinate system of the parallel manipulator. Checking the intersection of the links of the serial manipulator with the rotating platform of the parallel manipulator includes turning relative to the X axis by an angle at which the plane of the turntable coincides with the XOY plane. In this case, checking is reduced to determine the intersections of the links of the serial manipulator with rectangles parallel to the XOY, XOZ and YOZ planes.
Simulation was performed for x s = 100 mm, y s = 100 mm, θ = ψ = 0 ° , z 0 = 500 mm, φ = 78 ° . In the first case, for λ = 110 ° ,   θ 1 = 30 ° ,   θ 2 = 35 ° ,   θ 3 = 20 ° , an intersection was found between the links (Figure 12a), in the second for λ = 110 ° ,   θ 1 = 40 ° ,   θ 2 = 40 ° ,   θ 3 = 10 ° there is no intersection (Figure 12b), in the third, for λ = 60 ° ,   θ 1 = 30 ° ,   θ 2 = 35 ° ,   θ 3 = 20 ° , an intersection occurs between the link of the serial manipulator and the turntable parallel manipulator (Figure 12c). To verify the results, visualization was implemented through automatic generation of a 3D model of a multi-robotic system for given positions (Figure 12). The results of checking the intersections of the manipulators links coincide with the results of checking using the generated 3D model of the multi-robotic system. The algorithm is fast enough to check about 10 6 different positions per second, which makes it possible to check intersections in real time, discretely checking the trajectories of the manipulators.
To solve the second problem, let us determine the minimum distance between the regions. The distance Δ between the centers of the boxes included in the technological areas of the manipulators is determined iteratively. The dimensions of the boxes for each of the measurements are equal to the approximation accuracy δ . Therefore, we take into account the distance from the center of the box to the top of the box, which is 2 δ   2 for each of the two boxes, between the centers of which we determine the distance. Based on this, we write down the condition for the absence of a possible intersection of the links:
Δ > D l i n k + 2 δ
If the condition is not met for any of the combinations of boxes, the iterative check stops.
Simulation was performed for the following relative positions of mechanisms x s = 300 mm, y s = 200 mm, λ = 150 ° (Figure 13a), x s = 200 mm, y s = 200   mm, λ = 100 ° (Figure 13b) and x s = 100 mm, y s = 100 mm, λ = 45 ° (Figure 13c). In the first case, there is no intersection of the links. In the second case, the technological areas do not intersect, however, condition (56), which takes into account the thickness of the links, is not met, and therefore a collision of manipulators is possible. In the third case, there are intersections, which confirms the intersection of technological areas. The time for intersection calculating in the absence of intersections was 14 s. In the case of intersections, the computation time can be significantly lower.

9. Discussion

Thus, the solution of two problems is given within the framework of determining the possible intersection of links for the collaborative performance of tasks by a multi-robotic system. The first problem is solved based on the proposed approach to determine the intersections of the manipulator links. The results were verified using visualization by automatically generating a 3D model of a multi-robotic system for given positions. The implemented algorithm for checking the intersections of links has sufficient performance to check about 10 6 different positions of the manipulators per second, which allows checking in real time, discretely checking the trajectories of the manipulators. The second problem is solved by calculating the distance between the technological areas of manipulators. To determine them, the method of nonuniform coverings was used with the subsequent transformation of the results into a partially ordered set of integers.
The proposed approaches can be applied in various areas of the industry. At the same time, they can be modified, taking into account the specifics of the performed operations, the configuration of the robots, as well as the required distances between the robot and other objects. However, depending on these conditions, it is required to conduct a preliminary analysis of the effectiveness of using the proposed approach in comparison with the use of various sensors, which are often used to avoid collisions.
The proposed approach to solving the second problem can be used both to determine a possible collision of manipulators with each other and to localize a collision with external obstacles. In this case, it is required to determine the minimum distance not between the technology areas, but between the technology area and the area occupied by the obstacle. Authors should also list the limitations of the work. For the first problem, the proposed algorithm implies the use of fairly simple geometry for an approximated description of solid bodies. The algorithm can be modified to use more complex geometry, but this will increase the computational complexity. Another limitation is the need to accurately localize the position of the moving platforms. Otherwise, the value of the safe distance between the manipulators must be increased by the error in determining the position of the movable platforms.
The results obtained can be used to solve the problem of control and planning the trajectory of mobile platforms within the framework of a multi-robotic system.

Author Contributions

Conceptualization, D.M., L.R. and L.B.; methodology, D.M. and L.R.; software, D.M.; validation, D.M., L.R. and E.G.; formal analysis, D.M.; investigation, D.M.; resources, D.M. and L.R.; data curation, L.R. and E.G.; writing—original draft preparation, D.M.; writing—review and editing, L.R. and E.G.; visualization, D.M.; supervision, L.R. and L.B.; project administration, L.R. and L.B.; funding acquisition, L.R. and E.G. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the state assignment of Ministry of Science and Higher Education of the Russian Federation under Grant FZWN-2020-0017.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Ferber, J. Multi-Agent Systems an Introduction to Distributed Artificial Intelligence; Addison-Wesley Reading: Boston, MA, USA, 1999; Volume 1. [Google Scholar]
  2. Eren, T.; Belhumeur, P.N.; Anderson, B.D.; Morse, A.S. A framework for maintaining formations based on rigidity. In Proceedings of the 15th IFAC World Congress, Barcelona, Spain, 21–26 July 2002; pp. 2752–2757. [Google Scholar]
  3. Olfati-Saber, R.; Murray, R.M. Distributed cooperative control of multiple vehicle formations using structural potential functions. IFAC Proc. Vol. 2002, 15, 242–248. [Google Scholar] [CrossRef] [Green Version]
  4. Areak, M. Passivity as a design tool for group coordination. In Proceedings of the IEEE American Control Conference, Minneapolis, MN, USA, 14–16 June 2006; p. 6. [Google Scholar] [CrossRef]
  5. Balch, T.; Arkin, R.C. Behavior-based formation control for multi robot teams. Robotics and Automation. IEEE Trans. 1998, 14, 926–939. [Google Scholar] [CrossRef] [Green Version]
  6. Lewis, M.A.; Tan, K.-H. High precision formation control of mobile robots using virtual structures. Auton. Robot. 1997, 4, 387–403. [Google Scholar] [CrossRef]
  7. Desai, J.P.; Ostrowski, J.; Kumar, V. Controlling formations of multiple mobile robots. In Proceedings of the IEEE International Conference on Robotics and Automation, Leuven, Belgium, 20–20 May 1998; Volume 4, pp. 2864–2869. [Google Scholar]
  8. Sandeep, S.; Fidan, B.; Yu, C. Decentralized cohesive motion control of multi-agent formations. In Proceedings of the 14th Mediterranean Conference on Control and Automation, Ancona, Italy, 28–30 June 2006; pp. 1–6. [Google Scholar] [CrossRef]
  9. Wang, C.; Xie, G.; Cao, M. Forming circle formations of anonymous mobile agents with order preservation. IEEE Trans. Autom. Control 2013, 58, 3248–3254. [Google Scholar] [CrossRef]
  10. Alizade, R.I.; Tagiyev, N.R.; Duffy, J. A forward and reverse displacement analysis of an in-parallel spherical manipulator. Mech. Mach. Theory 1994, 29, 125–137. [Google Scholar] [CrossRef]
  11. Bulca, F.; Angeles, J.; Zsombor-Murray, P.J. On the workspace determination of spherical serial and platform mechanisms. Mech. Mach. Theory 1999, 34, 497–512. [Google Scholar] [CrossRef]
  12. Clavel, R. Conception D’un Robot Parall‘Ele Rapide ‘A 4 Degr’Es de Libert´E. Ph.D. Thesis, Swiss Federal Institute of Technology Lausanne, Lausanne, Switzerland, 1991. [Google Scholar]
  13. Husty, M.L. On the workspace of planar three-legged platforms. In Proceedings of the World Automation Congress, Montpellier, France, 28–30 May 1996; Volume 3, pp. 339–344. [Google Scholar]
  14. Merlet, J.P. Interval Analysis and Robotics. In Robotics Research; Kaneko, M., Nakamura, Y., Eds.; Springer: Berlin/Heidelberg, Germany, 2010; Volume 66. [Google Scholar] [CrossRef] [Green Version]
  15. Khalilpour, S.; Zarif Loloei, A.; Taghirad, H.; Tale Masouleh, M. Feasible Kinematic Sensitivity in Cable Robots Based on Interval Analysis. In Cable-Driven Parallel Robots; Springer: Berlin/Heidelberg, Germany, 2012; pp. 233–249. [Google Scholar]
  16. Merlet, J.P. Determination of 6D Workspace of Gough-Type Parallel Manipulator and Comparison between Different Geometries. Int. J. Robot. Res. 1999, 18, 902–916. [Google Scholar] [CrossRef]
  17. Evtushenko, Y.; Posypkin, M.; Rybak, L.; Turkin, A. Approximating a solution set of nonlinear inequalities. J. Glob. Optim. 2018, 71, 129–145. [Google Scholar] [CrossRef]
  18. Malyshev, D.; Posypkin, M.; Rybak, L.; Usov, A. Approaches to the Determination of the Working Area of Parallel Robots and the Analysis of Their Geometric Characteristics. Eng. Trans. 2019, 67, 333–345. [Google Scholar] [CrossRef]
  19. Malyshev, D.; Rybak, L.; Behera, L.; Mohan, S. Workspace Modelling of a Parallel Robot with Relative Manipulation Mechanisms Based on Optimization Methods. In Robotics and Mechatronics; Kuo, C.H., Lin, P.C., Essomba, T., Chen, G.C., Eds.; ISRM 2019; Mechanisms and Machine Science, Springer: Cham, Switzerland, 2020; Volume 78. [Google Scholar]
  20. Rao, P.S.; Rao, N.M. Position Analysis of Spatial 3-RPS Parallel Manipulator. Int. J. Mech. Eng. Robot. Res. 2013, 2, 80–90. [Google Scholar]
  21. Gosselin, C.; Angeles, J. Singularity analysis of closed-loop kinematic chains. IEEE Trans. Robot. Autom. 1990, 6, 281–290. [Google Scholar] [CrossRef]
  22. Anvari, Z.; Ataei, P.; Masouleh, M.T. The collision-free workspace of the tripteron parallel robot based on a geometrical approach. In Computational Kinematics; Springer: Berlin/Heidelberg, Germany, 2018; pp. 357–364. [Google Scholar] [CrossRef]
  23. Malyshev, D.I.; Posypkin, M.A.; Gorchakov, A.Y.; Ignatov, A.D. Parallel algorithm for approximating the work space of a robot. Int. J. Open Inf. Technol. 2019, 7, 1–7. [Google Scholar]
  24. Posypkin, M.A. Metody Global’noj I Mnogokriterial’noj Optimizacii na Baze Koncepcij Vetvej i Granic i Neravnomernyh Pokrytij [Global and Multicriteria Optimization Methods Based on the Concepts of Branch and Bounds and Non-Uniform Coving]. Ph.D. Thesis, Dorodnitsyn Computing Center, Federal Research Center “Computer Science and Control”, Russian Academy of Sciences, Moscow, Russia, 2014. [Google Scholar]
  25. Rybak, L.A.; Behera, L.; Malyshev, D.I.; Virabyan, L.G. Approximation of the workspace of parallel and serial structure manipulators as part of the multi-robot system. Bull. BSTU Named V.G. Shukhov. 2019, 8, 121–128. [Google Scholar] [CrossRef]
  26. Evtushenko, Y.G.; Posypkin, M.A. Nonuniform covering method as applied to multicriteria optimization problems with guaranteed accuracy. Comput. Math. Math. Phys. 2013, 53, 144–157. [Google Scholar] [CrossRef]
Figure 1. Diagram of a multi-robotic system—(a) serial manipulator, (b) parallel manipulator.
Figure 1. Diagram of a multi-robotic system—(a) serial manipulator, (b) parallel manipulator.
Applsci 11 04961 g001
Figure 2. Parallel manipulator—(a) without a movable base, (b) on a movable base.
Figure 2. Parallel manipulator—(a) without a movable base, (b) on a movable base.
Applsci 11 04961 g002
Figure 3. Representation of the links of the mechanism.
Figure 3. Representation of the links of the mechanism.
Applsci 11 04961 g003
Figure 4. Checking the intersection of links for case 1—(a) for u 2 = 0 , (b) for u 2 > 0 .
Figure 4. Checking the intersection of links for case 1—(a) for u 2 = 0 , (b) for u 2 > 0 .
Applsci 11 04961 g004
Figure 5. Checking the intersection of links for case 2 —(a) no intersection for u 2 = 0 , (b) no intersection for u 2 > 0 , (c) intersection for u 2 = 0 , (d) intersection for u 2 > 0 .
Figure 5. Checking the intersection of links for case 2 —(a) no intersection for u 2 = 0 , (b) no intersection for u 2 > 0 , (c) intersection for u 2 = 0 , (d) intersection for u 2 > 0 .
Applsci 11 04961 g005aApplsci 11 04961 g005b
Figure 6. Workspace of the parallel manipulator—(a)—for the range of angles θ and ψ ± 90 ° , (b)—for the range of angles θ and ψ ± 95 ° .
Figure 6. Workspace of the parallel manipulator—(a)—for the range of angles θ and ψ ± 90 ° , (b)—for the range of angles θ and ψ ± 95 ° .
Applsci 11 04961 g006
Figure 7. Examples of link intersections for the range of angles θ and ψ ± 95 ° —(a) intersection of links O O and D 3 E 3 , D 1 D 2 and E 2 E 3 , (b) intersection of links O O and D 2 E 2 , D 1 D 2 and E 2 E 3 .
Figure 7. Examples of link intersections for the range of angles θ and ψ ± 95 ° —(a) intersection of links O O and D 3 E 3 , D 1 D 2 and E 2 E 3 , (b) intersection of links O O and D 2 E 2 , D 1 D 2 and E 2 E 3 .
Applsci 11 04961 g007
Figure 8. Workspace of the parallel manipulator—(a)—with a negative sign of the determinant of the Jacobi matrix, (b)—with a positive sign.
Figure 8. Workspace of the parallel manipulator—(a)—with a negative sign of the determinant of the Jacobi matrix, (b)—with a positive sign.
Applsci 11 04961 g008
Figure 9. Serial manipulator areas—(a) workspace, (b) technological area.
Figure 9. Serial manipulator areas—(a) workspace, (b) technological area.
Applsci 11 04961 g009
Figure 10. Angles and links defining the configuration of the robotic arm.
Figure 10. Angles and links defining the configuration of the robotic arm.
Applsci 11 04961 g010
Figure 11. Serial manipulator areas: (a) workspace, (b) technological space.
Figure 11. Serial manipulator areas: (a) workspace, (b) technological space.
Applsci 11 04961 g011
Figure 12. Relative position of the multi-robotic system—(a) the presence of an intersection between the links of the manipulators, (b) the absence of intersections, (c) the intersection of the serial manipulator with the rotating platform of the parallel manipulator.
Figure 12. Relative position of the multi-robotic system—(a) the presence of an intersection between the links of the manipulators, (b) the absence of intersections, (c) the intersection of the serial manipulator with the rotating platform of the parallel manipulator.
Applsci 11 04961 g012
Figure 13. Relative position of technological areas of manipulators—(a) absence of intersections, (b) presence of collisions of links without intersection of technological areas, (c) presence of intersections.
Figure 13. Relative position of technological areas of manipulators—(a) absence of intersections, (b) presence of collisions of links without intersection of technological areas, (c) presence of intersections.
Applsci 11 04961 g013
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Behera, L.; Rybak, L.; Malyshev, D.; Gaponenko, E. Determination of Workspaces and Intersections of Robot Links in a Multi-Robotic System for Trajectory Planning. Appl. Sci. 2021, 11, 4961. https://doi.org/10.3390/app11114961

AMA Style

Behera L, Rybak L, Malyshev D, Gaponenko E. Determination of Workspaces and Intersections of Robot Links in a Multi-Robotic System for Trajectory Planning. Applied Sciences. 2021; 11(11):4961. https://doi.org/10.3390/app11114961

Chicago/Turabian Style

Behera, Laxmidhar, Larisa Rybak, Dmitry Malyshev, and Elena Gaponenko. 2021. "Determination of Workspaces and Intersections of Robot Links in a Multi-Robotic System for Trajectory Planning" Applied Sciences 11, no. 11: 4961. https://doi.org/10.3390/app11114961

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