Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RViZ no Visualization in world frame and path #6

Closed
honeytung opened this issue Aug 8, 2023 · 7 comments
Closed

RViZ no Visualization in world frame and path #6

honeytung opened this issue Aug 8, 2023 · 7 comments

Comments

@honeytung
Copy link

Hello, thank you for sharing this great work! I was trying to run the example with the campus outdoor dataset but there are no visualization showing up in RViZ. All the setup and code builds with no errors and the command CATKIN_WS=<path-to-catkin-ws> DATA_PATH=<path-to-campus-outdoor-data-folder> LOG_DIR=<path-to-log-folder> tmuxp load 1014-example.yaml also ran fine with no errors.

However, inside RViZ it cannot find the fixed frame world and in the terminal, it also shows 0 loop-closures for the entire duration of the rosbags. I wonder if I missed anything and any suggestions would be appreciated! Thanks!

I am running ROS noetic.

Screenshot from 2023-08-08 14-54-23
Screenshot from 2023-08-08 14-54-47

@yuluntian
Copy link
Collaborator

Hi @honeytung, thank you for using our system. It looks like the loop closure module is not functioning as intended for you, and as a result, the back-end is unable to run and show the final trajectory estimates in the global frame.

Could you post the log generated by each robot's loop closure module, so that we can further investigate this issue? For example, the log of the first robot should be located at LOG_DIR/acl_jackal/distributed/lcd_log.csv.

@honeytung
Copy link
Author

Hello @yuluntian, thank you for your reply! Here are the logs for each robot.
Most of the lcd_log.csv files do not contain any values or it is full of zeros. Thanks for your help!

logs.zip

@yuluntian
Copy link
Collaborator

Thank you for sharing the logs. It seems that the lcd_logs.csv files are incomplete, and all odometry_poses.csv files (which logs odometry from Kimera-VIO) are empty. The following might be useful things to check:

  • Check that Kimera-VIO is running (the vio window inside tmux), and that you can visualize its trajectory estimates (ROBOT_NAME/kimera_vio_ros/optimized_trajectory topic) in rviz
  • Make sure to decompress the rosbags, and play the bags until completion: based on LOG_DIR/acl_jackal/distributed/lcd_log.csv, it seems only the first 70 sec are logged right now.
  • For debugging, it might be useful to decrease the rosbag playback rate. This can be done by changing the RATE arg in 1014_example.yaml, e.g., RATE=0.1

@honeytung
Copy link
Author

Thanks, @yuluntian for your help! I was able to find out the issue. It turns out I was missing one package required for Kimera-VIO (the image_transport_plugins package).

I am able to see the RViZ result after running rosbags for the first two robots (acl_jackal and acl_jackal2). Just to confirm, is it the expected result from the loop_closure_detection?
Screenshot from 2023-08-18 16-25-38

I noticed that even when running with two robots, my system RAM usage will be approaching almost 30GB. What would be the estimated minimum system requirement for running with six robots?

@yuluntian
Copy link
Collaborator

yuluntian commented Aug 19, 2023

Great! Yes, those are the expected trajectory estimates for the first two robots.

About RAM usage: the ideal way to run Kimera-Multi is to run each robot on a separate machine. This way the RAM usage on each machine will be much lower. However, the current public release doesn't have an example for this yet, because we are still waiting for approval to release the inter-robot/machine communication module.

That being said, 30GB still sounds a little high just for two robots. Just to check, did you launch the full six robots example (but only played the bags for the first two robots)? This might explain the 30GB because the other four robots also take up RAM even if they are not processing any data.

@honeytung
Copy link
Author

honeytung commented Aug 22, 2023

Thanks @yuluntian! I ran the example with only the commands for robot0 and robot1 (deleted all other commands for the 4 robots). The total RAM + Swap usage is approximately 35GB.

Screenshot from 2023-08-22 14-29-07

Additionally, I noticed that the example file does not launch kimera-semantics for the 3D mesh construction. Are there any commands that I am missing from the .yaml file that I should be launching?

@yuluntian
Copy link
Collaborator

@honeytung Thanks! I'm going to close this because the main issue is addressed.

Re RAM: currently, we don't have plans for improving the RAM usage, so if this becomes a bottleneck, the best way forward would be to try the multi-machine setup when that's released.

Re mesh reconstruction: you're right the example does not launch kimera-semantics and I will need to get back to you on this. Please open a new issue if needed and we can discuss from there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants