12 #include <wpi/raw_ostream.h>
14 #include "frc/drive/RobotDriveBase.h"
15 #include "frc/drive/Vector2d.h"
16 #include "frc/smartdashboard/Sendable.h"
17 #include "frc/smartdashboard/SendableHelper.h"
21 class SpeedController;
53 static constexpr
double kDefaultLeftMotorAngle = 60.0;
54 static constexpr
double kDefaultRightMotorAngle = 120.0;
55 static constexpr
double kDefaultBackMotorAngle = 270.0;
89 double rightMotorAngle,
double backMotorAngle);
111 void DriveCartesian(
double ySpeed,
double xSpeed,
double zRotation,
112 double gyroAngle = 0.0);
127 void DrivePolar(
double magnitude,
double angle,
double zRotation);
129 void StopMotor()
override;
143 bool reported =
false;
KilloughDrive(SpeedController &leftMotor, SpeedController &rightMotor, SpeedController &backMotor)
Construct a Killough drive with the given motors and default motor angles.
Common base class for drive platforms.
Definition: RobotDriveBase.h:24
A class for driving Killough drive platforms.
Definition: KilloughDrive.h:49
void DriveCartesian(double ySpeed, double xSpeed, double zRotation, double gyroAngle=0.0)
Drive method for Killough platform.
This is a 2D vector struct that supports basic vector operations.
Definition: Vector2d.h:15
Interface for Sendable objects.
Definition: Sendable.h:17
void InitSendable(SendableBuilder &builder) override
Initializes this Sendable object.
A class that enforces constraints on the differential drive kinematics.
Definition: SPIAccelerometerSim.h:16
Interface for speed controlling devices.
Definition: SpeedController.h:19
This class implements an extremely fast bulk output stream that can only output to a stream.
Definition: raw_ostream.h:47
A helper class for use with objects that add themselves to SendableRegistry.
Definition: SendableHelper.h:28
void DrivePolar(double magnitude, double angle, double zRotation)
Drive method for Killough platform.
Definition: SendableBuilder.h:23