<!DOCTYPE html>
<html lang="en"><head>
    <title>SUMO User Conference 2019 | Eclipse SUMO - Simulation of Urban MObility</title>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="icon" href="https://www.eclipse.org/sumo/images/favicon.ico" type="image/x-icon">
    <link rel="apple-touch-icon" href="https://www.eclipse.org/sumo/images/sumo_twitter.jpg">
    <meta name="description" content="Get in touch with our international user community">
    <meta name="theme-color" content="#338033">
    <meta name="twitter:card" content="summary">
    <meta name="twitter:image" content="https://www.eclipse.org/sumo/images/sumo_twitter.jpg">
    <meta name="twitter:site" content="@eclipsesumo">
    <meta property="og:title" content="SUMO User Conference 2019 | Eclipse SUMO - Simulation of Urban MObility">
    <meta property="og:description" content="Get in touch with our international user community">
    <meta property="og:site_name" content="Eclipse SUMO - Simulation of Urban MObility">
    <meta property="og:image" content="https://www.eclipse.org/sumo/images/sumo_share.png">
    <meta property="og:type" content="website">
    <meta property="og:url" content="https://www.eclipse.org/sumo/2019/">
    <meta name="keywords" content="SUMO, Eclipse SUMO, Traffic Simulation, Mobility">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
    <link rel="stylesheet" href="https://www.eclipse.org/sumo/css/custom.css">
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css" integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay" crossorigin="anonymous">
    <script async defer src="https://buttons.github.io/buttons.js"></script>

    <script>
        window.onload = function check_if_ie() {
            var msie = window.navigator.userAgent.indexOf("MSIE ");
            if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {
                document.getElementById("not_for_ie").style.display = 'none';
            }
            return false;
        }
    </script>

    
    

    

</head><body id="page-top"><!-- navigation -->

    
        <nav class="navbar navbar-expand-lg bg-light navbar-light fixed-top">
          <div class="container">
            <a class="navbar-brand" href="https://www.eclipse.org/sumo/"><img class="img-fluid" src="/sumo/images/logos/sumo-logo-white.svg" id="navbar-logo" style="pointer-events:none;" alt="SUMO logo"></a>
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar" aria-label="menu icon">
              <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse text-center" id="collapsibleNavbar">
              <ul class="navbar-nav ml-auto">
                
                  
                  <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true"
                      aria-expanded="false">
                      About
                    </a>
                    <div class="dropdown-menu">
                      
                      <a class="dropdown-item" href="https://www.eclipse.org/sumo/about">About SUMO</a>
                      
                      <a class="dropdown-item" href="https://projects.eclipse.org/projects/automotive.sumo/who">Who&#39;s involved</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/ChangeLog.html">ChangeLog</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/daily">Status of daily build and tests</a>
                      
                    </div>
                  </li>
                  
                
                  
                  <li class="nav-item">
                    <a class="nav-link" href="https://sumo.dlr.de/download">Download</a>
                  </li>
                  
                
                  
                  <li class="nav-item">
                    <a class="nav-link" href="https://sumo.dlr.de/docs/">Documentation</a>
                  </li>
                  
                
                  
                  <li class="nav-item">
                    <a class="nav-link" href="https://www.eclipse.org/sumo/conference">Conference</a>
                  </li>
                  
                
                  
                  <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true"
                      aria-expanded="false">
                      References
                    </a>
                    <div class="dropdown-menu">
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/Other/Projects.html">Projects</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/Publications.html">Publications</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/Contributed/index.html">Contributed extensions</a>
                      
                    </div>
                  </li>
                  
                
                  
                  <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true"
                      aria-expanded="false">
                      Support
                    </a>
                    <div class="dropdown-menu">
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/FAQ.html">FAQ</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/Tutorials/index.html">Tutorials</a>
                      
                      <a class="dropdown-item" href="https://github.com/eclipse/sumo/issues">Report a Bug / Issue</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/daily/doxygen/">Doxygen Documentation</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/Developer/index.html">Developer Documentation</a>
                      
                    </div>
                  </li>
                  
                
                  
                  <li class="nav-item">
                    <a class="nav-link" href="https://www.eclipse.org/sumo/contact">Contact</a>
                  </li>
                  
                
              </ul>
            </div>
            </div>
          </nav>

<!-- /navigation --><div id="content">
<section class="section">
  <div class="container-fluid header bg-gradient" style="padding: 40px 0 40px 0;">
    <div class="svg-rounded">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 144.54 17.34" preserveAspectRatio="none" fill="#f8f8f8"><path d="M144.54,17.34H0V0H144.54ZM0,0S32.36,17.34,72.27,17.34,144.54,0,144.54,0"></path></svg>
    </div>
    <div class="text-center page-title" style="margin-top: 80px; color:#17412f;">SUMO User Conference 2019</div>
  
    
    <h4 style="text-align: center; color: #6d846e;">Simulating Connected Urban Mobility</h4>
    
    <p style="text-align: center; color: #6d846e;"><i class="fas fa-calendar-alt"></i> May 13-15  &nbsp;&nbsp;•&nbsp;&nbsp; <i class="fas fa-map-marker-alt"></i> Berlin-Adlershof, Germany</p>
    
    
  </div>

  <div class="container">
    
    <div class="container"><div class="row">
    <div class="col-md-10 contact-div">
      <img src="../images/conference_2019.jpg" style="border-radius: .6rem .6rem 0 0; margin-top:-30px; margin-left: -30px; width: calc(100% + 60px); margin-bottom: 40px;" class="img-responsive" alt="Conference image"/>
      

<h1 id="introduction">Introduction</h1>

<p>Traffic simulations are of immense importance for researchers as well as practitioners in the field of transportation. Eclipse SUMO provides a wide range of traffic planning and simulation applications. Eclipse SUMO is a toolsuite covering road network imports and enrichment, demand generation and assignment and a state-of-the-art microscopic traffic simulation capable to simulate private and public transport modes, as well as person-based trip chains. Being open source, Eclipse SUMO is ready to implement new behavioral models or to control the simulation remotely using various programming environments. These and other features make Eclipse SUMO one of the most often used open source traffic simulations with a large and international user community.</p>

<h1 id="call-for-papers">Call for Papers</h1>

<p>The conference aims on presenting new and unique results in the field of mobility simulation and modelling using openly available tools and data. We expect a large variety of research topics and usage approaches. If you are doing a research project fitting the topics below you are kindly invited to submit an abstract. Possible areas of interest include (but are not limited to):</p>

<ul>
<li>Vehicular Communication</li>
<li>Modelling Urban Mobility</li>
<li>Intermodal Transport</li>
<li>Autonomous Driving</li>
<li>Logistics Simulation</li>
<li>Mobility Modelling</li>
<li>Traffic Simulation</li>
<li>Traffic Applications</li>
<li>Traffic Management Solutions</li>
<li>Open Tools and Open Data</li>
<li>E-Mobility</li>
<li>Autonomous Driving</li>
</ul>

<p>Authors are requested to register at Easy Chair <a href="https://easychair.org/conferences/?conf=sumo2019">https://easychair.org/conferences/?conf=sumo2019</a>.</p>

<p>Instructions for authors and a template can be found here: <a href="https://easychair.org/publications/for_authors">https://easychair.org/publications/for_authors</a>.</p>

<h1 id="keynote-speaker">Keynote Speaker</h1>

<p><a href="https://www.ifv.kit.edu/mitarbeiter_158.php">Peter Vortisch</a> (KIT – Institut für Verkehrswesen IfV)</p>

<h1 id="prices">Prices</h1>

<ul>
<li>Regular Tickets – 495 EUR</li>
<li>One-Day-Ticket – 325 EUR</li>
<li>Authors and Project Partners – 275 EUR</li>
<li>&ldquo;limited&rdquo; Student Grants - 50 EUR</li>
</ul>

<h1 id="sessions-and-presentations">Sessions and Presentations</h1>

<p><strong>Session 1: Automated Vehicles</strong></p>

<ul>
<li>Coupling SUMO with a Motion Planning Framework for Automated Vehicles</li>
<li>Emission Effects of Cooperative Adaptive Cruise Control</li>
<li>SUMO Based Platform for Cooperative Intelligent Automotive Agents</li>
<li>From Automated to Manual - Modeling Control Transitions with SUMO</li>
</ul>

<hr />

<p><strong>Session 2: Connected Vehicles</strong></p>

