Skip to main content

PSU UAS MAVez

The Pennsylvania State University

Description

Library for controlling ArduPilot from an external computer via pymavlink.

For detailed documentation on pymavlink, visit mavlink.io. "Standard Messages/Commands" > "common.xml" is a particularly useful resource.

Table of Contents

Installation

  1. In a terminal window, run git clone git@github.com:UnmannedAerialSystems/MAVez.git
  2. Switch into the newly cloned directory by running cd MAVez
  3. Install the package locally in editable mode pip install -e .

While not required, it is highly recommended that you utilize ArduPilot's Software in the Loop (SITL) simulator to make testing significantly easier. Install instructions are provided for Windows and MacOS in the appendix. For Linux or WSL instructions, refer to the ArduPilot setup page

Example Usage

Below is a simple script designed to work with SITL. This example is provided at /examples/basic.py/

from MAVez import flight_controller
from MAVez.safe_logger import configure_logging
import asyncio


logger = configure_logging()
async def main():
    controller = flight_controller.FlightController(connection_string='tcp:127.0.0.1:5762', baud=57600, logger=logger)

    await controller.set_geofence("./examples/sample_missions/sample_fence.txt")

    await controller.arm()

    await controller.takeoff("./examples/sample_missions/sample1.txt")
    controller.append_mission("./examples/sample_missions/sample2.txt")
    controller.append_mission("./examples/sample_missions/sample3.txt")

    await controller.auto_send_next_mission()
    await controller.auto_send_next_mission()

    await controller.wait_for_landing()

    await controller.disarm()

if __name__ == "__main__":
    asyncio.run(main())

License:

This project is licensed under the GNU General Public License v3.0.

Authors:

Ted Tasman Declan Emery Vlad Roiban

Appendix:

SITL Installation

Windows

SITL comes precompiled for Windows as part of Mission Planner. Installing Mission Planner is the most painless method for using SITL on Windows.

MacOS

  1. Install prerequisites:
brew install python3 gcc
pip install future pymavlink MAVProxy opencv-python
  1. Clone ArduPilot repository
git clone https://github.com/ArduPilot/ardupilot.git
cd ardupilot
git submodule update --init --recursive
  1. Install environment
cd Tools/environment_install
./install-prereqs-mac.sh  # decline all prompts
  1. Compile the binaries

Return to ./ardupilot

./waf configure --board sitl
./waf copter
./waf plane
  1. Run SITL
./Tools/autotest/sim_vehicle.py -v ArduCopter --console --map

Release files for MAVez 3.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for MAVez 3.10.0
File Size Uploaded
mavez-3.10.0.tar.gz 42.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for MAVez 3.10.0
File Interpreter ABI Platform
mavez-3.10.0-py3-none-any.whl Python 3 none any Details

Total release size: 89.0 kB

Release files / mavez-3.10.0.tar.gz

Download URL mavez-3.10.0.tar.gz
Size 42.8 kB
Tags Source
SHA-256 checksum
How to use checksums
33c6647b887bc8fc4acef99619cfde64a2a1a642cacce5e5f365439788c17c8a
BLAKE2b-256 checksum
How to use checksums
56d7b56a9287b0428dbf27602cd713dd0dcab96b660da861993c6bd5ac58957c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release files / mavez-3.10.0-py3-none-any.whl

Download URL mavez-3.10.0-py3-none-any.whl
Size 46.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0ca578c2380f67c93842ae33437ce154948e10aa5d7b2323270bd2c68d7c3e4a
BLAKE2b-256 checksum
How to use checksums
a6bacdf6f366a52faaf95b90b9333c01d732516828924d9d683b26f30385354c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release history Release notifications | RSS feed

This release

3.10.0 This release

2 release files

3.8.3

2 release files

3.8.2

2 release files

3.8.1

2 release files

3.8.0

2 release files

3.7.3

2 release files

3.7.2

2 release files

3.7.1

2 release files

3.7.0

2 release files

3.6.1

2 release files

3.5.3

2 release files

3.5.1

2 release files

3.5.0

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.3

2 release files

3.2.2

2 release files

3.2.1

2 release files

3.2.0

2 release files

3.1.2

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.1.0

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.1.5

2 release files

1.1.3

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page