{'fraction_non_alphanumeric': 0.029860531648587436, 'fraction_numerical': 0.007599237096197402, 'mean_word_length': 4.867634201783528, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 1, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Fast and Robust Bio-inspired Teach and Repeat Navigation

Fully autonomous mobile robots have a multitude of potential applications, but guaranteeing robust navigation performance remains an open research problem. For many tasks such as repeated infrastructure inspection, item delivery, or inventory transport, a route repeating capability can be sufficient and offers potential practical advantages over a full navigation stack. Previous teach and repeat research has achieved high performance in difficult conditions predominantly by using sophisticated, expensive sensors, and has often had high computational requirements. Biological systems, such as small animals and insects like seeing ants, offer a proof of concept that robust and generalisable navigation can be achieved with extremely limited visual systems and computing power. In this work we create a novel asynchronous formulation for teach and repeat navigation that fully utilises odometry information, paired with a correction signal driven by much more computationally lightweight visual processing than is typically required. This correction signal is also decoupled from the robot's motor control, allowing its rate to be modulated by the available computing capacity. We evaluate this approach with extensive experimentation on two different robotic platforms, the Consequential Robotics Miro and the Clearpath Jackal robots, across navigation trials totalling more than 6000 metres in a range of challenging indoor and outdoor environments. Our approach continues to succeed when multiple state-of-the-art systems fail due to low resolution images, unreliable odometry, or lighting change, while requiring significantly less compute. We also - for the first time - demonstrate versatile cross-platform teach and repeat without changing parameters, in which we learn to navigate a route with one robot and repeat that route using a completely different robot.


I. INTRODUCTION
Visual navigation is a key capability for mobile robots to operate in a large range of environments without needing dedicated infrastructure -vision being the primary sense humans use for navigating our world [1]. Navigation approaches are chiefly characterised by whether they use a map, and whether the map is metrically consistent or provides only topological information [2]. A general solution to the navigation problem remains elusive, but useful behaviours have been developed for limited ranges of conditions or environments.
Repeated route following is a useful capability for a mobile robot in many different applications: for a tour guide robot in a museum [3], for a drone conducting environmental inspection [4], for automated mining transport trucks [5], or for an interplanetary rover repeatedly collecting samples. By considering that the robot only needs to traverse predetermined paths within the environment, the navigation Overview of our approach: Our teach and repeat system is predominantly driven by wheel odometry, with orientation and along-path corrections made using visual information. This framework enables fast and robust teach and repeat navigation, even in challenging situations like the teach and repeat runs being performed on very different robotic platforms (e.g. Miro and Jackal). problem can be solved by the teach and repeat framework [6]- [9]. Here, the robot is first manually driven along a route of interest while recording data. The recorded information is then used to robustly repeat this same route; however, the conditions between the teach and repeat runs might differ considerably in terms of lightning, moving obstacles, et cetera.
Teach and repeat has been proven robust and flexible in many domains, from simple indoor environments [10]- [14] to the surface of another planet [9], [15], [16]. But even low compute teach repeat methods [10] still require high resolution images and significant computation for feature detection. This limits their deployment on small low-cost robots, for which a simple route following capability would be most useful. Such robots do not typically have stereo vision or LiDAR sensors. In contrast, almost all mobile robots have wheel odometry sensors and a monocular camera. Our list of key contributions is the following: 1) A novel, robust teach and repeat system that can be deployed on low-cost robots that have poor odometry and a low-resolution monocular camera. This approach performs robustly in difficult (low) lighting conditions and when occlusions occur, such as people in front of the robot.
2) Our system is predominantly driven by wheel odometry, so the complexity of the image processing needed to compute a periodic correction signal is significantly reduced. This allows the robot's basic navigation to be decoupled from the visual input, so that the correction rate can be changed as dictated by the available computation.
3) With over 6000 metres of navigation trials on two different robots in indoor and outdoor environments, we show that our approach is significantly more robust than the state-of-the-art in overall performance, as well as resilient to unreliable odometry and low resolution images. 4) Our approach can be deployed to new robots with minimal tuning. Indeed, our system is the first to demonstrate that the teach run from one robot can be repeated on a completely different robot.
An overview of this teach and repeat system is shown in Fig. 1. To foster future research, we make our code available for research purposes: https://github.com/ QVPR/teach-repeat/.

