Valkyrie 2026
Loading...
Searching...
No Matches
Requests.h
1#pragma once
2#include <frc/kinematics/ChassisSpeeds.h>
3#include <frc/kinematics/SwerveModuleState.h>
4#include <valkyrie/controllers/BaseController.h>
5
6namespace valor {
7namespace swerve {
8namespace requests {
9
16enum class OutputType {
23 Velocity,
24
30 Voltage,
31
38 DutyCycle
39};
40
54 frc::ChassisSpeeds speeds;
55
61 frc::Translation2d centerOfRotation = {};
62
69 std::vector<BaseController::Output> feedforwards = {};
70
77 BaseController::Output zeroOutput = 0;
78
86 OutputType outputType = OutputType::Velocity;
87
94 bool discretize = true;
95
103
110 bool optimizeModules = true;
111
118 bool cosineScaling = true;
119
126 bool fieldRelative = true;
127
134 units::meters_per_second_t deadband = 0_mps;
135};
136
141 frc::Rotation2d targetDirection;
142};
143
157 std::vector<frc::SwerveModuleState> states;
158
165 std::vector<BaseController::Output> feedforwards = {};
166
170 BaseController::Output zeroOutput = 0;
171
179 OutputType outputType = OutputType::Velocity;
180
187 bool optimizeModules = true;
188
195 bool cosineScaling = true;
196
204
211 units::meters_per_second_t deadband = 0_mps;
212};
213
226 frc::SwerveModuleState state;
227
231 BaseController::Output zeroOutput = 0;
232
239 BaseController::Output feedforward = 0;
240
248 OutputType outputType = OutputType::Velocity;
249
256 bool optimize = true;
257
264 bool cosineScaling = true;
265
272 units::meters_per_second_t deadband = 0_mps;
273};
274
275} // namespace requests
276} // namespace swerve
277} // namespace valor
Request structure for commanding a swerve drivetrain using chassis speeds.
Definition Requests.h:48
frc::ChassisSpeeds speeds
Desired chassis-relative or field-relative motion.
Definition Requests.h:54
bool cosineScaling
Definition Requests.h:118
OutputType outputType
Output control mode used when applying drive requests.
Definition Requests.h:86
bool optimizeModules
Whether to optimize module states.
Definition Requests.h:110
std::vector< BaseController::Output > feedforwards
Optional feedforward outputs for each swerve module.
Definition Requests.h:69
bool discretize
Whether to discretize the chassis speeds.
Definition Requests.h:94
BaseController::Output zeroOutput
Default output value used when speeds are below the given deadband.
Definition Requests.h:77
bool desaturateWheelSpeeds
Whether to desaturate wheel speeds.
Definition Requests.h:102
frc::Translation2d centerOfRotation
Center of rotation for the drivetrain motion.
Definition Requests.h:61
bool fieldRelative
Whether the chassis speeds are field-relative.
Definition Requests.h:126
units::meters_per_second_t deadband
Minimum wheel speed required before motion is applied.
Definition Requests.h:134
Request structure for commanding a single swerve module state.
Definition Requests.h:220
BaseController::Output feedforward
Optional feedforward output for the swerve module.
Definition Requests.h:239
BaseController::Output zeroOutput
Default output value used when no controller output is provided.
Definition Requests.h:231
bool cosineScaling
Definition Requests.h:264
OutputType outputType
Output control mode used when applying drive requests.
Definition Requests.h:248
units::meters_per_second_t deadband
Minimum wheel speed required before motion is applied.
Definition Requests.h:272
frc::SwerveModuleState state
Desired state for the swerve module.
Definition Requests.h:226
bool optimize
Whether to optimize the module state.
Definition Requests.h:256
Request structure for commanding a swerve drivetrain using explicit module states.
Definition Requests.h:151
BaseController::Output zeroOutput
Default output value used when no feedforward is provided.
Definition Requests.h:170
OutputType outputType
Output control mode used when applying drive requests.
Definition Requests.h:179
std::vector< frc::SwerveModuleState > states
Desired states for each swerve module.
Definition Requests.h:157
std::vector< BaseController::Output > feedforwards
Optional feedforward outputs for each swerve module.
Definition Requests.h:165
units::meters_per_second_t deadband
Minimum wheel speed required before motion is applied.
Definition Requests.h:211
bool cosineScaling
Definition Requests.h:195
bool desaturateWheelSpeeds
Whether to desaturate wheel speeds.
Definition Requests.h:203
bool optimizeModules
Whether to optimize module states.
Definition Requests.h:187
frc::Rotation2d targetDirection
Desired angular position in field space.
Definition Requests.h:141