# A Novel Three-Dimensional Navigation Method for the Visually Impaired

Stanley Shen
Los Gatos High School
Los Gatos
<EMAIL_ADDRESS>

###### Abstract

According to the World Health Organization [1], visual impairment is estimated
to affect approximately 2.2 billion people worldwide. The visually impaired
must currently rely on navigational aids to replace their sense of sight, like
a white cane or GPS (Global Positioning System) based navigation, both of
which fail to work well indoors. The white cane cannot be used to determine a
user’s position within a room, while GPS can often lose connection indoors and
does not provide orientation information, making both approaches unsuitable
for indoor use. Therefore, this research seeks to develop a 3D-imaging
solution that enables contactless navigation through a complex indoor
environment. The device can pinpoint a user’s position and orientation with
31% less error compared to previous approaches while requiring only 53.1% of
the memory, and processing 125% faster. The device can also detect obstacles
with 60.2% more accuracy than the previous state-of-the-art models while
requiring only 41% of the memory and processing 260% faster. When testing with
human participants, the device allows for a 94.5% reduction in collisions with
obstacles in the environment and allows for a 48.3% increase in walking speed,
showing that my device enables safer and more rapid navigation for the
visually impaired. All in all, this research demonstrates a 3D-based
navigation system for the visually impaired. The approach can be used by a
wide variety of mobile low-power devices, like cell phones, ensuring this
research remains accessible to all.

##  1 Introduction

Visual impairment, the deterioration of the ability to see, is estimated to
affect approximately 285 million people worldwide. Of those 285 million, 39
million are completely blind and 246 million have poor vision. [1]. Some
possible causes are diabetic retinopathy and glaucoma. Due to their poor
eyesight, the blind must rely on their ability to non-visually memorize their
surroundings and their obstacles. This makes it difficult for them to navigate
new environments, especially those less forgiving to trial and error in high
foot-traffic areas. It can even be hazardous for other areas, like crosswalk
intersections, where the risk of getting hit by a car is high, or a storage
room with hard and heavy objects. Even though the world has taken efforts to
make society an easier place to navigate, such as installing Accessible
Pedestrian Signals (APS) systems at crosswalks (which beep or chirp when it is
safe to cross), blind pedestrians still note that sounds from the speakers did
not provide adequate information, resulting in 97% of physical therapists
reporting that their visually impaired students could not effectively line up
to cross a street [2]. This pattern continues in indoor environments, where
the visually impaired have even fewer accommodations. Sometimes, the only
accommodation that exists is tiny braille markings indicating room numbers on
doors or walls, which does not assist the visually impaired in finding the
room in the first place. Other places might not have any markings at all. For
example, in a survey conducted about issues faced when walking around indoors,
the majority of visually impaired "often" or "sometimes" experience issues
with ground level, body level, and head level obstacles [3]. Currently,
commonly employed solutions by the visually impaired either involve a white
cane or a human guide. White canes are not ideal because they cannot detect
any obstacles that are not resting on the ground, such as low-hanging tree
branches. Another option would be sighted guides, as all human environments
can be easily navigated with the help of a sighted guide, but having a human
guide is not always possible as sighted guides might not be available to help,
and sighted guides can restrict personal independence. Guides are not ideal
because it requires the presence of a sighted chaperone to give instructions.
Other solutions, like guided dogs, also are not optimal as they are often
expensive costing up to 37,000 USD, need to be trained (which is a long and
time-consuming process), and are not allowed in all locations, such as taxis
[3]. Current technological solutions use Global Positioning Systems (GPS) and
Geographic Information Systems (GIS) to give directions for the users to walk
from one location to another. These solutions are unable to detect obstacles
not mapped by GPS and satellite imagery, so these solutions cannot be used for
day-to-day use in the real world without the use of an additional obstacle-
avoidance system [4]

The goal of this project was to create an end-to-end (complete) technological
navigation aid for the visually impaired. The research aims to develop a
machine learning model to perform camera pose estimation or camera
localization based on a standard camera phone sensor to avoid the need for
bulky 3D sensors. Then, this research also worked on development of a
lightweight 3D object-detection algorithm based on existing state-of-the-art
(SOTA) algorithms, to enable people without powerful computers to also run the
developed software. Finally, the research will integrate both algorithms and
use them to power a voice interface to communicate navigation information to
the user, such as the position of objects of interest, or the position of
objects to avoid.

###  1.1 Visually Impaired Navigation

For centuries, the visually impaired have had to rely on low-tech options for
navigation, such as the white cane. This is a slow and inefficient method that
is also quite risky and hard to use in day-to-day life. Canes have not
fundamentally changed in function since their inception, except being
manufactured out of lower-weight plastics or composite materials or having
folding hinges to allow for navigation in smaller spaces, neither of which
significantly improve navigation accuracy and speed. However, recently, some
researchers have begun integrating computer technology into smart canes to
make them easier and faster to use. One prominent example is the cane designed
by Slade et al. While groundbreaking and much more affordable compared to
previous electronically-guided canes (the design cost only 400 USD to make,
compared to 5,000 USD of previous designs) [5], the cane still primarily makes
use of expensive, bulky 2D LiDAR sensors (sensors with an array of lasers
which measure distance), which have to be carried around. Users complained
about the weight of the device as a recurring usability issue. Therefore, the
goal of this research is to remove the need for a 3D scanner for daily use.
The device first creates a baseline scan of the environment. Since the
developed method will use true 3D scans of the surrounding environment, rather
than a flat planar 2D “bird’s eye” view, the device can also use object
detection to find the size, position, and description of each object. This
enables users to search for and locate an object, making the method more
useful when indoors. Also, instead of using a 3D scanner during daily
operation, the device uses a camera to localize the user (find the location of
everything else relative to the camera). This means the project can be broken
into three main sections: 1) camera pose localization, 2) object detection,
and 3) system integration into a unified device for the end-user.

###  1.2 Camera Pose Localization

Camera Pose Localization, which is the task of inferring a camera’s position,
has been a long-standing challenge in the field of robotics. This is the first
and crucial part of this research, as the model will need the location of the
user to provide accurate and effective navigational instructions. If the
position is wrong, the device might give incorrect location directions to the
user. The traditional approach is to use a simultaneous localization and
mapping (SLAM) approach; however, this is computationally intensive and
requires the use of high-resolution and high-frequency sensors.

This is an issue because these sensors require large batteries to supply power
to the sensor, as well as powerful computers to process the data. This is
because the approach uses frame to frame odometry, using movement between each
frame from a 3D sensor to “match” the perspective of the sensor and find the
position of the camera. However, frame to frame odometry requires frame to
frame correspondence, meaning that movement needs to be matched to the
previous frame before it is needed, or else the SLAM system “loses track” of
its position.

