NEPTUNE: Nonentangling Trajectory Planning for Multiple Tethered Unmanned Vehicles
Abstract
Despite recent progress in trajectory planning for multiple robots and a single tethered robot, trajectory planning for multiple tethered robots to reach their individual targets without entanglements remains a challenging problem. In this paper, a complete approach is presented to address this problem. First, a multi-robot tether-aware representation of homotopy is proposed to efficiently evaluate the feasibility and safety of a potential path in terms of (1) the cable length required to reach a target following the path, and (2) the risk of entanglements with the cables of other robots. Then the proposed representation is applied in a decentralized and online planning framework, which includes a graph-based kinodynamic trajectory finder and an optimization-based trajectory refinement, to generate entanglement-free, collision-free, and dynamically feasible trajectories. The efficiency of the proposed homotopy representation is compared against the existing single and multiple tethered robot planning approaches. Simulations with up to 8 UAVs show the effectiveness of the approach in entanglement prevention and its real-time capabilities. Flight experiments using 3 tethered UAVs verify the practicality of the presented approach. The software implementation is publicly available online111https://github.com/caomuqing/neptune.
Index Terms:
Tethered Robot Planning, Multi-Robot, Trajectory Planning.I Introduction
Unmanned vehicles such as unmanned aerial vehicles (UAVs), unmanned ground vehicles (UGVs) and unmanned surface vehicles (USVs) have been widely adopted in industrial applications due to reduced safety hazards for humans and potential cost saving [1, 2]. Tethered systems are commonly employed to extend the working duration, enhance the communication quality and prevent the loss of unmanned vehicles. For autonomous tethered robots, it is important to consider the risk of the tether being entangled with the surroundings, which will limit the reachable space of the robots and even cause damage.
In this work, we consider the trajectory planning problem for multiple tethered robots in a known workspace with static obstacles. Each robot is attached to one end of a slack and flexible cable that is allowed to lie on the ground. The other end of the cable is attached to a fixed base station. The cable has a low-friction surface so that it can slide over the surface of static obstacles or other cables. Entanglement occurs when the movement of at least one of the robots is restricted due to the physical interactions among the cables. In the scenario shown in Figure 1, two ground robots’ cables cross each other. If the robots continue to move in the directions indicated by the arrows, the cables will be stressed, thus affecting the movement of at least one of the robots. Such a situation is more likely to occur when more robots operate in the same workspace.

While there exists abundant literature on multi-robot path and trajectory planning, they are not applicable to tethered multi-robot scenarios [3, 4, 5, 6, 7]. Most of the studies on the tethered robot planning problem focus on the single robot case and use a representation of homotopy to identify the path or cable configuration [8, 9, 10, 11]. Feasible paths are found by searching in a graph augmented with the homotopy classes of the paths. However, the existing representation of homotopy lacks the capability of representing the interaction of multiple mobile robots efficiently. Moreover, slow graph expansion requires offline construction of the graph prior to online planning. Existing studies on path planning for multiple tethered robots present centralized and offline approaches without taking static obstacles into account [12, 13, 14, 15].
In this work, we present NEPTUNE, a decentralized and online trajectory generation framework for non-entangling trajectory planning for multiple tethered unmanned vehicles. First, we propose a novel multi-robot tether-aware representation of homotopy that encodes the interaction among the cables of the planning robot and the collaborating robots, and the static obstacles. By this representation, the risk of entanglement with other robots and static obstacles is efficiently evaluated. Furthermore, the proposed representation enables efficient determination of the reachability of a destination under the given tether length constraints. The trajectory planning consists of a front-end trajectory search module as well as a back-end optimization module. The front end searches for a feasible, collision-free, non-entangling, and goal-reaching polynomial trajectory, using kinodynamic A* in a graph augmented with the introduced multi-robot tether-aware representation. The back-end trajectory optimization refines the first few segments of the feasible trajectory to generate a trajectory with lower control effort while still satisfying the non-collision and non-entangling requirements. Each robot generates its own trajectory in a decentralized and asynchronous manner and broadcasts the future trajectory through a local network for others to access.
To the best of our knowledge, NEPTUNE is the first online and decentralized trajectory planner for multiple tethered robots in an obstacle-ridden environment. The main contributions of this paper are summarized as follows:
-
•
A detailed procedure to obtain a multi-robot tether-aware representation of homotopy is presented, which enables efficient checks on the risk of entanglement, as well as efficient computation of the required cable length to reach a target.
-
•
A complete tether-aware planning framework is presented consisting of a kinodynamic trajectory finder and a trajectory optimizer.
-
•
Comparisons with the existing approaches for tethered robot path planning in single-robot obstacle-rich and multi-robot obstacle-free environments demonstrate significant improvements in computation time.
-
•
Simulations using to robots in an obstacle-ridden environment reveal an average computation time of less than ms and a high mission success rate.
-
•
Flight experiments using three UAVs verify the practicality of the approach. We make the software implementation publicly available for the benefit of the community.
The type of mobile robot considered in this paper is UAV. However, the presented approach is also applicable to other types of vehicles such as UGV and USV.
II Related Works
II-A Tethered Robot Path Planning
Interestingly, most of the early works on the tethered robot planning problem focus on multiple robots rather than a single robot. Sinden [12] investigated the scheduling of tethered robots to visit a set of pre-defined locations in turns so that none of the cables crosses each other during the motion of the robots. A bipartite graph is constructed, with colored edges representing the ordered cable configurations. In [13, 14], the authors addressed the path planning for tethered robots with specified target cable configurations. A directed graph is used to represent the motion constraints and the ordering of movements. The output is a piece-wise linear path for each robot and waiting time at some specified location. Zhang et al.[15] extended the results of [13] by providing an analysis of a more efficient motion profile where all robots move straight and concurrently. These works are very different from our work in terms of problem formulation and approach: (1) they consider taut cables forming straight lines between robots and bases, whereas we consider slack cables that are allowed to slide over one another; (2) static obstacles are not taken into account in these works; (3) their approaches are offline and centralized while our work presents a decentralized online approach; (4) the outputs of these algorithms are piece-wise linear paths whereas our approach provides dynamically feasible trajectories.
The development of planning algorithms for a single tethered robot typically focuses on navigating the robot around obstacles to reach a goal while satisfying the cable length constraint. Early work [16] and its recent derivative [17] find the shortest paths in a known polygonal environment by tracing back along the previous path to look for turning points in a visibility graph-like construction. Recent developments of homotopic path planning using graph-search techniques [18, 19, 20, 21] provide the foundation for a series of new works on tethered robot path planning. Particularly, Kim et al.[8] use a homotopy invariant (h-signature) to determine the homotopy classes of paths by constructing a word for each path (Section III). A homotopy augmented graph is built with the graph nodes carrying both a geometric location and the homotopy class of a path leading to the location. Then graph search techniques can be applied to find the optimal path subject to grid resolution. Kim et al.[9] and Salzman et al.[10] improve the graph search and graph building processes of [8] respectively through applying a multi-heuristic A* [11] search algorithm and replacing the grid-based graph with a visibility graph. McCammon et al.[22] extend the results to a multi-point routing problem. The homotopy invariant in these works, which is for a 2-D static environment, is insufficient to represent the complex interactions when multiple tethered robots are involved (a justification will be provided in Section III-B). Furthermore, these works use a curve shortening technique to determine whether an expanded node satisfies the cable length constraint, which is computationally expensive and leads to slow graph expansion. It is thus a common practice to construct the augmented graph in advance. Bhattacharya et al.[21] proposed a homotopy invariant for multi-robot coordination, which can be potentially applied to the centralized planning for tethered multi-robot tasks. However, considering the high dimensions of the graph and the complexity related to identifying homotopy equivalent classes (the word problem), it is time-consuming to build a graph even for a simple case (more than 30s for robots in a grid). Compared with these works, we develop an efficient representation of homotopy for multiple tethered robots, thus facilitating the computation of the required cable length. Therefore, the graph expansion and search can be executed online for on-demand targets. Teshnizi et al.[23] proposed an online decomposition of workspace into a graph of cells for single-robot path searching. A new cell is created when an event of cable-cable crossing or cable-obstacle contact is detected. However, infinite friction between cable surfaces is assumed, which deviates from the practical cable model. Furthermore, a large number of cells can be expected during the graph search in an obstacle-rich environment. The reason is that a new cell is created for each visible vertex while no heuristics are provided for choosing the candidate cells.
Several studies have been recently performed which leverage Braid groups to characterize the topological patterns of robots’ trajectories and facilitate the trajectory planning for multiple robots [24, 25, 26]. Despite promising results, these works have not been extended to the trajectory planning for tethered robots.
II-B Decentralized Multi-robot trajectory planning
Most of the existing works on the tethered robot planning problem generate piece-wise linear paths. In this section, we review some smooth trajectory generation techniques for decentralized multi-robot planning, while focusing on methods applied to UAVs. In general, decentralized multi-robot trajectory generation includes synchronous and asynchronous methods. Synchronous methods such as [27, 28] require trajectories to be generated at the same planning horizon for all robots, whereas asynchronous methods do not have such a restriction and hence are more suitable for online application. In [3], the authors presented a search-based multi-UAV trajectory planning method, where candidate polynomial trajectories are generated by applying discretized control inputs. Trajectories that violate the collision constraint (resulting in a non-empty intersection between robots’ polygonal shapes) are discarded. In [4], the collision-free requirement is enforced as a penalty function in the overall objective function of the nonlinear optimization problem. In [5], a similar approach is taken, but a newly developed trajectory representation [6] is employed (as compared to B-spline in [4]) which enables concurrent optimization of both the spatial and the temporal parameters. In [7], robots’ trajectories are converted into convex hulls. The collision-free constraint is guaranteed by optimizing a set of planes separating the convex hulls of the collaborating robots and those of the planning robot. To save computational resources and ensure short-term safety, an intermediate goal is chosen, which is the closest point to the goal within a planning radius.
As revealed by the comparisons in [7, 28], centralized and offline trajectory generation approaches typically require much longer computation time to generate a feasible solution than the online decentralized approaches, and the difference grows with the number of robots involved. Furthermore, the absence of online replanning means that the robots cannot handle in-flight events, such as the addition of a new robot into the fleet or the appearance of non-cooperative agents. Hence, it is believed that a decentralized planner with online replanning is more suitable for practical applications. Furthermore, the framework presented in this paper has the flexibility to integrate new features such as the prediction and avoidance of dynamic obstacles and non-cooperative agents. Similar to [7], our approach uses an asynchronous planning strategy with a convex-hull representation of trajectories. However, the greedy strategy used by [7] results in inefficient trajectories. The reason is that an intermediate goal may be selected near a large non-traversable region, where the robot has to make abrupt maneuvers to avoid the obstacles. In contrast, our approach selects the intermediate goals that are derived from a feasible, goal-reaching, and efficient (based on some evaluation criteria such as length) trajectory generated by our front-end kinodynamic trajectory finder.
III Preliminaries
III-A Notation
In this paper, denotes the -norm of vector , denotes the -th order derivative of vector and denotes the set consisting of integers to , i.e., . The notation frequently used in this paper is shown in Table I. More symbols will be introduced in the paper.
Symbol | Meaning |
n | Number of robots. |
m | Number of static obstacles. |
, | 3-dimensional workspace and its 2-D projection, i.e., . |
, | Position of robot and its 2-D projection, i.e., , . |
, | Terminal goal and intermediate goal position, . |
, , | The position, velocity and acceleration of the robot at time , . |
Set of robots’ 2-D positions at time , i.e. . | |
Set consisting of the positions of robot at discretized times, | |
The start time of the planned trajectory, referenced to a common clock. | |
, , , | Upper and lower bounds of velocity and acceleration. |
2-D projection of the obstacle . | |
Set of obstacles, i.e., . | |
2-D base position of robot , . | |
Cable length of robot . | |
-th contact point of robot at time , . | |
Number of contact points of robot at time , . | |
List of contact points of robot at time , i.e. . | |
Order of polynomial trajectory. | |
, | consists of the coefficients of a 3-dimensional -th order polynomial. consists of the coefficients for the X and Y dimensions. |
The monomial basis, . | |
, | Virtual segments of obstacle . The second number in the subscript indicates the index of the segment. |
, | Virtual segments of robot . represents the simplified cable configuration and is the extended segment from robot . |
, | The two points on the surface of that define and , respectively. |
The homotopy representation of robot , expressed as a word. The subscript is omitted when no ambiguity arises. | |
size | The total number of entries (letters) in the word . |
The -th entry in . | |
index | The position of the obstacle entry in whose surface point is , i.e., if for a particular and , then . |
Line segment bounded by points and . | |
Line passing through and . | |
Concatenation operation. | |
The maximum magnitude of control input, . | |
A user-chosen parameter such that is the number of sampled control inputs for each axis in the kinodynamic search. | |
Number of discretized points for evaluating the trajectory of each planning interval. | |
Duration of each piece of trajectory. | |
, , | is the number of polynomial curves in the front-end output trajectory, is the number of polynomial curves to be optimized in the back end. is a user-chosen parameter such that . |
, , | Sets of 2-D position, velocity, and acceleration control points for a trajectory with index . |
, , | Sets of 3-D position, velocity, and acceleration control points for a trajectory with index . |
, , | The position, velocity, and acceleration control points, respectively. |
III-B Homotopy and Shortest Homotopic Path

