Planning coordinated motions for tethered planar mobile robots

Planning coordinated motions for tethered planar mobile robots

Xu Zhang Quang-Cuong Pham Singapore Centre for 3D Printing, School of Mechanical & Aerospace Engineering,
Nanyang Technological University, 50 Nanyang Avenue, 639798, Singapore
Abstract

This paper considers the motion planning problem for multiple tethered planar mobile robots. Each robot is attached to a fixed base by a flexible cable. Since the robots share a common workspace, the interactions amongst the robots, cables, and obstacles pose significant difficulties for planning. Previous works have studied the problem of detecting whether a target cable configuration is intersecting (or entangled). Here, we are interested in the motion planning problem: how to plan and coordinate the robot motions to realize a given non-intersecting target cable configuration. We identify four possible modes of motion, depending on whether (i) the robots move in straight lines or following their cable lines; (ii) the robots move sequentially or concurrently. We present an in-depth analysis of Straight & Concurrent, which is the most practically-interesting mode of motion. In particular, we propose algorithms that (a) detect whether a given target cable configuration is realizable by a Straight & Concurrent motion, and (b) return a valid coordinated motion plan. The algorithms are analyzed in detail and validated in simulations and in a hardware experiment.

keywords:
multi-robot motion planning, tethered robots
journal: Robotics and Autonomous Systems

1 Introduction

In many applications, tethers are used to provide power and resources to robots or used as a communication link nassiraei2007concept ; hong1997tethered ; zhang2018large , especially in extreme environments, such as in underwater, disaster recovery and rescue pratt2008use ; michael2012collaborative ; StephenCass . While tethering helps in communication and resource delivery, it also poses challenges to robot control and planning. The limited-length cable restricts the mobile robot to the workspace around its home station. In addition, due to the presence of obstacles and cables, certain positions can be reached by robot only under specific robot cable configurations. Under many circumstances, multiple tethered robots have to cooperate and work together in a shared workspace pratt2008use ; michael2012collaborative ; mcgarey2016system ; zhang2018large , which introduces more constraints to the planning and control problems. More specifically, in the large-scale, multi-robot 3D Printing system zhang2018large , the tethers are indispensable to deliver the fresh concrete from the mixer to the print nozzle. Consider also the cable-cable interaction and robot-cable interaction when multiple tethered robots are deployed for terrain and harsh environment exploration pratt2008use ; michael2012collaborative ; mcgarey2016system . It is important to make sure that the cables are not entangled while the robots move to their target positions, considering the above mentioned interactions and obstacle avoidance.

(a)
(b)
Figure 1: An example of coordinated motion planning problem for three tethered mobile robots. (a) Each robot () must move from its starting position towards its target position , while being tethered to . The desired configuration of the cables at the end of the motions are depicted in solid lines. This paper proposes an algorithm to plan simultaneous, straight-line, motions of the robots to realize the desired cable configuration. We show in particular that the motion priority at the intersection points is critical. (b) Hardware implementation of the coordinated motion. See full video of the experiment at https://youtu.be/Wdk9E0bB4yA.

Here we consider multiple tethered planar (point) mobile robots sharing a common workspace. Each robot is attached to a fixed base by a flexible cable, which is kept taut at all times. The cable can be pushed by other robots, and can bend around other robots or obstacles. The assumptions are consistent with the requirements of the tethers in many practical applications, such as the material-delivery tethers in the concrete 3D Printing system zhang2018large , or in terrain explorer system mcgarey2016system . Previous work has studied the problem of detecting whether a target cable configuration is intersecting (or entangled) hert1997planar . Here, we investigate the motion planning problem to realize a given non-intersecting target cable configuration. More precisely, we study four possible modes of motion – Straight/Sequential and Straight/Concurrent, Bent/Sequential, Bent/Concurrent, depending on whether (i) the robots move in straight lines or following their cable lines; (ii) the robots move sequentially or concurrently.

(a)

(b)

(c)
Figure 2: An example of planning for a target cable configuration by different modes of robot motion. (a) Bent/Sequential mode. The target cable configuration can be achieved when robots move in the order: , and . Dotted cable lines retract to solid ones since the cables are kept taut at all times. (b) Straight/Sequential mode. The target cable configuration CANNOT be achieved by this mode of motion. The example shows how the final result deviates from the target cable configuration. (c) Straight/Concurrent mode. The target cable configuration can be achieved when robots move along the straight-line segments at the same velocity.

1.1 Illustrative example

To illustrate some of the difficulties, consider a scenario with three tethered robots as in Fig. 1: each robot () tethered to its starting base must navigate from to its target position . The target cable configuration as shown in solid lines has to be achieved upon arrival of all robots.

In Bent/Sequential mode, the target cable configuration can be achieved, for example, in the order: , and . Since the cables are kept taut at all times, when first moves along , its cable retracts to the straight-line segment when it reaches . Then moves along , pushing cable to the layout as it reaches , and retracts to . Finally moves along and pushes cable to the layout . Since has already arrived at , cable will bend around it and remain at its final layout as . The target cable configuration is thus achieved (see Fig. 2(a)). Note that the configuration can also by achieved by Bent/Concurrent mode where the robots move simultaneously following their cable lines.

However, simply following robots’ cable lines is not the most desirable motion scheme. Compared to Bent motion, Straight-line robot motion offers the following benefits:

  1. Straight-line robot motion reduce traveling distance, which in turn improves time and energy efficiency. Take the two target cable configurations provided in this paper for example. To achieve the target cable configuration in Fig. 1 and Fig. 7(a), straight-line robot motion saves respectively 30% and 20% of the traveling distance compared to robot motion that follows cable lines.

  2. It is well-known that in robot localization, rotational and curved translational motions induce larger estimation errors than straight motions, in relation to both Inertial Measurement Unit (IMU) and odometry siegwart2011introduction . Thus, by using the Straight mode, one can significantly reduce localization errors;

  3. Working environment safety could be enhanced as straight-line robot motion is more predictable for the workers who need to collaborate or work in the same environment with the robots;

The first benefit motivates the work by Hert and Lumelsky hert1994ties , where an algorithm is proposed for robots to achieve a given target cable configuration by Straight/Sequential motion. Straight/Sequential mode improves the efficiency at the sacrifice of realizability, which is illustrated in Fig. 2(b). Suppose the robots move in the order of , and along , and respectively. Upon arrival of at and at , we can obtain the same cable configuration as under Bent/Sequential motion, but after that, must push in order to navigate to , which violates the target cable configuration, resulting in a deadlock. In their later work HERT1996187 , Straight/Concurrent mode is considered, but the concurrent motions are not leveraged to solve deadlocks. Yet, considering again the example of Fig. 1, concurrency can be leveraged to solve the deadlock as follows: , and move along their straight-line segments at the same velocity (see Fig. 2(c)). By doing so, they will indeed pass respectively points , and at the same time, which in turn satisfies the requirement that passes before does, passes before does, and passes before does. The general algorithm to produce such a schedule is one of the main contributions of the present paper.

