Giter Club home page Giter Club logo

hydra's People

Contributors

argupta98 avatar jingnanshi avatar luciancov avatar marcusabate avatar nathanhhughes avatar penguin8910 avatar rumaisaabdulhai avatar tonirv avatar yunzc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hydra's Issues

[QUESTION] About registration solvers

Hi. Thank you for releasing a great work :) I'm now enjoying your work.
Actually, I have some questions about the loop closure detection and registration solvers.

  • I found that there are two different solvers for the registration: DsgAgentSolver and DsgTeaserSolver. I guess that both solvers are used to get the registration_result when the function registerAndVerfiy() is running. Based on the released code, I could find how DsgTeaserSolver::solve() function works. (As stated in the paper, it uses teaser::RobustRegistrationSolver to get the valid result and correspondences in registerDsgLayer() function.) However, I wonder how DsgAgentSolver::solve() function works because I couldn't find the corresponding service client function. Does the service response the registration of visual features based on the standard RANSAC-based geometric verification, as you stated in the paper?

  • Also, I think that the registration service is related to kimera_vio_ros since the service frame_registration is remapped to /kimera_vio_ros/kimera_vio_ros_node/register_lcd_frames in dsg_builder.launch file. ( I guess this is the unreleased code of kimera-vio what you stated in here ). If you know whether the corresponding codes will be released in kimera_vio_ros or not, please let me know.

  • Enable scene graph loop closures: This will require no development on your part, but is the least tested of the options (we haven't had much of a reason to run the scene graph loop closure pipeline without BoW descriptors). As long as you have the pose_graph_publisher_node operating (which use_gt_frame:=true will enable), then all you have to do is set enable_dsg_lcd:=true and internal loop closure detection and registration will be enabled. You may also want to set min_glog_level:=0 and verbosity:=2 to see the current status for the internal loop closures.
  • Finally, I have understood scene graph loop closures can be enabled without additional development based on your mention in here as above. However, if lcd_queue_ is empty, I guess that loop closure detection would not be performed because it stops at the line 158 in here. ( I think lcd_queue_ will be always empty if bow vectors are not received. ) I wonder is it possible to enable scene graph loop closure without bow vectors.

Thank you for releasing your great work once more!

[QUESTION] 2D Semantic segmentation

Regarding setting up a 2D semantic segmentation for use with Hydra (and Kimera-Semantics) that you wrote about here, have you released any code related to this? Or do you have any other pointers for setting it up? I am trying to do 2D semantic segmentation of recorded data from an intel realsense d435i device.

Thank you!

[QUESTION] Retrieve absolute positions of the object with respect to the world frame

Hi,

Thanks a lot for releasing your fantastic work with Hydra. I am working on retrieving object positions from the scene graph that is getting built incrementally. I am testing it on a robot with ORBSLAM2 (for which I had to make some TF modifications) instead of Kimera. However, I noticed that the object nodes I extracted from the scene graph have positions outside the limits of the bounding boxes (min and max parameters). This was not the case in the bag that you had given. Could this be because I modified some TF when I integrated with ORBSLAM2? The pose estimate I get along with Hydra's reconstruction looks good, and I can extract the objects and see the bounding boxes. I also have the enable_segmented_mesh_pub parameter set to true to visualize the object clouds that are getting extracted. That also looks good to me. Do you have any idea why this could be happening?

Another question I had was regarding the object's position in the world frame. I noticed that even in your bag file, the position I retrieved from the scene graph and the visualization I saw on Rviz were inconsistent. Are the objects being scaled before visualized, or do bounding boxes have some other reference coordinate frame? Then, is the position stored in the scene graph the ground-truth position?

I am retrieving the object position and the bounding box information at the end of the updateGraph function using the active object's ID.

Thanks a lot for your help.

[QUESTION] problems with angular movement

Hi Nathan,

We have corresponded with you once or twice over the past couple of months. We are now in the final stages of implementing Hydra with our own equipment in our laboratory in Zürich. Everything is coming along well, and we're currently addressing the last few bugs we've encountered. There is one bug, however, that we're having trouble understanding. It first appeared during the simulation stage in Gazebo, and is still occurring now as we operate the robot in real-world conditions. This bug causes the robot's position to become entirely skewed during angular movement. A simple rotation is depicted on the graph as a large circle, giving the impression that the robot has covered a significant distance, as illustrated in the picture posted below. Do you have any insights into why this could be happening? Please bear in mind that we are currently not using Kimera-VIO, but are solely depending on the tf topics.

Thank you very much in advance for your assistance.

Kind regards,
Michael Dengl & Lilla Goldmann

image

Hydra dsg builder not found

Hi. I am really impressed by your work and I am trying to run the Quickstart section. I navigated to catkin_ws. I then sourced the path to source /home/adam/catkin_ws/devel/.private/catkin_tools_prebuild/setup.bash.
I then run:
roslaunch hydra_dsg_builder uhumans2_incremental_dsg.launch start_visualizer:=true
but get response:
RLException: [uhumans2_incremental_dsg.launch] is neither a launch file in package [hydra_dsg_builder] nor is [hydra_dsg_builder] a launch file name

Compilation Errors

I am trying to compile Hydra on Ubuntu 20.04 with ROS Noetic, using the instructions at https://github.com/MIT-SPARK/Hydra using catkin.

I had a compilation problem for Kimera-RPGO, which was reported and fix suggested at MIT-SPARK/Kimera-RPGO#86. I implemented that fix by changing the Kimera-RPGO version to be fix/gtsam_boost_removal in /root/catkin_ws/src/hydra/install/hydr.rosinstall before running
vcs import . < hydra/install/hydra.rosinstall

That fixed the Kimera-RPGO error, but now I get the following error:

Errors << kimera_pgmo:make /root/catkin_ws/logs/kimera_pgmo/build.make.000.log
In file included from /root/catkin_ws/devel/include/gtsam/base/Matrix.h:28,
from /root/catkin_ws/devel/include/gtsam/base/Manifold.h:22,
from /root/catkin_ws/devel/include/gtsam/geometry/BearingRange.h:21,
from /root/catkin_ws/devel/include/gtsam/geometry/Pose3.h:22,
from /root/catkin_ws/src/kimera_pgmo/include/kimera_pgmo/utils/CommonFunctions.h:12,
from /root/catkin_ws/src/kimera_pgmo/src/compression/MeshCompression.cpp:11:
/root/catkin_ws/devel/include/gtsam/base/Vector.h:75:52: error: static assertion failed: Error: GTSAM was built against a different version of Eigen
75 | GTSAM_EIGEN_VERSION_WORLD==EIGEN_WORLD_VERSION &&
| ^

Cannot locate rosdep definition for ...

Hello, I was trying to run the code in my ubuntu-20.04 in ROS neotic but I got the following errors when running
rosdep install --from-paths . --ignore-src -r -y
Running above gives me the following error:
ERROR: the following packages/stacks could not have their rosdep keys resolved to system dependencies: kimera_semantics_ros: Cannot locate rosdep definition for [disparity_image_proc] minkindr_python: Cannot locate rosdep definition for [numpy_eigen] kimera_pgmo: Cannot locate rosdep definition for [Eigen] Continuing to install resolvable dependencies... #All required rosdeps installed successfully
Can you help me in solving this?
Thank you in advance!

dynamic objects handling + stasis assumption + LMMs interest?

Hi @nathanhhughes,

Thanks for the great work with hydra!

I have questions arising from the recent interest our robotics laboratory is having in the toolkit:

  • in #1 and #31 there are mentions of dynamic objects handling, deriving from kimera-semantics: 1) how are they handled in hydra (e.g., are they filtered out from the reconstructed 3D scene graph or an agent pose graph is being created)? 2) is it stopping at human beings or are there multiple classes of dynamic objects being detected?
  • in one of the papers (cannot remember if hydra's or hydra-multi's) you mention relaxing the stasis assumption as future work, meaning relaxing the assumptions that objects and the disposition of the scene remains static during the registration: is the assessment still correct or have there been on-going efforts in hydra about this limitation?
  • what's your view of large multi-modal models (LMMs) and do you see a place for them in hydra in the future allowing a deeper characterization of objects (e.g., material, color, weight, affordances) in the scene, as recent works like conceptgraphs have tried to do, albeit at a much smaller 3D scene graph scale?

The latter would be crucial IMO for enabling efficient and complex high-level planning of heterogeneous robots in large-scale indoor environments following the foundation of works like sayplan or similar.

I am curious about your view on this because at our laboratory, drawing inspiration from hydra, we have been working on extending and improving a conceptgraphs-inspired 3D scene graph generation pipeline, combining some of your geometric approaches for tree decomposition and iterative scene graph construction, registration and optimization, with more and more efficient LMMs (a fine-tuned cogVLM ONNX export) for generating more informative object descriptors and estimating room descriptors. As a workaround on the first two bullet points we are filtering out objects the LMM deemes as dynamic from the global scene graph and are keeping a somewhat informative room descriptor aggregating its objects descriptors, enabling efficient high-level cross-room planning with LLMs using the partial knowledge of what objects characterize any given room and how, without bothering knowing in advance the specific object poses in the graph, especially for those that might be easily moved around. The same process being repeated at a higher-level in the hierarchy, aggregating room descriptors into floor plan descriptors. A small, local and densely accurate scene graph is being created in real-time for any given room once a robot enters it or requires access to it.

Of course, we are at a much more embryonic stage, and not at real-time runtime (yet not too far away either), but I was interested in your view on these (arguably challenging) topics, and on how they're being handled in hydra or if they are currently being addressed in the research roadmap behind hydra.

Thanks in advance for taking the time to answer this.

[QUESTION] Recommended system requirements for running Hydra?

What are the recommended best-case system requirements for running Hydra on map sizes comparable to uHumans datasets with VIO enabled (such as Kimera-VIO)? Information like CPU, storage access speed, RAM and GPU in case we want to run semantic segmentation live.

In addition, what difference would running the above on bare metal, container or virtual machine make?

Thanks I advance!

[QUESTION]Ros independent Version of Hydra

Hi. I am trying to develop a non Ros version of Hydra. What do you suggest as the best approach to building a non ROS version?

Why did you choose to use ROS for Hydra ?

Couldn't open the start_visualizer option

Hi!

I found a bug that may be occurred when using the option: "start visualizer:=true". If I launched the Hydra by:

roslaunch hydra_dsg_builder uhumans2_incremental_dsg.launch start_visualizer:=true

The hydra will be killed and output the following message:

[ INFO] [1658319483.616856493]: Config: 
- mesh_plugin_type: PGMO
- load_graph: false
- scene_graph_filepath: 
- visualizer_ns: /hydra_dsg_visualizer
- mesh_plugin_ns: dsg_mesh
- output_path: 

[ WARN] [1658319483.626158232]: PoseGraphPublisher waiting for subscriber...
[ INFO] [1658319483.627042257]: Initializing pose graph visualizer
[ INFO] [1658319483.700555267]: rviz version 1.14.14
[ INFO] [1658319483.700585160]: compiled against Qt version 5.12.8
[ INFO] [1658319483.700590221]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1658319483.712954538]: Forcing OpenGl version 0.
[ INFO] [1658319483.714701817]: Logging backend graph to /home/zhy/ROSProject/hydar_ws/src/hydra/hydra_dsg_builder/output/uhumans2/office/backend
[ WARN] [1658319483.720185107]: MeshFrontend: Skipping callback registration
[ INFO] [1658319483.720202249]: Initialized MeshFrontend.
[ INFO] [1658319483.720210421]: Logging frontend graph to /home/zhy/ROSProject/hydar_ws/src/hydra/hydra_dsg_builder/output/uhumans2/office/frontend
[ WARN] [1658319484.029669728, 17.987247466]: PoseGraphPublisher waiting for transform: left_cam -> world
[ INFO] [1658319484.118245471, 18.077831406]: Stereo is NOT SUPPORTED
[ INFO] [1658319484.118289907, 18.077831406]: OpenGL device: NVIDIA GeForce RTX 3090/PCIe/SSE2
[ INFO] [1658319484.118303260, 18.077831406]: OpenGl version: 4.6 (GLSL 4.6).
[ WARN] [1658319484.227130625, 18.188874276]: using timer!
[ INFO] [1658319484.536664342, 18.500714565]: New prefix s detected when adding new mesh edges and nodes. 
[ WARN] [1658319484.536824797, 18.500714565]: KimeraPgmo: Partial mesh not connected to pose graph. 
[ INFO] [1658319484.537410575, 18.500714565]: DeformationGraph: Re-calculating all mesh vertices in deformMesh. 
[ INFO] [1658319484.538214830, 18.500714565]: Publish optimized mesh. 
[ INFO] [1658319484.547218824, 18.510770073]: Received dsg update message of 7.58 KiB
[ INFO] [1658319484.723557844, 18.681757309]: Creating TriangleMeshVisual 0_TriangleMesh_0_8400
[ INFO] [1658319484.723641811, 18.681757309]: Resetting TriangleMeshVisual 0_TriangleMesh_0_8400
[ INFO] [1658319484.723668978, 18.681757309]: Received 2066 vertex colors.
[ INFO] [1658319485.138061584, 19.094287005]: Publish optimized mesh. 
[ INFO] [1658319485.151557365, 19.114415800]: Received dsg update message of 9.86 KiB
*** Aborted at 1658319485 (unix time) try "date -d @1658319485" if you are using GNU date ***
PC: @                0x0 (unknown)
*** SIGSEGV (@0x100000001) received by PID 732470 (TID 0x7ff7647eb000) from PID 1; stack trace: ***
    @     0x7ff769846090 (unknown)
    @     0x7ff7695be7a3 cv::_OutputArray::create()
    @     0x7ff769df4a5e cv::cvtColorHLS2BGR()
    @     0x7ff769dea598 cv::cvtColor()
    @     0x7ff76bbafdda hydra::dsg_utils::getRgbFromHls()
    @     0x7ff76bb9c210 hydra::getNodeColor()
    @     0x7ff76bb9d124 hydra::DynamicSceneGraphVisualizer::drawDynamicLayer()
    @     0x7ff76bba0e40 hydra::DynamicSceneGraphVisualizer::drawDynamicLayers()
    @     0x7ff76bba1aad hydra::DynamicSceneGraphVisualizer::redrawImpl()
    @     0x7ff76bb9c671 hydra::DynamicSceneGraphVisualizer::redraw()
    @     0x55a805235414 hydra::VisualizerNode::spin()
    @     0x55a805232f3e main
    @     0x7ff769827083 __libc_start_main
    @     0x55a80523302e _start
