<!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>Autonomous Driving and Undergraduates: an A ordable Setup for Teaching Robotics</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>N. Arnaldi</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>C. Barone</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>F. Fusco</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>F. Leofante</string-name>
          <email>francesco.leofante@edu.unige.it</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>A. Tacchella</string-name>
          <email>armando.tacchella@unige.it</email>
        </contrib>
      </contrib-group>
      <abstract>
        <p>This work proposes an a ordable setup for the application of machine learning to autonomous driving. We discuss the hardware details of the platform, and propose a scenario wherein learning from demonstration is leveraged to teach a vehicle how to drive. Preliminary results are discussed, together with potential targets enabled by the setup.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Autonomous vehicles have been attracting the attention of researchers in a
variety of engineering elds, and the rst successful attempts at navigating cars
autonomously can be traced back to more than thirty years ago | see, e.g., [
        <xref ref-type="bibr" rid="ref14 ref9">9,
14</xref>
        ]. The interest in the topic is well motivated by the anticipated bene ts of
automated cars, such as the reduction in deaths from tra c accidents. Researchers
in robotics have taken up this challenge focusing on di erent applications that
range from low-level control of the vehicle [
        <xref ref-type="bibr" rid="ref5 ref7">7, 5</xref>
        ], to high level tasks such as safe
navigation through city streets [
        <xref ref-type="bibr" rid="ref11 ref12 ref2">11, 12, 2</xref>
        ]. Prize competitions have been funded
by major research organization, such as the DARPA Grand Challenge1, created
to promote the development of technologies for fully autonomous ground
vehicles. Many companies have also joined the race to self-driving cars: Google X
launched an ambitious project to develop driverless cars2 [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], Tesla is already
commercializing cars with autopilot [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], while Apple, Microsoft and Amazon
allegedly made important investments in the same technology.
      </p>
      <p>
        Given the current state of a airs, universities ought to introduce students to
Arti cial Intelligence (AI) themes that are useful in autonomous driving, as this
addition enhances their curricula and helps them to keep up with the state of the
art (see, e.g., [
        <xref ref-type="bibr" rid="ref1 ref13 ref15 ref4">4, 15, 13, 1</xref>
        ] for similar initiatives). However, full-scale autonomous
cars are a daunting challenge when it comes to teaching for many reasons, e.g.,
limited budgets, demanding logistics, lack of quali ed technical support. Mobile
robots could be devoted to this purpose, but their kinematic models are often
di erent from those of real cars. This abstract proposes an a ordable setup to
engage undergraduate students in AI techniques for autonomous driving, involving
both hardware and software elements.
1 http://archive.darpa.mil/grandchallenge/
2 https://www.google.com/selfdrivingcar/
      </p>
      <p>
        More speci cally, our setup considers the problem of designing a controller for
the NXP-Cup challenge3, a competition which aims at introducing
undergraduate students to embedded programming through the solution of a (simpli ed)
autonomous driving problem for 1/18th scale battery-powered cars. Instead of
using traditional control approaches, i.e., manual synthesis and tuning of a
controller, we propose to synthesize a controller using machine learning techniques.
Our proposal is based on Learning from Demonstration (LfD) | see, e.g., [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]
for a survey. Accordingly, the vehicle learns how to drive using a set of
reference trajectories provided by a human controlling the car along a track. The
elements of the setup are a ordable and the techniques involved are relatively
easy to grasp, so that undergraduates can keep up with the main challenge of the
NXP-Cup, which consists in having the model car drive faster than its
competitors while staying on track. A companion site containing datasets, preliminary
experimental results and software can be found at www.aimslab.org/teaching.
The remainder of this abstract is organized as follows. Section 2 details the main
features and requirements of the proposed benchmark, while Section 3 presents
a preliminary evaluation. Finally, we discuss challenges and future directions in
Section 4.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>The setup</title>
      <p>Context. The setup we propose is meant to compete in the NXP-Cup, an annual
context organized by NXP where students are required to build and program
a model car, fully equipped with a range of sensors, so that it can run
autonomously on a given track. The implementation of the car requires di erent
skills, including embedded software programming, control theory, and some basic
electronics.</p>
      <p>Hardware. The basic hardware required for the competition is provided by NXP,
which also dictates the rules teams must adhere to. The basic kit includes a
battery-powered model car, a line scan camera used for sensing and a
microcontroller to control the car. Additional sensors can be employed, such as wheel
encoders or cameras, up to the limits de ned by the NXP rules. In our setup,
the only additional sensor is a second line scan camera which enables a better
reconstruction of the track unraveling in front of the vehicle. Given our proposal
to teach the car how to drive using learning from demonstration, further
components are required which will be then removed during the competition. In
particular, we operate the car using a 2.4GHz hobby-grade remote controller coupled
with a receiver. The signals from the controller are decoded to provide throttle
and steering inputs, so that samples for our machine learning algorithm can be
gathered under the form of reference trajectories. An Arduino board provides
throttle and steering decoding, and stores demonstration data to be transferred
3 Previously known as Freescale cup https://community.nxp.com/docs/DOC-1284?
tid=vanFREESCALECUP.
coUmsmera’snd ROeNf./sOteFeFr Arduino
steer</p>
      <p>Line pos