<ul>
<li>Controlling a real-world intersection with connected vehicle information provided by CAMs (Cooperative Awareness Messages)</li>
<li>Bridging the Gap between SUMO &amp; Kuksa: Using A Traffic Simulator for Testing Cloud-based Connected Vehicle Services</li>
<li>Anticipating automated vehicle presence and the effects on interactions with conventional traffic and infrastructure</li>
</ul>

<hr />

<p><strong>Keynote</strong></p>

<ul>
<li>Traffic Simulation between Traffic Engineering and Automotive - Prof. Dr. Peter Vortisch</li>
</ul>

<hr />

<p><strong>Session 3: Simulator Coupling</strong></p>

<ul>
<li>Co-simulation of the virtual vehicle in virtual traffic considering tactical driver decisions</li>
<li>Co-simulation of vehicles and crowds for rescue trials</li>
<li>Recurrent and Non-recurrent Congestion based Gridlock Detection on Chula-SSS Urban Road Network</li>
<li>Queue length estimation through a simple V2V communication protocol</li>
</ul>

<hr />

<p><strong>Session 4: Traffic Light systems</strong></p>

<ul>
<li>Pedestrian-Friendly Traffic Signal Control Using SUMO</li>
<li>Remarks on Traffic Signal Coordination</li>
<li>Modelling green waves for emergency vehicles using connected traffic data<br /></li>
</ul>

<hr />

<p><strong>Session 5: Other traffic Modes</strong></p>

<ul>
<li>Investigation of the capacity of train stations in case of a large-scale emergency evacuation</li>
<li>A Vehicle Device Tailored for Hybrid Trolleybuses and Overhead Power Lines Implementation in SUMO</li>
<li>Modelling Bicycle Infrastructure in SUMO</li>
<li>Analysing bicyclist behaviour using a bicycle simulator with a coupled traffic and environment simulation</li>
<li>Testing an Adaptive Cruise Controller with coupled traffic and driving simulations</li>
</ul>

<hr />

<p><strong>Session 6: New Tools</strong></p>

<ul>
<li>Estimation and prediction of traffic dynamics with data-driven low-dimensional model based on SUMO</li>
<li>Introducing Road Surface Conditions into a Microscopic Traffic Simulation</li>
<li>Reinforcement Learning Agent under Partial Observability for Traffic Light Control in Presence of Gridlocks</li>
</ul>

<h1 id="registration">Registration</h1>

<p>The registration fee includes a two and a half day conference program with refreshments, lunch, proceedings and social events in the evening. Accommodation is not included within the registration fee and must be pre-booked separately. <strong>Register <a href="https://sumo2019.besl-eventservice.de/front/index.php">here</a></strong>.</p>

<h1 id="language">Language</h1>

<p>The conference language is English.</p>

<h1 id="social-event">Social Event</h1>

