situational_graphs_reasoning package from situational_graphs_reasoning repo

situational_graphs_reasoning

Package Summary

Tags No category tags.
Version 0.0.1
License GPLv3
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/snt-arg/situational_graphs_reasoning.git
VCS Type git
VCS Version develop
Last Updated 2024-06-17
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Graph reasoning for extracting semantic concepts using GNNs

Additional Links

No additional links.

Maintainers

  • adminpc

Authors

No additional authors.

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

Learning High-level Semantic-Relational Concepts for SLAM

⚙️ 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 rosdep installed. You can install it using sudo apt-get install python3-rosdep In addition, ssh keys are needed to be configured on you GitHub account. If you haven't yet configured ssh keys, follow this tutorial

  1. Update Rosdep:
rosdep init && rosdep update --include-eol-distros

  1. Create a ROS2 workspace for S-Graphs
mkdir -p $HOME/workspaces && cd $HOME/workspaces

  1. 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.

  1. 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
config/same_room_training.json Describes the data preprocessing and the GNN hyperparameters for room generation.
config/same_wall_training.json Describes the data preprocessing and the GNN hyperparameters for wall generation.

📥 Subscribed Topics

situational_graphs_reasoning_node node

Topic name Message Type Description
/s_graphs/all_map_planes s_graphs/PlanesData Al the plains contained in the map.
/s_graphs/map_planes s_graphs/PlanesData Only the plains incorporated with the last keypoint.

📤 Published Topics

situational_graphs_reasoning_node node

Topic name Message Type Description
/room_segmentation/room_data s_graphs/RoomsData Contains all the necessary information about the rooms on a given floor.
/room_segmentation/wall_data s_graphs/WallsData Contains all the necessary information about the walls on a given floor.
CHANGELOG
No CHANGELOG found.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged situational_graphs_reasoning at Robotics Stack Exchange

situational_graphs_reasoning package from situational_graphs_reasoning repo

situational_graphs_reasoning

Package Summary

Tags No category tags.
Version 0.0.1
License GPLv3
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/snt-arg/situational_graphs_reasoning.git
VCS Type git
VCS Version develop
Last Updated 2024-06-17
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Graph reasoning for extracting semantic concepts using GNNs

Additional Links

No additional links.

Maintainers

  • adminpc

Authors

No additional authors.

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

Learning High-level Semantic-Relational Concepts for SLAM

⚙️ 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 rosdep installed. You can install it using sudo apt-get install python3-rosdep In addition, ssh keys are needed to be configured on you GitHub account. If you haven't yet configured ssh keys, follow this tutorial

  1. Update Rosdep:
rosdep init && rosdep update --include-eol-distros

  1. Create a ROS2 workspace for S-Graphs
mkdir -p $HOME/workspaces && cd $HOME/workspaces

  1. 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.

  1. 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
config/same_room_training.json Describes the data preprocessing and the GNN hyperparameters for room generation.
config/same_wall_training.json Describes the data preprocessing and the GNN hyperparameters for wall generation.

📥 Subscribed Topics

situational_graphs_reasoning_node node

Topic name Message Type Description
/s_graphs/all_map_planes s_graphs/PlanesData Al the plains contained in the map.
/s_graphs/map_planes s_graphs/PlanesData Only the plains incorporated with the last keypoint.

📤 Published Topics

situational_graphs_reasoning_node node

Topic name Message Type Description
/room_segmentation/room_data s_graphs/RoomsData Contains all the necessary information about the rooms on a given floor.
/room_segmentation/wall_data s_graphs/WallsData Contains all the necessary information about the walls on a given floor.
CHANGELOG
No CHANGELOG found.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged situational_graphs_reasoning at Robotics Stack Exchange

No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.