II. RELATED WORKS
Teach and repeat navigation falls under the broader capability of route following, which we briefly review in Section II-A. We then provide an overview of teach and repeat navigation approaches in Section II-B.

A. Route Following
Route following approaches for mobile robots are most easily distinguished by the types of map they use for navigation: metric; topological; or a hybrid of the two called topometric. We will introduce these three approaches in the following subsections, and provide some key references to relevant works.
1) Metric Map: A robot could explore and build an accurate metric map of the environment (as in Simultaneous Localisation and Mapping [17]), and then use this map to track its location and repeat the desired route. A metric map allows for the most accurate route repetition, but maintaining a metrically consistent map scales in computational complexity with the size of the environment, so it is not commonly applicable to low-cost robots. Many robot navigation behaviours are still possible without a metric map [2]. Indeed, it has recently been proven that local correction signals at each point along the path are sufficient for route following [6].
2) Topological Map: In visual servoing, a robot's goal is expressed as an image and the robot moves through the world to reach this location, without explicitly considering the world's geometry [18]. Simple visual homing techniques are exhibited by ants and other insects to return to food or nesting sites [19]. Visual homing can be extended for route following by using a topological map of the route -considering the route as a sequence of visual goals and updating the current goal whenever the previous one is reached [12], [20].
However, visual homing techniques do not guarantee a smooth trajectory straight towards the goal [21]. A sequential route representation is only minimally robust because failing to reach any goal causes the route following to fail completely. A purely visual servoing solution is therefore not well suited to precise robotic navigation. Indeed, recent research debates whether ants combine path integration with vision to form a cognitive map, enabling more robust homing behaviours [22].
3) Topometric Map: An alternative formulation is a topometric map [23], where locally accurate movement information such as wheel or visual odometry is combined with globally accurate sensor readings from a camera or LiDAR to form a map that is only locally consistent. By not enforcing global consistency, topometric maps can efficiently scale to large environments such as in [9], [24]. Route following is then achieved through teach and repeat. In the teach portion the robot is driven once along the desired route, storing a series of sensory information. In the repeat run the robot then follows the trained route, robust to slight deviations from the path or variations in the environment.

B. Teach and Repeat Navigation
Early work on teach and repeat showed that following a route was possible by only making heading corrections along that route, without requiring a consistent map [25], [26]. Further work developed a provably convergent control rule for this formulation [24]. Krajnik et al. [10] have proven teach repeat stable for a closed polygonal path, which was extended to arbitrary routes in work dubbed Bearnav [6].
Teach and repeat has also been employed in various domains: it has enabled autonomous navigation and emergency return capabilities for unmanned aerial vehicles in GPS denied environments [7], [8], and has also been used for autonomous underwater vehicles to repeat previous routes using sidescan sonar imagery [27], [28]. In the following subsections we focus exclusively on teach and repeat for mobile robots, categorising approaches by the way they compare images between the teach and repeat runs.
1) Direct visual methods: The simplest approach is direct visual comparison, where full images are compared between the teach and repeat runs. These techniques can generally be run with lower resolution images so need the least computation, however they can be less robust to appearance change or large shifts in image location. This can be ameliorated by image preprocessing techniques, and by assuming the robot's environment is flat so displacements will only occur horizontally in the image. For example, [25] used cross correlation to find the horizontal offset between teach and repeat images, providing the error signal for correction. Similarly, optimising the mutual information between reference and query images has been used to formulate a teach and repeat control rule that is robust to occlusion and lighting variations [11], [29].
2) Feature based methods: In contrast to direct comparison methods, feature based techniques extract a number of salient features -generally points, edges or corners -from each image, and compare these between teach and repeat runs. Corresponding point locations can be used to estimate the geometrical offset between matched images. While typically more computationally intensive and with limitations in featureless environments, feature based comparison methods are the most widely used for teach and repeat. Early work derived a control scheme from the horizontal location of feature correspondences in monocular images [30], which was later made more robust by incorporating wheel odometry [31].
To improve performance in challenging lighting conditions, depth images rendered from LiDAR scans were adopted in [15]. Furthermore, the approach was modified for monocular cameras in [16], where assuming a flat ground plane allowed recovery of depth information from single images.
The feature based approach to teach and repeat approach has recently been extended with work from the visual place recognition field (see [32] for a survey), where more detailed image descriptors are used to uniquely identify images in the world. For example, [14] used image descriptors that are generated by a Convolutional Neural Network. This has the added benefit of being much more robust to appearance and viewpoint changes. Similarly, [12] presented IBVS, a purely visual teach and repeat approach using image line features, as they are more robust to occlusion and motion blur.

