Skip to content
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

udhaykumarbala/mav

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 Cannot retrieve latest commit at this time.

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  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.

Connecting to remote gazebo server:

https://answers.gazebosim.org/question/7117/running-gzserver-on-ec2-and-gzclient-locally-is-not-working/?answer=7172#post-id-7172

GAZEBO_IP=172.23.3.104 GAZEBO_MASTER_URI=172.23.1.170:12345 gzclient

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%