# Pushing using compliance

TL;DR: This paper presents an approach based on the rapidly-exploring random tree (RRT) algorithm that, besides paths through the open space, exploits the power of compliance.

Abstract: This paper addresses the problem of maneuvering an object by pushing it through an environment with obstacles. Instead of only pushing the object through open spaces, we also allow it to use compliance, e.g. allowing it to slide along obstacle boundaries. The advantage of using compliance is twofold: compliance does not only extend the number of situations in which a push plan can be found, it also allows for simpler (i.e. less complicated) paths in many cases. Here, we present an approach based on the rapidly-exploring random tree (RRT) algorithm that, besides paths through the open space, exploits the power of compliance

## Summary (4 min read)

### 1 Introduction

- Over the years various techniques have been developed that address the problem of navigating through or interacting with a real or virtual world.
- Objects can be manipulated in numerous ways, and each type of manipulation implies different constraints on the combined motion of manipulator and object.
- Compliance has often been used to compensate for uncertainty, for example to solve the peg-in-hole problem.
- Next, the pre-image is iteratively treated as a new goal until the initial robot configuration is within a pre-image.
- While being pushed by the pusher, the object is allowed to slide along the boundary of the environment (compliant motion).

### 2 Preliminaries

- In this paper it is assumed that P always keeps contact with O (see the conclusions for some remarks on this).
- It is assumed that the friction between O and the supporting plane is large enough such that there is no motion of O after pushing ceases (quasi-static assumption).
- At compliant position q ∈ Rroγi , the push range describes the continuous range of push positions that cause O to follow the same path (regardless of the push position being collision free).
- Given a compliant configuration, the authors define the bounding obstacles (Fig. 6).
- A hockey stick curve minimizes the distance needed to push O away from an obstacle.

### 3 Rapidly-exploring Random Trees

- Many motion planning algorithms are based on the generation of collision-free samples.
- Between these, connections are tried and a graph is formed that can be used to solve motion planning queries.
- Retracting non-compliant samples to the obstacles [2] seems a straightforward solution.
- After a random sample has been created, most algorithms try to connect it to already existing samples in the graph.
- The authors will first briefly explain how the basic RRT algorithm works and then elaborate on how to adapt the RRT such that it is suited to solve their problem.

### 3.1 The basic RRT algorithm

- The RRT is a single shot approach in which a tree is constructed that gradually improves resolution.
- Here, the authors will use the bidirectional version of the RRT that grows two exploration trees:.
- As the trees grow larger, the two trees are more likely to connect.
- The advantage of the bidirectional version over the single directional version is that it is better at escaping local minima.
- If c′c = cc, the two trees are connected and a solution is found.

### 3.2 Tailoring the RRT

- The basic RRT algorithm is not suited for pushing problems since it does not incorporate the role of P .
- If obstacles belong to the same compliant component, a path through compliant space may exist between them.
- Because of the physics of pushing, pushing motions are irreversible.
- As a result, the connections between vertices of the RRT are directed and the paths the local planner creates are only suited for motions in one direction.
- If a compliant configuration is involved, the shortest distance between two configurations may however consist of a hockey stick curve.

### 4 Local Planner

- It connects two configurations to each other, usually by trying a straight line path between them.
- Also the authors need two versions of the local planner: a “forward” one (Algorithm 2) and a “reversed” one (Algorithm 3); both will be discussed.

### 4.1 Forward local planner

- The authors will consider the various types of local paths necessary to create the local planner.
- Suppose the nearest neighbor configuration cn resulting from line 5 of Algorithm 1 is non-compliant (Fig. 11a).
- It is likely that this will fail because γi will probably impede the contact transit.
- If this succeeds, the authors are certain that P now fits between O and γi.
- Before the end of the hockey stick is reached, P may encounter another obstacle.

### 4.2 Reverse local planner

- A straightforward solution would seem to use the same local planner and just reverse the endpoints (starting at qc and moving to c ′ n).
- Because of the above considerations, the authors need a true reverse version of the local planner.
- Therefore it makes no difference whether c′n is non-compliant (Fig. 11d) or compliant (Fig. 11e).
- In that case, the algorithm ends successfully.
- The third situation that can occur is that P collides with obstacle γi (Fig. 11g).

### 4.3 Geometric primitives

- The task of the local planner is to verify if the random position qr can be reached from the nearest configuration cn = (qn, αn) in the tree or else report the first obstacle with which there will be a collision.
- To solve this, the authors will transfer this problem to basic geometric problems.
- Ray shooting considers the problem of determining the first intersection between a ray (a directed line segment) and a collection of obstacles.
- Note that both the clockwise and counterclockwise contact transits for P need to be checked.
- Because it is not essential to find the nearest neighbor configuration exactly and because their edges do not solely consist of straight lines (but also hockey stick curves), the authors can use an approximate solution.