1.2 Contributions and organization of the paper

Our contribution in this work is three-fold. First, we systematically examine the realizability of a target cable configuration by the above mentioned four modes of motion. We then present a further analysis of Straight/Concurrent motion, which is the most practically-relevant mode. Second, we propose algorithms to detect whether a given target cable configuration is realizable by Straight/Concurrent motion. Third, our algorithms return a valid coordinated motion plan if there exists a solution. In addition, we provide some corrections to the algorithms presented in hert1997planar to detect whether a cable configuration is intersecting.

The remainder of this article is organized as follows. In Section 2, we review related works in motion planning for single and multiple tethered robots. In Section 3, we introduce the background on non-intersecting cable configurations, formulate the planning problem for multiple tethered robots, and survey the realizability of cable configurations by the four modes of motion. In Section 4, we present our planning algorithms for Straight/Concurrent robot motion in detail. In Section 5, we report experimental results in simulation and in hardware. Finally, we conclude our work in Section 6.

2 Related work

2.1 Single tethered robot

Motion planning for a single tethered robot mainly falls into two topics: 1) shortest path planning; 2) coverage and terrain exploration.

2.1.1 Shortest path planning

There has been active research on planning the shortest path for a tethered robot to navigate from a starting position to a target position. Methods developed by Xavier xavier1999shortest and Xu et al. Xu2012AnIA are similar: they construct a visibility graph based on the triangulation of the environment, and perform an almost-exhaustive enumeration of graph paths in the selected homotopy class. In igarashi2010homotopic ; kim2014path ; kim2015path , the authors approached the problem by using a conception of homotopy classes of the cables. The difference between these papers lies in the way they identify homotopy classes. Igarashi and Stilman igarashi2010homotopic use distance from the initial vertex that entirely based on a metric, which under certain circumstances would fail to identify that two vertices in the graph represent two different homotopy classes. To avoid this failure, Kim et al. kim2014path ; kim2015path use a true homotopy invariant (h-signature) to construct a h-augmented graph that explicitly bears the topological information. The method is capable of producing an optimal result based on a discretized workspace. Similar concepts are also applied to plan for manipulation and transportation of objects on the plane using tethered mobile robots bhattacharya2015topological . In another recent study salzman2015optimal that is built on kim2014path ; kim2015path , the authors use a visibility-graph based approach instead of the grid-based approach, and extend the point robot assumption to polygonal (translating) robot. Unlike prior work that generally adopts off-line global discretization of the configuration space, Teshnizi and Shell teshnizi2014computing decompose the environment into cells using a subset of the visibility graph. The approach enables dynamic generation of necessary parts of the space, which in turn, improves efficiency of the proposed method. In their later work teshnizi2016planning , they generalize the decomposition method to solve the planning problem for a robot attached to a stiff tether.

2.1.2 Coverage and terrain exploration

Coverage and extreme terrain exploration have also been studied regarding planning for tethered robots. Shnaps and Rimon shnaps2014online present an online algorithm considering the case where a tethered robot has to cover an unknown planar environment that contains obstacles, and returns back to the base. Abad-Manterola et al. abad2011motion give a motion planner for an Axel tethered robotic rover on steep terrains whose geometry is known a priori with high precision. Their work is later extended to the case where the terrain information is not fully known beforehand tanner2013online . In mcgarey2016line , a nonvisual tether-based localization and mapping technique based on FastSLAM is developed and tested on the Tethered Robotic eXplorer (Axel). The online particle-filter approach is then expanded to TSLAM mcgarey2017tslam . Using the same Axel platform with customized tether controller, the authors demonstrate visual route following for extreme terrain exploration mcgarey2017falling . Visual route following for a tethered mobile robot is also discussed in tsai2013autonomous , without addressing tether management.

2.2 Multiple tethered robots

There are two major streams pertaining to multiple tethered robots planning: 1) cooperative control and manipulation; 2) navigation from respective starting to target positions.

2.2.1 Cooperative control and manipulation

In  yamashita1998cooperative , the authors propose a method that make multiple mobile robots accomplish tasks with the cables act as tools connected between the robots. Similarly, in  bhattacharya2011cooperative , the authors address the cooperative control of two autonomous surface vehicles for oil skimming and cleaning.

2.2.2 Robot navigation

Khuller et al. khuller1998graphbots plan for a team of robots to move from any starting location to any goal destination in a graph-structured space simultaneously while maintaining a particular configuration.

In some other applications, instead of keeping a particular formation, each of the robots needs to navigate to a different location for a specific task, where cable entanglement avoidance emerges as a crucial challenge. There are some remarkable works by Hert and Lumelsky in this field of study. In hert1994ties ; hert1999motion , to achieve tangle-free planning, robots are prioritized and scheduled to move sequentially in a common planar and spatial environment that is free of obstacles. However, the sequential motion of a group of robots is not efficient and the planning may fall in deadlock under certain circumstances. Although simultaneous robot motion is mentioned in their later work on planar workspaces HERT1996187 , it is not leveraged to solve deadlocks. Another work by Sinden provides an algorithm for scheduling multiple robots moving simultaneously while avoiding tether tangling, but only under some special cases sinden1990tethered .

2.3 Summary

In this work, we consider the robot navigation problem for multiple tethered planar mobile robots. We aim at examining the realizability of a target cable configuration by different modes of robot motion, and developing path planning algorithms for the robots to achieve the given target cable configuration by Straight/Concurrent motion.

3 Background: non-intersecting target cable configurations and realizability

3.1 Problem formulation

Consider point robots on a planar workspace . Each robot , , must navigate from its starting position to its target position , while being attached to by a flexible cable. The cables are assumed to remain on the ground and to be taut at all times; they can bend around other robots, and be pushed by other robots.

Definition 1 (Cable line, cable configuration).

Because of the assumption that the cables are taut and can only bend around point robots, the cable of any robot at any time instant is a polygonal chain, which we call the robot’s cable line. The final (target) cable line of a robot is the (desired) state of the robot’s cable line after all robots have reached their target positions.

A cable configuration consists of the cable lines of all robots at a given time instant. A final (target) cable configuration is the (desired) cable configuration after all robots have reached their targets.

Cable polygon in the following definition was originally defined as retraction polygon in hert1994ties .

Definition 2 (Cable polygon).

The cable polygon of a given robot is formed by closing the robot’s target cable line with the straight-line segment joining the robot’s starting and target positions.

We now introduce two important assumptions.

Assumption 1 (Starting positions and cable polygons).

The starting position of a robot does not belong to any cable polygon , .

Assumption 1 fully covers the hypotheses of previous works hert1994ties ; hert1999motion , which assume that is a convex polygon and that all starting positions lay on the boundary of . The extension to more general cases with obstacles present in the environment is discussed in C.

