Rework of camera-lidar calibration, point picking, optimization - #488
Merged
Conversation
Signed-off-by: Michal Pelka <michalpelka@gmail.com>
…is offset Extrinsics' om/fi/ka now represent a small rotation away from a constant kCameraLidarAxisOffset (the camera/LiDAR coordinate-convention alignment), instead of the full rotation directly. This makes the all-zero default already a physically sensible starting pose and keeps a real calibration's solved values far from the om/fi/ka gimbal-lock point (fi=+/-90 deg), which previously sat right on top of the default and made the very first solve of a session start on a rank-deficient normal-equations block. CameraCalibrationSolver threads the offset through the LM solve via a one-time point/translation rotation, so the vendored observation equations and the solve loop itself are untouched. Camera.h/.cpp now reuse core's own pose_tait_bryan_from_affine_matrix/affine_matrix_from_pose_tait_bryan for the om/fi/ka<->matrix conversion instead of duplicating that math. Saved calibration JSON now stores rotation as a matrix only (camera_rotation_matrix_in_world) -- convention-independent and portable -- instead of also carrying an om/fi/ka angle key; camera_lidar_calibration and camera_lidar_trajectory_viewer both decode it back into om/fi/ka on load. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
TrajectoryViewer only ever reads a saved calibration; it had no reason to decode the file's rotation matrix into Extrinsics' om/fi/ka and reconvert back to a matrix at every use site (coloring, frustum draw, COLMAP export, ROS TF export). Store the loaded R_wc directly and use it as-is, dropping the omFiKaToMat3/omFiKaFromMat3 round trip.
AppleScript's choose-file-name only accepts a folder for default location; appending the filename broke it before any dialog showed.
Signed-off-by: Michal Pelka <michalpelka@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
So: