Abstract
Inspired by motion patterns of some commercially available mobile robots, we investigate the power of robots that move forward in straight lines until colliding with an environment boundary, at which point they can rotate in place and move forward again; we visualize this as the robot “bouncing” off boundaries. We define bounce rules governing how the robot should reorient after reaching a boundary, such as reorienting relative to its heading prior to collision, or relative to the normal of the boundary. We then generate plans as sequences of rules, using the bounce visibility graph generated from a polygonal environment definition, while assuming we have unavoidable non-determinism in our actuation. Our planner can be queried to determine the feasibility of tasks such as reaching goal sets and patrolling (repeatedly visiting a sequence of goals). If the task is found feasible, the planner provides a sequence of non-deterministic interaction rules, which also provide information on how precisely the robot must execute the plan to succeed. We also show how to compute stable cyclic trajectories and use these to limit uncertainty in the robot’s position.
1. Introduction
Mobile robots have rolled smoothly into our everyday lives, and can now be spotted vacuuming our floors, cleaning our pools, mowing our grass, and moving goods in our warehouses. Many useful tasks for mobile robots can be framed geometrically. For example, a vacuuming robot’s path should cover an entire space while not visiting any particular area more frequently than others. A robot that is monitoring humidity or temperature in a warehouse should repeat its path consistently so data can be compared over time. Strategies for controlling the robot’s path may be decoupled from the specific implementation. We envision building a library of useful behaviors that can be executed on many types of robots, as long as they can move forward in straight lines, recognize a boundary of their environment, and reorient themselves relative to the boundary in a programmable way.
Current algorithmic approaches to mobile robot tasks generally take two flavors: (1) maximizing the information available to the robot though high-fidelity sensors and map-generating algorithms such as simultaneous localization and mapping (SLAM); or (2) minimizing the information needed by the robot, such as the largely random navigation strategies of the early robot vacuums. The first approach is powerful and well-suited to dynamic environments, but also resource-intensive in terms of energy, computation, and storage space. The second approach is easier to implement, but does not immediately provide general-purpose strategies for high-level behaviors such as planning and loop-closure.
We propose a combined approach. First, global geometric information about the environment boundaries is provided to the system, either a priori or calculated online by an algorithm such as SLAM or occupancy grid methods. The global geometry is then processed to produce a strategy that can be executed with minimal processing power and only low-bandwidth local sensors, such as bump and proximity sensors, or even purely mechanically (especially useful for design of small-scale robotic technologies). What this paper investigates is what formal guarantees we can make on such plans, for a specific set of assumptions on movement strategies.
We consider simple robots with “bouncing” behaviors (Figure 1): robots that travel in straight lines in the plane, until encountering an environment boundary, at which point they rotate in place and set off again. The change in robot state at the boundary is modeled by what we call bounce rules. These interactions may be mechanical (the robot actually makes contact with a surface), or may be simulated with virtual boundaries (such as the perimeter wire systems used by lawn mowing robots (Sahin and Guvenc, 2007)). Physical implementations of the bouncing maneuver have been validated experimentally (Alam et al., 2018; Lewis and O’Kane, 2013). Often these lines of work consider a subset of the strategy space, such as an iterated fixed bounce rule. In this work, we present a tractable approach to reasoning over all possible bounce strategies, generalizing previous tools for analyzing a few given bounce rules.