Assumption 2 (No self loop).

When a target cable line contains repeated waypoints, we say that it contains self loops (see Fig. 3(a)) We assume that there is no self loop in any target cable line.

self loops are obviously redundant and there is always a better solution. An example is presented in Fig. 3: The target cable configuration in Fig. 3(a) is valid in the sense that no cable tangle happens, but it is highly inefficient and can be replaced with an alternative simple cable layout as shown in Fig. 3(b).

(a) An example of cable self loop.
(b) An alternative simple cable layout.
Figure 3: An example of cable self loop and its alternative simple layout.

3.2 Non-intersecting target cable configurations

We say that a cable configuration is non intersecting if no pair of cable lines in that configuration intersect each other. In hert1997planar , the problem of finding non-intersecting target cable configurations is formulated as a graph problem. contains all starting points {} and target points {} in its node set , and all edges in the form of () in its edge set . Finding non-intersecting target cable configuration is now equivalent to finding a set of consecutive edges from to for each robot while observing cable property. An algorithm using exhaustive search method with pruning is suggested to identify and eliminate every route intersection case, producing all possible non-intersecting cable configurations. Regarding the cable intersection detection algorithm, readers may refer to hert1997planar for more details. Note however that the algorithm would fail under certain circumstances. We discuss the failure cases and provide corrections in B.

3.3 Realizability of non-intersecting target cable configurations

We now study the realizability of a given non-intersecting target cable configuration (in the following text we shall omit the term “non-intersecting” when there is no possible confusion).

There are four reasonable modes of motion: Bent/Sequential, Bent/Concurrent, Straight/Sequential and Straight/Concurrent. Straight and Bent refer to the route that the robots have to follow during the navigation: Straight denotes that the robots moves in straight lines from their starting positions directly towards target positions, while Bent indicates that the robots follow their target cable lines. Meanwhile, Sequential and Concurrent refer to the schedule of the robot motion: Sequential indicates that the robots are prioritized and they have to move towards their target positions one at a time, while Concurrent denotes that the robots move to target positions simultaneously. The solution spaces of these different modes of motion is shown in Fig. 4, and a thorough analysis is presented in the following sections.

Figure 4: Solution spaces of the different modes of motion (Bent, Straight/Concurrent, Straight/Sequential).

3.3.1 Realizability by Bent/Sequential

It is proved in hert1994ties that: “If each robot moves along its target cable line, the final cable configuration will be the same as the target cable configuration.” Note that the proof is non-trivial because of the assumption that the cables remain taut at all time. A robot’s cable line will thus deform and auto-retract to maintain tautness if the robots that cause bends in its target cable line are not yet in position.

3.3.2 Realizability by Bent/Concurrent

It is straightforward to infer that Bent/Sequential could be regarded as an extreme case of Bent/Concurrent. Since Bent/Sequential mode of motion is proved to be able to achieve any feasible target cable configuration, it follows that Bent/Concurrent can produce a solution for any feasible target cable configuration as well.

The most efficient motion for this mode would be “just move”, which means that the robots move along their target cable lines at the same time. When robot passes point on its target cable line, if has already been occupied by robot , cable wraps from the desired direction; if has not reached yet, will be retracted and will be pushed by later from the correct side (see Fig. 5).

(a)
(b)
Figure 5: An illustration of realizability by Bent/Concurrent. When passes : (a) has reached . wraps around at ; (b) has not reached yet. retracts to the dotted line and is pushed by at during ’s navigation later.

Compared to Bent/Sequential motion, Bent/Concurrent requires less execution time as robots do not need to wait and move one by one. However, restricting the robots to move along their target cable lines is still a waste of time and energy. The most efficient motion scheme would be straight-line motion for robots to navigate from starting to target positions.

3.3.3 Realizability by Straight/Sequential

In hert1994ties , Hert and Lumelsky provide an algorithm where robots are prioritized and scheduled to move sequentially in a straight line as much as possible. In this case, “each robot must move before any robot its cable line bends around has moved” hert1994ties . With this observation, a directed graph can be constructed: each vertex in the graph represents a robot, and a directed edge from to implies that robot must move before . The order of robot motions can then be determined by extracting at each step the root node of the graph, which corresponds to the robot that does not have to wait for any other robots. In the event of loop occurrence in the graph, the robot motion falls in deadlock situation. As an illustration, Fig. 6 is the directed graph constructed from Fig. 1. Since cable , and have to wrap around robot , and at their target positions respectively, a loop is formed in the directed graph, and no root node can be extracted in this case. Therefore, there is no feasible solution for the target cable configuration by Straight/Sequential motion, leading to a deadlock situation.

Figure 6: The corresponding directed graph hert1994ties for the target cable configuration in Fig. 1. A directed loop implies that it is a deadlock situation for Straight/Sequential motion.

This approach is intuitive, but it fails to detect all possible deadlocks. Consider the scenario depicted in Fig. 7(a), which is a deadlock situation for Straight/Sequential motion. However, with its corresponding directed graph as shown in Fig. 7(c), the robots’ motion order is extracted, and eventually leads to a wrong final cable configuration as shown in Fig. 7(b) hert1994ties .

(a) The given target cable configuration.
(b) Actual final cable configuration following motion order extracted from the directed graph.
(c) Directed graph for order extraction.
Figure 7: An example of deadlock detection failure for Straight/Sequential motion with the algorithm proposed in hert1994ties .

A later work by Hert and Lumelsky HERT1996187 supplements the previous algorithm. In addition to the previous rule, they consider each pair of robots and that satisfies the following constraints:

  1. there is no directed edge between and in the directed graph;

  2. the straight-line paths of and cross each other.

Then an edge from to is added to the graph if is in the cable polygon of , and vice versa. This supplemented constraint plays an important role in deadlock detection. Recall the target cable configuration in Fig. 7(a). With this supplemented constraint, an edge from to should be added to Fig. 7(c), forming a directed loop , which reveals the deadlock nature of the target cable configuration by Straight/Sequential motion. However, this algorithm is still not complete in detecting all possible deadlock situations. It fails to include the case when straight-line paths of robots do not cross each other, but their target points are in each other’s cable polygon. This case is a deadlock situation for Straight mode, and is illustrated in Fig. 9(e, f). We define it as pair deadlock, and detail the conception in Section 4.2.

3.3.4 Realizability by Straight/Concurrent

Straight/Sequential motion improves the efficiency compared to the Bent modes due to its shorter paths, yet it is a waste of time if the target cable configuration can be achieved by concurrent robot motion.

It is not difficult to infer that the solution space of Straight/Concurrent mode covers that of Straight/Sequential mode. In other words, target cable configurations that can be achieved by Straight/Sequential motion can also be achieved by Straight/Concurrent motion, with a more efficient solution; deadlock conditions for Straight/Concurrent motion must also be deadlock conditions for Straight/Sequential motion.

Although in HERT1996187 , the simultaneous motion of robots is discussed, it is not leveraged to solve deadlocks. Take Fig. 7(a) as an example. As an output from their algorithm, the target cable configuration is a deadlock situation, and the path for is . However, this target cable configuration is shown to be realizable by Straight/Concurrent motion with the algorithms we present in the next section.

3.3.5 Summary

In this paper, we propose algorithms that (a) detect whether a given target cable configuration can be achieved by Straight/Concurrent motion, and (b) return a valid coordinated motion plan, if applies. When there is no feasible solution, some robots will be selected to move along their target cable lines to maintain the correctness of the final cable configuration.

4 Algorithm for Straight/Concurrent motion

4.1 Overview of the algorithm

The flow of the algorithm is as follows (see Fig. 8): given an input target cable configuration,

Figure 8: Flow of the algorithm.
  1. construct the Pair Interaction Graph (PIG), which encodes the interactions between pair of robots based on their cable polygons;

  2. detect pair deadlocks in the PIG, and solve them (prune the PIG) by assigning one robot of each pair deadlock to follow its target cable line;

  3. from the pruned PIG, construct the Network Interaction Graph (NIG), which encodes the network interactions induced by the pair interactions, taking into account the intersections of robot paths;

  4. detect network deadlocks in the NIG, and solve them (prune the NIG) by assigning one robot involved in each network deadlock to follow its cable line;

  5. from the pruned NIG, compute the final motion schedule.

The different steps of the algorithm are detailed in the following sections.

4.2 Constructing the Pair Interaction Graph (PIG)

We consider first the elementary interactions that occur between a pair of robots. Those interactions are determined by the position of one robot’s target with respect to the other robot’s cable polygon (recall from Assumption 1 that a robot’s starting position is always outside other robots’ cable polygons). Given a pair of robots , there are thus four types of pair interactions: (1) , [Fig. 9(a)]; (2) , [Fig. 9(c)]; (3) , ; (4) , [Fig. 9(e)]. Note that types 2 and 3 are symmetrical and will be treated together.

Figure 9: Pair robot interactions are determined by the position of targets with respect to cable polygons. Left (a, c, e): cable polygons for type (1), (2-3), and (4) respectively. Right (b, d, f): retracted cable polygons after removing robots that are not involved in the pair interaction.

Since we are interested in pair interactions, we suppose that the other robots are temporarily removed from the problem (multi-robot interactions will be addressed in Section 4.4). As a result, the cable polygons are retracted as in Fig. 9(b, d, f). Note that the retraction process does not affect the interaction types just described.

The following propositions establish the motion priorities induced by each type of pair interactions.

Proposition 1.

If and , then there are no priority induced by the pair interaction.

Proof.

We prove in A that, in this case, the two segments and do not intersect. Thus, the retracted cable polygons are reduced to two independent segments [Fig. 9(b)], inducing no motion priority between and . ∎

Proposition 2.

If and , then, with denoting the intersection point between and , must pass before does.

Proof.

We prove in A that, in this case, the two segments and must intersect, at a point . One can then see that must pass before does. Fig. 9(d) illustrates this statement: the motion paths and intersect at and . Clearly, must pass before does, so that can “push” the cable line of . ∎

Proposition 3.

If and , then there is a deadlock, which we call a pair deadlock. One of the two robots must diverge from the straight line motion.

Proof.

We prove in A that, in this case, the two segments and do not intersect. This case implies a deadlock situation, which we call pair deadlock, as illustrated in Fig. 9(f). The motion paths and do not intersect, but and . When and move along their motion paths, the final cable configuration will be two independent segments and , which are different from their retracted polygons as shown in Fig. 9(f). In this case, () has to diverge from the straight line motion and move around () in order to push () to the desired target cable configuration. ∎

Based on the above propositions, we can formulate Algorithm 1 to encode pair interactions. The algorithm constructs a directed graph, termed the Pair Interaction Graph (PIG), whose vertices represent the robots, and whose edges encode motion priority relationships: (1) if there is a unidirectional edge pointing from vertex to vertex , then robot must pass the intersection point before ; (2) if there is a bidirectional edge between vertex and vertex , then there is a pair deadlock.

0:  Target cable configuration
0:  Pair Interaction Graph (PIG)
1:  for  do
2:     Add a vertex for each robot
3:  end for
4:  for  do
5:     for  do
6:        if  & intersect at  then
7:           if  then
8:              Add an edge from to , labeled
9:           else
10:              Add an edge from to , labeled
11:           end if
12:        else if  & then
13:           Add a bi-directed edge between and
14:        end if
15:     end for
16:  end for
Algorithm 1 Constructing the Pair Interaction Graph

4.3 Detecting and solving pair deadlocks

When a pair deadlock occurs, one of the two robots must diverge from the straight line motion. Consider the deadlock case of Fig. 9(f): the deadlock can be solved by (i) one robot, say , moves in a straight line from to ; (ii) the other robot, , follows its target cable line (start from , wrap around , then go to ). Although motion paths other than the robot target cable line are possible in stage (ii), we shall not consider them to avoid too much complexity.

Accordingly, we propose the following steps to address pair deadlocks:

  1. Detect all pair deadlocks (by finding all bi-directional edges in the PIG), and put the robots involved in those deadlocks into a list ;

  2. Iteratively extract one robot, say , from ; put it in a list ; remove completely from the problem; update accordingly the PIG and ; repeat until is empty.

At the end of this algorithm, one has a list of robots that will be forced to follow their target cable lines after all other robots have moved, and a PIG that no longer contains pair deadlocks (pruned PIG).

In step 2, there are diverse methods to choose which robot to remove first from the problem. One can for instance choose the robot that is involved in the largest number of pair deadlocks, or the one whose target cable line generates the largest detour as compared to the straight line.

4.4 Constructing the Network Interaction Graph (NIG)

We have seen in Section 4.2 that pair interactions of type 1 do not induce priority, while pair interactions of type 4 induce deadlock situations, which are subsequently solved by forcing one of the robots of the pairs to follow its target cable line. As also discussed, pair interactions of types 2 and 3 give rise to priority relationships between the two robots of the pair at their intersection point. These relationships can in turn lead to network interactions if some robots are simultaneously involved in more than one pair interactions.

To illustrate, consider the scenario depicted in Fig. 10(a). The pair interactions give rise to the PIG of Fig. 10(c), which includes a circular priority chain. Yet, this situation is not deadlocked, since the following coordinated motion leads to the correct target cable configuration: , and move along their motion paths at the same velocity. By doing so, they will indeed pass respectively points , and at the same time, which in turn satisfies the requirement that passes before does, passes before does, and passes before does.

Consider now the scenario depicted in Fig. 10(b). The pair interactions give rise to the same PIG of Fig. 10(c). However, one can see that the situation is deadlocked. The intersection points between each pair of robots have different relative positions along robots’ motion paths now: is closer to than , is closer to than , and is closer to than . Indeed, the constraint imposed by the three directed edges in PIG (see Fig. 10(c)) implies that passes before passes , passes before passes , and passes before passes . It is thus clear that the situation is deadlocked.