SLAM also cannot relocalize (determine initial position) the 3D-based absolute
position, as the position is determined by frame-to-frame differences. The
requirement of tracking movement frame-to-frame means that a high sample rate
is required for high accuracy, making SLAM an unsuitable system for deployment
in low-power mobile systems.

However, other systems for localization do exist, such as appearance-based
localization methods. These methods can determine the camera’s position using
details from the environment. Appearance-based localization “matches” the
current perspective from a camera to a database of images with known
positions, and uses the most similar image from a database to make a
prediction. These methods are only capable of rough localization, which is not
accurate enough for navigating tight spaces. As a result, researchers began to
develop methods that use machine learning, which is what this research
attempts to build on.

The first major approach was the appearance-based method PoseNet, a machine
learning approach, described and implemented in the paper PoseNet: A
Convolutional Network for Real-Time 6-DOF Camera Relocalization [6]. This
method uses a general backbone “feature extraction” neural network (artificial
collection of computer-simulated neurons) to extract features of the images,
similar to the SIFT (Scale-invariant feature transform)-based approaches for
localization. In the research paper, an outdated GoogLeNet [7](aka Inception
V1) is used as the backbone. The second section is the “pose regression”
neural network, which then converts the features of each image into position
and orientation information. This network, while groundbreaking at the paper’s
release, is largely hampered by the use of a now older feature extraction
backbone, and replacing it will likely vastly improve the localization
performance of the neural network. This is important as navigation requires
precise knowledge of a person’s location in a room, meaning improving the
performance is important.

Another method is to use kinematics equations to determine the position from
the linear and angular acceleration sensors derived from accelerometers and
gyroscopes. However, due to the double integration needed to convert
acceleration to position, this leads to a large amount of noise, error, and
jitter (rapid changes in output estimation) in the resulting position and
orientation of the camera. Even applying filters, such as Mahony, Madgwick, or
Kalman filters, which should help reduce noise, leads to large amounts of
drift (deviation) in the resulting position, since small movements are
filtered out to reduce noise. This means that dead reckoning, or determining
position and orientation by considering velocity and changes in orientation
over time, is a difficult task to perform accurately. This research adapts
this method to run in real-time by correcting the drift immediately after each
step, instead of running the drift compensation “offline” (not real-time),
which will allow use in this final device.

###  1.3 Object Detection

3D Data, and as a result, point clouds, have many benefits. For instinct,
point clouds allow for route planning throughout a room, allowing for more
efficient travel. CNNs, with convolution filters, run easily with images as
images can be easily converted into a “grid” of pixels. However, point clouds
are unevenly spaced. While pixels are taken based on the pixels in an image
sensor, which are always fixed evenly, the density of a point cloud can vary
greatly due to the design of the 3D sensors. Point clouds are also invariant,
as re-ordering the order of the points (when listed in an array-like data
structure) leads to the same object, a property that does not apply to other
types of data, like images. This makes 3D objects a difficult medium to apply
machine learning directly on. Working with point clouds (3D data), even
without the context of object detection, has long been a hard issue to solve.

###  1.4 System Integration

The last section is integration, which is combining pose localization and
object detection into one singular device and app. Slade’s cane [5], which was
designed primarily for outdoor navigation, was a white cane with a motor
attached to the end to provide force feedback regarding which direction to
travel to avoid a collision. However, given that this device will be used
indoors, the research developed and demonstrated a completely new interface
that will also give information regarding the relative height of obstacles.

##  2 Methods

My research can be divided into three main phases: camera pose localization,
object detection, and system integration into a unified device for the user.

###  2.1 Camera Pose Localization

As stated in the methods, this research used PoseNet [6] as a base neural
network. This research focused on augmenting the performance of the feature
extraction section (which isolates important details within a CNN). However,
by providing more accurate and detailed features of the image, the pose
regressor should be able to produce more accurate camera pose information.
This is because more accurate and important details of the room help neural
networks create accurate predictions. The original work by Kendall et al. used
GoogLeNet, a CNN, with 22 layers extracting different features [7]. However,
more advanced techniques have been introduced for image classification, which
can be used as the basis for a feature extraction system that can be modified
for pose regression. One example would be Residual Learning, which helps train
deeper neural networks with more layers. Deep neural networks with large
numbers of layers can multiply out the input values to have incredibly small
gradients, leading to slow or no training. By allowing extracted details of
the room to skip layers, this issue is partly reduced as direct skips
discourage gradients from becoming too small. The second method applied is
fully connected CNN layers. This method, as referenced in the DenseNet paper
[8], helps with alleviating the vanishing gradient problem. It also makes the
network more efficient by reusing features, as well as reducing memory by
reducing the number of required parameters. By connecting all the layers, all
of the different layers “work together” to extract more features from an
image. However, training to achieve efficient feature sharing while
maintaining accuracy requires a large amount of training data. The third
method is to use transformers (a network based on self-attention). Self-
attention helps extract features, but the original approach of directly
applying images to the network would require each pixel in the images to be
compared to all the other pixels in the images, resulting in a quadratic
increase in computation resources needed as image size increases. Given that
images require significantly more memory than text, a vanilla transformer
architecture becomes infeasible for image resolution beyond a few pixels. This
is because each pixel is compared to every single other pixel. To circumvent
this issue, this research used the technique of image patching or splitting
the image into smaller patches, as first described in An Image is Worth 16x16
Words: Transformers for Image Recognition at Scale [9]. This way, the
computational requirement can be reduced, as well as memory requirements, and
take advantage of the ability of self-attention, which is used to find
correlations between parts of an image, compared to CNNs, which only work on
the section being processed by the filter. Lower computational requirements
are paramount since they allow the device to give instructions more
frequently, allowing the user to navigate more rapidly. To conduct dead
reckoning through sensors, devices contain an IMU (inertial measurement unit)
that can be positioned near a shoe. This resets the integration error every
single time the foot hits the ground. Dead reckoning is determining the
position and orientation tracking without outside references. This is called
gait tracking, as the device tracks the position of the foot. After every
step, the foot is momentarily still before the person resumes the step,
meaning the algorithm can set the calculated velocity to zero, with the
purpose of minimizing the calculated drift in the process. The device also
fused the position and orientation value from the machine learning algorithm
and sensors, which helped create more stable and accurate results.

###  2.2 Object Detection

One way that this research applied machine learning to 3D objects is by
splitting the 3D object shape into a 3D grid in a process called voxelization.
This way, the study could expand standard CNN filters into the third
dimension. However, due to adding another dimension, computation and memory
requirements increase exponentially. So, spare CNN filters from Sparse 3D
convolutional neural networks[10]are used. They work with a precomputed hash
map with all the occupied areas, and skip processing whatever is in empty
spaces, reducing memory and computation time. Compared to more complicated
algorithms that have been applied to 3D objects, like transformers, CNNs can
easily scale to large and smaller scenes. It does this by applying the same
filter over, as well as reducing memory usage, compared to the more memory-
intensive transformers, whose memory requirement increases quadratically as
the number of points in a 3D scene doubles.

