Skip to main content

Python library used to communicate with multiple UAS simultaneously using MAVLink

Project description

pymavswarm

PyPI Version Contribution Frequency Project License Open Issues

What is pymavswarm?

pymavswarm is a Python library implemented to enable interaction with drone swarms using the MAVLink protocol. This library supports reading MAVLink messages sent from multiple agents in a swarm and sending MAVLink messages to agents within the swarm. Such functionality ultimately enables development of new swarm applications such as ground control stations.

Main features

Here are some of the main features of pymavswarm:

  • Easily send MAVLink commands to multiple drones, simultaneously
  • Monitor the state of swarm drone agents
  • Implement custom commands and swarm algorithms
  • Develop applications for on-board companion computers
  • Implement custom swarm ground control stations
  • Log incoming MAVLink messages for future evaluation and debugging
  • Construct pre-planned missions
  • Multi-agent collision avoidance using reachability analysis

Installation

pymavswarm may be installed from PyPI by running

pip3 install pymavswarm

To build pymavswarm from source, first ensure that at least Python 3.10 is installed. Once this dependency has been met, refer to the steps below:

  1. Clone the project repository
  2. Navigate to the pymavswarm/ base directory
cd path/to/pymavswarm/
  1. Install the pymavswarm Python package
pip3 install .

Quick start

pymavswarm has been implemented to enable easy interfacing with drone swarms. Refer to the following code snippet for a simple example to get started with the library. Additional examples may be found in the project examples.

import time

from pymavswarm import MavSwarm

# Create a new pymavswarm interface
mavswarm = MavSwarm()

# Establish a connection with a USB telemetry device
mavswarm.connect('/dev/ttyUSB0', 115200, 255, 0)

# Wait for the swarm to be populated
while not mavswarm.agents:
    pass

# Arm each agent in the swarm
mavswarm.arm()

# Briefly delay to allow all agents to arm
time.sleep(5.0)

# Disarm each agent in the swarm
mavswarm.disarm()

# Close the pymavswarm connection
mavswarm.disconnect()

Getting help

If you have questions regarding pymavswarm usage or contribution please ask a question on our Discussions board!

Contributing

All contributions and ideas are welcome! Detailed guidelines regarding how to contribute can be found in the contribution guidelines.

License

pymavswarm is released under the GNU General Public License v3 or later

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

pymavswarm-1.0.0.tar.gz (66.3 kB view details)

Uploaded Source

Built Distribution

pymavswarm-1.0.0-py3-none-any.whl (93.5 kB view details)

Uploaded Python 3

File details

Details for the file pymavswarm-1.0.0.tar.gz.

File metadata

  • Download URL: pymavswarm-1.0.0.tar.gz
  • Upload date:
  • Size: 66.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for pymavswarm-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f7b3cc94d9a930ec0b1e9d7db37a04b5446ae809cd63ead6dfbe99197b1f0294
MD5 35aaa2db19ef3cc35f19194a2c1c756f
BLAKE2b-256 876aab283236c126874aa00b0ef63acbf7352f2c7d473af1bbf1ae01d1674294

See more details on using hashes here.

File details

Details for the file pymavswarm-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: pymavswarm-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 93.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for pymavswarm-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0b00d583e56571864b33a6f6120e5b6f53b3c96615aa67b982d52457f0df5538
MD5 495ac042f583dcda3656418e3fd06243
BLAKE2b-256 e51bc63efc977ba36966160ef564ba7a039817eb13d716fc379e119fa1efbc70

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