ASSIST
Getting Started

Assist is an advanced graphical programming software tailored to facilitate the fusion of heterogeneous data from finite element numerical simulations with essential inputs for robotic control, non-rigid registration of finite element models, and augmented reality. The software provides a platform for smooth data exchange between different processors and libraries, integrating popular libraries such as OpenCV, ROS2, SOFA, CUDA, and Python.

Note on Build Structure

Assist is built and structured in a modular fashion, with multiple unit plugins that allow you to compile and run only the necessary components of the software. This modular design is managed using Git submodules, enabling efficient development and maintenance of each unit.

The main project repository on GitHub contains the list of submodules, whereas all the plugins are hosted on the GitLab instance of ICube. Each plugin is developed and maintained as a separate submodule, providing flexibility in compiling and running only the required pieces of code for your specific use case.

More information about the existing plugins can be found on the website: https://assist.cnrs.fr/

Step-by-Step Installation

  1. Clone the Repository:
    git clone https://gitlab.com/assist302122/assist_public.git
    cd Assist

The GitHub repository contains two branches. The first branch, named assist_main, includes only the minimalistic plugins necessary to launch Assist. This branch does not contain a graphical interface; it is strictly the minimal code required to run Assist. The second branch, named assist_gui, provides the essential components for the Node Editor, which is a graphical interface for connecting and editing Assist scenes. Depending on your needs, you should checkout the appropriate Git branch.

# Checkout the `assist_main` branch
git checkout assist_main
# Checkout the `assist_gui` branch
git checkout assist_gui

Once this is done, you need to follow the steps below to compile:

  1. Initialize and Update Submodules::
    git submodule foreach --recursive git submodule init
    git submodule foreach --recursive git submodule update
  2. Build and Install Assist::
    mkdir build
    cd build
    cmake ..
    make

Adding plugins

The branches provided above contain the minimal code required to make Assist function. Most of the time, additional plugins will be necessary. You can consult the PLUGINS page to find out about the main plugins.

Development and Contribution

The Assist Core Plugin is actively developed and maintained by the Assist development team. Contributions, bug reports, and feature requests are welcome and can be submitted through the project's GitHub repository.