###  2.3 System Integration

One way that this research applied machine learning to 3D objects is by
splitting the 3D object shape into a 3D grid in a process called voxelization.
This way, the study could expand standard CNN filters into the third
dimension. However, due to adding another dimension, computation and memory
requirements increase exponentially. So, spare CNN filters from Sparse 3D
convolutional neural networks[10] are used. They work with a precomputed hash
map with all the occupied areas, and skip processing whatever is in empty
spaces, reducing memory and computation time. Compared to more complicated
algorithms that have been applied to 3D objects, like transformers, CNNs can
easily scale to large and smaller scenes. It does this by applying the same
filter over, as well as reducing memory usage, compared to the more memory-
intensive transformers, whose memory requirement increases quadratically as
the number of points in a 3D scene doubles.

##  3 Results

###  3.1 Dead Reckoning Based Pose Localization

Type of Position Tracking | Deviation Amount from Offline Reconstruction (Meters)
---|---
Position Tracking, no Gait Compensation | 340.98
Offline Position Tracking, with Gait Compensation | 0
Online Position Tracking, with Gait Compensation | 0
Table 1: Comparison of Dead Reckoning Methods

Figure 1: Estimated Position Graph

Figure 2: Estimated Position Graph

Figure 3: Estimated Position Graph

As seen in the 3D graphs of someone climbing up a spiral staircase and walking
down a straight corridor, the offline position tracking without gait
compensation (Fig 3), the results of the position traces are drifting far
beyond recognition. However, compared to offline position tracking developed
by Seb Madgwick (Fig 1), to the developed real-time adoption of his method
(Fig 2), which runs in near-real-time (processing everything time a step is
completed). The table and 3D graphs form much more recognizable trajectories
of the spiral staircase, with both results being credibly similar or identical
trajectories.

###  3.2 Machine Learning-based Pose Localization

Figure 4: Error of Localization Model Figure 5: Compute power required for
Localization Model Figure 6: Memory required for Localization Model

To analyze the results, the accuracy (in the form of Position and Orientation
Error in Fig 4), as well as computation and memory requirements (in the form
of parameters per model and gigaflops per image in Fig 5 and Fig 6) are
graphed out. It is important to have high accuracy to ensure precise location
data, which makes navigation much more stable and safer. It is also important
to have low parameters per model to reduce the space required to store and run
a model as well as a low number of FLOPS(floating point operations per second)
needed to execute a model to reduce the need for expensive power-intensive
hardware.

As shown in the graph, vision transformers perform with the highest accuracy
in both positions and also have the average computation and memory
requirements. Other methods, such as Fully Connected CNNs and Residual CNNs,
due have lower processing requirements but offer worse performance compared to
vision transformers. All in all, by switching from deep CNNs to vision
transformers, the developed network can reduce error on average 31% while
processing data 1.2x faster and requiring 53.1

###  3.3 Object Detection

For the object detection neural network, this study mainly focused on the
balance of the number of “levels” to encode. In theory, increasing the number
of levels and increasing the depth should mean more features extracted from
the 3D object, and as a result, better object detection, but this comes at the
cost of requiring more memory and computation power. The memory needed in
megabytes of RAM and the computation power needed were evaluated by measuring
how many batches can be processed per second, with more batch per second
meaning that less computational power is required. However, sometimes the
computer cannot even run one batch on a GTX 1060 3GB GPU, so some
configurations are listed with OOM (out of memory), meaning the GPU ran out of
memory.

Figure 7: Accuracy of Object Detection Model Figure 8: Compute Power of Object
Detection Model Figure 9: Memory required for Object Detection Model Figure
10: Memory required for Localization Model Figure 11: Memory required for
Localization Model

As shown in Figure 11, increasing the number of levels and using a deeper pre-
encoder (denoted by the number after the prefix HDResNet) rapidly increases
the amount of memory required and leads to more computation power being
required, as the number of batches (3D scenes) that can be processed per
second, goes down rapidly. Fig 10 shows that increasing the number of levels
does not lead to ever-increases of accuracy, and at around 3 levels, the
accuracy reaches the highest point.

###  3.4 Human Testing

In order to determine how much these performance and speed improvements would
carry over to the real world, human trials were carried out. In order to
ensure fair testing, participants were blindfolded with opaque lab goggles,
moved to a random point in the room, and told to navigate a certain point
within the room. Then, collisions with the environment and time to complete
transit were recorded. The same trial was run again with randomized points,
but this time, the participants used the developed device to navigate, instead
of relying on their hands to walk around.

Figure 12: Memory required for Localization Model Figure 13: Memory required
for Localization Model

##  4 Analysis and Discussion

###  4.1 Dead Reckoning Based Pose Localization

As shown in the 3D trajectories, with standard dead reckoning without gait
tracking, the error in the position rapidly builds to the point where the
results are not usable, even when applying a Mahony Filter for AHRS (Attitude
and Heading Reference System) to help filter out noise. Instead, the device
reset the velocity drift after each step to avoid drift. However, normally
this process is done after the data has been collected. Instead, the device
continually applies a bandpass filter to accelerometer data and detect when
the acceleration magnitude is below a certain threshold to determine when the
foot is stationary, then calculate the velocity drift, turn the previous step
and compensate for it, immediately after each step. However, it is hard to
quantify the error without absolute position tracking, which is only possible
with expensive and large motion capture systems, something that this study was
trying to avoid with dead reckoning. In future studies, I hope to be able to
quantify the improvement of the developed method with the use of an infrared
ball tracking motion capture system. Nevertheless, by analyzing the trajectory
visually, it can clearly be seen that the path recorded in testing (a spiral
staircase and walking down a corridor) is present, showing that gait-based
drift compensation is working.

###  4.2 Machine Learning-based Pose Localization

According to this research, vision transformers are a better choice due to
their higher accuracy. Vision transformers are not as parameter (22 million
parameters versus 9.067 million parameters) or computationally efficient (2.9
gigaflops versus 4.6 gigaflops) compared to fully connected CNN but offer
vastly improved accuracy with 1.3 meters and 13.46-degree error, compared to
fully connected CNN’s error of 4.8 meters and 29.4 degrees errors. This means
that this research reduces the error in position by 54.2%, and reduces
orientation error by 7.8%, a massive improvement compared to the previous
control method. Even compared to the control Residual Learning CNNs, which
have a similar parameter and flops requirement, vision transformers are still
more performant. This is due to the self-attention feature, which enables
encoding of features across an image, compared to the standard sliding filter
of a CNN. Self-attention compares each pixel to each pixel, allowing for
larger details to be detected. This means, on powerful devices, vision
transformers are the better choice for pose localization. When devices start
to become more powerful for machine learning, such with the more widespread
adoption of dedicated machine learning hardware like Apple Neural Engine,
vision transformers will become the de facto choice due to superior accuracy.

