GAAS
  • Hello Sky
  • Build Your Own Autonomous Drone: Software Realization
    • An Overview of GAAS
    • GAAS 总览
    • Prerequisite handbook for GAAS: Linux tutorial
    • 先修知识速查手册:Linux操作
    • Autonomous Drone Software E01: OFFBOARD Control and Gazebo Simulation
    • 无人机自动驾驶软件系列 E01:OFFBOARD控制以及Gazebo仿真
    • Autonomous Drone Software E02 : build a 3D model with your drone
    • 无人机自动驾驶软件系列 E02 : 通过无人机机载摄像头构建建筑物 3D 模型
    • Autonomous Drone Software E03: Using SLAM In GPS Denied Environment For Position Estimation
    • 无人机自动驾驶软件系列 E03: 在无GPS环境下通过SLAM实现位置估计
    • Autonomous Drone Software E04: Depth Estimation, Octomap and Path Planning
    • 无人机自动驾驶软件系列 E04 : 深度估计,八叉树地图以及路径规划
    • Autonomous Drone Software E05: Vision-Based Auto-Landing
    • 无人机自动驾驶软件系列 E05: 视觉引导降落
    • Autonomous Drone Software E06: Basic Object Tracking
    • 无人机自动驾驶软件系列 E06: 简单全局目标追踪
  • Build Your Own Autonomous Drone: Hardware Implementation
    • Autonomous Drone Hardware E01: Building a Drone from Scratch
    • 无人机自动驾驶硬件系列 E01:从 0 开始组装测试用无人机
    • Autonomous Drone Hardware E02: Step-by-Step Flight Control Setup with QGroundControl
    • 无人机自动驾驶硬件系列 E02:手把手教学 QGroundControl 下的飞控校准
  • Case Study
    • 在 AirSim 中模拟无人机对客机巡检
    • Using AirSim to Simulate Aircraft Inspection by Autonomous Drones
  • Handy Tools
    • GAAS v0.7 Release Mirror - x64
    • GAAS v0.7 Release 镜像 - x64
    • GAAS Mirror for TX2 (beta)
    • GAAS-TX2 镜像 (beta)
    • GAAS prebuilt dependencies
    • GAAS依赖包预编译版
    • 系列视频
Powered by GitBook
On this page
  • What is GAAS
  • Overview
  • UAV hardware configurations
  • The structure of GAAS
  • PX4 firmware
  • ROS and MAVROS
  • How to use GAAS
  • I just want to build an autonomous drone
  • I want to contribute
  • Meta

Was this helpful?

  1. Build Your Own Autonomous Drone: Software Realization

An Overview of GAAS

PreviousHello SkyNextGAAS 总览

Last updated 5 years ago

Was this helpful?

Help us to understand what you want to learn in the upcoming tutorials by fill out this .

Should you have any questions or suggestions to the tutorials or GAAS itself, let us know at our facebook group at:

Here is the video tutorial:

Here is the GitHub for GAAS(Generalized Autonomy Aviation System):

What is GAAS

GAAS (Generalized Autonomy Aviation System) is an open source autonomous aviation software platform, designed for fully autonomous drones and flying cars. GAAS was built to provide a common infrastructure for computer-vision based drone intelligence. In the long term, GAAS aims to accelerate the coming of autonomous VTOLs. Being a BSD-licensed product, GAAS makes it easy for enterprises, researches, and drone enthusiasts to modify the code to suit specific use cases.

Our long-term vision is to implement GAAS in autonomous passenger carrying VTOLs (or "flying cars"). The first step of this vision is to make Unmanned Aerial Vehicles truly "unmanned", and thus make drones ubiquitous. We currently support manned and unmanned multi-rotor drones and helicopters. Our next step is to support VTOLs and eVTOLs.

Overview

On the home page of the GAAS repo, you can see those following folders:

  • algorithms includes the implementation of some algorithms for autonomous drones

  1. Scene recoginition, given an image, recover its position in terms of given environment, details can be found in algorithms/scene_retrieving;

  2. 3D modeling, details can be found in algorithms/sfm;

  3. Object detection, details can be found in algorithms/image_detection;

  4. Instance segmentation, details can be found in algorithms/image_segmentation;

  • software includes the following full-functional software modules:

  1. Python scripts for controlling px4 in offboard mode software/px4_mavros_scripts

  2. Navigation in GPS denied environment can be found in: software/SLAM/ygz_slam_ros, currently we are using stereo optical flow;

  3. Obstacle avoidance based on stereo vision can be found in: software/Obstacle_Map;

  4. Path planning can be found in software/Navigator;

  • hardware is the hardware list we are using

  • demo includes the code for this tutorial

  • simulator includes the configuration files for simulation in this tutorial

