Giter VIP home page Giter VIP logo

goodrobots / maverick Goto Github PK

View Code? Open in Web Editor NEW
163.0 20.0 58.0 103.78 MB

UAV Autonomous Systems Management

Home Page: https://goodrobots.github.io/maverick/

License: MIT License

Shell 2.23% Puppet 42.14% Ruby 38.49% Pascal 0.35% HTML 11.15% Python 5.34% CSS 0.26% Makefile 0.01% Dockerfile 0.02%
flight-controller companion-computers mavlink automation configuration-management puppet

maverick's Introduction

Maverick

Join the chat at https://gitter.im/goodrobots/maverick UAV Companion Computer System

Maverick is a system for creating, maintaining and controlling UAV Companion Computers. The name Maverick reflects the initial main goal of interfacing Companion Computers to Flight Controllers through the Mavlink protocol, specifically ArduPilot (PX4 support planned).

Please see the documentation for more info and how to install it.

What does Maverick do?

  • Downloadable, ready to flash, ready to fly images for Raspberry Pi (all models), NVidia Tegra TX1/TX2, Up (Up, Squared, Core), Odroid XU4, Intel Joule
  • Downloadable VM image for developers in OVA (Open Virtual Appliance) and Parallels formats, should run in VirtualBox, VMware, Parallels etc
  • Permissive MIT licensing, absolute minimum restrictions on opensource or commercial usage
  • Ability to bootstrap from any donor/vendor OS (only Debian/Ubuntu based OS supported so far, but possible to support any base OS) and create custom images
  • Single 'maverick' command provides system/network info, self updating, system configuration, service control
  • Self-contained, consistent software environments and versions across different platforms
  • Automatic detection and configuration of platform hardware and peripherals
  • Easy modular network configuration including managed wireless, monitor/injection, Host Access Point, Avahi, Dnsmasq, DHCP client/server, wifibroadcast
  • Built-in security, firewall, antivirus, scanners
  • Selective, modular Mavlink proxy, Dronekit and MAVROS configuration, supports MAVProxy, mavlink-router, cmavnode
  • Rich web-based IDE (Integrated Development Environment) - Cloud9
  • Full SITL environment with separate mavlink proxy, dronekit and MAVROS instances
  • Extensive consistent software components installed on all platforms - ROS Kinetic/Lunar, ROS2, Tensorflow 1.3, OpenCV 3.4, Gstreamer 1.12.4, FPV video (visiond, camera-streaming-daemon), Orb_slam2, RTABMAP, Aruco
  • ArduPllot development environment, compiled ArduPilot for SITL, everything necessary setup to compile and upload to Flight Controllers direct from companion computer
  • PX4 development environment, compiled PX4 for SITL, everything necessary setup to compile and upload to Flight Controllers direct from companion computer
  • Vision functions - automatic detection and configuration of attached digital cameras for FPV (visiond), Precision Landing with vision_landing, experimental collision avoidance with RealSense depth cameras, Thermal Image streaming with Seek Thermal and Flir One devices, experimental SLAM components ORB_SLAM2 and RTABMAP

maverick's People

Contributors

auturgy avatar dependabot[bot] avatar fnoop avatar gitter-badger avatar monkeypants avatar russ-go avatar samueldudley avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

maverick's Issues

Raspberry exec actions keep running every puppet run

Notice: /Stage[main]/Maverick-baremetal::Raspberry/Exec[raspberry-devicetree]/returns: executed successfully
Notice: /Stage[main]/Maverick-baremetal::Raspberry/Exec[raspberry-serial]/returns: executed successfully
Notice: /Stage[main]/Maverick-baremetal::Raspberry/Exec[raspberry-disableconfig]/returns: executed successfully
Notice: /Stage[main]/Maverick-baremetal::Raspberry/Exec[raspberry-i2c]/returns: executed successfully
Notice: /Stage[main]/Maverick-baremetal::Raspberry/Exec[raspberry-spi]/returns: executed successfully

These should only run once, logic for exec unless/onlyif should be better

Only activate firewall rules if firewall active

Firewall rules are sprinkled throughout the code which is correct, but they should only activate if the maverick-security class, more specifically maverick-security::firewall class is included, which it isn't by default.

Manage /etc/issue

Rewrite /etc/issue with a more friendly message. On beagle debian for example it shows default username/password:

Debian GNU/Linux 8

BeagleBoard.org Debian Image 2016-01-24

Support/FAQ: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian

default username:password is [debian:temppwd]

Bail out of runme if not root

While it is possible to run puppet as non-root user, there are so many things that need root that we might as well have root as requirement, for now.

hostname not being set

hostname/fqdn declared in node manifests or determined in hostname fact not being set permanently.

Add AP wifi support

Add basic AP wifi configuration for wlan0, start with SSID and passphrase in defaults.json (or possibly another hiera file that is .gitignored)

Add bootstrap environment

Add an environment that just deals with basic system setup rather than full software/fc setup. This is so that basic hardware like sd card expansion has a chance to happen and a reboot occur before full setup happens (that would otherwise fail due to lack of space etc).

Add argument/syntax check to runme

Check for puppet environment, if not set then bail out. Also probably add a confirm parameter as this script has the potential to do all sorts of badness to those who aren't familiar with it. Use getopts.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.