We briefly review the concepts related to homotopy. Consider a workspace of arbitrary dimension consisting of obstacles. A path or a cable in the workspace can be represented as a curve. Two curves in this workspace, sharing the same start and end points, are homotopic (or belong to the same homotopy class) if and only if one can be continuously deformed into another without traversing any obstacles.
A homotopy invariant is a representation of homotopy that uniquely identifies the homotopy class of a curve. In a 2-dimensional workspace consisting of obstacles, there exists a standard procedure to compute a homotopy invariant [29] (Figure 2). First, a set of non-intersecting rays are constructed, each emitting from a reference point in each obstacle. Then, a representation (word) is obtained by tracing the curve from the start to the goal and adding the corresponding letters of the crossed rays. Right-to-left crossings are distinguished by a superscript ‘-1’. Then, the word is reduced by canceling consecutive crossings of the same ray with opposite crossing directions. This reduced word is called the h-signature and is a homotopy invariant. Indeed, two curves with the same start and goal belong to the same homotopy class if and only if they have the same h-signature.
The h-signature introduced above records ray-crossing events that indicate robot-obstacle interactions. However, it is not capable of recording key events of cable-cable interaction for identifying entanglements. To illustrate this, an h-signature is obtained for the path taken by each robot in Figure 1. Each robot has taken a path that crosses the ray emitted from the other robot exactly once. Hence, the resulting h-signature records only one ray-crossing event revealing no potential entanglements.
A tethered robot following a path from its base to a goal should have its cable configuration homotopic to the path. Hence, a shorter homotopy-equivalent curve can be computed to approximate the cable configuration and calculate the required cable length to reach the goal. In [8, 9, 10], a common curve shortening technique is used, which requires tracing back the original path to obtain a list of turning points, i.e., points on the shortened path where the path changes direction. Each of these points’ visual line of sight to its previous point does not intersect any obstacles. An example of this shortened curve is shown in Figure 2.
IV Formulation and Overview
In this work, we consider a 3-dimensional, simply connected, and bounded workspace with constant vertical limits, , where and are the vertical bounds. The workspace contains obstacles, whose 2-D projections are denoted as . Consider a team of robots. Each robot is connected to a cable of length , and one end of the cable is attached to a base fixed on the ground at . We reasonably assume that the bases are placed at the boundary of the workspace, not affecting the movements of the robots or the cables. As we mentioned in Section I, we consider flexible and slack cables pulled toward the ground by gravity. In the case of a UGV, the cable lies entirely on the ground, and in the case of a tethered UAV, the part of the cable near the UAV is lifted in the air. A robot is allowed to cross (move over) the cables of other robots, resulting in its cable sliding over the cables of others. The robots are not permitted to move directly on top of an obstacle, as this creates ambiguous cable configurations, where we cannot determine if the cable of a robot stays on an obstacle or falls on the ground (even if we know that the cable falls, we cannot determine which side of the obstacle it falls to). Such a restriction allows us to express most of the interaction of cables in the 2-D plane, regardless of the type of robots involved.
Our task is to compute trajectories for each robot in the team to reach its target . The trajectories should be continuous up to acceleration to prevent aggressive attitude changes when controlling the UAVs, satisfying the velocity and acceleration constraints , , , , and free of collision and entanglements.

