situational_graphs_reasoningο
Graph reasoning for extracting semantic concepts using GNNs
READMEο
Situational Graphs - Reasoning
Situational Graphs - Reasoning is a ROS2 package for generating in real-time semantic concepts like Rooms and Walls from Wall Surfaces S-Graphs. For that purpose, Graph Neural Networks (GNNs) are used to estimate the existing relations between the wall surfaces.
π Table of contentsο
π Published Papers ο
βοΈ Installation ο
[!NOTE] Situational Graphs - Reasoning was only tested on Ubuntu 20.04, ROS2 Foxy, Humble Distros. We strongly recommend using cyclone_dds instead of the default fastdds.
π¦ Installation with S-Graphs ο
Follow the S-Graphs installation instructions
π¦ Installation From Source ο
[!IMPORTANT] Before proceeding, make sure you have
rosdepinstalled. You can install it usingsudo apt-get install python3-rosdepIn addition, ssh keys are needed to be configured on you GitHub account. If you havenβt yet configured ssh keys, follow this tutorial
Update Rosdep:
rosdep init && rosdep update --include-eol-distros
Create a ROS2 workspace for S-Graphs
mkdir -p $HOME/workspaces && cd $HOME/workspaces
Clone the S-Graphs repository into the created workspace
git clone git@github.com:snt-arg/situational_graphs_reasoning.git -b develop
[!IMPORTANT] If you have Nvidia GPU please install CUDA from this link. This code has only been tested with CUDA 11.8. If you dont have CUDA S-Graphs will use CPU only.
Install required dependencies. Change $ROS_DISTRO to your ros2 version.
cd situational_graphs_reasoning && source /opt/ros/$ROS_DISTRO/setup.sh && pip3 install -r requirements.txt
[!NOTE] If you want to compile with debug traces (from backward_cpp) run:
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo
π Usage ο
Follow the S-Graphs instructions to use this package along with all other functionalities.
Or launch situational_graphs_reasoning.py.
βοΈ Configuration files ο
File name |
Description |
|---|---|
|
Describes the data preprocessing and the GNN hyperparameters for room generation. |
|
Describes the data preprocessing and the GNN hyperparameters for wall generation. |