Skip to content

Commit

Permalink
Feature/remove ros (#171)
Browse files Browse the repository at this point in the history
* drop ros code and flatten

* tweak rosinstall files

* update readme

* update headers a little

* tweak section headers more

* fix quickstart command

* fix repo url

* fix kimera semantics branch

* last branch tweaks for rosinstall

Co-authored-by: Nathan Hughes <[email protected]>
Co-authored-by: Ubuntu <[email protected]>
  • Loading branch information
3 people committed Jun 26, 2023
1 parent 6a80928 commit 10416c5
Show file tree
Hide file tree
Showing 396 changed files with 39 additions and 15,974 deletions.
File renamed without changes.
127 changes: 31 additions & 96 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,11 @@
<img src="doc/media/hydra.GIF">
</div>

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,
Expand All @@ -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},
Expand All @@ -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

Expand All @@ -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:
Expand All @@ -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:
Expand Down Expand Up @@ -88,100 +100,27 @@ 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!

:warning: Also make sure to source the workspace before starting (typically `source path/to/catkin_ws/devel/setup.bash`, though if you use zsh you should use the correct setup file for that).

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:
```
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

Expand All @@ -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.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
6 changes: 0 additions & 6 deletions hydra/.gitignore

This file was deleted.

32 changes: 0 additions & 32 deletions hydra/README.md

This file was deleted.

File renamed without changes.
25 changes: 0 additions & 25 deletions hydra_msgs/CMakeLists.txt

This file was deleted.

4 changes: 0 additions & 4 deletions hydra_msgs/msg/ActiveLayer.msg

This file was deleted.

3 changes: 0 additions & 3 deletions hydra_msgs/msg/ActiveMesh.msg

This file was deleted.

6 changes: 0 additions & 6 deletions hydra_msgs/msg/DsgUpdate.msg

This file was deleted.

21 changes: 0 additions & 21 deletions hydra_msgs/package.xml

This file was deleted.

2 changes: 0 additions & 2 deletions hydra_msgs/srv/GetDsg.srv

This file was deleted.

6 changes: 0 additions & 6 deletions hydra_msgs/srv/QueryFreespace.srv

This file was deleted.

6 changes: 0 additions & 6 deletions hydra_ros/.gitignore

This file was deleted.

Loading

0 comments on commit 10416c5

Please sign in to comment.