However, transformers still require a larger amount of data to train on. While
the training comparison dataset was quite large (4000+ samples), it would be
worth evaluating how performance is affected on smaller datasets.

###  4.3 Object Detection

For a 3D CNN object detection, the number of feature levels is shown to have
some effect on performance. However, at 4 levels, little increase is shown
over 3 levels, and comparing HDResNet18 at 4 levels and HDResNet18 at 3 levels
even shows a decrease in performance (60.44 vs 59.43 mAP at 50% intersection),
showing that at least for small-sized rooms, 3 levels can accurately process
all the features in a room, without overfitting. Increasing the encoder depth
does increase detection accuracy, indicating that increasing the depth may be
useful for further increasing detection accuracy, without the massive memory
and computation increases needed for increasing the feature level. A further
metric to analyze in the future include a larger dataset with large
environments and more complicated, smaller objects, as the voxelization
(dividing each scene into a grid with small boxes), may suffer when dealing
with smaller objects, however, the low computation requirements (being able to
process multiple scenes a second), makes it well suited for mobile devices. By
optimizing the number of feature levels and depth of each model, this research
increased the accuracy of object detection by 60.2% when compared to the
previous state-of-the-art model, while processing data 260% faster, and
utilizing only 41.5% of the memory.

###  4.4 Human Testing

With the developed device, human users were able to significantly walk much
faster with an average increase of 48.3% in walking speed, as well as an
average reduction of collisions by 94.5%. This shows that the developed end-
to-end system using 3D route planning and voice interface can allow for faster
and more safe day-to-day indoor travel. With the low cost of 20 dollars to
produce, it is also affordable to most. However, while the device was
effective at navigation, it still required some human setup when installing
the application and configuring before first use. Setting up the project, and
installing the required code could be frustrating to non technical users. To
help alleviate this potential source of frustration, in future studies, I hope
to be able to create an automated installer system that installs the software
and configures it automatically, without need for any human input.

##  5 Conclusion

This research develops a working system that can be used by a visually
impaired user with little instruction and practice to navigate through a
complicated urban environment. This work developed a new machine-learning
algorithm that can be used to estimate the position and orientation of a
smartphone camera, without the need for a computationally intensive SLAM-based
system with 3D cameras. This study also adapted a technique for more accurate
dead reckoning using gait tracking to run in real-time, enabling it to be used
in real-time navigation. Finally, this research optimized a 3D object
detection system to detect the position and sizes of objects in a 3D
environment, to allow for more optimized path planning in a complicated urban
environment. This project goes on to suggest that it is feasible to replace
the method of white cane navigation with a modern, 3D-imaging solution, which
allows for more efficient navigation. This should help reduce the amount of
“searching” a user has to do to find objects and reach an area of interest,
like the exit to a room, as well as reduce the difficulty of navigating a new
and unfamiliar environment for the visually impaired. With the low cost of the
developed device, costing a mere 20 dollars to prototype, the developed
research also ensures that anyone can afford the device. This project can also
serve as a general framework for 3D-imaging visually impaired navigation aids,
something that has not existed in the past.

## Acknowledgments

Thank you to my parents for supporting my research, Cathy Messenger for
mentoring my project, as well as the rest of 2021-2022 ASR class for
encouragement and moral support along the way.

## References

  * [1] World Health Organization.  Blindness and vision impairment, 2021.
  * [2] Daniel Carter.  Research on problems of blind pedestrians, 2015.
  * [3] Watthanasak Jeamwatthanachai, Mike Wald, and Gary Wills.  Indoor navigation by blind people: Behaviors and challenges in unfamiliar spaces and buildings.  British Journal of Visual Impairment, 37(2):140–153, May 2019.
  * [4] Bineeth Kuriakose, Raju Shrestha, and Frode Eika Sandnes.  Tools and technologies for blind and visually impaired navigation support: A review.  IETE Technical Review, 39(1):3–18, September 2020.
  * [5] Patrick Slade, Arjun Tambe, and Mykel J. Kochenderfer.  Multimodal sensing and intuitive steering assistance improve navigation and mobility for people with impaired vision.  Science Robotics, 6(59), October 2021.
  * [6] Alex Kendall, Matthew Grimes, and Roberto Cipolla.  Convolutional networks for real-time 6-dof camera relocalization.  CoRR, abs/1505.07427, 2015.
  * [7] Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, and Andrew Rabinovich.  Going deeper with convolutions, 2014.
  * [8] Gao Huang, Zhuang Liu, and Kilian Q. Weinberger.  Densely connected convolutional networks.  CoRR, abs/1608.06993, 2016.
  * [9] Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, Jakob Uszkoreit, and Neil Houlsby.  An image is worth 16x16 words: Transformers for image recognition at scale, 2020.
  * [10] Ben Graham.  Sparse 3d convolutional neural networks.  CoRR, abs/1505.02890, 2015.


# Tension Estimation and Localization
for a Tethered Micro Aerial Robot

Ricardo Martins and Meysam Basiri

###### Abstract

This work focuses on the study of tethered fights of a micro quadcopter, with
the aim of supplying continuous power to a small-sized aerial robot. Multiple
features for facilitating the interaction between a tethered micro quadcopter
and a ground base are described in this paper. Firstly, a tether model based
on the catenary curve is presented that describes a quadcopter tethered to a
point in space. Furthermore, a method capable of estimating the tension
applied to the quadcopter, based only on the inertial information from the IMU
sensors and the motor thrusts, is presented. Finally, a novel method for
localizing the quadcopter by exploiting the tension imposed by the tether and
the shape of the tether is described. The proposed methods are evaluated both
in simulation and in real world prototype.

##  1 Introduction

Micro aerial robots are known by their versatility and ability to get
information from higher altitudes allowing them to have many important
applications [1, 2, 3, 4]. However, such robots have a low payload capacity
and due to the small on-board battery short flight times are reached. In some
applications where the robot is only required to operate inside a limited air
space, such as to inspect a solar panel installation [3], an industrial
structure [5] or a vessel [6] or to operate inside a house [7], continuous
power can be supplied trough a tether that is attached to a ground station
allowing beyond battery missions [8]. The ground station can also be mobile,
such as a mobile service robot [9] or an unmanned ground vehicle [10], to
further extend the operation area of the tethered aerial robot and to perform
missions cooperatively with the aerial/ground multi robot system [11]. The
integration of a tethered micro aerial robot can also enhance the capabilities
of mobile ground robots by providing an aerial perspective of the surrounding
environment, facilitating tasks such as path planning and obstacle avoidance
[12, 13].

To implement a tethered solution, the cable characteristics for the tether
must be carefully considered taking into account the resistance and the
varying power drop across the cable [14, 15]. Although it is possible to only
power an aerial robot through a tether, however, a small on-board battery
could also be used to allow robustness against power blackouts or damages to
the tether [16].

