Fix lateral Automatic tuner telemetry: robot moves left, not right - #84
Merged
BeepBot99 merged 1 commit intoAug 5, 2026
Merged
Conversation
Both LateralVelocityTuner and LateralZeroPowerAccelerationTuner call follower.setTeleOpDrive(0, 1, 0, true), which is positive lateral and therefore moves the robot left, but the telemetry/comment text told the driver the robot would move right. Fixes the regression that issues Pedro-Pathing#12 and Pedro-Pathing#22 previously reported but never landed on master.
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 bug
Both
LateralVelocityTunerandLateralZeroPowerAccelerationTunerinTeamCode/src/main/java/org/firstinspires/ftc/teamcode/pedroPathing/Tuning.javacallfollower.setTeleOpDrive(0, 1, 0, true)— positive lateral — but their telemetry/comment text tells the driver the robot will move right. It actually moves left.Why positive lateral is left
Pedro's own reference teleop in the same file (around line 183) does:
FTC's
gamepad.left_stick_xis positive to the right. Negating it means pushing the stick right passes a negative lateral value. For that teleop to drive right when the stick is pushed right, negative lateral must be right — so positive lateral is left, the standard robotics +Y convention.The Pedro Pathing docs already say the robot moves left for both of these tuners:
So the docs are correct; only the on-robot telemetry/comment text is wrong.
Previously reported, never landed
This has been reported twice before, but neither fix made it to
master:This PR covers both call sites at once so the fix actually lands.
Impact
Cosmetic/text-only — lateral velocity and deceleration are symmetric, so tuning results remain valid regardless of the label. But it costs real debugging time: a team following the on-screen instruction sees the robot move the "wrong" way and can reasonably suspect their motor directions or localizer are misconfigured. It can also lead to staging the robot with clearance on the wrong side before a full-power run.
Changes
LateralVelocityTunertelemetry (was line 486): "... inches to the right." -> "... inches to the left."LateralVelocityTunerstart()javadoc (was line 496): "run right at full power" -> "run left at full power" (found while checking the class for consistency — matches the pattern used byForwardVelocityTuner's "run forward at full power")LateralZeroPowerAccelerationTunerclass javadoc (was line 662): "to the right until a specified velocity" -> "to the left until a specified velocity"LateralZeroPowerAccelerationTunertelemetry (was line 691): "run to the right until it reaches" -> "run to the left until it reaches"Diff is 4 single-line text changes, nothing else touched.
Not changed (worth a separate look, unverified)
The manual
LateralTuner's telemetry says"Pull your robot to the right ... inches". That tuner works by the user pushing the robot by hand, so its correctness depends on the strafe encoder sign rather than onsetTeleOpDrive. I have not verified whether it's correct, so I left it alone — flagging in case maintainers want to check it separately.Thanks for maintaining this project!