================================================================================REQUIRED process [hydra_visualizer_node-10] has died!
process has died [pid 732470, exit code -11, cmd /home/zhy/ROSProject/hydar_ws/devel/lib/hydra_utils/hydra_visualizer_node -alsologtostderr -colorlogtostderr -v=0 ~dsg:=/incremental_dsg_builder_node/dsg ~dsg_mesh_updates:=/incremental_dsg_builder_node/pgmo/optimized_mesh __name:=hydra_visualizer_node __log:=/home/zhy/.ros/log/fad91482-0825-11ed-85c5-efe60e99c719/hydra_visualizer_node-10.log].
log file: /home/zhy/.ros/log/fad91482-0825-11ed-85c5-efe60e99c719/hydra_visualizer_node-10*.log
Initiating shutdown!
================================================================================
[incremental_dsg_builder_node/pgmo/posegraph_viewer-14] killing on exit
[pose_graph_publisher_node-13] killing on exit
[incremental_dsg_builder_node-12] killing on exit
[rviz-11] killing on exit
[hydra_visualizer_node-10] killing on exit
[hydra_topology_node-9] killing on exit
[cloudify-8] killing on exit
[nodelet_manager-7] killing on exit
[bag_static_tf_3-4] killing on exit
[bag_static_tf_4-5] killing on exit
[bag_static_tf_5-6] killing on exit
[bag_static_tf_2-3] killing on exit
[bag_static_tf_1-2] killing on exit
[bag_static_tf_0-1] killing on exit
QFileSystemWatcher::removePaths: list is empty
QFileSystemWatcher::removePaths: list is empty
shutting down processing monitor...
... shutting down processing monitor complete
done

