Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A system level simulator for the Internet of Drones, based on ns-3.

License

NotificationsYou must be signed in to change notification settings

telematics-lab/IoD_Sim

Repository files navigation

IoD_Sim

IoD_Sim is an open source andsystem-level simulator for the IoD (Internet ofDrones).

Developed on top of the well-knownns-3 (NetworkSimulator 3), it implements the key networking elements (drones, network accesspoints, and Zone Service Provider), a standard-compliant communication stackbased on the IEEE 802.11 and LTE technology, and scenarios with various mobilitymodels.

The source code presents the implementation of models and examples scripts,also known asscenarios, that use such models to simulate a variable numberof drones that:

  • Move according to the mobility model associated to the reference scenario.
  • Exchange messages with network access points deployed on a cartesian or geographic 3D space.

For more details on how IoD_Sim works and all its features, the followingresearch publications are highly recommended:

Older publications that might still be useful:

You can head over to theReleases section to download a copy of astable version of the software.

The IoD_Sim repository is where this software is developed and there are manyways in which you can participate in the project, for example:

IoD_Sim is primarily compatible withLinux-based operating systems. You cantest it on macOS, altough we are not focused on providing first-class supportfor it. For macOS, Windows, or any other operating system, you are encouragedto useDocker,WSL or any other(pseudo)virtualization platform that can provide you a stable Linux-based workenvironment. You are welcome to provide new compatibility solutions any time.

Want to build scenarios through a GUI?Airflowis a Visual Programming Editor ad-hoc for IoD_Sim! It relies onsplash to transpile C++models in Python visual blocks.

Getting Started

The following quick start has been tested on Ubuntu 22.04 LTS. Please note thatthis process may be similar in other distros as well. In case of any difficulties,you are welcome to raise a pull request and propose some adjustments.

First of all, clone this repository, then open the folder with VSCode and executethe following tasks:

  1. Install dependencies,
  2. Integrate IoD Sim with ns3
  3. Configure IoD Sim
  4. Build IoD Sim

Otherwise, run the following commands:

./tools/install-dependencies.sh./tools/prepare-ns3.shcd ns3/./ns3 configure --enable-examples --disable-mpi --disable-python --enable-modules=iodsim./ns3 build

To run a JSON scenario configuration, execute the following command:

cd ns3/./ns3 run iodsim -- --config=../scenario/simple_wifi.json

Generate documentation

Before proceeding with the simulator, it may be helpful to generate the respective documentation. IoD_Sim relies on theDoxygen tool, which should already be installed with the other dependencies (if not, refer to the specific installation procedure for your distribution).

The documentation can be generated in HTML and LaTeX formats by running:

doxygen ./docs/IoD_Sim_doc

Working with docker

After creating your own scenario through the JSON file, you can useDocker to quickly proceed to simulation in a few steps. The first time, the container image must be built by running the following command in the main directory of the repository:

docker build . -t docker_iod_sim

Next, the simulation can be run by launching:

sudo docker run --rm -v ./results:/IoD_Sim/results -v ./scenario:/IoD_Sim/scenario docker_iod_sim [--help] <simulation_file_name>

When completed, theresults folder will contain the results of the simulation. It should be noted that if a new scenario is placed in./scenario, there will be no need to rebuild the container.

ns-3 compatibility

Each version of IoD_Sim relies on a specific release of ns-3. A compatibility table can be found below:

IoD_Sim versionns-3 versionBuild systemRelease date
v4.0.2ns-3.42cmakeJanuary 9, 2025
v4.0.1ns-3.42cmakeJune 5, 2024
v4.0.0ns-3.42cmakeJune 2, 2024
v3.0.0ns-3.38cmakeApril 4, 2023
v2.0.0ns-3.35wafApril 12, 2022
v1.0.0ns-3.30wafOctober 27, 2019

License

Copyright (C) 2018-2025The IoD_Sim Authors.

This program is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2 of the License, or(at your option) any later version.

This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.

You should have received a copy of the GNU General Public License alongwith this program; if not, write to the Free Software Foundation, Inc.,51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.


[8]ページ先頭

©2009-2025 Movatter.jp