Two paths produced by different sequences of bounces, which visit different points of
The present work is meant to serve as documentation of the data structures we have been developing to analyze bouncing robot systems, and a store for statements and proofs of mathematical properties thus far proven about the systems. The implications of our results for planning are broad, and depend on the desired application of the robotic system. In our case, we focus our examples on generating minimalist strategies such as constant bounce rules. We are interested both in the theoretical questions of what tasks are possible with such strategies, and in applications such as manufacture of micro-scale robots that use mechanical interactions with boundaries to execute the bounce rules and thus cannot be programmed with high-resolution strategies or complex on-board state estimation.
A preliminary version of a portion of this paper appeared in Nilles et al. (2018). The main differences are as follows.
We provide detailed proofs of all the theoretical statements presented in the preliminary version.
New theoretical results are included that characterize limit cycles in convex polygons and describe how they can be used to reduce uncertainty on the robot’s location.
Examples are presented that illustrate the actual execution of the navigation strategies provided by our planner.
The experimental evaluation of the proposed planner is further expanded through a reachability analysis, that is, an evaluation with respect to which parts of polygons are not reachable using the planner.
The main contributions of our work can be summarized by the following three ideas that simplify the characterization and generation of paths of the aforementioned mobile robots. The first idea is that we assume the robot has some intrinsic non-determinism. We would like our plans to have the property that they will succeed as long as the robot executes any action in an action set at each stage of execution. We can then analyze the size of the bounce rule sets at each stage to determine the minimum required accuracy of a successful robot design. In Section 3, we detail our assumptions on motion and formalize planning tasks. Our second contribution is that by using the geometric structure of a polygonal environment, we can create a combinatorial representation of the environment that lets us reason over a finite number of families of paths, instead of the infinite collection of all possible paths. Section 4 explains our discretization scheme and Section 5 provides some guarantees and limitations of planning with safe roadmaps using purely combinatorial and geometric information. Finally, in a third contribution, we provide results on when actions can be used to reduce non-determinism in the system. Geometrically, sometimes bounces can be made that will shrink the set of possible positions of the robot. In Section 6 we detail our steps toward leveraging this property in a planner.
Technical documentation of related softwares can be found online at: https://github.com/alexandroid000/bounce_viz
2. Related work
We incorporate techniques from computational geometry, specifically visibility (Ghosh, 2007). Visibility has been considered extensively in robotics, but usually with the goal of avoiding obstacles (Lozano-Pérez and Wesley, 1979; Siméon et al., 2000). To plan over collisions, we use the edge visibility graph, analyzed by O’Rourke and Streinu (1998), and shown to be strictly more powerful than the vertex visibility graph. Our work is also related to problems that consider what parts of a polygon will be illuminated by a light source after multiple reflections (as if the edges of the polygon are mirrors) (Aronov et al., 1998), or with diffuse reflections (Prasad et al., 1998), which are related to our non-deterministic bounces.
Our robot motion model is related to dynamical billiards (Tabachnikov, 2005). Modified billiard systems have attracted recent interest (Del Magno et al., 2014; Markarian et al., 2010; Tabachnikov, 2005). One similar work was inspired by the dynamics of microorganisms; Spagnolie et al. (2017) showed that Chlamydomonas reinhardtii“bounce” off boundaries at a specific angle determined by their body morphology. They characterize periodic and chaotic trajectories of such agents in regular polygons, planar curves, and other environments. Our model is especially interesting in this domain because high-fidelity state estimation and control is often not possible at small scales. It becomes necessary to make different assumptions about available motion primitives, and our assumptions are more physically realistic as micro-swimmers can often be constructed to have a default forward swimming behavior and have predictable, mechanical interactions with boundaries (Li and Ardekani, 2014).
Our motion model is a form of compliant motion, in which task constraints are used to guide task completion, even when the exact system state is not known. Our use of contraction mappings and non-deterministic reasoning is related to the idea of funnels: using the attraction regions of a dynamical system to guide states into a goal region. These ideas have been developed in the context of manipulation and fine motion control by Whitney (1977), Mason (1985), Erdmann (1986), Goldberg (1993), Lozano-Perez et al. (1984), Lynch and Mason (1995), and Burridge et al. (1999), among many others. What we term safe planning is also related to conformant planning (Anders et al., 2018), where given a set of possible initial configurations, a set of non-deterministic actions, and a set of goal configurations, the planner should find a sequence of actions guaranteed to bring the system into the goal.
Our intentional use of collisions with environment boundaries is enabled by the advent of more robust, lightweight mobile robots. Collisions as information sources have also been recently explored for multi-robot systems (Mayya et al., 2019). The first-class study of the dynamical properties of bouncing was proposed in Erickson and LaValle (2013) and continued in Nilles et al. (2017). Here we extend and improve these analysis tools, and incorporate visibility properties to discretize the strategy space. Work in contact planning for polygonal objects is very closely related, and we use similar techniques for discretizing and planning over the polygon boundary as seen in Allen et al. (2015); this caging problem is almost an “external” version of our problem, albeit without the aspect of long-term trajectory design.
Alam et al. (2017, 2018) described navigation, coverage, and localization algorithms for a robot that rotates a fixed amount relative to the robot’s prior heading. Owing to the chosen state space discretization, periodic trajectories may exist that require bounce angles not allowed by the discretization. By using a discretization induced by the environment geometry, we are able to find all possible limit cycles, and the controllers necessary to achieve them. Another closely related work is Lewis and O’Kane (2013), which considered navigation for a robot that has our same motion model, with uncertainty given as input to the algorithm. This uncertainty bound is used to create a boundary discretization using similar visibility properties as our approach, and the resulting discretized space is searched for plans. In our case, instead of taking error bounds as input, our approach considers all possible amounts of uncertainty, and returns bounds on the required accuracy for strategies. This group has also recently extended their approach to the coverage problem (Lewis et al., 2018).
We are working toward a generalization and hierarchy of robot models, in a similar spirit to Brunner et al. (2008). Their simple combinatorial robot is able to detect all visible vertices and any edges between them, and move straight toward vertices. By augmenting this basic robot model with sensors they construct a hierarchy of these robot models. Our questions are related but different: if the robot is given a compact, purely combinatorial environment representation, what tasks can it accomplish with minimal sensing, and how can we generate minimal complexity, robust plans?
3. Model and definitions
Next, we present the basic modeling of the addressed problem, describing the considered robotic system and the type of used environments. In addition, the concept of bounce rule is introduced, which is further used to formulate the concept of a bounce strategy.
We consider the movement of a point robot in a simple polygonal environment, potentially with polygonal obstacles. All index arithmetic for polygons with
The configuration space
The action space
The state transition function
We model time as proceeding in stages; at each stage
For example, a specular bounce (laser beams, billiard balls) has bounce rule