If I didn't use the option "start_visualizer:=true", the hydra runs well:

roslaunch hydra_dsg_builder uhumans2_incremental_dsg.launch

The hydra's output can be also seen by selecting the topics in Rviz. It may be that some bugs in visualization. How to solve it?

THX!

[QUESTION] About Hydra-multi

Great work ! I notice that ur latest work Hydra-multi has been published in IROS and i wonder if u prefer to open source!

[incremental_dsg_builder_node-12] has died! process has died! -- A bug on ubuntu 20.04 and ROS Noetic

Hi,
I am an undergraduate at CUHK, working on my summer research. I am really impressed by Hydra's excellent outcome and novel ideas.

But when I am trying to re-implement the code, I faced an unforeseen bug. I followed the instructions in readme file. After building it, I opened roscore and tried to run roslaunch hydra_dsg_builder uhumans2_incremental_dsg.launch start_visualizer:=true. It seemed that [incremental_dsg_builder_node-12] occurs the problem. Rviz flashed once and disappeared.

The error message was like this:

[ INFO] [1657355430.505268029]: Initializing pose graph visualizer
[ WARN] [1657355430.507929902]: PoseGraphPublisher waiting for subscriber...
[ INFO] [1657355430.564287765]: rviz version 1.14.14
[ INFO] [1657355430.564318708]: compiled against Qt version 5.12.8
[ INFO] [1657355430.564326571]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1657355430.579810715]: Forcing OpenGl version 0.
[ INFO] [1657355430.736187684]: Stereo is NOT SUPPORTED
[ INFO] [1657355430.736225276]: OpenGL device: Mesa Intel(R) UHD Graphics 630 (CFL GT2)
[ INFO] [1657355430.736242671]: OpenGl version: 4.6 (GLSL 4.6) limited to GLSL 1.4 on Mesa system.
================================================================================
REQUIRED process [incremental_dsg_builder_node-12] has died!
process has died [pid 32014, exit code -11, cmd /home/haostarrr/catkin_ws/devel/lib/hydra_dsg_builder/hydra_dsg_builder_incremental_node --minloglevel=3 -v=0 ~voxblox_mesh:=/hydra_topology_node/active_mesh ~active_places:=/hydra_topology_node/active_layer ~/bow_vectors:=/kimera_vio_ros/bow_query frame_registration:=/kimera_vio_ros/kimera_vio_ros_node/register_lcd_frames __name:=incremental_dsg_builder_node __log:=/home/haostarrr/.ros/log/0c6383cc-ff61-11ec-8540-f5c17cd13c52/incremental_dsg_builder_node-12.log].
log file: /home/haostarrr/.ros/log/0c6383cc-ff61-11ec-8540-f5c17cd13c52/incremental_dsg_builder_node-12*.log
Initiating shutdown!
================================================================================
[incremental_dsg_builder_node/pgmo/posegraph_viewer-14] killing on exit
[pose_graph_publisher_node-13] killing on exit
[incremental_dsg_builder_node-12] killing on exit
[rviz-11] killing on exit
[hydra_visualizer_node-10] killing on exit
[bag_static_tf_4-5] killing on exit
[cloudify-8] killing on exit
[nodelet_manager-7] killing on exit
[bag_static_tf_5-6] killing on exit
[hydra_topology_node-9] killing on exit
[bag_static_tf_3-4] killing on exit
[bag_static_tf_2-3] killing on exit
[bag_static_tf_1-2] killing on exit
timing stats: elapsed: 0 [s] (0 +/- 0 [s] with 0 measurements)
mesh timing stats: elapsed: 0 [s] (0 +/- 0 [s] with 0 measurements)
terminate called after throwing an instance of 'boost::wrapexcept<boost::lock_error>'
  what():  boost: mutex lock failed in pthread_mutex_lock: Invalid argument
