Skip to content

Conversation

@adthoms
Copy link
Contributor

@adthoms adthoms commented Jul 13, 2022

@nickcharron any questions let me know

This PR does the following:

  • rename 3d_map_builder to map_builder to avoid build conflicts when creating a custom ROS message. This custom ROS message is required for the manual_calibration executable that is introduced in this PR
  • refactor Load/Write interface for new updates introduced in the modify_poses PR in libbeam
  • add poses_to_poses_file executable and update documentation in README.md
  • add manual_calibration executable and associated rviz and rqt_ez_publisher launch file. Update documentation in README.md

Copy link
Owner

@nickcharron nickcharron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for all this work! Most of it looks good at first glance, I haven't gone through it in detail but I'll stamp it anyways to unblock. I'd like to try out the calibrator myself soon though and I may have more questions or feedback then. Also, it would be cool to have a similar calibrator that works for cam-lidar using our colorizer code. I might need to do this in the near future

publish_interval: 100
settings:
/manual_calibration/adjusted_extrinsics/idx_start:
is_repeat: false
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what does is_repeat do? can you add that to the docs?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is_repeat essentially republishes the selected topic. This should always be set to false when using this tool as we only want to publish clouds when a parameter changes. I will make a note of this

```

This will bring up a custom rviz window, where `/manual_calibration/reference_cloud` and `/manual_calibration/candidate_cloud` topics are subscribed to and visualized. The `reference_cloud` and `candidate_cloud` topics have constructions of the user specified reference sensor and candiate sensor, respectively, published over a window of size `window_size` from a starting index `start_index`. These manually adjustable parameters are available in the rqt_ez_publisher window that opens upon launch, with `x,y,z,roll,pitch,yaw` parameters available for manual extrinsic calibration. When checking off `save_data`, reference and candidate clouds are published as shown below.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

save data just saves or publishes the cloud results? How do you save the calibration?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will change save_data to publish as this option simply publishes the clouds when any of the the parameters (i.e. start_index, window_size, x,y,z,roll,pitch,yaw) changes (see Algorithm 3 in the IEEE submission for specifics). Right now, there is no way of actually saving the calibration since this was sufficient for the paper. Ideally, there would be functionality to write calibrations to a file, though that would take some developement which I unfortunately cannot spend time on right now. The hand calculations take only a few minutes to do, though for someone not familiar with the code structure it would be a good feature.

@adthoms
Copy link
Contributor Author

adthoms commented Jul 15, 2022

Before merging, should the current main branch be tagged a v1.0.0? Since these changes depend on a revised libbeam, we should finalize a v1.0.1 of libbeam and then have a corresponding v1.0.1 tag for map_builder. Of course there is some refactoring required in the Modify poses PR and ideally new tests would be made befiore a v1.0.1 tag of libbeam is made. A new docker container for libbeam would also have to be created, which should also be done in this PR before an official tag is made.

@nickcharron nickcharron merged commit e17cf4a into nickcharron:master Aug 17, 2022
@nickcharron nickcharron deleted the add_manual_extrinsic_calibration branch August 17, 2022 04:07
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

Successfully merging this pull request may close these issues.

2 participants