Giter Club home page Giter Club logo

sights's Introduction

Sights Logo

Build status GitHub license GitHub issues GitHub forks

Sights is a complete teleoperation interface for a wide range of robotics hardware.

Screenshot of the interface

Features

  • All Sights configuration is done through a single configuration file which can be edited visually from within the interface, even if the Sights service is stopped or has crashed
  • A powerful and extensible modular sensor system
    • A sensor plugin system to allow new sensors to be added with ease
    • Sensor wrapper classes that can use existing Python libraries to access sensors over I2C. No need to write libraries specifically for Sights
    • User can define which sensors are enabled, where they go on the interface, how they are displayed, and what type of graph they are displayed on
    • Sensors can be displayed on multiple graphs, or two sensors can be displayed on the same graph
    • Includes sensor plugins for:
      • Thermal cameras
      • Ambient and IR temperature sensors
      • Distance (Time of Flight) sensors
      • CO2 and TVOC sensors
      • System memory usage
      • CPU usage and temperature
      • System uptime
      • Disk space usage
    • Includes sensor graphs:
      • Line graph (supports multiple sensors on a single graph)
      • Percentage circle chart
      • Thermal camera with overlay features
      • Text box (with optional uptime display box)
  • An extremely powerful interface that allows the operator to control every aspect of the robot
    • Up to four video camera streams through Motion
    • Integrated tabbed SSH console allowing advanced access to the underlying OS
    • Full gamepad and keyboard support
    • Full visual configuration file editor and an advanced text-based editor
    • Configuration file management allowing you to swap the active configuration file at runtime, even if the Sights service is stopped or has crashed
    • Keep track of old revisions of your config file to easily restore to a previous version
    • Light and dark themes
    • Ability for the operator to safely shut down or restart the robot through the interface
  • Motor control with support for both Dynamixel AX-series servos and DC motors using a Sabertooth motor controller
    • Intuitive gamepad and keyboard control directly from the interface
    • Ability to assign different Dynamixel IDs to different groups, representing parts of the robot (such as left and right side servos)
    • Support for adding additional motor connection handlers in a similar manner to sensors
  • Built entirely using open protocols and open-source software.

All configuration for Sights is done in the .json files within the configs/ directory, which can be edited through the web interface. The active configuration file can be changed through the interface at any time, even if the Sights service is stopped or has crashed. This gives you the ability to fix any configuration issue without physical access to the robot.

Requirements

Officially supported operating systems:

  • Ubuntu 18.04 LTS Bionic Beaver
  • Ubuntu 20.04 LTS Focal Fossa
  • Debian 10 Buster
  • Raspbian 10 Buster

Python >= 3.6 is required. All the officially supported distributions ship with Python 3.6+.

Installation

To install on a robot, just download and run the installer as root:

wget https://raw.githubusercontent.com/sightsdev/sights/master/install.sh
chmod +x install.sh
sudo ./install.sh

Through the installer you can do a complete install, or just install and setup individual parts of the software suite.

SIGHTS installer

Detected OS: ubuntu bionic
Using a supported OS

1) Complete Install           6) Setup ShellInABox
2) Install Dependencies       7) Setup Supervisor
3) Install Sights Software    8) Enable I2C
4) Setup Apache               9) Update
5) Setup Motion              10) Detect IPs
Enter a number (1-10) or q to quit:

For manual installation see docs/manual_install.md.

Then visit the robot's IP address in any web browser on the same network.

Documentation

Documentation can be found at https://sights.js.org.

It can also be accessed through the Sights interface itself, even without an internet connection.

Contributing

If you have an idea, suggestion or bug report for the Sights project, or want to make a contribution of your own, we'd love to work with you to make it happen! Take a look at our contributing page for more information.

sights's People

Contributors

conr86 avatar williamsjack avatar matt-w99 avatar cavallialexander avatar brucbr avatar

Stargazers

Anthony Gambale avatar

Watchers

James Cloos avatar

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.