Figure 3 illustrates the core components of our approach. The robots share a communication network through which they can exchange information. For each robot , several modules are run concurrently. The Homotopy Update module maintains an updated topological status of the robot based on its current position and other robots’ latest information. The output of this module is a representation of homotopy in the form of a word, and a list of contact points , where is the number of contact points at time . The contact points are the estimated positions where the robot’s cable touches the obstacles if the cable is fully stretched. Similar to the turning points described in Section III, contact points form a shorter homotopy-equivalent cable configuration. The procedure of updating the representation and the determination of contact points will be detailed in Section V.

The trajectory handler stores the future trajectory of the robot, in the form of pieces of polynomial curves, each expressed as polynomial coefficients for a 3-dimensional -th order polynomial. Hence, the future position of the robot at time can be predicted as
where is the current time, is the valid period of the trajectory. Each robot plans its trajectories iteratively and online, i.e., new trajectories are generated while the robot is moving toward the goal. Each planning iteration is asynchronous with the planning iterations of other robots, as illustrated in Figure 4. At every planning iteration, the robot computes a trajectory starting at time , which is ahead of the robot’s current time by the estimated computation time for the trajectory. The input to the planning module includes the updated topological status from the Homotopy Update module, the initial states of the robot, , , at time , and the future trajectories of other robots. The planning module includes a front-end trajectory finder and a back-end trajectory optimizer, which are described in detail in Sections VI and VII, respectively. The output trajectory will replace the existing trajectory in the trajectory handler starting from time .
At every iteration, robot broadcasts the following information to the network: (1) its current position , (2) its future trajectory in the form of polynomial coefficients, and (3) its current list of contact points . This message will be received by all other robots . The published trajectory is annotated with a common clock known to all robots. Hence, other robots are able to take into account both the spatial and temporal profile of the trajectory in their subsequent planning.
In the following sections, it is considered that all computations and trajectory planning are conducted from the perspective of a robot . All other robots are called the collaborating robots of robot . When no ambiguity arises, we omit the subscript in many expressions for simplicity.
V Multi-robot Homotopy Representation
We present a multi-robot tether-aware representation of homotopy constructed from the positions of the robots as well as their cable configurations. The procedure for updating the homotopy representation in every iteration is detailed in Algorithm 1, which includes updating the word (Section V-A), reducing the word (Section V-B) and updating the contact points (Section V-C).
V-A Construction of Virtual Line Segments and Updating the Word
To compute the representation of homotopy for the planning robot, a set of virtual line segments of the collaborating robots and the obstacles are created. Crossing one of these segments indicates an interaction with the corresponding obstacle or robot. To obtain the virtual segments of the static obstacles, we first construct non-intersecting lines , , such that each of them passes through the interior of an obstacle . Each line is separated into three segments by two points on the surface of the obstacle, and . The virtual segments, labelled as and , are the two segments outside , as shown in Figure 5. To build the virtual line segments of the collaborating robots, we use the positions and the contact points obtained from the communication network. The shortened cable configuration of robot , labelled as , is a collection of line segments constructed by joining in sequence its base point , its contact points and finally its position . The extension of beyond the robot position until the workspace boundary is labelled as . We call and the cable line and extension line of robot , respectively. Figure 5 displays the actual cable configuration and the corresponding line segments of robot . By constructing the virtual line segments of all robots and obstacles, a word of a path is obtained by adding the letter corresponding to the line segment crossed in sequence, regardless of the direction of crossing. An example is shown in Figure 5, where the word for the black dashed path for robot is .

In an online implementation, the word, denoted as , can be updated iteratively based on the incremental movements of the robots. To ensure that each robot starts with an empty word ‘ ’, we make the following assumption:
Assumption V.1.
(Initial Positions) The base positions and the initial positions of the robots are placed such that for each robot , its initial simplified cable configuration does not intersect with any virtual segments and , , , , where .
The procedure for updating the word at every discretized time is shown in Algorithm 2. There are two cases where a letter can be appended to the word:
- 1.
- 2.
The second case is needed to ensure consistency of representation regarding different starting positions of robots. As shown in Figure 6, both positions and are valid starting positions of robot , i.e. they can be chosen as because they satisfy Assumption V.1 with chosen as the initial position of robot . Therefore, both positions should induce an empty word for robot . This can be ensured only by appending the letter twice when robot moves from to , one time when sweeps across robot and the other time when sweeps across . Then a reduction procedure cancels the consecutive same letters (Section V-B), resulting in an empty word.

Remark V.2.
In practice, Assumption V.1 can be always satisfied by adjusting the initial positions and the base positions of the robots, such that any intersections with the virtual segments are avoided. For a given set of initial positions and base positions, valid virtual segments can be constructed by selecting a reference point from the interior of each obstacle (the reference points should not coincide), and then sampling (uniformly or randomly) directions for extending the points into sets of parallel lines. The set of lines satisfying Assumption V.1 is chosen. This procedure only needs to run at the initialization stage and and can be saved for online use.
V-B Reduced Form of Homotopy Representation
A critical step for establishing a homotopy invariant for a topological space is to identify a set of words that are topologically equivalent to the empty word and remove them from the original hotomotpy representation. These words correspond to the elements of the fundamental group mapped to the identity element [21]. For example, in [29], the same consecutive letters, corresponding to crossing and then uncrossing the same segment, can be removed from the original word to obtain a reduced word. In our approach, we identify and remove not only the identical consecutive letters but also combinations of letters representing paths or sub-paths that loop around the intersections of virtual segments. For example, in Figure 5, the dashed blue path that loops around the intersection of and can be topologically contracted to a point (it is null-homotopic). Therefore, its word can be replaced by an empty string (for further understanding of the topological meaning of null-homotopic loops, readers may refer to Appendix A). The reduction procedure is shown in Algorithm 3, which consists of the following steps:
-
1.
Given an unreduced homotopy representation at time , we check whether it contains a pair of identical letters , , , and extract the string from . Here is the number of letters between the pair.
-
2.
We check if the virtual segment intersects with all of the segments , , , at time . If so, remove both letters from .
-
3.
After a removal, go to step 1) and start checking again.
The reason behind the procedure is that, in a static environment, the string constitutes a part of the loop if the segment intersects with all of the segments in between, , , . The loop is in the form of , where denotes a particular sequence of the input letters. Figure 7 shows two particular forms of the loop for . As a loop is an identity element in the fundamental group, we can write . Assuming that takes the form shown in Figure 7(a), i.e., , we can establish a relation , thus removing both letters . As a special case, although virtual segments and share a common point at robot ’s position, they are considered non-intersecting. Otherwise, any loop around the robot (e.g., the dashed green path in Figure 5) will be reduced to a single letter which reflects a different topological meaning.


(a) Loop expressed as . (b) Loop expressed as .
It should be noted that the reduction rules introduced here are insufficient to generate a true homotopy invariant for the topological space considered in our scenario, which requires a much more involved construction in a 4-dimensional (X-Y-Z-Time) space and is beyond the scope of this paper. However, the reduced homotopy representation captures important topological information about the robot to check for the entanglement of cables. The condition to identify entanglement can be stated as a two-entry rule: a robot is considered to be risking entanglement at time , if its reduced homotopy representation contains two or more letters corresponding to the same collaborating robot, i.e. consists of two or more entries of , , . This rule can be justified as follows:
Proposition V.3.
Consider two robots moving in a 2-D workspace without any static obstacles, each tethered to a fixed base at and . The starting positions of the robots satisfy Assumption V.1. An entanglement occurs only if the reduced homotopy representation of at least one of the robots, , , contains at least two entries related to the other robot, , , .
Proof.
Figure 1 illustrates the simplest entanglement scenario between the two robots. More complex 2-robot entanglements are developed from this scenario when the robots circle around each other, resulting in more entries in their homotopy representations. Hence, it is sufficient to evaluate the simplest case. A sequence of crossing actions is required to realize this case. Robot crosses the cable line of robot , , followed by robot crossing the cable line of robot , , , . Due to the requirement on the initial positions (Assumption V.1), before crossing the cable of robot by robot , the extension line will sweep across either robot or base , causing the reduced word of robot to be . After crossing by robot , the word of robot is guaranteed to have two entries, . ∎