Ground robots, with their ability to carry large payloads, including
batteries, sensors, and computers, offer a unique opportunity for
collaboration with aerial robots [10]. By combining their strengths, the two
types of robots can undertake tasks that would otherwise be impossible
individually. Aerial robots, for example, can provide valuable aerial sensing
and enhance the ground robots’ localization capabilities [17]. Conversely,
ground robots can serve as mobile charging stations or power sources,
supplying energy to their aerial counterparts via an attached tether [17, 18,
19]

Despite the benefits mentioned above, there are multiple challenges that must
be considered to facilitate autonomous operation of tethered aerial robots.
The constraints in the motion of the robot imposed by the tether and the
varying tension that the tether applies to the robot must be considered by the
flight controller. For this purpose, it is important to have an accurate
estimation of this varying tension.

In this paper a method to estimate the tension on a tethered aerial robot is
described that is only based on the IMU sensor readings. As the IMU
measurements have high noise levels which prevents them from being used
directly for accurate tension estimations, a filtering approach is used to
assist with the estimation. Furthermore, we show that the robot position
estimation can be improved by exploiting the properties of the tether and
using the tension applied to the UAV. The tension on the end-points of the
tether is related to its shape, which means that the relation between the
tether model and the tension applied to the quadcopter can be expressed
mathematically.

##  2 Proposed Methodologies

###  2.1 Characterization of the shape of the tether

####  2.1.1 Catenary Curve

In case of a non-rigid tether connecting the quadcopter to a ground-base, the
shape of the tether approximately outlines a catenary curve. The catenary
model consists of a hanging cable, with no stiffness, sagging under its own
weight and supported only by its ends (see figure 1).

Figure 1: Catenary curve and related parameters; world $\\{W\\}$ and catenary
$\\{C\\}$ frames.

The point ($x_{1}$, $y_{1}$) corresponds to the origin and the point ($x_{2}$,
$y_{2}$) to the position of the quadcopter. The shape of the catenary can be
defined according to a mathematical model, in which expression 1 presents the
equation of the catenary.

$y=a.cosh\Big{(}\frac{x-x_{0}}{a}\Big{)}+C$ (1)

Parameter $\langle x_{0}\rangle$ is the abscissa of the lowest point.
Parameter $\langle a\rangle$ corresponds to the $y$ coordinate of the lowest
point of the curve ($x=x_{0}$) regarding the catenary frame $\\{C\\}$, and it
must always be positive.111A negative value of parameter $\langle a\rangle$
would only have a physical meaning if the shape of the catenary was concave
instead of convex.. Parameter $\langle C\rangle$ is an offset between the
world frame $\\{W\\}$ and the catenary frame $\\{C\\}$, which depends on the
tether’s parameter $\langle a\rangle$ and the $y$ coordinate of the lowest
point regarding the world frame ($y_{0}$).

$C=y_{0}-a$ (2)

Expressions 3 and 4 introduce the tether parameters $\langle s_{1}\rangle$ and
$\langle s_{2}\rangle$, which represent the arc-length from the tether lowest
point to the origin and to the UAV, respectively.

$s_{1}=a.sinh\Big{(}\frac{|x_{1}-x_{0}|}{a}\Big{)}$ (3)
$s_{2}=a.sinh\Big{(}\frac{|x_{2}-x_{0}|}{a}\Big{)}$ (4)

Equations 5 and 6 respectively present the horizontal and vertical tension on
the end-points of the catenary curve. Both the horizontal and vertical tension
depend on the tether’s parameters - $\langle a\rangle$ or $\langle s\rangle$
\- and on the weight of the tether, where $\omega$ is the weight per length
unit [20].

$H=\omega.a$ (5) $T_{V}=\omega.s$ (6)

The absolute value of the tension results from the euclidean norm of the
horizontal and vertical tensions.

$|T|=\sqrt{T_{V}^{2}+H^{2}}$ (7)

The quadcopter flying in an $R^{3}$ space allows to define the horizontal
tension ($H$) in terms of a component along the $x$ direction and another
along the $y$ direction, as shown in figure 2.

Figure 2: Horizontal tension decomposition.

The previous circumstance relates the tension along the x and y direction
according equation 8 and 9, respectively.

$Tx=cos(\beta).|H|$ (8) $Ty=sin(\beta).|H|$ (9)

The parameters of the catenary cannot be mathematically computed by only
knowing the coordinates of the two tether end-points. Thus, these parameters -
$\langle a\rangle$, $\langle x_{0}\rangle$, $\langle C\rangle$, $\langle
s_{1}\rangle$, and $\langle s_{2}\rangle$ \- are obtained gathering additional
information from knowing the full length of the tether.

This assumption leads to a possible and determined system of equations 10-14,
which can be numerical solved generating the curve parameters.

$y_{1}=a.cosh(\frac{x_{1}-x_{0}}{a})+C$ (10)
$y_{2}=a.cosh(\frac{x_{2}-x_{0}}{a})+C$ (11) $s_{total}=s_{2}+s_{1}$ (12)
$s_{1}=a.sinh\Big{(}\frac{|x_{1}-x_{0}|}{a}\Big{)}$ (13)
$s_{2}=a.sinh\Big{(}\frac{|x_{2}-x_{0}|}{a}\Big{)}$ (14)

Subtracting equation 10 from equation 11, and making use of the hyperbolic
cosine properties, it follows:

$\Delta Y=2a.sinh(\frac{\Delta x}{a}).sinh(\frac{x_{average}-x_{0}}{a}),$ (15)

where $\Delta x=\frac{x2-x1}{2}$, $x_{average}=\frac{x2+x1}{2}$ and $\Delta
y=y_{2}-y_{1}$. The expression of the length of the tether $\langle
s_{total}\rangle$ is re-written by replacing equation 13 and 14 into
expression 12, and using the hyperbolic sine properties.

$s_{total}=2a.sinh(\frac{\Delta x}{a}).cosh(\frac{x_{average}-x_{0}}{a}),$
(16)

Equation 17 presents a useful relation between $\langle x_{0}\rangle$ and
$\langle a\rangle$, which results from the division of $\Delta Y$ by $\langle
s_{total}\rangle$.

$x_{0}=x_{average}-a.tanh^{-1}(\frac{\Delta Y}{s_{total}})$ (17)

The insertion of equation 17 in equation 15 allows to obtain equation 18, and
using the Newton-Raphson method on this last produces the value of parameter
$\langle a\rangle$. However, when $\Delta Y=0$ it is not possible to compute
parameter $\langle a\rangle$ since equation 18 does not depend on $\langle
a\rangle$ to be valid. Nevertheless, from the knowledge that $\Delta Y=0$ it
comes that $x_{0}$ is known and corresponds to $x_{average}$, which means that
equation 16 can compute the parameter $\langle a\rangle$. An alternative
approach is to force the value of $\Delta Y$ to be not null by adding a small
offset.