III. PROPOSED APPROACH
This work presents a novel teach and repeat approach, reformulating the provably convergent correction rule from [24] into a geometric framework, where each waypoint in the route is represented as a pose relative to the robot's odometry frame. This geometric formulation allows odometry information from the reference run to be more efficiently used when the route is repeated. Additionally, this formulation decouples odometry information from the visual information stream so that the robot can be smoothly controlled at high frequencies with less frequent image corrections, allowing for reduced computation and graceful performance degradation.
Here we detail the approaches to the two distinct phases of operation for the robot: teach and repeat.
The following notation is used, aiming to be consistent with [33]: A T B represents the pose of B relative to A, and is a homogeneous transformation matrix, T ∈ SE (2) ⊂ R 3×3 .

A. Teach phase
In the teach phase the robot is manually teleoperated along the desired route, while recording a list of associated odometry poses and images. As the odometry information suffers from drift and is not globally consistent, this results in a topometric map of the route. This topometric map, R, is an ordered list of cardinality N , containing pairs of 3 degrees-of-freedom odometry poses, T T g , and images, I.
) is appended to the route whenever the displacement of the robot from the last recorded pose exceeds a certain distance τ d or angular threshold τ α . Lower thresholds allowed for denser maps and more accurate path following at the expense of a greater memory requirement.
Before being saved, the images are preprocessed by downscaling them, converting to greyscale, and applying patch normalisation. Downscaling significantly reduces the memory required to store the route, and patch normalisation [34] affords the system some robustness to lighting variation.

