Repository navigation
always work in the base frame, drop the lidar extrinsic parameter - #2
Merged
Merged
Conversation
base frame the input scan is always converted to a base frame. either that base frame has been set by the user or is one of the canonical ones. or the base frame is considered to be the scan frame itself. the lidar to base extrinsic is also dropped. simplifying the system by assuming tf and frame ids are well defined.
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.
the scan always gets transformed into base_frame before it goes into a sub map, so the sub maps, keyposes and the trajectory are all in one frame. base_frame is whatever you set, or base_link, base_footprint or base if the tf tree has one of them, and if none of that applies its the scan's own frame. that means base_frame isn't required anymore, a single lidar setup with nothing configured just works.
base_T_lidar_qxyzw_xyz is gone. the extrinsic comes from tf, looked up once on the first scan. i had it as a parameter for the case where someone doesn't publish the transform, not supported anymore.
more generally, from here on rko_slam assumes tf and frame ids are well defined. you get a warning and the scan is dropped otherwise.
frame notation is target <- source everywhere now.
rko_slam broadcasts map_frame <- odom_frame, the odometry is odom_frame <- base_frame, and
odom_tum_path holds the pose of base_frame in odom_frame. theres a frames section in the docs now that says all of it in one place.
tf_lookup_timeout_ms is online only, since online is the only place tf arrives asynchronously and waiting means anything.