I have a couple of questions about Pathweaver. I’ve never used it before and I was wondering what happens when 2 paths are not connected from start to end. Such as like this:
compared to when they are connected like this:
I have a couple of questions about Pathweaver. I’ve never used it before and I was wondering what happens when 2 paths are not connected from start to end. Such as like this:
There is no requirement for paths to start and end at the same place.
if they don’t start at the same place, I’m guessing that the robot will still execute the path but may be slightly off from the path because the path on the application is in the correct place but the robot will not be. Is that a correct assumption?
Ya, it doesn’t actually know where it is relative to where the path tells it is. It will just do the path from wherever it starts.
That’s only true if you reset your odometry at the start of each path. If you don’t, the Ramsete controller will attempt to get the robot to the desired pose pretty aggressively due to the sudden increase in error, likely resulting in undesired movement.
Not resetting odometry has the advantage of reducing error stack up at the end of your paths
does the odometry take in the original pose of the robot before it runs the trajectory? Should I pass in the position on the field to the odometry before each match starts?
Before you run your paths, Reset the odometry to the first pose of your first path
Do I need to reset my odometry to the first path when I run EACH path or just when autonomous initializes?
Does the reverse spline feature make the robot drive backwards until it hits the next waypoint?
Yes, the front of the robot should be facing the direction of the blue line, just like the normal splines. The only difference is that the robot travels in the opposite direction the arrows are pointing.
Does the andThen
method of the RamseteCommand
class execute the path I set or do I have to call a different method?
andThen() wants a command, the new commandbase from 2020 features inline commands with lambdas () -> code
so what would this do:
ramseteCommand.andThen(() -> driveTrain.tankDriveVolts(0, 0));
would that run the path that I want to run and then make the drivetrain stop? Or do I need to call a different method to make the robot follow the path?
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.