For operations using and more robots, any pair-wise entanglements involving only two robots can be detected using the same argument as Proposition V.3. Figure 9 illustrates a more complicated -robot entanglement, where robot ’s motion is hindered due to the cables of both robot and (removing either robot or releases robot from the entanglement). This scenario is realized by the sequence of movements where robot crosses (1) the cable line of robot , (2) the extension line of robot , (3) the cable line of robot again. The homotopy representation of robot is . Since segments and do not intersect, is nonreducible. Therefore, the entanglement can be detected using the two-entry rule.
Considering obstacle-ridden environments, Figure 8 illustrates an entanglement caused by two robots following the intended paths sequentially. Since the word of robot , , is nonreducible, the entanglement can also be identified using the two-entry rule. Intuitively, the two-entry rule can be used to identify instances when a robot partially circles around another robot (Figure 1), and instances when a robot circles around a part of the cable of another robot in a topologically non-trivial way (Figure 8(c) and Figure 9).
V-C Determination of Contact Points
The list of contact points is updated at every iteration, along with updating and reducing the word. Intuitively, a contact point addition (or removal) occurs when a new bend of the cable is created at (or an existing bend is released from) the surface of the obstacles passed by the robot. For efficiency, we adopt a simplification of the obstacle shapes, such that each obstacle is only represented as a thin barrier . The detailed procedure is described in Algorithm 4, in which the indication of the timestamp in the expressions , …, is omitted for brevity. This algorithm checks if the robot has crossed any lines linking a contact point to the surface points of the obstacles, or any lines linking the two consecutive contact points; if such crossing happens, contact points are added or removed accordingly. Figure 10 illustrates Algorithm 4.



We make the following assumption to ensure the correct performance of the algorithm:
Assumption V.4.
Consider as the set of lines linking the obstacle surface point to the surface points of different obstacles and the base, . Within the time interval , only one distinct line in each can be crossed by robot , i.e., multiple lines in can be crossed by the robot only if they are coincident, , .
Assumption V.4 prevents incorrect identification of surface points as contact points. In Figure 10(c), the robot moving from to will result in added as a contact point, but no contact between the cable and is possible in this case. Under Assumption V.4, the only case where multiple contact points should be added or removed in one iteration is when multiple coincident lines are crossed. Such a case can be handled by the iterative intersection check in Algorithm 4 following the sequence of the obstacles added to (line 4 to 4), and the reverse sequence of the contact points added to (line 4 to 4). In practice, Assumption V.4 holds true if the displacement of the robot is sufficiently small between consecutive iterations, which can be achieved by a sufficiently high iteration rate.
We have the following statement on the property of the shortened cable configuration obtained using Algorithm 4:
Proposition V.5.
Consider a robot tethered to a base and moving in a 2-D environment consisting of only thin barrier obstacles , . Let Assumptions V.1 and V.4 hold. At a time , the consecutive line segments formed by linking , , …, and represent the shortest cable configuration of the robot homotopic to the actual cable configuration.
Proof.
See Appendix B. ∎
The length of the shortened cable configuration is a lower bound of the actual length of the shortest cable due to the use of simplified obstacle shapes. In Section VI, this length is compensated with an extra distance to the surface of the obstacles, to better approximate the required cable length. As will be shown in Section IX, the use of Algorithm 4 enables more efficient feasibility checking than the expensive curve shortening algorithm used in [8, 9].
Remark V.6.
Algorithm 4 is inspired by the classic funnel algorithm [30], which is widely used to find shortest homotopic paths in triangulated polygonal regions [31]. Compared to the funnel algorithm, Algorithm 4 is more computationally efficient. The reason is that the simplified obstacle shapes with fewer vertices and a maintained list of crossed obstacles in reduce the number of needed crossing checks. Furthermore, using Algorithm 4, the shortest path can be obtained trivially by linking all contact points. On the other hand, an additional procedure is required in the funnel algorithm to determine the shortest path (because the apex of the funnel may not be the last contact point). Algorithm 4 also provides memory saving compared to the funnel algorithm. The latter requires saving a funnel represented as a double-ended queue (deque) consisting of the boundary points of the funnel, which is always greater than or equal to the list of contact points saved in our algorithm. As will be described in Section VI-C, the homotopy update procedure is called frequently to incrementally predict and evaluate the homotopy status of the potential trajectories. Therefore, the frequent updates of the contact points result in significant computational and memory saving compared to the funnel algorithm with full triangulation.
VI Kinodynamic Trajectory Finding
The front end uses kinodynamic A* search algorithm [32] to find a trajectory leading to the goal while satisfying the dynamic feasibility, collision avoidance and non-entanglement requirements. A search-based algorithm is used instead of a sampling-based algorithm, such as RRT, to ensure better consistency of the trajectories generated in different planning iterations. To reduce the dimension of the problem, the kinodynamic A* algorithm searches for feasible trajectories in the X-Y plane only. For UAVs, the computation of Z-axis trajectory is also required and will affect the feasible region in the X-Y plane. Hence, we design a procedure to generate dynamically feasible trajectories in Z-axis only, interested readers may refer to Appendix C for details.
The search is conducted in a graph imposed on the discretized 2-D space augmented with the homotopy representation of the robot. Each node in the graph is a piece of trajectory of fixed duration , which contains the following information: (1) the 2-D trajectory coefficients , where is the index starting from the first trajectory as ; (2) the robot’s states at the end of the trajectory , , ; (3) the robot’s homotopy-related information at the end of the trajectory, and ; (4) the cost from start and heuristic cost ; (5) a pointer to its parent trajectory. A node is located in the graph by its final position and its homotopy representation . Successive nodes are found by applying a set of sampled control inputs to the end states of a node for a duration , where is the maximum magnitude of control input. In our case, the control input is jerk and the degree of trajectory is . Given a control input applied to a parent node, the coefficients of the successive trajectory can be obtained as
(1) |
Then each of the successive nodes is checked for its dynamic feasibility (Section VI-A), collision avoidance (Section VI-B) and non-entanglement requirements (Section VI-C). The homotopy update is conducted together with the entanglement check. Only the new nodes satisfying the constraints will be added to the open list. The search process continues until a node is found that ends sufficiently close to the goal without risking entanglement (based on the two-entry rule). The heuristic cost is chosen to be the Euclidean distance between and the goal.
VI-A Workspace and Dynamic Feasibility
We use the recently published MINVO basis [33] to convert the polynomial coefficients to the control points, which form convex hulls that entirely encapsulate the trajectory and its derivatives. , and represent the set of 2-D position, velocity, and acceleration control points of a candidate node with index , respectively. To ensure feasibility, we check whether the following inequalities are satisfied:
(2) | |||
(3) | |||
(4) |