Examples of different “bounce rules” that can be implemented on mobile robots. In the first row,
Of course, robots rarely move perfectly, so our analysis will assume the robot has some non-determinism in its motion execution. Instead of modeling explicit distributions, we assume the robot may execute any action in a set. Planning over such non-determinism can result in design constraints for robots; for example, if a robot has an uncertainty distribution over its actions in the range
4. Visibility-based boundary partitioning
In this section, the bounce visibility graph is introduced. Such a graph is a combinatorial structure that is queried to obtain plans in the form of sequences of bouncing rules, namely, queried to obtain bounce strategies. To introduce the bounce visibility graph, we start by recalling the definition of the visibility polygon, which is used to define a partial local sequence of points on the environment boundary at which the visibility polygon changes structure. The partial local sequence, whose computation is summarized in Algorithm 1, is then used to define the edge visibility graph. The bounce visibility graph is defined as the directed version of the edge visibility graph. We now proceed to provide the specifics.
Given a polygonal environment (such as the floor plan of a warehouse or office space), we would like to synthesize bounce strategies that allow a robot to perform a given task (such as navigation or patrolling). To do so, we first discretize the continuous space of all possible transitions between points on
Imagine a robot sliding along the boundary of a polygon, calculating the visibility polygon as it moves. In a convex polygon, nothing exciting happens. In a non-convex polygon, the reflex vertices (vertices with an internal angle greater than
To compute all such points at which the visibility polygon changes structure, we compute the partial local sequence, defined in O’Rourke and Streinu (1998). These are, equivalently, the points where the combinatorial visibility vector changes, as defined in Suri et al. (2008). Each point in the partial local sequence marks the point at which a visible vertex appears or disappears behind a reflex vertex. The sequence is constructed by shooting a ray through each reflex vertex

On the left, the partial local sequence for
Once all the partial local sequences have been inserted into the original polygon, the resulting segments have the property that any two points in the segment can see the same edge set of the original polygon (though they may see different portions of those edges). See Algorithm 1 for a pseudocode description of this partitioning process. Algorithm 1 applies to polygons with or without holes; holes require more bookkeeping to correctly find visible vertices and shoot rays. See Figure 4 for an example partition of a polygon with holes. Let

An example partition for a polygon with holes; our discretization scheme extends naturally to handle visibility events caused by static obstacles.
The
Let the bounce visibility graph be the directed edge visibility graph of
Proof. Consider a polygon
4.0.1. Worst-case example for Algorithm 1
We might hope that if
Let
5. Safe actions
To characterize some families of paths, we use the boundary partition technique defined in Section 4, then define safe actions between segments in the partition that are guaranteed to transition to the same edge from anywhere in the originating edge. Such actions define transitions which keep the robot state in one partition under non-deterministic actions.
Definition 6 establishes a notion of visibility between two edges in a polygon. Later, Definition 7 formally introduces the safe actions. Through Definitions 6 and 7, Proposition 2 provides bounce angle intervals that describe safe actions. Lemma 1 and Corollary 1 exhibit scenarios for which safe actions exists between two edges of a polygon. Finally, Proposition 3 establishes a result on the existence of at least two safe actions for every edge in a polygon that was partitioned utilizing Algorithm 1 (see Section 4). The proof of Proposition 3 makes use of some auxiliary definitions presented in Definition 8.
Proof. Let edge
Take the quadrilateral formed by the convex hull of the edge endpoints. Let the edges between

Angle range such that a transition exists for all points on originating edge (left: such a range exists; right: such a range does not exist).
There are three cases to consider: if
Case 1:
Case 2:
Case 3:
Thus, for each case, we can either compute the maximum angle range or determine that no such angle range exists. □
Note that this definition of a safe action is similar to the definition of an interval of safe actions from Lewis and O’Kane (2013); the main differences in approach are the generation of boundary segments, methods of searching the resulting graph, and how we generate constraints on robot uncertainty instead of assuming uncertainty bounds are an input to the algorithm.
Proof. From the proof of Proposition 2, we can see that if case one holds in one direction, case two will hold in the other direction, so a safe action must exist from one edge to the other in one direction. If case three holds, there is a safe action both directions but
For a proof of Corollary 1, see Figure 6(a). Algorithm 1 guarantees that such neighboring segments are entirely visible.

Examples of a geometrical setup for some guaranteed safe actions.
Proof. Let
By Corollary 1, if an edge
If the adjacent edge is at a reflex angle, Algorithm 1 will insert a vertex in line with
If
If the adjacent edge
6. Dynamical properties of paths
Many robot tasks can be specified in terms of dynamical properties of the path the robot takes through space, such as stability, ergodicity, and reachability. Our motion strategy allows us to disregard the robot’s motion in the interior of
One generally useful property of mapping functions is contraction: when two points under the function always become closer together. We can use this property to control uncertainty in the robot’s position.
We now proceed as follows. Definition 9 presents some notation useful for the remainder of this section. Definition 10 recalls the general concept of a contraction mapping that is useful to model the dynamical properties of paths to be followed by the robot. Based on the already introduced notation, Lemma 2 establishes bounce angles for which function
Proof. We consider the two cases of transition separately.
For the transition shown in the left-hand side of Figure 7,
The transition will be contraction if and only if
Similarly, for a right transition shown in the right-hand side diagram of Figure 7,
The transition will be contraction if and only if

The two cases for computing contraction mapping conditions.
Given
If
6.1. Limit cycles
A contraction mapping that takes an interval back to itself has a unique fixed point, by the Banach fixed point theorem (Granas and Dugundji, 2003). By composing individual transition functions between edges, we can create a self-mapping by finding transitions which take the robot back to its originating edge. A fixed point of this mapping corresponds to a stable limit cycle. The usefulness of the limit cycles is that it is possible to find bounce strategies that make the robot’s trajectory converge to a limit cycle. Those bounce strategies can be used to delimit the possible positions the robot might be in, for example, to localize the robot, or even to make the robot move repetitively along a trajectory, as it is desirable in a patrolling task. Such trajectories in regular polygons were characterized in Nilles et al. (2017). Here, we present a more general proof for the existence of limit cycles in all convex polygons.
More precisely, Theorem 1 characterizes the limit cycles in convex polygons, that is, it provides the exact location of such a cycle in terms of its contact points in
then the fixed bounce rule
Proof. See Figure 8 for the geometric setup.

The notation setup for the proof of contracting cycle in a convex polygon.
Without loss of generality, assume
Suppose we have two start positions
By Definition 12, the distance between
in which case the fixed-angle bouncing strategy with
Thus, now we know that such cycles must exist in convex polygons, and we know the conditions on fixed bounce laws that will create them, but we can also compute exactly where these cycles would be located (in the asymptotic limit).
For ease of notation, Theorem 1 will compute the location of counterclockwise limit cycle trajectories as a fixed point of the return map of the trajectory starting on edge
from vertex
Proof. Define a distance function,
Now we define the return map,
which can be expanded and grouped into
To find the fixed point of this return map (corresponding to the stable limit cycle of the robot around the polygon), we set
which, in turn, yields the expression for the distance
Although Equation (1) might look cumbersome, it is easy to compute (linear in the number of sides of the polygon). See Figure 9 for an example of the predicted locations of the limit cycle in a convex polygon. The trajectory begins on the left hand side of the polygon and quickly converges to the predicted limit cycle.

Example of the predicted locations of the limit cycle in a convex polygon. The blue arrows indicate an example trajectory for a constant fixed bounce rule. Yellow circles indicate the predicted collision points of the asymptotically stable limit cycle for this bounce rule and polygon.
Proof. First we observe that by Proposition 3, for every segment
6.2. Leveraging cycles to reduce uncertainty
Next, we detail how such cycles can be used to decrease uncertainty in the robot’s position. More precisely, if the robot utilizes a controller as that depicted in Proposition 4, then its path converges to a limit cycle and, as a consequence, the uncertainty on the knowledge of the robot’s whereabouts decreases.
Recalling that the fixed point of a cycle’s transition function represents the location of the respective limit cycle in
Proof. The initial distance between the robot’s position and the fixed point of the cycle,
Proof. From Corollary 3, after
7. Applications
7.1. Planning
Here, we define the planning task, assuming that the robot has unavoidable uncertainty in its actuation. We make no assumptions on the distribution or size of uncertainty, only that it is bounded, so we can plan over “cones” (intervals of possible actions, which cause the robot’s state uncertainty to spread linearly as it moves through the interior). A resulting strategy should take a robot from any point in a starting set to some point in a goal set, as long as some action in the bounce rule set is successfully executed at each stage.
First, we address the problem of safe planning using only geometric information, without incorporating the dynamical properties of the system, and show the limitations of this approach. Then, we show several methods and heuristics for improving this situation using the dynamical properties described in Section 6.
Using the formalisms built up so far, we can tackle this problem by searching over the bounce visibility graph, using it as a roadmap. Shortest paths in the graph will correspond to paths with the fewest number of bounces. It is important to note that an arc
Proof. The only such edges will be edges for which both endpoints are reflex vertices or vertices inserted by Algorithm 1, because by Corollary 1, edges adjacent to other vertices of
Figure 10 is an example where the edge

A polygon after Algorithm 1 and its safe bounce visibility graph
7.1.1. Constant strategy search
Despite a lack of complete reachability, we would like to have a tool to compute safe non-deterministic controllers of minimal complexity, for applications such as micro-scale robotics. Here, we show how to search for a constant fixed-angle bounce controller, where at every stage the robot executes a fixed-angle bounce in some range
7.1.2. Examples
Here we provide an example of strategies that can be generated with different types of search in the safe bounce graph. We use an example environment consisting of two convex “rooms” connected with a corridor. The corridor does not have parallel sides, to make the problem more geometrically interesting.
Using the

The example environment, discretized by Algorithm 1.

A trajectory from edge
When we search for the path using the fewest number of transitions from a start point on segment
and we can see in Figure 13 that when a random start state is chosen in edge

A trajectory from edge
However, we notice that the action intervals at each stage are quite small, requiring accuracy from the robot of

An example of how contraction properties can be used to control robot state uncertainty enough to navigate the robot through a narrow doorway with non-deterministic actions.
7.2. Patrolling
In Section 6.1, we detailed results on the existence and structure of convex limit cycles in convex polygons, as well as how cycles can be used in general to reduce uncertainty in robot position. However, when considering how to plan trajectories including cycles, it is important to note that there are exponentially many possible limit cycles (in the size of the polygon), even if we restrict our controller to a fixed bounce rule. The main reason for this is that a cycle may contain transitions which are not contraction mappings, as long as the overall contraction coefficient is less than one.
However, it is possible to take any given sequence of edges in a polygon and check whether the sequence admits a stable limit cycle, by searching over the bounce rules at each stage for rules that cause an overall contraction coefficient to be less than one and satisfy the geometric constraints. As more becomes understood about the structure and robustness of the limit cycles, we can begin to formalize robotic patrolling tasks as a search over possible cycles. Here, we outline the general form of the patrolling problem.
This task is related to the aquarium keeper’s problem in computational geometry (Czyzowicz et al., 1991). It may be solved by coloring nodes in the bounce visibility graph by which edge of
7.3. Reachability and environment characterization
Proposition 5 states that there exist simple polygons containing edges unreachable via safe actions from any other edge in
First we examine irregular star polygons, generated by a pseudorandom program (Ounsworth, 2015) that places vertices at random distances from the origin with random angular intervals between them. We use two heuristic parameters, irregularity and spikiness, to generate a range of these polygons. A larger irregularity parameter increases the range of random values for the angular distances between vertices, and a larger spikiness parameter increases the range of random values for the linear distance between vertices and the origin.
It is important to note that this family of polygons is “easy” for a visibility-based discretization, for the simple reason that there is at least one point in the polygon (the origin) that is visible to all boundary points. Related concepts such as the art gallery problem or link distance (Toth et al., 2017) can be used to quantify the “complexity” of a polygon in terms of visibility decompositions.
Figure 15 shows a heatmap of the proportion of unreachable area along the polygon boundary, averaged over ten random polygons for each pair of irregularity/spikiness parameters. We have also included representative examples from the extremes of the parameter space. The measure of the unreachable segments of the polygon boundary was found by first finding all the nodes of the safe bounce visibility graph with no incoming edges. These nodes correspond to segments in the discretized polygon

The fraction of the polygon that is unreachable under safe actions from any other starting segment. The results were computed for 10 random polygons at each pair of (spikiness, irregularity) parameters.
Nearly all polygons contain at least some fraction of the boundary that is unreachable under safe actions; however, this fraction is often very small. In all cases, an average of at least 95% of the polygon is reachable via safe action from somewhere else in the polygon under our discretization. As expected, the most spiky and irregular polygons contain the highest proportion of unreachable boundary (though still usually less than 5%).
7.4. Connectivity
Of course, this simple measure does not take into account overall connectivity of the discretized boundary space; however, the bounce visibility graph naturally allows for further inquiries into the connectivity of the environment under our discretization. The strongly connected components of the safe bounce visibility graph represent a partition where in each subgraph, every boundary segment can reach every other boundary segment. In addition, the number of weakly connected components in the safe bounce visibility graph indicates the number of boundary regions that cannot reach each other under safe actions. It is possible that for some environments, subsets of the space are entirely unreachable from each other. The directed transitions between strongly connected components indicate which transitions are not reversible.
The number of strongly and weakly connected components in the safe bounce visibility graph were analyzed for the same family of randomly generated polygons described in the previous section. Results can be seen in Figure 16. The results indicate that irregularity and spikiness have a strong influence on connectivity of the planning roadmap, especially for strongly connected components. However, the number of weakly connected components is low even when the number of strongly connected components is high. This indicates that while our planning method does not result in complete reachability (cannot reach any goal from any start), overall connectivity of the space is still good. Indeed, these results raise the possibility that our planner may also be well-suited as a tool to analyze and design environments for resource-constrained robots that use bouncing strategies as their motion primitive. For example, it may be desirable to build an environment that “funnels” micro-swimmers into a desired region. The safe bounce visibility graph for such an environment should have exactly one weakly connected component along with a node or strongly connected component reachable from all possible starting states.

Average number of strongly and weakly connected components in the safe bounce visibility graph for random polygons. The results were computed for 10 random polygons at each pair of (spikiness, irregularity) parameters.
8. Open questions and future work
We have presented a visibility-based approach to reasoning about paths and strategies for a class of mobile robots. We are moving toward understanding non-deterministic control of such robots; however, many open questions remain.
8.1. Further characterization of complex environments
We have focused work here mainly on environments such as convex or star polygons, owing to the possibility for analytic results or the ease of parameterization. Of course, real-world applications must deal with different types of environments. In particular, future efforts will focus on “office” environments, remote environmental monitoring, and micro-fluidic applications. Challenges will include optimizations for scaling with respect to number of polygon edges and number of obstacles, and improving performance and guarantees for environments with challenging features such as long, narrow hallways or extremely irregular geometry.
8.2. Comparing bounce rules
Our approach can be used to compare different families of bounce strategies in a given polygon, by comparing the reachability of the transition systems induced by each strategy family. This would require either reducing the full bounce visibility graph given constraints on possible bounces, or constructing a more appropriate transition system. It is not clear the best way to analyze relative bounce rules, in which the outgoing angle of a robot after a collision is a function of the incoming angle.
8.3. Optimal strategies
Say we wish to find the strategy taking the robot from region
8.4. Localization
A localization strategy is a non-deterministic strategy that produces paths which reduce uncertainty in the robot’s position to below some desired threshold, from arbitrarily large starting sets. The use of limit cycles to produce localizing strategies has been explored by Alam et al. (2018), and it would be interesting to take a similar approach with our environment discretization.
8.5. Ergodic trajectories
We are interested in strategies that produce ergodic motion, where the robot’s trajectory “evenly” covers the state space. Measures of ergodicity have recently been used in exploration tasks (Miller et al., 2016). Chaotic dynamical systems have also been used directly as controllers for mobile robots (Nakamura and Sekiguchi, 2001).
