diff --git a/hydra/CMakeLists.txt b/CMakeLists.txt
similarity index 100%
rename from hydra/CMakeLists.txt
rename to CMakeLists.txt
diff --git a/README.md b/README.md
index 9a0ebf1b..8c770c66 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,11 @@
-This repository contains code to incrementally build 3D Dynamic Scene Graphs (DSGs) in real-time and is primarily based on the paper ["Hydra: A Real-time Spatial Perception System for 3D Scene Graph Construction and Optimization"](http://www.roboticsproceedings.org/rss18/p050.pdf). If you find this code relevant for your work, please consider citing this paper. A bibtex entry is provided below:
+This repository contains code to incrementally build 3D Dynamic Scene Graphs (DSGs) in real-time and is based on the papers:
+ - ["Hydra: A Real-time Spatial Perception System for 3D Scene Graph Construction and Optimization"](http://www.roboticsproceedings.org/rss18/p050.pdf)
+ - ["Foundations of Spatial Perception for Robotics: Hierarchical Representations and Real-time Systems"](https://arxiv.org/abs/2305.07154)
+
+If you find this code relevant for your work, please consider citing one or both of these papers. A bibtex entry is provided below:
```
@article{hughes2022hydra,
@@ -15,15 +19,7 @@ This repository contains code to incrementally build 3D Dynamic Scene Graphs (DS
pdf={http://www.roboticsproceedings.org/rss18/p050.pdf},
year={2022},
}
-```
-**Update (05/20/23):** We recently authored the following paper ["Foundations of Spatial Perception for Robotics: Hierarchical Representations and Real-time Systems"](https://arxiv.org/abs/2305.07154).
-Associated updates to Hydra from this paper will be released soon (*current target 06/09/23*).
-We also plan to release additional code, most notably for training the room classification networks and GNN-based descriptors as described in the above paper.
-This will likely take slightly longer (and is likely to be in a different repository, which will be linked to).
-In the meantime, if you find our new paper relevant for your work, please consider also citing this paper.
-A bibtex entry is provided below:
-```
@article{hughes2023foundations,
title={Foundations of Spatial Perception for Robotics: Hierarchical Representations and Real-time Systems},
author={Nathan Hughes and Yun Chang and Siyi Hu and Rajat Talak and Rumaisa Abdulhai and Jared Strader and Luca Carlone},
@@ -34,11 +30,23 @@ A bibtex entry is provided below:
}
```
-### Acknowledgements and Disclaimer
+#### Acknowledgements
-**Acknowledgements:** This work was partially funded by the AIA CRA FA8750-19-2-1000, ARL DCIST CRA W911NF-17-2-0181, and ONR RAIDER N00014-18-1-2828.
+This work was partially funded by the AIA CRA FA8750-19-2-1000, ARL DCIST CRA W911NF-17-2-0181, and ONR RAIDER N00014-18-1-2828.
-**Disclaimer:** Research was sponsored by the United States Air Force Research Laboratory and the United States Air Force Artificial Intelligence Accelerator and was accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of the United States Air Force or the U.S. Government. The U.S. Government is authorized to reproduce and distribute reprints for Government purposes notwithstanding any copyright notation herein.
+#### Disclaimer
+
+Research was sponsored by the United States Air Force Research Laboratory and the United States Air Force Artificial Intelligence Accelerator and was accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of the United States Air Force or the U.S. Government. The U.S. Government is authorized to reproduce and distribute reprints for Government purposes notwithstanding any copyright notation herein.
+
+## News
+
+**Update (06/26/23):** We've released initial changes from the our newest paper.
+We also plan to release additional code, most notably for training the room classification networks and GNN-based descriptors as described in the above paper.
+We will link to the new repository once this is done.
+
+:warning: As part of the this release, we have moved ROS related code to a new repository located [here](https://github.com/MIT-SPARK/Hydra-ROS). This code (and our installation process) still do rely on the ROS ecosystem.
+
+## Installation and Running
### General Requirements
@@ -50,8 +58,6 @@ You can follow the instructions [here](http://wiki.ros.org/ROS/Installation) to
Then, make sure you have some general requirements:
```
sudo apt install python3-rosdep python3-catkin-tools python3-vcstool
-
-# for melodic: sudo apt install python-rosdep python-catkin-tools python3-vcstool
```
Finally, if you haven't set up rosdep yet:
@@ -60,6 +66,12 @@ sudo rosdep init
rosdep update
```
+### Filing Issues
+
+:warning: We don't support other platforms. Issues requesting support on other platforms (e.g. Ubuntu 16.04, Windows) will be summarily closed.
+
+Depending on the nature of the issue, it may be helpful to browse [this](doc/debugging.md) page about debugging Hydra first.
+
### Building Hydra
To get started:
@@ -88,16 +100,8 @@ catkin build
Please help us by creating new issues when you run into problems with these instructions!
-Finally, if you'd prefer to use the older `wstool` instead of `vcs`, you can do the following instead of `vcs import`:
-```
-wstool init
-wstool merge hydra/install/hydra.rosinstall
-wstool up
-```
-
-### Running Hydra (Quickstart)
+### Quickstart
-The only dataset that is supported out-of-the-box is [uHumans2](http://web.mit.edu/sparklab/datasets/uHumans2/).
To test Hydra out, you can just download a single scene (the office scene without humans is recommended, and can be found [here](https://drive.google.com/uc?id=1CA_1Awu-bewJKpDrILzWok_H_6cOkGDb).
Make sure to decompress the rosbag (`rosbag decompress path/to/bagfile`) before running!
@@ -105,7 +109,7 @@ Make sure to decompress the rosbag (`rosbag decompress path/to/bagfile`) before
To start Hydra:
```
-roslaunch hydra_dsg_builder_ros uhumans2.launch start_visualizer:=true
+roslaunch hydra_ros uhumans2.launch
```
Then, start the rosbag in a separate terminal:
@@ -113,75 +117,10 @@ Then, start the rosbag in a separate terminal:
rosbag play path/to/rosbag --clock
```
-### Using Kimera-VIO
-
-:warning: Kimera-VIO functionality is in a pre-release state. Support is limited (and functionality may be brittle).
+### Running Hydra
-You can configure your workspace to also include Kimera-VIO by:
-```
-roscd && cd ../src
-vcs import . < hydra/install/vio_public_overlay.rosinstall
-
-catkin build
-```
-
-#### Running Using VIO Only
-
-First, start Kimera:
-
-```
-roslaunch kimera_vio_ros kimera_vio_ros kimera_vio_ros_uhumans2.launch online:=true viz_type:=1 use_lcd:=false
-```
-
-and in a separate terminal, run:
-
-```
-# in separate terminal
-roslaunch hydra_dsg_builder_ros uhumans2.launch \
- start_visualizer:=true \
- use_gt_frame:=false
-```
-
-#### Running Using VIO and External Visual Loop Closures
-
-First, start Kimera:
-
-```
-roslaunch kimera_vio_ros kimera_vio_ros kimera_vio_ros_uhumans2.launch online:=true viz_type:=1 \
- use_lcd:=true \
- lcd_no_optimize:=true
-```
-
-and in a separate terminal, run the same command for Hydra:
-
-```
-roslaunch hydra_dsg_builder uhumans2.launch \
- start_visualizer:=true \
- use_gt_frame:=false
-```
-
-:warning: To achieve the best results with Kimera-VIO, you should wait for the LCD vocabulary to finish loading before starting the rosbag.
-
-#### Running Using VIO and DSG Loop Closures
-
-First, start Kimera:
-
-```
-roslaunch kimera_vio_ros kimera_vio_ros kimera_vio_ros_uhumans2.launch online:=true viz_type:=1 \
- use_lcd:=true \
- lcd_no_detection:=true
-```
-
-and in a separate terminal, run the same command for Hydra:
-
-```
-roslaunch hydra_dsg_builder_ros uhumans2.launch \
- start_visualizer:=true \
- use_gt_frame:=false \
- enable_dsg_lcd:=true
-```
-
-:warning: To achieve the best results with Kimera-VIO, you should wait for the LCD vocabulary to finish loading before starting the rosbag.
+See [here](https://github.com/MIT-SPARK/Hydra-ROS/blob/main/doc/quickstart.md) for detailed instructions discussing how to run Hydra using ROS.
+These also detail how to use Hydra with [Kimera-VIO](https://github.com/MIT-SPARK/Kimera-VIO.git), including how to build Kimera-VIO alongside Hydra.
### Using a Semantic Segmentation Network
@@ -206,8 +145,4 @@ catkin build
Hydra has a wrapper around config parsing that is documented [here](doc/config_parsing.md).
-### Filing Issues
-:warning: We don't support other platforms. Issues requesting support on other platforms (e.g. Ubuntu 16.04, Windows) will be summarily closed.
-
-Depending on the nature of the issue, it may be helpful to browse [this](doc/debugging.md) page about debugging Hydra first.
diff --git a/hydra/cmake/nanoflann.CMakeLists.txt.in b/cmake/nanoflann.CMakeLists.txt.in
similarity index 100%
rename from hydra/cmake/nanoflann.CMakeLists.txt.in
rename to cmake/nanoflann.CMakeLists.txt.in
diff --git a/hydra/config/ade20k_mp3d_typology.yaml b/config/ade20k_mp3d_typology.yaml
similarity index 100%
rename from hydra/config/ade20k_mp3d_typology.yaml
rename to config/ade20k_mp3d_typology.yaml
diff --git a/hydra/config/ade20k_typology.yaml b/config/ade20k_typology.yaml
similarity index 100%
rename from hydra/config/ade20k_typology.yaml
rename to config/ade20k_typology.yaml
diff --git a/hydra/config/d455/d455_typology.yaml b/config/d455/d455_typology.yaml
similarity index 100%
rename from hydra/config/d455/d455_typology.yaml
rename to config/d455/d455_typology.yaml
diff --git a/hydra/config/d455/dsg_backend_config.yaml b/config/d455/dsg_backend_config.yaml
similarity index 100%
rename from hydra/config/d455/dsg_backend_config.yaml
rename to config/d455/dsg_backend_config.yaml
diff --git a/hydra/config/d455/dsg_frontend_config.yaml b/config/d455/dsg_frontend_config.yaml
similarity index 100%
rename from hydra/config/d455/dsg_frontend_config.yaml
rename to config/d455/dsg_frontend_config.yaml
diff --git a/hydra/config/d455/dsg_lcd_config.yaml b/config/d455/dsg_lcd_config.yaml
similarity index 100%
rename from hydra/config/d455/dsg_lcd_config.yaml
rename to config/d455/dsg_lcd_config.yaml
diff --git a/hydra/config/default_reconstruction_config.yaml b/config/default_reconstruction_config.yaml
similarity index 100%
rename from hydra/config/default_reconstruction_config.yaml
rename to config/default_reconstruction_config.yaml
diff --git a/hydra/config/default_robot/dsg_backend_config.yaml b/config/default_robot/dsg_backend_config.yaml
similarity index 100%
rename from hydra/config/default_robot/dsg_backend_config.yaml
rename to config/default_robot/dsg_backend_config.yaml
diff --git a/hydra/config/default_robot/dsg_frontend_config.yaml b/config/default_robot/dsg_frontend_config.yaml
similarity index 100%
rename from hydra/config/default_robot/dsg_frontend_config.yaml
rename to config/default_robot/dsg_frontend_config.yaml
diff --git a/hydra/config/default_robot/dsg_gnn_lcd_config.yaml b/config/default_robot/dsg_gnn_lcd_config.yaml
similarity index 100%
rename from hydra/config/default_robot/dsg_gnn_lcd_config.yaml
rename to config/default_robot/dsg_gnn_lcd_config.yaml
diff --git a/hydra/config/default_robot/dsg_lcd_config.yaml b/config/default_robot/dsg_lcd_config.yaml
similarity index 100%
rename from hydra/config/default_robot/dsg_lcd_config.yaml
rename to config/default_robot/dsg_lcd_config.yaml
diff --git a/hydra/config/extrinsics/mp3d.yaml b/config/extrinsics/mp3d.yaml
similarity index 100%
rename from hydra/config/extrinsics/mp3d.yaml
rename to config/extrinsics/mp3d.yaml
diff --git a/hydra/config/extrinsics/sidpac.yaml b/config/extrinsics/sidpac.yaml
similarity index 100%
rename from hydra/config/extrinsics/sidpac.yaml
rename to config/extrinsics/sidpac.yaml
diff --git a/hydra/config/extrinsics/sparkal1.yaml b/config/extrinsics/sparkal1.yaml
similarity index 100%
rename from hydra/config/extrinsics/sparkal1.yaml
rename to config/extrinsics/sparkal1.yaml
diff --git a/hydra/config/extrinsics/sparkal2.yaml b/config/extrinsics/sparkal2.yaml
similarity index 100%
rename from hydra/config/extrinsics/sparkal2.yaml
rename to config/extrinsics/sparkal2.yaml
diff --git a/hydra/config/extrinsics/uhumans2.yaml b/config/extrinsics/uhumans2.yaml
similarity index 100%
rename from hydra/config/extrinsics/uhumans2.yaml
rename to config/extrinsics/uhumans2.yaml
diff --git a/hydra/config/habitat/dsg_backend_config.yaml b/config/habitat/dsg_backend_config.yaml
similarity index 100%
rename from hydra/config/habitat/dsg_backend_config.yaml
rename to config/habitat/dsg_backend_config.yaml
diff --git a/hydra/config/habitat/dsg_frontend_config.yaml b/config/habitat/dsg_frontend_config.yaml
similarity index 100%
rename from hydra/config/habitat/dsg_frontend_config.yaml
rename to config/habitat/dsg_frontend_config.yaml
diff --git a/hydra/config/habitat/dsg_lcd_config.yaml b/config/habitat/dsg_lcd_config.yaml
similarity index 100%
rename from hydra/config/habitat/dsg_lcd_config.yaml
rename to config/habitat/dsg_lcd_config.yaml
diff --git a/hydra/config/habitat/mp3d_typology.yaml b/config/habitat/mp3d_typology.yaml
similarity index 100%
rename from hydra/config/habitat/mp3d_typology.yaml
rename to config/habitat/mp3d_typology.yaml
diff --git a/hydra/config/habitat/reconstruction_config.yaml b/config/habitat/reconstruction_config.yaml
similarity index 100%
rename from hydra/config/habitat/reconstruction_config.yaml
rename to config/habitat/reconstruction_config.yaml
diff --git a/hydra/config/sidpac/dsg_backend_config.yaml b/config/sidpac/dsg_backend_config.yaml
similarity index 100%
rename from hydra/config/sidpac/dsg_backend_config.yaml
rename to config/sidpac/dsg_backend_config.yaml
diff --git a/hydra/config/sidpac/dsg_frontend_config.yaml b/config/sidpac/dsg_frontend_config.yaml
similarity index 100%
rename from hydra/config/sidpac/dsg_frontend_config.yaml
rename to config/sidpac/dsg_frontend_config.yaml
diff --git a/hydra/config/sidpac/dsg_gnn_lcd_config.yaml b/config/sidpac/dsg_gnn_lcd_config.yaml
similarity index 100%
rename from hydra/config/sidpac/dsg_gnn_lcd_config.yaml
rename to config/sidpac/dsg_gnn_lcd_config.yaml
diff --git a/hydra/config/sidpac/dsg_lcd_config.yaml b/config/sidpac/dsg_lcd_config.yaml
similarity index 100%
rename from hydra/config/sidpac/dsg_lcd_config.yaml
rename to config/sidpac/dsg_lcd_config.yaml
diff --git a/hydra/config/sidpac/reconstruction_config.yaml b/config/sidpac/reconstruction_config.yaml
similarity index 100%
rename from hydra/config/sidpac/reconstruction_config.yaml
rename to config/sidpac/reconstruction_config.yaml
diff --git a/hydra/config/sidpac/sidpac_typology.yaml b/config/sidpac/sidpac_typology.yaml
similarity index 100%
rename from hydra/config/sidpac/sidpac_typology.yaml
rename to config/sidpac/sidpac_typology.yaml
diff --git a/hydra/config/simmons_a1/dsg_backend_config.yaml b/config/simmons_a1/dsg_backend_config.yaml
similarity index 100%
rename from hydra/config/simmons_a1/dsg_backend_config.yaml
rename to config/simmons_a1/dsg_backend_config.yaml
diff --git a/hydra/config/simmons_a1/dsg_frontend_config.yaml b/config/simmons_a1/dsg_frontend_config.yaml
similarity index 100%
rename from hydra/config/simmons_a1/dsg_frontend_config.yaml
rename to config/simmons_a1/dsg_frontend_config.yaml
diff --git a/hydra/config/simmons_a1/dsg_gnn_lcd_config.yaml b/config/simmons_a1/dsg_gnn_lcd_config.yaml
similarity index 100%
rename from hydra/config/simmons_a1/dsg_gnn_lcd_config.yaml
rename to config/simmons_a1/dsg_gnn_lcd_config.yaml
diff --git a/hydra/config/simmons_a1/dsg_lcd_config.yaml b/config/simmons_a1/dsg_lcd_config.yaml
similarity index 100%
rename from hydra/config/simmons_a1/dsg_lcd_config.yaml
rename to config/simmons_a1/dsg_lcd_config.yaml
diff --git a/hydra/config/simmons_a1/reconstruction_config.yaml b/config/simmons_a1/reconstruction_config.yaml
similarity index 100%
rename from hydra/config/simmons_a1/reconstruction_config.yaml
rename to config/simmons_a1/reconstruction_config.yaml
diff --git a/hydra/config/simmons_jackal/dsg_backend_config.yaml b/config/simmons_jackal/dsg_backend_config.yaml
similarity index 100%
rename from hydra/config/simmons_jackal/dsg_backend_config.yaml
rename to config/simmons_jackal/dsg_backend_config.yaml
diff --git a/hydra/config/simmons_jackal/dsg_frontend_config.yaml b/config/simmons_jackal/dsg_frontend_config.yaml
similarity index 100%
rename from hydra/config/simmons_jackal/dsg_frontend_config.yaml
rename to config/simmons_jackal/dsg_frontend_config.yaml
diff --git a/hydra/config/simmons_jackal/dsg_gnn_lcd_config.yaml b/config/simmons_jackal/dsg_gnn_lcd_config.yaml
similarity index 100%
rename from hydra/config/simmons_jackal/dsg_gnn_lcd_config.yaml
rename to config/simmons_jackal/dsg_gnn_lcd_config.yaml
diff --git a/hydra/config/simmons_jackal/dsg_lcd_config.yaml b/config/simmons_jackal/dsg_lcd_config.yaml
similarity index 100%
rename from hydra/config/simmons_jackal/dsg_lcd_config.yaml
rename to config/simmons_jackal/dsg_lcd_config.yaml
diff --git a/hydra/config/simmons_jackal/reconstruction_config.yaml b/config/simmons_jackal/reconstruction_config.yaml
similarity index 100%
rename from hydra/config/simmons_jackal/reconstruction_config.yaml
rename to config/simmons_jackal/reconstruction_config.yaml
diff --git a/hydra/config/uhumans2/apartment_lcd_embeddings.yaml b/config/uhumans2/apartment_lcd_embeddings.yaml
similarity index 100%
rename from hydra/config/uhumans2/apartment_lcd_embeddings.yaml
rename to config/uhumans2/apartment_lcd_embeddings.yaml
diff --git a/hydra/config/uhumans2/dsg_backend_config.yaml b/config/uhumans2/dsg_backend_config.yaml
similarity index 100%
rename from hydra/config/uhumans2/dsg_backend_config.yaml
rename to config/uhumans2/dsg_backend_config.yaml
diff --git a/hydra/config/uhumans2/dsg_frontend_config.yaml b/config/uhumans2/dsg_frontend_config.yaml
similarity index 100%
rename from hydra/config/uhumans2/dsg_frontend_config.yaml
rename to config/uhumans2/dsg_frontend_config.yaml
diff --git a/hydra/config/uhumans2/dsg_gnn_lcd_config.yaml b/config/uhumans2/dsg_gnn_lcd_config.yaml
similarity index 100%
rename from hydra/config/uhumans2/dsg_gnn_lcd_config.yaml
rename to config/uhumans2/dsg_gnn_lcd_config.yaml
diff --git a/hydra/config/uhumans2/dsg_lcd_config.yaml b/config/uhumans2/dsg_lcd_config.yaml
similarity index 100%
rename from hydra/config/uhumans2/dsg_lcd_config.yaml
rename to config/uhumans2/dsg_lcd_config.yaml
diff --git a/hydra/config/uhumans2/office_lcd_embeddings.yaml b/config/uhumans2/office_lcd_embeddings.yaml
similarity index 100%
rename from hydra/config/uhumans2/office_lcd_embeddings.yaml
rename to config/uhumans2/office_lcd_embeddings.yaml
diff --git a/hydra/config/uhumans2/reconstruction_config.yaml b/config/uhumans2/reconstruction_config.yaml
similarity index 100%
rename from hydra/config/uhumans2/reconstruction_config.yaml
rename to config/uhumans2/reconstruction_config.yaml
diff --git a/hydra/config/uhumans2/subway_lcd_embeddings.yaml b/config/uhumans2/subway_lcd_embeddings.yaml
similarity index 100%
rename from hydra/config/uhumans2/subway_lcd_embeddings.yaml
rename to config/uhumans2/subway_lcd_embeddings.yaml
diff --git a/hydra/config/uhumans2/uhumans2_apartment_typology.yaml b/config/uhumans2/uhumans2_apartment_typology.yaml
similarity index 100%
rename from hydra/config/uhumans2/uhumans2_apartment_typology.yaml
rename to config/uhumans2/uhumans2_apartment_typology.yaml
diff --git a/hydra/config/uhumans2/uhumans2_office_typology.yaml b/config/uhumans2/uhumans2_office_typology.yaml
similarity index 100%
rename from hydra/config/uhumans2/uhumans2_office_typology.yaml
rename to config/uhumans2/uhumans2_office_typology.yaml
diff --git a/hydra/config/uhumans2/uhumans2_subway_typology.yaml b/config/uhumans2/uhumans2_subway_typology.yaml
similarity index 100%
rename from hydra/config/uhumans2/uhumans2_subway_typology.yaml
rename to config/uhumans2/uhumans2_subway_typology.yaml
diff --git a/hydra/.gitignore b/hydra/.gitignore
deleted file mode 100644
index 3a4c6352..00000000
--- a/hydra/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-*.swp
-*.idea
-*.ccls*
-*.vscode/
-*.ipynb_checkpoints/
-*.ipynb
diff --git a/hydra/README.md b/hydra/README.md
deleted file mode 100644
index 8aff64b4..00000000
--- a/hydra/README.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# Kimera DSG-Builder
-
-## Running online
-
-Steps to running with ground truth for the uhumans2 office dataset:
-
- 1. Grab the uhumans2 dataset (if you haven't already). You can probably just use the office scene without any humans (`uHumans2_office_s1_00h.bag`)
-
- 2. Start up the DSG builder
-
- roslaunch hydra_dsg_builder uhumans2_incremental_dsg.launch start_visualizer:=true
-
- 3. Start the bag:
-
- cd /path/to/uhumans2/office/scene
- rosbag play uHumans2_office_s1_00h.bag --clock --pause -r 0.5
-
-You way want to try the following arguments for the `uhumans2_incremental_dsg` launch file:
-
- - `use_gt_frame:=false` switches the code to listen for the TF from Kimera-VIO
- - `min_glog_level:=0` will enable helpful development output.
- - `verbosity:=3` will enable a lot more development output
- - `debug:=true` will run the dsg builder in gdb (hopefully not necessary)
-
-You can find parameters for the front-end [here](config/dsg_frontend_config.yaml)
-and for the back-end [here](config/dsg_backend_config.yaml)
-
-Important parameters:
-
- - `pgmo/*`: all pgmo settings for the `MeshFrontend` and `KimeraPgmoInterface` (frontend and backend configs respectively)
- - `dsg/add_places_to_deformation_graph`: controls place-based factors
- - `dsg/optimize_on_lc`: allows disabling optimization
diff --git a/hydra/hydra_build_config.h.in b/hydra_build_config.h.in
similarity index 100%
rename from hydra/hydra_build_config.h.in
rename to hydra_build_config.h.in
diff --git a/hydra_msgs/CMakeLists.txt b/hydra_msgs/CMakeLists.txt
deleted file mode 100644
index 5117ef53..00000000
--- a/hydra_msgs/CMakeLists.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-cmake_minimum_required(VERSION 3.1)
-project(hydra_msgs)
-
-find_package(catkin REQUIRED COMPONENTS std_msgs message_generation voxblox_msgs)
-
-add_message_files(
- FILES
- ActiveLayer.msg
- ActiveMesh.msg
- DsgUpdate.msg
-)
-
-add_service_files(FILES GetDsg.srv QueryFreespace.srv)
-
-generate_messages(DEPENDENCIES std_msgs voxblox_msgs)
-
-catkin_package(
- CATKIN_DEPENDS
- std_msgs
- voxblox_msgs
- message_runtime
- DEPENDS
- INCLUDE_DIRS
- LIBRARIES
-)
diff --git a/hydra_msgs/msg/ActiveLayer.msg b/hydra_msgs/msg/ActiveLayer.msg
deleted file mode 100644
index 905ad7a5..00000000
--- a/hydra_msgs/msg/ActiveLayer.msg
+++ /dev/null
@@ -1,4 +0,0 @@
-Header header
-string layer_contents # serialized nodes that are active
-int64[] deleted_nodes # nodes that were previously active and removed (rather than archived)
-int64[] deleted_edges # edges that were removed
diff --git a/hydra_msgs/msg/ActiveMesh.msg b/hydra_msgs/msg/ActiveMesh.msg
deleted file mode 100644
index 6c87d366..00000000
--- a/hydra_msgs/msg/ActiveMesh.msg
+++ /dev/null
@@ -1,3 +0,0 @@
-Header header
-voxblox_msgs/Mesh mesh
-voxblox_msgs/Mesh archived_blocks
diff --git a/hydra_msgs/msg/DsgUpdate.msg b/hydra_msgs/msg/DsgUpdate.msg
deleted file mode 100644
index 599ccad1..00000000
--- a/hydra_msgs/msg/DsgUpdate.msg
+++ /dev/null
@@ -1,6 +0,0 @@
-Header header
-uint8[] layer_contents # serialized nodes that are active
-uint64[] deleted_nodes # node ids that were deleted
-uint64[] deleted_edges # node ids for edges that were deleted
-bool full_update # whether or not the message contains the entire scene graph
-int64 sequence_number # update index
diff --git a/hydra_msgs/package.xml b/hydra_msgs/package.xml
deleted file mode 100644
index 81970cbd..00000000
--- a/hydra_msgs/package.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
- hydra_msgs
- 0.0.1
- Messages used for hydra
-
- Nathan Hughes
- Nathan Hughes
-
- BSD
-
- catkin
- message_generation
- message_runtime
- std_msgs
- voxblox_msgs
-
-
-
-
-
diff --git a/hydra_msgs/srv/GetDsg.srv b/hydra_msgs/srv/GetDsg.srv
deleted file mode 100644
index 46abc993..00000000
--- a/hydra_msgs/srv/GetDsg.srv
+++ /dev/null
@@ -1,2 +0,0 @@
----
-hydra_msgs/DsgUpdate graph
diff --git a/hydra_msgs/srv/QueryFreespace.srv b/hydra_msgs/srv/QueryFreespace.srv
deleted file mode 100644
index 076f79e4..00000000
--- a/hydra_msgs/srv/QueryFreespace.srv
+++ /dev/null
@@ -1,6 +0,0 @@
-float64[] x
-float64[] y
-float64[] z
-float64 freespace_distance_m
----
-int8[] in_freespace
diff --git a/hydra_ros/.gitignore b/hydra_ros/.gitignore
deleted file mode 100644
index 3a4c6352..00000000
--- a/hydra_ros/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-*.swp
-*.idea
-*.ccls*
-*.vscode/
-*.ipynb_checkpoints/
-*.ipynb
diff --git a/hydra_ros/CMakeLists.txt b/hydra_ros/CMakeLists.txt
deleted file mode 100644
index 39502f8f..00000000
--- a/hydra_ros/CMakeLists.txt
+++ /dev/null
@@ -1,127 +0,0 @@
-cmake_minimum_required(VERSION 3.1)
-project(hydra_ros)
-
-add_compile_options(-Wall -Wextra)
-set(CMAKE_CXX_STANDARD 17)
-set(CMAKE_CXX_STANDARD_REQUIRED ON)
-set(CMAKE_CXX_EXTENSIONS OFF)
-
-find_package(Boost REQUIRED COMPONENTS timer)
-# find_package(Boost REQUIRED COMPONENTS filesystem)
-find_package(spark_dsg REQUIRED)
-find_package(GTSAM REQUIRED)
-find_package(Eigen3 REQUIRED)
-find_package(yaml-cpp REQUIRED)
-# TODO(nathan) find hydra independently
-find_package(
- catkin REQUIRED
- COMPONENTS roscpp
- dynamic_reconfigure
- std_msgs
- geometry_msgs
- visualization_msgs
- hydra_msgs
- pcl_ros
- tf2_eigen
- tf2_ros
- kimera_pgmo
- voxblox_ros
- pose_graph_tools
- kimera_semantics_ros
- hydra
-)
-
-generate_dynamic_reconfigure_options(
- cfg/Colormap.cfg
- cfg/DynamicLayerVisualizer.cfg
- cfg/GvdVisualizer.cfg
- cfg/LayerVisualizer.cfg
- cfg/Visualizer.cfg
-)
-
-catkin_package(
- CATKIN_DEPENDS
- roscpp
- dynamic_reconfigure
- std_msgs
- geometry_msgs
- visualization_msgs
- hydra_msgs
- pcl_ros
- tf2_eigen
- tf2_ros
- kimera_pgmo
- voxblox_ros
- pose_graph_tools
- kimera_semantics_ros
- DEPENDS spark_dsg hydra
- INCLUDE_DIRS include
- LIBRARIES ${PROJECT_NAME}
-)
-
-add_library(
- ${PROJECT_NAME}
- src/config/ros_parser.cpp
- src/pipeline/hydra_ros_pipeline.cpp
- src/pipeline/ros_backend.cpp
- src/pipeline/ros_frontend.cpp
- src/pipeline/ros_lcd_registration.cpp
- src/pipeline/ros_reconstruction.cpp
- src/utils/dsg_streaming_interface.cpp
- src/utils/mask_nodelet.cpp
- src/utils/node_utilities.cpp
- src/visualizer/colormap_utilities.cpp
- src/visualizer/dsg_mesh_plugins.cpp
- src/visualizer/dynamic_scene_graph_visualizer.cpp
- src/visualizer/gvd_visualization_utilities.cpp
- src/visualizer/topology_server_visualizer.cpp
- src/visualizer/visualizer_plugins.cpp
- src/visualizer/visualizer_utilities.cpp
-)
-target_include_directories(${PROJECT_NAME} PUBLIC include ${catkin_INCLUDE_DIRS})
-target_link_libraries(
- ${PROJECT_NAME}
- ${catkin_LIBRARIES}
- spark_dsg::spark_dsg
- gtsam
-)
-add_dependencies(
- ${PROJECT_NAME} ${catkin_EXPORTED_TARGETS} ${${PROJECT_NAME}_EXPORTED_TARGETS}
-)
-
-add_executable(dsg_optimizer_node src/nodes/dsg_optimizer_node.cpp)
-target_link_libraries(dsg_optimizer_node ${PROJECT_NAME})
-
-add_executable(gvd_validator_node src/nodes/gvd_validator_node.cpp)
-target_link_libraries(gvd_validator_node PUBLIC ${PROJECT_NAME} yaml-cpp)
-
-add_executable(hydra_ros_node src/nodes/hydra_node.cpp)
-target_link_libraries(hydra_ros_node PUBLIC ${PROJECT_NAME})
-
-add_executable(hydra_topology_node src/nodes/hydra_topology_node.cpp)
-target_link_libraries(hydra_topology_node PUBLIC ${PROJECT_NAME} Boost::boost)
-
-add_executable(hydra_visualizer_node src/nodes/hydra_visualizer_node.cpp)
-target_link_libraries(hydra_visualizer_node PUBLIC ${PROJECT_NAME})
-
-add_executable(rotate_tf_node src/nodes/rotate_tf_node.cpp)
-target_link_libraries(rotate_tf_node PUBLIC ${PROJECT_NAME})
-
-add_executable(scene_graph_logger_node src/nodes/scene_graph_logger_node.cpp)
-target_link_libraries(scene_graph_logger_node PUBLIC ${PROJECT_NAME})
-
-if(CATKIN_ENABLE_TESTING)
- add_subdirectory(tests)
-endif()
-
-# TODO(nathan) handle install
-install(
- TARGETS ${PROJECT_NAME} hydra_ros_node
- ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
- LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
- RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}
-)
-
-install(DIRECTORY include/${PROJECT_NAME}/
- DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
-)
diff --git a/hydra_ros/README.md b/hydra_ros/README.md
deleted file mode 100644
index 83f81c93..00000000
--- a/hydra_ros/README.md
+++ /dev/null
@@ -1,10 +0,0 @@
-## Hydra-ROS
-
-Contains ROS code specific to Hydra.
-
-To build and run tests (assuming you've built the package normally):
-
-```
-catkin build hydra_utils --catkin-make-args tests
-rostest hydra_utils hydra_utils.test
-```
diff --git a/hydra_ros/bin/csv_to_tf b/hydra_ros/bin/csv_to_tf
deleted file mode 100755
index 22d9a84e..00000000
--- a/hydra_ros/bin/csv_to_tf
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/env python
-"""Node that broadcasts a CSV as a tf."""
-import rospy
-import sys
-import tf2_ros
-import geometry_msgs.msg
-
-
-def main():
- rospy.init_node("csv_to_tf")
- br = tf2_ros.TransformBroadcaster()
-
- trajectory_file = rospy.get_param("~trajectory_file", "")
- if trajectory_file == "":
- rospy.logfatal("file required!")
- sys.exit(1)
-
- parent_frame = rospy.get_param("~parent_frame", "world")
- child_frame = rospy.get_param("~child_frame", "left_cam_pgo")
-
- delta_t = rospy.Duration(-0.05)
- have_first_line = False
-
- r = rospy.Rate(50)
-
- with open(trajectory_file, "r") as fin:
- for line in fin:
- if not have_first_line:
- have_first_line = True
- continue
-
- values = [x.strip() for x in line.split(",")]
- time_ns = int(values[0])
- pose = [float(x) for x in values[1:]]
-
- t = geometry_msgs.msg.TransformStamped()
- t.header.stamp = rospy.Time(0, time_ns)
- t.header.frame_id = parent_frame
- t.child_frame_id = child_frame
- t.transform.translation.x = pose[0]
- t.transform.translation.y = pose[1]
- t.transform.translation.z = pose[2]
- t.transform.rotation.w = pose[3]
- t.transform.rotation.x = pose[4]
- t.transform.rotation.y = pose[5]
- t.transform.rotation.z = pose[6]
-
- while not rospy.is_shutdown():
- if rospy.Time.now() - t.header.stamp > delta_t:
- break
- r.sleep()
-
- rospy.logdebug("sending " + str(t.header.stamp.to_sec()))
- br.sendTransform(t)
-
-
-if __name__ == "__main__":
- main()
diff --git a/hydra_ros/bin/gnn_node b/hydra_ros/bin/gnn_node
deleted file mode 100755
index a8a39272..00000000
--- a/hydra_ros/bin/gnn_node
+++ /dev/null
@@ -1,535 +0,0 @@
-#!/usr/bin/env python3
-"""Run inference on received scene graphs."""
-import spark_dsg as dsg
-import pandas as pd
-import numpy as np
-import torch_geometric
-import gensim.models
-import pathlib
-import logging
-import pickle
-import torch
-import click
-import heapq
-import yaml
-
-
-DEFAULT_LAYERS = (dsg.DsgLayers.OBJECTS, dsg.DsgLayers.ROOMS, dsg.DsgLayers.BUILDINGS)
-
-
-def _is_on(G, n1, n2, threshold_on=1.0):
- """
- Check whether n1 is "on" n2 or n2 is "on" n1
-
- Requires that the n1 center is inside n2 on xy plane, and n1 is above
- n2 on z-axis within a threshold (or vice-versa).
- """
- pos1 = G.get_position(n1.id.value)
- pos2 = G.get_position(n2.id.value)
- size1 = _get_size(n1)
- size2 = _get_size(n2)
-
- xy_dist = np.abs(pos1[0:2] - pos2[0:2])
- z_dist = np.abs(pos1[2] - pos2[2])
- n1_above_n2 = pos1[2] > pos2[2]
- new_thresh = threshold_on * (size1[2] + size2[2]) / 2
-
- if all(xy_dist <= size2[0:2] / 2) and n1_above_n2 and z_dist <= new_thresh:
- return True
- elif all(xy_dist <= size1[0:2] / 2) and not n1_above_n2 and z_dist <= new_thresh:
- return True
- else:
- return False
-
-
-def _is_above(G, n1, n2, threshold_near=2.0, threshold_on=1.0):
- """
- Check whether n1 is "above" n2 or n2 is "above" n1
-
- Requires that the n1 center and n2 are nearby on the xy plane, and n1 is above
- n2 on z-axis by an amount greater than a provided threshold.
- """
- pos1 = G.get_position(n1.id.value)
- pos2 = G.get_position(n2.id.value)
- size1 = _get_size(n1)
- size2 = _get_size(n2)
- near_thresh = (size1[0:2] + size2[0:2]) / 2.0 * threshold_near
-
- xy_dist = np.abs(pos1[0:2] - pos2[0:2])
- z_dist = np.abs(pos1[2] - pos2[2])
- n1_above_n2 = pos1[2] > pos2[2]
- dist_thresh = threshold_on * (size1[2] + size2[2]) / 2
-
- if all(xy_dist <= near_thresh):
- if n1_above_n2 and z_dist > dist_thresh:
- return True
- if not n1_above_n2 and z_dist > dist_thresh:
- return True
-
- return False
-
-
-def _is_under(G, n1, n2):
- """
- Check whether n1 is "under" n2 or n2 is "under" n1
-
- Requires that either n1 or n2 is inside the other node on the xy place and
- that the positions on the z-axis are distinct.
- """
- pos1 = G.get_position(n1.id.value)
- pos2 = G.get_position(n2.id.value)
- size1 = _get_size(n1)
- size2 = _get_size(n2)
-
- xy_dist = np.abs(pos1[0:2] - pos2[0:2])
-
- if all(xy_dist <= size1[0:2] / 2) or all(xy_dist <= size2[0:2] / 2):
- if pos1[2] < pos2[2]:
- return True
- if pos2[2] < pos1[2]:
- return True
-
- return False
-
-
-def _is_near(G, n1, n2, threshold_near=2.0, max_near=2.0):
- """
- Check whether n1 is "near" n2 or n2 is "near" n1
-
- Requires that either n1 or n2 is inside the other node on the xy place and
- that the positions on the z-axis are distinct.
- """
- pos1 = G.get_position(n1.id.value)
- pos2 = G.get_position(n2.id.value)
- size1 = _get_size(n1)
- size2 = _get_size(n2)
-
- avg_size = (size1 + size2) / 2.0
- near_thresh = avg_size * threshold_near
-
- dist = np.abs(pos1 - pos2)
-
- # [LocatedNear]
- if all(dist <= near_thresh) and all(dist - avg_size <= max_near * np.ones(3)):
- return True
-
- return False
-
-
-def _load_word2vec(model_file):
- return gensim.models.KeyedVectors.load_word2vec_format(model_file, binary=True)
-
-
-def _get_embedding(model, label, dim=300):
- vec = np.zeros(dim)
- try:
- vec = np.mean(
- [model[s] for s in label.split("_") if s != "of"],
- axis=0,
- )
- except KeyError:
- print(f"{label} cannot be found in pretrained word2vec")
-
- return torch.from_numpy(vec.astype(np.float32))
-
-
-def _get_room_labels(room_file):
- room_df = pd.read_csv(
- room_file, usecols=range(2), names=["char", "room_name"], header=None
- )
- return sorted(list(set(room_df["room_name"].to_list())))
-
-
-def _get_size(node):
- return node.attributes.bounding_box.max - node.attributes.bounding_box.min
-
-
-def _dist(G, n1, n2):
- return np.linalg.norm(G.get_position(n1) - G.get_position(n2))
-
-
-def _get_node_masks_and_features(
- G, embeddings, layers=DEFAULT_LAYERS, embedding_size=300
-):
- num_infer_nodes = sum([G.get_layer(x).num_nodes() for x in layers])
- masks = {x: torch.zeros(num_infer_nodes, dtype=torch.bool) for x in layers}
-
- features = []
- id_map = {}
- ids = []
- for node in G.nodes:
- if node.layer not in layers:
- continue
-
- # len is a proxy for index
- masks[node.layer][len(features)] = True
- id_map[node.id.value] = len(features)
- ids.append(node.id.value)
-
- label = node.attributes.semantic_label
- if node.id.category == "O":
- embedding = embeddings.get(label, np.zeros(embedding_size))
- else:
- embedding = np.zeros(embedding_size)
- pos = node.attributes.position
- size = _get_size(node)
- features.append(np.hstack((pos, size, embedding)))
-
- id_tensor = torch.tensor(np.array([ids]).T)
- return (
- masks,
- id_map,
- id_tensor,
- torch.tensor(np.array(features), dtype=torch.float32),
- )
-
-
-def _get_layer_edge_index(masks, edge_idx, l1, l2=None, undirected=False):
- edge_mask = (
- masks[l1][edge_idx].all(0)
- if l2 is None
- else masks[l1][edge_idx[0, :]] & masks[l2][edge_idx[1, :]]
- )
-
- layer_idx = edge_idx[:, edge_mask]
- if not undirected:
- return layer_idx
-
- if edge_mask.any().item():
- return torch_geometric.utils.to_undirected(layer_idx)
- else:
- return layer_idx
-
-
-def _add_edge_attr(data):
- edge_index = torch.cat(
- (
- data.object_edge_index,
- data.room_edge_index,
- data.object_room_edge_index,
- data.room_building_edge_index,
- torch.flipud(data.room_building_edge_index),
- torch.flipud(data.object_room_edge_index),
- ),
- 1,
- )
- edge_attr_list = [
- torch.tensor([[1, 0, 0, 0, 0, 0]]),
- torch.tensor([[0, 1, 0, 0, 0, 0]]),
- torch.tensor([[0, 0, 1, 0, 0, 0]]),
- torch.tensor([[0, 0, 0, 1, 0, 0]]),
- torch.tensor([[0, 0, 0, 0, 1, 0]]),
- torch.tensor([[0, 0, 0, 0, 0, 1]]),
- ]
- edge_attr = torch.cat(
- [edge_attr_list[0]] * data.object_edge_index.shape[1]
- + [edge_attr_list[1]] * data.room_edge_index.shape[1]
- + [edge_attr_list[2]] * data.object_room_edge_index.shape[1]
- + [edge_attr_list[3]] * data.room_building_edge_index.shape[1]
- + [edge_attr_list[4]] * data.room_building_edge_index.shape[1]
- + [edge_attr_list[5]] * data.object_room_edge_index.shape[1],
- 0,
- ).type(torch.float32)
- data.edge_index = edge_index
- data.edge_attr = edge_attr
-
-
-def _get_room_parent(node, prefix="R"):
- for parent in node.parents():
- if dsg.NodeSymbol(parent).category == prefix:
- return parent
-
- return None
-
-
-def _add_object_connectivity(G, threshold_near=2.0, threshold_on=1.0, max_near=2.0):
- room_to_objects = dict()
- for node in G.get_layer(dsg.DsgLayers.OBJECTS).nodes:
- room_id = _get_room_parent(node)
- if room_id is None:
- print(f"skipping invalid object {node.id}")
- continue
-
- if room_id not in room_to_objects:
- room_to_objects[room_id] = [node]
- continue
-
- cmp_nodes = room_to_objects[room_id]
- for cmp_node in cmp_nodes:
- is_on = _is_on(G, node, cmp_node, threshold_on=threshold_on)
- is_above = _is_above(
- G,
- node,
- cmp_node,
- threshold_near=threshold_near,
- threshold_on=threshold_on,
- )
- is_under = _is_under(G, node, cmp_node)
- is_near = _is_near(
- G, node, cmp_node, threshold_near=threshold_near, max_near=max_near
- )
-
- if is_on or is_above or is_under or is_near:
- # TODO(nathan) consider getting direction
- assert G.insert_edge(node.id.value, cmp_node.id.value)
-
- room_to_objects[room_id].append(node)
-
-
-def _get_parent_of_closest_neighbor(G, x, max_hop=1):
- frontier = [(_dist(G, x.id.value, n), n) for n in x.siblings()]
- heapq.heapify(frontier)
-
- visited = set([x.id.value])
-
- while len(frontier) != 0:
- dist, curr_id = heapq.heappop(frontier)
- visited.add(curr_id)
- curr = G.get_node(curr_id)
-
- curr_parent = curr.get_parent()
- if curr_parent is not None:
- return curr_parent
-
- for s in curr.siblings():
- if s in visited:
- continue
-
- heapq.heappush(frontier, (_dist(G, x.id.value, s), s))
-
- return None
-
-
-def _show_info(node):
- print(f"node: {node.id}")
- print(f" - siblings: {[dsg.NodeSymbol(x) for x in node.siblings()]}")
- print(f" - parents: {[dsg.NodeSymbol(x) for x in node.parents()]}")
- print(f" - children: {[dsg.NodeSymbol(x) for x in node.children()]}")
-
-
-def _get_object_room(G, node):
- place_id = node.get_parent()
- if place_id is not None:
- place = G.get_node(place_id)
- place_parent = place.get_parent()
- if place_parent is not None:
- return place_parent
-
- closest_place_parent = _get_parent_of_closest_neighbor(G, place)
- if closest_place_parent is not None:
- return closest_place_parent
-
- node_pos = G.get_position(node.id.value)
- candidate_rooms = [
- x
- for x in G.get_layer(dsg.DsgLayers.ROOMS).nodes
- if x.attributes.bounding_box.is_inside(node_pos)
- ]
- if len(candidate_rooms) == 0:
- return None
-
- # TODO(nathan) we should probably pick the closest, but...
- return candidate_rooms[0].id.value
-
-
-def preprocess_dsg(G, threshold_near=2.0, threshold_on=1.0, max_near=2.0):
- dsg.add_bounding_boxes_to_layer(G, dsg.DsgLayers.ROOMS)
- dsg.add_bounding_boxes_to_layer(G, dsg.DsgLayers.BUILDINGS)
-
- objects = G.get_layer(dsg.DsgLayers.OBJECTS)
- invalid_objects = []
- for node in objects.nodes:
- room_id = _get_object_room(G, node)
- if room_id is None:
- num_parents = len(node.parents())
- print(f"failed to find parent for {node.id} ({num_parents} parents)")
- invalid_objects.append(node.id.value)
- continue
-
- assert G.insert_edge(node.id.value, room_id)
-
- for object_id in invalid_objects:
- G.remove_node(object_id)
-
- _add_object_connectivity(
- G, threshold_near=threshold_near, max_near=max_near, threshold_on=threshold_on
- )
-
-
-def convert_to_torch_data(G, embedding_dict, add_edge_attr=False):
- """Convert a graph to a pytorch tensor."""
- # this automatically maps all rooms and buildings to unknown (zero) embeddings
- masks, id_map, id_tensor, x = _get_node_masks_and_features(G, embedding_dict)
-
- # fill edge_index
- edge_index = []
- for edge in G.edges:
- if edge.source not in id_map or edge.target not in id_map:
- continue
-
- source_node = G.get_node(edge.source)
- target_node = G.get_node(edge.target)
- if source_node.layer > target_node.layer:
- edge_index.append([id_map[edge.target], id_map[edge.source]])
- else:
- edge_index.append([id_map[edge.source], id_map[edge.target]])
-
- edge_index = torch.tensor(edge_index, dtype=torch.long).T
-
- # TODO(nathan) make this more generic / check how sgl uses data fields
- R_edges = _get_layer_edge_index(
- masks, edge_index, dsg.DsgLayers.ROOMS, undirected=True
- )
- O_edges = _get_layer_edge_index(
- masks, edge_index, dsg.DsgLayers.OBJECTS, undirected=True
- )
-
- RB_edges = _get_layer_edge_index(
- masks, edge_index, dsg.DsgLayers.ROOMS, dsg.DsgLayers.BUILDINGS
- )
- OR_edges = _get_layer_edge_index(
- masks, edge_index, dsg.DsgLayers.OBJECTS, dsg.DsgLayers.ROOMS
- )
-
- torch_data = torch_geometric.data.Data(
- x=x,
- object_mask=masks[dsg.DsgLayers.OBJECTS],
- room_mask=masks[dsg.DsgLayers.ROOMS],
- building_mask=masks[dsg.DsgLayers.BUILDINGS],
- room_edge_index=R_edges,
- object_edge_index=O_edges,
- room_building_edge_index=RB_edges,
- object_room_edge_index=OR_edges,
- edge_index=torch.cat((RB_edges, OR_edges, R_edges, O_edges), dim=1),
- )
-
- room_ids = id_tensor[masks[dsg.DsgLayers.ROOMS]]
- room_ids = [dsg.NodeSymbol(x[0]) for x in room_ids.tolist()]
- room_idx_map = {x: idx for idx, x in enumerate(room_ids)}
-
- if add_edge_attr:
- _add_edge_attr(torch_data)
-
- return torch_data, room_idx_map
-
-
-class GnnModel:
- """Class to hold stuff regarding inference."""
-
- def __init__(self, model_file, word2vec_file, config_file, load_word2vec=True):
- """Load everything."""
- model_path = pathlib.Path(model_file).expanduser().absolute()
- with model_path.open("rb") as fin:
- self.model = pickle.load(fin)
-
- word2vec_path = pathlib.Path(word2vec_file).expanduser().absolute()
- if load_word2vec:
- word2vec = _load_word2vec(word2vec_path)
- else:
- word2vec = {}
-
- config_path = pathlib.Path(config_file).expanduser().absolute()
- with config_path.open("r") as fin:
- self.config = yaml.load(fin.read(), Loader=yaml.SafeLoader)
-
- self.object_labels = [x for _, x in self.config["object_labels"].items()]
- self.object_embeddings = {
- idx: _get_embedding(word2vec, label)
- for idx, label in enumerate(self.object_labels)
- }
-
- self.building_labels = sorted(self.config["building_labels"])
- self.room_labels = sorted(self.config["room_labels"])
-
- self.device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
- self.model.to(self.device)
-
- def infer(self, G, run_inference=True):
- preprocess_dsg(G)
- if run_inference:
- torch_graph, room_idx_map = convert_to_torch_data(
- G, self.object_embeddings, add_edge_attr=True
- )
-
- with torch.no_grad():
- pred = self.model(torch_graph.to(self.device))
- building_pred = pred[0].argmax(dim=1).cpu()
- room_pred = pred[1].argmax(dim=1).cpu()
- if len(building_pred) == 1:
- building_name = self.building_labels[building_pred[0]]
- print(f"building: {building_name}")
- pred_room_labels = [self.room_labels[x] for x in room_pred]
- pred_room_map = {
- room: pred_room_labels[idx] for room, idx in room_idx_map.items()
- }
- print(f"rooms: {pred_room_map}")
- return pred_room_map
-
- return None
-
-
-@click.group()
-def main():
- pass
-
-
-@main.command()
-@click.argument("network")
-@click.argument("word2vec-file")
-@click.argument("config")
-@click.option("--recv-url", "-r", default="tcp://127.0.0.1:8001")
-@click.option("--send-url", "-s", default="tcp://127.0.0.1:8002")
-@click.option("--num-threads", "-t", default=2)
-@click.option("--poll-time-ms", default=10)
-def run(network, word2vec_file, config, recv_url, send_url, num_threads, poll_time_ms):
- """Run everything."""
- logging.basicConfig(
- format="[%(asctime)s %(levelname)s] %(message)s", level=logging.DEBUG
- )
-
- model = GnnModel(network, word2vec_file, config)
-
- logging.info(f"setting up sender @ {send_url}")
- sender = dsg.DsgSender(send_url)
-
- logging.info(f"setting up receiver @ {recv_url}")
- receiver = dsg.DsgReceiver(recv_url)
-
- while True:
- if not receiver.recv(poll_time_ms):
- continue
-
- logging.info(f"curr nodes: {receiver.graph.num_nodes(False)}")
- pred_room_map = model.infer(receiver.graph)
-
- G = dsg.DynamicSceneGraph()
- for room_id, label in pred_room_map.items():
- attrs = dsg.RoomNodeAttributes()
- attrs.name = f"{room_id}: {label}"
- G.add_node(dsg.DsgLayers.ROOMS, room_id.value, attrs)
-
- sender.send(G)
-
-
-@main.command()
-@click.argument("network")
-@click.argument("word2vec-file")
-@click.argument("config")
-@click.argument("dsg_file")
-def test(network, word2vec_file, config, dsg_file):
- """Run everything."""
- logging.basicConfig(
- format="[%(asctime)s %(levelname)s] %(message)s", level=logging.DEBUG
- )
-
- model = GnnModel(network, word2vec_file, config)
-
- dsg_path = pathlib.Path(dsg_file).expanduser().absolute()
- logging.info(f"loading scene graph from {dsg_path}")
- G = dsg.DynamicSceneGraph.load(str(dsg_path))
-
- model.infer(G)
-
-
-if __name__ == "__main__":
- main()
diff --git a/hydra_ros/bin/odom_to_tf b/hydra_ros/bin/odom_to_tf
deleted file mode 100755
index 88149f18..00000000
--- a/hydra_ros/bin/odom_to_tf
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/bin/env python
-"""Broadcast a tf from odom."""
-import rospy
-import tf2_ros
-import nav_msgs.msg
-import geometry_msgs.msg
-
-
-def broadcast_tf(msg, arg_tuple):
- """Re-broadcast the msg pose as a tf."""
- broadcaster, parent_frame, child_frame = arg_tuple
- pose = geometry_msgs.msg.TransformStamped()
- pose.header.stamp = msg.header.stamp
- pose.header.frame_id = parent_frame
- pose.child_frame_id = child_frame
- pose.transform.translation.x = msg.pose.pose.position.x
- pose.transform.translation.y = msg.pose.pose.position.y
- pose.transform.translation.z = msg.pose.pose.position.z
- pose.transform.rotation.w = msg.pose.pose.orientation.w
- pose.transform.rotation.x = msg.pose.pose.orientation.x
- pose.transform.rotation.y = msg.pose.pose.orientation.y
- pose.transform.rotation.z = msg.pose.pose.orientation.z
-
- broadcaster.sendTransform(pose)
-
-
-def main():
- """Do stuff."""
- rospy.init_node("odom_to_tf")
-
- parent_frame = rospy.get_param("~parent_frame", "world")
- child_frame = rospy.get_param("~child_frame", "t265_odom")
- broadcaster = tf2_ros.TransformBroadcaster()
-
- rospy.Subscriber(
- "odom",
- nav_msgs.msg.Odometry,
- broadcast_tf,
- (broadcaster, parent_frame, child_frame),
- tcp_nodelay=True
- )
-
- rospy.spin()
-
-
-if __name__ == "__main__":
- main()
diff --git a/hydra_ros/cfg/Colormap.cfg b/hydra_ros/cfg/Colormap.cfg
deleted file mode 100755
index b089b60b..00000000
--- a/hydra_ros/cfg/Colormap.cfg
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/env python
-"""Generic HLS colormap dynamic config."""
-PACKAGE = "hydra_ros"
-
-import dynamic_reconfigure.parameter_generator_catkin as dr_gen # NOQA
-
-gen = dr_gen.ParameterGenerator()
-
-gen.add("min_hue", dr_gen.double_t, 0, "min color hue", 0.55, 0.0, 1.0)
-gen.add("max_hue", dr_gen.double_t, 0, "max color hue", 0.8, 0.0, 1.0)
-gen.add("min_saturation", dr_gen.double_t, 0, "min color saturation", 0.5, 0.0, 1.0)
-gen.add("max_saturation", dr_gen.double_t, 0, "max color saturation", 0.7, 0.0, 1.0)
-gen.add("min_luminance", dr_gen.double_t, 0, "min color luminance", 0.3, 0.0, 1.0)
-gen.add("max_luminance", dr_gen.double_t, 0, "max color luminance", 0.8, 0.0, 1.0)
-
-exit(gen.generate(PACKAGE, PACKAGE, "Colormap"))
diff --git a/hydra_ros/cfg/DynamicLayerVisualizer.cfg b/hydra_ros/cfg/DynamicLayerVisualizer.cfg
deleted file mode 100755
index ab1f7cd2..00000000
--- a/hydra_ros/cfg/DynamicLayerVisualizer.cfg
+++ /dev/null
@@ -1,115 +0,0 @@
-#!/usr/bin/env python
-"""Config for the visualization of dynamic layers in the scene graph."""
-PACKAGE = "hydra_ros"
-
-import dynamic_reconfigure.parameter_generator_catkin as dr_gen # NOQA
-
-gen = dr_gen.ParameterGenerator()
-
-gen.add(
- "z_offset_scale",
- dr_gen.double_t,
- 0,
- "number of steps of offset to apply",
- 0.0,
- -5.0,
- 10.0,
-)
-gen.add("visualize", dr_gen.bool_t, 0, "show layer", False)
-
-# Dynamic Layers
-
-gen.add("num_colors", dr_gen.int_t, 0, "number of unique colors to use", 20, 2, 255)
-gen.add("color_offset", dr_gen.int_t, 0, "offset into colors", 20, 2, 255)
-gen.add(
- "saturation",
- dr_gen.double_t,
- 0,
- "saturation for layer color",
- 0.8,
- 0.0,
- 1.0,
-)
-gen.add(
- "luminance",
- dr_gen.double_t,
- 0,
- "luminance for layer color",
- 0.8,
- 0.0,
- 1.0,
-)
-gen.add(
- "edge_sl_ratio",
- dr_gen.double_t,
- 0,
- "ratio of saturation and luminance to node marker color",
- 0.6,
- 0.0,
- 1.0,
-)
-gen.add(
- "node_scale",
- dr_gen.double_t,
- 0,
- "size of the node markers",
- 0.1,
- 0.01,
- 2.0,
-)
-gen.add(
- "node_alpha",
- dr_gen.double_t,
- 0,
- "alpha of the node markers",
- 1.0,
- 0.0,
- 1.0,
-)
-gen.add(
- "node_use_sphere",
- dr_gen.bool_t,
- 0,
- "use sphere markers (instead of cubes) for node centroids",
- False,
-)
-gen.add(
- "edge_scale",
- dr_gen.double_t,
- 0,
- "layer edge size",
- 0.03,
- 0.001,
- 1.0,
-)
-gen.add("edge_alpha", dr_gen.double_t, 0, "layer edge alpha", 1.0, 0.0, 1.0)
-gen.add(
- "label_height",
- dr_gen.double_t,
- 0,
- "height of text label above latest node in layer",
- 1.0,
- 0.0,
- 5.0,
-)
-gen.add(
- "label_scale",
- dr_gen.double_t,
- 0,
- "scale of text label above latest node in layer",
- 0.5,
- 0.05,
- 5.0,
-)
-gen.add(
- "interlayer_edge_insertion_skip",
- dr_gen.int_t,
- 0,
- "Number of edges to skip when drawing interlayer edges",
- 0,
- 0,
- 1000,
-)
-gen.add("visualize_interlayer_edges", dr_gen.bool_t, 0, "show interlayer edges", False)
-
-exit(gen.generate(PACKAGE, PACKAGE, "DynamicLayerVisualizer"))
diff --git a/hydra_ros/cfg/GvdVisualizer.cfg b/hydra_ros/cfg/GvdVisualizer.cfg
deleted file mode 100755
index 703b5dfc..00000000
--- a/hydra_ros/cfg/GvdVisualizer.cfg
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/usr/bin/env python
-"""Config for GVD visualizations."""
-PACKAGE = "hydra_ros"
-
-import dynamic_reconfigure.parameter_generator_catkin as dr_gen # NOQA
-
-gen = dr_gen.ParameterGenerator()
-mode_enum = gen.enum(
- [
- gen.const("DEFAULT", dr_gen.int_t, 0, "default color mode source (distance)"),
- gen.const(
- "DISTANCE", dr_gen.int_t, 1, "use voxel distance as color mode source"
- ),
- gen.const(
- "BASIS_POINTS",
- dr_gen.int_t,
- 2,
- "use number of basis points as color mode source",
- ),
- ],
- "Enum for GVD visualization mode",
-)
-
-gvd = gen.add_group("GVD")
-gvd.add("gvd_alpha", dr_gen.double_t, 0, "alpha of the GVD", 0.6, 0.0, 1.0)
-gvd.add("gvd_min_alpha", dr_gen.double_t, 0, "min alpha of the GVD", 0.6, 0.0, 1.0)
-gvd.add("gvd_min_distance", dr_gen.double_t, 0, "distance colormap min", 0.2, 0.0, 2.0)
-gvd.add("gvd_max_distance", dr_gen.double_t, 0, "distance colormap max", 5.0, 0.0, 5.0)
-gvd.add(
- "basis_threshold", dr_gen.int_t, 0, "basis threshold for GVD inclusion", 2, 1, 26
-)
-gvd.add("min_num_basis", dr_gen.int_t, 0, "basis colormap min", 1, 1, 26)
-gvd.add("max_num_basis", dr_gen.int_t, 0, "basis colormap max", 26, 1, 26)
-gvd.add(
- "gvd_mode", dr_gen.int_t, 0, "visualization mode", 0, 0, 2, edit_method=mode_enum
-)
-gvd.add("gvd_graph_scale", dr_gen.double_t, 0, "scale for wireframe", 0.005, 0.0, 1.0)
-
-esdf = gen.add_group("ESDF")
-esdf.add("esdf_alpha", dr_gen.double_t, 0, "alpha of the ESDF", 0.6, 0.0, 1.0)
-esdf.add("slice_height", dr_gen.double_t, 0, "height of ESDf slice", 0.5, -10.0, 10.0)
-esdf.add(
- "esdf_min_distance", dr_gen.double_t, 0, "distance colormap min", 0.2, 0.0, 2.0
-)
-esdf.add(
- "esdf_max_distance", dr_gen.double_t, 0, "distance colormap max", 5.0, 0.0, 5.0
-)
-
-exit(gen.generate(PACKAGE, "hydra_topology", "GvdVisualizer"))
diff --git a/hydra_ros/cfg/LayerVisualizer.cfg b/hydra_ros/cfg/LayerVisualizer.cfg
deleted file mode 100755
index edf19032..00000000
--- a/hydra_ros/cfg/LayerVisualizer.cfg
+++ /dev/null
@@ -1,132 +0,0 @@
-#!/usr/bin/env python
-"""Visualization config for static layers in the scene graph."""
-PACKAGE = "hydra_ros"
-
-import dynamic_reconfigure.parameter_generator_catkin as dr_gen # NOQA
-
-gen = dr_gen.ParameterGenerator()
-
-gen.add(
- "z_offset_scale",
- dr_gen.double_t,
- 0,
- "number of steps of offset to apply",
- 0.0,
- -5.0,
- 10.0,
-)
-gen.add("visualize", dr_gen.bool_t, 0, "show layer", False)
-
-# Nodes
-nodes = gen.add_group("nodes", type="tab")
-nodes.add(
- "marker_scale", dr_gen.double_t, 0, "size of the centroid marker", 0.1, 0.01, 2.0
-)
-nodes.add(
- "marker_alpha", dr_gen.double_t, 0, "alpha of the centroid marker", 1.0, 0.0, 1.0
-)
-nodes.add(
- "use_sphere_marker",
- dr_gen.bool_t,
- 0,
- "use sphere markers (instead of cubes)",
- False,
-)
-nodes.add("use_label", dr_gen.bool_t, 0, "add text label", False)
-nodes.add(
- "label_height", dr_gen.double_t, 0, "height of text label above node", 1.0, 0.0, 5.0
-)
-nodes.add(
- "label_scale", dr_gen.double_t, 0, "scale of text label above node", 0.5, 0.05, 5.0
-)
-nodes.add(
- "use_bounding_box",
- dr_gen.bool_t,
- 0,
- "display bounding box",
- False,
-)
-nodes.add(
- "collapse_bounding_box",
- dr_gen.bool_t,
- 0,
- "draw bounding box at ground level",
- False,
-)
-nodes.add(
- "bbox_wireframe_scale",
- dr_gen.double_t,
- 0,
- "scale of bounding box wireframe",
- 0.1,
- 0.001,
- 1.0,
-)
-nodes.add(
- "bbox_wireframe_edge_scale",
- dr_gen.double_t,
- 0,
- "scale of edges drawn to bbox corners",
- 0.01,
- 0.001,
- 1.0,
-)
-nodes.add(
- "bounding_box_alpha", dr_gen.double_t, 0, "alpha of bounding boxes", 0.5, 0.0, 1.0
-)
-
-# Edges
-edges = gen.add_group("edges", type="tab")
-edges.add("use_edge_source", dr_gen.bool_t, 0, "use edge source layer for config", True)
-
-edges.add(
- "interlayer_edge_scale",
- dr_gen.double_t,
- 0,
- "interlayer edge size",
- 0.03,
- 0.001,
- 1.0,
-)
-edges.add(
- "interlayer_edge_alpha", dr_gen.double_t, 0, "interlayer edge alpha", 1.0, 0.0, 1.0
-)
-edges.add(
- "interlayer_edge_use_color", dr_gen.bool_t, 0, "show interlayer edge in color", True
-)
-edges.add(
- "interlayer_edge_insertion_skip",
- dr_gen.int_t,
- 0,
- "Number of edges to skip when drawing interlayer edges",
- 0,
- 0,
- 1000,
-)
-
-edges.add(
- "intralayer_edge_scale",
- dr_gen.double_t,
- 0,
- "intralayer edge size",
- 0.03,
- 0.001,
- 1.0,
-)
-edges.add(
- "intralayer_edge_alpha", dr_gen.double_t, 0, "intralayer edge alpha", 1.0, 0.0, 1.0
-)
-edges.add(
- "intralayer_edge_use_color", dr_gen.bool_t, 0, "show intralayer edge in color", True
-)
-edges.add(
- "intralayer_edge_insertion_skip",
- dr_gen.int_t,
- 0,
- "Number of edges to skip when drawing intralayer edges",
- 0,
- 0,
- 1000,
-)
-
-exit(gen.generate(PACKAGE, PACKAGE, "LayerVisualizer"))
diff --git a/hydra_ros/cfg/Visualizer.cfg b/hydra_ros/cfg/Visualizer.cfg
deleted file mode 100755
index 8713fe3d..00000000
--- a/hydra_ros/cfg/Visualizer.cfg
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/usr/bin/env python
-"""Configuration options for the scene graph visualization."""
-PACKAGE = "hydra_ros"
-
-import dynamic_reconfigure.parameter_generator_catkin as dr_gen # NOQA
-
-gen = dr_gen.ParameterGenerator()
-
-gen.add(
- "layer_z_step",
- dr_gen.double_t,
- 0,
- "size of the distance between layers",
- 5.0,
- 0.0,
- 50.0,
-)
-gen.add(
- "mesh_edge_break_ratio",
- dr_gen.double_t,
- 0,
- "point at which to break the edge into many edges",
- 0.5,
- 0.0,
- 1.0,
-)
-gen.add(
- "mesh_layer_offset",
- dr_gen.double_t,
- 0,
- "height mesh layer exists at",
- 0.0,
- -5.0,
- 5.0,
-)
-gen.add(
- "draw_mesh_edges",
- dr_gen.bool_t,
- 0,
- "whether or not to draw mesh edges",
- False,
-)
-gen.add(
- "collapse_layers",
- dr_gen.bool_t,
- 0,
- "whether or not to show the layers independently",
- False,
-)
-gen.add(
- "color_places_by_distance",
- dr_gen.bool_t,
- 0,
- "color the places by distance to nearest obstacle",
- False,
-)
-gen.add(
- "color_nodes_by_active_flag",
- dr_gen.bool_t,
- 0,
- "color nodes by whether or not they are active",
- False,
-)
-
-
-gen.add(
- "places_colormap_min_distance", dr_gen.double_t, 0, "min distance", 0.0, 0.0, 100.0
-)
-gen.add(
- "places_colormap_max_distance", dr_gen.double_t, 0, "max distance", 10.0, 0.0, 100.0
-)
-
-exit(gen.generate(PACKAGE, PACKAGE, "Visualizer"))
diff --git a/hydra_ros/config/graph_visualization_config.yaml b/hydra_ros/config/graph_visualization_config.yaml
deleted file mode 100644
index 2d61202b..00000000
--- a/hydra_ros/config/graph_visualization_config.yaml
+++ /dev/null
@@ -1,45 +0,0 @@
----
-topology_marker_ns: topology_graph
-show_block_outlines: true
-use_gvd_block_outlines: false
-gvd_visualizer:
- visualization_type: 2 # 0 -> NONE, 1 -> ESDF_SLICE, 2 -> GVD
- color_nearest_vertices: false
- gvd_alpha: 0.6
- gvd_min_distance: 0.2
- gvd_max_distance: 3.0
- basis_threshold: 2
- min_num_basis: 1
- max_num_basis: 10
- gvd_mode: 0 # 0 -> DEFAULT, 1 -> DISTANCE, 2 -> BASIS_POINTs
- esdf_alpha: 0.6
- slice_height: 1.0
- esdf_min_distance: 0.2
- esdf_max_distance: 5.0
-graph_visualizer:
- z_offset_scale: 0.0
- visualize: true
- marker_scale: 0.2
- marker_alpha: 0.9
- use_sphere_marker: true
- use_label: true
- label_height: 0.7
- label_scale: 0.3
- use_bounding_box: false
- bounding_box_alpha: 0.5
- use_edge_source: false
- interlayer_edge_scale: 0.1
- interlayer_edge_alpha: 0.4
- interlayer_edge_use_color: true
- interlayer_edge_insertion_skip: 0
- intralayer_edge_scale: 0.02
- intralayer_edge_alpha: 0.4
- intralayer_edge_use_color: false
- intralayer_edge_insertion_skip: 0
-visualizer_colormap:
- min_hue: 0.0
- max_hue: 0.5
- min_saturation: 0.9
- max_saturation: 0.9
- min_luminance: 0.6
- max_luminance: 0.85
diff --git a/hydra_ros/config/gvd_validator/uh2.yaml b/hydra_ros/config/gvd_validator/uh2.yaml
deleted file mode 100644
index c7753545..00000000
--- a/hydra_ros/config/gvd_validator/uh2.yaml
+++ /dev/null
@@ -1,57 +0,0 @@
----
-color_topic: /tesse/left_cam/rgb/image_raw
-depth_topic: /tesse/depth_cam/mono/image_raw
-start: -1.0
-duration: 30.0
-intrinsics: [415.69219, 415.69219, 360.0, 240.0]
-# gvd integration and graph extraction
-max_distance_m: 10.0
-min_distance_m: 0.2
-min_diff_m: 0.0
-min_weight: 1.0e-6
-positive_distance_only: true
-min_basis_for_extraction: 2
-num_buckets: 20
-multi_queue: false
-extract_graph: true
-voronoi_config:
- mode: L1_THEN_ANGLE
- min_distance_m: 0.40
- parent_l1_separation: 12
- parent_cos_angle_separation: 0.0
-graph_extractor:
- min_extra_basis: 2
- min_vertex_basis: 4
- merge_new_nodes: true
- node_merge_distance_m: 0.3
- edge_splitting_merge_nodes: true
- max_edge_split_iterations: 5
- max_edge_deviation: 4
- add_freespace_edges: true
- freespace_active_neighborhood_hops: 1
- freespace_edge_num_neighbors: 3
- freespace_edge_min_clearance_m: 0.2
- add_component_connection_edges: true
- connected_component_window: 10
- connected_component_hops: 2
- component_nodes_to_check: 50
- component_nearest_neighbors: 1
- component_max_edge_length_m: 5.0
- component_min_clearance_m: 0.5
- remove_isolated_nodes: true
- use_color: true
-integrator_threads: 12
-voxel_carving_enabled: true
-use_const_weight: false
-default_truncation_distance: 0.3
-max_weight: 10000
-min_ray_length_m: 0.1
-max_ray_length_m: 10.0
-allow_clear: true
-use_weight_dropoff: true
-use_sparsity_compensation_factor: false
-integration_order_mode: mixed
-enable_anti_grazing: false
-start_voxel_subsampling_factor: 2
-max_consecutive_ray_collisions: 2
-clear_checks_every_n_frames: 1
diff --git a/hydra_ros/config/hydra_visualizer/agent_layer.yaml b/hydra_ros/config/hydra_visualizer/agent_layer.yaml
deleted file mode 100644
index e4dcdb8f..00000000
--- a/hydra_ros/config/hydra_visualizer/agent_layer.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
----
-visualize: true
-num_colors: 5
-saturation: 0.9
-luminance: 0.7
-edge_sl_ratio: 0.6
-node_scale: 0.2
-node_alpha: 0.9
-node_use_sphere: true
-edge_scale: 0.05
-edge_alpha: 0.9
-label_height: 0.9
-label_scale: 0.8
-color_offset: 3
-interlayer_edge_insertion_skip: 10
-visualize_interlayer_edges: false
-z_offset_scale: 0.0
diff --git a/hydra_ros/config/hydra_visualizer/buildings_layer.yaml b/hydra_ros/config/hydra_visualizer/buildings_layer.yaml
deleted file mode 100644
index 3c54a71e..00000000
--- a/hydra_ros/config/hydra_visualizer/buildings_layer.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
----
-# general
-z_offset_scale: 5.5
-visualize: true
-# nodes
-marker_scale: 1.0
-marker_alpha: 1.0
-use_sphere_marker: false
-use_label: true
-label_height: 1.5
-label_scale: 1.25
-use_bounding_box: false
-bounding_box_alpha: 0.5
-collapse_bounding_box: false
-# edges
-use_edge_source: false
-interlayer_edge_scale: 0.10
-interlayer_edge_alpha: 0.5
-interlayer_edge_use_color: false
-interlayer_edge_insertion_skip: 0
-intralayer_edge_scale: 0.05
-intralayer_edge_alpha: 1.0
-intralayer_edge_use_color: false
-intralayer_edge_insertion_skip: 0
diff --git a/hydra_ros/config/hydra_visualizer/objects_layer.yaml b/hydra_ros/config/hydra_visualizer/objects_layer.yaml
deleted file mode 100644
index 3599728b..00000000
--- a/hydra_ros/config/hydra_visualizer/objects_layer.yaml
+++ /dev/null
@@ -1,26 +0,0 @@
----
-# generic
-z_offset_scale: 2.0
-visualize: true
-# node
-marker_scale: 0.40
-marker_alpha: 0.6
-use_sphere_marker: false
-use_label: false
-label_height: 0.5
-label_scale: 0.45
-use_bounding_box: true
-bounding_box_alpha: 0.9
-bbox_wireframe_scale: 0.05
-bbox_wireframe_edge_scale: 0.05
-collapse_bounding_box: true
-# edge
-use_edge_source: true
-interlayer_edge_scale: 0.05
-interlayer_edge_alpha: 0.3
-interlayer_edge_use_color: true
-interlayer_edge_insertion_skip: 10
-intralayer_edge_scale: 0.03
-intralayer_edge_alpha: 0.6
-intralayer_edge_use_color: false
-intralayer_edge_insertion_skip: 0
diff --git a/hydra_ros/config/hydra_visualizer/places_layer.yaml b/hydra_ros/config/hydra_visualizer/places_layer.yaml
deleted file mode 100644
index 6e416941..00000000
--- a/hydra_ros/config/hydra_visualizer/places_layer.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
----
-# general
-z_offset_scale: 3.0
-visualize: true
-# nodes
-marker_scale: 0.2
-marker_alpha: 0.9
-use_sphere_marker: true
-use_label: false
-label_height: 1.0
-label_scale: 0.5
-use_bounding_box: false
-bounding_box_alpha: 0.5
-collapse_bounding_box: false
-# edges
-use_edge_source: false
-interlayer_edge_scale: 0.08
-interlayer_edge_alpha: 0.4
-interlayer_edge_use_color: true
-interlayer_edge_insertion_skip: 0
-intralayer_edge_scale: 0.01
-intralayer_edge_alpha: 0.5
-intralayer_edge_use_color: false
-intralayer_edge_insertion_skip: 0
diff --git a/hydra_ros/config/hydra_visualizer/rooms_layer.yaml b/hydra_ros/config/hydra_visualizer/rooms_layer.yaml
deleted file mode 100644
index 6142e3d0..00000000
--- a/hydra_ros/config/hydra_visualizer/rooms_layer.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
----
-# general
-z_offset_scale: 4.2
-visualize: true
-# nodes
-marker_scale: 0.6
-marker_alpha: 0.8
-use_sphere_marker: false
-use_label: true
-label_height: 1.25
-label_scale: 1.0
-use_bounding_box: false
-bounding_box_alpha: 0.5
-collapse_bounding_box: false
-# edges
-use_edge_source: true
-interlayer_edge_scale: 0.08
-interlayer_edge_alpha: 0.4
-interlayer_edge_use_color: true
-interlayer_edge_insertion_skip: 3
-intralayer_edge_scale: 0.1
-intralayer_edge_alpha: 0.2
-intralayer_edge_use_color: false
-intralayer_edge_insertion_skip: 0
diff --git a/hydra_ros/config/hydra_visualizer/visualizer.yaml b/hydra_ros/config/hydra_visualizer/visualizer.yaml
deleted file mode 100644
index d1c672c8..00000000
--- a/hydra_ros/config/hydra_visualizer/visualizer.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
----
-# general options
-layer_z_step: 5.5 # unit separation between layers
-# ratio of where the split from a single edge to the multiple edges to the mesh occurs.
-# 0 -> at the height of the mesh
-# 1 -> at the height of the object layer
-mesh_edge_break_ratio: 0.5
-# where to draw the mesh (0.0 is recommended)
-mesh_layer_offset: 0.0
-# whether or not to apply offsets to each of the layers
-collapse_layers: false
-# color places by their distance to the nearest obstalce
-color_places_by_distance: false
-# minimum distance to clip to for places colormap
-places_colormap_min_distance: 0.0
-# maximum distance to clip to for places colormap
-places_colormap_max_distance: 3.0
-
-places_colormap:
- min_hue: 0.0
- max_hue: 0.5
- min_saturation: 0.9
- max_saturation: 0.8
- min_luminance: 0.6
- max_luminance: 0.85
diff --git a/hydra_ros/config/object_visualizer/agent_layer.yaml b/hydra_ros/config/object_visualizer/agent_layer.yaml
deleted file mode 100644
index ffe94cb0..00000000
--- a/hydra_ros/config/object_visualizer/agent_layer.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
----
-visualize: false
-num_colors: 5
-saturation: 0.9
-luminance: 0.7
-edge_sl_ratio: 0.6
-node_scale: 0.2
-node_alpha: 0.9
-node_use_sphere: true
-edge_scale: 0.05
-edge_alpha: 0.9
-label_height: 0.9
-label_scale: 0.8
-color_offset: 3
-interlayer_edge_insertion_skip: 10
-visualize_interlayer_edges: false
-z_offset_scale: 0.0
diff --git a/hydra_ros/config/object_visualizer/buildings_layer.yaml b/hydra_ros/config/object_visualizer/buildings_layer.yaml
deleted file mode 100644
index 810aaa21..00000000
--- a/hydra_ros/config/object_visualizer/buildings_layer.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
----
-# general
-z_offset_scale: 5.5
-visualize: false
-# nodes
-marker_scale: 1.0
-marker_alpha: 1.0
-use_sphere_marker: false
-use_label: true
-label_height: 1.5
-label_scale: 1.25
-use_bounding_box: false
-bounding_box_alpha: 0.5
-collapse_bounding_box: false
-# edges
-use_edge_source: false
-interlayer_edge_scale: 0.10
-interlayer_edge_alpha: 0.5
-interlayer_edge_use_color: false
-interlayer_edge_insertion_skip: 0
-intralayer_edge_scale: 0.05
-intralayer_edge_alpha: 1.0
-intralayer_edge_use_color: false
-intralayer_edge_insertion_skip: 0
diff --git a/hydra_ros/config/object_visualizer/objects_layer.yaml b/hydra_ros/config/object_visualizer/objects_layer.yaml
deleted file mode 100644
index c7bd76fd..00000000
--- a/hydra_ros/config/object_visualizer/objects_layer.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
----
-# generic
-z_offset_scale: 1.5
-visualize: true
-# node
-marker_scale: 0.25
-marker_alpha: 0.9
-use_sphere_marker: true
-use_label: true
-label_height: 0.7
-label_scale: 0.5
-use_bounding_box: true
-bounding_box_alpha: 0.9
-bbox_wireframe_scale: 0.08
-collapse_bounding_box: true
-# edge
-use_edge_source: true
-interlayer_edge_scale: 0.05
-interlayer_edge_alpha: 0.3
-interlayer_edge_use_color: true
-interlayer_edge_insertion_skip: 10
-intralayer_edge_scale: 0.03
-intralayer_edge_alpha: 0.6
-intralayer_edge_use_color: false
-intralayer_edge_insertion_skip: 0
diff --git a/hydra_ros/config/object_visualizer/places_layer.yaml b/hydra_ros/config/object_visualizer/places_layer.yaml
deleted file mode 100644
index fb083b29..00000000
--- a/hydra_ros/config/object_visualizer/places_layer.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
----
-# general
-z_offset_scale: 2.5
-visualize: false
-# nodes
-marker_scale: 0.2
-marker_alpha: 0.9
-use_sphere_marker: true
-use_label: false
-label_height: 1.0
-label_scale: 0.5
-use_bounding_box: false
-bounding_box_alpha: 0.5
-collapse_bounding_box: false
-# edges
-use_edge_source: false
-interlayer_edge_scale: 0.08
-interlayer_edge_alpha: 0.4
-interlayer_edge_use_color: true
-interlayer_edge_insertion_skip: 0
-intralayer_edge_scale: 0.01
-intralayer_edge_alpha: 0.7
-intralayer_edge_use_color: false
-intralayer_edge_insertion_skip: 0
diff --git a/hydra_ros/config/object_visualizer/rooms_layer.yaml b/hydra_ros/config/object_visualizer/rooms_layer.yaml
deleted file mode 100644
index 135b1e34..00000000
--- a/hydra_ros/config/object_visualizer/rooms_layer.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
----
-# general
-z_offset_scale: 3.4
-visualize: false
-# nodes
-marker_scale: 0.6
-marker_alpha: 0.8
-use_sphere_marker: false
-use_label: true
-label_height: 1.0
-label_scale: 0.75
-use_bounding_box: false
-bounding_box_alpha: 0.5
-collapse_bounding_box: false
-# edges
-use_edge_source: true
-interlayer_edge_scale: 0.08
-interlayer_edge_alpha: 0.4
-interlayer_edge_use_color: true
-interlayer_edge_insertion_skip: 1
-intralayer_edge_scale: 0.1
-intralayer_edge_alpha: 0.8
-intralayer_edge_use_color: false
-intralayer_edge_insertion_skip: 0
diff --git a/hydra_ros/config/object_visualizer/visualizer.yaml b/hydra_ros/config/object_visualizer/visualizer.yaml
deleted file mode 100644
index 9400c0d7..00000000
--- a/hydra_ros/config/object_visualizer/visualizer.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
----
-# general options
-layer_z_step: 4.0 # unit separation between layers
-# ratio of where the split from a single edge to the multiple edges to the mesh occurs.
-# 0 -> at the height of the mesh
-# 1 -> at the height of the object layer
-mesh_edge_break_ratio: 0.5
-# where to draw the mesh (0.0 is recommended)
-mesh_layer_offset: 0.0
-# whether or not to apply offsets to each of the layers
-collapse_layers: false
-# color places by their distance to the nearest obstalce
-color_places_by_distance: false
-# minimum distance to clip to for places colormap
-places_colormap_min_distance: 0.0
-# maximum distance to clip to for places colormap
-places_colormap_max_distance: 3.0
-
-places_colormap:
- min_hue: 0.0
- max_hue: 0.5
- min_saturation: 0.9
- max_saturation: 0.8
- min_luminance: 0.6
- max_luminance: 0.85
diff --git a/hydra_ros/config/overrides.yaml b/hydra_ros/config/overrides.yaml
deleted file mode 100644
index e69de29b..00000000
diff --git a/hydra_ros/config/ros_params.yaml b/hydra_ros/config/ros_params.yaml
deleted file mode 100644
index 6c633ec8..00000000
--- a/hydra_ros/config/ros_params.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-dsg:
- zmq_num_threads: 2
- zmq_poll_time_ms: 10
-min_mesh_separation_s: 0.5
-frontend_mesh_separation_s: 0.5
-topology_visualizer_ns: "~/topology_visualizer"
-enable_reconstruction_output_queue: true
-disable_timer_output: true
-timing_disabled: false
diff --git a/hydra_ros/hydra_utils_cmake b/hydra_ros/hydra_utils_cmake
deleted file mode 100644
index df32fb65..00000000
--- a/hydra_ros/hydra_utils_cmake
+++ /dev/null
@@ -1,91 +0,0 @@
-find_package(
- catkin REQUIRED
- COMPONENTS dynamic_reconfigure
- geometry_msgs
- image_transport
- kimera_pgmo
- nodelet
- pose_graph_tools
- roscpp
- tf2_eigen
- tf2_ros
- visualization_msgs
- glog_catkin
-)
-find_package(OpenCV REQUIRED)
-find_package(cv_bridge REQUIRED)
-
-catkin_package(
- CATKIN_DEPENDS
- dynamic_reconfigure
- geometry_msgs
- image_transport
- kimera_pgmo
- nodelet
- pose_graph_tools
- roscpp
- tf2_eigen
- tf2_ros
- visualization_msgs
- DEPENDS
- INCLUDE_DIRS include ${EIGEN3_INCLUDE_DIRS}
- LIBRARIES ${PROJECT_NAME}
-)
-
-target_include_directories(
- ${PROJECT_NAME}
- PUBLIC include ${catkin_INCLUDE_DIRS} ${EIGEN3_INCLUDE_DIRS}
- PRIVATE ${OpenCV_INCLUDE_DIRS}
-)
-target_link_libraries(
- ${PROJECT_NAME}
- PUBLIC yaml-cpp ${catkin_LIBRARIES} spark_dsg::spark_dsg
- PRIVATE ${OpenCV_LIBRARIES} gtsam
-)
-add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}_gencfg)
-
-add_executable(hydra_visualizer_node src/hydra_visualizer_node.cpp)
-target_link_libraries(hydra_visualizer_node ${PROJECT_NAME})
-
-add_executable(scene_graph_logger_node src/scene_graph_logger_node.cpp)
-target_link_libraries(scene_graph_logger_node ${PROJECT_NAME})
-
-add_executable(rotate_tf_node src/rotate_tf_node.cpp)
-target_link_libraries(rotate_tf_node ${catkin_LIBRARIES})
-target_include_directories(rotate_tf_node PUBLIC ${catkin_INCLUDE_DIRS})
-
-add_library(${PROJECT_NAME}_nodelet src/mask_nodelet.cpp)
-target_include_directories(
- ${PROJECT_NAME}_nodelet PUBLIC ${catkin_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS}
- ${cv_bridge_INCLUDE_DIRS}
-)
-target_link_libraries(
- ${PROJECT_NAME}_nodelet
- ${catkin_LIBRARIES}
- ${OpenCV_LIBRARIES}
- ${cv_bridge_LIBRARIES}
-)
-
-install(
- TARGETS ${PROJECT_NAME}
- ${PROJECT_NAME}_nodelet
- hydra_visualizer_node
- rotate_tf_node
- ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
- LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
- RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}
-)
-
-install(DIRECTORY include/${PROJECT_NAME}/
- DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
-)
-
-install(DIRECTORY launch/ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch)
-
-catkin_install_python(
- PROGRAMS
- nodes/csv_to_tf
- nodes/odom_to_tf
- DESTINATION
- ${CATKIN_PACKAGE_BIN_DESTINATION}
-)
diff --git a/hydra_ros/include/hydra_ros/config/ros_parser.h b/hydra_ros/include/hydra_ros/config/ros_parser.h
deleted file mode 100644
index d656788e..00000000
--- a/hydra_ros/include/hydra_ros/config/ros_parser.h
+++ /dev/null
@@ -1,200 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#pragma once
-#include
-#include
-
-#include
-
-namespace config_parser {
-
-namespace detail {
-
-template ::value, bool>::type = true>
-bool readRosParam(const ros::NodeHandle& nh, const std::string& name, T& value) {
- return nh.getParam(name, value);
-}
-
-template ,
- typename std::enable_if::value, bool>::type = true>
-bool readRosParam(const ros::NodeHandle& nh,
- const std::string& name,
- std::vector& value) {
- return nh.getParam(name, value);
-}
-
-template ::value, bool>::type = true>
-bool readRosParam(const ros::NodeHandle& nh,
- const std::string& name,
- std::map& value) {
- if (!nh.hasParam(name)) {
- return false;
- }
-
- value.clear();
- nh.getParam(name, value);
- return true;
-}
-
-template
-void convertFromInt(int placeholder, T& value) {
- if (sizeof(T) < sizeof(int)) {
- // avoid overflow on uint16_t and smaller
- constexpr const int lo_value = static_cast(std::numeric_limits::min());
- constexpr const int hi_value = static_cast(std::numeric_limits::max());
- placeholder = std::clamp(placeholder, lo_value, hi_value);
- // TODO(nathan) think about warning
- }
-
- value = static_cast(placeholder);
-}
-
-template >,
- std::is_integral>::value,
- bool>::type = true>
-bool readRosParam(const ros::NodeHandle& nh, const std::string& name, T& value) {
- int placeholder = 0;
- if (!nh.getParam(name, placeholder)) {
- return false;
- }
-
- convertFromInt(placeholder, value);
- return true;
-}
-
-template ,
- typename std::enable_if>,
- std::is_integral>::value,
- bool>::type = true>
-bool readRosParam(const ros::NodeHandle& nh,
- const std::string& name,
- std::vector& value) {
- std::vector placeholders;
- if (!nh.getParam(name, placeholders)) {
- return false;
- }
-
- for (const int placeholder : placeholders) {
- T new_value;
- convertFromInt(placeholder, new_value);
- value.push_back(new_value);
- }
-
- return true;
-}
-
-template ::value, bool>::type = true>
-bool readRosParam(const ros::NodeHandle& nh,
- const std::string& name,
- std::set& value) {
- std::vector placeholders;
- if (!readRosParam(nh, name, placeholders)) {
- return false;
- }
-
- value.clear();
- value.insert(placeholders.begin(), placeholders.end());
- return true;
-}
-
-template ::value, bool>::type = true>
-bool readRosParam(const ros::NodeHandle& nh, const std::string& name, T& value) {
- std::string placeholder;
- if (!readRosParam(nh, name, placeholder)) {
- return false;
- }
-
- readConfigEnumFromString(placeholder, value);
- return true;
-}
-
-// adl indirection
-struct read_ros_param_fn {
- template
- constexpr auto operator()(const ros::NodeHandle& nh,
- const std::string& name,
- T& val) const -> decltype(readRosParam(nh, name, val)) {
- return readRosParam(nh, name, val);
- }
-};
-
-} // namespace detail
-
-namespace {
-
-constexpr const auto& readRosParam = detail::static_const;
-
-} // namespace
-
-class RosParserImpl {
- public:
- RosParserImpl();
-
- explicit RosParserImpl(const ros::NodeHandle& nh);
-
- RosParserImpl(const ros::NodeHandle& nh, const std::string& name);
-
- RosParserImpl(const RosParserImpl& other) = default;
-
- RosParserImpl& operator=(const RosParserImpl& other) = default;
-
- ~RosParserImpl() = default;
-
- RosParserImpl child(const std::string& new_name) const;
-
- std::vector children() const;
-
- inline std::string name() const { return nh_.resolveName(name_); }
-
- template
- bool parse(T& value, const Logger*) const {
- return ::config_parser::readRosParam(nh_, name_, value);
- }
-
- private:
- ros::NodeHandle nh_;
- std::string name_;
-};
-
-using RosParser = Parser;
-
-} // namespace config_parser
diff --git a/hydra_ros/include/hydra_ros/config/ros_utilities.h b/hydra_ros/include/hydra_ros/config/ros_utilities.h
deleted file mode 100644
index 6f4cd619..00000000
--- a/hydra_ros/include/hydra_ros/config/ros_utilities.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#pragma once
-#include
-#include
-#include
-
-#include
-
-#include "hydra_ros/config/ros_parser.h"
-
-namespace config_parser {
-
-template
-Config load_from_ros(const std::string& ns, Logger::Ptr logger = nullptr) {
- RosParser parser(std::make_unique(ros::NodeHandle(ns)));
- if (logger) {
- parser.setLogger(logger);
- }
-
- Config config;
- ConfigVisitor::visit_config(parser, config);
- return config;
-}
-
-template
-Config load_from_ros_nh(const ros::NodeHandle& nh,
- const std::string& ns = "",
- Logger::Ptr logger = nullptr) {
- RosParser parser(std::make_unique(nh, ns));
- if (logger) {
- parser.setLogger(logger);
- }
-
- Config config;
- ConfigVisitor::visit_config(parser, config);
- return config;
-}
-
-} // namespace config_parser
-
-namespace hydra {
-
-struct HydraParamLogger : config_parser::Logger {
- inline void log_missing(const std::string& message) const override {
- LOG(INFO) << message;
- }
-};
-
-template
-struct ConfigStructName {
- static std::string get() { return "Unknown Config"; }
-};
-
-template
-Config load_config(const ros::NodeHandle& nh,
- const std::string& ns = "",
- bool verbose = true,
- int dump_verbosity = 5) {
- auto logger = std::make_shared();
- auto config =
- config_parser::load_from_ros_nh(nh, ns, verbose ? logger : nullptr);
-
- if (verbose) {
- const auto name = ConfigStructName::get();
- std::string filler(name.size() + 50, '=');
- VLOG(dump_verbosity) << name << std::endl << filler << std::endl << config;
- }
-
- return config;
-}
-
-} // namespace hydra
-
-namespace Eigen {
-
-template
-bool readRosParam(const ros::NodeHandle& nh,
- const std::string& name,
- Matrix& value) {
- std::vector raw_values;
- config_parser::readRosParam(nh, name, raw_values);
- if (raw_values.empty()) {
- return false;
- }
-
- if (raw_values.size() != static_cast(N)) {
- std::stringstream ss;
- ss << "invalid param length: " << raw_values.size() << " != " << N;
- throw std::domain_error(ss.str());
- }
-
- for (int i = 0; i < N; ++i) {
- value(i) = raw_values[i];
- }
-
- return true;
-}
-
-} // namespace Eigen
-
-#define DECLARE_STRUCT_NAME(name) \
- template <> \
- struct ConfigStructName { \
- static std::string get() { return #name; } \
- }
diff --git a/hydra_ros/include/hydra_ros/pipeline/hydra_ros_pipeline.h b/hydra_ros/include/hydra_ros/pipeline/hydra_ros_pipeline.h
deleted file mode 100644
index d5b58981..00000000
--- a/hydra_ros/include/hydra_ros/pipeline/hydra_ros_pipeline.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#pragma once
-#include
-#include
-#include
-
-#include "hydra_ros/pipeline/ros_backend.h"
-#include "hydra_ros/pipeline/ros_frontend.h"
-#include "hydra_ros/pipeline/ros_reconstruction.h"
-
-namespace hydra {
-
-struct HydraRosConfig {
- bool enable_lcd = false;
- bool use_ros_backend = false;
- bool do_reconstruction = true;
- bool enable_frontend_output = true;
- double frontend_mesh_separation_s = 0.0;
-};
-
-struct HydraRosPipeline {
- explicit HydraRosPipeline(const ros::NodeHandle& nh, int robot_id = 0);
-
- void start();
-
- void stop();
-
- void save(const std::string& output_path);
-
- void bowCallback(const pose_graph_tools::BowQueries::ConstPtr& msg);
-
- void sendFrontendOutput(const DynamicSceneGraph& graph,
- const BackendInput& backend_input,
- uint64_t timestamp_ns);
-
- void sendFrontendGraph(const DynamicSceneGraph& graph, uint64_t timestamp_ns);
-
- ros::NodeHandle nh;
-
- HydraRosConfig config;
- RobotPrefixConfig prefix;
- SharedDsgInfo::Ptr frontend_dsg;
- SharedDsgInfo::Ptr backend_dsg;
- SharedModuleState::Ptr shared_state;
-
- std::shared_ptr reconstruction;
- std::shared_ptr frontend;
- std::shared_ptr backend;
- std::shared_ptr backend_visualizer;
- std::shared_ptr lcd;
-
- std::unique_ptr dsg_sender;
- ros::Publisher mesh_graph_pub;
- ros::Publisher mesh_update_pub;
- ros::Subscriber bow_sub;
-};
-
-} // namespace hydra
diff --git a/hydra_ros/include/hydra_ros/pipeline/ros_backend.h b/hydra_ros/include/hydra_ros/pipeline/ros_backend.h
deleted file mode 100644
index 79e55d0e..00000000
--- a/hydra_ros/include/hydra_ros/pipeline/ros_backend.h
+++ /dev/null
@@ -1,122 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#include
-#include
-#include
-#include
-
-#include "hydra_ros/config/ros_utilities.h"
-#include "hydra_ros/utils/dsg_streaming_interface.h"
-
-namespace hydra {
-
-using kimera_pgmo::KimeraPgmoMesh;
-using pose_graph_tools::PoseGraph;
-
-class RosBackend : public BackendModule {
- public:
- using Policy =
- message_filters::sync_policies::ApproximateTime;
- using Sync = message_filters::Synchronizer;
-
- RosBackend(const ros::NodeHandle& nh,
- const RobotPrefixConfig& prefix,
- const SharedDsgInfo::Ptr& dsg,
- const SharedDsgInfo::Ptr& backend_dsg,
- const SharedModuleState::Ptr& state);
-
- ~RosBackend();
-
- void inputCallback(const kimera_pgmo::KimeraPgmoMesh::ConstPtr& mesh,
- const pose_graph_tools::PoseGraph::ConstPtr& deformation_graph);
-
- void poseGraphCallback(const pose_graph_tools::PoseGraph::ConstPtr& msg);
-
- protected:
- void publishOutputs(const pcl::PolygonMesh& mesh, size_t timestamp_ns) const;
-
- void publishDeformationGraphViz() const;
-
- void publishPoseGraphViz() const;
-
- void publishUpdatedMesh(const pcl::PolygonMesh& mesh, size_t timestamp_ns) const;
-
- protected:
- ros::NodeHandle nh_;
- std::list pose_graph_queue_;
- kimera_pgmo::KimeraPgmoMesh::ConstPtr latest_mesh_msg_;
-
- ros::Subscriber pose_graph_sub_;
- std::unique_ptr> deformation_graph_sub_;
- std::unique_ptr> mesh_sub_;
- std::unique_ptr sync_;
-};
-
-class RosBackendVisualizer {
- public:
- RosBackendVisualizer(const ros::NodeHandle& nh,
- const BackendConfig& config,
- const RobotPrefixConfig& prefix);
-
- virtual ~RosBackendVisualizer() = default;
-
- void publishOutputs(const DynamicSceneGraph& graph,
- const kimera_pgmo::DeformationGraph& dgraph,
- size_t timestamp_ns);
-
- protected:
- virtual void publishPoseGraph(const DynamicSceneGraph& graph,
- const kimera_pgmo::DeformationGraph& dgraph) const;
-
- virtual void publishDeformationGraphViz(const kimera_pgmo::DeformationGraph& dgraph,
- size_t timestamp_ns) const;
-
- protected:
- ros::NodeHandle nh_;
- BackendConfig config_;
- RobotPrefixConfig prefix_;
-
- ros::Publisher mesh_mesh_edges_pub_;
- ros::Publisher pose_mesh_edges_pub_;
- ros::Publisher pose_graph_pub_;
-
- // Hack for temporary removal of label flickering
- size_t last_zmq_pub_time_;
-
- std::unique_ptr zmq_sender_;
- std::unique_ptr dsg_sender_;
-};
-
-} // namespace hydra
diff --git a/hydra_ros/include/hydra_ros/pipeline/ros_frontend.h b/hydra_ros/include/hydra_ros/pipeline/ros_frontend.h
deleted file mode 100644
index 69ba0585..00000000
--- a/hydra_ros/include/hydra_ros/pipeline/ros_frontend.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#pragma once
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#include "hydra_ros/config/ros_utilities.h"
-#include "hydra_ros/utils/dsg_streaming_interface.h"
-#include "hydra_ros/utils/semantic_ros_publishers.h"
-
-namespace hydra {
-
-using hydra_msgs::ActiveLayer;
-using hydra_msgs::ActiveMesh;
-using pose_graph_tools::PoseGraph;
-
-using ObjectCloudPub = SemanticRosPublishers;
-using MeshVertexCloud = MeshSegmenter::MeshVertexCloud;
-using LabelIndices = MeshSegmenter::LabelIndices;
-
-struct ROSFrontendConfig {
- bool enable_active_mesh_pub = false;
- bool enable_segmented_mesh_pub = false;
- std::string world_frame = "world";
- std::string sensor_frame = "left_cam";
- bool use_latest_tf = true;
- bool use_posegraph_pos = true;
-};
-
-template
-void visit_config(const Visitor& v, ROSFrontendConfig& config) {
- v.visit("enable_active_mesh_pub", config.enable_active_mesh_pub);
- v.visit("enable_segmented_mesh_pub", config.enable_segmented_mesh_pub);
- v.visit("world_frame", config.world_frame);
- v.visit("sensor_frame", config.sensor_frame);
- v.visit("use_latest_tf", config.use_latest_tf);
- v.visit("use_posegraph_pos", config.use_posegraph_pos);
-}
-
-struct RosFrontend : public FrontendModule {
- using Policy =
- message_filters::sync_policies::ApproximateTime;
- using Sync = message_filters::Synchronizer;
-
- RosFrontend(const ros::NodeHandle& nh,
- const RobotPrefixConfig& prefix,
- const SharedDsgInfo::Ptr& dsg,
- const SharedModuleState::Ptr& state);
-
- ~RosFrontend();
-
- void inputCallback(const ActiveLayer::ConstPtr& places,
- const ActiveMesh::ConstPtr& mesh);
-
- void poseGraphCallback(const PoseGraph::ConstPtr& pose_graph);
-
- void publishActiveVertices(const MeshSegmenter::MeshVertexCloud& vertices,
- const MeshSegmenter::IndicesVector& indices,
- const MeshSegmenter::LabelIndices&) const;
-
- void publishObjectClouds(const MeshSegmenter::MeshVertexCloud& vertices,
- const MeshSegmenter::IndicesVector&,
- const MeshSegmenter::LabelIndices& label_indices) const;
-
- std::optional getLatestPosition() const;
-
- std::optional getLatestPositionTf(
- const ros::Time& time_to_use) const;
-
- ros::NodeHandle nh_;
- ROSFrontendConfig ros_config_;
- std::list pose_graph_queue_;
-
- std::unique_ptr> places_sub_;
- std::unique_ptr> mesh_sub_;
- std::unique_ptr sync_;
-
- ros::Subscriber pose_graph_sub_;
-
- tf2_ros::Buffer buffer_;
- std::unique_ptr tf_listener_;
-
- ros::Publisher active_vertices_pub_;
- std::unique_ptr segmented_vertices_pub_;
-};
-
-} // namespace hydra
-
-DECLARE_CONFIG_OSTREAM_OPERATOR(hydra, ROSFrontendConfig)
diff --git a/hydra_ros/include/hydra_ros/pipeline/ros_lcd_registration.h b/hydra_ros/include/hydra_ros/pipeline/ros_lcd_registration.h
deleted file mode 100644
index 091bfce3..00000000
--- a/hydra_ros/include/hydra_ros/pipeline/ros_lcd_registration.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#pragma once
-#include
-
-namespace hydra {
-
-struct DsgAgentSolver : lcd::DsgRegistrationSolver {
- DsgAgentSolver() = default;
-
- virtual ~DsgAgentSolver() = default;
-
- lcd::DsgRegistrationSolution solve(const DynamicSceneGraph& dsg,
- const lcd::DsgRegistrationInput& match,
- NodeId query_agent_id) const override;
-};
-
-} // namespace hydra
diff --git a/hydra_ros/include/hydra_ros/pipeline/ros_reconstruction.h b/hydra_ros/include/hydra_ros/pipeline/ros_reconstruction.h
deleted file mode 100644
index eb932299..00000000
--- a/hydra_ros/include/hydra_ros/pipeline/ros_reconstruction.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#pragma once
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#include "hydra_ros/config/ros_utilities.h"
-#include "hydra_ros/visualizer/topology_server_visualizer.h"
-
-namespace hydra {
-
-struct RosReconstructionConfig {
- bool visualize_reconstruction = true;
- std::string topology_visualizer_ns = "~";
- bool publish_mesh = false;
- bool enable_output_queue = false;
- double pointcloud_separation_s = 0.1;
- double tf_wait_duration_s = 0.1;
- std::string kimera_extrinsics_file = "";
- double tf_buffer_size_s = 30.0;
-};
-
-template
-void visit_config(const Visitor& v, RosReconstructionConfig& config) {
- v.visit("visualize_reconstruction", config.visualize_reconstruction);
- v.visit("topology_visualizer_ns", config.topology_visualizer_ns);
- v.visit("publish_reconstruction_mesh", config.publish_mesh);
- v.visit("enable_reconstruction_output_queue", config.enable_output_queue);
- v.visit("pointcloud_separation_s", config.pointcloud_separation_s);
- v.visit("tf_wait_duration_s", config.tf_wait_duration_s);
- v.visit("kimera_extrinsics_file", config.kimera_extrinsics_file);
- v.visit("tf_buffer_size_s", config.tf_buffer_size_s);
-}
-
-} // namespace hydra
-
-DECLARE_CONFIG_OSTREAM_OPERATOR(hydra, RosReconstructionConfig);
-
-namespace hydra {
-
-using pose_graph_tools::PoseGraph;
-
-class RosReconstruction : public ReconstructionModule {
- public:
- using Pointcloud = pcl::PointCloud;
- using PointcloudQueue = InputQueue;
-
- RosReconstruction(const ros::NodeHandle& nh,
- const RobotPrefixConfig& prefix,
- const OutputQueue::Ptr& output_queue = nullptr);
-
- virtual ~RosReconstruction();
-
- void handlePointcloud(const Pointcloud::ConstPtr& cloud);
-
- void handlePoseGraph(const PoseGraph::ConstPtr& pose_graph);
-
- bool handleFreespaceSrv(hydra_msgs::QueryFreespace::Request& req,
- hydra_msgs::QueryFreespace::Response& res);
-
- protected:
- void pointcloudSpin();
-
- void visualize(const ReconstructionOutput& output);
-
- ros::NodeHandle nh_;
- RosReconstructionConfig ros_config_;
-
- ros::Subscriber pcl_sub_;
- ros::Subscriber pose_graph_sub_;
- std::unique_ptr buffer_;
- std::unique_ptr tf_listener_;
-
- PointcloudQueue pointcloud_queue_;
- std::unique_ptr pointcloud_thread_;
- std::unique_ptr last_time_received_;
- std::mutex pose_graph_mutex_;
- std::list pose_graphs_;
-
- // visualizer
- std::unique_ptr visualizer_;
- ros::Publisher mesh_pub_;
-
- // freespace query
- ros::ServiceServer freespace_server_;
-};
-
-} // namespace hydra
diff --git a/hydra_ros/include/hydra_ros/utils/dsg_streaming_interface.h b/hydra_ros/include/hydra_ros/utils/dsg_streaming_interface.h
deleted file mode 100644
index b79436b6..00000000
--- a/hydra_ros/include/hydra_ros/utils/dsg_streaming_interface.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#pragma once
-#include
-#include
-#include
-#include
-
-#include
-
-namespace hydra {
-
-class DsgSender {
- public:
- explicit DsgSender(const ros::NodeHandle& nh,
- const std::string& timer_name = "publish_dsg",
- bool publish_mesh = false,
- double min_mesh_separation_s = 0.0);
-
- void sendGraph(const DynamicSceneGraph& graph, const ros::Time& stamp) const;
-
- private:
- ros::NodeHandle nh_;
- ros::Publisher pub_;
- ros::Publisher mesh_pub_;
- mutable std::optional last_mesh_time_ns_;
-
- std::string timer_name_;
- bool publish_mesh_;
- double min_mesh_separation_s_;
-};
-
-class DsgReceiver {
- public:
- using LogCallback = std::function;
-
- explicit DsgReceiver(const ros::NodeHandle& nh);
-
- DsgReceiver(const ros::NodeHandle& nh, const LogCallback& cb);
-
- inline DynamicSceneGraph::Ptr graph() const { return graph_; }
-
- inline bool updated() const { return has_update_; }
-
- inline void clearUpdated() { has_update_ = false; }
-
- private:
- void handleUpdate(const hydra_msgs::DsgUpdate::ConstPtr& msg);
-
- void handleMesh(const mesh_msgs::TriangleMeshStamped::ConstPtr& msg);
-
- ros::NodeHandle nh_;
- ros::Subscriber sub_;
- ros::Subscriber mesh_sub_;
-
- bool has_update_;
- DynamicSceneGraph::Ptr graph_;
- std::unique_ptr mesh_;
-
- std::unique_ptr log_callback_;
-};
-
-} // namespace hydra
diff --git a/hydra_ros/include/hydra_ros/utils/node_utilities.h b/hydra_ros/include/hydra_ros/utils/node_utilities.h
deleted file mode 100644
index d56a0f12..00000000
--- a/hydra_ros/include/hydra_ros/utils/node_utilities.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#pragma once
-#include
-#include
-#include
-#include
-
-namespace hydra {
-
-enum class ExitMode { CLOCK, SERVICE, NORMAL };
-
-struct ServiceFunctor {
- ServiceFunctor() : should_exit(false) {}
-
- bool callback(std_srvs::Empty::Request&, std_srvs::Empty::Response&) {
- should_exit = true;
- return true;
- }
-
- bool should_exit;
-};
-
-inline bool haveClock() {
- return ros::TopicManager::instance()->getNumPublishers("/clock");
-}
-
-ExitMode getExitMode(const ros::NodeHandle& nh);
-
-void spinWhileClockPresent();
-
-void spinUntilExitRequested();
-
-std::string configureTimers(const ros::NodeHandle& nh);
-
-void saveTimingInformation(const std::string& output_path);
-
-void spinAndWait(const ros::NodeHandle& nh);
-
-} // namespace hydra
diff --git a/hydra_ros/include/hydra_ros/utils/semantic_ros_publishers.h b/hydra_ros/include/hydra_ros/utils/semantic_ros_publishers.h
deleted file mode 100644
index 9683d0b4..00000000
--- a/hydra_ros/include/hydra_ros/utils/semantic_ros_publishers.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#pragma once
-// originally part of kimera_batch_dsg
-#include
-
-#include
-#include
-
-namespace hydra {
-
-template
-class SemanticRosPublishers {
- typedef std::unordered_map SemanticRosPubs;
-
- public:
- /**
- * @brief SemanticRosPublishers Publishes a msg in a different ROS topic
- * defined by the semantic label. This is a convenience class
- * to allow for publishing msgs of the same type in different ROS topics.
- * @param topic_name String to be prepended to all the ROS topics advertised.
- * @param nh_private Node handle to create the ROS publishers.
- */
- SemanticRosPublishers(const std::string& topic_name,
- const ros::NodeHandle& nh_private)
- : topic_name_(topic_name), nh_private_(nh_private), pubs_() {}
- virtual ~SemanticRosPublishers() = default;
-
- /** publish Publishes a given ROS msg for a given semantic_label under the
- * same ROS topic.
- * If the given semantic_label has not been published before, a new ROS topic
- * is advertised with the name given by topic_name_.
- */
- void publish(const LabelType& semantic_label, const MsgType& msg) {
- // Publish centroids for each semantic label
- const auto& pub_it = pubs_.find(semantic_label);
- if (pub_it == pubs_.end()) {
- pubs_[semantic_label] = nh_private_.advertise(
- topic_name_ + "_semantic_label_" + std::to_string(semantic_label), 1, true);
- }
- // Publish semantic pointcloud
- pubs_.at(semantic_label).publish(msg);
- }
-
- /**
- * Derive the topic name from the label.
- */
- std::string getTopic(const LabelType& semantic_label) {
- const auto& pub_it = pubs_.find(semantic_label);
- if (pub_it == pubs_.end()) {
- pubs_[semantic_label] = nh_private_.advertise(
- topic_name_ + "_semantic_label_" + std::to_string(semantic_label), 1, true);
- }
- return pubs_.at(semantic_label).getTopic();
- }
-
- std::string get_prefix() { return topic_name_; }
-
- private:
- /// Prepended string to the ROS topic that is to be advertised.
- std::string topic_name_;
-
- ros::NodeHandle nh_private_;
- SemanticRosPubs pubs_;
-};
-
-} // namespace hydra
diff --git a/hydra_ros/include/hydra_ros/visualizer/colormap_utilities.h b/hydra_ros/include/hydra_ros/visualizer/colormap_utilities.h
deleted file mode 100644
index ef15f08c..00000000
--- a/hydra_ros/include/hydra_ros/visualizer/colormap_utilities.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#pragma once
-#include
-
-#include "hydra_ros/visualizer/visualizer_types.h"
-
-namespace hydra {
-namespace dsg_utils {
-
-std_msgs::ColorRGBA makeColorMsg(const NodeColor& color, double alpha = 1.0);
-
-NodeColor getRgbFromHls(double hue, double luminance, double saturation);
-
-NodeColor interpolateColorMap(const ColormapConfig& config, double ratio);
-
-} // namespace dsg_utils
-} // namespace hydra
diff --git a/hydra_ros/include/hydra_ros/visualizer/dsg_mesh_plugins.h b/hydra_ros/include/hydra_ros/visualizer/dsg_mesh_plugins.h
deleted file mode 100644
index f7902e99..00000000
--- a/hydra_ros/include/hydra_ros/visualizer/dsg_mesh_plugins.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#pragma once
-#include
-#include
-
-#include "hydra_ros/visualizer/dsg_visualizer_plugin.h"
-
-namespace hydra {
-
-class RvizMeshPlugin : public DsgVisualizerPlugin {
- public:
- RvizMeshPlugin(const ros::NodeHandle& nh, const std::string& name);
-
- virtual ~RvizMeshPlugin() = default;
-
- void draw(const std_msgs::Header& header, const DynamicSceneGraph& graph) override;
-
- void reset(const std_msgs::Header& header, const DynamicSceneGraph& graph) override;
-
- private:
- std::string name_;
- ros::Publisher mesh_pub_;
- bool published_mesh_;
-};
-
-class PgmoMeshPlugin : public DsgVisualizerPlugin {
- public:
- PgmoMeshPlugin(const ros::NodeHandle& nh, const std::string& name);
-
- virtual ~PgmoMeshPlugin() = default;
-
- void draw(const std_msgs::Header& header, const DynamicSceneGraph& graph) override;
-
- void reset(const std_msgs::Header& header, const DynamicSceneGraph& graph) override;
-
- protected:
- ros::Publisher mesh_pub_;
-};
-
-class VoxbloxMeshPlugin : public DsgVisualizerPlugin {
- public:
- VoxbloxMeshPlugin(const ros::NodeHandle& nh, const std::string& name);
-
- virtual ~VoxbloxMeshPlugin() = default;
-
- void draw(const std_msgs::Header& header, const DynamicSceneGraph& graph) override;
-
- void reset(const std_msgs::Header& header, const DynamicSceneGraph& graph) override;
-
- protected:
- ros::Publisher mesh_pub_;
- voxblox::BlockIndexList curr_blocks_;
-};
-
-} // namespace hydra
diff --git a/hydra_ros/include/hydra_ros/visualizer/dsg_visualizer_plugin.h b/hydra_ros/include/hydra_ros/visualizer/dsg_visualizer_plugin.h
deleted file mode 100644
index 6dd573d0..00000000
--- a/hydra_ros/include/hydra_ros/visualizer/dsg_visualizer_plugin.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#pragma once
-#include
-#include
-
-namespace hydra {
-
-class DsgVisualizerPlugin {
- public:
- using Ptr = std::shared_ptr;
-
- DsgVisualizerPlugin(const ros::NodeHandle& nh, const std::string& name)
- : nh_(nh, name) {}
-
- virtual ~DsgVisualizerPlugin() = default;
-
- virtual void draw(const std_msgs::Header& header, const DynamicSceneGraph& graph) = 0;
-
- virtual void reset(const std_msgs::Header& header,
- const DynamicSceneGraph& graph) = 0;
-
- protected:
- ros::NodeHandle nh_;
-};
-
-} // namespace hydra
diff --git a/hydra_ros/include/hydra_ros/visualizer/dynamic_scene_graph_visualizer.h b/hydra_ros/include/hydra_ros/visualizer/dynamic_scene_graph_visualizer.h
deleted file mode 100644
index 7745f2a9..00000000
--- a/hydra_ros/include/hydra_ros/visualizer/dynamic_scene_graph_visualizer.h
+++ /dev/null
@@ -1,243 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#pragma once
-#include
-#include
-#include
-#include
-
-#include
-#include
-
-#include "hydra_ros/visualizer/dsg_visualizer_plugin.h"
-#include "hydra_ros/visualizer/visualizer_types.h"
-
-namespace hydra {
-
-using visualization_msgs::Marker;
-using visualization_msgs::MarkerArray;
-
-template
-class ConfigManager {
- public:
- using Ptr = std::shared_ptr>;
- using Server = dynamic_reconfigure::Server;
-
- ConfigManager(const ros::NodeHandle& nh, const std::string& ns)
- : nh_(nh, ns), changed_(true) {
- server_ = std::make_unique(nh_);
- server_->setCallback(boost::bind(&ConfigManager::update, this, _1, _2));
- }
-
- bool hasChange() { return changed_; }
-
- void clearChangeFlag() { changed_ = false; }
-
- const Config& get() const { return config_; };
-
- private:
- void update(Config& config, uint32_t) {
- config_ = config;
- changed_ = true;
- }
-
- ros::NodeHandle nh_;
-
- bool changed_;
- Config config_;
-
- std::unique_ptr server_;
-};
-
-void clearPrevMarkers(const std_msgs::Header& header,
- const std::set& curr_nodes,
- const std::string& ns,
- std::set& prev_nodes,
- MarkerArray& msg);
-
-class DynamicSceneGraphVisualizer {
- public:
- using DynamicLayerConfigManager = ConfigManager;
- using VisualizerConfigManager = ConfigManager;
- using LayerConfigManager = ConfigManager;
- using ColormapConfigManager = ConfigManager;
-
- DynamicSceneGraphVisualizer(const ros::NodeHandle& nh,
- const DynamicSceneGraph::LayerIds& layer_ids);
-
- virtual ~DynamicSceneGraphVisualizer() = default;
-
- void addPlugin(const std::shared_ptr& plugin) {
- plugins_.push_back(plugin);
- }
-
- void start(bool periodic_redraw = false);
-
- bool redraw();
-
- inline void setGraphUpdated() { need_redraw_ = true; }
-
- void setGraph(const DynamicSceneGraph::Ptr& scene_graph, bool need_reset = true);
-
- void reset();
-
- protected:
- virtual void resetImpl(const std_msgs::Header& header, MarkerArray& msg);
-
- virtual void redrawImpl(const std_msgs::Header& header, MarkerArray& msg);
-
- virtual bool hasConfigChanged() const;
-
- virtual void clearConfigChangeFlags();
-
- virtual void drawLayer(const std_msgs::Header& header,
- const SceneGraphLayer& layer,
- const LayerConfig& config,
- MarkerArray& msg);
-
- virtual void drawLayerMeshEdges(const std_msgs::Header& header,
- LayerId layer_id,
- const std::string& ns,
- MarkerArray& msg);
-
- protected:
- void deleteMultiMarker(const std_msgs::Header& header,
- const std::string& ns,
- MarkerArray& msg);
-
- void addMultiMarkerIfValid(const Marker& marker, MarkerArray& msg);
-
- void setupConfigs(const DynamicSceneGraph::LayerIds& layer_ids);
-
- void displayLoop(const ros::WallTimerEvent&);
-
- void deleteLayer(const std_msgs::Header& header,
- const SceneGraphLayer& layer,
- MarkerArray& msg);
-
- inline std::string getDynamicNodeNamespace(char layer_prefix) const {
- return dynamic_node_ns_prefix_ + layer_prefix;
- }
-
- inline std::string getDynamicEdgeNamespace(char layer_prefix) const {
- return dynamic_edge_ns_prefix_ + layer_prefix;
- }
-
- inline std::string getDynamicLabelNamespace(char layer_prefix) const {
- return dynamic_label_ns_prefix_ + layer_prefix;
- }
-
- inline std::string getLayerNodeNamespace(LayerId layer) const {
- return node_ns_prefix_ + std::to_string(layer);
- }
-
- inline std::string getLayerEdgeNamespace(LayerId layer) const {
- return edge_ns_prefix_ + std::to_string(layer);
- }
-
- inline std::string getLayerLabelNamespace(LayerId layer) const {
- return label_ns_prefix_ + std::to_string(layer);
- }
-
- inline std::string getLayerBboxNamespace(LayerId layer) const {
- return bbox_ns_prefix_ + std::to_string(layer);
- }
-
- inline std::string getLayerBboxEdgeNamespace(LayerId layer) const {
- return bbox_ns_prefix_ + "edges_" + std::to_string(layer);
- }
-
- private:
- const DynamicLayerConfig& getConfig(LayerId layer);
-
- void drawDynamicLayer(const std_msgs::Header& header,
- const DynamicSceneGraphLayer& layer,
- const DynamicLayerConfig& config,
- const VisualizerConfig& viz_config,
- size_t viz_idx,
- MarkerArray& msg);
-
- void deleteLabel(const std_msgs::Header& header, char prefix, MarkerArray& msg);
-
- void deleteDynamicLayer(const std_msgs::Header& header,
- char prefix,
- MarkerArray& msg);
-
- void drawDynamicLayers(const std_msgs::Header& header, MarkerArray& msg);
-
- protected:
- DynamicSceneGraph::Ptr scene_graph_;
-
- ros::NodeHandle nh_;
-
- bool need_redraw_;
- bool periodic_redraw_;
- std::string world_frame_;
- std::string visualizer_ns_;
- std::string visualizer_layer_ns_;
-
- ros::WallTimer visualizer_loop_timer_;
-
- const std::string node_ns_prefix_ = "layer_nodes_";
- const std::string edge_ns_prefix_ = "layer_edges_";
- const std::string label_ns_prefix_ = "layer_labels_";
- const std::string bbox_ns_prefix_ = "layer_bounding_boxes_";
- const std::string mesh_edge_ns_ = "mesh_object_connections";
- const std::string interlayer_edge_ns_prefix_ = "interlayer_edges_";
- const LayerId mesh_edge_source_layer_ = DsgLayers::OBJECTS;
- const std::string dynamic_node_ns_prefix_ = "dynamic_nodes_";
- const std::string dynamic_edge_ns_prefix_ = "dynamic_edges_";
- const std::string dynamic_label_ns_prefix_ = "dynamic_label_";
-
- std::set published_multimarkers_;
- std::map> prev_labels_;
- std::map> curr_labels_;
-
- std::map layer_configs_;
- VisualizerConfigManager::Ptr visualizer_config_;
- ColormapConfigManager::Ptr places_colormap_;
-
- ros::Publisher dsg_pub_;
-
- std::map dynamic_configs_;
-
- std::list> plugins_;
-
- std::set published_dynamic_labels_;
-
- ros::Publisher dynamic_layers_viz_pub_;
-};
-
-} // namespace hydra
diff --git a/hydra_ros/include/hydra_ros/visualizer/gvd_visualization_utilities.h b/hydra_ros/include/hydra_ros/visualizer/gvd_visualization_utilities.h
deleted file mode 100644
index 8bcf61d2..00000000
--- a/hydra_ros/include/hydra_ros/visualizer/gvd_visualization_utilities.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#pragma once
-#include
-#include
-#include
-#include
-#include
-#include
-
-#include "hydra_ros/visualizer/visualizer_types.h"
-
-namespace hydra {
-
-using hydra_ros::GvdVisualizerConfig;
-using CompressedNodeMap = std::unordered_map;
-
-class MarkerGroupPub {
- public:
- using MarkerCallback = std::function;
- using ArrayCallback = std::function;
-
- explicit MarkerGroupPub(const ros::NodeHandle& nh);
-
- void publish(const std::string& name, const MarkerCallback& marker) const;
-
- void publish(const std::string& name, const ArrayCallback& marker) const;
-
- private:
- mutable ros::NodeHandle nh_;
- mutable std::map pubs_;
-};
-
-enum class GvdVisualizationMode : int {
- DEFAULT = hydra_ros::GvdVisualizer_DEFAULT,
- DISTANCE = hydra_ros::GvdVisualizer_DISTANCE,
- BASIS_POINTS = hydra_ros::GvdVisualizer_BASIS_POINTS,
-};
-
-GvdVisualizationMode getModeFromString(const std::string& mode);
-
-visualization_msgs::Marker makeGvdMarker(const GvdVisualizerConfig& config,
- const ColormapConfig& colors,
- const voxblox::Layer& layer);
-
-visualization_msgs::Marker makeSurfaceVoxelMarker(
- const GvdVisualizerConfig& config,
- const ColormapConfig& colors,
- const voxblox::Layer& layer);
-
-visualization_msgs::Marker makeErrorMarker(const GvdVisualizerConfig& config,
- const ColormapConfig& colors,
- const voxblox::Layer& lhs,
- const voxblox::Layer& rhs,
- double threshold);
-
-visualization_msgs::Marker makeEsdfMarker(
- const GvdVisualizerConfig& config,
- const ColormapConfig& colors,
- const voxblox::Layer& layer);
-
-visualization_msgs::Marker makeBlocksMarker(
- const voxblox::Layer& layer, double scale);
-
-visualization_msgs::Marker makeBlocksMarker(
- const voxblox::Layer& layer, double scale);
-
-visualization_msgs::Marker makeMeshBlocksMarker(const voxblox::MeshLayer& layer,
- double scale);
-
-visualization_msgs::MarkerArray makeGvdGraphMarkers(const places::GvdGraph& graph,
- const GvdVisualizerConfig& config,
- const ColormapConfig& colors,
- const std::string& ns,
- size_t marker_id = 0);
-
-visualization_msgs::MarkerArray showGvdClusters(
- const places::GvdGraph& graph,
- const CompressedNodeMap& clusters,
- const std::unordered_map& remapping,
- const GvdVisualizerConfig& config,
- const ColormapConfig& colors,
- const std::string& ns,
- size_t marker_id = 0);
-
-visualization_msgs::MarkerArray makePlaceSpheres(const std_msgs::Header& header,
- const SceneGraphLayer& layer,
- const std::string& ns,
- double alpha = 0.1);
-
-} // namespace hydra
diff --git a/hydra_ros/include/hydra_ros/visualizer/topology_server_visualizer.h b/hydra_ros/include/hydra_ros/visualizer/topology_server_visualizer.h
deleted file mode 100644
index 827a435f..00000000
--- a/hydra_ros/include/hydra_ros/visualizer/topology_server_visualizer.h
+++ /dev/null
@@ -1,147 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#pragma once
-#include
-#include
-#include
-#include
-#include
-
-#include "hydra_ros/visualizer/gvd_visualization_utilities.h"
-#include "hydra_ros/visualizer/visualizer_types.h"
-#include "hydra_ros/visualizer/visualizer_utilities.h"
-
-namespace hydra {
-
-using hydra_ros::GvdVisualizerConfig;
-using RqtMutexPtr = std::unique_ptr;
-
-struct TopologyVisualizerConfig {
- std::string world_frame = "world";
- std::string topology_marker_ns = "topology_graph";
- bool show_block_outlines = false;
- bool use_gvd_block_outlines = false;
- double outline_scale = 0.01;
-
- ColormapConfig colormap;
- GvdVisualizerConfig gvd;
- VisualizerConfig graph;
- LayerConfig graph_layer;
-};
-
-template
-void visit_config(const Visitor& v, TopologyVisualizerConfig& config) {
- v.visit("world_frame", config.world_frame);
- v.visit("topology_marker_ns", config.topology_marker_ns);
- v.visit("show_block_outlines", config.show_block_outlines);
- v.visit("use_gvd_block_outlines", config.use_gvd_block_outlines);
- v.visit("outline_scale", config.outline_scale);
-}
-
-class TopologyServerVisualizer {
- public:
- explicit TopologyServerVisualizer(const std::string& ns);
-
- virtual ~TopologyServerVisualizer() = default;
-
- void visualize(const SceneGraphLayer& graph,
- const places::GvdGraph& gvd_graph,
- const voxblox::Layer& gvd,
- const voxblox::Layer& tsdf,
- uint64_t timestamp_ns,
- const voxblox::MeshLayer* mesh = nullptr);
-
- void visualizeError(const voxblox::Layer& lhs,
- const voxblox::Layer& rhs,
- double threshold,
- uint64_t timestamp_ns);
-
- void visualizeExtractor(uint64_t timestamp_ns,
- const places::CompressionGraphExtractor& extractor);
-
- private:
- void visualizeGraph(const std_msgs::Header& header, const SceneGraphLayer& graph);
-
- void visualizeGvd(const std_msgs::Header& header,
- const voxblox::Layer& gvd) const;
-
- void visualizeGvdGraph(const std_msgs::Header& header,
- const places::GvdGraph& gvd_graph) const;
-
- void visualizeBlocks(const std_msgs::Header& header,
- const voxblox::Layer& gvd,
- const voxblox::Layer& tsdf,
- const voxblox::MeshLayer* mesh) const;
-
- void publishGraphLabels(const std_msgs::Header& header, const SceneGraphLayer& graph);
-
- void publishFreespace(const std_msgs::Header& header, const SceneGraphLayer& graph);
-
- void gvdConfigCb(GvdVisualizerConfig& config, uint32_t level);
-
- void graphConfigCb(LayerConfig& config, uint32_t level);
-
- void colormapCb(ColormapConfig& config, uint32_t level);
-
- void setupConfigServers();
-
- template
- void startRqtServer(const std::string& config_ns,
- std::unique_ptr>& server,
- const Callback& callback) {
- ros::NodeHandle config_nh(nh_, config_ns);
- server.reset(new dynamic_reconfigure::Server(config_nh));
- server->setCallback(boost::bind(callback, this, _1, _2));
- }
-
- private:
- ros::NodeHandle nh_;
- std::unique_ptr pubs_;
-
- TopologyVisualizerConfig config_;
- std::set previous_labels_;
- size_t previous_spheres_;
-
- mutable bool published_gvd_graph_;
- mutable bool published_gvd_clusters_;
-
- std::unique_ptr> gvd_config_server_;
- std::unique_ptr> graph_config_server_;
- std::unique_ptr> colormap_server_;
-};
-
-} // namespace hydra
-
-DECLARE_CONFIG_OSTREAM_OPERATOR(hydra, TopologyVisualizerConfig)
diff --git a/hydra_ros/include/hydra_ros/visualizer/visualizer_plugins.h b/hydra_ros/include/hydra_ros/visualizer/visualizer_plugins.h
deleted file mode 100644
index fc9f0248..00000000
--- a/hydra_ros/include/hydra_ros/visualizer/visualizer_plugins.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#pragma once
-#include
-#include
-#include
-
-#include "hydra_ros/visualizer/dsg_visualizer_plugin.h"
-#include "hydra_ros/visualizer/visualizer_types.h"
-
-namespace hydra {
-
-struct PMGraphPluginConfig {
- explicit PMGraphPluginConfig(const ros::NodeHandle& nh);
-
- double mesh_edge_scale = 0.005;
- double mesh_edge_alpha = 0.8;
- double mesh_marker_scale = 0.1;
- double mesh_marker_alpha = 0.8;
- NodeColor leaf_color;
- NodeColor interior_color;
- NodeColor invalid_color;
- LayerConfig layer_config;
-};
-
-class MeshPlaceConnectionsPlugin : public DsgVisualizerPlugin {
- public:
- MeshPlaceConnectionsPlugin(const ros::NodeHandle& nh, const std::string& name);
-
- virtual ~MeshPlaceConnectionsPlugin() = default;
-
- void draw(const std_msgs::Header& header, const DynamicSceneGraph& graph) override;
-
- void reset(const std_msgs::Header& header, const DynamicSceneGraph& graph) override;
-
- protected:
- ros::Publisher marker_pub_;
- PMGraphPluginConfig config_;
- bool published_nodes_;
- bool published_edges_;
-};
-
-class PlacesFactorGraphViz {
- public:
- using Ptr = std::shared_ptr;
-
- explicit PlacesFactorGraphViz(const ros::NodeHandle& nh);
-
- virtual ~PlacesFactorGraphViz() = default;
-
- void draw(char vertex_prefix,
- const SceneGraphLayer& places,
- const MinimumSpanningTreeInfo& mst_info,
- const kimera_pgmo::DeformationGraph& deformations);
-
- protected:
- ros::NodeHandle nh_;
- ros::Publisher marker_pub_;
- PMGraphPluginConfig config_;
-};
-
-class PlaceParentsPlugin : public DsgVisualizerPlugin {
- public:
- PlaceParentsPlugin(const ros::NodeHandle& nh, const std::string& name);
-
- virtual ~PlaceParentsPlugin() = default;
-
- void draw(const std_msgs::Header& header, const DynamicSceneGraph& graph) override;
-
- void reset(const std_msgs::Header& header, const DynamicSceneGraph& graph) override;
-
- protected:
- ros::Publisher marker_pub_;
- PMGraphPluginConfig config_;
- bool published_nodes_;
- bool published_edges_;
-};
-
-} // namespace hydra
diff --git a/hydra_ros/include/hydra_ros/visualizer/visualizer_types.h b/hydra_ros/include/hydra_ros/visualizer/visualizer_types.h
deleted file mode 100644
index 00a42914..00000000
--- a/hydra_ros/include/hydra_ros/visualizer/visualizer_types.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#pragma once
-#include
-#include
-#include
-#include
-#include
-
-namespace hydra {
-
-using LayerConfig = hydra_ros::LayerVisualizerConfig;
-using DynamicLayerConfig = hydra_ros::DynamicLayerVisualizerConfig;
-using VisualizerConfig = hydra_ros::VisualizerConfig;
-using ColormapConfig = hydra_ros::ColormapConfig;
-using NodeColor = SemanticNodeAttributes::ColorVector;
-
-inline double getZOffset(double z_offset_scale,
- const VisualizerConfig& visualizer_config) {
- if (visualizer_config.collapse_layers) {
- return 0.0;
- }
-
- return z_offset_scale * visualizer_config.layer_z_step;
-}
-
-inline double getZOffset(const LayerConfig& config,
- const VisualizerConfig& visualizer_config) {
- return getZOffset(config.z_offset_scale, visualizer_config);
-}
-
-} // namespace hydra
diff --git a/hydra_ros/include/hydra_ros/visualizer/visualizer_utilities.h b/hydra_ros/include/hydra_ros/visualizer/visualizer_utilities.h
deleted file mode 100644
index 5a889c7d..00000000
--- a/hydra_ros/include/hydra_ros/visualizer/visualizer_utilities.h
+++ /dev/null
@@ -1,199 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#pragma once
-#include
-#include
-
-#include "hydra_ros/visualizer/visualizer_types.h"
-
-namespace hydra {
-
-using ColorFunction = std::function;
-using EdgeColorFunction =
- std::function;
-
-visualization_msgs::Marker makeDeleteMarker(const std_msgs::Header& header,
- size_t id,
- const std::string& ns);
-
-visualization_msgs::Marker makeLayerWireframeBoundingBoxes(
- const std_msgs::Header& header,
- const LayerConfig& config,
- const SceneGraphLayer& layer,
- const VisualizerConfig& visualizer_config,
- const std::string& ns);
-
-visualization_msgs::Marker makeEdgesToBoundingBoxes(
- const std_msgs::Header& header,
- const LayerConfig& config,
- const SceneGraphLayer& layer,
- const VisualizerConfig& visualizer_config,
- const std::string& ns);
-
-visualization_msgs::Marker makeBoundingBoxMarker(
- const std_msgs::Header& header,
- const LayerConfig& config,
- const SceneGraphNode& node,
- const VisualizerConfig& visualizer_config,
- const std::string& ns);
-
-visualization_msgs::Marker makeTextMarker(const std_msgs::Header& header,
- const LayerConfig& config,
- const SceneGraphNode& node,
- const VisualizerConfig& visualizer_config,
- const std::string& ns);
-
-visualization_msgs::Marker makeTextMarkerNoHeight(
- const std_msgs::Header& header,
- const LayerConfig& config,
- const SceneGraphNode& node,
- const VisualizerConfig& visualizer_config,
- const std::string& ns);
-
-visualization_msgs::Marker makeCentroidMarkers(
- const std_msgs::Header& header,
- const LayerConfig& config,
- const SceneGraphLayer& layer,
- const VisualizerConfig& visualizer_config,
- const std::string& ns);
-
-visualization_msgs::Marker makeCentroidMarkers(
- const std_msgs::Header& header,
- const LayerConfig& config,
- const SceneGraphLayer& layer,
- const VisualizerConfig& visualizer_config,
- const std::string& ns,
- const ColormapConfig& colors);
-
-visualization_msgs::Marker makeCentroidMarkers(
- const std_msgs::Header& header,
- const LayerConfig& config,
- const SceneGraphLayer& layer,
- const VisualizerConfig& visualizer_config,
- const std::string& ns,
- const ColorFunction& color_func);
-
-visualization_msgs::MarkerArray makeGraphEdgeMarkers(
- const std_msgs::Header& header,
- const DynamicSceneGraph& scene_graph,
- const std::map& configs,
- const VisualizerConfig& visualizer_config,
- const std::string& ns);
-
-visualization_msgs::Marker makeMeshEdgesMarker(
- const std_msgs::Header& header,
- const LayerConfig& config,
- const VisualizerConfig& visualizer_config,
- const DynamicSceneGraph& graph,
- const SceneGraphLayer& layer,
- const std::string& ns);
-
-visualization_msgs::MarkerArray makeGvdWireframe(
- const std_msgs::Header& header,
- const LayerConfig& config,
- const VisualizerConfig& visualizer_config,
- const SceneGraphLayer& layer,
- const std::string& ns,
- const ColormapConfig& colors,
- size_t marker_id = 0);
-
-visualization_msgs::MarkerArray makeGvdWireframe(const std_msgs::Header& header,
- const LayerConfig& config,
- const SceneGraphLayer& gvd,
- const std::string& ns,
- const ColorFunction& color_func,
- size_t marker_id = 0);
-
-visualization_msgs::Marker makeLayerEdgeMarkers(
- const std_msgs::Header& header,
- const LayerConfig& config,
- const SceneGraphLayer& layer,
- const VisualizerConfig& visualizer_config,
- const NodeColor& color,
- const std::string& ns);
-
-visualization_msgs::Marker makeLayerEdgeMarkers(
- const std_msgs::Header& header,
- const LayerConfig& config,
- const SceneGraphLayer& layer,
- const VisualizerConfig& visualizer_config,
- const std::string& ns,
- const EdgeColorFunction& color_func);
-
-visualization_msgs::Marker makeDynamicCentroidMarkers(
- const std_msgs::Header& header,
- const DynamicLayerConfig& config,
- const DynamicSceneGraphLayer& layer,
- const VisualizerConfig& visualizer_config,
- const NodeColor& color,
- const std::string& ns,
- size_t marker_id = 0);
-
-visualization_msgs::Marker makeDynamicCentroidMarkers(
- const std_msgs::Header& header,
- const DynamicLayerConfig& config,
- const DynamicSceneGraphLayer& layer,
- double layer_offset_scale,
- const VisualizerConfig& visualizer_config,
- const std::string& ns,
- const ColorFunction& color_func,
- size_t marker_id = 0);
-
-visualization_msgs::MarkerArray makeDynamicGraphEdgeMarkers(
- const std_msgs::Header& header,
- const DynamicSceneGraph& graph,
- const std::map& configs,
- const std::map& dynamic_configs,
- const VisualizerConfig& visualizer_config,
- const std::string& ns_prefix);
-
-visualization_msgs::Marker makeDynamicEdgeMarkers(
- const std_msgs::Header& header,
- const DynamicLayerConfig& config,
- const DynamicSceneGraphLayer& layer,
- const VisualizerConfig& visualizer_config,
- const NodeColor& color,
- const std::string& ns,
- size_t marker_id);
-
-visualization_msgs::Marker makeDynamicLabelMarker(
- const std_msgs::Header& header,
- const DynamicLayerConfig& config,
- const DynamicSceneGraphLayer& layer,
- const VisualizerConfig& visualizer_config,
- const std::string& ns,
- size_t marker_id);
-
-} // namespace hydra
diff --git a/hydra_ros/launch/datasets/mp3d.launch b/hydra_ros/launch/datasets/mp3d.launch
deleted file mode 100644
index 6a442a68..00000000
--- a/hydra_ros/launch/datasets/mp3d.launch
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/datasets/sidpac.launch b/hydra_ros/launch/datasets/sidpac.launch
deleted file mode 100644
index 5dfe51ec..00000000
--- a/hydra_ros/launch/datasets/sidpac.launch
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/datasets/simmons_a1.launch b/hydra_ros/launch/datasets/simmons_a1.launch
deleted file mode 100644
index 69f70c8d..00000000
--- a/hydra_ros/launch/datasets/simmons_a1.launch
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/datasets/simmons_jackal.launch b/hydra_ros/launch/datasets/simmons_jackal.launch
deleted file mode 100644
index f72c6678..00000000
--- a/hydra_ros/launch/datasets/simmons_jackal.launch
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/datasets/uhumans2.launch b/hydra_ros/launch/datasets/uhumans2.launch
deleted file mode 100644
index a35285df..00000000
--- a/hydra_ros/launch/datasets/uhumans2.launch
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/hydra.launch b/hydra_ros/launch/hydra.launch
deleted file mode 100644
index c96a3288..00000000
--- a/hydra_ros/launch/hydra.launch
+++ /dev/null
@@ -1,166 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/hydra_robot.launch b/hydra_ros/launch/hydra_robot.launch
deleted file mode 100644
index 680bbc59..00000000
--- a/hydra_ros/launch/hydra_robot.launch
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/hydra_robot_t265.launch b/hydra_ros/launch/hydra_robot_t265.launch
deleted file mode 100644
index 68f89d40..00000000
--- a/hydra_ros/launch/hydra_robot_t265.launch
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/misc/dsg_optimizer.launch b/hydra_ros/launch/misc/dsg_optimizer.launch
deleted file mode 100644
index 42df1e71..00000000
--- a/hydra_ros/launch/misc/dsg_optimizer.launch
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/places/gvd_validator.launch b/hydra_ros/launch/places/gvd_validator.launch
deleted file mode 100644
index cad6ca5d..00000000
--- a/hydra_ros/launch/places/gvd_validator.launch
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/places/hydra_topology.launch b/hydra_ros/launch/places/hydra_topology.launch
deleted file mode 100644
index 103dfb6d..00000000
--- a/hydra_ros/launch/places/hydra_topology.launch
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/places/hydra_topology_sidpac.launch b/hydra_ros/launch/places/hydra_topology_sidpac.launch
deleted file mode 100644
index 3a5f9ec9..00000000
--- a/hydra_ros/launch/places/hydra_topology_sidpac.launch
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/places/hydra_topology_simmons_jackal.launch b/hydra_ros/launch/places/hydra_topology_simmons_jackal.launch
deleted file mode 100644
index cd54d8f4..00000000
--- a/hydra_ros/launch/places/hydra_topology_simmons_jackal.launch
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/places/hydra_topology_uhumans2.launch b/hydra_ros/launch/places/hydra_topology_uhumans2.launch
deleted file mode 100644
index d41b47ee..00000000
--- a/hydra_ros/launch/places/hydra_topology_uhumans2.launch
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/data_sources/a1_pointcloud.launch b/hydra_ros/launch/utils/data_sources/a1_pointcloud.launch
deleted file mode 100644
index fe45bd70..00000000
--- a/hydra_ros/launch/utils/data_sources/a1_pointcloud.launch
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/data_sources/d455_pointcloud.launch b/hydra_ros/launch/utils/data_sources/d455_pointcloud.launch
deleted file mode 100644
index 8f91ad77..00000000
--- a/hydra_ros/launch/utils/data_sources/d455_pointcloud.launch
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/data_sources/jackal_pointcloud.launch b/hydra_ros/launch/utils/data_sources/jackal_pointcloud.launch
deleted file mode 100644
index d017f626..00000000
--- a/hydra_ros/launch/utils/data_sources/jackal_pointcloud.launch
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/data_sources/sidpac_pointcloud.launch b/hydra_ros/launch/utils/data_sources/sidpac_pointcloud.launch
deleted file mode 100644
index af39a366..00000000
--- a/hydra_ros/launch/utils/data_sources/sidpac_pointcloud.launch
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/data_sources/uhumans2_pointcloud.launch b/hydra_ros/launch/utils/data_sources/uhumans2_pointcloud.launch
deleted file mode 100644
index 7b87c0c7..00000000
--- a/hydra_ros/launch/utils/data_sources/uhumans2_pointcloud.launch
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/gt_pose/robot_gt_pose.launch b/hydra_ros/launch/utils/gt_pose/robot_gt_pose.launch
deleted file mode 100644
index b5fb3c1e..00000000
--- a/hydra_ros/launch/utils/gt_pose/robot_gt_pose.launch
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/gt_pose/sidpac_gt_pose.launch b/hydra_ros/launch/utils/gt_pose/sidpac_gt_pose.launch
deleted file mode 100644
index 5b3541bc..00000000
--- a/hydra_ros/launch/utils/gt_pose/sidpac_gt_pose.launch
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/hydra_streaming_visualizer.launch b/hydra_ros/launch/utils/hydra_streaming_visualizer.launch
deleted file mode 100644
index 57a82171..00000000
--- a/hydra_ros/launch/utils/hydra_streaming_visualizer.launch
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/hydra_visualizer.launch b/hydra_ros/launch/utils/hydra_visualizer.launch
deleted file mode 100644
index a340f9f6..00000000
--- a/hydra_ros/launch/utils/hydra_visualizer.launch
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/includes/a1_static_tfs.xml b/hydra_ros/launch/utils/includes/a1_static_tfs.xml
deleted file mode 100644
index 5d820f80..00000000
--- a/hydra_ros/launch/utils/includes/a1_static_tfs.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/includes/a1_t265_camera_static_tfs.xml b/hydra_ros/launch/utils/includes/a1_t265_camera_static_tfs.xml
deleted file mode 100644
index b4145ab8..00000000
--- a/hydra_ros/launch/utils/includes/a1_t265_camera_static_tfs.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/includes/a1_t265_static_tfs.xml b/hydra_ros/launch/utils/includes/a1_t265_static_tfs.xml
deleted file mode 100644
index 6d217fcf..00000000
--- a/hydra_ros/launch/utils/includes/a1_t265_static_tfs.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/includes/hydra_visualizer_base.xml b/hydra_ros/launch/utils/includes/hydra_visualizer_base.xml
deleted file mode 100644
index 37b93428..00000000
--- a/hydra_ros/launch/utils/includes/hydra_visualizer_base.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/includes/hydra_visualizer_params.xml b/hydra_ros/launch/utils/includes/hydra_visualizer_params.xml
deleted file mode 100644
index a3f2e449..00000000
--- a/hydra_ros/launch/utils/includes/hydra_visualizer_params.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/includes/hydra_visualizer_rviz.xml b/hydra_ros/launch/utils/includes/hydra_visualizer_rviz.xml
deleted file mode 100644
index c26894cc..00000000
--- a/hydra_ros/launch/utils/includes/hydra_visualizer_rviz.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/includes/rgbd_to_pointcloud.xml b/hydra_ros/launch/utils/includes/rgbd_to_pointcloud.xml
deleted file mode 100644
index 79fb4cf6..00000000
--- a/hydra_ros/launch/utils/includes/rgbd_to_pointcloud.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/includes/sparkal1_static_tfs.xml b/hydra_ros/launch/utils/includes/sparkal1_static_tfs.xml
deleted file mode 100644
index 038e0b74..00000000
--- a/hydra_ros/launch/utils/includes/sparkal1_static_tfs.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/includes/sparkal2_static_tfs.xml b/hydra_ros/launch/utils/includes/sparkal2_static_tfs.xml
deleted file mode 100644
index 97c8255e..00000000
--- a/hydra_ros/launch/utils/includes/sparkal2_static_tfs.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/includes/uhumans2_static_tfs.xml b/hydra_ros/launch/utils/includes/uhumans2_static_tfs.xml
deleted file mode 100644
index 3681ef88..00000000
--- a/hydra_ros/launch/utils/includes/uhumans2_static_tfs.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/odom_to_tf.launch b/hydra_ros/launch/utils/odom_to_tf.launch
deleted file mode 100644
index a99eaaf6..00000000
--- a/hydra_ros/launch/utils/odom_to_tf.launch
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/launch/utils/publish_rotation_transform.launch b/hydra_ros/launch/utils/publish_rotation_transform.launch
deleted file mode 100644
index 55670b14..00000000
--- a/hydra_ros/launch/utils/publish_rotation_transform.launch
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(arg centroid)
-
-
-
diff --git a/hydra_ros/launch/utils/scene_graph_logger.launch b/hydra_ros/launch/utils/scene_graph_logger.launch
deleted file mode 100644
index 0efdd896..00000000
--- a/hydra_ros/launch/utils/scene_graph_logger.launch
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hydra_ros/nodelet_plugins.xml b/hydra_ros/nodelet_plugins.xml
deleted file mode 100644
index e40ba611..00000000
--- a/hydra_ros/nodelet_plugins.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
- nodelet to mask an arbitrary image
-
-
diff --git a/hydra_ros/package.xml b/hydra_ros/package.xml
deleted file mode 100644
index 8afd85bf..00000000
--- a/hydra_ros/package.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
- hydra_ros
- 1.0.0
- hydra ros nodes
-
- Nathan Hughes
- Yun Chang
- Nathan Hughes
-
- BSD
-
- catkin
- roscpp
- dynamic_reconfigure
- std_msgs
- geometry_msgs
- visualization_msgs
- hydra_msgs
- pcl_ros
- tf2_eigen
- tf2_ros
- cv_bridge
- nodelet
- image_transport
- glog_catkin
-
- gtsam
- spark_dsg
- pose_graph_tools
- kimera_pgmo
- kimera_semantics_ros
- voxblox_ros
- hydra
-
- image_proc
- depth_image_proc
- rviz
-
-
-
-
-
-
diff --git a/hydra_ros/resources/a1_center_mask_roi_640.png b/hydra_ros/resources/a1_center_mask_roi_640.png
deleted file mode 100644
index d0852d37..00000000
Binary files a/hydra_ros/resources/a1_center_mask_roi_640.png and /dev/null differ
diff --git a/hydra_ros/resources/a1_left_mask_roi.png b/hydra_ros/resources/a1_left_mask_roi.png
deleted file mode 100644
index b1a71cc9..00000000
Binary files a/hydra_ros/resources/a1_left_mask_roi.png and /dev/null differ
diff --git a/hydra_ros/rviz/a1.rviz b/hydra_ros/rviz/a1.rviz
deleted file mode 100644
index 306852e1..00000000
--- a/hydra_ros/rviz/a1.rviz
+++ /dev/null
@@ -1,254 +0,0 @@
-Panels:
- - Class: rviz/Displays
- Help Height: 78
- Name: Displays
- Property Tree Widget:
- Expanded:
- - /Global Options1
- - /Status1
- - /TF1/Frames1
- Splitter Ratio: 0.5
- Tree Height: 1246
- - Class: rviz/Selection
- Name: Selection
- - Class: rviz/Tool Properties
- Expanded:
- - /2D Pose Estimate1
- - /2D Nav Goal1
- - /Publish Point1
- Name: Tool Properties
- Splitter Ratio: 0.5886790156364441
- - Class: rviz/Views
- Expanded:
- - /Current View1
- Name: Views
- Splitter Ratio: 0.5
- - Class: rviz/Time
- Experimental: false
- Name: Time
- SyncMode: 0
- SyncSource: ""
-Preferences:
- PromptSaveOnExit: true
-Toolbars:
- toolButtonStyle: 2
-Visualization Manager:
- Class: ""
- Displays:
- - Alpha: 0.5
- Cell Size: 0.5
- Class: rviz/Grid
- Color: 160; 160; 164
- Enabled: false
- Line Style:
- Line Width: 0.029999999329447746
- Value: Lines
- Name: Grid
- Normal Cell Count: 0
- Offset:
- X: 0
- Y: 0
- Z: 0
- Plane: XY
- Plane Cell Count: 1000
- Reference Frame:
- Value: false
- - Class: rviz/Group
- Displays:
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dsg_markers
- Name: Scene Graph (Static)
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dynamic_layers_viz
- Name: Scene Graph (Dynamic)
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- Enabled: true
- Name: Scene Graph
- - Class: rviz_mesh_plugin/TriangleMesh
- Cull Faces: true
- Display Type:
- Faces Alpha: 1
- Faces Color: 0; 255; 0
- Value: Vertex Color
- Enabled: true
- Mesh Buffer Size: 1
- Name: Mesh
- Show Normals:
- Normals Alpha: 1
- Normals Color: 255; 0; 255
- Normals Scaling Factor: 0.10000000149011612
- Value: false
- Show Wireframe:
- Value: false
- Wireframe Alpha: 1
- Wireframe Color: 0; 0; 0
- Topic: /hydra_dsg_visualizer/dsg_mesh/pgmo
- Value: true
- - Class: rviz/Image
- Enabled: false
- Image Topic: /semantic/image_raw
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: Semantics
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: false
- - Class: rviz/TF
- Enabled: false
- Frame Timeout: 15
- Frames:
- All Enabled: false
- Marker Scale: 1
- Name: TF
- Show Arrows: true
- Show Axes: true
- Show Names: false
- Tree:
- {}
- Update Interval: 0
- Value: false
- - Class: rviz/Axes
- Enabled: false
- Length: 1
- Name: Axes
- Radius: 0.10000000149011612
- Reference Frame:
- Value: false
- - Alpha: 1
- Autocompute Intensity Bounds: true
- Autocompute Value Bounds:
- Max Value: 10
- Min Value: -10
- Value: true
- Axis: Z
- Channel Name: intensity
- Class: rviz/PointCloud2
- Color: 255; 255; 255
- Color Transformer: RGB8
- Decay Time: 0
- Enabled: false
- Invert Rainbow: false
- Max Color: 255; 255; 255
- Max Intensity: 4096
- Min Color: 0; 0; 0
- Min Intensity: 0
- Name: Pointcloud
- Position Transformer: XYZ
- Queue Size: 10
- Selectable: true
- Size (Pixels): 3
- Size (m): 0.009999999776482582
- Style: Flat Squares
- Topic: /sparkal1/semantic_pointcloud
- Unreliable: false
- Use Fixed Frame: true
- Use rainbow: true
- Value: false
- - Class: rviz/Image
- Enabled: false
- Image Topic: /cam_d455/color/image_raw
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: Color
- Normalize Range: true
- Queue Size: 2
- Transport Hint: compressed
- Unreliable: false
- Value: false
- - Class: rviz/Image
- Enabled: false
- Image Topic: /cam_d455/depth/image_rect_raw
- Max Value: 1
- Median window: 3000
- Min Value: 0
- Name: Depth
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: false
- Enabled: true
- Global Options:
- Background Color: 255; 255; 255
- Default Light: true
- Fixed Frame: world
- Frame Rate: 30
- Name: root
- Tools:
- - Class: rviz/Interact
- Hide Inactive Objects: true
- - Class: rviz/MoveCamera
- - Class: rviz/Select
- - Class: rviz/FocusCamera
- - Class: rviz/Measure
- - Class: rviz/SetInitialPose
- Theta std deviation: 0.2617993950843811
- Topic: /initialpose
- X std deviation: 0.5
- Y std deviation: 0.5
- - Class: rviz/SetGoal
- Topic: /move_base_simple/goal
- - Class: rviz/PublishPoint
- Single click: true
- Topic: /clicked_point
- Value: true
- Views:
- Current:
- Class: rviz/Orbit
- Distance: 28.469799041748047
- Enable Stereo Rendering:
- Stereo Eye Separation: 0.05999999865889549
- Stereo Focal Distance: 1
- Swap Stereo Eyes: false
- Value: false
- Focal Point:
- X: 9.487153053283691
- Y: -0.244480162858963
- Z: 10.57595157623291
- Focal Shape Fixed Size: false
- Focal Shape Size: 0.05000000074505806
- Invert Z Axis: false
- Name: Current View
- Near Clip Distance: 0.009999999776482582
- Pitch: 0.2953983545303345
- Target Frame:
- Value: Orbit (rviz)
- Yaw: 5.668578147888184
- Saved: ~
-Window Geometry:
- Color:
- collapsed: false
- Depth:
- collapsed: false
- Displays:
- collapsed: true
- Height: 1543
- Hide Left Dock: true
- Hide Right Dock: true
- QMainWindow State: 000000ff00000000fd0000000400000000000001fe00000569fc020000000ffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073000000003d00000569000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000001200530065006d0061006e0074006900630073000000003d000002b50000001600fffffffb0000000600520047004200000002cf000000c80000000000000000fb0000000a0044006500700074006800000002ed000000ac0000001600fffffffb0000000600520047004201000002ec000000ad0000000000000000fb0000000a0043006f006c006f0072000000003d000005690000001600fffffffb0000000a0049006d00610067006500000002d0000000c70000000000000000fb0000000a0044006500700074006801000002d0000000c70000000000000000000000010000010f00000569fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003d00000569000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000075f0000003efc0100000002fb0000000800540069006d006501000000000000075f000002eb00fffffffb0000000800540069006d006501000000000000045000000000000000000000075f0000056900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
- Selection:
- collapsed: false
- Semantics:
- collapsed: false
- Time:
- collapsed: false
- Tool Properties:
- collapsed: false
- Views:
- collapsed: true
- Width: 1887
- X: 67
- Y: 27
diff --git a/hydra_ros/rviz/a1_topdown.rviz b/hydra_ros/rviz/a1_topdown.rviz
deleted file mode 100644
index 67ce0e00..00000000
--- a/hydra_ros/rviz/a1_topdown.rviz
+++ /dev/null
@@ -1,249 +0,0 @@
-Panels:
- - Class: rviz/Displays
- Help Height: 78
- Name: Displays
- Property Tree Widget:
- Expanded:
- - /Global Options1
- - /Status1
- - /TF1/Frames1
- Splitter Ratio: 0.5
- Tree Height: 402
- - Class: rviz/Selection
- Name: Selection
- - Class: rviz/Tool Properties
- Expanded:
- - /2D Pose Estimate1
- - /2D Nav Goal1
- - /Publish Point1
- Name: Tool Properties
- Splitter Ratio: 0.5886790156364441
- - Class: rviz/Views
- Expanded:
- - /Current View1
- Name: Views
- Splitter Ratio: 0.5
- - Class: rviz/Time
- Experimental: false
- Name: Time
- SyncMode: 0
- SyncSource: ""
-Preferences:
- PromptSaveOnExit: true
-Toolbars:
- toolButtonStyle: 2
-Visualization Manager:
- Class: ""
- Displays:
- - Alpha: 0.5
- Cell Size: 0.5
- Class: rviz/Grid
- Color: 160; 160; 164
- Enabled: false
- Line Style:
- Line Width: 0.029999999329447746
- Value: Lines
- Name: Grid
- Normal Cell Count: 0
- Offset:
- X: 0
- Y: 0
- Z: 0
- Plane: XY
- Plane Cell Count: 1000
- Reference Frame:
- Value: false
- - Class: rviz/Group
- Displays:
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dsg_markers
- Name: Scene Graph (Static)
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dynamic_layers_viz
- Name: Scene Graph (Dynamic)
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- Enabled: true
- Name: Scene Graph
- - Class: rviz_mesh_plugin/TriangleMesh
- Cull Faces: true
- Display Type:
- Faces Alpha: 1
- Faces Color: 0; 255; 0
- Value: Vertex Color
- Enabled: true
- Mesh Buffer Size: 1
- Name: Mesh
- Show Normals:
- Normals Alpha: 1
- Normals Color: 255; 0; 255
- Normals Scaling Factor: 0.10000000149011612
- Value: false
- Show Wireframe:
- Value: false
- Wireframe Alpha: 1
- Wireframe Color: 0; 0; 0
- Topic: /hydra_dsg_visualizer/dsg_mesh/pgmo
- Value: true
- - Class: rviz/Image
- Enabled: true
- Image Topic: /semantic/image_raw
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: Semantics
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: true
- - Class: rviz/TF
- Enabled: false
- Frame Timeout: 15
- Frames:
- All Enabled: false
- Marker Scale: 1
- Name: TF
- Show Arrows: true
- Show Axes: true
- Show Names: false
- Tree:
- {}
- Update Interval: 0
- Value: false
- - Class: rviz/Axes
- Enabled: false
- Length: 1
- Name: Axes
- Radius: 0.10000000149011612
- Reference Frame:
- Value: false
- - Alpha: 1
- Autocompute Intensity Bounds: true
- Autocompute Value Bounds:
- Max Value: 10
- Min Value: -10
- Value: true
- Axis: Z
- Channel Name: intensity
- Class: rviz/PointCloud2
- Color: 255; 255; 255
- Color Transformer: RGB8
- Decay Time: 0
- Enabled: false
- Invert Rainbow: false
- Max Color: 255; 255; 255
- Max Intensity: 4096
- Min Color: 0; 0; 0
- Min Intensity: 0
- Name: Pointcloud
- Position Transformer: XYZ
- Queue Size: 10
- Selectable: true
- Size (Pixels): 3
- Size (m): 0.009999999776482582
- Style: Flat Squares
- Topic: /sparkal1/semantic_pointcloud
- Unreliable: false
- Use Fixed Frame: true
- Use rainbow: true
- Value: false
- - Class: rviz/Image
- Enabled: true
- Image Topic: /cam_d455/color/image_raw
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: Color
- Normalize Range: true
- Queue Size: 2
- Transport Hint: compressed
- Unreliable: false
- Value: true
- - Class: rviz/Image
- Enabled: false
- Image Topic: /cam_d455/depth/image_rect_raw
- Max Value: 1
- Median window: 3000
- Min Value: 0
- Name: Depth
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: false
- Enabled: true
- Global Options:
- Background Color: 255; 255; 255
- Default Light: true
- Fixed Frame: world
- Frame Rate: 30
- Name: root
- Tools:
- - Class: rviz/Interact
- Hide Inactive Objects: true
- - Class: rviz/MoveCamera
- - Class: rviz/Select
- - Class: rviz/FocusCamera
- - Class: rviz/Measure
- - Class: rviz/SetInitialPose
- Theta std deviation: 0.2617993950843811
- Topic: /initialpose
- X std deviation: 0.5
- Y std deviation: 0.5
- - Class: rviz/SetGoal
- Topic: /move_base_simple/goal
- - Class: rviz/PublishPoint
- Single click: true
- Topic: /clicked_point
- Value: true
- Views:
- Current:
- Angle: 0.45000120997428894
- Class: rviz/TopDownOrtho
- Enable Stereo Rendering:
- Stereo Eye Separation: 0.05999999865889549
- Stereo Focal Distance: 1
- Swap Stereo Eyes: false
- Value: false
- Invert Z Axis: false
- Name: Current View
- Near Clip Distance: 0.009999999776482582
- Scale: 61.3039436340332
- Target Frame:
- Value: TopDownOrtho (rviz)
- X: 4.109123706817627
- Y: 3.330336332321167
- Saved: ~
-Window Geometry:
- Color:
- collapsed: false
- Depth:
- collapsed: false
- Displays:
- collapsed: false
- Height: 1543
- Hide Left Dock: false
- Hide Right Dock: true
- QMainWindow State: 000000ff00000000fd0000000400000000000001fe00000569fc020000000ffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d0000021d000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000001200530065006d0061006e00740069006300730100000260000001a20000001600fffffffb0000000600520047004200000002cf000000c80000000000000000fb0000000a0044006500700074006800000002ed000000ac0000001600fffffffb0000000600520047004201000002ec000000ad0000000000000000fb0000000a0043006f006c006f007201000004080000019e0000001600fffffffb0000000a0049006d00610067006500000002d0000000c70000000000000000fb0000000a0044006500700074006801000002d0000000c70000000000000000000000010000010f0000056bfc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003d0000056b000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000075f0000003efc0100000002fb0000000800540069006d006501000000000000075f000002eb00fffffffb0000000800540069006d006501000000000000045000000000000000000000055b0000056900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
- Selection:
- collapsed: false
- Semantics:
- collapsed: false
- Time:
- collapsed: false
- Tool Properties:
- collapsed: false
- Views:
- collapsed: true
- Width: 1887
- X: 1953
- Y: 27
diff --git a/hydra_ros/rviz/dsg_optimizer.rviz b/hydra_ros/rviz/dsg_optimizer.rviz
deleted file mode 100644
index 359e5718..00000000
--- a/hydra_ros/rviz/dsg_optimizer.rviz
+++ /dev/null
@@ -1,191 +0,0 @@
-Panels:
- - Class: rviz/Displays
- Help Height: 75
- Name: Displays
- Property Tree Widget:
- Expanded:
- - /Dsg Dynamic Layers1/Namespaces1
- Splitter Ratio: 0.5
- Tree Height: 696
- - Class: rviz/Selection
- Name: Selection
- - Class: rviz/Tool Properties
- Expanded:
- - /2D Pose Estimate1
- - /2D Nav Goal1
- - /Publish Point1
- Name: Tool Properties
- Splitter Ratio: 0.5886790156364441
- - Class: rviz/Views
- Expanded:
- - /Current View1
- Name: Views
- Splitter Ratio: 0.5
- - Class: rviz/Time
- Experimental: false
- Name: Time
- SyncMode: 0
- SyncSource: ""
-Preferences:
- PromptSaveOnExit: true
-Toolbars:
- toolButtonStyle: 2
-Visualization Manager:
- Class: ""
- Displays:
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /kimera_dsg_visualizer/dynamic_layers_viz
- Name: Dsg Dynamic Layers
- Namespaces:
- dynamic_edges_a: true
- dynamic_label_a: true
- dynamic_nodes_a: true
- Queue Size: 100
- Value: true
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /incremental_dsg_builder_node/pm_graph_viz/mesh_connection_plugin/places_mesh_connection_viz
- Name: Place-Mesh Graph Connections
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /kimera_dsg_visualizer/dsg_markers
- Name: Scene Graph
- Namespaces:
- interlayer_edges_3_2: true
- layer_bounding_boxes_2: true
- layer_edges_3: true
- layer_nodes_2: true
- layer_nodes_3: true
- mesh_object_connections: true
- Queue Size: 100
- Value: true
- - Class: rviz_mesh_plugin/TriangleMesh
- Display Type:
- Faces Alpha: 1
- Faces Color: 0; 255; 0
- Value: Vertex Color
- Enabled: true
- Mesh Buffer Size: 1
- Name: DSG Mesh
- Show Normals:
- Normals Alpha: 1
- Normals Color: 255; 0; 255
- Normals Scaling Factor: 0.10000000149011612
- Value: false
- Show Wireframe:
- Value: false
- Wireframe Alpha: 1
- Wireframe Color: 0; 0; 0
- Topic: /kimera_dsg_visualizer/dsg_mesh
- Value: true
- - Class: rviz/Marker
- Enabled: true
- Marker Topic: /dsg_optimizer_node/pgmo/posegraph_viewer/loop_edges
- Name: InlierLcEdges
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- - Class: rviz/Marker
- Enabled: true
- Marker Topic: /dsg_optimizer_node/pgmo/posegraph_viewer/odometry_edges
- Name: OdomEdges
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- - Class: rviz/Marker
- Enabled: true
- Marker Topic: /dsg_optimizer_node/pgmo/posegraph_viewer/rejected_loop_edges
- Name: OutlierLcEdges
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- - Class: rviz/Marker
- Enabled: true
- Marker Topic: /dsg_optimizer_node/pgmo/deformation_graph_mesh_mesh
- Name: MeshMeshEdges
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- - Class: rviz/Marker
- Enabled: true
- Marker Topic: /dsg_optimizer_node/pgmo/deformation_graph_pose_mesh
- Name: PoseMeshEdges
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- Enabled: true
- Global Options:
- Background Color: 255; 255; 255
- Default Light: true
- Fixed Frame: world
- Frame Rate: 30
- Name: root
- Tools:
- - Class: rviz/Interact
- Hide Inactive Objects: true
- - Class: rviz/MoveCamera
- - Class: rviz/Select
- - Class: rviz/FocusCamera
- - Class: rviz/Measure
- - Class: rviz/SetInitialPose
- Theta std deviation: 0.2617993950843811
- Topic: /initialpose
- X std deviation: 0.5
- Y std deviation: 0.5
- - Class: rviz/SetGoal
- Topic: /move_base_simple/goal
- - Class: rviz/PublishPoint
- Single click: true
- Topic: /clicked_point
- Value: true
- Views:
- Current:
- Class: rviz/Orbit
- Distance: 25.45623779296875
- Enable Stereo Rendering:
- Stereo Eye Separation: 0.05999999865889549
- Stereo Focal Distance: 1
- Swap Stereo Eyes: false
- Value: false
- Focal Point:
- X: 7.4949212074279785
- Y: -2.775383234024048
- Z: 2.9567534923553467
- Focal Shape Fixed Size: false
- Focal Shape Size: 0.05000000074505806
- Invert Z Axis: false
- Name: Current View
- Near Clip Distance: 0.009999999776482582
- Pitch: 0.6647979021072388
- Target Frame: left_cam
- Value: Orbit (rviz)
- Yaw: 2.611844062805176
- Saved: ~
-Window Geometry:
- Displays:
- collapsed: false
- Height: 1025
- Hide Left Dock: false
- Hide Right Dock: true
- QMainWindow State: 000000ff00000000fd0000000400000000000001c700000340fc020000000dfb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000002da000002160000000000000000fb0000000a0049006d0061006700650000000500000002a30000000000000000fb000000100044006900730070006c006100790073010000003d00000340000000c900fffffffb000000160044006500700074006800200049006d006100670065000000019a0000009e0000000000000000fb0000001200520047004200200049006d00610067006500000001f1000000c20000000000000000fb00000024005300650067006d0065006e0074006100740069006f006e00200049006d006100670065000000027c000000fa0000000000000000000000010000025700000774fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003d00000774000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000073d00000061fc0100000002fb0000000800540069006d006501000000000000073d000002eb00fffffffb0000000800540069006d00650100000000000004500000000000000000000005700000034000000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
- Selection:
- collapsed: false
- Time:
- collapsed: false
- Tool Properties:
- collapsed: false
- Views:
- collapsed: true
- Width: 1853
- X: 67
- Y: 27
diff --git a/hydra_ros/rviz/gvd_validator.rviz b/hydra_ros/rviz/gvd_validator.rviz
deleted file mode 100644
index e31c1bb3..00000000
--- a/hydra_ros/rviz/gvd_validator.rviz
+++ /dev/null
@@ -1,189 +0,0 @@
-Panels:
- - Class: rviz/Displays
- Help Height: 78
- Name: Displays
- Property Tree Widget:
- Expanded:
- - /Global Options1
- Splitter Ratio: 0.5
- Tree Height: 725
- - Class: rviz/Selection
- Name: Selection
- - Class: rviz/Tool Properties
- Expanded:
- - /2D Pose Estimate1
- - /2D Nav Goal1
- - /Publish Point1
- Name: Tool Properties
- Splitter Ratio: 0.5886790156364441
- - Class: rviz/Views
- Expanded:
- - /Current View1
- Name: Views
- Splitter Ratio: 0.5
- - Class: rviz/Time
- Experimental: false
- Name: Time
- SyncMode: 0
- SyncSource: ""
-Preferences:
- PromptSaveOnExit: true
-Toolbars:
- toolButtonStyle: 2
-Visualization Manager:
- Class: ""
- Displays:
- - Alpha: 0.5
- Cell Size: 0.5
- Class: rviz/Grid
- Color: 160; 160; 164
- Enabled: true
- Line Style:
- Line Width: 0.029999999329447746
- Value: Lines
- Name: Grid
- Normal Cell Count: 0
- Offset:
- X: 0
- Y: 0
- Z: 0
- Plane: XY
- Plane Cell Count: 1000
- Reference Frame:
- Value: true
- - Class: voxblox_rviz_plugin/VoxbloxMesh
- Enabled: true
- Name: VoxbloxMesh
- Topic: /mesh_viz
- Unreliable: false
- Value: true
- - Class: rviz/MarkerArray
- Enabled: false
- Marker Topic: /gvd_validator/surface_viz
- Name: Surface Voxels
- Namespaces:
- {}
- Queue Size: 100
- Value: false
- - Class: rviz/MarkerArray
- Enabled: false
- Marker Topic: /gvd_validator/gvd_viz
- Name: GVD
- Namespaces:
- {}
- Queue Size: 100
- Value: false
- - Class: rviz/MarkerArray
- Enabled: false
- Marker Topic: /gvd_validator/graph_viz
- Name: Places
- Namespaces:
- {}
- Queue Size: 100
- Value: false
- - Class: rviz/MarkerArray
- Enabled: false
- Marker Topic: /gvd_validator/graph_label_viz
- Name: Places (Labels)
- Namespaces:
- {}
- Queue Size: 100
- Value: false
- - Class: rviz/MarkerArray
- Enabled: false
- Marker Topic: /gvd_validator/full/surface_viz
- Name: Surface Voxels (Full)
- Namespaces:
- {}
- Queue Size: 100
- Value: false
- - Class: rviz/MarkerArray
- Enabled: false
- Marker Topic: /gvd_validator/full/gvd_viz
- Name: GVD (Full)
- Namespaces:
- {}
- Queue Size: 100
- Value: false
- - Class: rviz/MarkerArray
- Enabled: false
- Marker Topic: /gvd_validator/full/graph_viz
- Name: Places (Full)
- Namespaces:
- {}
- Queue Size: 100
- Value: false
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /gvd_validator/error_viz
- Name: ESDF Error
- Namespaces:
- error_marker: true
- Queue Size: 100
- Value: true
- Enabled: true
- Global Options:
- Background Color: 48; 48; 48
- Default Light: true
- Fixed Frame: world
- Frame Rate: 30
- Name: root
- Tools:
- - Class: rviz/Interact
- Hide Inactive Objects: true
- - Class: rviz/MoveCamera
- - Class: rviz/Select
- - Class: rviz/FocusCamera
- - Class: rviz/Measure
- - Class: rviz/SetInitialPose
- Theta std deviation: 0.2617993950843811
- Topic: /initialpose
- X std deviation: 0.5
- Y std deviation: 0.5
- - Class: rviz/SetGoal
- Topic: /move_base_simple/goal
- - Class: rviz/PublishPoint
- Single click: true
- Topic: /clicked_point
- Value: true
- Views:
- Current:
- Class: rviz/Orbit
- Distance: 11.935579299926758
- Enable Stereo Rendering:
- Stereo Eye Separation: 0.05999999865889549
- Stereo Focal Distance: 1
- Swap Stereo Eyes: false
- Value: false
- Focal Point:
- X: -12.340414047241211
- Y: 25.65089988708496
- Z: 0.7586337924003601
- Focal Shape Fixed Size: true
- Focal Shape Size: 0.05000000074505806
- Invert Z Axis: false
- Name: Current View
- Near Clip Distance: 0.009999999776482582
- Pitch: 0.2053990662097931
- Target Frame:
- Value: Orbit (rviz)
- Yaw: 3.1404342651367188
- Saved: ~
-Window Geometry:
- Displays:
- collapsed: false
- Height: 1016
- Hide Left Dock: false
- Hide Right Dock: true
- QMainWindow State: 000000ff00000000fd0000000400000000000001560000035efc020000000bfb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b0000035e000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0044006500700074006801000002a7000000f20000000000000000fb0000000600520047004201000002d6000000c30000000000000000fb0000001200530065006d0061006e007400690063007301000002fa0000009f0000000000000000000000010000010f0000035efc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003b0000035e000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d00650100000000000007800000024400fffffffb0000000800540069006d00650100000000000004500000000000000000000006240000035e00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
- Selection:
- collapsed: false
- Time:
- collapsed: false
- Tool Properties:
- collapsed: false
- Views:
- collapsed: true
- Width: 1920
- X: 0
- Y: 27
diff --git a/hydra_ros/rviz/hydra_streaming_visualizer.rviz b/hydra_ros/rviz/hydra_streaming_visualizer.rviz
deleted file mode 100644
index 580e45b5..00000000
--- a/hydra_ros/rviz/hydra_streaming_visualizer.rviz
+++ /dev/null
@@ -1,272 +0,0 @@
-Panels:
- - Class: rviz/Displays
- Help Height: 0
- Name: Displays
- Property Tree Widget:
- Expanded:
- - /Global Options1
- Splitter Ratio: 0.5
- Tree Height: 142
- - Class: rviz/Selection
- Name: Selection
- - Class: rviz/Tool Properties
- Expanded:
- - /2D Pose Estimate1
- - /2D Nav Goal1
- - /Publish Point1
- Name: Tool Properties
- Splitter Ratio: 0.5886790156364441
- - Class: rviz/Views
- Expanded:
- - /Current View1
- Name: Views
- Splitter Ratio: 0.5
- - Class: rviz/Time
- Name: Time
- SyncMode: 0
- SyncSource: Image
-Preferences:
- PromptSaveOnExit: true
-Toolbars:
- toolButtonStyle: 2
-Visualization Manager:
- Class: ""
- Displays:
- - Alpha: 0.5
- Cell Size: 0.5
- Class: rviz/Grid
- Color: 160; 160; 164
- Enabled: false
- Line Style:
- Line Width: 0.029999999329447746
- Value: Lines
- Name: Grid
- Normal Cell Count: 0
- Offset:
- X: 0
- Y: 0
- Z: 0
- Plane: XY
- Plane Cell Count: 1000
- Reference Frame:
- Value: false
- - Class: rviz/TF
- Enabled: true
- Frame Timeout: 15
- Frames:
- All Enabled: true
- cam_d455_accel_frame:
- Value: true
- cam_d455_accel_optical_frame:
- Value: true
- cam_d455_color_frame:
- Value: true
- cam_d455_color_optical_frame:
- Value: true
- cam_d455_depth_frame:
- Value: true
- cam_d455_depth_optical_frame:
- Value: true
- cam_d455_gyro_frame:
- Value: true
- cam_d455_imu_optical_frame:
- Value: true
- cam_d455_kalibr:
- Value: true
- cam_d455_link:
- Value: true
- cam_t265_accel_frame:
- Value: true
- cam_t265_accel_optical_frame:
- Value: true
- cam_t265_gyro_frame:
- Value: true
- cam_t265_imu_optical_frame:
- Value: true
- cam_t265_link:
- Value: true
- cam_t265_odom_frame:
- Value: true
- cam_t265_pose_frame:
- Value: true
- left_cam:
- Value: true
- world:
- Value: true
- Marker Alpha: 1
- Marker Scale: 1
- Name: TF
- Show Arrows: true
- Show Axes: true
- Show Names: true
- Tree:
- world:
- cam_t265_odom_frame:
- cam_t265_pose_frame:
- cam_t265_link:
- cam_t265_accel_frame:
- cam_t265_accel_optical_frame:
- {}
- cam_t265_gyro_frame:
- cam_t265_imu_optical_frame:
- cam_d455_kalibr:
- cam_d455_link:
- cam_d455_accel_frame:
- cam_d455_accel_optical_frame:
- {}
- cam_d455_color_frame:
- cam_d455_color_optical_frame:
- {}
- cam_d455_depth_frame:
- cam_d455_depth_optical_frame:
- {}
- cam_d455_gyro_frame:
- cam_d455_imu_optical_frame:
- {}
- left_cam:
- {}
- Update Interval: 0
- Value: true
- - Class: rviz/Group
- Displays:
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dsg_markers
- Name: Scene Graph (Static)
- Namespaces:
- interlayer_edges_3_2: true
- interlayer_edges_4_3: true
- layer_bounding_boxes_2: true
- layer_bounding_boxes_edges_2: true
- layer_edges_3: true
- layer_labels_2: true
- layer_labels_4: true
- layer_nodes_2: true
- layer_nodes_3: true
- layer_nodes_4: true
- Queue Size: 100
- Value: true
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dynamic_layers_viz
- Name: Scene Graph (Dynamic)
- Namespaces:
- "dynamic_edges_\x00": true
- "dynamic_label_\x00": true
- "dynamic_nodes_\x00": true
- Queue Size: 100
- Value: true
- Enabled: true
- Name: Scene Graph
- - Class: rviz_mesh_plugin/TriangleMesh
- Cull Faces: true
- Display Type:
- Faces Alpha: 1
- Faces Color: 0; 255; 0
- Value: Vertex Color
- Enabled: true
- Mesh Buffer Size: 1
- Name: Mesh
- Show Normals:
- Normals Alpha: 1
- Normals Color: 255; 0; 255
- Normals Scaling Factor: 0.10000000149011612
- Value: false
- Show Wireframe:
- Value: false
- Wireframe Alpha: 1
- Wireframe Color: 0; 0; 0
- Topic: /hydra_dsg_visualizer/dsg_mesh/pgmo
- Value: true
- - Class: rviz/Image
- Enabled: true
- Image Topic: /cam_d455/color/image_raw
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: Image
- Normalize Range: true
- Queue Size: 2
- Transport Hint: compressed
- Unreliable: false
- Value: true
- - Class: rviz/Image
- Enabled: true
- Image Topic: /semantic/image_raw
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: Image
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: true
- Enabled: true
- Global Options:
- Background Color: 255; 255; 255
- Default Light: true
- Fixed Frame: world
- Frame Rate: 30
- Name: root
- Tools:
- - Class: rviz/Interact
- Hide Inactive Objects: true
- - Class: rviz/MoveCamera
- - Class: rviz/Select
- - Class: rviz/FocusCamera
- - Class: rviz/Measure
- - Class: rviz/SetInitialPose
- Theta std deviation: 0.2617993950843811
- Topic: /initialpose
- X std deviation: 0.5
- Y std deviation: 0.5
- - Class: rviz/SetGoal
- Topic: /move_base_simple/goal
- - Class: rviz/PublishPoint
- Single click: true
- Topic: /clicked_point
- Value: true
- Views:
- Current:
- Class: rviz/ThirdPersonFollower
- Distance: 35.81574249267578
- Enable Stereo Rendering:
- Stereo Eye Separation: 0.05999999865889549
- Stereo Focal Distance: 1
- Swap Stereo Eyes: false
- Value: false
- Field of View: 0.7853981852531433
- Focal Point:
- X: 2.397207736968994
- Y: -7.912760257720947
- Z: 0
- Focal Shape Fixed Size: false
- Focal Shape Size: 0.05000000074505806
- Invert Z Axis: false
- Name: Current View
- Near Clip Distance: 0.009999999776482582
- Pitch: 0.7353984713554382
- Target Frame:
- Yaw: 3.2904016971588135
- Saved: ~
-Window Geometry:
- Displays:
- collapsed: false
- Height: 1016
- Hide Left Dock: false
- Hide Right Dock: true
- Image:
- collapsed: false
- QMainWindow State: 000000ff00000000fd0000000400000000000001f90000039dfc020000000efb0000001200530065006c0065006300740069006f006e000000003e0000009b0000005d00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003e000000cb000000cb00fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d006100670065010000010f000001610000001600fffffffb0000000a0049006d0061006700650000000235000000b60000000000000000fb0000000a0049006d0061006700650100000276000001650000001600fffffffb0000000a0049006d006100670065010000023d0000019e0000000000000000fb0000000a0049006d00610067006501000001b7000002240000000000000000fb0000000a0049006d006100670065010000021a000001c10000000000000000000000010000010f0000039dfc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003e0000039d000000a500fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d00650000000000000007800000039300fffffffb0000000800540069006d00650100000000000004500000000000000000000005810000039d00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
- Selection:
- collapsed: false
- Time:
- collapsed: false
- Tool Properties:
- collapsed: false
- Views:
- collapsed: true
- Width: 1920
- X: 0
- Y: 29
diff --git a/hydra_ros/rviz/hydra_streaming_visualizer_topdown.rviz b/hydra_ros/rviz/hydra_streaming_visualizer_topdown.rviz
deleted file mode 100644
index 1a9ebb8e..00000000
--- a/hydra_ros/rviz/hydra_streaming_visualizer_topdown.rviz
+++ /dev/null
@@ -1,216 +0,0 @@
-Panels:
- - Class: rviz/Displays
- Help Height: 78
- Name: Displays
- Property Tree Widget:
- Expanded:
- - /Global Options1
- Splitter Ratio: 0.5
- Tree Height: 363
- - Class: rviz/Selection
- Name: Selection
- - Class: rviz/Tool Properties
- Expanded:
- - /2D Pose Estimate1
- - /2D Nav Goal1
- - /Publish Point1
- Name: Tool Properties
- Splitter Ratio: 0.5886790156364441
- - Class: rviz/Views
- Expanded:
- - /Current View1
- Name: Views
- Splitter Ratio: 0.5
- - Class: rviz/Time
- Name: Time
- SyncMode: 0
- SyncSource: ""
-Preferences:
- PromptSaveOnExit: true
-Toolbars:
- toolButtonStyle: 2
-Visualization Manager:
- Class: ""
- Displays:
- - Alpha: 0.5
- Cell Size: 0.5
- Class: rviz/Grid
- Color: 160; 160; 164
- Enabled: false
- Line Style:
- Line Width: 0.029999999329447746
- Value: Lines
- Name: Grid
- Normal Cell Count: 0
- Offset:
- X: 0
- Y: 0
- Z: 0
- Plane: XY
- Plane Cell Count: 1000
- Reference Frame:
- Value: false
- - Class: rviz/TF
- Enabled: true
- Filter (blacklist): ""
- Filter (whitelist): ""
- Frame Timeout: 15
- Frames:
- All Enabled: true
- base_link:
- Value: true
- camera_accel_frame:
- Value: true
- camera_accel_optical_frame:
- Value: true
- camera_gyro_frame:
- Value: true
- camera_imu_optical_frame:
- Value: true
- camera_link:
- Value: true
- camera_odom_frame:
- Value: true
- camera_pose_frame:
- Value: true
- left_cam:
- Value: true
- map:
- Value: true
- world:
- Value: true
- Marker Alpha: 1
- Marker Scale: 1
- Name: TF
- Show Arrows: true
- Show Axes: true
- Show Names: true
- Tree:
- camera_odom_frame:
- camera_pose_frame:
- camera_link:
- camera_accel_frame:
- camera_accel_optical_frame:
- {}
- camera_gyro_frame:
- camera_imu_optical_frame:
- {}
- map:
- world:
- base_link:
- left_cam:
- {}
- Update Interval: 0
- Value: true
- - Class: rviz/Group
- Displays:
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dsg_markers
- Name: Scene Graph (Static)
- Namespaces:
- interlayer_edges_3_2: true
- interlayer_edges_4_3: true
- layer_bounding_boxes_2: true
- layer_bounding_boxes_edges_2: true
- layer_edges_3: true
- layer_edges_4: true
- layer_labels_2: true
- layer_labels_4: true
- layer_nodes_2: true
- layer_nodes_3: true
- layer_nodes_4: true
- Queue Size: 100
- Value: true
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dynamic_layers_viz
- Name: Scene Graph (Dynamic)
- Namespaces:
- "dynamic_edges_\x00": true
- "dynamic_label_\x00": true
- "dynamic_nodes_\x00": true
- Queue Size: 100
- Value: true
- Enabled: true
- Name: Scene Graph
- - Class: rviz_mesh_plugin/TriangleMesh
- Cull Faces: true
- Display Type:
- Faces Alpha: 1
- Faces Color: 0; 255; 0
- Value: Vertex Color
- Enabled: true
- Mesh Buffer Size: 1
- Name: Mesh
- Show Normals:
- Normals Alpha: 1
- Normals Color: 255; 0; 255
- Normals Scaling Factor: 0.10000000149011612
- Value: false
- Show Wireframe:
- Value: false
- Wireframe Alpha: 1
- Wireframe Color: 0; 0; 0
- Topic: /hydra_dsg_visualizer/dsg_mesh/pgmo
- Value: true
- Enabled: true
- Global Options:
- Background Color: 255; 255; 255
- Default Light: true
- Fixed Frame: world
- Frame Rate: 30
- Name: root
- Tools:
- - Class: rviz/Interact
- Hide Inactive Objects: true
- - Class: rviz/MoveCamera
- - Class: rviz/Select
- - Class: rviz/FocusCamera
- - Class: rviz/Measure
- - Class: rviz/SetInitialPose
- Theta std deviation: 0.2617993950843811
- Topic: /initialpose
- X std deviation: 0.5
- Y std deviation: 0.5
- - Class: rviz/SetGoal
- Topic: /move_base_simple/goal
- - Class: rviz/PublishPoint
- Single click: true
- Topic: /clicked_point
- Value: true
- Views:
- Current:
- Angle: 1.4799994230270386
- Class: rviz/TopDownOrtho
- Enable Stereo Rendering:
- Stereo Eye Separation: 0.05999999865889549
- Stereo Focal Distance: 1
- Swap Stereo Eyes: false
- Value: false
- Invert Z Axis: false
- Name: Current View
- Near Clip Distance: 0.009999999776482582
- Scale: 43.006595611572266
- Target Frame:
- X: -2.711778402328491
- Y: 15.237112045288086
- Saved: ~
-Window Geometry:
- Displays:
- collapsed: true
- Height: 1043
- Hide Left Dock: true
- Hide Right Dock: true
- QMainWindow State: 000000ff00000000fd00000004000000000000015600000359fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073000000003e00000359000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000003b9fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003d000003b9000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d00650000000000000007800000041800fffffffb0000000800540069006d0065010000000000000450000000000000000000000780000003b900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
- Selection:
- collapsed: false
- Time:
- collapsed: false
- Tool Properties:
- collapsed: false
- Views:
- collapsed: true
- Width: 1920
- X: 1920
- Y: 0
diff --git a/hydra_ros/rviz/hydra_visualizer.rviz b/hydra_ros/rviz/hydra_visualizer.rviz
deleted file mode 100644
index 73103e9d..00000000
--- a/hydra_ros/rviz/hydra_visualizer.rviz
+++ /dev/null
@@ -1,191 +0,0 @@
-Panels:
- - Class: rviz/Displays
- Help Height: 78
- Name: Displays
- Property Tree Widget:
- Expanded:
- - /Global Options1
- Splitter Ratio: 0.5
- Tree Height: 363
- - Class: rviz/Selection
- Name: Selection
- - Class: rviz/Tool Properties
- Expanded:
- - /2D Pose Estimate1
- - /2D Nav Goal1
- - /Publish Point1
- Name: Tool Properties
- Splitter Ratio: 0.5886790156364441
- - Class: rviz/Views
- Expanded:
- - /Current View1
- Name: Views
- Splitter Ratio: 0.5
- - Class: rviz/Time
- Name: Time
- SyncMode: 0
- SyncSource: ""
-Preferences:
- PromptSaveOnExit: true
-Toolbars:
- toolButtonStyle: 2
-Visualization Manager:
- Class: ""
- Displays:
- - Alpha: 0.5
- Cell Size: 0.5
- Class: rviz/Grid
- Color: 160; 160; 164
- Enabled: false
- Line Style:
- Line Width: 0.029999999329447746
- Value: Lines
- Name: Grid
- Normal Cell Count: 0
- Offset:
- X: 0
- Y: 0
- Z: 0
- Plane: XY
- Plane Cell Count: 1000
- Reference Frame:
- Value: false
- - Class: rviz/Group
- Displays:
- - Class: voxblox_rviz_plugin/VoxbloxMesh
- Enabled: true
- Name: Mesh (Voxblox)
- Queue Size: 10
- Topic: /hydra_visualizer/dsg_mesh/voxblox
- Unreliable: false
- Value: true
- - Class: rviz_mesh_plugin/TriangleMesh
- Cull Faces: true
- Display Type:
- Faces Alpha: 1
- Faces Color: 0; 255; 0
- Value: Vertex Color
- Enabled: true
- Mesh Buffer Size: 1
- Name: Mesh (TriangleMesh)
- Show Normals:
- Normals Alpha: 1
- Normals Color: 255; 0; 255
- Normals Scaling Factor: 0.10000000149011612
- Value: false
- Show Wireframe:
- Value: false
- Wireframe Alpha: 1
- Wireframe Color: 0; 0; 0
- Topic: /hydra_visualizer/dsg_mesh/pgmo
- Value: true
- - Class: rviz/Marker
- Enabled: true
- Marker Topic: /hydra_visualizer/mesh
- Name: Mesh (MarkerBased)
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- Enabled: true
- Name: Mesh Subscribers
- - Class: rviz/Group
- Displays:
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_visualizer/dsg_markers
- Name: Scene Graph (Static)
- Namespaces:
- interlayer_edges_3_2: true
- interlayer_edges_4_3: true
- interlayer_edges_5_4: true
- layer_bounding_boxes_2: true
- layer_bounding_boxes_edges_2: true
- layer_edges_3: true
- layer_edges_4: true
- layer_labels_4: true
- layer_labels_5: true
- layer_nodes_2: true
- layer_nodes_3: true
- layer_nodes_4: true
- layer_nodes_5: true
- Queue Size: 100
- Value: true
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_visualizer/dynamic_layers_viz
- Name: Scene Graph (Dynamic)
- Namespaces:
- "dynamic_edges_\x00": true
- "dynamic_label_\x00": true
- "dynamic_nodes_\x00": true
- Queue Size: 100
- Value: true
- Enabled: true
- Name: Scene Graph
- Enabled: true
- Global Options:
- Background Color: 255; 255; 255
- Default Light: true
- Fixed Frame: world
- Frame Rate: 30
- Name: root
- Tools:
- - Class: rviz/Interact
- Hide Inactive Objects: true
- - Class: rviz/MoveCamera
- - Class: rviz/Select
- - Class: rviz/FocusCamera
- - Class: rviz/Measure
- - Class: rviz/SetInitialPose
- Theta std deviation: 0.2617993950843811
- Topic: /initialpose
- X std deviation: 0.5
- Y std deviation: 0.5
- - Class: rviz/SetGoal
- Topic: /move_base_simple/goal
- - Class: rviz/PublishPoint
- Single click: true
- Topic: /clicked_point
- Value: true
- Views:
- Current:
- Class: rviz/Orbit
- Distance: 78.42807006835938
- Enable Stereo Rendering:
- Stereo Eye Separation: 0.05999999865889549
- Stereo Focal Distance: 1
- Swap Stereo Eyes: false
- Value: false
- Field of View: 0.7853981852531433
- Focal Point:
- X: -13.64610767364502
- Y: 12.250905990600586
- Z: 20.807790756225586
- Focal Shape Fixed Size: true
- Focal Shape Size: 0.05000000074505806
- Invert Z Axis: false
- Name: Current View
- Near Clip Distance: 0.009999999776482582
- Pitch: -0.04999962076544762
- Target Frame:
- Yaw: 5.390016078948975
- Saved: ~
-Window Geometry:
- Displays:
- collapsed: true
- Height: 1016
- Hide Left Dock: true
- Hide Right Dock: true
- QMainWindow State: 000000ff00000000fd00000004000000000000015600000359fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073000000003e00000359000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f00000359fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003e00000359000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d0065010000000000000780000003bc00fffffffb0000000800540069006d00650100000000000004500000000000000000000007800000035a00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
- Selection:
- collapsed: false
- Time:
- collapsed: false
- Tool Properties:
- collapsed: false
- Views:
- collapsed: true
- Width: 1920
- X: 0
- Y: 27
diff --git a/hydra_ros/rviz/mp3d.rviz b/hydra_ros/rviz/mp3d.rviz
deleted file mode 100644
index fffbff79..00000000
--- a/hydra_ros/rviz/mp3d.rviz
+++ /dev/null
@@ -1,255 +0,0 @@
-Panels:
- - Class: rviz/Displays
- Help Height: 0
- Name: Displays
- Property Tree Widget:
- Expanded:
- - /Global Options1
- - /TF1/Frames1
- - /TF1/Tree1
- Splitter Ratio: 0.5
- Tree Height: 277
- - Class: rviz/Selection
- Name: Selection
- - Class: rviz/Tool Properties
- Expanded:
- - /2D Pose Estimate1
- - /2D Nav Goal1
- - /Publish Point1
- Name: Tool Properties
- Splitter Ratio: 0.5886790156364441
- - Class: rviz/Views
- Expanded:
- - /Current View1
- Name: Views
- Splitter Ratio: 0.5
- - Class: rviz/Time
- Name: Time
- SyncMode: 0
- SyncSource: Segmentation Image
-Preferences:
- PromptSaveOnExit: true
-Toolbars:
- toolButtonStyle: 2
-Visualization Manager:
- Class: ""
- Displays:
- - Class: rviz/TF
- Enabled: true
- Frame Timeout: 15
- Frames:
- All Enabled: false
- base_link:
- Value: false
- depth_camera_link:
- Value: false
- rgb_camera_link:
- Value: false
- semantic_camera_link:
- Value: true
- world:
- Value: true
- Marker Alpha: 1
- Marker Scale: 1
- Name: TF
- Show Arrows: true
- Show Axes: true
- Show Names: true
- Tree:
- world:
- base_link:
- depth_camera_link:
- {}
- rgb_camera_link:
- {}
- semantic_camera_link:
- {}
- Update Interval: 0
- Value: true
- - Alpha: 1
- Autocompute Intensity Bounds: true
- Autocompute Value Bounds:
- Max Value: 10
- Min Value: -10
- Value: true
- Axis: Z
- Channel Name: intensity
- Class: rviz/PointCloud2
- Color: 255; 255; 255
- Color Transformer: RGB8
- Decay Time: 0
- Enabled: true
- Invert Rainbow: false
- Max Color: 255; 255; 255
- Min Color: 0; 0; 0
- Name: Input Pointcloud
- Position Transformer: XYZ
- Queue Size: 10
- Selectable: true
- Size (Pixels): 3
- Size (m): 0.009999999776482582
- Style: Flat Squares
- Topic: /habitat/agent_0/pointcloud
- Unreliable: false
- Use Fixed Frame: true
- Use rainbow: true
- Value: true
- - Class: rviz/Image
- Enabled: true
- Image Topic: /habitat/agent_0/depth
- Max Value: 30
- Median window: 5
- Min Value: 0
- Name: Depth Image
- Normalize Range: false
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: true
- - Class: rviz/Image
- Enabled: true
- Image Topic: /habitat/agent_0/rgb
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: RGB Image
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: true
- - Class: rviz/Image
- Enabled: true
- Image Topic: /habitat/agent_0/semantic
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: Segmentation Image
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: true
- - Alpha: 1
- Class: rviz/Axes
- Enabled: true
- Length: 1
- Name: Axes
- Radius: 0.10000000149011612
- Reference Frame:
- Show Trail: false
- Value: true
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dsg_markers
- Name: Scene Graph
- Namespaces:
- interlayer_edges_4_3: true
- layer_edges_3: true
- layer_edges_4: true
- layer_labels_4: true
- layer_nodes_3: true
- layer_nodes_4: true
- Queue Size: 100
- Value: true
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dynamic_layers_viz
- Name: Scene Graph (Dynamic)
- Namespaces:
- "dynamic_edges_\x00": true
- "dynamic_label_\x00": true
- "dynamic_nodes_\x00": true
- Queue Size: 100
- Value: true
- - Class: rviz_mesh_plugin/TriangleMesh
- Display Type:
- Faces Alpha: 1
- Faces Color: 0; 255; 0
- Value: Vertex Color
- Enabled: true
- Mesh Buffer Size: 1
- Name: TriangleMesh
- Show Normals:
- Normals Alpha: 1
- Normals Color: 255; 0; 255
- Normals Scaling Factor: 0.10000000149011612
- Value: true
- Show Wireframe:
- Value: false
- Wireframe Alpha: 1
- Wireframe Color: 0; 0; 0
- Topic: /hydra_dsg_visualizer/dsg_mesh/pgmo
- Value: true
- Enabled: true
- Global Options:
- Background Color: 30; 30; 30
- Default Light: true
- Fixed Frame: world
- Frame Rate: 30
- Name: root
- Tools:
- - Class: rviz/Interact
- Hide Inactive Objects: true
- - Class: rviz/MoveCamera
- - Class: rviz/Select
- - Class: rviz/FocusCamera
- - Class: rviz/Measure
- - Class: rviz/SetInitialPose
- Theta std deviation: 0.2617993950843811
- Topic: /initialpose
- X std deviation: 0.5
- Y std deviation: 0.5
- - Class: rviz/SetGoal
- Topic: /move_base_simple/goal
- - Class: rviz/PublishPoint
- Single click: true
- Topic: /clicked_point
- Value: true
- Views:
- Current:
- Class: rviz/Orbit
- Distance: 33.361881256103516
- Enable Stereo Rendering:
- Stereo Eye Separation: 0.05999999865889549
- Stereo Focal Distance: 1
- Swap Stereo Eyes: false
- Value: false
- Field of View: 0.7853981852531433
- Focal Point:
- X: -6.912068843841553
- Y: 3.2137718200683594
- Z: 3.5431013107299805
- Focal Shape Fixed Size: false
- Focal Shape Size: 0.05000000074505806
- Invert Z Axis: false
- Name: Current View
- Near Clip Distance: 0.009999999776482582
- Pitch: 0.6002027988433838
- Target Frame: left_cam
- Yaw: 0.10009074956178665
- Saved: ~
-Window Geometry:
- Depth Image:
- collapsed: false
- Displays:
- collapsed: false
- Height: 1016
- Hide Left Dock: false
- Hide Right Dock: true
- QMainWindow State: 000000ff00000000fd0000000400000000000001c700000337fc020000000dfb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000002da000002160000000000000000fb0000000a0049006d0061006700650000000500000002a30000000000000000fb000000100044006900730070006c006100790073010000003d00000152000000c900fffffffb000000160044006500700074006800200049006d0061006700650100000195000000a80000001600fffffffb0000001200520047004200200049006d0061006700650100000243000000970000001600fffffffb00000024005300650067006d0065006e0074006100740069006f006e00200049006d00610067006501000002e0000000940000001600ffffff000000010000025700000774fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003d00000774000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000078000000061fc0100000002fb0000000800540069006d0065010000000000000780000003bc00fffffffb0000000800540069006d00650100000000000004500000000000000000000005b30000033700000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
- RGB Image:
- collapsed: false
- Segmentation Image:
- collapsed: false
- Selection:
- collapsed: false
- Time:
- collapsed: false
- Tool Properties:
- collapsed: false
- Views:
- collapsed: true
- Width: 1920
- X: 0
- Y: 27
diff --git a/hydra_ros/rviz/sidpac.rviz b/hydra_ros/rviz/sidpac.rviz
deleted file mode 100644
index 728d4d08..00000000
--- a/hydra_ros/rviz/sidpac.rviz
+++ /dev/null
@@ -1,212 +0,0 @@
-Panels:
- - Class: rviz/Displays
- Help Height: 78
- Name: Displays
- Property Tree Widget:
- Expanded:
- - /Global Options1
- Splitter Ratio: 0.5
- Tree Height: 80
- - Class: rviz/Selection
- Name: Selection
- - Class: rviz/Tool Properties
- Expanded:
- - /2D Pose Estimate1
- - /2D Nav Goal1
- - /Publish Point1
- Name: Tool Properties
- Splitter Ratio: 0.5886790156364441
- - Class: rviz/Views
- Expanded:
- - /Current View1
- Name: Views
- Splitter Ratio: 0.5
- - Class: rviz/Time
- Experimental: false
- Name: Time
- SyncMode: 0
- SyncSource: Semantics
-Preferences:
- PromptSaveOnExit: true
-Toolbars:
- toolButtonStyle: 2
-Visualization Manager:
- Class: ""
- Displays:
- - Alpha: 0.5
- Cell Size: 0.5
- Class: rviz/Grid
- Color: 160; 160; 164
- Enabled: false
- Line Style:
- Line Width: 0.029999999329447746
- Value: Lines
- Name: Grid
- Normal Cell Count: 0
- Offset:
- X: 0
- Y: 0
- Z: 0
- Plane: XY
- Plane Cell Count: 1000
- Reference Frame:
- Value: false
- - Class: rviz/Group
- Displays:
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dsg_markers
- Name: Scene Graph (Static)
- Namespaces:
- interlayer_edges_3_2: true
- interlayer_edges_4_3: true
- layer_bounding_boxes_2: true
- layer_bounding_boxes_edges_2: true
- layer_edges_3: true
- layer_labels_2: true
- layer_labels_4: true
- layer_nodes_2: true
- layer_nodes_3: true
- layer_nodes_4: true
- Queue Size: 100
- Value: true
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dynamic_layers_viz
- Name: Scene Graph (Dynamic)
- Namespaces:
- "dynamic_edges_\x00": true
- "dynamic_label_\x00": true
- "dynamic_nodes_\x00": true
- Queue Size: 100
- Value: true
- Enabled: true
- Name: Scene Graph
- - Class: rviz_mesh_plugin/TriangleMesh
- Cull Faces: true
- Display Type:
- Faces Alpha: 1
- Faces Color: 0; 255; 0
- Value: Vertex Color
- Enabled: true
- Mesh Buffer Size: 1
- Name: Mesh
- Show Normals:
- Normals Alpha: 1
- Normals Color: 255; 0; 255
- Normals Scaling Factor: 0.10000000149011612
- Value: false
- Show Wireframe:
- Value: false
- Wireframe Alpha: 1
- Wireframe Color: 0; 0; 0
- Topic: /hydra_dsg_visualizer/dsg_mesh/pgmo
- Value: true
- - Class: rviz/Image
- Enabled: true
- Image Topic: /semantic/image_raw
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: Semantics
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: true
- - Class: rviz/Image
- Enabled: true
- Image Topic: /azure/rgb/image_raw
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: RGB
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: true
- - Class: rviz/Image
- Enabled: false
- Image Topic: /azure/depth_to_rgb/image_raw
- Max Value: 1
- Median window: 300
- Min Value: 0
- Name: Depth
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: false
- Enabled: true
- Global Options:
- Background Color: 255; 255; 255
- Default Light: true
- Fixed Frame: world
- Frame Rate: 30
- Name: root
- Tools:
- - Class: rviz/Interact
- Hide Inactive Objects: true
- - Class: rviz/MoveCamera
- - Class: rviz/Select
- - Class: rviz/FocusCamera
- - Class: rviz/Measure
- - Class: rviz/SetInitialPose
- Theta std deviation: 0.2617993950843811
- Topic: /initialpose
- X std deviation: 0.5
- Y std deviation: 0.5
- - Class: rviz/SetGoal
- Topic: /move_base_simple/goal
- - Class: rviz/PublishPoint
- Single click: true
- Topic: /clicked_point
- Value: true
- Views:
- Current:
- Class: rviz/Orbit
- Distance: 35.61590576171875
- Enable Stereo Rendering:
- Stereo Eye Separation: 0.05999999865889549
- Stereo Focal Distance: 1
- Swap Stereo Eyes: false
- Value: false
- Focal Point:
- X: -6.252310276031494
- Y: -5.647854328155518
- Z: 6.616474151611328
- Focal Shape Fixed Size: true
- Focal Shape Size: 0.05000000074505806
- Invert Z Axis: false
- Name: Current View
- Near Clip Distance: 0.009999999776482582
- Pitch: 0.14539863169193268
- Target Frame:
- Value: Orbit (rviz)
- Yaw: 1.300398826599121
- Saved: ~
-Window Geometry:
- Depth:
- collapsed: false
- Displays:
- collapsed: false
- Height: 1016
- Hide Left Dock: false
- Hide Right Dock: true
- QMainWindow State: 000000ff00000000fd000000040000000000000210000003a2fc020000000bfb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073000000003b000000d9000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000001200530065006d0061006e0074006900630073010000003b0000018b0000001600fffffffb0000000600520047004201000001cc000002110000001600fffffffb0000000a004400650070007400680000000304000000930000001600ffffff000000010000010f0000056bfc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003d0000056b000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000004afc0100000002fb0000000800540069006d00650000000000000007800000024400fffffffb0000000800540069006d006501000000000000045000000000000000000000056a000003a200000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
- RGB:
- collapsed: false
- Selection:
- collapsed: false
- Semantics:
- collapsed: false
- Time:
- collapsed: false
- Tool Properties:
- collapsed: false
- Views:
- collapsed: true
- Width: 1920
- X: 0
- Y: 27
diff --git a/hydra_ros/rviz/sidpac_topdown.rviz b/hydra_ros/rviz/sidpac_topdown.rviz
deleted file mode 100644
index 6d57371c..00000000
--- a/hydra_ros/rviz/sidpac_topdown.rviz
+++ /dev/null
@@ -1,207 +0,0 @@
-Panels:
- - Class: rviz/Displays
- Help Height: 78
- Name: Displays
- Property Tree Widget:
- Expanded:
- - /Global Options1
- Splitter Ratio: 0.5
- Tree Height: 397
- - Class: rviz/Selection
- Name: Selection
- - Class: rviz/Tool Properties
- Expanded:
- - /2D Pose Estimate1
- - /2D Nav Goal1
- - /Publish Point1
- Name: Tool Properties
- Splitter Ratio: 0.5886790156364441
- - Class: rviz/Views
- Expanded:
- - /Current View1
- Name: Views
- Splitter Ratio: 0.5
- - Class: rviz/Time
- Experimental: false
- Name: Time
- SyncMode: 0
- SyncSource: Semantics
-Preferences:
- PromptSaveOnExit: true
-Toolbars:
- toolButtonStyle: 2
-Visualization Manager:
- Class: ""
- Displays:
- - Alpha: 0.5
- Cell Size: 0.5
- Class: rviz/Grid
- Color: 160; 160; 164
- Enabled: false
- Line Style:
- Line Width: 0.029999999329447746
- Value: Lines
- Name: Grid
- Normal Cell Count: 0
- Offset:
- X: 0
- Y: 0
- Z: 0
- Plane: XY
- Plane Cell Count: 1000
- Reference Frame:
- Value: false
- - Class: rviz/Group
- Displays:
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dsg_markers
- Name: Scene Graph (Static)
- Namespaces:
- interlayer_edges_3_2: true
- interlayer_edges_4_3: true
- layer_bounding_boxes_2: true
- layer_bounding_boxes_edges_2: true
- layer_edges_3: true
- layer_edges_4: true
- layer_labels_4: true
- layer_nodes_2: true
- layer_nodes_3: true
- layer_nodes_4: true
- Queue Size: 100
- Value: true
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dynamic_layers_viz
- Name: Scene Graph (Dynamic)
- Namespaces:
- "dynamic_edges_\x00": true
- "dynamic_label_\x00": true
- "dynamic_nodes_\x00": true
- Queue Size: 100
- Value: true
- Enabled: true
- Name: Scene Graph
- - Class: rviz_mesh_plugin/TriangleMesh
- Cull Faces: true
- Display Type:
- Faces Alpha: 1
- Faces Color: 0; 255; 0
- Value: Vertex Color
- Enabled: true
- Mesh Buffer Size: 1
- Name: Mesh
- Show Normals:
- Normals Alpha: 1
- Normals Color: 255; 0; 255
- Normals Scaling Factor: 0.10000000149011612
- Value: false
- Show Wireframe:
- Value: false
- Wireframe Alpha: 1
- Wireframe Color: 0; 0; 0
- Topic: /hydra_dsg_visualizer/dsg_mesh/pgmo
- Value: true
- - Class: rviz/Image
- Enabled: true
- Image Topic: /semantic/image_raw
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: Semantics
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: true
- - Class: rviz/Image
- Enabled: true
- Image Topic: /azure/rgb/image_raw
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: RGB
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: true
- - Class: rviz/Image
- Enabled: false
- Image Topic: /azure/depth_to_rgb/image_raw
- Max Value: 1
- Median window: 300
- Min Value: 0
- Name: Depth
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: false
- Enabled: true
- Global Options:
- Background Color: 255; 255; 255
- Default Light: true
- Fixed Frame: world
- Frame Rate: 30
- Name: root
- Tools:
- - Class: rviz/Interact
- Hide Inactive Objects: true
- - Class: rviz/MoveCamera
- - Class: rviz/Select
- - Class: rviz/FocusCamera
- - Class: rviz/Measure
- - Class: rviz/SetInitialPose
- Theta std deviation: 0.2617993950843811
- Topic: /initialpose
- X std deviation: 0.5
- Y std deviation: 0.5
- - Class: rviz/SetGoal
- Topic: /move_base_simple/goal
- - Class: rviz/PublishPoint
- Single click: true
- Topic: /clicked_point
- Value: true
- Views:
- Current:
- Angle: 3.5550038814544678
- Class: rviz/TopDownOrtho
- Enable Stereo Rendering:
- Stereo Eye Separation: 0.05999999865889549
- Stereo Focal Distance: 1
- Swap Stereo Eyes: false
- Value: false
- Invert Z Axis: false
- Name: Current View
- Near Clip Distance: 0.009999999776482582
- Scale: 60.421165466308594
- Target Frame:
- Value: TopDownOrtho (rviz)
- X: -6.289322376251221
- Y: 0.6851611137390137
- Saved: ~
-Window Geometry:
- Depth:
- collapsed: false
- Displays:
- collapsed: false
- Height: 1545
- Hide Left Dock: false
- Hide Right Dock: true
- QMainWindow State: 000000ff00000000fd0000000400000000000001800000056bfc020000000bfb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d00000218000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000001200530065006d0061006e0074006900630073010000025b000001a40000001600fffffffb000000060052004700420100000405000001a30000001600fffffffb0000000a004400650070007400680000000304000000930000001600ffffff000000010000010f0000056bfc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003d0000056b000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000075f0000003efc0100000002fb0000000800540069006d006501000000000000075f000002eb00fffffffb0000000800540069006d00650100000000000004500000000000000000000005d90000056b00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
- RGB:
- collapsed: false
- Selection:
- collapsed: false
- Semantics:
- collapsed: false
- Time:
- collapsed: false
- Tool Properties:
- collapsed: false
- Views:
- collapsed: true
- Width: 1887
- X: 1953
- Y: 27
diff --git a/hydra_ros/rviz/sparkal1.rviz b/hydra_ros/rviz/sparkal1.rviz
deleted file mode 100644
index 8dc70d8f..00000000
--- a/hydra_ros/rviz/sparkal1.rviz
+++ /dev/null
@@ -1,253 +0,0 @@
-Panels:
- - Class: rviz/Displays
- Help Height: 78
- Name: Displays
- Property Tree Widget:
- Expanded:
- - /Status1
- - /TF1/Frames1
- Splitter Ratio: 0.5
- Tree Height: 601
- - Class: rviz/Selection
- Name: Selection
- - Class: rviz/Tool Properties
- Expanded:
- - /2D Pose Estimate1
- - /2D Nav Goal1
- - /Publish Point1
- Name: Tool Properties
- Splitter Ratio: 0.5886790156364441
- - Class: rviz/Views
- Expanded:
- - /Current View1
- Name: Views
- Splitter Ratio: 0.5
- - Class: rviz/Time
- Experimental: false
- Name: Time
- SyncMode: 0
- SyncSource: RGB
-Preferences:
- PromptSaveOnExit: true
-Toolbars:
- toolButtonStyle: 2
-Visualization Manager:
- Class: ""
- Displays:
- - Alpha: 0.5
- Cell Size: 0.5
- Class: rviz/Grid
- Color: 160; 160; 164
- Enabled: false
- Line Style:
- Line Width: 0.029999999329447746
- Value: Lines
- Name: Grid
- Normal Cell Count: 0
- Offset:
- X: 0
- Y: 0
- Z: 0
- Plane: XY
- Plane Cell Count: 1000
- Reference Frame:
- Value: false
- - Class: rviz/Group
- Displays:
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dsg_markers
- Name: Scene Graph (Static)
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dynamic_layers_viz
- Name: Scene Graph (Dynamic)
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- Enabled: true
- Name: Scene Graph
- - Class: rviz_mesh_plugin/TriangleMesh
- Cull Faces: true
- Display Type:
- Faces Alpha: 1
- Faces Color: 0; 255; 0
- Value: Vertex Color
- Enabled: true
- Mesh Buffer Size: 1
- Name: Mesh
- Show Normals:
- Normals Alpha: 1
- Normals Color: 255; 0; 255
- Normals Scaling Factor: 0.10000000149011612
- Value: false
- Show Wireframe:
- Value: false
- Wireframe Alpha: 1
- Wireframe Color: 0; 0; 0
- Topic: /hydra_dsg_visualizer/dsg_mesh/pgmo
- Value: true
- - Class: rviz/Image
- Enabled: true
- Image Topic: /sparkal1/oneformer/image_raw
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: Semantics
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: true
- - Class: rviz/Image
- Enabled: true
- Image Topic: /sparkal1/forward/color/image_raw
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: RGB
- Normalize Range: true
- Queue Size: 2
- Transport Hint: compressed
- Unreliable: false
- Value: true
- - Class: rviz/Image
- Enabled: false
- Image Topic: /sparkal1/forward/depth/image_rect_raw
- Max Value: 1
- Median window: 300
- Min Value: 0
- Name: Depth
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: false
- - Class: rviz/TF
- Enabled: false
- Frame Timeout: 15
- Frames:
- All Enabled: false
- Marker Scale: 1
- Name: TF
- Show Arrows: true
- Show Axes: true
- Show Names: false
- Tree:
- {}
- Update Interval: 0
- Value: false
- - Class: rviz/Axes
- Enabled: true
- Length: 1
- Name: Axes
- Radius: 0.10000000149011612
- Reference Frame:
- Value: true
- - Alpha: 1
- Autocompute Intensity Bounds: true
- Autocompute Value Bounds:
- Max Value: 10
- Min Value: -10
- Value: true
- Axis: Z
- Channel Name: intensity
- Class: rviz/PointCloud2
- Color: 255; 255; 255
- Color Transformer: RGB8
- Decay Time: 0
- Enabled: false
- Invert Rainbow: false
- Max Color: 255; 255; 255
- Max Intensity: 4096
- Min Color: 0; 0; 0
- Min Intensity: 0
- Name: Pointcloud
- Position Transformer: XYZ
- Queue Size: 10
- Selectable: true
- Size (Pixels): 3
- Size (m): 0.009999999776482582
- Style: Flat Squares
- Topic: /sparkal1/semantic_pointcloud
- Unreliable: false
- Use Fixed Frame: true
- Use rainbow: true
- Value: false
- Enabled: true
- Global Options:
- Background Color: 255; 255; 255
- Default Light: true
- Fixed Frame: sparkal1/map
- Frame Rate: 30
- Name: root
- Tools:
- - Class: rviz/Interact
- Hide Inactive Objects: true
- - Class: rviz/MoveCamera
- - Class: rviz/Select
- - Class: rviz/FocusCamera
- - Class: rviz/Measure
- - Class: rviz/SetInitialPose
- Theta std deviation: 0.2617993950843811
- Topic: /initialpose
- X std deviation: 0.5
- Y std deviation: 0.5
- - Class: rviz/SetGoal
- Topic: /move_base_simple/goal
- - Class: rviz/PublishPoint
- Single click: true
- Topic: /clicked_point
- Value: true
- Views:
- Current:
- Class: rviz/Orbit
- Distance: 57.95964813232422
- Enable Stereo Rendering:
- Stereo Eye Separation: 0.05999999865889549
- Stereo Focal Distance: 1
- Swap Stereo Eyes: false
- Value: false
- Focal Point:
- X: -22.299163818359375
- Y: 10.510017395019531
- Z: -0.9869003295898438
- Focal Shape Fixed Size: true
- Focal Shape Size: 0.05000000074505806
- Invert Z Axis: false
- Name: Current View
- Near Clip Distance: 0.009999999776482582
- Pitch: 0.7147973775863647
- Target Frame:
- Value: Orbit (rviz)
- Yaw: 4.778567790985107
- Saved: ~
-Window Geometry:
- Depth:
- collapsed: false
- Displays:
- collapsed: false
- Height: 1545
- Hide Left Dock: false
- Hide Right Dock: true
- QMainWindow State: 000000ff00000000fd0000000400000000000001970000056bfc020000000cfb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d000002e4000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000001200530065006d0061006e00740069006300730100000327000001360000001600fffffffb000000060052004700420100000463000001450000001600fffffffb0000000a0044006500700074006800000002ed000000ac0000001600fffffffb0000000600520047004201000002ec000000ad0000000000000000000000010000010f0000035efc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003b0000035e000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000075f0000003efc0100000002fb0000000800540069006d006501000000000000075f000002eb00fffffffb0000000800540069006d00650100000000000004500000000000000000000005c20000056b00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
- RGB:
- collapsed: false
- Selection:
- collapsed: false
- Semantics:
- collapsed: false
- Time:
- collapsed: false
- Tool Properties:
- collapsed: false
- Views:
- collapsed: true
- Width: 1887
- X: 67
- Y: 27
diff --git a/hydra_ros/rviz/sparkal2.rviz b/hydra_ros/rviz/sparkal2.rviz
deleted file mode 100644
index a45e50cb..00000000
--- a/hydra_ros/rviz/sparkal2.rviz
+++ /dev/null
@@ -1,252 +0,0 @@
-Panels:
- - Class: rviz/Displays
- Help Height: 78
- Name: Displays
- Property Tree Widget:
- Expanded:
- - /Status1
- - /Semantics1
- - /TF1/Frames1
- Splitter Ratio: 0.5
- Tree Height: 320
- - Class: rviz/Selection
- Name: Selection
- - Class: rviz/Tool Properties
- Expanded:
- - /2D Pose Estimate1
- - /2D Nav Goal1
- - /Publish Point1
- Name: Tool Properties
- Splitter Ratio: 0.5886790156364441
- - Class: rviz/Views
- Expanded:
- - /Current View1
- Name: Views
- Splitter Ratio: 0.5
- - Class: rviz/Time
- Experimental: false
- Name: Time
- SyncMode: 0
- SyncSource: ""
-Preferences:
- PromptSaveOnExit: true
-Toolbars:
- toolButtonStyle: 2
-Visualization Manager:
- Class: ""
- Displays:
- - Alpha: 0.5
- Cell Size: 0.5
- Class: rviz/Grid
- Color: 160; 160; 164
- Enabled: false
- Line Style:
- Line Width: 0.029999999329447746
- Value: Lines
- Name: Grid
- Normal Cell Count: 0
- Offset:
- X: 0
- Y: 0
- Z: 0
- Plane: XY
- Plane Cell Count: 1000
- Reference Frame:
- Value: false
- - Class: rviz/Group
- Displays:
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dsg_markers
- Name: Scene Graph (Static)
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dynamic_layers_viz
- Name: Scene Graph (Dynamic)
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- Enabled: true
- Name: Scene Graph
- - Class: rviz_mesh_plugin/TriangleMesh
- Cull Faces: true
- Display Type:
- Faces Alpha: 1
- Faces Color: 0; 255; 0
- Value: Vertex Color
- Enabled: true
- Mesh Buffer Size: 1
- Name: Mesh
- Show Normals:
- Normals Alpha: 1
- Normals Color: 255; 0; 255
- Normals Scaling Factor: 0.10000000149011612
- Value: false
- Show Wireframe:
- Value: false
- Wireframe Alpha: 1
- Wireframe Color: 0; 0; 0
- Topic: /hydra_dsg_visualizer/dsg_mesh/pgmo
- Value: true
- - Class: rviz/Image
- Enabled: true
- Image Topic: /semantic/image_raw
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: Semantics
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: true
- - Class: rviz/Image
- Enabled: true
- Image Topic: /sparkal2/forward/color/image_raw
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: RGB
- Normalize Range: true
- Queue Size: 2
- Transport Hint: compressed
- Unreliable: false
- Value: true
- - Class: rviz/Image
- Enabled: false
- Image Topic: /sparkal2/forward/depth/image_rect_raw
- Max Value: 1
- Median window: 300
- Min Value: 0
- Name: Depth
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: false
- - Class: rviz/TF
- Enabled: false
- Frame Timeout: 15
- Frames:
- All Enabled: false
- Marker Scale: 1
- Name: TF
- Show Arrows: true
- Show Axes: true
- Show Names: false
- Tree:
- {}
- Update Interval: 0
- Value: false
- - Class: rviz/Axes
- Enabled: true
- Length: 1
- Name: Axes
- Radius: 0.10000000149011612
- Reference Frame:
- Value: true
- - Alpha: 1
- Autocompute Intensity Bounds: true
- Autocompute Value Bounds:
- Max Value: 10
- Min Value: -10
- Value: true
- Axis: Z
- Channel Name: intensity
- Class: rviz/PointCloud2
- Color: 255; 255; 255
- Color Transformer: RGB8
- Decay Time: 0
- Enabled: false
- Invert Rainbow: false
- Max Color: 255; 255; 255
- Min Color: 0; 0; 0
- Name: Pointcloud
- Position Transformer: XYZ
- Queue Size: 10
- Selectable: true
- Size (Pixels): 3
- Size (m): 0.009999999776482582
- Style: Flat Squares
- Topic: /sparkal1/semantic_pointcloud
- Unreliable: false
- Use Fixed Frame: true
- Use rainbow: true
- Value: false
- Enabled: true
- Global Options:
- Background Color: 48; 48; 48
- Default Light: true
- Fixed Frame: sparkal2/map
- Frame Rate: 30
- Name: root
- Tools:
- - Class: rviz/Interact
- Hide Inactive Objects: true
- - Class: rviz/MoveCamera
- - Class: rviz/Select
- - Class: rviz/FocusCamera
- - Class: rviz/Measure
- - Class: rviz/SetInitialPose
- Theta std deviation: 0.2617993950843811
- Topic: /initialpose
- X std deviation: 0.5
- Y std deviation: 0.5
- - Class: rviz/SetGoal
- Topic: /move_base_simple/goal
- - Class: rviz/PublishPoint
- Single click: true
- Topic: /clicked_point
- Value: true
- Views:
- Current:
- Class: rviz/Orbit
- Distance: 57.95964813232422
- Enable Stereo Rendering:
- Stereo Eye Separation: 0.05999999865889549
- Stereo Focal Distance: 1
- Swap Stereo Eyes: false
- Value: false
- Focal Point:
- X: -22.299163818359375
- Y: 10.510017395019531
- Z: -0.9869003295898438
- Focal Shape Fixed Size: true
- Focal Shape Size: 0.05000000074505806
- Invert Z Axis: false
- Name: Current View
- Near Clip Distance: 0.009999999776482582
- Pitch: 0.7147973775863647
- Target Frame:
- Value: Orbit (rviz)
- Yaw: 4.778567790985107
- Saved: ~
-Window Geometry:
- Depth:
- collapsed: false
- Displays:
- collapsed: false
- Height: 1016
- Hide Left Dock: false
- Hide Right Dock: true
- QMainWindow State: 000000ff00000000fd0000000400000000000001970000035efc020000000cfb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b000001c9000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000001200530065006d0061006e0074006900630073010000020a000000c00000001600fffffffb0000000600520047004201000002d0000000c90000001600fffffffb0000000a0044006500700074006800000002ed000000ac0000001600fffffffb0000000600520047004201000002ec000000ad0000000000000000000000010000010f0000035efc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003b0000035e000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d00650100000000000007800000024400fffffffb0000000800540069006d00650100000000000004500000000000000000000005e30000035e00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
- RGB:
- collapsed: false
- Selection:
- collapsed: false
- Semantics:
- collapsed: false
- Time:
- collapsed: false
- Tool Properties:
- collapsed: false
- Views:
- collapsed: true
- Width: 1920
- X: 0
- Y: 27
diff --git a/hydra_ros/rviz/uhumans2.rviz b/hydra_ros/rviz/uhumans2.rviz
deleted file mode 100644
index 07faad17..00000000
--- a/hydra_ros/rviz/uhumans2.rviz
+++ /dev/null
@@ -1,321 +0,0 @@
-Panels:
- - Class: rviz/Displays
- Help Height: 0
- Name: Displays
- Property Tree Widget:
- Expanded:
- - /Scene Graph1/Scene Graph (Static)1
- - /Scene Graph1/Mesh (Voxblox)1
- - /Scene Graph1/Mesh (TriangleMesh)1
- - /Input1
- Splitter Ratio: 0.5
- Tree Height: 140
- - Class: rviz/Selection
- Name: Selection
- - Class: rviz/Tool Properties
- Expanded:
- - /2D Pose Estimate1
- - /2D Nav Goal1
- - /Publish Point1
- Name: Tool Properties
- Splitter Ratio: 0.5886790156364441
- - Class: rviz/Views
- Expanded:
- - /Current View1
- Name: Views
- Splitter Ratio: 0.5
- - Class: rviz/Time
- Name: Time
- SyncMode: 0
- SyncSource: Semantics
-Preferences:
- PromptSaveOnExit: true
-Toolbars:
- toolButtonStyle: 2
-Visualization Manager:
- Class: ""
- Displays:
- - Alpha: 0.5
- Cell Size: 0.5
- Class: rviz/Grid
- Color: 160; 160; 164
- Enabled: false
- Line Style:
- Line Width: 0.029999999329447746
- Value: Lines
- Name: Grid
- Normal Cell Count: 0
- Offset:
- X: 0
- Y: 0
- Z: 0
- Plane: XY
- Plane Cell Count: 1000
- Reference Frame:
- Value: false
- - Class: rviz/Group
- Displays:
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dsg_markers
- Name: Scene Graph (Static)
- Namespaces:
- interlayer_edges_3_2: true
- interlayer_edges_4_3: true
- interlayer_edges_5_4: true
- layer_bounding_boxes_2: true
- layer_bounding_boxes_edges_2: true
- layer_edges_3: true
- layer_edges_4: true
- layer_labels_2: true
- layer_labels_4: true
- layer_labels_5: true
- layer_nodes_2: true
- layer_nodes_3: true
- layer_nodes_4: true
- layer_nodes_5: true
- Queue Size: 100
- Value: true
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dynamic_layers_viz
- Name: Scene Graph (Dynamic)
- Namespaces:
- "dynamic_edges_\x00": true
- "dynamic_label_\x00": true
- "dynamic_nodes_\x00": true
- Queue Size: 100
- Value: true
- - Class: voxblox_rviz_plugin/VoxbloxMesh
- Enabled: true
- Name: Mesh (Voxblox)
- Queue Size: 10
- Topic: /hydra_dsg_visualizer/dsg_mesh/voxblox
- Unreliable: false
- Value: true
- - Class: rviz_mesh_plugin/TriangleMesh
- Cull Faces: true
- Display Type:
- Faces Alpha: 1
- Faces Color: 0; 255; 0
- Value: Vertex Color
- Enabled: true
- Mesh Buffer Size: 1
- Name: Mesh (TriangleMesh)
- Show Normals:
- Normals Alpha: 1
- Normals Color: 255; 0; 255
- Normals Scaling Factor: 0.10000000149011612
- Value: true
- Show Wireframe:
- Value: false
- Wireframe Alpha: 1
- Wireframe Color: 0; 0; 0
- Topic: /hydra_dsg_visualizer/dsg_mesh/pgmo
- Value: true
- Enabled: true
- Name: Scene Graph
- - Class: rviz/Group
- Displays:
- - Alpha: 1
- Autocompute Intensity Bounds: true
- Autocompute Value Bounds:
- Max Value: 10
- Min Value: -10
- Value: true
- Axis: Z
- Channel Name: intensity
- Class: rviz/PointCloud2
- Color: 255; 255; 255
- Color Transformer: RGB8
- Decay Time: 0
- Enabled: false
- Invert Rainbow: false
- Max Color: 255; 255; 255
- Min Color: 0; 0; 0
- Name: Input Pointcloud
- Position Transformer: XYZ
- Queue Size: 10
- Selectable: true
- Size (Pixels): 3
- Size (m): 0.009999999776482582
- Style: Flat Squares
- Topic: /semantic_pointcloud
- Unreliable: false
- Use Fixed Frame: true
- Use rainbow: true
- Value: false
- - Class: rviz/Image
- Enabled: true
- Image Topic: /tesse/depth_cam/mono/image_raw
- Max Value: 1
- Median window: 300
- Min Value: 0
- Name: Depth
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: true
- - Class: rviz/Image
- Enabled: true
- Image Topic: /tesse/seg_cam/rgb/image_raw
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: Semantics
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: true
- - Class: rviz/Image
- Enabled: true
- Image Topic: /tesse/left_cam/rgb/image_raw
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: RGB
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: true
- Enabled: true
- Name: Input
- - Class: rviz/Group
- Displays:
- - Class: rviz/Marker
- Enabled: true
- Marker Topic: /incremental_dsg_builder_node/pgmo/deformation_graph_mesh_mesh
- Name: Mesh Edges
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- - Class: rviz/Marker
- Enabled: true
- Marker Topic: /incremental_dsg_builder_node/pgmo/deformation_graph_pose_mesh
- Name: Pose-Mesh Edges
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- Enabled: false
- Name: Factor Graph
- - Class: rviz/Group
- Displays:
- - Class: rviz/MarkerArray
- Enabled: false
- Marker Topic: /incremental_dsg_builder_node/topology_visualizer/mesh_block_viz
- Name: Mesh Allocated Blocks
- Namespaces:
- {}
- Queue Size: 100
- Value: false
- - Class: rviz/MarkerArray
- Enabled: false
- Marker Topic: /incremental_dsg_builder_node/topology_visualizer/voxel_block_viz
- Name: GVD Allocated Blocks
- Namespaces:
- {}
- Queue Size: 100
- Value: false
- - Class: rviz/MarkerArray
- Enabled: false
- Marker Topic: /incremental_dsg_builder_node/topology_visualizer/gvd_graph_viz
- Name: GVD Graph
- Namespaces:
- {}
- Queue Size: 100
- Value: false
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /incremental_dsg_builder_node/topology_visualizer/graph_viz
- Name: Sparse GVD Graph
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- - Class: rviz/MarkerArray
- Enabled: false
- Marker Topic: /incremental_dsg_builder_node/topology_visualizer/gvd_cluster_viz
- Name: GVD Clusters
- Namespaces:
- {}
- Queue Size: 100
- Value: false
- Enabled: true
- Name: Topology
- Enabled: true
- Global Options:
- Background Color: 255; 255; 255
- Default Light: true
- Fixed Frame: world
- Frame Rate: 30
- Name: root
- Tools:
- - Class: rviz/Interact
- Hide Inactive Objects: true
- - Class: rviz/MoveCamera
- - Class: rviz/Select
- - Class: rviz/FocusCamera
- - Class: rviz/Measure
- - Class: rviz/SetInitialPose
- Theta std deviation: 0.2617993950843811
- Topic: /initialpose
- X std deviation: 0.5
- Y std deviation: 0.5
- - Class: rviz/SetGoal
- Topic: /move_base_simple/goal
- - Class: rviz/PublishPoint
- Single click: true
- Topic: /clicked_point
- Value: true
- Views:
- Current:
- Class: rviz/Orbit
- Distance: 87.75440979003906
- Enable Stereo Rendering:
- Stereo Eye Separation: 0.05999999865889549
- Stereo Focal Distance: 1
- Swap Stereo Eyes: false
- Value: false
- Field of View: 0.7853981852531433
- Focal Point:
- X: 8.067428588867188
- Y: 6.879875183105469
- Z: -1.1174240112304688
- Focal Shape Fixed Size: true
- Focal Shape Size: 0.05000000074505806
- Invert Z Axis: false
- Name: Current View
- Near Clip Distance: 0.009999999776482582
- Pitch: 0.6197975873947144
- Target Frame:
- Yaw: 2.470393180847168
- Saved: ~
-Window Geometry:
- Depth:
- collapsed: false
- Displays:
- collapsed: false
- Height: 1016
- Hide Left Dock: false
- Hide Right Dock: true
- QMainWindow State: 000000ff00000000fd0000000400000000000001560000035efc020000000bfb0000001200530065006c0065006300740069006f006e000000003b0000018f0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b000000c7000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a004400650070007400680100000108000000bd0000001600fffffffb0000001200530065006d0061006e007400690063007301000001cb000000dc0000001600fffffffb0000000600520047004201000002ad000000ec0000001600ffffff000000010000010f0000035afc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003d0000035a000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d00650100000000000007800000030700fffffffb0000000800540069006d00650100000000000004500000000000000000000006240000035e00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
- RGB:
- collapsed: false
- Selection:
- collapsed: false
- Semantics:
- collapsed: false
- Time:
- collapsed: false
- Tool Properties:
- collapsed: false
- Views:
- collapsed: true
- Width: 1920
- X: 0
- Y: 27
diff --git a/hydra_ros/rviz/uhumans2_topdown.rviz b/hydra_ros/rviz/uhumans2_topdown.rviz
deleted file mode 100644
index ae841ea2..00000000
--- a/hydra_ros/rviz/uhumans2_topdown.rviz
+++ /dev/null
@@ -1,314 +0,0 @@
-Panels:
- - Class: rviz/Displays
- Help Height: 0
- Name: Displays
- Property Tree Widget:
- Expanded:
- - /Global Options1
- - /Input1
- - /Input1/Semantics1
- Splitter Ratio: 0.5
- Tree Height: 441
- - Class: rviz/Selection
- Name: Selection
- - Class: rviz/Tool Properties
- Expanded:
- - /2D Pose Estimate1
- - /2D Nav Goal1
- - /Publish Point1
- Name: Tool Properties
- Splitter Ratio: 0.5886790156364441
- - Class: rviz/Views
- Expanded:
- - /Current View1
- Name: Views
- Splitter Ratio: 0.5
- - Class: rviz/Time
- Experimental: false
- Name: Time
- SyncMode: 0
- SyncSource: RGB
-Preferences:
- PromptSaveOnExit: true
-Toolbars:
- toolButtonStyle: 2
-Visualization Manager:
- Class: ""
- Displays:
- - Alpha: 0.5
- Cell Size: 0.5
- Class: rviz/Grid
- Color: 160; 160; 164
- Enabled: false
- Line Style:
- Line Width: 0.029999999329447746
- Value: Lines
- Name: Grid
- Normal Cell Count: 0
- Offset:
- X: 0
- Y: 0
- Z: 0
- Plane: XY
- Plane Cell Count: 1000
- Reference Frame:
- Value: false
- - Class: rviz/Group
- Displays:
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dsg_markers
- Name: Scene Graph (Static)
- Namespaces:
- interlayer_edges_3_2: true
- interlayer_edges_4_3: true
- layer_bounding_boxes_2: true
- layer_bounding_boxes_edges_2: true
- layer_edges_3: true
- layer_edges_4: true
- layer_labels_2: true
- layer_labels_4: true
- layer_nodes_2: true
- layer_nodes_3: true
- layer_nodes_4: true
- Queue Size: 100
- Value: true
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /hydra_dsg_visualizer/dynamic_layers_viz
- Name: Scene Graph (Dynamic)
- Namespaces:
- "dynamic_edges_\x00": true
- "dynamic_label_\x00": true
- "dynamic_nodes_\x00": true
- Queue Size: 100
- Value: true
- - Class: voxblox_rviz_plugin/VoxbloxMesh
- Enabled: true
- Name: Mesh (Voxblox)
- Topic: /hydra_dsg_visualizer/dsg_mesh/voxblox
- Unreliable: false
- Value: true
- - Class: rviz_mesh_plugin/TriangleMesh
- Cull Faces: true
- Display Type:
- Faces Alpha: 1
- Faces Color: 0; 255; 0
- Value: Vertex Color
- Enabled: true
- Mesh Buffer Size: 1
- Name: Mesh (TriangleMesh)
- Show Normals:
- Normals Alpha: 1
- Normals Color: 255; 0; 255
- Normals Scaling Factor: 0.10000000149011612
- Value: true
- Show Wireframe:
- Value: false
- Wireframe Alpha: 1
- Wireframe Color: 0; 0; 0
- Topic: /hydra_dsg_visualizer/dsg_mesh/pgmo
- Value: true
- Enabled: true
- Name: Scene Graph
- - Class: rviz/Group
- Displays:
- - Alpha: 1
- Autocompute Intensity Bounds: true
- Autocompute Value Bounds:
- Max Value: 10
- Min Value: -10
- Value: true
- Axis: Z
- Channel Name: intensity
- Class: rviz/PointCloud2
- Color: 255; 255; 255
- Color Transformer: RGB8
- Decay Time: 0
- Enabled: false
- Invert Rainbow: false
- Max Color: 255; 255; 255
- Max Intensity: 4096
- Min Color: 0; 0; 0
- Min Intensity: 0
- Name: Input Pointcloud
- Position Transformer: XYZ
- Queue Size: 10
- Selectable: true
- Size (Pixels): 3
- Size (m): 0.009999999776482582
- Style: Flat Squares
- Topic: /semantic_pointcloud
- Unreliable: false
- Use Fixed Frame: true
- Use rainbow: true
- Value: false
- - Class: rviz/Image
- Enabled: false
- Image Topic: /tesse/depth_cam/mono/image_raw
- Max Value: 1
- Median window: 300
- Min Value: 0
- Name: Depth
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: false
- - Class: rviz/Image
- Enabled: true
- Image Topic: /semantic/image_raw
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: Semantics
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: true
- - Class: rviz/Image
- Enabled: true
- Image Topic: /tesse/left_cam/rgb/image_raw
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: RGB
- Normalize Range: true
- Queue Size: 2
- Transport Hint: raw
- Unreliable: false
- Value: true
- Enabled: true
- Name: Input
- - Class: rviz/Group
- Displays:
- - Class: rviz/Marker
- Enabled: true
- Marker Topic: /incremental_dsg_builder_node/pgmo/deformation_graph_mesh_mesh
- Name: Mesh Edges
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- - Class: rviz/Marker
- Enabled: true
- Marker Topic: /incremental_dsg_builder_node/pgmo/deformation_graph_pose_mesh
- Name: Pose-Mesh Edges
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- Enabled: false
- Name: Factor Graph
- - Class: rviz/Group
- Displays:
- - Class: rviz/MarkerArray
- Enabled: false
- Marker Topic: /incremental_dsg_builder_node/topology_visualizer/mesh_block_viz
- Name: Mesh Allocated Blocks
- Namespaces:
- {}
- Queue Size: 100
- Value: false
- - Class: rviz/MarkerArray
- Enabled: false
- Marker Topic: /incremental_dsg_builder_node/topology_visualizer/voxel_block_viz
- Name: GVD Allocated Blocks
- Namespaces:
- {}
- Queue Size: 100
- Value: false
- - Class: rviz/MarkerArray
- Enabled: false
- Marker Topic: /incremental_dsg_builder_node/topology_visualizer/gvd_graph_viz
- Name: GVD Graph
- Namespaces:
- {}
- Queue Size: 100
- Value: false
- - Class: rviz/MarkerArray
- Enabled: true
- Marker Topic: /incremental_dsg_builder_node/topology_visualizer/graph_viz
- Name: Sparse GVD Graph
- Namespaces:
- {}
- Queue Size: 100
- Value: true
- - Class: rviz/MarkerArray
- Enabled: false
- Marker Topic: /incremental_dsg_builder_node/topology_visualizer/gvd_cluster_viz
- Name: GVD Clusters
- Namespaces:
- {}
- Queue Size: 100
- Value: false
- Enabled: true
- Name: Topology
- Enabled: true
- Global Options:
- Background Color: 255; 255; 255
- Default Light: true
- Fixed Frame: world
- Frame Rate: 30
- Name: root
- Tools:
- - Class: rviz/Interact
- Hide Inactive Objects: true
- - Class: rviz/MoveCamera
- - Class: rviz/Select
- - Class: rviz/FocusCamera
- - Class: rviz/Measure
- - Class: rviz/SetInitialPose
- Theta std deviation: 0.2617993950843811
- Topic: /initialpose
- X std deviation: 0.5
- Y std deviation: 0.5
- - Class: rviz/SetGoal
- Topic: /move_base_simple/goal
- - Class: rviz/PublishPoint
- Single click: true
- Topic: /clicked_point
- Value: true
- Views:
- Current:
- Angle: -4.740005016326904
- Class: rviz/TopDownOrtho
- Enable Stereo Rendering:
- Stereo Eye Separation: 0.05999999865889549
- Stereo Focal Distance: 1
- Swap Stereo Eyes: false
- Value: false
- Invert Z Axis: false
- Name: Current View
- Near Clip Distance: 0.009999999776482582
- Scale: 60.25772476196289
- Target Frame:
- Value: TopDownOrtho (rviz)
- X: -1.1125832796096802
- Y: -6.463243007659912
- Saved: ~
-Window Geometry:
- Depth:
- collapsed: false
- Displays:
- collapsed: false
- Height: 1543
- Hide Left Dock: false
- Hide Right Dock: true
- QMainWindow State: 000000ff00000000fd0000000400000000000001a700000569fc020000000bfb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073000000003d000000c9000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a004400650070007400680000000134000000730000001600fffffffb0000001200530065006d0061006e0074006900630073010000003d000002a70000001600fffffffb0000000600520047004201000002ea000002bc0000001600ffffff000000010000010f0000035afc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003d0000035a000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000075f0000003efc0100000002fb0000000800540069006d006501000000000000075f000002eb00fffffffb0000000800540069006d00650100000000000004500000000000000000000005b20000056900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
- RGB:
- collapsed: false
- Selection:
- collapsed: false
- Semantics:
- collapsed: false
- Time:
- collapsed: false
- Tool Properties:
- collapsed: false
- Views:
- collapsed: true
- Width: 1887
- X: 1953
- Y: 27
diff --git a/hydra_ros/scripts/copy_static_tfs.py b/hydra_ros/scripts/copy_static_tfs.py
deleted file mode 100755
index 7a683657..00000000
--- a/hydra_ros/scripts/copy_static_tfs.py
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/usr/bin/env python
-# Copyright 2022, Massachusetts Institute of Technology.
-# All Rights Reserved
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice,
-# this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# Research was sponsored by the United States Air Force Research Laboratory and
-# the United States Air Force Artificial Intelligence Accelerator and was
-# accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
-# and conclusions contained in this document are those of the authors and should
-# not be interpreted as representing the official policies, either expressed or
-# implied, of the United States Air Force or the U.S. Government. The U.S.
-# Government is authorized to reproduce and distribute reprints for Government
-# purposes notwithstanding any copyright notation herein.
-#
-#
-"""Copy static tfs from one uhumans2 bag to a launch file."""
-import rosbag
-import argparse
-
-NODE_PREFIX = ' \n\n'
-
-
-def main():
- """Run some stuff."""
- parser = argparse.ArgumentParser(
- description="utiltiy to read a static tf from a bag."
- )
- parser.add_argument("bag_file", type=str, help="bag file to use")
- parser.add_argument("output", type=str, help="file to output to")
- args = parser.parse_args()
-
- tf_idx = 0
- with open(args.output, "w") as fout:
- fout.write("\n\n")
-
- with rosbag.Bag(args.bag_file, "r") as bag:
- for topic, tf_msg, t in bag.read_messages(topics=["/tf_static"]):
- for msg in tf_msg.transforms:
- fout.write(NODE_PREFIX)
- name = "bag_static_tf_{}".format(tf_idx)
- tf_idx += 1
- fout.write(' name="{}"'.format(name))
- fout.write(
- TF_STR.format(
- x=msg.transform.translation.x,
- y=msg.transform.translation.y,
- z=msg.transform.translation.z,
- qx=msg.transform.rotation.x,
- qy=msg.transform.rotation.y,
- qz=msg.transform.rotation.z,
- qw=msg.transform.rotation.w,
- parent=msg.header.frame_id,
- child=msg.child_frame_id,
- )
- )
-
- fout.write("\n")
-
-
-if __name__ == "__main__":
- main()
diff --git a/hydra_ros/scripts/decompress_uhumans2.py b/hydra_ros/scripts/decompress_uhumans2.py
deleted file mode 100644
index 4c510960..00000000
--- a/hydra_ros/scripts/decompress_uhumans2.py
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright 2022, Massachusetts Institute of Technology.
-# All Rights Reserved
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice,
-# this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# Research was sponsored by the United States Air Force Research Laboratory and
-# the United States Air Force Artificial Intelligence Accelerator and was
-# accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
-# and conclusions contained in this document are those of the authors and should
-# not be interpreted as representing the official policies, either expressed or
-# implied, of the United States Air Force or the U.S. Government. The U.S.
-# Government is authorized to reproduce and distribute reprints for Government
-# purposes notwithstanding any copyright notation herein.
-#
-#
-#!/usr/bin/env python3
-
-# Put this in a yaml file perhaps
-ids = { # "apartment_scene":
- # {"uHumans2_apartment_s1_00h.bag": '1kU_drpyG7glQ8pJyeztpiy214WbBEtbM',
- # "uHumans2_apartment_s1_01h.bag": '1jp7HrRsfGbmC-z757wwXDEpgNPHw0SbK',
- # "uHumans2_apartment_s1_02h.bag": '1ai2p6QVNFaPJfEFOOec6URp5Anu0MBoo'
- # },
- # "office_scene":
- # {"uHumans2_office_s1_00h.bag": '1CA_1Awu-bewJKpDrILzWok_H_6cOkGDb',
- # "uHumans2_office_s1_06h.bag": '1zECekG47mlGafaJ84vCbwcx3Dz03NuvN',
- # "uHumans2_office_s1_12h.bag": '1Of7s_QTE9nL1Hd69SFW1R5uDiJDiQrZr'
- # },
- "subway_scene": {
- "uHumans2_subway_s1_00h.bag": "1ChL1SW1tfZrCjn5XEf4GJG8nm_Cb5AEm",
- "uHumans2_subway_s1_24h.bag": "1ifatqW3hzL9yo8m7Jt3BCqIr-6kzIols",
- "uHumans2_subway_s1_36h.bag": "1xFG565R-9LKXC60Rfx-7fruy3BP4TrHl",
- },
- "neighborhood_scene": {
- "uHumans2_neighborhood_s1_00h.bag": "1p_Uv4RLbl1GtjRxu2tldopFRKmgg_Vsy",
- "uHumans2_neighborhood_s1_24h.bag": "1LXloULyuohBzFLumBoScBMlFrT5nRPcE",
- "uHumans2_neighborhood_s1_36h.bag": "1AwgGpqe2g12T2Lm4Nilz4EaNm2_OtfHL",
- },
-}
-url = "https://drive.google.com/uc?id="
-
-import os
-import errno
-
-
-def run(args):
- assert os.path.exists(args.dataset_dir)
- for dataset_name in ids.keys():
- assert os.path.exists(os.path.join(args.dataset_dir, dataset_name))
- print("Decompressing Rosbags for dataset: %s" % dataset_name)
- for rosbag_name in ids[dataset_name].keys():
- print("Decompressing rosbag: %s" % rosbag_name)
- os.system(
- "rosbag decompress %s"
- % os.path.join(args.dataset_dir, dataset_name, rosbag_name)
- )
- print("Done decompressing rosbag: %s" % rosbag_name)
-
- print("Done decompressing rosbags.")
-
- return True
-
-
-def parser():
- import argparse
-
- basic_desc = "Decompress uHumans2 dataset."
-
- shared_parser = argparse.ArgumentParser(
- add_help=True, description="{}".format(basic_desc)
- )
-
- output_opts = shared_parser.add_argument_group("output options")
- output_opts.add_argument(
- "--dataset_dir",
- type=str,
- help="Path to the directory where the datasets are.",
- required=True,
- )
-
- main_parser = argparse.ArgumentParser(description="{}".format(basic_desc))
- sub_parsers = main_parser.add_subparsers(dest="subcommand")
- sub_parsers.required = True
- return shared_parser
-
-
-import argcomplete
-import sys
-
-if __name__ == "__main__":
- parser = parser()
- argcomplete.autocomplete(parser)
- args = parser.parse_args()
- # try:
- if run(args):
- sys.exit(os.EX_OK)
- # except Exception as e:
- # print("error: ", e)
- # raise Exception("Main evaluation run failed.")
diff --git a/hydra_ros/scripts/download_uhumans2.py b/hydra_ros/scripts/download_uhumans2.py
deleted file mode 100644
index bae4b2a8..00000000
--- a/hydra_ros/scripts/download_uhumans2.py
+++ /dev/null
@@ -1,143 +0,0 @@
-# Copyright 2022, Massachusetts Institute of Technology.
-# All Rights Reserved
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice,
-# this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# Research was sponsored by the United States Air Force Research Laboratory and
-# the United States Air Force Artificial Intelligence Accelerator and was
-# accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
-# and conclusions contained in this document are those of the authors and should
-# not be interpreted as representing the official policies, either expressed or
-# implied, of the United States Air Force or the U.S. Government. The U.S.
-# Government is authorized to reproduce and distribute reprints for Government
-# purposes notwithstanding any copyright notation herein.
-#
-#
-#!/usr/bin/env python3
-
-import gdown
-
-# Put this in a yaml file perhaps
-ids = {
- "apartment_scene": {
- "uHumans2_apartment_s1_00h.bag": "1kU_drpyG7glQ8pJyeztpiy214WbBEtbM",
- "uHumans2_apartment_s1_01h.bag": "1jp7HrRsfGbmC-z757wwXDEpgNPHw0SbK",
- "uHumans2_apartment_s1_02h.bag": "1ai2p6QVNFaPJfEFOOec6URp5Anu0MBoo",
- },
- "office_scene": {
- "uHumans2_office_s1_00h.bag": "1CA_1Awu-bewJKpDrILzWok_H_6cOkGDb",
- "uHumans2_office_s1_06h.bag": "1zECekG47mlGafaJ84vCbwcx3Dz03NuvN",
- "uHumans2_office_s1_12h.bag": "1Of7s_QTE9nL1Hd69SFW1R5uDiJDiQrZr",
- },
- "subway_scene": {
- "uHumans2_subway_s1_00h.bag": "1ChL1SW1tfZrCjn5XEf4GJG8nm_Cb5AEm",
- "uHumans2_subway_s1_24h.bag": "1ifatqW3hzL9yo8m7Jt3BCqIr-6kzIols",
- "uHumans2_subway_s1_36h.bag": "1xFG565R-9LKXC60Rfx-7fruy3BP4TrHl",
- },
- "neighborhood_scene": {
- "uHumans2_neighborhood_s1_00h.bag": "1p_Uv4RLbl1GtjRxu2tldopFRKmgg_Vsy",
- "uHumans2_neighborhood_s1_24h.bag": "1LXloULyuohBzFLumBoScBMlFrT5nRPcE",
- "uHumans2_neighborhood_s1_36h.bag": "1AwgGpqe2g12T2Lm4Nilz4EaNm2_OtfHL",
- },
-}
-url = "https://drive.google.com/uc?id="
-
-# md5 = 'fa837a88f0c40c513d975104edf3da17'
-# gdown.cached_download(url, output, md5=md5, postprocess=gdown.extractall)
-
-import os
-import errno
-
-
-def create_full_path_if_not_exists(filename):
- if not os.path.exists(os.path.dirname(filename)):
- try:
- print("Creating non-existent path: %s" % filename)
- os.makedirs(os.path.dirname(filename))
- except OSError as exc: # Guard against race condition
- if exc.errno != errno.EEXIST:
- print("Could not create inexistent filename: " + filename)
-
-
-def ensure_dir(dir_path):
- """Check if the path directory exists: if it does, returns true,
- if not creates the directory dir_path and returns if it was successful"""
- if not os.path.exists(dir_path):
- os.makedirs(dir_path)
- return True
-
-
-def run(args):
- assert ensure_dir(args.output_dir)
- for dataset_name in ids.keys():
- assert ensure_dir(os.path.join(args.output_dir, dataset_name))
- for rosbag_name in ids[dataset_name].keys():
- print("Downloading rosbag: %s" % rosbag_name)
- rosbag_url = url + ids[dataset_name][rosbag_name]
- gdown.download(
- rosbag_url,
- os.path.join(args.output_dir, dataset_name, rosbag_name),
- quiet=False,
- )
- print("Done downloading dataset.")
-
- return True
-
-
-def parser():
- import argparse
-
- basic_desc = "Download uHumans2 dataset in google drive."
-
- shared_parser = argparse.ArgumentParser(
- add_help=True, description="{}".format(basic_desc)
- )
-
- input_opts = shared_parser.add_argument_group("input options")
- output_opts = shared_parser.add_argument_group("output options")
-
- output_opts.add_argument(
- "--output_dir",
- type=str,
- help="Path to the output directory where the datasets will be saved.",
- required=True,
- )
-
- main_parser = argparse.ArgumentParser(description="{}".format(basic_desc))
- sub_parsers = main_parser.add_subparsers(dest="subcommand")
- sub_parsers.required = True
- return shared_parser
-
-
-import argcomplete
-import sys
-
-if __name__ == "__main__":
- parser = parser()
- argcomplete.autocomplete(parser)
- args = parser.parse_args()
- # try:
- if run(args):
- sys.exit(os.EX_OK)
- # except Exception as e:
- # print("error: ", e)
- # raise Exception("Main evaluation run failed.")
diff --git a/hydra_ros/scripts/run_robot.sh b/hydra_ros/scripts/run_robot.sh
deleted file mode 100755
index 6fce2211..00000000
--- a/hydra_ros/scripts/run_robot.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-
-if [[ $# -eq 0 ]] ; then
- echo 'Log path required!!'
- exit 1
-fi
-
-if [[ -d $1 ]] ; then
- echo 'Log path '$1' exists!'
- read -p "Delete '$1' and continue? [y/N]: " -r
- echo
-
- if [[ $REPLY =~ ^[Yy]$ ]] ; then
- rm -rf $1
- else
- exit 1
- fi
-fi
-
-
-# Make Hydra Folders
-mkdir -p $1
-mkdir -p $1/frontend
-mkdir -p $1/backend
-mkdir -p $1/lcd
-mkdir -p $1/pgmo
-mkdir -p $1/topology
-
-# Make Log Directory
-mkdir -p $1/logs
-
-roslaunch hydra_dsg_builder_ros hydra_robot.launch dsg_path:="$1" glog_to_file:=true glog_dir:="$1/logs" verbosity:=2 record_bag:=true exit_mode:=SERVICE enable_dsg_lcd:=true use_zmq_interface:=true
diff --git a/hydra_ros/scripts/run_robot_t265.sh b/hydra_ros/scripts/run_robot_t265.sh
deleted file mode 100755
index 8cd349af..00000000
--- a/hydra_ros/scripts/run_robot_t265.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-
-if [[ $# -eq 0 ]] ; then
- echo 'Log path required!!'
- exit 1
-fi
-
-if [[ -d $1 ]] ; then
- echo 'Log path '$1' exists!'
- read -p "Delete '$1' and continue? [y/N]: " -r
- echo
-
- if [[ $REPLY =~ ^[Yy]$ ]] ; then
- rm -rf $1
- else
- exit 1
- fi
-fi
-
-
-# Make Hydra Folders
-mkdir -p $1
-mkdir -p $1/frontend
-mkdir -p $1/backend
-mkdir -p $1/lcd
-mkdir -p $1/pgmo
-mkdir -p $1/topology
-
-# Make Log Directory
-mkdir -p $1/logs
-
-roslaunch hydra_dsg_builder_ros hydra_robot_t265.launch dsg_path:="$1" glog_to_file:=true glog_dir:="$1/logs" verbosity:=2 record_bag:=true exit_mode:=SERVICE enable_dsg_lcd:=true use_zmq_interface:=true
diff --git a/hydra_ros/scripts/scrape_kimera_extrinsics.py b/hydra_ros/scripts/scrape_kimera_extrinsics.py
deleted file mode 100755
index 21504ffe..00000000
--- a/hydra_ros/scripts/scrape_kimera_extrinsics.py
+++ /dev/null
@@ -1,81 +0,0 @@
-#!/usr/bin/env python3
-# Copyright 2022, Massachusetts Institute of Technology.
-# All Rights Reserved
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice,
-# this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# Research was sponsored by the United States Air Force Research Laboratory and
-# the United States Air Force Artificial Intelligence Accelerator and was
-# accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
-# and conclusions contained in this document are those of the authors and should
-# not be interpreted as representing the official policies, either expressed or
-# implied, of the United States Air Force or the U.S. Government. The U.S.
-# Government is authorized to reproduce and distribute reprints for Government
-# purposes notwithstanding any copyright notation herein.
-from scipy.spatial.transform.rotation import Rotation as R
-import numpy as np
-import pathlib
-import yaml
-import sys
-
-
-def main():
- """Scrape TF from kimera config and write to hydra format."""
- if len(sys.argv) < 3:
- print("missing required arguments!", file=sys.stderr)
- print(
- "usage: scrape_kimera_extrinsics.py PATH_TO_KIMERA_CONIFG PATH_TO_OUTPUT",
- file=sys.stderr,
- )
- sys.exit(1)
-
- input_path = pathlib.Path(sys.argv[1]).expanduser().absolute()
- output_path = pathlib.Path(sys.argv[2]).expanduser().absolute()
-
- with input_path.open("r") as fin:
- contents = [x for x in fin]
- # skip first line
- if "%YAML:1.0" in contents[0]:
- contents_str = "\n".join(contents[1:])
- else:
- contents_str = "\n".join(contents)
- config = yaml.load(contents_str, Loader=yaml.Loader)
-
- body_T_sensor = np.array([float(x) for x in config["T_BS"]["data"]]).reshape((4, 4))
- body_t_sensor = body_T_sensor[:3, 3]
- body_R_sensor = R.from_matrix(body_T_sensor[:3, :3]).as_quat().tolist()
-
- to_write = {
- "body_t_camera": body_t_sensor.tolist(),
- "body_R_camera": {
- "w": body_R_sensor[3],
- "x": body_R_sensor[0],
- "y": body_R_sensor[1],
- "z": body_R_sensor[2],
- },
- }
- with output_path.open("w") as fout:
- fout.write(yaml.dump(to_write))
-
-
-if __name__ == "__main__":
- main()
diff --git a/hydra_ros/src/config/ros_parser.cpp b/hydra_ros/src/config/ros_parser.cpp
deleted file mode 100644
index 7c297846..00000000
--- a/hydra_ros/src/config/ros_parser.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#include "hydra_ros/config/ros_parser.h"
-
-#include
-
-namespace config_parser {
-
-RosParserImpl::RosParserImpl(const ros::NodeHandle& nh, const std::string& name)
- : nh_(nh), name_(name) {}
-
-RosParserImpl::RosParserImpl(const ros::NodeHandle& nh) : RosParserImpl(nh, "") {}
-
-RosParserImpl::RosParserImpl() : RosParserImpl(ros::NodeHandle(), "") {}
-
-RosParserImpl RosParserImpl::child(const std::string& new_name) const {
- // push name onto nodehandle namespace if name isn't empty
- ros::NodeHandle new_nh = (name_ == "") ? nh_ : ros::NodeHandle(nh_, name_);
- return RosParserImpl(new_nh, new_name);
-}
-
-std::vector RosParserImpl::children() const {
- const std::string resolved_name = nh_.resolveName(name_);
- if (resolved_name == "") {
- return {};
- }
-
- XmlRpc::XmlRpcValue value;
- nh_.getParam(name_, value);
- if (value.getType() != XmlRpc::XmlRpcValue::Type::TypeStruct) {
- return {};
- }
-
- std::vector children;
- for (const auto& nv_pair : value) {
- children.push_back(nv_pair.first);
- }
-
- return children;
-}
-
-} // namespace config_parser
diff --git a/hydra_ros/src/nodes/dsg_optimizer_node.cpp b/hydra_ros/src/nodes/dsg_optimizer_node.cpp
deleted file mode 100644
index 412851fa..00000000
--- a/hydra_ros/src/nodes/dsg_optimizer_node.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Copyright 2022 Massachusetts Institute of Technology.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Research was sponsored by the United States Air Force Research Laboratory and
- * the United States Air Force Artificial Intelligence Accelerator and was
- * accomplished under Cooperative Agreement Number FA8750-19-2-1000. The views
- * and conclusions contained in this document are those of the authors and should
- * not be interpreted as representing the official policies, either expressed or
- * implied, of the United States Air Force or the U.S. Government. The U.S.
- * Government is authorized to reproduce and distribute reprints for Government
- * purposes notwithstanding any copyright notation herein.
- * -------------------------------------------------------------------------- */
-#include
-
-#include "hydra_ros/config/ros_utilities.h"
-#include "hydra_ros/pipeline/ros_backend.h"
-#include "hydra_ros/pipeline/ros_frontend.h"
-#include "hydra_ros/visualizer/dsg_mesh_plugins.h"
-#include "hydra_ros/visualizer/dynamic_scene_graph_visualizer.h"
-
-namespace hydra {
-
-struct DsgOptimizer {
- DsgOptimizer(const ros::NodeHandle& node_handle)
- : nh(node_handle), reset_backend(false), dsg_output_path("") {
- CHECK(nh.getParam("dsg_filepath", dsg_filepath)) << "missing dsg_filepath!";
- CHECK(nh.getParam("dgrf_filepath", dgrf_filepath)) << "missing dgrf_filepath!";
- CHECK(nh.getParam("frontend_filepath", frontend_filepath))
- << "missing frontend_state_filepath";
- nh.getParam("log_path", dsg_output_path);
-
- const LayerId mesh_layer_id = 1;
- const std::map