<!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>Implementation of Unmanned Control of Wheeled Robots</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Braynsk State Technical University</institution>
          ,
          <addr-line>Bryansk</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>M.S. Lyubimov</institution>
        </aff>
      </contrib-group>
      <fpage>3</fpage>
      <lpage>6</lpage>
      <abstract>
        <p>This paper presents an approach to the unmanned control of a wheeled robot, which includes recognition of road infrastructure objects, recognition of continuous and intermittent road markings, generation of control signals. Recognition of road infrastructure objects is carried out using a neural network that generates a segmented image. After that, the segmented image is identified with the found objects, including the roadway, which is used by the road marking recognition subsystem searching for continuous and intermittent lines using the computer vision library. On the basis of the information received from the considered subsystems control commands are generated indicating the direction of movement and speed. The algorithm was developed on a 1:18 scale model of the city infrastructure, where a wheeled robot simulated as a car.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>At present there are active developments in the field of
unmanned vehicles. Some companies are approaching the last,
fifth level of autonomy, in which autonomous movement of the
car without the driver becomes fully possible.</p>
      <p>The task of providing unmanned motion of a wheeled robot
has been described in such projects as:</p>
      <p>
         Duckietown [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] - is a project aimed at the study of
robotics and artificial intelligence, using available robotic
platforms and training programs for all levels of education.
Duckibot is a two-wheeled platform which has raspberry pi
mounted with a camera connected to it, an engine driver, two
engines and a powerbank. It is controlled remotely via wi-fi. A
laptop with Ubuntu system is used as a computing node. The
ROS framework was used to write software modules. The robot
in question is able to travel along the marking lines on the city
model. Marking is searched by identifying contours and filtering
by color value. The stop line is processed in the same way.
Identification of road signs is performed using a neural
highprecision network. There is also processing of all signals and
reaction to detected objects.
      </p>
      <p>
         Formula pi [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] is a project which deals with the
development of algorithms for unmanned motion of wheeled
robots. The movement is carried out along the race track, where
the car lanes are highlighted in different colors. The algorithms
are executed on Raspberry pi platform, which narrows the range
of approaches possible for application. The camera is used as a
sensor. Algorithm principles are different, which is the main idea
of the project, but based on the recognition of marking lines.
      </p>
      <p>
        One of the key tasks without which it is impossible to create
an unmanned vehicle in a dynamic environment is the task of
recognizing road network objects. There are different approaches
to this task: from the recognition of individual elements, such as
road signs or traffic lights [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], to more comprehensive
approaches [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], allowing to detect several elements. Recognition
can be made on the basis of information coming from different
sensors. The most common sensors are cameras that return
images and lidars that return a point cloud around them. The use
of cameras is a more traditional method that simulates the driver's
vision. In the field of computer vision, object recognition is one
of the main tasks, for which both standard algorithms of
computer vision [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and different architectures of neural systems
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] are used. The method described in this article is based on the
use of a neural network [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], which performs the task of image
segmentation.
      </p>
      <p>The developed object recognition system was tested on a
model containing several types of traffic lights, road signs,
pedestrians, cars, roadway with marking.
2.</p>
    </sec>
    <sec id="sec-2">
      <title>Objects</title>
    </sec>
    <sec id="sec-3">
      <title>Recognition of</title>
    </sec>
    <sec id="sec-4">
      <title>Road</title>
    </sec>
    <sec id="sec-5">
      <title>Infrastructure</title>
      <p>The basis of object detection is a neural network that receives
the input image from the camera and returns a segmented image
(Fig.1). Segmentation is the process of generating an image that
contains homogeneous areas of the same color, where each color
corresponds to a specific object. Recognition of objects based on
the segmented image allows to solve several tasks necessary for
the unmanned movement of the vehicle: on the one hand, it
allows to detect objects of the road network, on the other hand,
the problem of roadway recognition is solved.</p>
      <p>Fig. 1 Example of image segmentation</p>
      <p>
        The neural network used is based on Pyramid Scene Parsing
Network architecture[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The main components of the network
are the pre-trained Residual Network (Resnet) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and Pyramid
Pooling Module.
      </p>
      <p>Reset model is a convolutional model. Its distinctive feature
is the availability of a residual learning structure which allows to
increase the network complexity without loss of accuracy. At the
output of the convolutional network, a feature map is generated,
which enters the pooling layers. This part of the network is called
Copyright © 2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
Pyramid Pooling Module because it consists of several levels
(Fig. 2):
1) red: this is the largest level that performs the main pooling</p>
      <p>for each feature map, resulting in a single output value;