### 5 Compliant exploration

- If the local planner is not able to reach the random configuration qr but instead hits an obstacle γi at configuration cc, this collision point is used as a starting point for compliant exploration.
- Compliant exploration is a procedure to capture the topological structure of the set of compliant configurations that can be reached starting at cc, i.e. the part of compliant space that can be reached.
- The results of this exploration are compliant configurations that are added to Ts and Tg. Starting at cc, the authors initiate the compliant exploration in two directions: clockwise and counterclockwise; for one of these a preceding contact transit is necessary.
- To capture the topology of compliant space and to distinguish between explored and not yet explored parts of compliant space, intervals are used (see Definition 2.4).
- Therefore, v does not represent a single position, but rather the continuous subset [qcc , qe(Iγi)] of Iγi .

### 5.1 Forward compliant exploration

- If the RRT algorithm generates a compliant configuration cc = (qcc, αcc) on obstacle γi, the corresponding interval Iγi is identified by determining the bounding obstacles.
- The first case occurs if Iγi has not been encountered before.
- If a new vertex v has been added to Ts, the authors check whether, at position qe(Iγi) the next interval can be reached (possibly after a contact transit).
- Since P and O always maintain contact, there is at most one such interval and it will be associated to the same compliant component.

### 5.2 Reverse compliant exploration

- Then c ′ c is the starting point for reverse compliant exploration.
- Since the edges in Tg are directed to the goal position, the paths that result from compliant exploration need to be directed to c′c.
- Stated differently, the authors want to know from which part of compliant space c′c is reachable.
- Since reverse exploration is used, the reverse exploration direction is counter clockwise for the paths that are directed clockwise (and vice versa).
- In contrast to forward exploration, using reverse exploration, two intervals may be reachable from Iγi .

### 5.3 Geometric Aspects

- Compliant exploration is a purely geometric process.
- The first can be found by calculating intersections between CS2ro+rp and CSrp. (b) An obstacle can also leave the push range.
- Using the events in the order in which they are encountered, it is easy to determine the chain of intervals that are reachable from the compliant start position in both the forward and reverse exploration direction.
- If O can be pushed completely around a single obstacle without any event occurring, an interval also ends.

### 6 Probabilistic completeness

- The basic RRT algorithm (that only grows a tree from the start configuration) is known to be probabilistically complete [14].
- The advantage of the bidirectional version of the RRT is that it helps escaping narrow passages.
- Because of the random nature of the RRT every pushable path through non compliant space will eventually be found.
- The above also means that every possible compliant configuration reachable from non compliant space will eventually be found, because a compliant section in a path is always preceded by a non-compliant section.
- Also since eventually every vertex will be generated, every hockey stick curve will be considered, and thus all possibilities to leave a compliant section will be tried.

### 7 Experiments

- The authors implemented their algorithm in Visual C++.
- Using the events, the list of intervals for every obstacle was created.
- With compliance, it is easy to reach the goal once a compliant configuration has been found.
- Preprocessing takes about 0.007s after which queries can be executed in 0.004s on average.
- After preprocessing which takes about 0.01s, their algorithm is able to find a path in 0.0005s on average as opposed to 0.01s for the RRT algorithm.

### 8 Conclusions

- In this paper the authors have introduced a novel manipulation planning algorithm in which pushing is combined with compliant motions.
- The resulting manipulation plans use compliance to extend the range of problems for which a solution can be created.
- The authors used the RRT algorithm to provide a natural balance between the number of compliant and non-compliant path segments.
- If the environment is preprocessed then, given a compliant configuration, it is easy to check to which interval that configuration belongs and thus what part of the compliant space is reachable from it using geometric operations.
- Extending their algorithm by allowing these non-contact transits can be done by using existing motion planning techniques in which the pusher moves and the object is considered an obstacle.

Did you find this useful? Give us your feedback

...read more

##### Citations

58 citations

### Cites methods from "Pushing using compliance"

...Nieuwenhuisen et al (2005, 2006) utilize compliance of the manipulated object against the obstacles rather than trying to avoid them, and make use of the obstacles with linear surfaces in the environment to guide the object’s motion by allowing the object to slide along the boundaries. de Berg and…...

[...]

31 citations

31 citations

### Cites methods from "Pushing using compliance"

...The strength of our approach is that we can use the same algorithm for objects of different shapes and sizes....

[...]

15 citations

14 citations

##### References

[...]

7,311 citations

6,444 citations

5,623 citations

2,617 citations

### "Pushing using compliance" refers background in this paper

...The results of this compliant exploration are added as configurations to the tree....

[...]