Skip to content
/ mav Public
forked from AeroRust/mav

Rust crates for the MAVLink lightweight messaging protocol for communicating with drones (and between onboard drone components).

Notifications You must be signed in to change notification settings

serokell/mav

 
 

Repository files navigation

MAV

Reason for forking

The library requires &'static string for connection, even though the underlying library tonic doesn't. This limits how one can specify connection url.

The Rust book for Drones

You can run the Rust book for drones by using mdbook:

mdbook serve

MAV-SDK

A MAVSDK gRPC client ( HTTP/2 ) for communicating with a drone, built from proto files using tonic.

You need to be running the MAVSDK Server (see https://github.com/mavlink/MAVSDK/releases) in order to use this crate.

Run PX4, Gazebo and MAVSDK Server with docker-compose

docker-compose up --detach

Take it to the skies

cargo run -p mav-sdk --example takeoff

Development

Prerequisite:

  1. Make sure you have SSH key set for your Github account.

See Github articles:

Building the project:

  1. Clone the repository and change dir:

git clone git@github.com:AeroRust/mav.git && cd mav

  1. Install protoc:
  1. Initialize the mavsdk-proto submodule:

git submodule init && git submodule update

  1. Build the project

cargo build

Simulation

Gazebo with PX4

Useful documentation regarding the Gazebo simulation and the PX4 flight software:

ArduPilot

SITL (Software in the loop)

Docker images:

Gazebo

Gazebo doesn't yet have built-in support for ArduPilot and it requires a plugin to be installed.

MAVLink

About

Rust crates for the MAVLink lightweight messaging protocol for communicating with drones (and between onboard drone components).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%