Merge pull request #11 from Marlstar/master
Clarifications in the localization and tuning processes
This commit is contained in:
@ -47,12 +47,19 @@ measurements will be in centimeters.
|
||||
`lateralZeroPowerAcceleration`, respectively.
|
||||
|
||||
* After this, we will want to tune the translational PID. Go to FTC Dashboard and disable all but
|
||||
the `useTranslational` checkboxes under the `Follower` tab. Then, run `StraightBackAndForth`. Make
|
||||
sure you disable the timer on autonomous OpModes. The PID for the translational error is called
|
||||
`translationalPIDF`. If you need to add a feedforward value, use the `translationalPIDFFeedForward`
|
||||
since that will add the feedforward in the direction the robot is trying to move, rather than the
|
||||
feedforward in the PIDF itself, since those will only add the feedforward one way. You can change
|
||||
the PIDF constants and feedforward values, under the `FollowerConstants` tab in FTC Dashboard.
|
||||
the `useTranslational` checkboxes under the `Follower` tab. Then, run `StraightBackAndForth`.
|
||||
Make sure you disable the timer on autonomous OpModes. You will notice in telemetry a message saying
|
||||
that the robot will travel a distance forward and backward, this will not happen until later, so for
|
||||
now you can ignore this message. The robot should not move when you run the opmode initally. Instead,
|
||||
it should correct when you push it away from its starting position. Note that this correction should
|
||||
happen regardless of the robot's rotation, and that the robot should not rotate itself (if it does,
|
||||
disable `useHeading` as mentioned prior). Also note that the robot will only correct to an imaginary line
|
||||
that runs straight forward from the robot's starting position, meaning that it will not correct in the
|
||||
(original) forward direction. The PID for the translational error is called `translationalPIDF`.
|
||||
If you need to add a feedforward value, use the `translationalPIDFFeedForward` since that will add
|
||||
the feedforward in the direction the robot is trying to move, rather than the feedforward in the
|
||||
PIDF itself, since those will only add the feedforward one way. You can change the PIDF constants
|
||||
and feedforward values, under the `FollowerConstants` tab in FTC Dashboard.
|
||||
To tune the PID, push the robot off the path and see how corrects. You will want to alternate sides
|
||||
you push to reduce field wear and tear as well as push with varying power and distance. I would
|
||||
recommend tuning the PID so that it is capable of correcting while minimizing oscillations and still
|
||||
@ -116,4 +123,4 @@ down and all the values pertaining to the secondary PIDs will be there. The two
|
||||
a PID that handles larger errors (the main PID) and a second PID to handle smaller errors (the
|
||||
secondary PID). The main PID should be tuned to move the error within the secondary PID's range
|
||||
without providing too much momentum that could cause an overshoot. The secondary PID should be tuned
|
||||
to correct within its range quickly and accurately while minimizing oscillations.
|
||||
to correct within its range quickly and accurately while minimizing oscillations.
|
||||
|
@ -21,18 +21,18 @@ import org.firstinspires.ftc.teamcode.pedroPathing.pathGeneration.Vector;
|
||||
*
|
||||
* forward on robot is the x positive direction
|
||||
*
|
||||
* /--------------\
|
||||
* | ____ |
|
||||
* | ---- |
|
||||
* | || || |
|
||||
* | || || | ----> left (y positive)
|
||||
* | |
|
||||
* | |
|
||||
* \--------------/
|
||||
* |
|
||||
* |
|
||||
* V
|
||||
* forward (x positive)
|
||||
* forward (x positive)
|
||||
* △
|
||||
* |
|
||||
* |
|
||||
* /--------------\
|
||||
* | |
|
||||
* | |
|
||||
* | || || |
|
||||
* left (y positive) <--- | || || |
|
||||
* | ____ |
|
||||
* | ---- |
|
||||
* \--------------/
|
||||
*
|
||||
* @author Anyi Lin - 10158 Scott's Bots
|
||||
* @version 1.0, 7/20/2024
|
||||
@ -222,4 +222,4 @@ public class OTOSLocalizer extends Localizer {
|
||||
*/
|
||||
public void resetIMU() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -23,18 +23,18 @@ import org.firstinspires.ftc.teamcode.pedroPathing.pathGeneration.Vector;
|
||||
*
|
||||
* forward on robot is the x positive direction
|
||||
*
|
||||
* /--------------\
|
||||
* | ____ |
|
||||
* | ---- |
|
||||
* | || |
|
||||
* | || | ----> left (y positive)
|
||||
* | |
|
||||
* | |
|
||||
* \--------------/
|
||||
* |
|
||||
* |
|
||||
* V
|
||||
* forward (x positive)
|
||||
* forward (x positive)
|
||||
* △
|
||||
* |
|
||||
* |
|
||||
* /--------------\
|
||||
* | |
|
||||
* | |
|
||||
* | || |
|
||||
* left (y positive) <--- | || |
|
||||
* | ____ |
|
||||
* | ---- |
|
||||
* \--------------/
|
||||
* With the pinpoint your readings will be used in mm
|
||||
* to use inches ensure to divide your mm value by 25.4
|
||||
* @author Logan Nash
|
||||
|
@ -26,18 +26,18 @@ import org.firstinspires.ftc.teamcode.pedroPathing.util.NanoTimer;
|
||||
*
|
||||
* forward on robot is the x positive direction
|
||||
*
|
||||
* /--------------\
|
||||
* | ____ |
|
||||
* | ---- |
|
||||
* | || || |
|
||||
* | || || | ----> left (y positive)
|
||||
* | |
|
||||
* | |
|
||||
* \--------------/
|
||||
* |
|
||||
* |
|
||||
* V
|
||||
* forward (x positive)
|
||||
* forward (x positive)
|
||||
* △
|
||||
* |
|
||||
* |
|
||||
* /--------------\
|
||||
* | |
|
||||
* | |
|
||||
* | || || |
|
||||
* left (y positive) <--- | || || |
|
||||
* | ____ |
|
||||
* | ---- |
|
||||
* \--------------/
|
||||
*
|
||||
* @author Logan Nash
|
||||
* @author Anyi Lin - 10158 Scott's Bots
|
||||
@ -313,4 +313,4 @@ public class ThreeWheelIMULocalizer extends Localizer {
|
||||
public void resetIMU() {
|
||||
imu.resetYaw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -23,18 +23,18 @@ import org.firstinspires.ftc.teamcode.pedroPathing.util.NanoTimer;
|
||||
*
|
||||
* forward on robot is the x positive direction
|
||||
*
|
||||
* /--------------\
|
||||
* | ____ |
|
||||
* | ---- |
|
||||
* | || || |
|
||||
* | || || | ----> left (y positive)
|
||||
* | |
|
||||
* | |
|
||||
* \--------------/
|
||||
* |
|
||||
* |
|
||||
* V
|
||||
* forward (x positive)
|
||||
* forward (x positive)
|
||||
* △
|
||||
* |
|
||||
* |
|
||||
* /--------------\
|
||||
* | |
|
||||
* | |
|
||||
* | || || |
|
||||
* left (y positive) <--- | || || |
|
||||
* | ____ |
|
||||
* | ---- |
|
||||
* \--------------/
|
||||
*
|
||||
* @author Anyi Lin - 10158 Scott's Bots
|
||||
* @version 1.0, 4/2/2024
|
||||
|
@ -26,18 +26,18 @@ import org.firstinspires.ftc.teamcode.pedroPathing.util.NanoTimer;
|
||||
*
|
||||
* forward on robot is the x positive direction
|
||||
*
|
||||
* /--------------\
|
||||
* | ____ |
|
||||
* | ---- |
|
||||
* | || || |
|
||||
* | || || | ----> left (y positive)
|
||||
* | |
|
||||
* | |
|
||||
* \--------------/
|
||||
* |
|
||||
* |
|
||||
* V
|
||||
* forward (x positive)
|
||||
* forward (x positive)
|
||||
* △
|
||||
* |
|
||||
* |
|
||||
* /--------------\
|
||||
* | |
|
||||
* | |
|
||||
* | || |
|
||||
* left (y positive) <--- | || |
|
||||
* | ____ |
|
||||
* | ---- |
|
||||
* \--------------/
|
||||
*
|
||||
* @author Anyi Lin - 10158 Scott's Bots
|
||||
* @version 1.0, 4/2/2024
|
||||
|
Reference in New Issue
Block a user