53 std::unique_ptr<LinearVelocityController> right,
54 std::shared_ptr<const frc::Gyro> gyro,
55 frc::DifferentialDriveKinematics kinematics,
56 frc::RamseteController ramseteController,
57 std::string visionTable,
58 const frc::Pose2d &initalPose = frc::Pose2d());
73 std::unique_ptr<LinearVelocityController> right,
74 std::shared_ptr<const frc::Gyro> gyro,
75 frc::DifferentialDriveKinematics kinematics,
76 frc::RamseteController ramseteController,
77 const frc::Pose2d &initalPose = frc::Pose2d());
128 units::meters_per_second_t rightVelocity);
179 void resetPose(
const frc::Pose2d &pose = frc::Pose2d())
override;
193 units::second_t time)
override;
227 frc::Trajectory trajectory,
228 std::initializer_list<frc2::Subsystem *> driveRequirements)
override;
240 std::shared_ptr<pathplanner::PathPlannerPath> path,
241 std::initializer_list<frc2::Subsystem *> driveRequirements)
override;
251 std::unique_ptr<LinearVelocityController> left;
257 std::unique_ptr<LinearVelocityController> right;
262 std::shared_ptr<const frc::Gyro> gyro;
267 frc::DifferentialDriveKinematics kinematics;
272 frc::RamseteController ramseteController;
281 frc::DifferentialDrivePoseEstimator poseEstimator;
286 mutable std::mutex visionThreadMutex;
DifferentialDrive(std::unique_ptr< LinearVelocityController > left, std::unique_ptr< LinearVelocityController > right, std::shared_ptr< const frc::Gyro > gyro, frc::DifferentialDriveKinematics kinematics, frc::RamseteController ramseteController, const frc::Pose2d &initalPose=frc::Pose2d())
DifferentialDrive(std::unique_ptr< LinearVelocityController > left, std::unique_ptr< LinearVelocityController > right, std::shared_ptr< const frc::Gyro > gyro, frc::DifferentialDriveKinematics kinematics, frc::RamseteController ramseteController, std::string visionTable, const frc::Pose2d &initalPose=frc::Pose2d())