Closed glennliu closed 9 months ago
First, thank you for wonderful work.
I have a similar issue adapting uHuman2_apartment or subway dataset. Like above question, i exactly followed the instruction of uHumans2_office_s1_00h version and the mapping result was similar except meshed map.
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.
https://github.com/MIT-SPARK/Hydra/blob/7ccbadeb14cf73786e4ac88de7ef9a57cdb7459e/hydra_dsg_builder/launch/uhumans2_incremental_dsg.launch#L5-L9 https://github.com/MIT-SPARK/Hydra/blob/7ccbadeb14cf73786e4ac88de7ef9a57cdb7459e/hydra_topology/launch/hydra_topology_uhumans2.launch#L12-L14
After that, hydra package is not launched for below error messages.
[ 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
@hwan0806 Your issue is unrelated to this one, do you mind opening a separate issue (example title could be "running uHumans2 dataset against other scenes produces no objects") so that other people might find the answer easier? Your comment pulls out the correct args you have to set for the other uhumans2 scenes (typology_config
and semantic_map_file
)
@glennliu Thank you for taking the time to fill out this issue (and for your interest in our work). I'm not sure what's causing the crash yet for you. Couple of notes:
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,
This makes sense; hydra_topology
is responsible for handling the reconstruction of the semantic mesh and the place nodes inside an active spatial window (whereas the frontend in Hydra takes the semantic mesh and place nodes from hydra_topology, extracts the objects, and builds up the scene graph). In other words, hydra_topology
is required for building a scene graph for hydra.
Not sure is it because the rostime in the bag is significantly different from my current rostime.
It shouldn't be, we set ROS to use sim time here. Are you running the bag without --clock
as an argument? There might be a minor bug in the backend with how we handle timestamps if something isn't publishing to /clock
Couple of questions that would help me reproduce the issue on my side:
@nathanhhughes Thanks for your time! Here are some dependencies information:
I also play the bag with a --clock
option. Still not sure what cause the problem yet.
I just upgraded my OS to Ubuntu 20.04, and reinstall the ROS Noetic as recommended.
pcl 1.10.1
is compiled and installed from the source. So, it is compatible with the default pcl_conversion
from ROS.
Then, I run the program roslaunch hydra_dsg_builder uhumans2_incremental_dsg.launch
. And it shows,
process[bag_static_tf_0-2]: started with pid [302432]
process[bag_static_tf_1-3]: started with pid [302433]
process[bag_static_tf_2-4]: started with pid [302444]
process[bag_static_tf_3-5]: started with pid [302449]
process[bag_static_tf_4-6]: started with pid [302451]
process[bag_static_tf_5-7]: started with pid [302462]
process[nodelet_manager-8]: started with pid [302472]
process[cloudify-9]: started with pid [302479]
process[hydra_topology_node-10]: started with pid [302484]
process[incremental_dsg_builder_node-11]: started with pid [302486]
process[pose_graph_publisher_node-12]: started with pid [302491]
process[incremental_dsg_builder_node/pgmo/posegraph_viewer-13]: started with pid [302512]
[ INFO] [1664942779.626716801]: Initializing pose graph visualizer
[ WARN] [1664942779.636948885]: PoseGraphPublisher waiting for subscriber...
double free or corruption (out)
[ INFO] [1664942779.816865297]: Logging backend graph to /home/lch/mit_ws/catkin_new_ws/src/Hydra/hydra_dsg_builder/output/uhumans2/office/backend
[ INFO] [1664942779.823375893]: Logging output to: /home/lch/mit_ws/catkin_new_ws/src/Hydra/hydra_dsg_builder/output/uhumans2/office/pgmo
[ WARN] [1664942779.824905675]: MeshFrontend: Skipping callback registration
[ INFO] [1664942779.825181601]: Initialized MeshFrontend.
[ INFO] [1664942779.825206905]: Logging frontend graph to /home/lch/mit_ws/catkin_new_ws/src/Hydra/hydra_dsg_builder/output/uhumans2/office/frontend
================================================================================REQUIRED process [hydra_topology_node-10] has died!
process has died [pid 302484, exit code -6, cmd /home/lch/mit_ws/catkin_new_ws/devel/lib/hydra_topology/hydra_topology_node --minloglevel=3 -v=0 pointcloud:=/semantic_pointcloud __name:=hydra_topology_node __log:=/home/lch/.ros/log/107f59bc-4463-11ed-93a7-073821ea42ac/hydra_topology_node-10.log].
log file: /home/lch/.ros/log/107f59bc-4463-11ed-93a7-073821ea42ac/hydra_topology_node-10*.log
Initiating shutdown!
================================================================================
[ WARN] [1664942780.041708672]: PoseGraphPublisher waiting for transform: left_cam -> world
[incremental_dsg_builder_node/pgmo/posegraph_viewer-13] killing on exit
[pose_graph_publisher_node-12] killing on exit
[incremental_dsg_builder_node-11] killing on exit
[hydra_topology_node-10] killing on exit
[cloudify-9] killing on exit
[nodelet_manager-8] killing on exit
[bag_static_tf_5-7] killing on exit
[bag_static_tf_4-6] killing on exit
[bag_static_tf_1-3] killing on exit
[bag_static_tf_3-5] killing on exit
[bag_static_tf_2-4] killing on exit
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-2] killing on exit
*** Aborted at 1664942780 (unix time) try "date -d @1664942780" if you are using GNU date ***
PC: @ 0x0 (unknown)
*** SIGSEGV (@0x19) received by PID 302486 (TID 0x7f829c709ec0) from PID 25; stack trace: ***
@ 0x7f82af613090 (unknown)
@ 0x7f82af66a6f0 cfree
@ 0x7f82b09c0d65 hydra::incremental::MeshSegmenter::~MeshSegmenter()
@ 0x7f82b09c0fed hydra::incremental::MeshSegmenter::~MeshSegmenter()
@ 0x7f82b09a4f05 hydra::incremental::DsgFrontend::~DsgFrontend()
@ 0x55e4e4fd6083 main
@ 0x7f82af5f4083 __libc_start_main
@ 0x55e4e4fd6c0e _start
[rosout-1] killing on exit
^C[master] killing on exit
The process crashed before I run any bag of datasets.
Sorry that we weren't able to figure this out, but it does appear to have been a build issue somewhat specific to your system. I'm going to close this now given that the Hydra code has evolved significantly since this issue was opened, but feel free to reopen if you run into issues with the newest version of Hydra
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
,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,It looks like the scene graph cannot be constructed. It should be a front-end problem.
Can you help me with that?
Thanks