3ebian based packages. The Parrot Bebop 2 required
Ubuntu 14.04 LTS version as minimum or Ubuntu
18.04 LTS version as the latest one, however Ubuntu
16.04 LTS version is the common used version. UAV
drone that equipped with software driver which able
to run as well in the ROS platform.
ROS Navigation is fairly simple on a conceptual
level. It takes in information from odometry and
sensor streams and outputs velocity commands to
send to a robot. Use of the Navigation on an arbitrary
robot, however, is a bit more complicated. As a pre-
requisite for navigation stack use, the robot must be
running ROS, have a tf transform tree in place, and
publish sensor data using the correct ROS Message
types. Also, the Navigation Stack needs to be
configured for the shape and dynamics of a robot to
perform at a high level. (Pyo, Cho, Jung, & Lim,
2015)
Figure 3: ROS Navigation Stack.
ROS has a package that performs SLAM, named
Navigation Stack, however, some details of its
application are hidden, and considering that the
programmer has some expertise. ROS has a set of
resources that are useful so a robot is able to navigate
through a medium, in other words, the robot is
capable of planning and following a path while it
deviates from obstacles that appear on its path
throughout the course. These resources are found on
the navigation stack (Fabro, Guimarães, de Oliveira,
Becker, & Brenner, 2016).
3.2 ORB SLAM 2 System
ORB-SLAM is the visual SLAM method that utilizes
ORB-features and doesn’t use any external odometry.
The ORB algorithm has several features. During
robot exploration the place recognition database is
constructed. This database contains bag of words
representation of the current camera image that is
bound to the specific position in the map. This
database allows to perform queries with the set of
currently observed ORB descriptors to recognize
current place. Details on the usage of such database
are described in. Another feature of this SLAM is the
visibility graph in which vertices are key frames and
an edge connects two vertices if they share enough
common features. Such graph is useful for finding
several frames with the images of the same object
from different view angles (Mur-Artal & Tardós,
2017).
ORB Descriptor
ORB (Oriented FAST and Rotated BRIEF) are
binary features invariant to rotation and scale (in a
certain range), resulting in a very fast recognizer with
good invariance to viewpoint. ORB was conceived
mainly because SIFT and SURF are patented
algorithms. (Calonder, Lepetit, Strecha, & Fua, 2010)
Oriented-FAST, however, FAST features do not
have an orientation component and multiscale
features. So orb algorithm uses a multiscale image
pyramid. An image pyramid is a multiscale
representation of a single image that consist of
sequences of images all of which are versions of the
image at different resolutions. Each level in the
pyramid contains the down sampled version of the
image than the previous level. Once ORB has created
a pyramid it uses the fast algorithm to detect key
points in the image. By detecting key points at each
level ORB is effectively locating key points at a
different scale. In this way, ORB is partial scale
invariant.
Steered BRIEF, allow BRIEF to be invariant to
in-plane rotation. Matching performance of BRIEF
falls off sharply for in-plane rotation of more than a
few degrees. A more efficient method is to steer
BRIEF according to the orientation of key points.
rBRIEF is steered BRIEF by applying greedy
search algorithm for set of uncorrelated tests on it.
Therefore the result of rBRIEF has significant
improvement in the variance and correlation over
steered BRIEF.
Bundle Adjustment
ORB-SLAM 2 performs BA to optimize the
camera pose in the tracking thread (motion-only BA),
to optimize a local window of key frames and points
in the local mapping thread (local BA), and after a
loop closure to optimize all key frames and points
(full BA). ORB-SLAM 2 use the Levenberg–
Marquardt method implemented in g2o (“general
graph optimization”).
Motion-only BA optimizes the camera orientation
and position. Motion-only BA optimizes the camera
orientation and all points seen in those key frames.
Full BA is the specific case of local BA, where all key
frames and points in the map are optimized, except
the origin key frame that is fixed to eliminate the
gauge freedom.
3.3 UAV System
Parrot, a France-based company, has been on a hit or
miss run with the drones they released in the past
years. The AR.Drone 2.0 and other previous models
iCAST-ES 2022 - International Conference on Applied Science and Technology on Engineering Science
978