Giter Site home page Giter Site logo

adampettinger / insitu Goto Github PK

View Code? Open in Web Editor NEW

This project forked from paperfanz/insitu

0.0 0.0 0.0 953 KB

insitu - a rewrite of Guy Zaidner's work on situational awareness

License: BSD 3-Clause "New" or "Revised" License

CMake 13.11% C++ 83.21% Python 2.06% Shell 0.34% HTML 1.28%

insitu's Introduction

Insitu

InSitu Logo

Table of contents generated with markdown-toc

Intro Video

InSitu ROS World 2021 Video

Description

InSitu is an extensible situational awareness platform that organizes ROS image streams in a grid layout and applys overlays to create complex HUD interfaces for robot teleoperation and supervision. These overlays are created through user-created plugins called filters, but first time users are encouraged to check out the list of available filters to get started without needing to write any code themselves. InSitu was inspired by Guy Zaidner's work at the Nuclear and Applied Robotics Group at the University of Texas at Austin and built on ROS pluginlib, Qt5, OpenCV, and jsoncpp.

Quick Start

InSitu is not packaged for ROS yet so new users will have to build from from source.

Building From Source

First, ensure that you've installed ROS Noetic and rosdep following the ROS wiki. Then, create a new catkin workspace and clone the repository into the src directory.

mkdir -p catkin_ws/src && cd catkin_ws
catkin build
source devel/setup.bash
cd src
git clone [email protected]:PaperFanz/insitu.git

Next, install any dependencies by running the following from the top directory of your catkin workspace:

# in catkin_ws:
rosdep install --from-paths . --ignore-src -r -y

Finally, build the packages:

catkin build

Running InSitu

To run InSitu, start roscore in a separate terminal and start some nodes that publish image topics, such as usb_cam. Then, run InSitu using rosrun insitu insitu.

User Guide

For a comprehensive list of InSitu functions and configuration options, please refer to the USER_GUIDE.md.

Available Filters

Curated list of tested, publicly available filter packages for InSitu.

Contribute

There are two ways to contribute to the InSitu project, creating new filters to add custom functionality or modifying InSitu core to fix bugs and develop new features.

Creating Custom Filters

Those interested in creating their own filters should refer to FILTERS.md to get started with the filter creation script that generates the necessary boilerplate and explains the basic operation of a filter.

Modifying InSitu Core

Found a bug or want to see your custom feature merged into InSitu core? Fork the repository, make your changes, and open a pull request. Please refer to CONTRIBUTING.md for an explanation of InSitu's program structure and more detailed contribution guidelines.

Related Work

While InSitu was functionally inspired by Guy Zaider's work referenced in the description, its implementation was heavily based on RQT and RVIZ, two existing giants in the ROS Visualization application sphere. InSitu's plugin architecture is modeled after the great work that went into these related projects.

Attributions

This project uses icons from Font Awesome: LICENSE

insitu's People

Contributors

paperfanz avatar eakita avatar adampettinger 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.