VI-B Collision Avoidance
Due to friction, a UAV flying at a fast speed may have its cable trailing behind, as shown in Figure 11. We model the range of cable that may stay in the air as for a UAV flying at altitude . is a constant to be determined empirically. Therefore, to guarantee non-collision with robot and its cable, the planning UAV needs to maintain a distance more than , where and are the radii of UAVs, and is the maximum possible altitude difference during the planning interval , which can be obtained from their Z-axis trajectories. Eventually, we need to check whether the following equality holds:
(5) |
where represents the convex hull enclosing the set of control points, is the minimum set of MINVO control points containing the trajectory of robot during the planning interval , is the axis-aligned bounding box whose side length is , and is the Minkowski sum. We use the Gilbert–Johnson–Keerthi (GJK) distance algorithm [34] to efficiently detect the collision between two convex hulls. Checking the collision with static obstacles can be done similarly by checking the intersections with the inflated convex hulls containing the obstacles.
VI-C Cable Length and Non-Entanglement Constraints
A tethered robot should always operate within the length limit of its cable and never over-stretch its cable. We check whether a trajectory with index satisfies this by approximating the required cable length at a position using the list of active contact points:
(6) |
where is the maximum altitude of the robot during planning interval and is an added length to compensate for the underestimation of cable length using contact points only. For safety, we can set as times the longest distance from the contact point to any surface points of the same obstacle.
Algorithm 5 incrementally predicts the planning robot’s homotopy representation by getting sampled states of the robots (line 5) and updating the representation using Algorithm 1 (line 5). After each predicted update, it checks the cable length constraints (line 5) and the non-entanglement constraint (line 5-5). We discard trajectories that fail the entanglement check only due to a crossing action incurred in the current prediction cycle (line 5). In this way, we allow the planner starting from an unsafe initial homotopy representation to continue searching and find a trajectory escaping the unsafe situation.
VII Trajectory Optimization

The output of the front-end planner is pieces of consecutive polynomial curves, , . The optimization module extracts the first trajectories, where is an integer chosen by the user. It optimizes the trajectory coefficients , , to obtain a short-term trajectory ending at the intermediate goal
(7) |
where represents the initial solution for obtained from the front end. Figure 12 shows the trajectories before and after the optimization. The objective function is
(8) |
in which the first term aims to reduce the aggressiveness by penalizing the magnitude of control input (-th order derivative of the trajectory). The second term penalizes not reaching the intermediate goal. is the weight for the second term. Setting the intermediate goal as a penalty instead of a hard constraint relaxes the optimization problem, thus improving the success rate of the optimization.
The constraints for initial states and zero terminal higher-order states are enforced as
(9) | |||
(10) |
where for , respectively. We would like the robot to stop at the intermediate goal. In case the robot cannot find a feasible trajectory for the next few iterations, it can decelerate and stop at a temporarily safe location until it reaches a feasible solution again. We also need to ensure the continuity between consecutive trajectories:
(11) |
The dynamic feasibility constraints are enforced using the control points since the velocity and acceleration control points can be expressed as the linear combinations of the trajectory coefficients. The constraint equations are in the same form as Eqn. (2-4), but enforced in three dimensions.
For non-collision constraints, we apply the plane separation technique introduced in [7] to the 2-D case. The minimum set of vertices of the inflated convex hull enclosing the collaborating robot/obstacle at the planning interval is denoted as (the vertices of the obstacles are constant with respect to ). A line parameterized by and is used to separate the vertices of the obstacle or robot and those of the planning robot using inequalities
(12) | |||
(13) |
, .
It is also necessary to add non-entanglement constraints in the optimization to prevent the robot from taking an unallowable shortcut. In Figure 12, the dotted rainbow curve is an unallowable shortcut because robot should not cross in this case. A non-crossing constraint can be added in a similar way to (12-13) when using a line to separate the vertices of the non-crossing virtual segment from those of the planning robot’s trajectory.
The overall optimization problem is a nonconvex quadratically constrained quadratic program (QCQP) if we are optimizing over both the trajectory coefficients and the separating line parameters, and . To reduce the computational burden, we fix the values of the line parameters by solving (12-13) using the trajectory coefficients obtained from the front-end planner, . Hence, the optimization problem with only the trajectory coefficients as the decision variables is
s.t. | ||
For brevity, in the above, indicates . The optimization problem is a quadratic program with a much lower complexity.
VIII Complexity Analysis
VIII-A Complexity of Homotopy Update
We analyze the time complexity of the homotopy update procedure (Algorithm 1). We define to be the maximum possible number of obstacle-related entries, , in at any time . depends on the cable length and the obstacle shapes (the minimum distance between any two vertices of the obstacles). It is generally independent of the number of obstacles in the workspace. As the robots avoid entanglements based on the two-entry rule, the maximum number of robot-related entries, , , , in should be . The time complexity of updating the word (Algorithm 2) is dominated by the number of crossing checks. The virtual segments of each robot are defined by at most contact points, and crossing static obstacle can be checked in time. Hence, the update of the word can be conducted in time. To implement the reduction procedure (Algorithm 3), three nested loops are required to inspect each entry of . Hence, the time complexity of the reduction procedure is . Similarly, the contact point update procedure (Algorithm 4) can be run in time. Therefore, the time complexity of the entire homotopy update procedure is .
The memory complexity of the homotopy update depends on the storage of all the virtual segments. Hence, it is .
VIII-B Complexity of a Planning Iteration
Both the time complexities of the front-end kinodynamic planning (Section VI) and the backend optimization (Section VII) are analyzed. The time complexity of the kinodynamic search is the product of the total number of candidate trajectories (successive nodes) generated and the complexity of evaluating each trajectory. In the worst case, a total of candidate trajectories are generated in the homotopy-augmented graph, where is the total number of grids in the workspace . is dependent on the total area of the workspace and the grid size used for discretization. For each candidate trajectory, checking the workspace and dynamic feasibility (2)-(4) can be done in time. The collision avoidance requirement (5) can be checked in time. The time complexity of checking cable-related requirements (Algorithm 5) is dominated by the homotopy update procedure (line 5), which has to be executed times; therefore, the time complexity of Algorithm 5 is . Hence, the worst-case time complexity of the kinodynamic search is .
The time complexity of solving the optimization problem using the interior point method is [35], as there are optimization variables. Therefore, the time complexity of one planning iteration is . Given that the independent parameters , , , , and are fixed, the time complexity simplifies to , which is linear in the number of obstacles and quartic in the number of robots.
The memory complexity of planning is dominated by the memory to store the valid graph nodes for the kinodynamic search. Each node has a memory complexity of due to the need to store the trajectory coefficients and the homotopy representation. Adding the memory to store a copy of the virtual segments, the memory complexity of a planning iteration is , which can be simplified to .
VIII-C Communication Complexity
In the message transmitted by each robot per iteration, the lengths of the robot’s position, the list of contact points, and the robot’s future trajectory are , , and , respectively. Considering a planning frequency of , the amount of data transmitted by each robot is per unit time, while the data received by each robot per unit time is .
IX Simulation
The proposed multi-robot homotopy representation and the planning framework are implemented in C++ programming language. During the simulation and experiments, each robot runs an independent program under the framework of Robot Operating System (ROS). The communication between robots is realized by the publisher-subscriber utility of the ROS network. The trajectory optimization described in Section VII is solved using the commercial solver Gurobi222https://www.gurobi.com/. The processor used for simulations in Sections IX-A and IX-B is Intel i7-8750H while that used in Section IX-C is Intel i7-8550U. The codes for the compared methods are also implemented by ourselves in C++ and optimized to the best of our ability. In all simulations, the parameters are chosen as s, m/s, , , , . The grid size for the kinodynamic graph search is m. Video of the simulation can be viewed in the supplementary material or online333https://youtu.be/8b1RlDvQsi0.
IX-A Single Robot Trajectory Planning