$\Delta Y-2.a.sinh(\frac{\Delta x}{a}).sinh(tanh^{-1}(\frac{\Delta
Y}{s_{total}}))=0$ (18)

The expansion of the Taylor series derives the initial estimation of parameter
$\langle a\rangle$.

$sinh(x)=\frac{e^{x}-e^{-}x}{2}=\sum_{n=0}^{\inf}\frac{x^{2n+1}}{(2n+1)!}=x+\frac{x^{3}}{3!}+\frac{x^{5}}{5!}+...$
(19)

By applying this approximation to expression 18, one can re-write this last
equation as a result of a $5^{th}$ order approximation for the hyperbolic
sine, according to equation 20.

$\bigg{(}\frac{\Delta Y}{2.sinh\big{(}tanh^{-}1(\frac{\Delta
Y}{s_{tot}})\big{)}}-\Delta x\bigg{)}a^{4}-\frac{\Delta
x^{3}}{3!}a^{2}-\frac{\Delta x^{5}}{5!}=0$ (20)

The assumption that $\alpha=a^{2}$ reduces equation 20 to the $2^{nd}$ order.
Furthermore, the quadratic formula presented in equation 21 produces the
solution for this $2^{nd}$ order expression

$x^{2}=\frac{-b+/-\sqrt{b^{2}-4.a.c}}{2.a},$ (21)

where

$a=\frac{\Delta Y}{2.sinh(tanh^{-1}(\frac{\Delta Y}{s_{total}}))}-\Delta
x,b=\frac{-\Delta X^{3}}{3!},c=\frac{-\Delta x}{5!}.$ (22)

Reverting the variable substitution produces the desired value for $\langle
a\rangle$, according to equation 20.

$a=\sqrt{(}\alpha),$ (23)

Since equation 20 is a $4^{th}$ order equation it produces 4 roots - in the
relevant domain, two of them are complex roots and two of them real roots, one
positive and other negative. Only the positive real root has a physical
meaning and so it is the only one to be taken into account.

The replacement of $\langle x_{0}\rangle$ and $\langle a\rangle$ into equation
10 or into equation 11 allows to compute the $\langle C\rangle$ parameter.

####  2.1.2 Validation of the catenary model

The malleability of the tether is one of the most important feature to ensure
that the tether outlines a catenary curve. The validation of the catenary
model was done by overlaying the real silicon tether with the theoretical
model of the catenary curve, as shown in figure 3.

Figure 3: Catenary model validation

###  2.2 Tension Estimation

The tension estimate applied to the quadcopter is computed using the
quadcopter’s thrust and the inertial information from its IMU sensors.
However, these sensor readings present a high level of noise, which means that
it is impossible to determine the tension applied to the quadcopter with the
desired accuracy. To filter the undesired noise, and assuming that the noise
is white Gaussian, a Kalman filter was implemented.

Equations 24 and 25 describe a linear system, in which $w_{k}$ and $v_{k}$ are
the process and the observation noise, respectively; $x_{k}$ is the system’s
state vector; $y_{k}$ is the observation vector of the system’s states;
$u_{k}$ is the system’s input.

$x_{k}=Ax_{k-1}+Bu_{k}+w_{k}$ (24) $y_{k}=Cx_{k}+D+v_{k}$ (25)

The Kalman filter starts by propagating the process model, where
$\hat{x}^{-}_{k}$ is the state estimate.

$\hat{x}^{-}_{k}=A\hat{x}_{k-1}+Bu_{k}$ (26)

Afterwards, it uses the information from the sensor measurements to improve
the estimate obtained from the model propagation. The final state estimate is
given by:

$\hat{x}_{k}=\hat{x}^{-}_{k}+K_{k}(y_{k}-C\hat{x}^{-}_{k})$ (27)

The variable $K_{k}$ is the Kalman gain, which adjusts the relation between
the process and observation estimates.

The tension that is applied to the quadcopter may be applied through human
interaction, which implies infinite possibilities for the way that the wire is
pulled. The implemented solution considers a model where the tension remains
the same, which can be extended to situations where the wire is not abruptly
pulled and do not have considerable oscillations.

The state estimate ($\hat{x_{k}}$) is a $\Re^{3}$ vector, including the
tension along $x$, $y$ and $z$ directions, and $y_{k}$ is the observation
vector, which includes the tension measurements.

$\begin{matrix}\begin{matrix}\hat{x}_{k}=\end{matrix}\begin{bmatrix}Tx_{k}\\\
Ty_{k}\\\ Tz_{k}\\\ \end{bmatrix}y_{k}=\begin{bmatrix}Tx_{k}^{obs}\\\
Ty_{k}^{obs}\\\ Tz_{k}^{obs}\\\ \end{bmatrix}\\\ \\\
A=C=\begin{bmatrix}I\end{bmatrix}^{3x3}B=D=\begin{bmatrix}\varnothing\end{bmatrix}^{3x1}\end{matrix}$
(28)

The tension measurements $T^{obs}$ are obtained through equation 29, where
$\vec{a}$ corresponds to the acceleration vector, $\vec{g}$ to the gravity
vector, $R(\eta)$ to the rotation matrix between the world and the quadcopter
frames (see figure 4), and $F_{p}$ to the total thrust of the quadcopter. The
superscript obs refers to the on-board sensor reading of the quadcopter.

$T^{obs}=m(\vec{a}^{obs}+\vec{g})-R(\eta)^{obs}F_{p}^{obs}+F_{ext}$ (29)

Figure 4: World frame ${W}$, body frame ${B}$, radial vector $\vec{R}_{r}$,
and its horizontal projection $\vec{r}$

###  2.3 Position Estimation

This section222In section 2.1 the catenary model was evaluated for a $\Re^{2}$
space. In this section, the quadcopter is moving in a $\Re^{3}$, and so the
$y$ and $x$ coordinates in section 2.1 are replaced by $z$ and $r$
coordinates, where $r=\sqrt{x^{2}+y^{2}}$ (see figure 4) uses the relation
between the tension that the catenary model exerts to the quadcopter and its
parameters to compute the position estimate of the quadcopter. The curve
parameters $<a>$ and $<s_{2}>$ are computed according to equations 30 and 31,
where the horizontal $H$ and vertical $T_{v}$ tensions are obtained using the
methods presented in section 2.2.

$a=\frac{H}{\omega}$ (30) $s_{2}=\frac{T_{v}}{\omega}$ (31)

The curve parameters $<a>$ and $<s_{2}>$ are then used to compute the spatial
coordinates of the end of the tether attached to the UAV, along with the
knowledge of the tether’s full length $<s_{tot}>$.

$s_{tot}=s_{2}+s_{1}$ (32)

This way, replacing $x_{0}$ by $r_{0}$ and $x_{1}$ by $r_{i}$ in equation 13,
and using the relation presented in equation 32, one can derive equation 33.