2) orange: this is the second level that divides the feature map
into 2 × 2 subregions and then performs the average
combine value for each subregion.
3) blue: this is the third level that divides the feature map into
3 × 3 subregions and then performs the average combine
value for each subregion.
4) green: this is the level that divides the feature map into 6 ×
6 subregions and then performs the combine value for each
subregion</p>
      <p>After that upsampling of layers and their combining are
made.</p>
      <p>The resulting model is able to recognize such classes of
objects as road signs, traffic lights, pedestrians, vehicles,
roadway, and pedestrian crossings.</p>
      <p>It should be noted that it was decided to recognize road signs
and traffic lights in two stages in order to increase the accuracy
of recognition. At the beginning, the object is localized in the
image using the described neural network, then the classification
network is used to determine the type of a road sign and a series
of techniques, which are based on the definition of color in the
image, to determine the signal of the traffic light.
3.</p>
    </sec>
    <sec id="sec-6">
      <title>Road Marking Recognition</title>
      <p>Road markings is recognized using OpenCv computer vision
library. Processing of the input image, getting rid of noise, and
smoothing are performed. After that, marking lines in the image
are detected together with the road segment obtained from the
road infrastructure recognition module.</p>
      <p>The search for a continuous marking is done by combining
segments into strips detected by means of Hough transformation.</p>
      <p>Intermittent marking is detected by analyzing the contours of
the image and selecting the most similar of the distinctive
features such as the angular coefficient and aspect ratio.</p>
      <p>The last stage is the construction of virtual lanes that stabilize
driving along straight sections of the road, as well as the
construction of the trajectory and the calculation of steering angle
(Fig. 3).
4.</p>
    </sec>
    <sec id="sec-7">
      <title>Module of Generating Control Signals</title>
      <p>Data detected by sensors and cameras are used to control a
wheeled robot for generating control signals which relate to three
types: speed increase or decrease, change of steering angle,
direction change of the wheeled robot motion.</p>
      <p>Each object, which can include road signs, pedestrians,
vehicles, traffic lights, range measuring systems, has its own set
of states: do nothing, stop, move forward, increase or decrease
the speed.</p>
      <p>Then, all incoming data are analyzed and each object is
assigned with the state, depending on the distance defined to this
object and other conditions.</p>
      <p>Data sent to the module of generating control signals are
divided by priority, having the following sequence:
1) data from the wheel robot controller.
2) data from visual data analysis system.
3) data from the navigation module.
4) data from the marking module.</p>
      <p>At the end the control signal is generated, which is sent to the
wheeled robot (Fig. 4).</p>
      <p>Once the traffic light has been identified in the image, the
data about it comes to the module of controlling a wheeled robot
based on visual data, and then there is a stop or continuation of
the robot movement, depending on the signal of the traffic light.</p>
      <p>If the road sign is detected the following search of signs is
made: major road, yield sign, crosswalk, slippery road, no entry,
stop, canceling former signs, do not pass. After that, the
command is given to the wheeled robot to stop, continue moving,
increase or decrease the speed.</p>
      <p>When a vehicle is detected, stop will be made, and if there is
a corresponding sign, the vehicle will be given the way.</p>
      <p>If a pedestrian is detected, the wheeled robot will stop in front
of him and wait for him to disappear from the frame.</p>
    </sec>
    <sec id="sec-8">
      <title>Experiments</title>
      <p>The described approach is used for a wheeled robot’s moving
through the model layout of the urban infrastructure (Fig. 5.). The
layout has a size of 6x4 and is equipped with a roadway with
markings, road signs, other cars, pedestrians, traffic lights,
including traffic lights with an additional section. The wheeled
robot is shown in figure 6. The peculiarity of the architecture is
that all calculations take place at a remote site. This makes
possible to work with modules that require higher performance
and make the layout near real vehicles.</p>
      <p>.</p>
      <p>The launch of the neural network was carried out on the
NVIDIA GTX 1080 graphics card. The average generation time
of a segmented image is 0.063 seconds, which provides sufficient
speed to move around the layout. For testing, the resulting neural
network and object allocation subsystem were integrated into the
main project produced by using the ROS framework. The first
node subscribes to the camera image, generates a segmented
image, and publishes it.</p>
      <p>Рис. 6 Wheeled robot</p>
      <p>The second node subscribes to the ordinary and segmented