We first apply the presented approach to the planning problem for a single tethered robot in an obstacle-rich environment. Specifically, the front-end kinodynamic trajectory search technique (Section VI) is used for point-to-point trajectory generation and the entire framework (Section IV) is used for online trajectory replanning. We compare our approach with Kim[8] which generates piece-wise linear paths using homotopy-augmented grid-based A*. The simulation environment is a m 2-D area with different numbers of randomly placed obstacles. The grid size for Kim’s graph planner is set to two times the grid size of the proposed kinodynamic planner to ensure comparable amount of expanded graph nodes for both planners. When using the same grid size, the kinodynamic planner usually expands much fewer nodes than a purely grid-based A*, because the successive trajectories do not necessarily fall in neighbouring nodes. We randomly generate target points in the environment. Using both the proposed front-end trajectory searching and Kim’s method, we generate paths that transit between target points (running each method once for every target point). Figure 13 shows the average computation time for both approaches and the ratio of the average number of nodes expanded in Kim’s method to that in the proposed method. Although the numbers of the expanded nodes are comparable for both approaches, the computation time for Kim’s method is at least an order of magnitude longer than our method except when no obstacle exists (which is equivalent to planning without a tether). In Kim’s approach, a large proportion of time is spent on checking the cable length requirement for a robot position, which uses the expensive curve shortening technique discussed in Section III. In comparison, our contact point determination procedure consumes much less time and hence contributes to the efficiency of the proposed method. Figure 14 shows the average path/trajectory lengths for both approaches and the average lengths of trajectories actually executed by the robot using the proposed planning framework with online trajectory replanning. We observe that both kinodynamic trajectory searching and grid-based graph planning generate paths with comparable lengths. The paths generated using Kim’s method are optimal in the grid map, while the trajectories generated by our kinodynamic planner are in the continuous space (not required to pass through the grid center) and hence can have shorter lengths. The fast computation of the trajectory searching enables frequent online replanning which further refines the trajectory to be shorter and smoother. Figure 15 shows one planning instance, where the actual trajectory (orange curve, m) is shorter and smoother than the paths generated from Kim’s method (blue line, m) and kinodynamic search (green curve, m).
IX-B Multi-Robot Trajectory Planning without Static Obstacles
Static obstacles were not considered in all of the existing works on tethered multi-robot planning. Hence, we consider an obstacle-free 3-D environment where multiple UAVs are initially equally spaced on a circle of radius m, with sets of random goals sent to the robots. A mission is successful when all robots reach their goals. We compare our planning framework with Hert’s centralized method [14] that generates piece-wise linear paths for each robot. In Hert’s original approach, a point robot is considered, but we modify the approach to handle non-zero radii of the robots for collision avoidance. We also change the shortest path finding algorithm from a geometric approach [36] to grid-based A* for efficiency.


Figure 16 plots the average computation time and the success rates of both approaches. The computation time for our approach refers to the time taken by a robot to generate a feasible trajectory in one planning iteration. As seen, for more than robots, the computation time for Hert’s approach is at least an order of magnitude longer compared to our approach. While only a small increase in computation time is observed in our approach, the computation time for Hert’s approach increases significantly from ms for robots to s for robots. We note that the implementation of Hert’s approach by us has already achieved significant speedup compared to the results in [14] (more than s for robots), likely due to the use of modern computational geometry libraries, a more efficient pathfinding algorithm, and a faster processor. Our approach is of time complexity, which is consistent with Hert’s approach. However, due to a tight and straight cable model, in Hert’s method, intersections among cables must be checked for all potential paths, which is computationally expensive.
The success rate of Hert’s approach is consistently , while our approach fails occasionally for more than robots. However, this does not indicate less effectiveness of our approach, because the cable models and the types of entanglements considered are different in both approaches; the solution from one approach may not be a feasible solution for the other approach. The failures of our method are due to the occurrences of deadlocks. A common deadlock is illustrated in Figure 17, where all possible routes for robot to reach its goal fail the entanglement check. This is a drawback of decentralized planning in which the robots only plan their own trajectories and do not consider whether feasible solutions exist for the others.

The average path length of each robot is shorter for Hert’s approach, as shown in Figure 18. The cable model considered in Hert’s work allows a robot to move vertically below the cables of other robots while avoiding contacts, while our approach restricts such paths and requires the robots to make a detour on the horizontal plane when necessary. This difference is illustrated in Figure 19, where the blue path is generated using Hert’s method while the orange curve is the trajectory generated using our approach. In practice, it is difficult to ensure the full tightness and straightness of a cable. Hence, moving below a cable presents a greater risk of collision than moving horizontally.

IX-C Multi-Robot Trajectory Planning with Static Obstacles



We conduct simulation of multiple tethered UAVs working in an environment placed with square obstacles, as shown in Figure 20. The starting positions of the UAVs are evenly distributed on a circle of radius m. Each UAV is tasked to move to the opposite point on the circle and then move back to its starting point, hence crossing of other UAVs’ cables and passing through obstacles are inevitable. The mission is considered successful if all robots return to their starting points at the end of the mission. UAV and cable dynamics are simulated using Unity game engine with AGX Dynamics physics plugin444https://www.algoryx.se/agx-dynamics/; collisions among cables, UAVs and static obstacles are simulated to detect contacts and entanglements. Forces and torques commands for UAV are computed in ROS using the trajectory output from the proposed planner and the UAV states obtained from Unity. We conduct simulation runs for numbers of robots ranging from to and record the computation time of each execution of front-end planning and back-end optimization, as well as the total time taken for each simulation. The results are shown in Table II. It is observed that:
|
|
|
|
|
|||||||||||||||||||
-
•
For front-end trajectory finding, the computation time increases with the number of robots. This is mainly due to the increasing possibility of blocking the routes by the collaborating robots or their cables (the route can be virtually blocked by a cable if crossing this cable is risking entanglement), causing the planner to take a longer time to find a detour and a feasible trajectory. However, the increase in computation time is small ( ms) and the planner still satisfies the real-time requirement for robots.
-
•
The back-end optimization has relatively consistent computation time ( ms), because the number of polynomial trajectories to be optimized is fixed regardless of the number of robots.
-
•
The average computation time for one planning iteration (including both the front end and the back end) is well below ms and suitable for real-time replanning during flights.
-
•
The time to complete the mission increases with the number of robots because more time is spent on waiting for other robots to move so that the cables no longer block the only feasible route.
-
•
The planner achieves mission success rate for numbers of robots less than or equal to . As the number of robots increases, the success rate drops but still maintains above for robots. Similar to the cases in Section IX-B, the failures are due to deadlocks, which are more likely to occur in a cluttered environment.
In all of the simulation runs, no entanglements are observed, showing the effectiveness of the proposed homotopy representation and the two-entry rule in detection and prevention of entanglements. However, the proposed two-entry rule is conservative in evaluating the risk of entanglements. For example, in reality, robot in Figure 17 may be able to reach its goal with a long cable; however, such a route is prohibited by the two-entry rule because it has to cross the cables of robot and . In essence, the proposed method sacrifices the success of a mission to guarantee safety, which is reasonable in many safety-critical applications. Additional features may be implemented to improve the success rate and resolve deadlocks. For example, in Figure 17, robot may request other robots to uncross its cable before moving to the goal. Alternatively, feasible trajectories of the robots can be computed in a centralized manner, before they are sent to each robot for optimisation. Nevertheless, such an approach will inevitably be more computationally expensive.
Overall, the proposed planning framework is shown to be capable of real-time execution and effective in preventing entanglement for different numbers of robots.
X Flight Experiments
We conduct flight experiments using self-built small quadrotors in a m indoor area. Each quadrotor is attached to a cable with a length of m connected to a ground power supply. Each quadrotor is equipped with an onboard computer with an Intel i7-8550U CPU, running the same ROS program as described in Section IX. All onboard computers are connected to the same local network through Wi-Fi. A robust tracking controller [37] is used to generate attitude and thrust commands from the target trajectory, which are sent to the low-level flight controller using DJI Onboard SDK. The parameters for the planner are chosen as s, m/s, , , , , , and the grid size for the kinodynamic graph search is m. The rate of planning is Hz. The quadrotors are commanded to shuttle between two positions in the workspace, as illustrated in Figure 21, which resembles an item transportation task in a warehouse scenario. The supplementary video shows an experiment in which each robot completes back-and-forth missions without incurring any entanglement. The tethered power supply enables longer mission duration than the -minutes flight time of the quadrotor under battery power. Figure 22 shows the command trajectories and the actual positions of a UAV during part of the experiment. The generated command trajectories show high smoothness in both X and Y axes, thus enabling good tracking performance of the robots.


XI Conclusion
In this work, we presented NEPTUNE, a complete solution for the trajectory planning for multiple tethered robots in an obstacle-ridden environment. Central to the approach is a multi-robot tether-aware representation of homotopy, which encodes the interaction among the robots and the obstacles in the form of a word, and facilitates the computation of contact points to approximate the shortened cable configuration. The front-end trajectory finder leverages the proposed homotopy representation to discard trajectories risking entanglements or exceeding the cable length limits. The back-end trajectory optimizer refines the initial feasible trajectory from the front end. Simulations in single-robot obstacle-rich and multi-robot obstacle-free environments showed improvements in computation time compared to the existing approaches. Simulation of challenging tasks in multi-robot obstacle-rich scenarios showed the effectiveness in entanglement prevention and the real-time capability. Flight experiments highlighted the potential of NPETUNE in practical applications using real tethered systems. Future works will focus on improving the success rate by introducing deadlock-resolving features and applications in a realistic warehouse scenario.
Appendix A Explanation of Homotopy Induced by Obstacles in a 3-dimensional Space

