<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>An Approach to Skid Detection Using Optical Flow and IMU Sensor</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nikola Totev</string-name>
          <email>nikolart@uni-sofia.bg</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Boris Robev</string-name>
          <email>robev@fmi.uni-sofia.bg</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Faculty of Mathematics and Informatics, University of Sofia “St.Kliment Ohridski“</institution>
          ,
          <addr-line>James Bouchier blvd., 1164, Sofia</addr-line>
          ,
          <country country="BG">Bulgaria</country>
        </aff>
      </contrib-group>
      <fpage>203</fpage>
      <lpage>210</lpage>
      <abstract>
        <p>Estimating the position of mobile robots is a key part of mobile robots performance and productivity and it is based on the different localization methods and sensors to be used. The goal of this paper is to propose a method of accurately estimating the position of a mobile robot using an optical flow sensor together with an IMU (Inertial Measurement Unit) sensor and encoders. Using these three sensors for observing and monitoring the movement of the robot, most expected and unexpected movements can be accounted for as well as a good pose estimation can be performed more accurately. The paper proposes an approach to prevent skidding of mobile robots and mitigate and avoid such skidding with an appropriate localization and position estimation modeling of mobile robots that uses multiple and different sensors. All sensors track and measure overall velocity, angular velocity, orientation and positioning, as well as acceleration of the robot. A localization algorithm is based on the probabilistic localization methods and Kalman filter algorithm.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Skid detection</kwd>
        <kwd>optical flow</kwd>
        <kwd>sensor fusion</kwd>
        <kwd>Kalman filter</kwd>
        <kwd>SLAM</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Robots can be put into one of two groups, industrial and service. According
to the International Federation of Robotics (IFR) – “Service robots are technical
devices that perform tasks useful to the well-being of humans in a semi or fully
autonomous way” [1]. The IFR applies the definitions and standards for service
robots according to ISO 8373:2012 [4]. In some cases, there are details that
according to IFR definitions are not applicable or lead to the specific ambiguous
definition of diferent categories of robots from the generally accepted standard.
To distinguish industrial robots from service robots, IFR accepts ISO criteria
determining their application in industrial automation to non-industrial automation
as suficient to classify a robot as an industrial or service robot.</p>
      <p>The main diference between service and industrial robots is the area of their
application and service domains, and the closeness to the end user [2]. Because
service robots operate much closer to the end user, there are some important
aspects of the design such as safety, reliability, cost, appearance, and user
interface [3] that need to be considered. Considering this classification, service robots
mainly provide services for professional and non-professional usage, namely
categorization by application criteria. Second type categorization of service robots is
by their movement on a diferent surface: ground and hard surface, water surface,
aerial movement, and others [8, 9].</p>
      <p>Another important aspect of service robots is that they work in unstructured
