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
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
, which are connected by rotary joints
to the base and spherical joints
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
axis at a distance
, and rotates around the
axis at an angle
and around
at an angle
. In addition, there are additional degrees of freedom—displacement along the
axes at a distance
and along
at a distance
and rotation relative to
by an angle
, which are determined by the formulas [
20].
The input coordinates are the lengths of the drive links
,
,
, the output coordinates are the coordinates of the point
of the end effector:
. Point
is located at a distance
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
of the movable platform, and then, for these values, determine the set of coordinates
of the end effector. Coordinates
in the moving coordinate system,
Calculate the coordinates of point
in the coordinate system
where
is the transition matrix from the moving coordinate system
to the fixed system
which includes matrices of displacements and rotations along the
After transformation taking into account (4)–(6), we get,
Let us introduce restrictions on the geometric parameters of the mechanism,
where
are determined by the design parameters of the mechanism;
is the length of the i-th rod, which is defined as,
where
—coordinates of the centers of the joints, point
;
—coordinates of the centers of the joints, point
in a fixed coordinate system.
We define the coordinates of the joints in the moving coordinate system , , .
We denote in (6) ; ; ; ; ; ; ; ; .
Let us express the coordinates of the joints
in the moving coordinate system
Determine the coordinates of the joints
D_i in the moving coordinate system
:
Substituting (10)–(13) into (9), we obtain,
Similarly, we calculate the coordinates of the point
in the fixed coordinate system
:
where
is the transition matrix from the moving coordinate system
to the fixed system
, which includes matrices of displacement along the
and
axes and rotation around the
axis,
After transformation, taking into account (7), (17) and (18), we obtain,
The coordinates of the joints
and
in the fixed coordinate system
are defined as:
We calculate the integers corresponding to the coordinates of the point
to describe the form of a partially ordered set of integers,
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,
where
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,
where
Ca = cos(
);
Let us write down the condition for the occurrence of singularity zones,
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 , 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
:
where
is the index of the joint
,
is the index for one of the three corners of the joint
.
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
и
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:
where
is the diameter of the links,
,
,
is the distance between the nearest points of the segments along each of the axes and are defined as:
The values and are defined similarly.
There is no intersection of the links when the minimum distance u between the segments
and
is greater than the diameter of the links
:
Consider two cases of relative position of links.
Case 1. The links are parallel in the case when the condition is fulfilled:
Determine the minimum distance between the segments by rotating the segments relative to the point
so that they become perpendicular to the
YOZ plane. Let us denote for points
and
the obtained coordinates of points after rotation as
and
, respectively. Taking into account the rotation of the segments to the perpendicular position to the YOZ plane, the coordinates of the points
and
are calculated as:
where
,
,
,
,
In this case,
,
,
.
The distance between the segments is determined as:
where
is the distance between the segments
and
in the projection onto the YOZ plane,
is the distance between the nearest points of the segments along the X axis. They are defined as:
Figure 4 shows examples of verification for the first case of intersection of links.
Figure 4a shows an example when
, and
, since the coordinate intervals of the segments along the
axis intersect. In this case,
, respectively,
and there is no intersection.
Figure 4b shows an example where
and
, while
, 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
will lie and to which the segment
will be parallel. In this case, the distance between the segments can be similarly written as:
where
is the distance between the segment
and the auxiliary plane,
is the distance between the nearest points of the segments
and the projection of the segment
onto the auxiliary plane.
To determine
, we calculate the normal vector:
Determine the distance
using the coefficient
for the length of the normal vector.
where
Let us determine, using the coefficient
, the coordinates of the point
as a result of the projection of the point
onto the auxiliary plane:
To define
, rotate the construction plane around point
so that it is parallel to the YOZ plane. After rotating the coordinates of the second point of the segment
and points
and
of the second segment, we define as:
where
,
,
,
,
.
As a result, the definition of is reduced to the problem of calculating the distance between the nearest points of the segments and 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
, and
, since the segments intersect in the projection. In this case,
, respectively,
and there is no intersection.
Figure 5b shows an example where
, but
and there is no intersection either. In
Figure 5c
and
, so
and the line segments intersect. In
Figure 5d
, that is, the segments do not intersect in the projection, but
, 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 , : , , , , , . 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 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 and . If , then B does not contain possible points for system (8) and is excluded. If , then each point of the box 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 as a partially ordered set of integers. The set has the following structure—the values , as well as the corresponding values of , are ordered in ascending order, and the values corresponding to each of 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 by a uniform mesh along each axis. We calculated for each of the grid nodes the values using (4) and (5). Let us arrange the set of calculated values and .
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
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
. Each of the elements of the third level includes only two numbers describing the beginning and end of the intervals of values
. Let us simulate the workspace of a parallel manipulator using distributed computing to determine
and
, 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
. Simulation is performed for
mm
mm
mm
mm,
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
and
(
Figure 6a), there are no intersections of the links. The volume of the workspace was
m
3. 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
and
, and
Figure 7 shows some cases of intersections. The volume of the workspace increased insignificantly and amounted to
m
3.
Simulations for other ranges of rod lengths have similarly shown the occurrence of intersections when the range of angles and is expanded over . 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
m
3.
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
was selected with a step of
for simulation. The results are shown in
Figure 9a. The volume of the workspace due to the rotation of the platform increased from
to
m
3. 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
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
and by the vector of angles
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
where
and
are given ranges of possible values of the link length
and angle
, respectively.
The workspace of the robot manipulator is the image
of the admissible set
, where
is given by formulas
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
,
,
, ranges of angles:
.
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
and
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
mm,
mm,
,
mm,
. In the first case, for
, an intersection was found between the links (
Figure 12a), in the second for
there is no intersection (
Figure 12b), in the third, for
, 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
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
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:
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
mm,
mm,
(
Figure 13a),
mm,
mm,
(
Figure 13b) and
mm,
mm,
(
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 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.