Skip to main content

Run Your Own Robot Swarm Testbed.

Project description

SwarmIT

SwarmIT provides a embedded C port for nRF53 as well as Python based services to easily build and deploy a robotic swarm infrastructure testbed. ARM TrustZone is used to create a sandboxed user environment on each device under test, without requiring a control co-processor attached to it.

Features

  • Experiment management: start, stop, monitor and status check
  • Deploy a custom firmware on all or on a subset of robots of a swarm testbed
  • Resilient robot state: even when crashed by buggy user code, the robot can be reprogrammed remotely and wirelessly

Usage

Embedded C code

SwarmIT embedded C code can be built using Segger Embedded Studio (SES).

To provision a device, follow the following steps:

  1. open netcore.emProject and bootloader.emProject in SES
  2. build and load the netcore application on the nRF53 network core,
  3. build and load the bootloader application on the nRF53 application core.

The device is now ready.

Python CLI script

The Python CLI script provides commands for flashing, starting and stopping user code on the device, as well as monitoring and checking the status of devices in the swarm.

Default usage:

swarmit --help
Usage: swarmit [OPTIONS] COMMAND [ARGS]...

Options:
  -p, --port TEXT         Serial port to use to send the bitstream to the
                          gateway. Default: /dev/ttyACM0.
  -b, --baudrate INTEGER  Serial port baudrate. Default: 1000000.
  -d, --devices TEXT      Subset list of devices to interact with, separated
                          with ,
  --help                  Show this message and exit.

Commands:
  flash
  monitor
  start
  status
  stop

Project details


Download files

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

Source Distribution

swarmit-0.1.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

swarmit-0.1.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file swarmit-0.1.0.tar.gz.

File metadata

  • Download URL: swarmit-0.1.0.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.2

File hashes

Hashes for swarmit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f369ecec5ef577e7a4d9d45c07028d156a6280994be758e614d7ecd0ddaf1b11
MD5 97db067ded00808df500de98d627fb44
BLAKE2b-256 62a6a671e4e0b1e69a1de2d24a09aa744a8e0b9ba573b8a2169f1d5fb670605d

See more details on using hashes here.

File details

Details for the file swarmit-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: swarmit-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.2

File hashes

Hashes for swarmit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ea029bc8846775a30995d566d037cd4607197fd178e879136f63eb3ad8e1fab5
MD5 2acf94613191c176706cc3b64198f391
BLAKE2b-256 893bff01af68efa7e9cd2397abd001cc76804777f8788177d6ac1e6d2477a1f0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page