(a) A non-deadlock configuration for Straight/Concurrent.
(b) A deadlock configuration for Straight/Concurrent.
(c) Pair interaction graph (same for both configurations).
(d) Network interaction graph for non-motion deadlock case.
(e) Network interaction graph for motion deadlock case.
Figure 10: Network interactions are determined, not only by the priority relationship between the robots at their intersection point, but also by the relative arrangement of the intersection points.

It appears from the two scenarios discussed above that correctly handling network interactions requires taking into account, not only the priority relationship between the robots at their intersection points, but also the relative arrangement of those intersection points. To encode this information, we propose to construct the Network Interaction Graph (NIG) whose vertices are the events “robot passes intersection point ”, denoted , and whose directed edges encode the temporal relationships among the events, as follows [see Fig. 10(d, e) for illustrations]:

  1. For each robot of the PIG, add to the NIG a chain : , where are the ordered intersection points along the segment ;

  2. For each edge of the PIG, add to the NIG a directed edge from (in ) to (in ).

4.5 Detecting and solving network deadlocks

We can now state and prove the following proposition.

Proposition 4.

If the NIG contains a directed cycle, then there exists a network deadlock.

Proof.

Note that an edge added in step 1 of the algorithm to construct the NIG (intra-chain edge) encodes the requirement that robot must pass point before point . We note this relationship .

An edge added in step 2 (inter-chain edge) encodes the requirement that robot must pass point before robot passes . We note this relationship .

Observe that the relationship “” just defined, by its temporal nature, is a strict order relationship in the set of events, i.e. it verifies the irreflexivity, antisymmetry, and transitivity properties.

Consider now a directed cycle in the NIG. Such a cycle induces a cycle for the strict order relationship “”, which is clearly not satisfiable. Therefore, there exists at least one priority requirement that cannot be satisfied in the cycle, i.e. a deadlock situation. ∎

When there is a network deadlock, one of the involved robots has to diverge from the straight-line motion, similarly to the pair deadlock case. Accordingly, we propose the following steps to address network deadlocks:

  1. Detect all network deadlocks (by finding all directed cycles in the NIG), and put the robots involved in those deadlocks into a list ;

  2. Iteratively extract one robot, say , from ; put it in the list (the same as used previously for solving pair deadlocks); remove completely from the problem; update accordingly the NIG and ; repeat until is empty.

At the end of this algorithm, one has a list of robots that will be forced to follow their target cable lines after all other robots have moved, and a NIG that no longer contains network deadlocks (pruned NIG).

Similarly to the case of pair deadlocks, there are diverse methods, in step 2, to choose which robot to remove first from the problem. One can for instance choose the robot that is involved in the largest number of network deadlocks, or the one whose target cable line generates the largest detour as compared to the straight line.

4.6 Computing the final motion schedule

When we coordinate the motion of a pair of robots at the intersection point of their motion paths, we could either make the lower priority robot wait until the higher priority robot passes the point, or adjust the speed of the robots to produce continuous motions. In this work, the waiting scheme is adopted for illustration. A coordinated motion plan with shortest traveling time is generated if the target cable configuration can be achieved by Straight/Concurrent robot motion.

In the following procedures, and denote the predecessor and successor of on the chain respectively. represents the time-line for robot , and is the time-stamp on , upon which robot starts to navigate from to . Weight of node indicates the amount of time that takes to travel from to .

From the NIG (which we suppose does not contain any cycle), we can extract a coordinated motion schedule for the robots to achieve the target cable configuration as follows:

  1. For each chain of the NIG, , calculate and assign the weight to every node (weight is for );

  2. Initialize time-line for each robot , ;

  3. For the root node in ,

    1. If there is no incoming inter-chain edge from any , append traveling time to , and remove from the NIG;

    2. If there is an incoming inter-chain edge from an already removed node in , must be appended to at a time-stamp that is no earlier than 111Here we use a relaxed chronological order no earlier than for a directed inter-chain edge from in to in in order to exempt from the unnecessary waiting time for the whole duration ., after which and this incoming inter-chain edge are removed from the NIG;

  4. Repeat step 3 until there is only the node left in each chain of the NIG;

  5. Make robots in move along their target cable lines after all other robots have reached their target positions.

A detailed example is presented in Section 5.

4.7 Complexity of the algorithms

We now analyze the complexity of the algorithms just presented as a function of the number of robots. Note first that, for each robot , the number of vertices (and edges) of its cable polygon is since it is bounded by the total number of robots (the cables can only wrap around other robots).

4.7.1 Pair Interaction Graph

To construct the PIG, the step with the highest complexity is to check whether for all pairs . The test has a linear complexity in the number of edges of , which is . Thus, the construction of the PIG has a complexity of .

Detecting pair deadlocks involves finding all bi-directional edges in the PIG and can therefore be done in .

There are potentially deadlocked robots. For a deadlocked robot, say robot , one needs to remove it and update the PIG accordingly, which can be done in . Thus, pruning the PIG can be done in .

4.7.2 Network Interaction Graph

To construct the NIG, the main step is to compute, for each robot , the intersections of with all the and order those intersections along . This can be done in .

Detecting network deadlocks involves checking whether the NIG has a cycle, which can be done in (topological sort). Pruning the NIG can be done in .

4.7.3 Motion schedule

The algorithm for scheduling the robot motions is linear in the number of nodes of the NIG and is therefore .

From the above analysis, the worst time-complexity of the full pipeline is .

5 Examples

5.1 An example from Hert & Lumelsky 1996

In this section, we validate our proposed algorithms with the example previously shown in Fig. 7(a), which is a deadlock situation for Straight/Sequential motion. We show that the target cable configuration can be achieved by Straight/Concurrent motion and does not need to take a detour as in the output of the algorithm in HERT1996187 .

The intermediate stages of achieving the target cable configuration with our proposed algorithms are shown in Fig. 11. In addition, a step-wise illustration of motion scheduling is presented in Fig. 12.

(a) The given target cable configuration.
(b) (S, T) straight-line segments of the robots with labels for intersection points.
(c) Pair interaction graph.
(d) Network interaction graph.
Figure 11: The proposed algorithms are validated with a deadlocked target cable configuration for Straight/Sequential motion.

To avoid the wrong final cable configuration as shown in Fig. 7(b), must pass before does. It is not possible in Straight/Sequential motion, since has to reach its target position before does. However, moving in Straight/Concurrent motion following the local navigation priority as indicated in Fig. 11(d), which contains no directed cycle, the target cable configuration can be achieved successfully.

(a) Initialized time-lines for the robots.
(b) The weighted NIG.
(c) Schedule step 1.
(d) Updated NIG after step 1.
(e) Schedule step 2.
(f) Updated NIG after step 2.
(g) Schedule step 3.
(h) Updated NIG after step 3.
(i) Schedule step 4.
(j) Updated NIG after step 4.
(k) Schedule step 5.
(l) Updated NIG after step 5.
Figure 12: Motion schedule generation for target cable configuration in Fig. 7(a)

5.2 Hardware experiment

We validate the proposed algorithms in a hardware experiment. We consider the large-scale, multi-robot 3D Printing system previously developed by our group zhang2018large . The tethers are indispensable here to deliver the fresh concrete from the mixer to the print nozzle. The size of each mobile robot is 960793296 mm. Each cable is 10 m in length and has a bend radius of 110 mm. We implemented the coordinated motion plan of Fig. 1. segment for each robot was 7 m. The maximal velocity of each robots was 0.6 m/s. To achieve the target cable configuration, at each intersection point, the robots must follow the motion priority as indicated in the NIG (see Fig. 10(d)).

Fig. 13 shows snapshots of the coordinated motions when the robots respected the calculated motion priority. The mobile robots moved in Straight/Concurrent mode: they were commanded to move simultaneously along their straight-line segments. It is worthy of mention that at 14 s in the video of the experiment, stopped and waited until passed point , after which passed and proceeded towards . This movement reflects the motion priority of and at point : must pass before does. Although the robots were not strictly points, and that the tethers were not perfectly flexible, the target cable configuration could be achieved as the robot motions respected the calculated priorities at the intersection points. The result was evaluated purely based on positions of the robots, without taking their orientations into account.

Figure 13: Snapshots of the coordinated motions that achieve the desired target cable configuration. See the full video of the experiment at https://youtu.be/Wdk9E0bB4yA. A. Tethered robots at starting positions; B. Navigating towards target locations in concurrent straight-line motion; C. Passing intersection points with calculated priority; D. Pushing other robot’s cable during navigation; E. Navigation in progress; F. Achieving final (target) cable configuration.

By contrast, Fig. 14 shows snapshots of a second run, where the robots did not respect the calculated priorities at the intersection points. For better illustration of motion order at each intersection point, the robots were commanded to move in Straight/Sequential mode in the order of , and (see Fig. 2(b)). Therefore, already reached before started to move (see Fig. 14D), which violated the motion priority at point : must pass before does. When navigated towards , it had to push from all the way to , resulting in a wrong final cable configuration as shown in Fig. 14F. Due to the limitation in tether length and the elastic property of the tethers, was dragged back when was pushed forward by , and failed to reach its target position.

A comparison of the total travel distance and the travel time for the above mentioned two hardware implementations is provided in Table 1. Data for Bent/Concurrent and Bent/Sequential modes was also computed for systematical comparison.

Motion mode
Straight/
Concurrent
Straight/
Sequential
Bent/
Concurrent222Note that Bent/Concurrent and Bent/Sequential modes were not implemented in hardware experiment. The data was computed based on the robot velocity and tether length.
Bent/
Sequential222Note that Bent/Concurrent and Bent/Sequential modes were not implemented in hardware experiment. The data was computed based on the robot velocity and tether length.
Total travel distance (m) 21 21 30 30
Travel time (s) 14 40 20 60
Table 1: Comparison of travel distance and travel time for different motion modes.
Figure 14: Snapshots of the motions that fail to achieve the desired target cable configuration. See second part of the video https://youtu.be/Wdk9E0bB4yA. A. Tethered robots at starting positions; B. Robot passing before as calculated; C. Robot passing before as calculated; D. Robot pushing ’s cable from the wrong side as the motion order of and at is wrong; E. Robot continuing its navigation; F. Resulting in wrong final cable configuration.

6 Conclusion

We have considered the motion planning problem for multiple tethered planar (point) mobile robots. We have presented motion planning algorithms for the robots to achieve a given target cable configuration by straight-line and concurrent (Straight/Concurrent) motions. The algorithms (i) identify whether the target cable configuration was deadlocked; (ii) return a valid coordinated motion plan accordingly. The correctness of the algorithms was proved in the process of algorithm development, and the worst time-complexity of the full pipeline was shown to be .

The proposed algorithms have been validated in both simulations and hardware experiments: we showed that, using our algorithms, the tethered robots could achieve a target cable configuration that involved a deadlock situation for Straight/Sequential motions, and that could not be solved by algorithms previously proposed in the literature.

During the hardware implementation, we found that for some applications, it could be challenging to design a tether management mechanism to keep the tether taut and retractable. In addition, robot size and geometry need to be taken into account during motion planning, especially for the purpose of collision avoidance. Our future work will consider integrating tether stiffness property and robot model into the proposed algorithms.

Acknowledgment

This work was partially supported by the Medium-Sized Centre funding scheme (awarded by the National Research Foundation, Prime Minister’s Office, Singapore) and by Sembcorp Design & Construction Pte Ltd. The authors would like to thank Hung Pham, Teguh Santoso Lembono and Lim Jian Hui for their constructive remarks on earlier versions of the manuscript, Lim Jian Hui and Panda Biranchi for their helps with the experiment.

Appendix

Appendix A Proofs of the pair interaction propositions

We first need a topological lemma, which is also used in Jordan’s proof of the Jordan curve theorem (see Lemma 1 of hales2007jordan ).

Lemma 1.

Consider a polygon , a point in the exterior of , and a continuous path starting from and ending at . Then is in the interior of if and only if intersects the boundary of an odd number of times.

We can now prove the following propositions, which are required by the pair interaction propositions of Section 4.2.

Proposition 5.

Assume that and , then the two segments and do not intersect.

Proof.

Assume by contradiction that and intersect at a point . Consider the cable line of robot . By lemma 1, will intersect the boundary of an even number of times. Since has zero intersection with (cable lines are non intersecting), must intersect an even number of times. Since already intersects at one point , the total number of intersections between and the boundary of is odd. By lemma 1, either or must therefore be in the interior of , which raises a contradiction. ∎

Proposition 6.

Assume that , , , , then the two segments and must intersect.

Proof.

Assume by contradiction that and do not intersect. By lemma 1, will intersect boundary of for odd number of times. Since does not intersect under the problem formulation, must intersect for odd number of times. The assumption that and do not intersect then implies that intersects for odd number of times. Therefore either or has to be in the interior of , which raises a contradiction. ∎

Proposition 7.

Assume that , , , , then the two segments and do not intersect.

Proof.

Assume by contradiction that and intersects at a point . By lemma 1, will intersect boundary of for odd number of times, and will intersect boundary of for odd number of times. Since and intersects at , will intersect for even number of times. Therefore will intersect for odd number of times, which raises a contradiction as cable lines are non intersecting. ∎

Appendix B Revising and supplementing Hert and Lumelsky 1997

In this section, route intersection detection algorithms for case 1(b) and 2(b) of the paper hert1997planar are supplemented and revised. Some background terms are first introduced here.