B. Repeat phase
In the repeat phase, the robot tries to best follow the route stored in its topometric map. Control is structured hierarchically, with a low level odometry-based controller driving the robot to a nearby pose in its odometry frame, R Tĝ (see Section III-B.1), and a route correction controller updating the target pose based on the current image frame,Î. These corrections are computed separately for orientation -to account for heading and lateral path errors (Section III-B.2)and along-path errors (Section III-B.3).
1) Odometry driven control: The controller receives a high frequency odometry-based estimate of the robot's pose, R Tp, and drives the robot's motors so it reaches a goal pose, R Tĝ. Both of these poses are expressed in the robot's local odometry frame. The pose controller detailed in [33,Sec. 4.2.4] was chosen for this implementation, but in principle any equivalent controller could be substituted.
2) Image based orientation correction: Incoming images, I, are preprocessed as described in Section III-A. Normalised Cross Correlation (NCC) [35] is used to compare the incoming images to those saved during the teach run, I. Assuming that the robot operates in a flat planar world, rotational and lateral offsets from the path both cause horizontal image displacements. For example, a left path offset and an anticlockwise rotation both cause an image offset to the right, so cannot be distinguished. But because both can be corrected by turning clockwise, the ambiguity between rotational and lateral offsets is acceptable. Specifically, the query image is swept horizontally over a search range, d ∈ [−D, D] (see Table I), and the NCC computed with the current reference image for each of these offsets: where n is the index of the current reference image in the teach run, x and y are incremented through the range of valid reference image pixel coordinates overlapping the shifted query image: x ∈ [max(0, d), min(I w , I w + d)) and y ∈ [0, I h ), I w and I h are the width and height of the images respectively, µ(Î) is the mean of the query image, and µ(I n,d ) is the mean of the region of the reference image that overlaps with the shifted query image. This results in a correlation profile as in Fig. 1. The offset with the greatest NCC, is used as the offset estimate. This pixel offset is converted to an offset angle as if the offset were purely rotational: θ δn = FOV Iw δ n , where FOV is the horizontal angular field of view of the image.
Following [24], image offsets are interpolated between the previous and next goals to allow for corrections to be made between goal locations. Being in front of or behind a goal Orientation correction: An error between the robot's estimated pose, R Tp, and actual pose, T Tp, is calculated by interpolating the image offsets between the previous goal, R Tĝ n−1 , and current goal, R Tĝ n , with interpolation factor, u. This error, ∆θ, is multiplied by the gain factor K θ , to rotate the target path so the robot correctly follows the taught route.
could induce a horizontal image offset in either direction, depending on the dominant visual features in the scene. An object on the left will appear to move further left if the robot advances, while an object on the right will appear to move right. Interpolating the offsets between goals cancels out this along-path induced offset, allowing it to be distinguished from rotational or lateral path offsets, which affect both δ n−1 and δ n similarly. The interpolation factor, u, is the proportion of the distance travelled between two keyframe poses. Specifically, u can be calculated with odometry information as follows: where R Tp is the robot's pose estimate during the repeat run, and R Tĝ n is the pose of goal n in the robot's odometry frame (see Fig. 2), (T) t = (T i,j ) 1≤i≤2; j=3 extracts the translation component of the pose T, · is the dot product of two vectors, and ||t|| denotes the magnitude of vector, t.
The orientation offset of the robot from the path at this point between the two keyframes is interpolated as follows: where θ δn is the rotational offset to keyframe n. To correct this error, the current goal pose is rotated about the robot in the opposite direction to the visual offset: where R(θ) is a 3 × 3 homogeneous transformation matrix causing a rotation of angle θ, and K θ is a calibrated gain term (gain parameter selection is discussed in Section IV-B.3).
3) Image based along-path correction: In addition to lateral or rotational errors, the robot can have an offset from travelling too quickly or slowly along the path. For this case, the assumption was made that the current image would correlate most strongly with goal images closest to the robot's current location. A small search range, ±K, is centred on the previous and current goal images, i.e. I n−2 to I n+1 for K = 1, and correlation values compared for this range.
Higher correlation values ahead of the robot pull it forwards along the path, and vice versa. This provides incremental corrections to account for random and systematic odometry   Fig. 3. Along-path correction: An error between the robot's estimated pose, R Tp, and actual pose, T Tp, is calculated by finding the goal, R Tĝ, with the image that correlates most strongly, ρ, to the current image, relative to u. This error, ∆p, is multiplied by a gain factor, Kp, converted to a scaling parameter, s, and used to extend or retract the target path so the robot correctly follows the taught route.
errors. For goals at the start or end of the route, the search range is symmetrically scaled down to be completely valid. Peak correlations between the query and reference images over the search range are rectified with respect to a threshold to remove the effects of noise-level correlations: whereρ is the noise-level correlation threshold (see Table I) and NCC d is defined in Eq. (2). The weighted average of the rectified correlations is then taken to compute an estimate of the robot's along path error, ∆p, as follows: where u is the proportion of the distance travelled from the previous to the current goal, defined in Eq. (4). This calculation is depicted in Fig. 3. The position estimate is in units of goals (spaced τ d apart), so is converted to a linear scaling correction factor, s, which is used to move the current goal towards or away from the robot: where K p is a calibrated gain term, and τ d is defined in Section III-A.
If the correlation values are higher for images behind the robot's estimated location, i.e. ∆p < 0, such that s > 1, the current goal will be extended, giving the true pose, T T p , time to "catch up" to the estimated pose, R Tp. The opposite case occurs if the robot estimates its position to be behind its true pose. Fig. 3 visualises the along-path correction. 4) Global Initialisation: When starting to repeat, the NCC (Eq. 2) is computed for all images in the route and the best match selected as the starting point. This allows the robot to localise to within τ d 2 of its true pose, well within the along-route search range, (2K + 1)τ d . If the NCC is below a threshold, the robot can detect that it is not located along the route and so does not start route repetition. An operator would need to manually reposition the robot closer to the route before route following can begin.

IV. EXPERIMENTAL RESULTS
This section presents the results of over 6000 metres of trials, both indoor and outdoor, comparing our approach to two state-of-the-art benchmark systems [6], [12]. We first outline the experimental procedure and the two robots used in Section IV-A. This is followed by a set of comprehensive indoor trials in Section IV-B, showing that our approach is robust to odometry errors, works with images of a very low resolution, and is not sensitive to calibrated parameter values. In Section IV-C we demonstrate that our approach can be applied outdoors on a 550 m route, at different times of the day and in varying weather conditions. 4 repeat runs were performed one month after the teach run, and one repeat run four months after the teach run. Both current state-ofthe-art systems fail in these challenging conditions. Finally, Section IV-D demonstrates cross-platform versatility, where a teach run was recorded on the Miro robot and then repeated on the Jackal, the two robots having significant differences in their cameras, viewpoints, and odometry accuracies.

