ethz-asl / voxgraph

Voxblox-based Pose graph optimization
BSD 2-Clause "Simplified" License
522 stars 69 forks source link

about other odometry sources and loop closures #67

Open bulinx opened 2 years ago

bulinx commented 2 years ago

Hello! Thanks for this awesome framework! I have installed voxgraph and run the packages then have a good result, when I use my own packages there have many problems(my platforms: ubuntu18 melodic),I'm sorry to ask this seemingly simple question. But I haven't found a solution for a long time.

  1. odom sources come from my own lidar odometry,I am trying to validate the mapping on the kitti dataset,the point of my current problem is: it seems that no loopback occurs: It is my kitti odom: image the node graph like this: image the node graph I get from running the dataset you provided is: image

My thoughts When I read your published paper, it mentioned that the loopback constraint is provided by the outside, and I learned from the node graph that the odometer obtained by running my own project (with loop) is given to voxgraph, and it does not have a loop. so what should I do now to loopback? Do I need to change the content of the loopback section of the code?Because I see such a part of the code in the project:

void PoseGraphInterface::addLoopClosureMeasurement(
    const SubmapID& from_submap, const SubmapID& to_submap,
    const Transformation& transform) {
  // Configure the loop closure constraint
  RelativePoseConstraint::Config constraint_config =
      measurement_templates_.loop_closure;
  constraint_config.origin_submap_id = from_submap;
  constraint_config.destination_submap_id = to_submap;
  constraint_config.T_origin_destination = transform;

  // Add the constraint to the pose graph
  ROS_INFO_STREAM_COND(verbose_,
                       "Adding loop closure as relative pose constraint "
                       "from submap "
                           << constraint_config.origin_submap_id << " to "
                           << constraint_config.destination_submap_id
                           << " with transform\n"
                           << constraint_config.T_origin_destination
                           << "\nand information matrix\n"
                           << constraint_config.information_matrix);
  pose_graph_.addRelativePoseConstraint(constraint_config);

  // Indicate that a new loop closure constraint has been added
  new_loop_closures_added_since_last_optimization_ = true;
}

2.It is my Mesh map,It is clear that the result is that my tf conversion is not configured properly, i will try to change again,but Another trouble here is that I have set mesh_use_color: truein _voxgraphmapper.yaml, why the Mesh map doesn't have the color of the picture, where am I not changing it completely? Maybe I also need to change to true in the code: image

Hope you can give me some guidance. Thank you very much!

frischzenger commented 1 year ago

have you solved your problem?