<p>We are having a social event on Monday May 13 at BTB (<a href="https://www.btb-berlin.de/">https://www.btb-berlin.de/</a>), 2019 at 6 p.m. and on Tuesday May 14, 2019 (barbecue at the DLR Berlin-Adlershof).</p>

<h1 id="venue">Venue</h1>

<p>German Aerospace Center<br />
Institute of Transportation Systems<br />
Rutherfordstr. 2<br />
12489 Berlin<br />
Germany</p>

<h1 id="contact">Contact</h1>

<p>Please contact the conference team via mail at <a href="mailto:sumo-conference@dlr.de">sumo-conference@dlr.de</a><br />
You can find more information about SUMO at <a href="https://sumo.dlr.de">https://sumo.dlr.de</a></p>

<hr />

<p><strong>INFORMATION ABOUT THE NEW EU GENERAL DATA PROTECTION (GDPR)<br />
DATENSCHUTZGRUNDVERORDNUNG (DGSVO)</strong></p>

<p>You may have heard about the new General Data Protection Regulation (&ldquo;GDPR&rdquo;) that came into effect May 25, 2018. To help comply with GDPR consent requirements, we need to inform you that the publication or data processing will not take place unless prior written consent for photography, publication of photographs and dissemination of personal data for the sending of informational emails has been received.</p>

<p>If you want to continue receiving E-mails from the German Aerospace Center (DLR), Institute of Transportation Systems, Berlin-Adlershof Germany, please sign at the registration desk the “Declaration of consent for the publication of photographs and dissemination of information”.</p>

<p>Thank you!</p>
</div>
    <div class="col-md-2"><div style="border-left: 1px solid #d4d4d4; padding-left: 10px;">
<p class="sidebar-title"><b>Archive</b></p>
<div class="btn-group">
    <div class="dropdown">
    <button type="button" class="btn btn-light btn-archive btn-sm dropdown-toggle" data-toggle="dropdown" title="Explore previous conferences">Select year </button>
        <div class="dropdown-menu text-center">
            <a class="dropdown-item" href="https://www.eclipse.org/sumo/2020">2020</a>
            <a class="dropdown-item" href="https://www.eclipse.org/sumo/2019">2019</a>
            <a class="dropdown-item" href="https://www.eclipse.org/sumo/2018">2018</a>
            <a class="dropdown-item" href="https://www.eclipse.org/sumo/2017">2017</a>
            <a class="dropdown-item" href="https://www.eclipse.org/sumo/2016">2016</a>
            <a class="dropdown-item" href="https://www.eclipse.org/sumo/2015">2015</a>
            <a class="dropdown-item" href="https://www.eclipse.org/sumo/2014">2014</a>
            <a class="dropdown-item" href="https://www.eclipse.org/sumo/2013">2013</a>
            <a class="dropdown-item" href="https://sumo.dlr.de/docs/SumoWorkshop2010.html">Workshop 2010</a>
        </div>
    </div> 
</div>
<br><br><div class="d-none d-md-block"><p class="sidebar-title"><b>What's on this Page</b></p>
<nav id="TableOfContents">
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#call-for-papers">Call for Papers</a></li>
<li><a href="#keynote-speaker">Keynote Speaker</a></li>
<li><a href="#prices">Prices</a></li>
<li><a href="#sessions-and-presentations">Sessions and Presentations</a></li>
<li><a href="#registration">Registration</a></li>
<li><a href="#language">Language</a></li>
<li><a href="#social-event">Social Event</a></li>
<li><a href="#venue">Venue</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</nav>
</div></div></div>
    </div></div>
    
    
    
  
    
    <div class="d-flex justify-content-end"><a href="https://github.com/eclipse/sumo.website/edit/master/content/2019.md"><button type="button" class="btn btn-light btn-sm" title="Edit this page on GitHub"><i class="fas fa-pencil-alt"></i> Edit</button></a></div>
    
  </div>
</section>

        </div>
<button onclick="goTopFunction()" id="goToTop" title="Go to top"><i class="fa fa-arrow-up"></i></button>

  
  <div style="margin-top: 20px; font-size: 0;">
    <svg class="wave d-none d-md-block" style="display: block; pointer-events: none; height:100px; width: 100%;" fill="#ddd" preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1920 75">
        <defs>
            <style>.a {fill: none;} .b {clip-path: url(#a);} .d {opacity: 0.5; isolation: isolate;}</style>
            <clipPath id="a"><rect class="a" width="1920" height="75"></rect></clipPath>
        </defs>
        <title>wave</title>
        <g class="b"><path class="c" d="M1963,327H-105V65A2647.49,2647.49,0,0,1,431,19c217.7,3.5,239.6,30.8,470,36,297.3,6.7,367.5-36.2,642-28a2511.41,2511.41,0,0,1,420,48"></path></g>
        <g class="b"><path class="d" d="M-127,404H1963V44c-140.1-28-343.3-46.7-566,22-75.5,23.3-118.5,45.9-162,64-48.6,20.2-404.7,128-784,0C355.2,97.7,341.6,78.3,235,50,86.6,10.6-41.8,6.9-127,10"></path></g>
        <g class="b"><path class="d" d="M1979,462-155,446V106C251.8,20.2,576.6,15.9,805,30c167.4,10.3,322.3,32.9,680,56,207,13.4,378,20.3,494,24"></path></g>
        <g class="b"><path class="d" d="M1998,484H-243V100c445.8,26.8,794.2-4.1,1035-39,141-20.4,231.1-40.1,378-45,349.6-11.6,636.7,73.8,828,150"></path></g>
    </svg>
  </div>

<div class="d-block d-md-none" style="margin-top:20px;"></div>
  <footer class="footer" style="background: #ddd; margin-top: 0px; padding-top: 20px;">
          <div class="container">
            <div class="row" style="margin-bottom: 16px;">
              <div class="col-md-12">
          <div class="container-fluid">
          <div class="row" style="font-size: small;">
                  <div class="col-md text-left"><b>SUMO</b>
                  <ul class="ul-no-bullet">
                  <li><a href="https://www.eclipse.org/sumo/about">About</a></li>
                  <li><a href="https://sumo.dlr.de/docs/Downloads.html">Downloads</a></li>
                  <li><a href="https://sumo.dlr.de/docs/ChangeLog.html">ChangeLog</a></li>
                  <li><a href="https://sumo.dlr.de/docs/Libraries_Licenses.html">License</a></li>
                  <li><a href="https://sumo.dlr.de/docs/Other/Projects.html">Projects using SUMO</a></li>
                  <li><a href="https://sumo.dlr.de/docs/Publications.html">Publications</a></li>
                  </ul>
                  </div>
                  <div class="col-md text-left"><b>Project</b>
                    <ul class="ul-no-bullet">
                      <li><a href="https://projects.eclipse.org/projects/automotive.sumo/who">Who's involved</a></li>
                      <li><a href="https://sumo.dlr.de/daily/">Status of daily build and tests</a></li>
                      <li><a href="https://www.github.com/eclipse/sumo">GitHub repository</a></li>
                      <li><a href="https://www.github.com/eclipse/sumo.website">Website GitHub repository</a></li>
                      <li><a href="https://sourceforge.net/projects/sumo/">SourceForge</a></li>
                      <li><a href="https://dlr.de/ts/sumo">SUMO @ DLR</a></li>
                      <li><a href="https://projects.eclipse.org/projects/automotive.sumo">SUMO @ Eclipse</a></li>
                    </ul>
                  </div>
                  <div class="col-md text-left"><b>Community</b>
                    <ul class="ul-no-bullet">
                      <li><a href="https://www.eclipse.org/sumo/contact">Mailing lists</a></li>
                      <li><a href="http://sumo-user.90755.n8.nabble.com/">Forum</a></li>
                      <li><a href="https://www.eclipse.org/sumo/conference">SUMO User Conference</a></li>
                      <li><a href="https://openmobility.eclipse.org/">openMobility Working Group</a></li>
                    </ul>
                  </div>
                  <div class="col-md text-left"><b>Support & Training</b>
                    <ul class="ul-no-bullet">
                    <li><a href="https://www.eclipse.org/sumo/contact">Contact us</a></li>
                    <li><a href="https://sumo.dlr.de/docs/FAQ.html">FAQ</a></li>
                    <li><a href="https://sumo.dlr.de/docs/index.html">Documentation</a></li>
                    <li><a href="https://sumo.dlr.de/docs/Developer/index.html">Developer Documentation</a></li>
                    <li><a href="https://sumo.dlr.de/daily/doxygen/">Doxygen Documentation</a></li>
                    <li><a href="https://sumo.dlr.de/docs/Tutorials/index.html">Tutorials</a></li>
                    <li><a href="https://github.com/eclipse/sumo/issues">Issue Tracking</a></li>
                    </ul>
                  </div>
                  <div class="col-md text-left"><b>Eclipse Foundation</b>
                    <br>
                    <a href="https://www.eclipse.org/"><img class="img-fluid" src="https://www.eclipse.org/sumo/images/logos/eclipse-logo.png" alt="Eclipse Foundation logo" style="margin:10px 0; width: 100px;"></a>
                    <ul class="ul-no-bullet">
                    <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
                    <li><a href="https://www.eclipse.org/legal/termsofuse.php">Website terms of use</a></li>
                    <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright</a></li>
                    <li><a href="https://www.eclipse.org/legal">Legal</a></li>
                    </ul>
                  </div>
          </div>
          </div>
    
              </div>
              
              
            </div>
            <hr>
            <div class="text-center">Made with <i class="fas fa-heart" style="color: red;"></i> in Berlin</div>

                <br>
             
          </div>
  </footer>
  
  <script>
 
    window.onscroll = function() {scrollFunction()};
    
    function scrollFunction() {
      if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
        document.getElementById("goToTop").style.display = "block";
        document.getElementById("navbar-logo").style.maxWidth = "60%";
      } else {
        document.getElementById("goToTop").style.display = "none";
        document.getElementById("navbar-logo").style.maxWidth = "100%";
      }
    }
  
    function goTopFunction() {
      document.body.scrollTop = 0;
      document.documentElement.scrollTop = 0;
    }
  </script>
</body>
</html>