You are on page 1of 23

Seminar at UniRC Jul 2012

Tutorial:
Simulating VANET and ITS
(using OMNeT++ and SUMO)

MJ (Thinus) Booysen
mjbooysen at sun dot ac dot za

Department of Electrical and Electronic Engineering



Faculty of Engineering
Presentation Overview

History and background


Why is VANET special?
Vehicular networking vs. ITS
What is required for simulation?
Existing approaches
Simulation packages
Veins (OMNeT++ & SUMO)
SUMO demo
OMNeT++ demo
Veins demo
Remaining challenges
2
History and Background

Traditional traffic simulations:


Civil worked with vehicular traffic
Road design

Intersection

E&E worked with network traffic


Computer networks

Mobile networks

Recent developments:
Vehicular Ad-hoc NETworks (VANET)
Intelligent Transportation Systems (ITS)
3
Intra-car Inter-car Extra-car Networks Servers and
V2V V2I Consumers

Navigation
CAN bus
RSU

OBU
Safety and

ITS network

detectors
traffic management

Emergency
WAVE WAVE
databases
Servers and

Wi-Fi

sources
Cellular
Operators and end users

WIMAX

Audio-visual
MM

ring
MOST
Internet
Entertainment and
Internet connectivity

Displays
CAN Controller Area Network OBU On Board Unit
ISP Internet Service Provision RSU Road Side Unit (WAVE)
ITS Intelligent Transportation Systems V2I Vehicle to Infrastructure
MM MOST Master V2V Vehicle to vehicle
MOST Media Oriented Systems Transport Wi-Fi Wireless Fidelity
WIMAX Worldwide Interoperability for Microwave Access
WAVE Wireless Access in Vehicular Environments
4
Vehicular simulation: challenges, whats different?

V2I and V2V


Mobility patterns
Fast
Unpredictable, but constrained.
Broad range of applications
Safety critical
Infotainment
Power usage

5
What is required for simulation?

VANET:
Accurate simulation of communications
signal propagation
networking
Accurate simulation of vehicle mobility
Comms simulation use mobility info

ITS:
Same as VANET
More applications support
Comms simulation (application) affects mobility
6
Some approaches

Mobility
Fixed number of vehicles at constant speed in straight
line in the same direction
Proprietary simulators (simple following, no overtaking)
Generate traces with a proper simulator, save to file
Limited scenarios and densities
Highway

Urban

Communications
Fixed range, if within range communications successful.
Taking into account radio properties
Interference
Obstacles 7
VANET simulation packages

Tool Advantages Disadvantages


Trafic and Network Simulator Flexibility and real world maps. No feedback is provided
(TraNs) (SUMO and ns-2). Integrated solution. from ns-2 to SUMO.
Development suspended
recently.
National Chiao Tung Single application with integrated NCTUns is UNIX-based
University network simulator GUI. Popular for VANET and only runs on Fedora.
(NCTUns) is a proprietary research. Limited support.
mobility and communications
simulator.
VanetMobiSim with ns-2. Flexible mobility models with No feedback is provided
micro-mobility and macro-mobility from ns-2 to
models. Maps can be imported VanetMobiSim.
from TIGER database. Separate simulators.
Vehicles in Network Flexibility and real world maps.
Simulation Active community with support.
(Veins), which integrates Full IEEE 802.11p
SUMO and OMNeT++ implementation. Integrated
solution.
8
Veins (SUMO & OMNeT) Simulation model

Highway routes OMNeT++ Metrics


OpenStreetMap
Highway map

Urban routes Application


Urban map

MiXiM
HD traffic flows MAC layer
LD traffic flows PHY layer

SUMO TraCI Veins Mobility

Veins : veins.car2x.org/ (easy installation here)


OMNeT++ : www.omnetpp.org/ (easy thorough tutorial here)
MiXiM : mixim.sourceforge.net/
SUMO : sumo.sourceforge.net/
OpenStreetMap : www.openstreetmap.org/
9
SUMO Setup: Map: www.OpenStreetMap.org

rc.osm

net.net.xml

Road sections are called edges

Export map from web site, and convert to XML with SUMOs netconvert
10
netconvert --osm rc.osm
SUMO setup: trips
Generate random trips (from A to B) from the road network (net.net.xml)
randomTrips.py -n net.net.xml -l -e 600 -o trips.trips.xml
trips.trips.xml

routes.routes.xml

Convert the trips to routes (what is between A and B) and traffic flow
duarouter -n net.net.xml t trips.trips.xml -o routes.rou.xml
--ignore-errors 11
SUMO setup: simulation

Can also specify flows (in stead of single vehicles), vehicle types, different
following models, etc.
<vType id="vtype0" accel="2.6" decel="4.5" sigma="0.5" length="2.5"
minGap="2.5" maxSpeed="35" color="1,1,0"/>
<flow id="flow0" type="vtype" route="route0" begin="0" period="5"
number="200" departlane="random" departpos="base"/>

Configure the simulation by specifying the network, the routes, and the
duration in a config file.

sumo.sumo.cfg

12
SUMO simulation

13
OMNeT++ Setup

OMNeT provides the messaging platform for simulation.


OMNeT is a modular discrete event simulation environment that can
be used to simulate nearly anything.
All events in OMNeT are encapsulated as messages (simulation
events and simulation-control events).
Modules are in C++ and configuration in NED files and an .ini file.
Various frameworks exist to simulate networks on the OMNeT
platform. Two main frameworks:
INET (more for higher layer protocols and applications)
contains models for several wired and wireless networking protocols,
including UDP, TCP, SCTP, IP, IPv6, Ethernet, PPP, 802.11, MPLS, OSPF
MiXiM (more for PHY and MAC simulation)
radio wave propagation, interference estimation, radio transceiver power
consumption and wireless MAC protocols

14
OMNeT++ setup

Connections between layers are done using gates.


C++ files specify the behaviour of the modules
The NED files specify how gates are connected.
In the .ini file specifies parameters
Transmitter power, receiver sensitivity, thermal noise, slot durations, etc.
15
C++ module file: TraCIDemo.cc (application)

16
NED files (there are many)
In TraCIDemo.NED (application layer)

In Car.NED:

17
Initialization file

In config.ini:

For each node, you can also specify location and speed, managed
by the mobility module.

18
OMNeT++ simple mobility demo

BaseNetwork example that ships with MiXiM installation, just run the
config.ini file (right click, run as OMNeT simulation)

19
Veins setup

Veins connects SUMO and OMNeT++

Veins uses a TCP connection and Python scripts to enable


SUMO to act as a mobility model in OMNeT++

Python set up to wait for Veins (module in OMNeT++)

sumo-launchd.py -p 9999 -vv -c /c/user/src/sumo/bin/sumo.exe

And OMNeT is configured to look for mobility module

20
Veins (OMNeT++ & SUMO) demo

Demo that ships with Veins installation, just run the config.ini file
(Traci launch demo) (right click, run as OMNeT simulation)
Only thing replaced are the SUMO net.net.xml and routes.rou.xml
files.

21
Remaining challenges

Data dissemination
Signal propagation with obstacles
Multichannel management in IEEE 802.11p

22
Questions or comments?

23

You might also like