How to Simulate UAS based VANET Projects Using NS3

To simulate Unmanned Aerial System (UAS) based Vehicular Ad-hoc Network (VANET) projects using NS3 (Network Simulator 3), follow these steps:

Step-by-Step Implementation

Step 1: Install NS3

We need to download and install NS3 from the official repository. NS3 supports simulations for numerous wireless networks that contain VANETs.

  1. Open terminal and execute the following commands to install dependencies:

sudo apt-get update

sudo apt-get install g++ python3 python3-pip git cmake

  1. Download NS3:

git clone https://gitlab.com/nsnam/ns-3-dev.git

cd ns-3-dev

./build.py

  1. Verify installation:

./ns3 run scratch/scratch-simulator

Step 2: Set Up Mobility Models

For UAS-based VANET, we will need to utilize a mobility model that supports both ground vehicles and aerial vehicles (UAVs). NS3 delivers mobility models such as the RandomWaypointMobilityModel or ConstantVelocityMobilityModel.

  1. Set up the mobility model for the UAV:

Ptr<ConstantVelocityMobilityModel> mobUAV = CreateObject<ConstantVelocityMobilityModel> ();

mobUAV->SetPosition(Vector(0.0, 0.0, 100.0)); // UAV starts at 100m altitude

mobUAV->SetVelocity(Vector(20.0, 0.0, 0.0));  // UAV moving at 20 m/s in X direction

  1. Set up the mobility model for ground vehicles:

Ptr<RandomWaypointMobilityModel> mobVehicle = CreateObject<RandomWaypointMobilityModel> ();

mobVehicle->SetPosition(Vector(0.0, 0.0, 0.0)); // Ground vehicle starting at (0,0)

mobVehicle->SetVelocity(Vector(10.0, 0.0, 0.0)); // Moving at 10 m/s

Step 3: Set Up VANET Communication Protocols

Utilize VANET communication protocols like DSRC or 802.11p for the vehicles and UAS.

  1. Configure the communication stack:

WifiHelper wifi;

wifi.SetStandard(WIFI_PHY_STANDARD_80211p);

YansWifiPhyHelper wifiPhy = YansWifiPhyHelper::Default ();

YansWifiChannelHelper wifiChannel = YansWifiChannelHelper::Default ();

wifiPhy.SetChannel(wifiChannel.Create ());

NqosWaveMacHelper wifiMac = NqosWaveMacHelper::Default ();

Wifi80211pHelper wifi80211p = Wifi80211pHelper::Default ();

  1. Install the protocol on both UAS and vehicles:

wifi80211p.Install (wifiPhy, wifiMac, nodes);

Step 4: Define Routing Protocol

For vehicular networks, routing protocols such as AODV or OLSR can be used.

  1. Install routing protocol:

AodvHelper aodv;

InternetStackHelper stack;

stack.SetRoutingHelper(aodv);

stack.Install (nodes);

Step 5: Set Up Network Applications

We can replicate communication among UAS and vehicles using UDP or TCP.

  1. Generate applications on UAS and vehicles:

uint16_t port = 9; // Assign a port number

UdpEchoServerHelper echoServer (port);

ApplicationContainer serverApps = echoServer.Install (nodes.Get (0)); // UAS as server

serverApps.Start (Seconds (1.0));

serverApps.Stop (Seconds (10.0));

UdpEchoClientHelper echoClient (ueNodes.GetAddress (0), port); // Vehicle as client

echoClient.SetAttribute (“MaxPackets”, UintegerValue (1));

echoClient.SetAttribute (“Interval”, TimeValue (Seconds (1.0)));

echoClient.SetAttribute (“PacketSize”, UintegerValue (1024));

ApplicationContainer clientApps = echoClient.Install (nodes.Get (1)); // Vehicle node

clientApps.Start (Seconds (2.0));

clientApps.Stop (Seconds (10.0));

Step 6: Run the Simulation

Execute the NS3 simulation and validate the outcomes.

  1. Execute  the simulation script:

./waf –run your-script-file

  1. Utilize a simulation period that reflects real-world time. modify it based on network scale:

Simulator::Stop (Seconds (simulationTime));  // Set simulation time

Simulator::Run ();

Simulator::Destroy ();

Step 7: Analyse Results

NS3 deliver a way to gather data like packet loss, throughput, and delay. utilize the FlowMonitorHelper or NetAnim to envision the outcomes.

FlowMonitorHelper flowmon;

Ptr<FlowMonitor> monitor = flowmon.InstallAll ();

Simulator::Stop (Seconds (20.0));

Simulator::Run ();

monitor->SerializeToXmlFile(“UAS-VANET-results.xml”, true, true);

Simulator::Destroy ();

Additional Notes:

  • We required customizing mobility models to signify UAV movement realistically, relying on UAS-VANET project requirements.
  • We can also incorporate NS3 with other tools such as SUMO for realistic vehicular mobility models or Gazebo for UAV flight simulations.

This module demonstrates how to install and setup the simulation for UAS-VANET and also we analyse the outcomes using the ns3 simulator. Further details will be provided about how the Unmanned Aerial Systems (UAS) based Vehicular Ad-Hoc Network (VANET) will be performing in other simulation tool. To simulate UAS-based VANET projects utilizing the NS3 tool for your research approach, phdprime.com offers a range of innovative ideas and topics. We possess all the necessary resources and tools to support you in your endeavors

Opening Time

9:00am

Lunch Time

12:30pm

Break Time

4:00pm

Closing Time

6:30pm

  • award1
  • award2