image, selects objects and publishes the following messages:
roadbed, road signs, which are sent to be classified, traffic light
that is sent to the module of signal determination, a message
containing pedestrians and the automobile, which is sent to the
merge module of objects.</p>
      <p>The found objects are added to the database, and after that
they are sent to the control signal generation node, where data
analysis and creation of control commands for the wheeled robot
take place.</p>
      <p>Within the work an approach providing the unmanned
control of a wheeled robot was developed and tested. Within the
framework a subsystem localizing the main objects of road
infrastructure such as roadbed, pedestrian crossings, cars, traffic
lights, road signs, was prepared. Subsystems of road signs
classification, traffic signals, road marking recognition, control
signals generations were also developed. The results were tested
on the model layout simulating an urban environment.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Buyval</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lyubimov</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>Gabdullin "Road sign detection and localization based on camera and lidar data"</article-title>
          <source>//The 11th International Conference on Machine Vision (ICMV</source>
          <year>2018</year>
          )
          <article-title>-</article-title>
          Munich, Germany 2018
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Cordts</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Omran</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ramos</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rehfeld</surname>
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Enzweiler</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benenson</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franke</surname>
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roth</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schiele</surname>
            <given-names>B.</given-names>
          </string-name>
          “
          <article-title>The Cityscapes Dataset for Semantic Urban Scene Understanding”/ M. Coordts</article-title>
          .
          <year>2016г</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Hengshuang Z.</given-names>
            ,
            <surname>Jianping</surname>
          </string-name>
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Xiaojuan</surname>
          </string-name>
          <string-name>
            <given-names>Q.</given-names>
            ,
            <surname>Xiaogang</surname>
          </string-name>
          <string-name>
            <given-names>W.</given-names>
            ,
            <surname>Jiaya</surname>
          </string-name>
          <string-name>
            <surname>J</surname>
          </string-name>
          .” Pyramid Scene Parsing Network”/
          <string-name>
            <surname>Z. Hengshuang. CVPR</surname>
          </string-name>
          <year>2017г</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Md. S.</given-names>
            <surname>Hossain</surname>
          </string-name>
          ,
          <string-name>
            <surname>Z.</surname>
          </string-name>
          <article-title>Hyder “Traffic Road Sign Detection and Recognition for Automotive Vehicles”</article-title>
          ,
          <source>International Journal of Computer Applications</source>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Kaiming</surname>
            <given-names>H</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xiangyu</surname>
            <given-names>Z</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shaoqing</surname>
            <given-names>R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jian</surname>
            <given-names>S</given-names>
          </string-name>
          “
          <article-title>Deep Residual Learning for Image Recognition” / H.</article-title>
          <string-name>
            <surname>Kaiming</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          <string-name>
            <surname>Xiangyu</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Shaoqing</surname>
          </string-name>
          , S Jian - Microsoft Research 2015г
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J.</given-names>
            <surname>Long</surname>
          </string-name>
          , E. Shelhamer,
          <string-name>
            <surname>T.</surname>
          </string-name>
          <article-title>Darrell "Fully Convolutional Networks for Semantic Segmentation" // CVPR 2015</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.</given-names>
            <surname>Møgelmose</surname>
          </string-name>
          ,
          <string-name>
            <surname>M. M. Trivedi</surname>
          </string-name>
          , T. B.
          <string-name>
            <surname>Moeslund</surname>
          </string-name>
          ,
          <article-title>"Vision based Traffic Sign Detection and Analysis for Intelligent Driver Assistance Systems: Perspectives and Survey,"</article-title>
          <source>IEEE Transactions on Intelligent Transportation Systems</source>
          , (
          <year>2012</year>
          ).ё
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A. D.</given-names>
            <surname>Pon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Andrienko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Harakeh</surname>
          </string-name>
          ,
          <string-name>
            <surname>S. L.</surname>
          </string-name>
          <article-title>Waslander "A Hierarchical Deep Architecture and Mini-Batch Selection Method For Joint Traffic Sign and Light Detection"</article-title>
          <source>IEEE 15th Conference on Computer and Robot Vision</source>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Duckietown</surname>
          </string-name>
          [Electronic resource] - URL: https://www.duckietown.org, available.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Formula</surname>
            <given-names>Pi</given-names>
          </string-name>
          [Electronic resource]. - URL: https://www.formulapi.com, available.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>