MIT-SPARK / Kimera-Semantics

Real-Time 3D Semantic Reconstruction from 2D data
BSD 2-Clause "Simplified" License
631 stars 134 forks source link

Error when launching example #68

Closed DaddyWesker closed 3 years ago

DaddyWesker commented 3 years ago

Hello.

I'm getting error when launching Euroca dataset usage. Putting this roslaunch kimera_vio_ros kimera_vio_ros_euroc.launch run_stereo_dense:=true to the terminal gives me

F0609 14:23:58.989765 29745 RosBagDataProvider.cpp:60] Check failed: !rosbag_path_.empty() *** Check failure stack trace: *** @ 0x7fd9839ca703 google::LogMessage::Fail() @ 0x7fd9839cf4ab google::LogMessage::SendToLog() @ 0x7fd9839ca3ff google::LogMessage::Flush() @ 0x7fd9839cac2f google::LogMessageFatal::~LogMessageFatal() @ 0x7fd9837605e8 VIO::RosbagDataProvider::RosbagDataProvider() @ 0x7fd98374a2bc VIO::KimeraVioRos::createDataProvider() @ 0x7fd98374ad4a VIO::KimeraVioRos::runKimeraVio() @ 0x563082034734 main @ 0x7fd982d0f0b3 __libc_start_main @ 0x563082034b4e _start [kimera_vio_ros/kimera_vio_ros_node-2] process has died [pid 29745, exit code -6, cmd /home/daddywesker/Dioram/TestingRGB/Kimera/VIO-ROS/devel/lib/kimera_vio_ros/kimera_vio_ros_node --use_lcd=false --vocabulary_path=/home/daddywesker/Dioram/TestingRGB/Kimera/VIO-ROS/src/Kimera-VIO/vocabulary/ORBvoc.yml --flagfile=/home/daddywesker/Dioram/TestingRGB/Kimera/VIO-ROS/src/Kimera-VIO/params/Euroc/flags/Mesher.flags --flagfile=/home/daddywesker/Dioram/TestingRGB/Kimera/VIO-ROS/src/Kimera-VIO/params/Euroc/flags/VioBackend.flags --flagfile=/home/daddywesker/Dioram/TestingRGB/Kimera/VIO-ROS/src/Kimera-VIO/params/Euroc/flags/RegularVioBackend.flags --flagfile=/home/daddywesker/Dioram/TestingRGB/Kimera/VIO-ROS/src/Kimera-VIO/params/Euroc/flags/Visualizer3D.flags --logtostderr=1 --colorlogtostderr=1 --log_prefix=1 --v=0 --log_output=false --log_euroc_gt_data=false --output_path=/home/daddywesker/Dioram/TestingRGB/Kimera/VIO-ROS/src/Kimera-VIO-ROS/output_logs/ --viz_type=0 --visualize=true reinit_flag:=reinit_flag reinit_pose:=reinit_pose odometry:=odometry resiliency:=resiliency imu_bias:=imu_bias optimized_trajectory:=optimized_trajectory pose_graph:=pose_graph mesh:=mesh frontend_stats:=frontend_stats debug_mesh_img/image_raw:=debug_mesh_img/image_raw feature_tracks/image_raw:=feature_tracks/image_raw time_horizon_pointcloud:=time_horizon_pointcloud __name:=kimera_vio_ros_node __log:=/home/daddywesker/.ros/log/d25bbaac-c904-11eb-bb6d-cbdd1b9e0c72/kimera_vio_ros-kimera_vio_ros_node-2.log]. log file: /home/daddywesker/.ros/log/d25bbaac-c904-11eb-bb6d-cbdd1b9e0c72/kimera_vio_ros-kimera_vio_ros_node-2*.log

Maybe command is not full and i need to set this rosbag_path somewhere?

DaddyWesker commented 3 years ago

This command roslaunch kimera_vio_ros kimera_vio_ros_euroc.launch run_stereo_dense:=true rosbag_path:=/home/daddywesker/datasets/Euroc/V1_01_easy.bag pushed this a little bit further till the I0609 14:34:35.239802 32536 RosBagDataProvider.cpp:83] Initialize Rosbag Data Provider. I0609 14:34:35.239812 32536 RosBagDataProvider.cpp:201] Parsing rosbag data. F0609 14:34:35.275579 32536 RosBagDataProvider.cpp:222] Check failed: vio_params_.backend_params_->autoInitialize_ == 1 (0 vs. 1) Requested ground-truth initialization, but no gt_odom_topic was given. Make sure you set ground_truth_odometry_rosbag_topic, or turn autoInitialize to false in BackendParameters.yaml.

DaddyWesker commented 3 years ago

I've looked at BackendParameters for Euroc and sought that autoInitialize is already 0 (False). So, i've switched it to 1 (True) and launched. It now goes further and i'm recieveing this E0609 15:08:23.955045 34223 Mesher.cpp:1729] Delaunay Triangle out of image (size: x: 0, y: 0, height: 480, width 752 Triangle: x, y: 2256, 0 0, 2256 687.563, 353.45

and many more of that with different coordinates. I thought it is fine and launched all other commands, but rviz looks like this and i'm think that this is wrong. Снимок экрана от 2021-06-09 15-11-29

DaddyWesker commented 3 years ago

Well, that is how i made it work:

  1. Open a new terminal, run: roscore
  2. In another terminal, launch Kimera-VIO-ROS: roslaunch kimera_vio_ros kimera_vio_ros_euroc.launch run_stereo_dense:=true rosbag_path:=/path/to/rosbag
  3. In another terminal, launch Kimera-Semantics: roslaunch kimera_semantics_ros kimera_semantics_euroc.launch
  4. Finally, in another terminal, run Rviz for visualization: rviz -d $(rospack find kimera_semantics_ros)/rviz/kimera_semantics_euroc.rviz

For some reason, rosbag play V1_01_easy.bag --clock just making all the area white blank. Unfortunately, without it nothing happens inside "Left img" window, but at least it works.

Снимок экрана от 2021-06-10 15-16-45

DaddyWesker commented 3 years ago

Sorry, here is a more adequate solution. Instead of this roslaunch kimera_semantics_ros kimera_semantics.launch play_bag:=true

launch this roslaunch kimera_semantics_ros kimera_semantics.launch play_bag:=true online:=true

and it will wait for rosplay command and everything will be as planned. Снимок экрана от 2021-06-11 08-42-07

prmehta24 commented 1 year ago

@DaddyWesker Were you able to create a 3D voxelized world using Kimera-Semantics with the Euroc dataset?

Did you get an output similar to running Kimera Semantics on kimera_semantics_demo.bag, but in black and white?

I am able to get an output similar to what you have shown in the screenshot above, but I have not been able to get the 3D voxelized world for the Euroc dataset.

prmehta24 commented 1 year ago

To get a 3D voxelized world in black and white with the Euroc dataset, I followed the instructions given in the README with one change:

I replaced this line:

roslaunch kimera_vio_ros kimera_vio_ros_euroc.launch run_stereo_dense:=true

with:

roslaunch kimera_vio_ros kimera_vio_ros_euroc.launch run_stereo_dense:=true online:=true

The output once Kimera Semantics has been run for the Euroc dataset looks like this:

EurocDataset3Dworld