UAV hardware configurations

The structure of GAAS

PX4 firmware

The tech stack of UAV autopilot is too long to be held in a single project or component, and the whole system is divided into several independent modules communicating with each other.

GAAS is one of the parts in the stack, it controls the drone with the open-source PX4 firmware. More information can be seen in the following link:

There are some tips for the PX4 firmware:

  • PX4 is working in OFFBOARD mode with GAAS. The OFFBOARD mode is primarily used for controlling vehicle movement and attitude, and supports only a very limited set of MAVLink commands.

  • MAVLink is a kind of protocol for the drones and control stations to communicate with each other.

  • PX4 supports both Software In the Loop (SITL) simulation, where the flight stack runs on computer (either the same computer or another computer on the same network) and Hardware In the Loop (HITL) simulation using a simulation firmware on a real flight controller board. In the tutorial we are using SITL simulation.

  • The drones can be controlled with professional controllers or the QGroundControl software.

This picture shows how PX4 control the drone

The drone here can be either a real drone or a drone in a Simulator, in this tutorial we are using the Gazebo simulator. Notice that the autopilot software must be tested in simulator first before testing on a real drone.

ROS and MAVROS

In ROS, each of the running programs is a Node of ROS, and all the ROS nodes can communicate with each other when the roscore is running. Each of the softwares in GAAS is running as an ROS node, the GAAS and PX4 firmware is communicating with MAVROS on ROS platform.

This following picture shows the whole workflow of GAAS and PX4

For more information about the ROS, you can read the ROS document here:

How to use GAAS

I just want to build an autonomous drone

You have come to the right place!

If you are stuck with configuration, you may:

  1. Google the error messages and see if someone else has solved a similar problem.

  2. If neither Step 1 or Step 2 were able to help you, submit an issue to let the community know that you need help.

I want to contribute

We are so grateful for your interest in contributing!

Meta

Project initialized by Generalized Intelligence

, details can be found in algorithms/object_trace_tracking;

Here is the hardware list for building a drone from scrach:

If you wish, we could help you buy all of this hardware and send it to you. Or we can send you the links if you could use taobao.com. Please contact us for more details at .

(Robot Operating System) is a general purpose robotics library that can be used with PX4 for . It uses the node to communicate with PX4 running on hardware or using the . The ROS package enables MAVLink extendable communication between computers running ROS, MAVLink enabled autopilots, and MAVLink enabled GCS.

If this is your first time building an autonomous aviation system, check out our . You will get a basic understanding of what MavROS, PX4 and Gazebo are, which are fundamental for the success of your autonomous drone.

Visit the to see if others have provided solutions for a similar problem.

If you are an advanced user, feel free to help others to get started, contribute by solving issues, or share with us about your project on our .

To start contributing, you need to become familiar with PX4 and MavROS, as well as the workflow of .

A good place to start is to look at the . From there, you may choose one that interests you to tackle, or open an issue of your own to communicate with other developers.

PS: One of the best ways to contribute is to help others to kick off their autonomous drone journey. Pay attention to the “Configuration” label in issues page to help others get started. For more details, please follow

Distributed under the BSD 3-Clause license. See for more information.

Give us a Star on if you find this tutorial useful.

Object tracking
https://github.com/generalized-intelligence/GAAS/tree/master/hardware
nina.rong@gaas.dev
ROS
offboard control
MAVROS
Gazebo Simulator
mavros
first Tutorial
Issues Page
Gitter group chat
GitHub
open issues
CONTRIBUTING.md
LICENSE
🌟
Github
Support us on Patreon
three-question survey
https://www.facebook.com/groups/300340454189266/?ref=bookmarks
https://youtu.be/NrxKOEnidOo
https://github.com/generalized-intelligence/GAAS
LogoOpen Source Autopilot for Drones - PX4 AutopilotPX4 Autopilot
Documentation - ROS Wiki