Skip to content

PaperFanz/insitu

Repository files navigation

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 git@github.com: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

About

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

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •