Skip to content

tashigit/airsim-vertex-starter-kit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Tashi Vertex + AirSim Starter Kit 🛰️🤖

This is a minimal, "Hello World" template for building decentralized drone swarms using the Tashi Vertex RS consensus engine and Microsoft AirSim.

Project Objective

The goal of this starter kit is to demonstrate a peer-to-peer (P2P) handshake between two drones. Instead of a central server, the drones use a Hashgraph-based gossip protocol to agree on a state (in this case, a simple string message).

🚀 Prerequisites

  1. AirSim: Installed and running (Unreal Engine environment).
  2. Tashi Vertex RS: A local clone of the tashi-vertex-rs repository, compiled using cargo build.
  3. OS Support:
    • macOS / Linux: Direct execution supported.
    • Windows: Supported via WSL (Windows Subsystem for Linux).

🛠️ AirSim Setup

To run this swarm, AirSim needs to be configured for multiple vehicles.

1. Locate Settings File

  • Windows: Documents\AirSim\settings.json
  • Linux/Mac: ~/Documents/AirSim/settings.json

2. Apply Swarm Configuration

Paste the following configuration into your settings.json. This spawns two drones in a clear environment:

{
  "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/master/docs/settings.md",
  "SettingsVersion": 1.2,
  "SimMode": "Multirotor",
  "ClockType": "SteppableClock",
  "Vehicles": {
    "Drone1": {
      "VehicleType": "SimpleFlight",
      "X": 0, "Y": 0, "Z": 0
    },
    "Drone2": {
      "VehicleType": "SimpleFlight",
      "X": 2, "Y": 0, "Z": 0
    }
  }
}

3. Launch Environment

Launch any AirSim-compatible binary (e.g., Africa, Blocks, or CityEnviron). When asked to use Car or Multirotor, choose Multirotor.

💻 Code Setup

  1. Verify Binary Paths: Open hello_mission.py and ensure the tashi_path points to your local tashi-vertex-rs directory.

    self.tashi = TashiStarterManager(DRONES, tashi_path="../tashi-vertex-rs")
  2. Run the Mission:

    python hello_mission.py

📡 What Happens?

  1. Consensus Boot: The script cleans old network ports and launches two Tashi P2P nodes.
  2. Sync Takeoff: Drone1 and Drone2 take off and hover together.
  3. The Handshake: Drone1 broadcasts a decentralized greeting via the Vertex network.
  4. Consensus Verification: Once Drone2 receives the message via the Gossip layer, it confirms the data is synchronized.
  5. Soft Landing: Upon verified agreement, both drones initiate an autonomous landing sequence and disarm.

About

Decentralized drone swarm coordination starter kit using Tashi Vertex P2P consensus and Microsoft AirSim.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages