AeroRust / mav

Rust crates for the MAVLink lightweight messaging protocol for communicating with drones (and between onboard drone components).
http://aerorust.org/mav/
18 stars 8 forks source link
drones hacktoberfest robotics rustlang simulation

MAV

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

  2. Install protoc:

  3. Initialize the mavsdk-proto submodule:

    git submodule init && git submodule update

  4. 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