dataset</p>
      <p>SD
speed</p>
      <p>DC
motors
KL25Z steer Steer
pixels</p>
      <p>Cams
via Wi-Fi for further processing. In Figure 1 we show both a functional diagram
of the components involved and a snapshot of the current prototype4.
Control software. While most NXP-Cup competitors design and implement
controllers manually, we propose to leverage state-of-the-art machine learning
techniques. By doing so, we give students the chance to explore applications of AI
solutions to a simple, yet challenging, autonomous driving problem. Students are
required to formalize the learning problem as a LfD task and gather
demonstration data by teleoperating the model car. After this initial phase, they have to
choose the speci c learning technique | e.g., Neural Networks, SVRs, Gaussian
Processes | and assemble the training dataset accordingly. This means they will
have to reason and experiment about which sensory inputs are to be considered
to obtain the best learning performances from a given learning algorithm.
Ideally, students should be able to implement a simple state machine that includes
the learned mapping from sensors to actuators in order to successfully drive the
car along the track.</p>
      <p>
        Simulator. A simulation of the model car running on a track has also been
implemented in Matlab. Using the simulator, students can focus on dataset and
algorithm design, avoiding hardware-related issues. A Simulink block containing
the kinematic model of the car has been implemented. This allows the user to
drive the car by specifying reference values for steering angle and speed. The
simulator shows the car displacing on a user-de ned track and also allows to
change the geometric parameters of the line-scan camera, obtaining di erent
eld of views, and therefore di erent performances. The code of the simulator
can be found in the companion site of this project. After data has been collected
from the simulator the learning process can take place. In our preliminary
implementation, demonstration data is fed to a Python script which implements
Gaussian Process Regression using the GPy library [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] developed by the
University of She eld. Once a solution for the problem is learned | e.g., under
4 The total cost of the platform as depicted in Figure 1 is approximately 350 euros.
the form of policy or mapping function | it can be tested in the simulator to
evaluate its performances.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Preliminary Evaluation</title>
      <p>Preliminary experiments on the setup shown in Figure 1 have been carried out