A cable route () for robot through graph is defined as the set of adjacent edges leading from to some node. Without loss of generality, it is assumed that no three consecutive nodes from a single route are collinear. Therefore, any two adjacent edges in a route form two distinct angles, one convex () and the other concave ().

To find a feasible target cable configuration from , the most fundamental task is to identify whether there is any route intersection in a given cable configuration. As discussed in hert1997planar , there are five different ways and can meet at a node , considering the relative placement of edges from and :

  1. is the last node of one of the routes, say . has one edge incident to and has two. The routes meet in one of the following two ways:

    • and do not share an edge incident to ;

    • and do share an edge incident to .

  2. is not the last node of either of the routes. Each route has two edges incident to . There are three cases as the following:

    • and share no edge incident to ;

    • and share one edge incident to ;

    • and share both edges incident to .

Route intersection may occur in cases from 1(a) to 2(b), but can be avoided in case 2(c). Besides the above possible intersections, there is one more case where two routes do not intersect at certain node, instead, they intersect in their interiors. Readers may refer to hert1997planar for more details on the cable intersection detection algorithm, but the algorithm for case 1(b) is not complete, and that for case 2(b) needs revision. In the following section, we provide the revised and supplemented algorithms.

b.1 Detecting Route Intersection (revised and supplemented)

b.1.1 Case 1(b)

Case 1(b): Suppose and have one or more edges in common, and one of them is the last edge for . is the goal node of .

In hert1997planar , the authors conclude this case as the following:

Let and be the two edges from and , immediately before this common set of edges. Let be the edge from immediately after the common set of edges. Let be the first edge shared by and , and the last edge shared by and .

Figure 15: Case 1(b). and intersect at . (The figure is taken from hert1997planar Fig. 11.)

Lemma 2 and intersect at if and only if is contained in the clockwise (counterclockwise) angle from edge to and the clockwise (counterclockwise) angle from to is .

However, the above statement and Lemma 2 are capable of intersection detection for case 1(b) only if edge exists. Considering the situation where and are developed from different directions and is the target position of , the case has to be reformulated as in Fig. 16 and Lemma 2s.

Figure 16: Case 1(b) supplement. Edge does not exist, meaning node is goal node of . and intersect at .

Lemma 2s If edge does not exist, and node is goal node of . and intersect at if and only if clockwise (counterclockwise) angle from to is and the clockwise (counterclockwise) angle from to is .

b.1.2 Case 2(b)

Case 2(b): Suppose and meet at node , and each route has two edges incident to . They share one of the edges. Let be the route currently in construction and be a previously constructed route.

In hert1997planar , this case is concluded as the following:

The edges and nodes labeling follow the convention in case 1(b), and an edge of is added immediately after the common set of edges. An illustration is shown in Fig. 17. Assume that the edge is in the counterclockwise angle from to . Then Lemma 4 is used to determine intersection.

(a)
(b)
Figure 17: Case 2(b). In both (a) and (b) and intersect at node . (The figure is taken from hert1997planar Fig. 14.)

Lemma 4 and intersect at if and only if (a) is contained in the concave angle between and and is contained in the concave angle between and or (b) is contained in the clockwise angle from to .

However, the algorithm is redundant for option (a) in Lemma 4. Since the cable configuration is constructed in a depth-first manner, there is no need to proceed further if intersection has already been detected. Hence, it can be re-formulated as in Fig. 18.

Figure 18: Revised Case 2(b) for Lemma 4(a).

In addition, option (b) in Lemma 4 only satisfy the situation when edge exists (recall the discussion for case 1(b)). When is the goal node for , meaning there is no edge , Lemma 4(b) has to be revised. Below we present the revised version of Lemma 4.

Lemma 4r and intersect at if and only if (a) is contained in the concave angle between and and is contained in the concave angle between and ; or (b1) is contained in the clockwise (counterclockwise) angle from to and edge is in the counterclockwise (clockwise) angle from to ; or (b2) is contained in the clockwise (counterclockwise) angle from to and counterclockwise (clockwise) angle from to is when is the goal node for .

Appendix C Extension to workspace with obstacles

An obstacle interferes in robot’s motion only when the whole piece or part of it is in the robot’s cable polygon. An example is given in Fig. 19.

(a) The obstacle is out of and . The target cable configuration can be achieved by straight-line robot motion as long as passes point before does.
(b) The obstacle is in . The target cable configuration cannot be achieved if moves along .
(c) The shortest paths for the robots for the case in (b). To achieve the target cable configuration, has to move along and passes before does.
Figure 19: Interference in robot’s motion from the obstacle that is located in and out of robot’s retraction polygon.

In Fig. 19(a), the obstacle is located in the exterior of a robot’s cable polygon. Although cable line wraps around the obstacle at point in the target cable configuration, and can still move along their straight-line path to achieve the target cable configuration as long as passes point before does, which behaves the same as the case without obstacles. By contrast, robot’s path needs to be modified when the obstacle is (partially) in the interior of the robot’s cable polygon. As depicted in Fig. 19(b, c), to achieve the target cable configuration, the shortest path for is , and must pass earlier than .

The proposed algorithms for Straight/Concurrent motion can be adapted easily to the situation where there are obstacles in the workspace. The only modification is the robots’ paths. Recall that the motivation to adopt straight-line motion is that it is the shortest path for a robot to reach its target position. When there are obstacles in the workspace, the shortest path of a robot is no longer its straight-line segment, but its retracted cable line after all other robots are removed from the environment. The algorithms for Straight/Concurrent motion still hold for workspace with obstacles with the updated shortest paths. An example is presented in Fig. 20.

(a) A given target cable configuration in the workspace with obstacles.
(b) PIG of the target cable configuration.
(c) NIG of the target cable configuration with updated robot motion path.
Figure 20: An implementation of the proposed algorithms for the case where the workspace contains obstacles.

References