A. Experimental Procedure
The proposed teach repeat system was run on the Jackal and Miro robots (Fig. 4) in both indoor and outdoor environments (also see our Multimedia Material). All robot parameters were set as shown in Table I unless otherwise specified. We note that the same parameters were used indoors and outdoors, and only a single parameter (τ d ) differed between the two robot platforms (however τ d was set to the same value on both platforms in Section IV-D without any loss in performance).
We ran SLAM [36] using the Jackal's Velodyne LiDAR sensor to measure how closely the repeat run matched the teach run. This SLAM process was run entirely independently from our teach and repeat approach -no information was shared between them. Although not real ground truth, SLAM was deemed to be suitably accurate for metric error analysis indoors. Large relocalisation jumps occurred in the outdoor trials, so these data are only used for visualisation.
Additionally, we compare to two state-of-the-art benchmark systems, Bearnav [6] and IBVS [12]. These two systems are, to the best of our knowledge, the only open-source teach and repeat methods. Bearnav has recently been used as a comparison method in [14].

B. Indoor Comprehensive Trials
These experiments were performed on the Jackal robot in an office environment for which a high resolution SLAM map was already available, enabling accurate characterisation of   the system's performance. Again, we emphasise that SLAM was run completely independently from the teach and repeat navigation, and was only used to measure performance. In particular we examine the robustness of the system to inaccurate odometry and low resolution images, and its sensitivity to parameter tuning. 1) Robustness to Odometry Errors: Robustness to inaccurate odometry information was determined to be a key performance characteristic of the system, particularly for application to low cost robots for which no other self motion sensor information, such as an IMU, is available. Significant odometry variations were for example observed when operating robots on different floor surfaces, or as the tyre pressure dropped. As in [6], [24], orientation errors in odometry were found to be less critical, so here we examine the effects of an up to ±30% systematic artificial corruption of linear odometry measurements. Teach run odometry information was kept unchanged for all trials.
The results for 5 trials at each of the odometry corruption values are shown in Figs. 5 and 6, and summarised in Table II. Errors during the repeat runs increased gradually with increasing odometry errors so performance remained robust for the range of ±20% corruption. Failures occurred for ±30% odometry corruption, when lateral path error exceeded the width of the corridors in which the robot was travelling and manual intervention was required to avoid crashing. This result is in comparison to a similar teach and repeat approach in [24], which was only successful for −5% to +10% odometry error following a much simpler indoor route.
Additionally, we tested the Bearnav system [6] in the same conditions. It explicitly does not account for errors in odometry distance measurements, so served as a good benchmark to test whether our along-path correction improved robustness. Indeed, Bearnav was successfully able to repeat the route with accurate odometry but failed consistently for even ±5% odometry error. IBVS [12] does not use odometry, relying solely on visual information, but it was still able to successfully repeat the indoor route.
2) Robustness to Reduced Image Size: Motivated by the successful navigation strategies of ants with their limited visual systems [19], we tested the system's robustness to low resolution images. Fig. 7 shows results for Miro repeating a short (≈15 m) but challenging outdoor route. Our approach performs reliably with image resolutions as low as 23 × 8 before performance degrades significantly.
On the Jackal robot, we achieved reliable performance with 32 × 12 images indoors, and 57 × 22 images outdoors (teach in bright sunlight, repeat overcast). We generally observed that lower resolution images were sufficient when visual conditions were similar for teach and repeat, but higher resolution images were required when conditions changed.
This compares to Bearnav [6], which failed for resolutions below 140×90 in the indoor setting, due to a failure of image feature detection. Similarly, IBVS [12] failed for resolutions below 188 × 120. As expected, direct visual comparison techniques like ours proved more robust to low resolution images than feature based techniques, allowing use of 30 times smaller images compared to the state-of-the-art.
3) Sensitivity Analysis of Teach Repeat Parameters: A sweep of the correction gain parameters was performed to determine the sensitivity of the system to calibration. The default value was empirically chosen to be 0.01 for both corrections, and only one parameter was varied at a time.
The results in Table III show the system working over at least one order of magnitude for both parameters.
The system still worked without any path correction, but this was expected when compared to the successful repeat results for Bearnav, which does not implement path correction. Over the distance of the indoor run, the Jackal's linear odometry accuracy was sufficient for path following.
To stress the importance of the path correction, we conducted additional experiments where we set K p = 0 and artificially corrupted the linear odometry as in the previous experiment. In this case, the repeat runs failed consistently even for a relatively moderate corruption of ±10%, confirming the utility of the along-path correction introduced in Section III-B.3.