In a 2-D space, different homotopy classes are created due to the presence of obstacles (or punctures) in the space. For example, a path turning left at an obstacle is topologically different from a path turning right at the obstacle to reach the same goal. However, in a 3-D space, not all obstacles can induce different homotopy classes; only those containing one or more holes (those with genus equal to or more than 1) are able to do so. In our case, both the static obstacles and the cables attached to the drones are 3-D obstacles, but they generally contain no holes. Therefore, we manually close those 3-D obstacles using the following procedure. Since we restrict the planning robot to move above any other robots or obstacles, the space above them can be considered as virtual obstacles. We further extend the virtual obstacles along the workspace boundaries until they reach the respective bases or static obstacles. In Figure 23, the magenta and grey dashed lines outline the virtual obstacles created for the robot and obstacle respectively. Each 3-D obstacle, joined with its virtual obstacle, contains a hole, so that different homotopy classes can be induced by paths passing through the hole and paths passing outside the hole. Virtual 2-D manifolds can be created, as shown in Figure 23 by the blue and green planes. The sequence of the manifolds being intersected by a path can be recorded to identify the homotopy class of the path. We can observe the similarity between such a construction in 3-D space and the 2-D method discussed in Section V-A: given a 3-D space where all obstacles remain static, two methods produce the same word for a path that avoids passing above the obstacles and maintains a safe distance to the obstacles. We also gain an understanding of the loops in the 2-D case by looking at the 3-D case: the loops at the intersection between two 2-D manifolds do not physically wrap around any obstacles, hence they can be contracted to a point topologically. As shown in Figure 23, the red circle that cuts through manifolds , alternatively is null-homotopic.
Appendix B Sketch of Proof of Proposition V.5
The proof is based on the fact that, for a path lying in the universal covering space of a workspace consisting of polygonal obstacles, the shortest homotopic path can be constructed from the vertices of the obstacles, and the start and end points [30, 38]. Since only thin barrier obstacles are considered in our approach, the vertices are the surface points , , . Under Assumption V.1, a surface point can become a point on the shortest path only when the corresponding virtual segment has been crossed. Hence, it is sufficient to check only the surface points of the obstacles in .
Appendix C Computing Initial Z-Axis Trajectories
The generation of trajectories in Z-axis uses the properties of a clamped uniform b-spline. A clamped uniform b-spline is defined by its degree , a set of control points and knots , where , , and the internal knots to are equally spaced. It uniquely determines pieces of polynomial trajectories, each of a fixed time interval. It has the following properties of our interest[32]: (1) the trajectory defined by a uniform clamped b-spline is guaranteed to start at and end at ; (2) the first -th order derivatives (including -th order) at the start and the end of the trajectory uniquely determine the first and last control points respectively; (3) the -th order derivative of the trajectory is contained within the convex hull formed by the -th order control points, which can be obtained as
(14) |
, where denotes the -th order control point and . Using the above properties, we design an incremental control points adjustment scheme to obtain a feasible Z-axis trajectory. In our case , we would like to obtain pieces of trajectories, where is user-defined. Each trajectory has a time interval to be consistent with the kinodynamic search, hence . We firstly determine the first control points of the b-spline from the initial states , and , and set the last control points equal to the terminal target altitude . Then we set the middle points such that they are equally spaced between and . This setting corresponds to an initial trajectory that will start at the given states and reach with zero velocity and acceleration. Next, we check the dynamic feasibility of this trajectory by computing the velocity and acceleration control points using equation (14). The lower-order control points are adjusted if the higher-order points exceed the bound. For example, given that the acceleration exceeds the bound, , we adjust the velocity and position control points
(15) | |||
(16) |
so that the updated acceleration is within bound . The output trajectory satisfies all dynamic constraints while ending at a state as close to as possible. Finally, we convert the b-spline control points into polynomial coefficients using the basis matrices described in [39].
References
- [1] A. Mohiuddin, T. Tarek, Y. Zweiri, and D. Gan, “A survey of single and multi-uav aerial manipulation,” Unmanned Systems, vol. 08, no. 02, pp. 119–147, 2020.
- [2] E. Galceran and M. Carreras, “A survey on coverage path planning for robotics,” Robotics and Autonomous Systems, vol. 61, no. 12, pp. 1258–1276, 2013.
- [3] S. Liu, K. Mohta, N. Atanasov, and V. Kumar, “Towards search-based motion planning for micro aerial vehicles,” arXiv preprint arXiv:1810.03071, 2018.
- [4] X. Zhou, J. Zhu, H. Zhou, C. Xu, and F. Gao, “Ego-swarm: A fully autonomous and decentralized quadrotor swarm system in cluttered environments,” in 2021 IEEE International Conference on Robotics and Automation (ICRA), pp. 4101–4107, IEEE, 2021.
- [5] X. Zhou, Z. Wang, X. Wen, J. Zhu, C. Xu, and F. Gao, “Decentralized spatial-temporal trajectory planning for multicopter swarms,” arXiv preprint arXiv:2106.12481, 2021.
- [6] Z. Wang, X. Zhou, C. Xu, and F. Gao, “Geometrically constrained trajectory optimization for multicopters,” IEEE Transactions on Robotics, pp. 1–10, 2022.
- [7] J. Tordesillas and J. P. How, “Mader: Trajectory planner in multiagent and dynamic environments,” IEEE Transactions on Robotics, vol. 38, no. 1, pp. 463–476, 2022.
- [8] S. Kim, S. Bhattacharya, and V. Kumar, “Path planning for a tethered mobile robot,” in 2014 IEEE International Conference on Robotics and Automation (ICRA), pp. 1132–1139, IEEE, 2014.
- [9] S. Kim and M. Likhachev, “Path planning for a tethered robot using multi-heuristic a* with topology-based heuristics,” in 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 4656–4663, IEEE, 2015.
- [10] O. Salzman and D. Halperin, “Optimal motion planning for a tethered robot: Efficient preprocessing for fast shortest paths queries,” in 2015 IEEE International Conference on Robotics and Automation (ICRA), pp. 4161–4166, IEEE, 2015.
- [11] S. Aine, S. Swaminathan, V. Narayanan, V. Hwang, and M. Likhachev, “Multi-heuristic a*,” International Journal of Robotics Research, vol. 35, no. 1-3, pp. 224–243, 2016.
- [12] F. W. Sinden, “The tethered robot problem,” The International Journal of Robotics Research, vol. 9, no. 1, pp. 122–133, 1990.
- [13] S. Hert and V. Lumelsky, “The ties that bind: Motion planning for multiple tethered robots,” Robotics and autonomous systems, vol. 17, no. 3, pp. 187–215, 1996.
- [14] S. Hert and V. Lumelsky, “Motion planning in for multiple tethered robots,” IEEE Transactions on Robotics and Automation, vol. 15, no. 4, pp. 623–639, 1999.
- [15] X. Zhang and Q.-C. Pham, “Planning coordinated motions for tethered planar mobile robots,” Robotics and Autonomous Systems, vol. 118, pp. 189–203, 2019.
- [16] P. G. Xavier, “Shortest path planning for a tethered robot or an anchored cable,” in Proceedings 1999 IEEE International Conference on Robotics and Automation (Cat. No. 99CH36288C), vol. 2, pp. 1011–1017, IEEE, 1999.
- [17] P. Brass, I. Vigan, and N. Xu, “Shortest path planning for a tethered robot,” Computational Geometry, vol. 48, no. 9, pp. 732–742, 2015.
- [18] T. Igarashi and M. Stilman, “Homotopic path planning on manifolds for cabled mobile robots,” in Algorithmic Foundations of Robotics IX, pp. 1–18, Springer, 2010.
- [19] S. Bhattacharya, M. Likhachev, and V. Kumar, “Topological constraints in search-based robot path planning,” Autonomous Robots, vol. 33, no. 3, pp. 273–290, 2012.
- [20] E. Hernandez, M. Carreras, and P. Ridao, “A comparison of homotopic path planning algorithms for robotic applications,” Robotics and Autonomous Systems, vol. 64, pp. 44–58, 2015.
- [21] S. Bhattacharya and R. Ghrist, “Path homotopy invariants and their application to optimal trajectory planning,” Annals of Mathematics and Artificial Intelligence, vol. 84, no. 3, pp. 139–160, 2018.
- [22] S. McCammon and G. A. Hollinger, “Planning and executing optimal non-entangling paths for tethered underwater vehicles,” in 2017 IEEE International Conference on Robotics and Automation (ICRA), pp. 3040–3046, IEEE, 2017.
- [23] R. H. Teshnizi and D. A. Shell, “Computing cell-based decompositions dynamically for planning motions of tethered robots,” in 2014 IEEE International Conference on Robotics and Automation (ICRA), pp. 6130–6135, 2014.
- [24] Y. Diaz-Mercado and M. Egerstedt, “Multirobot mixing via braid groups,” IEEE Transactions on Robotics, vol. 33, no. 6, pp. 1375–1385, 2017.
- [25] C. I. Mavrogiannis and R. A. Knepper, “Decentralized multi-agent navigation planning with braids,” in Algorithmic Foundations of Robotics XII: Proceedings of the Twelfth Workshop on the Algorithmic Foundations of Robotics (K. Goldberg, P. Abbeel, K. Bekris, and L. Miller, eds.), pp. 880–895, Cham: Springer International Publishing, 2020.
- [26] C. Mavrogiannis, J. DeCastro, and S. S. Srinivasa, “Analyzing multiagent interactions in traffic scenes via topological braids,” in 2022 International Conference on Robotics and Automation (ICRA), pp. 5806–5813, IEEE, 2022.
- [27] Y. Chen, M. Cutler, and J. P. How, “Decoupled multiagent path planning via incremental sequential convex programming,” in 2015 IEEE International Conference on Robotics and Automation (ICRA), pp. 5954–5961, 2015.
- [28] C. E. Luis and A. P. Schoellig, “Trajectory generation for multiagent point-to-point transitions via distributed model predictive control,” IEEE Robotics and Automation Letters, vol. 4, no. 2, pp. 375–382, 2019.
- [29] A. Hatcher, Algebraic topology. Cambridge: Cambridge University Press, 2002.
- [30] J. Hershberger and J. Snoeyink, “Computing minimum length paths of a given homotopy class,” Computational Geometry, vol. 4, no. 2, pp. 63–97, 1994.
- [31] R. H. Teshnizi and D. A. Shell, “Motion planning for a pair of tethered robots,” Autonomous Robots, no. Latombe 1991, 2021.
- [32] B. Zhou, F. Gao, L. Wang, C. Liu, and S. Shen, “Robust and efficient quadrotor trajectory generation for fast autonomous flight,” IEEE Robotics and Automation Letters, vol. 4, no. 4, pp. 3529–3536, 2019.
- [33] J. Tordesillas and J. P. How, “MINVO basis: Finding simplexes with minimum volume enclosing polynomial curves,” arXiv preprint arXiv:2010.10726, 2021.
- [34] E. Gilbert, D. Johnson, and S. Keerthi, “A fast procedure for computing the distance between complex objects in three-dimensional space,” IEEE Journal on Robotics and Automation, vol. 4, no. 2, pp. 193–203, 1988.
- [35] Y. Ye and E. Tse, “An extension of karmarkar’s projective algorithm for convex quadratic programming,” Mathematical programming, vol. 44, no. 1, pp. 157–179, 1989.
- [36] C. H. Papadimitriou, “An algorithm for shortest-path motion in three dimensions,” Information Processing Letters, vol. 20, no. 5, pp. 259–263, 1985.
- [37] G. Cai, B. M. Chen, and T. H. Lee, Outer-Loop Flight Control, pp. 161–178. London: Springer London, 2011.
- [38] D. T. Lee and F. P. Preparata, “Euclidean shortest paths in the presence of rectilinear barriers,” Networks, vol. 14, no. 3, pp. 393–410, 1984.
- [39] K. Qin, “General matrix representations for b-splines,” The Visual Computer, vol. 16, no. 3-4, pp. 177–186, 2000.
![]() |
Muqing Cao received his Bachelor of Engineering (Honors) in Aerospace Engineering from Nanyang Technological University, Singapore. He is currently a Ph.D. candidate with the School of Electrical and Electronic Engineering, Nanyang Technological University, Singapore. He is also a research officer in Delta-NTU Corporate Laboratory for Cyber-Physical Systems, working on robot localization and navigation in environments with high human traffic. His research interests include multi-robot systems, tethered robots, motion planning, modeling and control of aerial and ground robots. |
![]() |
Kun Cao received the B.Eng. degree in Mechanical engineering from the Tianjin University, Tianjin, China, in 2016, and the Ph.D. degree in the School of Electrical and Electronic Engineering, Nanyang Technological University, Singapore, in 2021. He is currently the 2022 Wallenberg-NTU Presidential Postdoctoral Fellow with the latter school. His research interests include localization, formation control, distributed optimization, and soft robotics. |
![]() |
Shenghai Yuan obtained his Bachelor’s and Ph.D. degrees in electrical and electronic engineering from The Nanyang Technological University in Singapore in 2013 and 2019, respectively. He currently serves as a Research Fellow at the Centre for Advanced Robotics Technology Innovation (CARTIN) at Nanyang Technological University. The main focus of his research lies in perception, sensor fusion, robust navigation, machine learning, and autonomous robotics systems. He has participated in various robotics competitions and obtained a championship win in the 2011 Taiwan UAV Reconnaissance Competition, and was the finalist in the 2012 DAPRA UAVforge Challenges. Additionally, he was awarded the NTU graduate scholarship in 2013. He has also authored six patents and technological disclosures. His research work has been published in over 40 international conferences and journals. |
![]() |
Thien-Minh Nguyen received his B.E. (Honors) in Electrical and Electronic Engineering from Vietnam National University - Ho Chi Minh City in 2014, and Ph.D. degree from Nanyang Technological University (NTU) in 2020. He was a Research Fellow under STE-NTU Corporate Lab from Sep 2019 to Nov 2020. He is currently the 2020 Wallenberg-NTU Presidential Postdoctoral Fellow at the School of EEE, NTU, Singapore. Dr. Nguyen’s research interests include perception and control for autonomous robots, learning and adaptive systems, multi-robot systems. He received the NTU EEE Best Doctoral Thesis Award (Innovation Category) in 2020, 1st Prize for Vietnam Go Green in the City competition in 2013, and Intel Engineering Scholarship in 2012. |
![]() |
Lihua Xie received the Ph.D. degree in electrical engineering from the University of Newcastle, Australia, in 1992. Since 1992, he has been with the School of Electrical and Electronic Engineering, Nanyang Technological University, Singapore, where he is currently a professor and Director, Delta-NTU Corporate Laboratory for Cyber-Physical Systems and Director, Center for Advanced Robotics Technology Innovation. He served as the Head of Division of Control and Instrumentation from July 2011 to June 2014. He held teaching appointments in the Department of Automatic Control, Nanjing University of Science and Technology from 1986 to 1989. Dr Xie’s research interests include robust control and estimation, networked control systems, multi-agent networks, localization and unmanned systems. He is an Editor-in-Chief for Unmanned Systems and has served as Editor of IET Book Series in Control and Associate Editor of a number of journals including IEEE Transactions on Automatic Control, Automatica, IEEE Transactions on Control Systems Technology, IEEE Transactions on Network Control Systems, and IEEE Transactions on Circuits and Systems-II. He was an IEEE Distinguished Lecturer (Jan 2012 – Dec 2014). Dr Xie is Fellow of Academy of Engineering Singapore, IEEE, IFAC, and CAA. |