References

  • (1) A. A. Nassiraei, Y. Kawamura, A. Ahrary, Y. Mikuriya, K. Ishii, Concept and design of a fully autonomous sewer pipe inspection mobile robot” kantaro”, in: Robotics and Automation, 2007 IEEE International Conference on, IEEE, 2007, pp. 136–143.
  • (2) D. Hong, S. A. Velinsky, K. Yamazaki, Tethered mobile robot for automating highway maintenance operations, Robotics and Computer-Integrated Manufacturing 13 (4) (1997) 297–307.
  • (3) X. Zhang, M. Li, J. H. Lim, Y. Weng, Y. W. D. Tay, H. Pham, Q.-C. Pham, Large-scale 3d printing by a team of mobile robots, Automation in Construction 95 (2018) 98–106.
  • (4) K. S. Pratt, R. R. Murphy, J. L. Burke, J. Craighead, C. Griffin, S. Stover, Use of tethered small unmanned aerial system at berkman plaza ii collapse, in: Safety, Security and Rescue Robotics, 2008. SSRR 2008. IEEE International Workshop on, IEEE, 2008, pp. 134–139.
  • (5) N. Michael, S. Shen, K. Mohta, Y. Mulgaonkar, V. Kumar, K. Nagatani, Y. Okada, S. Kiribayashi, K. Otake, K. Yoshida, K. Ohno, E. Takeuchi, S. Tadokoro, Collaborative mapping of an earthquake-damaged building via ground and aerial robots, Journal of Field Robotics 29 (5) (2012) 832–841.
  • (6) S. Cass, Darpa unveils atlas drc robot, https://spectrum.ieee.org/automaton/robotics/humanoids/darpa-unveils-atlas-drc-robot (2013).
  • (7) P. McGarey, F. Pomerleau, T. D. Barfoot, System design of a tethered robotic explorer (trex) for 3d mapping of steep terrain and harsh environments, in: Field and Service Robotics, Springer, 2016, pp. 267–281.
  • (8) S. Hert, V. Lumelsky, Planar curve routing for tethered-robot motion planning, International Journal of Computational Geometry & Applications 7 (03) (1997) 225–252.
  • (9) R. Siegwart, I. R. Nourbakhsh, D. Scaramuzza, R. C. Arkin, Introduction to autonomous mobile robots, MIT press, 2011.
  • (10) S. Hert, V. Lumelsky, The ties that bind: Motion planning for multiple tethered robots, in: Robotics and Automation, 1994. Proceedings., 1994 IEEE International Conference on, IEEE, 1994, pp. 2734–2741.
  • (11) S. Hert, V. Lumelsky, The ties that bind: Motion planning for multiple tethered robots, Robotics and Autonomous Systems 17 (3) (1996) 187 – 215.
  • (12) P. G. Xavier, Shortest path planning for a tethered robot or an anchored cable, in: Robotics and Automation, 1999. Proceedings. 1999 IEEE International Conference on, Vol. 2, IEEE, 1999, pp. 1011–1017.
  • (13) N. Xu, P. Brass, I. Vigan, An improved algorithm in shortest path planning for a tethered robot, 2012.
  • (14) T. Igarashi, M. Stilman, Homotopic path planning on manifolds for cabled mobile robots, in: Algorithmic Foundations of Robotics IX, Springer, 2010, pp. 1–18.
  • (15) S. Kim, S. Bhattacharya, V. Kumar, Path planning for a tethered mobile robot, in: Robotics and Automation (ICRA), 2014 IEEE International Conference on, IEEE, 2014, pp. 1132–1139.
  • (16) S. Kim, M. Likhachev, Path planning for a tethered robot using multi-heuristic a* with topology-based heuristics, in: Intelligent Robots and Systems (IROS), 2015 IEEE/RSJ International Conference on, IEEE, 2015, pp. 4656–4663.
  • (17) S. Bhattacharya, S. Kim, H. Heidarsson, G. S. Sukhatme, V. Kumar, A topological approach to using cables to separate and manipulate sets of objects, The International Journal of Robotics Research 34 (6) (2015) 799–815.
  • (18) O. Salzman, D. Halperin, Optimal motion planning for a tethered robot: Efficient preprocessing for fast shortest paths queries, in: Robotics and Automation (ICRA), 2015 IEEE International Conference on, IEEE, 2015, pp. 4161–4166.
  • (19) R. H. Teshnizi, D. A. Shell, Computing cell-based decompositions dynamically for planning motions of tethered robots, in: 2014 IEEE International Conference on Robotics and Automation (ICRA), IEEE, 2014, pp. 6130–6135.
  • (20) R. H. Teshnizi, D. A. Shell, Planning motions for a planar robot attached to a stiff tether, in: 2016 IEEE International Conference on Robotics and Automation (ICRA), IEEE, 2016, pp. 2759–2766.
  • (21) I. Shnaps, E. Rimon, Online coverage by a tethered autonomous mobile robot in planar unknown environments, IEEE Transactions on Robotics 30 (4) (2014) 966–974.
  • (22) P. Abad-Manterola, I. A. Nesnas, J. W. Burdick, Motion planning on steep terrain for the tethered axel rover, in: Robotics and Automation (ICRA), 2011 IEEE International Conference on, IEEE, 2011, pp. 4188–4195.
  • (23) M. M. Tanner, J. W. Burdick, I. A. Nesnas, Online motion planning for tethered robots in extreme terrain, in: Robotics and Automation (ICRA), 2013 IEEE International Conference on, IEEE, 2013, pp. 5557–5564.
  • (24) P. McGarey, K. MacTavish, F. Pomerleau, T. D. Barfoot, The line leading the blind: Towards nonvisual localization and mapping for tethered mobile robots, in: 2016 IEEE International Conference on Robotics and Automation (ICRA), IEEE, 2016, pp. 4799–4806.
  • (25) P. McGarey, K. MacTavish, F. Pomerleau, T. D. Barfoot, Tslam: Tethered simultaneous localization and mapping for mobile robots, The International Journal of Robotics Research 36 (12) (2017) 1363–1386.
  • (26) P. McGarey, M. Polzin, T. D. Barfoot, Falling in line: Visual route following on extreme terrain for a tethered mobile robot, in: 2017 IEEE International Conference on Robotics and Automation (ICRA), IEEE, 2017, pp. 2027–2034.
  • (27) D. Tsai, I. A. Nesnas, D. Zarzhitsky, Autonomous vision-based tethered-assisted rover docking, in: 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, IEEE, 2013, pp. 2834–2841.
  • (28) A. Yamashita, J. Sasaki, J. Ota, T. Arai, Cooperative manipulation of objects by multiple mobile robots with tools, in: Proceedings of the 4th Japan-France/2nd Asia-Europe Congress on Mechatronics, Vol. 310, 1998, p. 315.
  • (29) S. Bhattacharya, H. Heidarsson, G. S. Sukhatme, V. Kumar, Cooperative control of autonomous surface vehicles for oil skimming and cleanup, in: Robotics and automation (ICRA), 2011 IEEE international conference on, IEEE, 2011, pp. 2374–2379.
  • (30) S. Khuller, E. Rivlin, A. Rosenfeld, Graphbots: cooperative motion planning in discrete spaces, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews) 28 (1) (1998) 29–38.
  • (31) S. Hert, V. Lumelsky, Motion planning in r/sup 3/for multiple tethered robots, IEEE transactions on robotics and automation 15 (4) (1999) 623–639.
  • (32) F. Sinden, The tethered robot problem, The international journal of robotics research 9 (1) (1990) 122–133.
  • (33) T. C. Hales, Jordan’s proof of the jordan curve theorem, Studies in logic, grammar and rhetoric 10 (23) (2007) 45–60.
Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
""
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
   
Add comment
Cancel
Loading ...
365609
This is a comment super asjknd jkasnjk adsnkj
Upvote
Downvote
""
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters
Submit
Cancel

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test
Test description