[bag_static_tf_0-1] killing on exit
QFileSystemWatcher::removePaths: list is empty
QFileSystemWatcher::removePaths: list is empty
shutting down processing monitor...
... shutting down processing monitor complete
done

I am using Ubuntu 20.04 and ROS Noetic. I am not sure whether it is my ROS's problem. I run ORB-SLAM3 last week (it may prove that my ROS can work?).
My .bashrc setting is like:

source /opt/ros/noetic/setup.bash

# For ORB-SLAM3
# export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/home/haostarrr/ORB_SLAM3_detailed_comments/Examples/ROS/ORB_SLAM3
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/home/haostarrr/ORB_SLAM3/Examples_old/ROS/ORB_SLAM3

# For Hydra catkin_ws
source /home/haostarrr/catkin_ws/devel/setup.bash

Do you have any idea about this?

Thank you.

[QUESTION] Should the labels and from uHuamans2 office dataset be like this?

Hi and thanks for the interesting software and technology you have created.

Have been trying it out the past week and can't figure out if the labels and the would look like this (see the attached picture). The only reference I have seen are from your paper and YouTube presentation, neither of which shows the semantic labels overlapping the mesh. Could this be something that is wrong with our local config?

label_prnt

How to run Hydra using Zed Camera

Hi Nathan

I am trying to run Hydra using zed camera can you help me out with the procedure and i am not an MIT student i need to know what is alternative package for semantic_recolor.

[QUESTION] Scaling and rotation of objects

Hello!

I have a question regarding scaling and rotation of objects. Running the uHumans2-dataset I am able to retrieve the position of the objects by listening to the topic /hydra_dsg_visualizer/dsg_markers and extracting it from the Pose object. However, I am trying to retrieve the scaling and rotation of the objects using the same topic (scaling from the Marker object and rotation from the Pose object), but I cannot seem to get the correct information. Is this the correct approach or am I doing something wrong? It would be greatly appreciated with further help.

Thank you!

[QUESTION] running uHumans2 dataset against other scenes produces no objects

First, thank you for wonderful work.

I have a similar issue adapting uHuman2_apartment or subway dataset.
When adapting apartment data, i exactly followed the instruction of uHumans2_office_s1_00h version and the mapping result was similar with office case except meshed map.

Screenshot from 2022-10-01 00-06-48

I thinked some parameters in uhumans2_incremental_dsg.launch should be changed for other datasets and convert below arguments to appropriate one in kimera_semantics_ros/cfg folder.

<arg name="dsg_output_prefix" default="office"/>
<arg name="typology_dir" default="$(find hydra_dsg_builder)/config/uhumans2"/>
<arg name="typology_config" default="uhumans2_office_typology.yaml"/>
<arg name="semantic_map_dir" default="$(find kimera_semantics_ros)/cfg"/>
<arg name="semantic_map_file" default="tesse_multiscene_office1_segmentation_mapping.csv"/>

<arg name="semantic_color_path"
default="$(find kimera_semantics_ros)/cfg/tesse_multiscene_office1_segmentation_mapping.csv"
if="$(arg use_gt_semantics)"/>

After that, hydra package is not launched for below error messages.
(Especially when i changed the semantic_map_file argument in uhumans2_incremental_dsg.launch, error occured )

[ INFO] [1664551953.114403717]: Initializing pose graph visualizer
[ WARN] [1664551953.116088151]: PoseGraphPublisher waiting for subscriber...
F1001 00:32:33.176373 328674 color.cpp:51] Check failed: loop->size() == 6 (8 vs. 6) Row 1 is invalid.
*** Check failure stack trace: ***
    @     0x7f793f6ad1c3  google::LogMessage::Fail()
[ INFO] [1664551953.179036916]: Logging backend graph to /home/gil/sparoLab/open_source/Graph_slam/src/hydra/hydra_dsg_builder/output/uhumans2/apartment/backend
    @     0x7f793f6b225b  google::LogMessage::SendToLog()
    @     0x7f793f6acebf  google::LogMessage::Flush()
    @     0x7f793f6ad6ef  google::LogMessageFatal::~LogMessageFatal()
    @     0x7f793e3073ab  kimera::SemanticLabel2Color::SemanticLabel2Color()
    @     0x7f793faee0e6  kimera::getSemanticTsdfIntegratorConfigFromRosParam()
    @     0x7f793faf8cb5  kimera::SemanticTsdfServer::SemanticTsdfServer()
[ INFO] [1664551953.183147875]: Logging output to: /home/gil/sparoLab/open_source/Graph_slam/src/hydra/hydra_dsg_builder/output/uhumans2/apartment/pgmo
    @     0x7f793faf945e  kimera::SemanticTsdfServer::SemanticTsdfServer()
    @     0x56209002d449  hydra::topology::TopologyServer<>::setupLayers()
    @     0x56209002dd64  hydra::topology::TopologyServer<>::TopologyServer()
    @     0x562090017a3b  main
    @     0x7f793f1b7083  __libc_start_main
    @     0x562090017c9e  _start
[ WARN] [1664551953.184279743]: MeshFrontend: Skipping callback registration
[ INFO] [1664551953.185095673]: Initialized MeshFrontend.
[ INFO] [1664551953.185166448]: Logging frontend graph to /home/gil/sparoLab/open_source/Graph_slam/src/hydra/hydra_dsg_builder/output/uhumans2/apartment/frontend
[ INFO] [1664551953.187218466]: rviz version 1.14.19
[ INFO] [1664551953.187237556]: compiled against Qt version 5.12.8
[ INFO] [1664551953.187241696]: compiled against OGRE version 1.9.0 (Ghadamon)
F1001 00:32:33.199155 328688 color.cpp:51] Check failed: loop->size() == 6 (8 vs. 6) Row 1 is invalid.
*** Check failure stack trace: ***
[ INFO] [1664551953.200407565]: Forcing OpenGl version 0.
    @     0x7f41c032e1c3  google::LogMessage::Fail()
    @     0x7f41c033325b  google::LogMessage::SendToLog()
    @     0x7f41c032debf  google::LogMessage::Flush()
    @     0x7f41c032e6ef  google::LogMessageFatal::~LogMessageFatal()
    @     0x7f41bf6693ab  kimera::SemanticLabel2Color::SemanticLabel2Color()
    @     0x7f41bf6a80e6  kimera::getSemanticTsdfIntegratorConfigFromRosParam()
    @     0x7f41c0980035  hydra::incremental::MeshSegmenter::MeshSegmenter()
    @     0x7f41c0966aa8  hydra::incremental::DsgFrontend::startMeshFrontend()
    @     0x7f41c0967c9a  hydra::incremental::DsgFrontend::start()
    @     0x55ec45473f57  main
    @     0x7f41bf7ed083  __libc_start_main
    @     0x55ec4547496e  _start