and uncertain environments. This means service robots should be designed to
safely handle uncertainty while operating. One such uncertainty is position
estimation/localization, as the proper localization of service robots at any moment
of their operation is essential for the quality of service provided by them.
Inaccurate estimation of the position of service robots will cause loss of tracking
and create uncertainty in the robot’s activities. These inaccuracies in the position
estimation of mobile robots can be caused by some kind of skidding caused by
insuficient traction between the wheels and the terrain the robot is operating on,
or unexpected lateral shifts or rotations caused by external forces. If not detected
and corrected these disturbances will lead to erroneous localization data, which
in turn will afect the mapping data in a negative way.</p>
      <p>The MIRACle project (https://miraclebg.com) Intelligent Urban
Environment Laboratory (IUE-Lab) concept is based on deployment service robot’s
models for mass usage using registering, analysis and storing observation data
from environments, where the robots are operating. The goal is to collect and
process all receiving data from intelligent sensors located on the service robot’s
body, in order an appropriate model for autonomous service to be delivered to
the consumers. In this case, the integration between sensors and pure mechanical
part could be used in one of the functional sub-groups of IUE, named Intelligent
Home Environment (IHE).</p>
      <p>Deployment of IHE are based on layered structure, including: infrastructure,
data and service layers. This paper proposes a localization and position
estimation approach for skid detection, that uses multiple diferent sensors to detect and
compensate for the unexpected skidding movements described. The proposed
approach includes design system architecture for mobile service robot with optical
lfow sensor, IMU sensor and encoders; probabilistic method for localization and
positioning; localization and data flow model for future deployment in IHE.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Localization methods</title>
      <p>This chapter focuses on the localization methods and how diferent sensors
can come together to create a robust approach. The diferent sensors discussed in
this paper are optical flow sensors, IMU modules, and encoders. A further model
and analyzing how the strongest features of each sensor can be used to create a
robust localization model are covered in later chapters.</p>
      <p>Accurate position estimation is a key component to the successful operation
of most autonomous mobile robots. In general, there are three phases that comprise
the motion of a mobile robot: localization, path planning, and path execution.[4]</p>
      <p>Two main methods are used in mobile robot localization, based on two
different perspectives: probabilistic methods and autonomous map building
methods. The first method uses the Kalman filter (KF) algorithm, It requires the pres
ence of an environment map, as in most cases, the map is predefined, including all
surrounding objects, obstacles, walls, and trajectories of the robot’s movement.
In a non-dynamic environment, the localization could be simple as the robot is
the only object moving on the surface. The information acquired from mobile
robots is combined together to estimate the actual position and localization of the
robot, as achievement of their optimal estimation will avoid mobile robots posing
uncertainty. In this regard, the algorithm allows combining uncertainties</p>
      <p>The second method, simultaneous localization and mapping (SLAM), use
Extended Kalman Filter (EKF) algorithm for automatic map construction during
mobile robot localization. In a dynamic environment, localization of the robot is
more dificult, because the robot movement depends on the movement of other
moving objects surrounding the robot. In such cases, the configuration of the
environment changes due to the presence of dynamic objects or explicit modifi
cation. This problem is solved by automatic map building: the robot starts
navigating from a random initial point. It explores the environment autonomously
through its sensors. Further, it gains environmental knowledge and builds a map
by interpreting the scene. This helps the robot to localize relative to the map [5].
SLAM also uses a probabilistic method, where the robot’s position and robot map
is estimated.</p>
    </sec>
    <sec id="sec-3">
      <title>3. System architecture</title>
      <p>Following the definition and layered structure of IHE, the infrastructure layer
is based on integrated sensors, local data concentrators, server and/or data
collecting and processing equipment and special actuators, depending of the purpose
of service robots.</p>
      <p>The proposed approach uses 3 diferent sensors to perform position estima
tion. Along with these sensors, a Raspberry PI is used to process camera data by
performing an optical flow algorithm and store sensor data from the encoders and
IMU a block schema of the platform architecture can be seen in Figure 1.</p>
      <p>The encoders are based on an IR reflectance sensor and are mounted near the
wheels. Slotted discs are used to interrupt the IR beam, this generates a square
wave that encodes rotation. A more advanced version of this uses 2 IR sensors to
determine rotation direction.</p>
      <p>The LSM6DS33 IMU module contains an accelerometer and gyroscope and
tracks the rotation and acceleration along the X Y and Z axis.</p>
      <p>The Arduino UNO is used to read data from the encoders and IMU in
realtime and sends them to the raspberry pi for processing.</p>
      <p>The data from the sensors can be exported in .csv format and can contain
rotation, speed, and position data at discrete timesteps.</p>
      <p>This is a standard architecture for most robots. Real-time sensors such as
IMU modules and encoders are controlled by a microcontroller instead of a
single-board computer like the Raspberry Pi. The main advantages are modularity,
and ease of development, meaning that the modules can be developed separately
and then integrated.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Localization and positioning model, dataflow charts, and results</title>
      <p>The localization and positioning model definition in this paper is based on
a three-layered model, including an input data layer, processing data layer, and
results representation, including calibration of sensors, when appropriate.</p>
      <p>As was mentioned in the previous section we assume, that there are several
diferent sensors, i.e. IMU, encoders, and optical IR/laser optical sensor. They
are providing input data of the current position and location of the service robot.
Data acquisition is applied to obtain all data from these sensors, mounted on the
appropriate place of the service’s robot body. An Arduino UNO is used to get data
from the IMU and encoders. This collected data is sent for processing using the
Raspberry PI module, connected to the Arduino UNO module. The data could use
raw format or CSV format.</p>
      <p>For processing, input data could be used Matlab functions, including graph
representation of the results. The Kalman Filter algorithm is used to calculate
the service robot position on two dimensions – position and orientation
estimation. The optical velocity estimation, using optical sensors, as mentioned, could
use more than one optical sensor, in order to improve service robot accuracy. In
regards to such improvement, it will be also beneficial to include in estimation
the time variable, in order to achieve proper estimation on the position leveling,
based on the motion of the service robot.</p>
      <p>The model described is graphically represented in Figure 2.</p>
      <p>Based on the model mentioned above, and KF algorithm, we present a data
lfow model for the localization of robots in four steps:
• The first step is to obtain data from wheel encoders and pre-defined maps.
In this step also a data from Arduino UNO, data from the camera, and optical
lfow is gathered and presented for measuring
• The second step produces a localization prediction of the robot, based
on measurement prediction that comes from a predefined map and wheel
encoder;
• On the third step, a matching between measured information and
observed information, comes from a camera, optical flow sensor, or any other
sensor attached to the robot. In this step, the robot processes both dataflows
and the outcome is the best match between both features;
• In the estimation step, the KF method fuses the matching information in
order to update the robot’s position.</p>
      <p>As mentioned above, the robot’s localization estimates the robot position
from the environment map. The overall localization model and data flow create a
more exact environment map from the information on the robot’s accurate path.
In this way, the proposed model utilizes the data collected from the diferent types
of robot’s sensors, comparing it with a predefined map data, and predict accurate
robot path. Aggregated data are based on the current positioning of the robot,
estimated from the surrounding environment, predefined maps, boundaries and
sensors.</p>
      <p>In dynamic environments, if the SLAM method with EKF algorithm is used,
it will allow the robot to update existing or create new maps, while it is moving
and closely tracking and observing all objects around.</p>
      <p>The expected results of this method should be visualized graphically and in a
table format. In this way it will be easy for operators to calibrate, where possible,
the sensors.</p>
      <p>The final setup must be deployed on the expert system (middleware), which
manages service robots. Also, to validate the described localization method, the
next step is an experiment to be planned and conducted. In this way, the concept
of the localization model could be proved.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusions</title>
      <p>The combination of optical sensors, IMU and encoders in service robots
could bring better robustness and accuracy of the service robots’ positioning and
localization. All sensors will track and measure the overall velocity, angular
velocity, orientation, and positioning, as well as the acceleration of the robot. A
localization model is based on the Kalman filter algorithm for a mobile robot that
utilizes mentioned sensors.</p>
      <p>Proposed approach covers two of the three prototype development layers of
IHE concept: infrastructure layer and data processing and management layer. The
third, service layer depends of the application, where the service robots will
operate. Considering IHE as an operational environment and reviewing the mitigation
or avoiding the uncertainty of position estimation/localization of the service
robots by using KF algorithm, the robots are capable to perform tasks and activities
in home environment. The proper localization of service robots at any moment of
their operation gives opportunity of mounting additional equipment (or sensors,
or actuators) on them, with ability to perform secondary tasks. There are lot of
examples, including cameras (for security and/or monitoring purposes), small
carry-on platforms (moving objects from location A to B), robotic hand with fin
gers to press buttons and/or perform tasks on diferent height etc.</p>
      <p>The results of the proposed approach including the KF algorithm and
represented model could be validated and verified in several experiments. The vali
dation list shall include key indicators of accuracy of localization and
positioning by detecting the correct robot path and avoiding uncertainty of any skidding
caused by diferent obstacles. Another validation is to key indicators of accuracy
of performance and number of sensors depending on the service robot size and
its application.</p>
      <p>This paper is prepared with the support of MIRACle: Mechatronics,
Innovation, Robotics, Automation, Clean technologies – Establishment and
development of a Center for Competence in Mechatronics and Clean Technologies –
Laboratory Intelligent Urban Environment, funded by the Operational Program
Science and Education for smart growth 2014–2020, Project BG
05M2OP0011.002-0011.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>International Federation of Robotics (2015a) Definition of service robots</article-title>
          , URL: http://www.ifr.org/service-robots.
          <source>Accessed 17 Feb</source>
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Sprenger</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mettler</surname>
            ,
            <given-names>T. Service</given-names>
          </string-name>
          <string-name>
            <surname>Robots</surname>
          </string-name>
          .
          <source>Bus Inf Syst Eng</source>
          <volume>57</volume>
          ,
          <fpage>271</fpage>
          -
          <lpage>274</lpage>
          (
          <year>2015</year>
          ). https://doi.org/10.1007/s12599-015-0389-x.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Kawamura</surname>
          </string-name>
          ,
          <string-name>
            <surname>Kazuhiko</surname>
          </string-name>
          , et al. “
          <article-title>Design philosophy for service robots</article-title>
          .
          <source>” Robotics and Autonomous Systems</source>
          <volume>18</volume>
          .
          <fpage>1</fpage>
          -
          <lpage>2</lpage>
          (
          <year>1996</year>
          ):
          <fpage>109</fpage>
          -
          <lpage>116</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          International Organization for Standardization, Robotics - Application of ISO 8373:
          <year>2021</year>
          ,
          <year>2021</year>
          , URL: https://www.iso.org/obp/ui/#iso:std:75539:en.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <given-names>Prabin</given-names>
            <surname>Kumar</surname>
          </string-name>
          <string-name>
            <surname>Panigrahi</surname>
          </string-name>
          , Sukant Kishoro Bisoy, “
          <article-title>Localization strategies for autonomous mobile robots: A review”</article-title>
          . URL: https://doi.org/10.1016/j.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>jksuci.</surname>
          </string-name>
          <year>2021</year>
          .
          <volume>02</volume>
          .015.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>