Valkyrie 2026
Loading...
Searching...
No Matches
Requests.h
1#pragma once
2#include <frc/kinematics/ChassisSpeeds.h>
3#include <frc/kinematics/SwerveModuleState.h>
4
5#include "valkyrie/controllers/BaseController.h"
6
7namespace valor {
8namespace swerve {
9namespace requests {
10
17enum class OutputType {
24 Velocity,
25
31 Voltage,
32
39 DutyCycle
40};
41
55 frc::ChassisSpeeds speeds;
56
62 frc::Translation2d centerOfRotation = {};
63
70 std::vector<BaseController::Output> feedforwards = {};
71
78 BaseController::Output zeroOutput = 0;
79
87 OutputType outputType = OutputType::Velocity;
88
95 bool discretize = true;
96
104
111 bool optimizeModules = true;
112
119 bool cosineScaling = true;
120
127 bool fieldRelative = true;
128
135 units::meters_per_second_t deadband = 0_mps;
136};
137
151 std::vector<frc::SwerveModuleState> states;
152
159 std::vector<BaseController::Output> feedforwards = {};
160
164 BaseController::Output zeroOutput = 0;
165
173 OutputType outputType = OutputType::Velocity;
174
181 bool optimizeModules = true;
182
189 bool cosineScaling = true;
190
198
205 units::meters_per_second_t deadband = 0_mps;
206};
207
220 frc::SwerveModuleState state;
221
225 BaseController::Output zeroOutput = 0;
226
233 BaseController::Output feedforward = 0;
234
242 OutputType outputType = OutputType::Velocity;
243
250 bool optimize = true;
251
258 bool cosineScaling = true;
259
266 units::meters_per_second_t deadband = 0_mps;
267};
268
269} // namespace requests
270} // namespace swerve
271} // namespace valor
Request structure for commanding a swerve drivetrain using chassis speeds.
Definition Requests.h:49
frc::ChassisSpeeds speeds
Desired chassis-relative or field-relative motion.
Definition Requests.h:55
bool cosineScaling
Definition Requests.h:119
OutputType outputType
Output control mode used when applying drive requests.
Definition Requests.h:87
bool optimizeModules
Whether to optimize module states.
Definition Requests.h:111
std::vector< BaseController::Output > feedforwards
Optional feedforward outputs for each swerve module.
Definition Requests.h:70
bool discretize
Whether to discretize the chassis speeds.
Definition Requests.h:95
BaseController::Output zeroOutput
Default output value used when speeds are below the given deadband.
Definition Requests.h:78
bool desaturateWheelSpeeds
Whether to desaturate wheel speeds.
Definition Requests.h:103
frc::Translation2d centerOfRotation
Center of rotation for the drivetrain motion.
Definition Requests.h:62
bool fieldRelative
Whether the chassis speeds are field-relative.
Definition Requests.h:127
units::meters_per_second_t deadband
Minimum wheel speed required before motion is applied.
Definition Requests.h:135
Request structure for commanding a single swerve module state.
Definition Requests.h:214
BaseController::Output feedforward
Optional feedforward output for the swerve module.
Definition Requests.h:233
BaseController::Output zeroOutput
Default output value used when no controller output is provided.
Definition Requests.h:225
bool cosineScaling
Definition Requests.h:258
OutputType outputType
Output control mode used when applying drive requests.
Definition Requests.h:242
units::meters_per_second_t deadband
Minimum wheel speed required before motion is applied.
Definition Requests.h:266
frc::SwerveModuleState state
Desired state for the swerve module.
Definition Requests.h:220
bool optimize
Whether to optimize the module state.
Definition Requests.h:250
Request structure for commanding a swerve drivetrain using explicit module states.
Definition Requests.h:145
BaseController::Output zeroOutput
Default output value used when no feedforward is provided.
Definition Requests.h:164
OutputType outputType
Output control mode used when applying drive requests.
Definition Requests.h:173
std::vector< frc::SwerveModuleState > states
Desired states for each swerve module.
Definition Requests.h:151
std::vector< BaseController::Output > feedforwards
Optional feedforward outputs for each swerve module.
Definition Requests.h:159
units::meters_per_second_t deadband
Minimum wheel speed required before motion is applied.
Definition Requests.h:205
bool cosineScaling
Definition Requests.h:189
bool desaturateWheelSpeeds
Whether to desaturate wheel speeds.
Definition Requests.h:197
bool optimizeModules
Whether to optimize module states.
Definition Requests.h:181