Skip to main content

A machine learning webots extension

Project description

FlockAI - A Framework for Rapidly Testing ML-Driven Drone Applications

FlockAI, an open and modular by design framework supporting users with the rapid deployment and repeatable testing during the design phase of ML-driven drone applications.

FlockAI can be used to design drone testbeds with "ready-to-go" drone templates, deploy ML models, configure on-board/remote inference, monitor and export drone resource utilization, network overhead and energy consumption to pinpoint performance inefficiencies and understand if various trade-offs can be exploited.

Find out more about FlockAI by simply visiting our website.

Installing Webots Robotics Simulator

FlockAI currently features integration endpoints with the Webots robotics simulator. Therefore, to use FlockAI, Webots must be previously installed on your computing environment.

The installation of process of Webots is pretty straightforward for any OS environment (Linux, macOS, Windows) and instructions can be found here.

Note: FlockAI requires a version of Webots above R2021a and we recommend using version R2021a where all offered tests and simulations worlds have been tested for. You can select versions from here

Installing FlockAI and Webots Endpoints

Before we download dependencies and FlockAI, make sure that pip is up-to-date (>22.x) and that Cmake is installed.

Integrating FlockAI with Webots requires the FlockAI controllers to be placed in the respected Python environment of Webots. We have made this process easy and requires only the following steps:

Checking installed python version

Upon launching Webots navigate to Tools->Preferences and identify the command that Webots uses to run its python controllers.

webots python command

Then, launch a terminal (or command prompt) and type the same command to identify your default python version.

system python command

After the version is identified, the corresponding Webots controller directory needs to be noted down.

Identifying Webots controller directory

Navigate to the directory that Webots was installed and copy the corresponding controller path to your clipboard.

webots controller directory copy path

Once the controller path is copied, flockai should be installed in to that directory

Installing FlockAI to the Webots controller directory

Run the following command and make sure webots is installed in the destination directory

pip install --no-cache-dir --upgrade --target="your/webots/controller/directory" flockai

install flockai

Download FlockAI Sample Worlds and Tests from Git Repo

Clone the FlockAI repo on your system

git clone https://github.com/unic-ailab/flockai-working.git

Install requirements

Navigate to the installed folder and execute the following command to install python requirements

pip install -r requirements.txt

Open one of the sample worlds located in the simulation directory

In Webots, navigate to File->Open World and load one of the sample worlds our team has developed

open world file

Load sample controllers on your robots

Check the relevant documentation on each controller to make the appropriate changes on your world's objects sample controllers

Give FlockAI a Go and Have Fun!

1. Keyboard-Based Navigation
2. Autopilot Navigation
  1. ML sensor value prediction with linear regression
  2. Face detection with deep learning
  3. Crowd detection
  4. and more!

teaser

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flockai-0.1.18.tar.gz (21.8 kB view hashes)

Uploaded source

Built Distribution

flockai-0.1.18-py3-none-any.whl (28.6 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page