to investigate the feasibility of our proposal when it comes to teaching
undergraduate students. In the following experiments, the car is not equipped with
wheel encoders | which are a common addition in NXP competitions | and
data about the steering angles is read directly from the motors. Other than this,
the con guration of the car is NXP-Cup-legal, so it re ects intended usage
scenarios. An instance of the LfD problem is considered where the objective is to
learn a function mapping from camera readings at time t to steering angles to be
applied at time t+1. Demonstration data was collected using the on-board
architecture of Figure 1, learning was done o -board. Trials were run on two di erent
tracks: (i.) a loop with two straights and two 180-degrees turns, and (ii.) a more
complex track, including crossings of di erent shapes. The rst three authors,
who are graduate students at the University of Genoa, tested the framework as
if they were tackling the problem for the rst time. As a result, they managed
to have the car learn how to drive on the rst track in a reliable way. However,
the car could only move at a limited speed. The second track proved even more
challenging: the car dealt badly with crossings, suggesting that improvements in
sensory data and/or learning setup should be considered. While analyzing the
dataset gathered during this experimental campaign we noticed that large parts
of the input space where never explored during teaching. This was mostly due
to sensors not being able to provide useful feedbacks for learning, e.g., line-scan
cameras giving blank readings most of the time as the borders of the track were
hardly seen during teaching.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>We believe that, once some aspects related to reliable sensory acquisition are
solved in the current prototype, the proposed setup will provide an excellent
testbed for teaching undergraduate students basic principles in AI and Robotics.
The hardware setup is a ordable and can be extended on a limited budget.
Students can thus experiment easily how di erent sensors could a ect the outcome
of the learning process. At the same time, the setup is standardized as the car
must comply to the NXP-Cup rules. Furthermore, working on this problem
allows to deal with a complete robotics project, from low-level control to high-level
decision-making. On the AI side, the problem of teaching a car how to drive is
not trivial, even in this simpli ed setup. Moreover, students have to deal with
limited hardware resources, e.g., memory shortage, limited sensor feedbacks. On
top of this, the controller obtained not only has to drive the car along the track,
but it also has to be fast enough to compete with traditional controllers.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>AAAI</given-names>
            <surname>Spring</surname>
          </string-name>
          <article-title>Symposium on Educational Advances in Arti cial Intelligence</article-title>
          . www. aaai.org/Symposia/EAAI/eaai-symposia.php, accessed:
          <fpage>2016</fpage>
          -11-02
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Altho</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stursberg</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Buss</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Model-based probabilistic collision detection in autonomous driving</article-title>
          .
          <source>IEEE Transactions on Intelligent Transportation Systems</source>
          <volume>10</volume>
          (
          <issue>2</issue>
          ),
          <volume>299</volume>
          {
          <fpage>310</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Argall</surname>
            ,
            <given-names>B.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chernova</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Veloso</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Browning</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>A survey of robot learning from demonstration</article-title>
          .
          <source>Robotics and autonomous systems 57(5)</source>
          ,
          <volume>469</volume>
          {
          <fpage>483</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Beux</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Briola</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corradi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Delzanno</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ferrando</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Frassetto</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guerrini</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mascardi</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oreggia</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pozzi</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Solimando</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tacchella</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Computational thinking for beginners: A successful experience using prolog</article-title>
          .
          <source>In: Proceedings of the 30th Italian Conference on Computational Logic, Genova, Italy, July 1-3</source>
          ,
          <year>2015</year>
          . pp.
          <volume>31</volume>
          {
          <issue>45</issue>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Falcone</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Borrelli</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Asgari</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tseng</surname>
            ,
            <given-names>H.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hrovat</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Predictive active steering control for autonomous vehicle systems</article-title>
          .
          <source>IEEE Transactions on control systems technology 15(3)</source>
          ,
          <volume>566</volume>
          {
          <fpage>580</fpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. GPy:
          <article-title>GPy: A gaussian process framework in python</article-title>
          . http://github.com/ SheffieldML/GPy (since
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Gray</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gao</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hedrick</surname>
            ,
            <given-names>J.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Borrelli</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Robust predictive control for semiautonomous vehicles with an uncertain driver model</article-title>
          .
          <source>In: Intelligent Vehicles Symposium (IV)</source>
          ,
          <year>2013</year>
          IEEE. pp.
          <volume>208</volume>
          {
          <fpage>213</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Guizzo</surname>
          </string-name>
          , E.:
          <article-title>How googles self-driving car works</article-title>
          .
          <source>IEEE Spectrum Online, October</source>
          <volume>18</volume>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kanade</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thorpe</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Whittaker</surname>
          </string-name>
          , W.:
          <article-title>Autonomous land vehicle project at cmu</article-title>
          .
          <source>In: Proceedings of the 1986 ACM fourteenth annual conference on Computer science</source>
          . pp.
          <volume>71</volume>
          {
          <fpage>80</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>1986</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Kessler</surname>
            ,
            <given-names>A.M.:</given-names>
          </string-name>
          <article-title>Elon musk says self-driving tesla cars will be in the us by summer</article-title>
          . The New York Times p.
          <source>B1</source>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. Kummerle, R.,
          <string-name>
            <surname>Ruhnke</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Steder</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stachniss</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Burgard</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>A navigation system for robots operating in crowded urban environments</article-title>
          .
          <source>In: Robotics and Automation (ICRA)</source>
          ,
          <year>2013</year>
          IEEE International Conference on. pp.
          <volume>3225</volume>
          {
          <fpage>3232</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. Kummerle, R.,
          <string-name>
            <surname>Ruhnke</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Steder</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stachniss</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Burgard</surname>
          </string-name>
          , W.:
          <article-title>Autonomous robot navigation in highly populated pedestrian zones</article-title>
          .
          <source>Journal of Field Robotics</source>
          <volume>32</volume>
          (
          <issue>4</issue>
          ),
          <volume>565</volume>
          {
          <fpage>589</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Sintov</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kar</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nguyen</surname>
            ,
            <given-names>T.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fang</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ho</surname>
            <given-names>man</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Lyet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Tambe</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          :
          <article-title>From the lab to the classroom and beyond: Extending a game-based research platform for teaching AI to diverse audiences</article-title>
          .
          <source>In: Proceedings of the Thirtieth AAAI Conference on Arti cial Intelligence</source>
          ,
          <source>February 12-17</source>
          ,
          <year>2016</year>
          , Phoenix, Arizona, USA. pp.
          <volume>4107</volume>
          {
          <issue>4112</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Wallace</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stentz</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thorpe</surname>
            ,
            <given-names>C.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maravec</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Whittaker</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kanade</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>First results in robot road-following</article-title>
          .
          <source>In: IJCAI</source>
          . pp.
          <volume>1089</volume>
          {
          <issue>1095</issue>
          (
          <year>1985</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Wollowski</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Selkowitz</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brown</surname>
            ,
            <given-names>L.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goel</surname>
            ,
            <given-names>A.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Luger</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marshall</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Neel</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Neller</surname>
            ,
            <given-names>T.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Norvig</surname>
            ,
            <given-names>P.:</given-names>
          </string-name>
          <article-title>A survey of current practice and teaching of AI</article-title>
          .
          <source>In: Proceedings of the Thirtieth AAAI Conference on Arti cial Intelligence</source>
          ,
          <source>February 12-17</source>
          ,
          <year>2016</year>
          , Phoenix, Arizona, USA. pp.
          <volume>4119</volume>
          {
          <issue>4125</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>