$r_{0}=r_{i}+a.sinh^{-1}(\frac{s_{tot}-s_{2}}{a})$ (33)

Furthermore, replacing $x_{0}$ by $r_{0}$ and $x_{2}$ by $r$ in equation 14,
the radial distance $r$ comes as:

$r=r_{0}+a.sinh^{-1}(\frac{s_{2}}{a})$ (34)

At last, equation 35 uses the catenary’s expression and computes the
quadcopter’s altitude,

$z=a.cosh(\frac{r-r_{0}}{a})+C$ (35)

where equation 36 computes parameter $\langle C\rangle$.

$C=z_{i}-a.cosh(\frac{r_{i}-r_{0}}{a})$ (36)

If the horizontal tension $H$ is null, equations 34 and 35 have a mathematical
indetermination of type $0\times\infty$. The limits of those equations are
presented in equations 37 and 38.

$\lim_{a\to 0}z=\lim_{a\to 0}a.cosh(\frac{r}{a})+C=z_{i}+|s_{2}|-|s_{1}|$ (37)
$\lim_{a\to 0}r=\lim_{a\to
0}a.sinh^{-1}(\frac{s_{1}}{a})+a.sinh^{-1}(\frac{s_{2}}{a})=0$ (38)

##  3 Experimental results

###  3.1 Estimation of the vertical tension

The validation of the vertical tension estimate is done by performing a
vertical tethered takeoff, which represents the simplest experiment to compute
its ground-truth value $Tv_{gt}$.

Figure 5: Illustration of the vertical tension estimation experiment

This last one is calculated through the height of the quadcopter $z$, and the
weight per length unit of the the tether $\omega$.

$Tv_{gt}=\omega.z$ (39)

Figure 6 illustrates the vertical tension estimates.

(a) Hovering at a height of 0,3m.

(b) Hovering at a height of 1,3m.

Figure 6: Ground-truth values and estimates of the vertical tension applied to
the UAV.

The tension estimation procedure does not take into account the force that the
ground exerts on the quadcopter while the propellers are not spinning ,i.e.,
that are not counter balancing its weight. Thus, in the initial instants, the
vertical tension estimate does not correspond to its ground-truth values and
the 0,3N value approximately corresponds to the weight of the quadcopter.

###  3.2 Estimation of the horizontal tension

To validate the horizontal tension estimate, its ground-truth value is
computed using a small mass (coin) attached to a wire. Figure 7 illustrates
the scheme of the test-bench used to compute the ground-truth values for the
horizontal tension.

Figure 7: Test-bench for computing the horizontal tension.

Equation 40 computes the ground-truth value of the horizontal tension, in
which T corresponds to the weight of the mass and $\gamma$ is computed
according to equation 41 \- $z_{q}$ and $z_{a}$ are the height of the
quadcopter and the height of the vertical arm, respectively, and $r_{q}$ is
the quadcopter’s radial coordinate, assuming the inertial frame presented in
figure 7.

$H=cos(\gamma).T$ (40) $\gamma=tan^{-}1(\frac{z_{q}-z_{a}}{r_{q}})$ (41)

Figure 8(a) displays the tension estimate and the ground-truth value for an
attached mass of 4,1g, and figure 8(b) shows the result for a tethered
vertical takeoff, where the tether direction is mainly vertical.

(a) Hovering flight at position $x=-0.3$, $y=z=0$.

(b) Hovering flight at $x=y=0$ and $z=0.4$.

Figure 8: Ground-truth values and estimates of the horizontal tension applied
to the UAV.

As figure 8(b) displays, the horizontal tension estimate is nearly null - less
than 0.01N.

###  3.3 Tension following

The tension applied to the quadcopter is estimated in real-time, according to
section 2.2. The goal position of the quadcopter changes if the estimated
tension is greater than a pre-defined threshold. When this occurs, the goal
position of the quadcopter is successively updated to its current position,
making it to follow the pull’s direction. When the tension applied to the
quadcopter is no longer greater than the pre-defined threshold, the goal
position stops being updated and the quadcopter remains hovering at its last
position.

To observe the behaviour of the tension following feature a few videos were
taken 333The full videos are presented on Youtube here., where figures 9 and
10 correspond to screenshots of those videos.

Figure 9: Screenshots of the quadcopter following the tension’s direction.

Moreover, the implementation of the tension following feature can also be used
for the landing process. Given that, after the first tug, a flag is activated
indicating that the tension following feature is on. Thus, if the quadcopter
flies under a certain height, the motors are turned off. Without using an
external motion system, the same principle can be applied using a sensor
distance, which deactivates the motors if the distance to the landing platform
is smaller than a threshold. Figure 10 illustrates the mentioned landing
process.

Figure 10: Screenshots of the landing of the quadcopter using the tension
following feature.

###  3.4 Position estimation

To avoid the modeling of the tether’s oscillations, the results presented
throughout this section concern hovering flights. Additionally, the angle
$\beta$, which relates the radial distance with the $x$ and $y$ coordinates,
was also a source of inaccuracy. It was initially assumed that the $\beta$
angle was known and was computed using the Mocap system. In practice, the
angle $\beta$ could be computed using a visual or mechanical system on the
ground controller that could indicate the direction of the tether. Figure 11
presents a pair of experiments in which the height corresponds to 1m and the
radial distances are similar between them.

(a) Hovering at $x\simeq 1,2m$, $y\simeq 0m$ and $z\simeq 1m$.

(b) Hovering at $x\simeq 1m$, $y\simeq-0.3m$ and $z\simeq 1m$.

Figure 11: Hovering at same height $z$ and similar radial distance ($x$, $y$)
for small angle $\beta$ ($<20º$).

In a second set of experiments (figure 12) the radial distances are also
similar between them but the estimation of the quadcopter’s height is
evaluated for two different heights - 0,5m and 1,2m.

(a) Hovering at $x\simeq 1m$, $y\simeq 0m$ and $z\simeq 1,2m$.

(b) Hovering at $x\simeq 1m$, $y\simeq-0.3m$ and $z\simeq 0,5m$.

Figure 12: Hovering at different heights $z$ and similar radial distance ($x$,
$y$) for small angle $\beta$ ($<10º$).

A third set of experiments (figure 13) is performed with a bigger range for
the value of the $y$ coordinate.

(a) Hovering at $x\simeq 0,5m$, $y\simeq-0.6m$ and $z\simeq 1m$.

(b) Hovering at $x\simeq 0,9m$, $y\simeq 0.6m$ and $z\simeq 1m$.

Figure 13: Hovering at same height $z$ and different radial distance ($x$,
$y$) for non-small angle $\beta$ ($>30º$).

In the initial instants the Kalman filter assumes that the tensions $T_{x}$
and $T_{y}$ are null, which means that the length $\langle s_{2}\rangle$ and
the tether parameter $\langle a\rangle$ also start to be zero (see equations
42 and 43).