C. Extension Test 1: Long Distance Outdoor Trials
A 550 m teach run was performed outdoors on the QUT university campus during bright sunny conditions. An overview of the run is shown in Fig. 8. Challenges included high contrast shadows in the environment and people walking past the robot. Successful repeat runs were performed with delays of one and four months after teaching, and with a reduced image resolution of 57 × 22.
IBVS [12] is specifically designed for indoor environments, and failed outdoors due to a lack of matching line features between the teach and repeat traverses, even when visual conditions were similar. We also tested Bearnav [6] on the outdoor route, which failed when lighting conditions differed between the teach and repeat runs.

D. Extension Test 2: Transferring Teach Run Between Robots
For this test, we recorded a teach run on the Miro platform along the same indoor route as in Fig. 5. As shown in Fig. 4, Miro is much lower to the ground than the Jackal and has a wider field of view. Miro's odometry information is also much noisier than the Jackal's, with a noticeable leftward bias. The teach run was copied to the Jackal, with the only modification that the images were cropped to match the Jackal's field of view. Parameters were kept the same for the Jackal and Miro, as in Table I; only the controller speed parameters were adjusted to account for each platform's dynamics.
Despite a different camera with perspective shift and different odometry between the two robots, the Jackal successfully repeated the run taught to Miro. While previous teach repeat approaches have operated on different robotic platforms, such as in [6], [13], to the best of the authors' knowledge this is the first instance of a teach run being performed on one robotic platform and repeated on another. This demonstrates the high robustness of our approach to viewpoint change and odometry information, and provides promise that the approach could be easily deployed on other robots as further discussed in Section V. Table IV shows a computational comparison between methods for the default configurations. It is emphasised that our approach outperformed the state-of-the-art for the analysed configurations, while requiring less computation.

E. Computational Analysis
The main computational bottleneck of the approach is correlating the current image with each image in the search Fig. 8. Overview of the system's 550 m outdoor traverses. The teach run is shown in green, repeat runs in black, and the low resolution repeat run in blue. All repeat runs were successful, and closely align with the teach run. Example images are shown from the teach and repeat runs to illustrate challenging condition differences. range, a process that could easily be parallelised. Real time (15 Hz) performance was achieved onboard the Miro, which has a Raspberry Pi 3B+ computer, by downscaling the images and reducing the along-path search range.

V. CONCLUSION
Visual teach and repeat has been an active research topic over the past two decades, with applications ranging from a robot tour guide to interplanetary rovers. In this paper, we presented a novel teach and repeat approach that is particularly well suited for low-cost robots, as it can operate with a low-resolution monocular camera and noisy odometry information. This approach efficiently utilises odometry information for navigation, while employing a periodic visionbased correction signal to remain robust to odometry errors, leading to a very flexible system that can be easily deployed in practice. We have demonstrated that our approach works indoors and outdoors on different robotic platforms without parameter adjustment -even when teach and repeat runs are executed on different robotic platforms. Detailed analysis has shown our approach outperforms the state-of-the-art in challenging situations including with noisy odometry or low resolution images, while requiring less computation.
Teach and repeat approaches are challenged in environments that have few nearby visual features, like large open fields, because the correction signal magnitude is reduced. Our approach's accuracy scales with the environment's visual density -providing accuracy when needed. The system could be augmented to also focus on ground textures, allowing greater accuracy in a wider range of environments. Additionally, our approach assumes that position or orientation errors cause predominantly horizontal image offsets, which could be violated in significantly non-flat environments or when using a distorted fish-eye camera. A small incline was successfully navigated in the outdoor route, and the distorted composite images from the Miro robot's two cameras did not impair navigation. But a natural extension would be to run a second stage of searching, such as vertical sweeping, when the horizontal match correlation is too low.
One further extension is to track the system's confidence in its path following and trigger a recovery manoeuvre if this confidence drops too low. There is also potential for offline preprocessing of the teach run images to improve matching of salient image features such as obstacles. Furthermore, we hope to use our system to cross-train navigation capabilities for different robots: for example, using reinforcement learning to train a navigation policy on the Jackal, and then repeating the learned policy on Miro. This is conceptually similar to the sim-to-real transfer problem, where it is well known that transferring policies is extremely challenging [37], [38].