================================================================================REQUIRED process [hydra_topology_node-10] has died!
process has died [pid 328674, exit code -6, cmd /home/gil/sparoLab/open_source/Graph_slam/devel/lib/hydra_topology/hydra_topology_node --minloglevel=3 -v=0 pointcloud:=/semantic_pointcloud __name:=hydra_topology_node __log:=/home/gil/.ros/log/19f051fe-40d5-11ed-a742-e51d644fcd44/hydra_topology_node-10.log].
log file: /home/gil/.ros/log/19f051fe-40d5-11ed-a742-e51d644fcd44/hydra_topology_node-10*.log
Initiating shutdown!
================================================================================

Could i get some advise for these issues?

Thanks

[QUESTION] Support for multi-session and multi-agent

Hi, I was wondering if you have support for multi-session (e.g. re-load the saved 3D scene graph in the output folder to keep building on it) and also multi-agent (e.g. two agents can be running at the same time, contributing to the same 3D scene graph)? I ran the code and read through the code and paper and could not find information on that. If not, is it something that you plan/do not plan to support? Thank you!

[QUESTION] Support for Habitat / mp3d dataset

Hello Nathan,
Thanks for the great work on Hydra!
I've noticed that there exists a launch file and config for the Matterport3d dataset. The corresponding rViz config shows the subscription to the habitat data (e.g./habitat/agent_0/pointcloud)
Is there existing work on exporting data from habitat to Hydra?

how to run own dataset

hi
Excuse me,if I run my own dataset, how do I need to modify the dataset to obtain DSG,or use 2D semantic segmentation to achieve.

[QUESTION] How to enable dynamic nodes visualization?

Hi @nathanhhughes! Is there a way to track spatial information for other dynamic objects as was shown in the Kimera paper? For example, how can I track human trajectories in the uHumans dataset? In the resultant dsg.json, I can only see nodes with trajectory related to the agent mapping the scene.

Thank you so much for your attention and participation.

Protobuf Compiler dependency

Very interesting work. I tried to test this out using the osrf/ros:noetic-desktop docker image. After installing git, the mentioned dependencies and setting up the workspace according to the instructions, when trying to build I ran into the following error:
Protobuf compiler version doesn't match library version 3.6.1 in voxblox.
Searching around a bit, I found the error message was incomplete due to not having protobuf compiler installed.
After installing sudo apt install protobuf-compiler, cleaning up the build and rebuilding everything succeeded.

Issue with custom vio install

Hi,

I would like to know if the vio_overlay.rosinstall is only available for mit users or for the public too? As I have tried to run the script but it says permission denied. Thank you.

[QUESTION] How can I save final mesh?

In the output folder I only see the ply file of the mesh from the frontend which is latest snapshot. How can I save the whole mesh in the ply format?

Thanks!

missing config file of the scene "neighborhood1" in the folder "hydra_dsg_builder/config/uhumans2/" ?

Hi Nathan

We met the same question as issue #18, and have successfully solved the problem with the following command:
roslaunch hydra_dsg_builder uhumans2_incremental_dsg.launch start_visualizer:=true semantic_map_file:=tesse_multiscene_archviz1_segmentation_mapping.csv typology_file:=uhmans2_apartment_typology.yaml

It works well for office, archviz(apartment) and underground(subway), but it seems that the corresponding typology file of "tesse_multiscene_neighborhood1_segmentation_mapping.csv" is missing in the folder "hydra_dsg_builder/config/uhumans2/".

Besides, the mesh of neighborhood seems to be limited to 2d ground plane. We wonder if it works well?

Can you help us with that?
Thanks!

Semantic segmentation + running Hydra on custom data

First of all, thank you for releasing such an interesting work in the field of Semantic SLAM.

Considering that the Semantic Segmentation Network used by Hydra is not yet ready for publication, I'd like to ask if there are alternatives that can be considered in the meantime, including the use of other networks, or the supply of custom "ground truth" data (in that case I'd like to know which format Hydra expects).

Additionally, I was wondering if there are plans to add support for custom bag files/sequences, or alternatively adding instructions to do so, reutilizing the existing launch file infrastructure. We are very interested in testing Hydra with data recorded from our own robot, which is fitted with an RGBD camera, and it could also provide odometry information directly (nav_msgs/Odometry) instead of requiring a visual-inertial odometry component. It is also not presently clear to us which topics are needed as inputs to the system.

[QUESTION]Dependencies about pcl and opencv's flann lib?

I tried adding a flann header or specifying a namespace, but nothing could fix the compilation error. Please help me, thank you.