$s_{2}=\frac{T_{v}}{\omega}$ (42) $a=\frac{H}{\omega}$ (43)

According to the expression deduced in equation 38, the initial estimated
position of the radial coordinate is null, implying that $x$ and $y$
coordinates are also null. On the one hand, equation 37 allows to infer that
the initial estimate regarding the altitude corresponds to $z_{i}-|s_{1}|$,
since $s_{2}$ is zero. On the other hand, the tether’s total length is given
by equation 32, which means that $s_{1}=s_{tot}$ for a null length $s_{2}$.
Equation 44 presents the initial estimate of the altitude over this set of
experiments.

$z=z_{i}-|s_{1}|=0,754-1,6=-0,846$ (44)

##  4 Conclusions

This work presented a method to estimate the tension applied to a quadrotor by
using measurements from the IMU sensors. Due to the high level of noise, two
Kalman based filtering processes were introduced. Furthermore, the tension
estimate was used to present alternative ways of controlling the quadcopter,
and to improve the position estimate of a tethered quadcopter.

The first flight control strategy used the tension estimate to update the
quadcopter’s position. Nevertheless, the position of the quadcopter must be
known through an external motion system. Aiming to develop a control strategy
that does not need to know the position of the UAV, a novel methodology that
uses the tether’s shape and the tension estimate was introduced.

Moreover, this study presented a method to estimate the position of the
quadcopter based on the tension that the tether applies to the UAV and its
shape.

## References

  * [1] Meysam Basiri, Felix Schill, Pedro U.Lima, and Dario Floreano.  Localization of emergency acoustic sources by micro aerial vehicles.  Journal of Field Robotics, 35(2):187–201, 2018.
  * [2] Miguel Pimentel and Meysam Basiri.  A bimodal rolling-flying robot for micro level inspection of flat and inclined surfaces.  IEEE Robotics and Automation Letters, 7(2):5135–5142, 2022.
  * [3] Yahya Zefri, Achraf Elkcttani, Imane Sebari, and Sara Ait Lamallam.  Inspection of Photovoltaic Installations by Thermo-visual UAV Imagery Application Case: Morocco.  In 2017 International Renewable and Sustainable Energy Conference (IRSEC), pages 1–6, Tangier, December 2017. IEEE.
  * [4] Hakan Kayan, Raheleh Eslampanah, Faezeh Yeganli, and Murat Askar.  Heat leakage detection and surveiallance using aerial thermography drone.  In 2018 26th Signal Processing and Communications Applications Conference (SIU), pages 1–4, Izmir, Turkey, May 2018. IEEE.
  * [5] Michael Burri, Janosch Nikolic, Christoph Hurzeler, Gilles Caprari, and Roland Siegwart.  Aerial service robots for visual inspection of thermal power plant boiler systems.  In 2012 2nd International Conference on Applied Robotics for the Power Industry (CARPI), pages 70–75. IEEE, September 2012.
  * [6] Alberto Ortiz, Francisco Bonnin-Pascual, and Emilio Garcia-Fidalgo.  Vessel Inspection: A Micro-Aerial Vehicle-based Approach.  Journal of Intelligent & Robotic Systems, 76(1):151–167, September 2014.
  * [7] Rômulo T. Rodrigues, Meysam Basiri, A. Pedro Aguiar, and Pedro Miraldo.  Feature based potential field for low-level active visual navigation.  In Anibal Ollero, Alberto Sanfeliu, Luis Montano, Nuno Lau, and Carlos Cardeira, editors, ROBOT 2017: Third Iberian Robotics Conference, pages 791–800, Cham, 2018. Springer International Publishing.
  * [8] Brendan Galea and Paul G Kry.  Tethered flight control of a small quadrotor robot for stippling.  In 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages 1713–1718. IEEE, 2017.
  * [9] Rodrigo Ventura, Meysam Basiri, André Mateus, Joao Garcia, Pedro Miraldo, Pedro Santos, and Pedro U Lima.  A domestic assistive robot developed through robot competitions.  In IJCAI 2016 Workshop on Autonomous Mobile Service Robots, 2016\.
  * [10] Meysam Basiri, João Gonçalves, José Rosa, Rui Bettencourt, Alberto Vale, and Pedro Lima.  A multipurpose mobile manipulator for autonomous firefighting and construction of outdoor structures.  Field Robot, 1:102–126, 2021.
  * [11] Andrea Borgese, Dario C. Guastella, Giuseppe Sutera, and Giovanni Muscato.  Tether-based localization for cooperative ground and aerial vehicles.  IEEE Robotics and Automation Letters, 7(3):8162–8169, 2022.
  * [12] Mohammad Amin Basiri, Shirin Chehelgami, Erfan Ashtari, Mehdi Tale Masouleh, and Ahmad Kalhor.  Synergy of deep learning and artificial potential field methods for robot path planning in the presence of static and dynamic obstacles.  In 2022 30th International Conference on Electrical Engineering (ICEE), pages 456–462, 2022.
  * [13] S. Martínez-Rozas, D. Alejo, F. Caballero, and L. Merino.  Optimization-based trajectory planning for tethered aerial robots.  In 2021 IEEE International Conference on Robotics and Automation (ICRA), pages 362–368, 2021.
  * [14] Seiga Kiribayashi, Jun Ashizawa, and Keiji Nagatani.  Modeling and design of tether powered multicopter.  In 2015 IEEE International Symposium on Safety, Security, and Rescue Robotics (SSRR), pages 1–7. IEEE, 2015.
  * [15] Peter Savnik.  Tether Control for Unmanned Aerial Vehicle - Creating a Platform for Tether Control of UAV.  PhD thesis, 01 2015.
  * [16] Wasantha Samarathunga, Guangwei Wang, and Shiqin Wang.  Auxiliary power unit evaluation for tethered uav.  International Journal of New Technology and Research, 2(7).
  * [17] Jesús Morales, Isabel Castelo, Rodrigo Serra, Pedro U. Lima, and Meysam Basiri.  Vision-based autonomous following of a moving platform and landing for an unmanned aerial vehicle.  Sensors, 23(2), 2023.
  * [18] Seiga Kiribayashi, Kaede Yakushigawa, and Keiji Nagatani.  Design and development of tether-powered multirotor micro unmanned aerial vehicle system for remote-controlled construction machine.  In Field and Service Robotics, pages 637–648. Springer, 2018.
  * [19] Robert Severinghaus and John Kaniarz.  Quadrotor for increased situational awareness for ground vehicles.  Technical report, Army Tank Automotive Research Development and Engineering center warren MIARMY, 2015.
  * [20] E.Russel Johnston Ferdinand P.Beer.  Mecânica Vetorial para Engenheiros, Estática, Volume I.  McGraw-Hill, 1980.