Git Product home page Git Product logo

isaac_user_interface's Introduction

NASA ISAAC User Interface

GitHub license

The NASA ISAAC UI is a full-fledged web-based user interface system for ROS projects. It provides a pre-configured frontend, backend, and database that allow monitoring and control of robots built using ROS.


Example screenshot of ISAAC UI


Quick Start

Clone the ISAAC UI repository:

git clone https://github.com/nasa/isaac_user_interface.git

Build the ISAAC UI:

./build.sh

Run the ISAAC UI:

./run.sh

Check the status of the ISAAC UI:

./status.sh

Shutdown the ISAAC UI:

./shutdown.sh


Prerequisites

To build and run the ISAAC UI you must have installed:

You might already have the prerequisites installed. Verify this:

   docker --version
   docker-compose --version
   rosversion ros

Clone the ISAAC UI repository locally:

   git clone https://github.com/nasa/isaac_user_interface.git
   cd isaac_user_interface

The ISAAC UI assumes you have a ROS master node, but will run a master node for you should that not be the case.

   ./build.sh  # this may take 5 - 10 minutes

   ./run.sh  # now the UI is running at http://localhost:8080

   ./status.sh  # check the status of each subsystem

   ./shutdown.sh  # shutdown the UI 

Architecture

Simplified architectural diagram of ISAAC UI


Usage with ISAAC

This user interface was built to support the Integrated System for Autonomous and Adaptive Caretaking (ISAAC) project, which is available here. Installation instructions for the ISAAC simulation are available here. Once the simulation has been built, the easiest way to launch the ISAAC UI linked to the ISAAC simulation is by following the steps below.

# move to the ISAAC workspace defined in the installation steps
cd $ISAAC_WS

# clone this repository inside the workspace directory
git clone https://github.com/nasa/isaac_user_interface.git

# source the ISAAC simulation setup.bash file
source ./devel/setup.bash

# unset $ROS_MASTER_URI so ISAAC UI launches its own ROS Master node
unset ROS_MASTER_URI

# enter the ISAAC UI repository root directory
cd isaac_user_interface

# build and run the ISAAC UI
./build.sh --isaac && ./run.sh --isaac

# start ISAAC simulation and connect to ROS Master node
roslaunch isaac sim.launch --wait

# the ISAAC UI is now available at http://localhost:8080

Debugging

If you get a permissions error when running a Docker script, you can either:

  1. Run the scripts (.sh files) as root (preprend sudo to each command); OR
  2. Add your linux user to the docker user group:
   sudo usermod -aG docker $USER
   newgrp docker

Read more about Docker's post installation steps here.


Contributors

https://github.com/nasa/isaac_user_interface/graphs/contributors

License

Copyright (c) 2021, United States Government, as represented by the Administrator of the National Aeronautics and Space Administration. All rights reserved.

The "ISAAC - Integrated System for Autonomous and Adaptive Caretaking platform" software is licensed under the Apache License, Version 2.0 "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

isaac_user_interface's People

Contributors

khaledsharif avatar marinagmoreira avatar orrblue avatar trey0 avatar trusktr avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

isaac_user_interface's Issues

How to support Astrobee and ISAAC (msgs) simultaneously

Hi Khaled,
Thanks for updating to noetic, makes my life a lot easier!

Rosbridge (and rosvideo) need msg packages included to operate. What do you think is the best solution for this with support for non-NASA msgs? For my application, I only need ff_msgs and some custom messages. Here's some ideas:

  1. copy paste msg packages to gitignored folder, copy to container in dockerfile
  2. same, but add as a volume
  3. git submodule (how isaac works. I'm not a fan of submodules, but msgs are updated infrequently so it might be okay)
  4. user must build their own msgs on top of existing containers (kind of how we had before)

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.