/usr/include/pcl-1.8/pcl/kdtree/impl/kdtree_flann.hpp:123:55: error: expected primary-expression before ‘float’
flann_index_.reset (new FLANNIndex (::flann::Matrix (cloud_.get (),
^~~~~
/usr/include/pcl-1.8/pcl/kdtree/impl/kdtree_flann.hpp:126:48: error: ‘KDTreeSingleIndexParams’ is not a member of ‘flann’
::flann::KDTreeSingleIndexParams (15))); // max 15 points/leaf
^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.8/pcl/kdtree/impl/kdtree_flann.hpp:126:48: note: suggested alternative:
In file included from /usr/local/include/opencv2/flann/all_indices.h:37:0,
from /usr/local/include/opencv2/flann/flann_base.hpp:43,
from /usr/local/include/opencv2/flann.hpp:48,
from /usr/local/include/opencv2/flann/flann.hpp:48,
from /usr/include/pcl-1.8/pcl/kdtree/flann.h:50,
from /usr/include/pcl-1.8/pcl/kdtree/kdtree_flann.h:45,
from /usr/include/pcl-1.8/pcl/search/kdtree.h:44,
from /usr/include/pcl-1.8/pcl/search/pcl_search.h:44,
from /usr/include/pcl-1.8/pcl/features/impl/feature.hpp:44,
from /usr/include/pcl-1.8/pcl/features/feature.h:498,
from /usr/include/pcl-1.8/pcl/features/moment_of_inertia_estimation.h:45,
from /home/username/catkin_ws/devel/include/spark_dsg/bounding_box.h:37,
from /home/username/catkin_ws/devel/include/spark_dsg/node_attributes.h:36,
from /home/username/catkin_ws/devel/include/spark_dsg/scene_graph_node.h:36,
from /home/username/catkin_ws/devel/include/spark_dsg/base_layer.h:38,
from /home/username/catkin_ws/devel/include/spark_dsg/dynamic_scene_graph_layer.h:36,
from /home/username/catkin_ws/devel/include/spark_dsg/dynamic_scene_graph.h:36,
from /home/username/catkin_ws/src/hydra/hydra_utils/include/hydra_utils/dsg_types.h:2,
from /home/username/catkin_ws/src/hydra/hydra_utils/include/hydra_utils/dsg_visualizer_plugin.h:37,
from /home/username/catkin_ws/src/hydra/hydra_utils/include/hydra_utils/dsg_mesh_plugins.h:36,
from /home/username/catkin_ws/src/hydra/hydra_utils/src/dsg_mesh_plugins.cpp:35:
/usr/local/include/opencv2/flann/kdtree_single_index.h:51:8: note: ‘cvflann::KDTreeSingleIndexParams’
struct KDTreeSingleIndexParams : public IndexParams
^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/pcl-1.8/pcl/kdtree/kdtree_flann.h:238:0,
from /usr/include/pcl-1.8/pcl/search/kdtree.h:44,
from /usr/include/pcl-1.8/pcl/search/pcl_search.h:44,
from /usr/include/pcl-1.8/pcl/features/impl/feature.hpp:44,
from /usr/include/pcl-1.8/pcl/features/feature.h:498,
from /usr/include/pcl-1.8/pcl/features/moment_of_inertia_estimation.h:45,
from /home/username/catkin_ws/devel/include/spark_dsg/bounding_box.h:37,
from /home/username/catkin_ws/devel/include/spark_dsg/node_attributes.h:36,
from /home/username/catkin_ws/devel/include/spark_dsg/scene_graph_node.h:36,
from /home/username/catkin_ws/devel/include/spark_dsg/base_layer.h:38,
from /home/username/catkin_ws/devel/include/spark_dsg/dynamic_scene_graph_layer.h:36,
from /home/username/catkin_ws/devel/include/spark_dsg/dynamic_scene_graph.h:36,
from /home/username/catkin_ws/src/hydra/hydra_utils/include/hydra_utils/dsg_types.h:2,
from /home/username/catkin_ws/src/hydra/hydra_utils/include/hydra_utils/dsg_visualizer_plugin.h:37,
from /home/username/catkin_ws/src/hydra/hydra_utils/include/hydra_utils/dsg_mesh_plugins.h:36,
from /home/username/catkin_ws/src/hydra/hydra_utils/src/dsg_mesh_plugins.cpp:35:
/usr/include/pcl-1.8/pcl/kdtree/impl/kdtree_flann.hpp: In member function ‘int pcl::KdTreeFLANN<PointT, Dist>::nearestKSearch(const PointT&, int, std::vector&, std::vector&) const’:
/usr/include/pcl-1.8/pcl/kdtree/impl/kdtree_flann.hpp:147:12: error: ‘Matrix’ is not a member of ‘flann’
::flann::Matrix k_indices_mat (&k_indices[0], 1, k);
^~~~~~
/usr/include/pcl-1.8/pcl/kdtree/impl/kdtree_flann.hpp:147:12: note: suggested alternatives:
In file included from /usr/include/eigen3/Eigen/Core:346:0,
from /home/username/catkin_ws/devel/include/spark_dsg/scene_graph_types.h:36,
from /home/username/catkin_ws/devel/include/spark_dsg/node_symbol.h:36,
from /home/username/catkin_ws/devel/include/spark_dsg/edge_container.h:37,
from /home/username/catkin_ws/devel/include/spark_dsg/base_layer.h:37,
from /home/username/catkin_ws/devel/include/spark_dsg/dynamic_scene_graph_layer.h:36,
from /home/username/catkin_ws/src/hydra/hydra_utils/include/hydra_utils/dsg_mesh_plugins.h:36,
from /home/username/catkin_ws/src/hydra/hydra_utils/src/dsg_mesh_plugins.cpp:35:
/usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:74:9: note: ‘Eigen::Matrix’

class Matrix;
^~~~~~
In file included from /usr/local/include/opencv2/flann/flann_base.hpp:39:0,
from /usr/local/include/opencv2/flann.hpp:48,
from /usr/local/include/opencv2/flann/flann.hpp:48,
from /usr/include/pcl-1.8/pcl/kdtree/flann.h:50,
from /usr/include/pcl-1.8/pcl/kdtree/kdtree_flann.h:45,
fr from /home/username/catkin_ws/src/hydra/hydra_utils/include/hydra_utils/dsg_mesh_plugins.h:36,
from /home/username/catkin_ws/src/hydra/hydra_utils/src/dsg_mesh_plugins.cpp:35:
/usr/local/include/opencv2/flann/matrix.h:46:7: note: ‘cvflann::Matrix’
class Matrix
^~~~~~
In file included from /usr/include/pcl-1.8/pcl/kdtree/kdtree_flann.h:238:0,
from /usr/include/pcl-1.8/pcl/search/kdtree.h:44,
/home/username/catkin_ws/src/hydra/hydra_utils/src/dsg_mesh_plugins.cpp:35:
/usr/include/pcl-1.8/pcl/kdtree/impl/kdtree_flann.hpp:147:19: error: expected primary-expression before ‘int’
::flann::Matrix k_indices_mat (&k_indices[0], 1, k);
^~~
/usr/include/pcl-1.8/pcl/kdtree/impl/kdtree_flann.hpp:148:12: error: ‘Matrix’ is not a member of ‘flann’
::flann::Matrix k_distances_mat (&k_distances[0], 1, k);
^~~~~~
/usr/include/pcl-1.8/pcl/kdtree/impl/kdtree_flann.hpp:148:12: note: suggested alternatives:
In file included from /usr/include/eigen3/Eigen/Core:346:0,
from /home/username/catkin_ws/devel/include/spark_dsg/scene_graph_types.h:36,
from /home/username/catkin_ws/devel/include/spark_dsg/node_symbol.h:36,
from /home/username/catkin_ws/devel/include/spark_dsg/edge_container.h:37,
from /home/username/catkin_ws/devel/include/spark_dsg/base_layer.h:37,
from /home/username/catkin_ws/devel/include/spark_dsg/dynamic_scene_graph_layer.h:36,
from /home/username/catkin_ws/devel/include/spark_dsg/dynamic_scene_graph.h:36,
from /home/username/catkin_ws/src/hydra/hydra_utils/include/hydra_utils/dsg_types.h:2,
from /home/username/catkin_ws/src/hydra/hydra_utils/include/hydra_utils/dsg_visualizer_plugin.h:37,
from /home/username/catkin_ws/src/hydra/hydra_utils/include/hydra_utils/dsg_mesh_plugins.h:36,
from /home/username/catkin_ws/src/hydra/hydra_utils/src/dsg_mesh_plugins.cpp:35:
/usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:74:9: note: ‘Eigen::Matrix’
class Matrix;
^~~~~~
In file included from /usr/local/include/opencv2/flann/flann_base.hpp:39:0,
from /usr/local/include/opencv2/flann.hpp:48,
/usr/include/pcl-1.8/pcl/kdtree/impl/kdtree_flann.hpp:148:19: error: expected primary-expression before ‘float’
::flann::Matrix k_distances_mat (&k_distances[0], 1, k);
^~~~~
/usr/include/pcl-1.8/pcl/kdtree/impl/kdtree_flann.hpp:150:37: error: ‘Matrix’ is not a member of ‘flann’
flann_index_->knnSearch (::flann::Matrix (&query[0], 1, dim_),
^~~~~~
/usr/include/pcl-1.8/pcl/kdtree/impl/kdtree_flann.hpp:150:44: error: expected primary-expression before ‘float’
flann_index_->knnSearch (::flann::Matrix (&query[0], 1, dim_),
^~~~~
/usr/include/pcl-1.8/pcl/kdtree/impl/kdtree_flann.hpp:151:28: error: ‘k_indices_mat’ was not declared in this scope
k_indices_mat, k_distances_mat,
^~~~~~~~~~~~~
/usr/include/pcl-1.8/pcl/kdtree/impl/kdtree_flann.hpp:151:28: note: suggested alternative: ‘k_indices’
k_indices_mat, k_distances_mat,
^~~~~~~~~~~~~
k_indices
/usr/include/pcl-1.8/pcl/kdtree/impl/kdtree_flann.hpp:151:43: error: ‘k_distances_mat’ was not declared in this scope
k_indices_mat, k_distances_mat,
^~~~~~~~~~~~~~~
/usr/include/pcl-1.8/pcl/kdtree/impl/kdtree_flann.hpp:151:43: note: suggested alternative: ‘k_distances’
k_indices_mat, k_distances_mat,
^~~~~~~~~~~~~~~
k_distances
/usr/include/pcl-1.8/pcl/kdtree/impl/kdtree_flann.hpp: In member function ‘int pcl::KdTreeFLANN<PointT, Dist>::radiusSearch(const PointT&, double, std::vector&, std::vector&, unsigned int) const’:
/usr/include/pcl-1.8/pcl/kdtree/impl/kdtree_flann.hpp:184:25: error: ‘params’ has incomplete type
::flann::SearchParams params (param_radius_);

`

[QUESTION] Release visual loop-closures?

Hi, one of the critical contribution of this work is about the loop-closures, but the current release is missing the visual loop-closure part. May I ask do you plan to release it so that other works could benchmark the real performance of this work?

Add issue template and debug instructions

Adding information to the readme (and an issue template) about how to obtain backtraces and other useful debug information when users encounter an issue would be helpful. See #6 for a first draft.

Running Hydra with EuRoC dataset

I managed to successfully build hydra with Kimear-VIO and it runs well on uHumans data. How can I run it with EuRoc dataset? What has to change in the config file? Thanks!

[QUESTION] Semantic color and label mapping in uHumans2 office dataset

Hi! I was looking a bit closer into the semantic image from the office rosbag and what labels come out from Hydra, and it looks like the label and color mapping is not corresponding to the file I thought was creating this mapping.

My understanding was that the color to label mapping was set by this file https://github.com/MIT-SPARK/Kimera-Semantics/blob/master/kimera_semantics_ros/cfg/tesse_multiscene_office1_segmentation_mapping.csv as its the one defined in the launch file for uhumans2_incremental_dsg, but when I check the csv colors and respective labels, only chairs and couches seem to have the correct assignment (green -> 5). Other objects like LCD (should be red -> 10 in csv, but its blue in the semantic image), plants (should be blue -> 13 in csv, but its orange in the semantic image), water dispenser (should be dark red -> 18 in csv, but its purple in the semantic image). See snapshot below. However, all the id numbers seem to be correct. Is there some other remapping happening, am I looking at the wrong csv file, or am I confusing something? :)

Thanks for the help!

image

[QUESTION] Run uHumans dataset but no scene graph is built

Hi Nathan

I compiled the project successfully and run it with uHuman2_apartment_s1_00h.bag. I strictly followed the instruction and have not changed any parameters.

Here are the output after roslaunch hydra_dsg_builder uhumans2_incremental_dsg.launch start_visualizer:=true,

process[pose_graph_publisher_node-14]: started with pid [5732]
process[incremental_dsg_builder_node/pgmo/posegraph_viewer-15]: started with pid [5737]
[ WARN] [1664427109.764515173]: PoseGraphPublisher waiting for subscriber...
[ INFO] [1664427109.765233956]: Initializing pose graph visualizer
[ INFO] [1664427109.805238745]: rviz version 1.13.18
[ INFO] [1664427109.805274556]: compiled against Qt version 5.9.5
[ INFO] [1664427109.805285194]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1664427109.817109855]: Forcing OpenGl version 0.
XmbTextListToTextProperty result code -2
XmbTextListToTextProperty result code -2
[ INFO] [1664427109.912558213]: Logging backend graph to /home/lch/mit_ws/catkin_ws/src/Hydra/hydra_dsg_builder/output/uhumans2/office/backend
[ INFO] [1664427109.918640681]: Logging output to: /home/lch/mit_ws/catkin_ws/src/Hydra/hydra_dsg_builder/output/uhumans2/office/pgmo
[ WARN] [1664427109.920612979]: MeshFrontend: Skipping callback registration
[ INFO] [1664427109.920758069]: Initialized MeshFrontend.
[ INFO] [1664427109.920776062]: Logging frontend graph to /home/lch/mit_ws/catkin_ws/src/Hydra/hydra_dsg_builder/output/uhumans2/office/frontend
[ WARN] [1664427110.169361286]: PoseGraphPublisher waiting for transform: left_cam -> world
[ INFO] [1664427110.297691937]: Stereo is NOT SUPPORTED
[ INFO] [1664427110.297737212]: OpenGL device: GeForce GTX 1080 Ti/PCIe/SSE2
[ INFO] [1664427110.297752060]: OpenGl version: 4.6 (GLSL 4.6).
XmbTextListToTextProperty result code -2
XmbTextListToTextProperty result code -2
[ WARN] [1664427114.466186140, 3.530520571]: using timer!
XmbTextListToTextProperty result code -2
[ INFO] [1664427116.238928121, 4.416039183]: New prefix s detected when adding new mesh edges and nodes. 
[ INFO] [1664427116.339645156, 4.466376633]: DeformationGraph: Re-calculating all mesh vertices in deformMesh. 
[ERROR] [1664427116.339818027, 4.466376633]: Not enough valid control points in octree to interpolate point. 
[ERROR] [1664427116.339883765, 4.466376633]: Not enough valid control points in octree to interpolate point. 
*** Aborted at 1664427116 (unix time) try "date -d @1664427116" if you are using GNU date ***
PC: @                0x0 (unknown)
*** SIGSEGV (@0x2d) received by PID 5730 (TID 0x7f8c5dffb700) from PID 45; stack trace: ***
    @     0x7f8c8e064040 (unknown)
    @     0x7f8c8e0bca6d cfree
    @     0x7f8c8d47818a pcl::octree::OctreeBase<>::deleteBranchChild()
    @     0x7f8c8d4781b8 pcl::octree::OctreeBase<>::deleteBranchChild()
    @     0x7f8c8d4781f0 pcl::octree::OctreeBase<>::~OctreeBase()
    @     0x7f8c9036a860 boost::detail::sp_counted_impl_p<>::dispose()
    @     0x55785e3ccf7a boost::detail::sp_counted_base::release()
    @     0x7f8c903a5c18 kimera_pgmo::deformPointsWithTimeCheck<>()
    @     0x7f8c9039e0ef kimera_pgmo::DeformationGraph::deformMesh()
    @     0x7f8c9039e7f9 kimera_pgmo::DeformationGraph::deformMesh()
    @     0x7f8c90c514d0 hydra::incremental::DsgBackend::updateDsgMesh()
    @     0x7f8c90c579ea hydra::incremental::DsgBackend::runPgmo()
    @     0x7f8c8e6eb6df (unknown)
    @     0x7f8c8bc946db start_thread
    @     0x7f8c8e14671f clone
================================================================================REQUIRED process [incremental_dsg_builder_node-13] has died!
process has died [pid 5730, exit code -11, cmd /home/lch/mit_ws/catkin_ws/devel/lib/hydra_dsg_builder/hydra_dsg_builder_incremental_node --minloglevel=3 -v=3 ~voxblox_mesh:=/hydra_topology_node/active_mesh ~active_places:=/hydra_topology_node/active_layer ~/bow_vectors:=/kimera_vio_ros/bow_query frame_registration:=/kimera_vio_ros/kimera_vio_ros_node/register_lcd_frames __name:=incremental_dsg_builder_node __log:=/home/lch/.ros/log/6d41692a-3fb2-11ed-ad53-1831bfbc9e5b/incremental_dsg_builder_node-13.log].
log file: /home/lch/.ros/log/6d41692a-3fb2-11ed-ad53-1831bfbc9e5b/incremental_dsg_builder_node-13*.log
Initiating shutdown!
================================================================================
[incremental_dsg_builder_node/pgmo/posegraph_viewer-15] killing on exit

The program crashed around 2 seconds after the bag has been run. Not sure is it because the rostime in the bag is significantly different from my current rostime.
To debug, I comment out the launch of hydra_topology/hydra_topology.launch, as I want to confirm the frontend scene graph has been created correctly. Then, the program does not crash anymore and I can see the input sensor data: segmentation images, depth, semantic point cloud. But I cannot see the reconstructed semantic meshes, not to mention object and place markers. An rviz screenshot can be found here,

rviz_screenshot_2022_09_29-13_01_56

It looks like the scene graph cannot be constructed. It should be a front-end problem.

Can you help me with that?

Thanks

a build problem

When I execute "catkin build hydra", I get:

Errors << hydra:check /home/ty/桌面/hy/Hydra/catkin_ws/logs/hydra/build.check.005.log
CMake Warning at /opt/ros/melodic/share/catkin/cmake/catkin_package.cmake:166 (message):
catkin_package() DEPENDS on 'spark_dsg' but neither
'spark_dsg_INCLUDE_DIRS' nor 'spark_dsg_LIBRARIES' is defined.
Call Stack (most recent call first):
/opt/ros/melodic/share/catkin/cmake/catkin_package.cmake:102 (_catkin_package)
CMakeLists.txt:57 (catkin_package)

You have called ADD_LIBRARY for library hydra without any source files. This typically indicates a problem with your CMakeLists.txt file
CMake Error at /home/ty/桌面/hy/Hydra/catkin_ws/src/hydra/CMakeLists.txt:68 (add_library):
Target "hydra" links to target "teaserpp::teaser_registration" but the
target was not found. Perhaps a find_package() call is missing for an
IMPORTED target, or an ALIAS target is missing?

CMake Error at /home/ty/桌面/hy/Hydra/catkin_ws/src/hydra/CMakeLists.txt:68 (add_library):
Target "hydra" links to target "spark_dsg::spark_dsg" but the target was
not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?

CMake Error at /opt/ros/melodic/share/catkin/cmake/test/gtest.cmake:180 (add_executable):
Target "test_hydra" links to target "teaserpp::teaser_registration" but the
target was not found. Perhaps a find_package() call is missing for an
IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
/opt/ros/melodic/share/catkin/cmake/test/gtest.cmake:89 (_catkin_add_executable_with_google_test)
/opt/ros/melodic/share/catkin/cmake/test/gtest.cmake:37 (_catkin_add_google_test)
tests/CMakeLists.txt:1 (catkin_add_gtest)

CMake Error at /opt/ros/melodic/share/catkin/cmake/test/gtest.cmake:180 (add_executable):
Target "test_hydra" links to target "spark_dsg::spark_dsg" but the target
was not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
Call Stack (most recent call first):
/opt/ros/melodic/share/catkin/cmake/test/gtest.cmake:89 (_catkin_add_executable_with_google_test)
/opt/ros/melodic/share/catkin/cmake/test/gtest.cmake:37 (_catkin_add_google_test)
tests/CMakeLists.txt:1 (catkin_add_gtest)

make: *** [cmake_check_build_system] Error 1
cd /home/ty/桌面/hy/Hydra/catkin_ws/build/hydra; catkin build --get-env hydra | catkin env -si /usr/bin/make cmake_check_build_system; cd -

I have checked the CMakeLists.txt file and I think there is nothing wrong with it.
Can you help me deduce what's wrong there?
This is my first time trying to reproduce the code, thanks for answering my question.

Errors in Kimera-RPGO while building via catkin

Hi,
I tried to build Hydra as it written in the Readme, and, while running catkin build, faced with the following compilation errors:

Снимок экрана от 2023-01-26 20-00-51
Снимок экрана от 2023-01-26 20-00-58

Addition of set(CMAKE_CXX_STANDARD 17) into CMakeLists.txt files in GTSAM and Kimera-RPGO did not help.

My system configuration: OS Ubuntu 20.04 LTS, ROS Noetic, GCC compiler version 9.4.0.

Could you say, which is the best way to fix these CMake errors?

Room classification [QUESTION]

Hi Hydra developers,

This is a very exciting work!!! I am curious about the room classification method you are using in Hydra, but I am not sure which part of the code is is on it. Can you please send me the link to that part? Thanks!!!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.