2025-Robot
Robot code for 2025 FRC season by Argos, FRC team #1756
Loading...
Searching...
No Matches
control_loops.h
Go to the documentation of this file.
1
4
5#pragma once
6
7#include <ctre/phoenix6/configs/Configs.hpp>
8#include <ctre/phoenix6/signals/SpnEnums.hpp>
9
10#include "units/angular_acceleration.h"
11#include "units/angular_jerk.h"
12#include "units/angular_velocity.h"
13
14namespace controlLoop {
15 namespace comp_bot {
16 namespace drive {
17 struct rotate {
18 constexpr static double kP = 137;
19 constexpr static double kI = 0.0;
20 constexpr static double kD = 0.0;
21 constexpr static double kS = 0.0;
22 constexpr static double kV = 0.0;
23 constexpr static double kA = 0.0;
24 constexpr static double kG = 0.0;
25 constexpr static int gravityType = ctre::phoenix6::signals::GravityTypeValue::Elevator_Static;
26 }; // namespace rotate
27 struct drive {
28 constexpr static double kP = 0.4;
29 constexpr static double kI = 0.0;
30 constexpr static double kD = 0.0;
31 constexpr static double kS = 0.0;
32 constexpr static double kV = 0.15;
33 constexpr static double kA = 0.0;
34 constexpr static double kG = 0.0;
35 constexpr static int gravityType = ctre::phoenix6::signals::GravityTypeValue::Elevator_Static;
36 }; // namespace drive
38 constexpr static double kP = 5.0;
39 constexpr static double kI = 0.0;
40 constexpr static double kD = 0.0;
41 }; // namespace linear_follower
43 constexpr static double kP = 10.0;
44 constexpr static double kI = 0.0;
45 constexpr static double kD = 0.0;
46 constexpr static auto angularVelocity = units::degrees_per_second_t{360};
47 constexpr static auto angularAcceleration = units::degrees_per_second_squared_t{360};
48 }; // namespace rotational_follower
49 } // namespace drive
50 namespace elevator {
51 struct elevator {
52 constexpr static double kP = 11.0;
53 constexpr static double kI = 0.0;
54 constexpr static double kD = 0.33;
55 constexpr static double kS = 0.0;
56 constexpr static double kV = 0.15;
57 constexpr static double kA = 0.0;
58 constexpr static double kG = 0.5;
59 constexpr static int gravityType = ctre::phoenix6::signals::GravityTypeValue::Elevator_Static;
60 constexpr static auto motionMagic_cruiseVelocity = units::angular_velocity::turns_per_second_t{35.0};
61 constexpr static auto motionMagic_acceleration = units::angular_acceleration::turns_per_second_squared_t{15.0};
62 constexpr static auto motionMagic_jerk = units::angular_jerk::turns_per_second_cubed_t{0.0};
63 constexpr static auto motionMagic_expo_kV = ctre::unit::volts_per_turn_per_second_t{0.1};
64 constexpr static auto motionMagic_expo_kA = ctre::unit::volts_per_turn_per_second_squared_t{0.13};
65 };
66 struct arm {
67 constexpr static double kP = 60.0;
68 constexpr static double kI = 0.0;
69 constexpr static double kD = 0.3;
70 constexpr static double kS = 0.5;
71 constexpr static double kV = 9.5;
72 constexpr static double kA = 0.0;
73 constexpr static double kG = 0.0;
74 constexpr static int gravityType = ctre::phoenix6::signals::GravityTypeValue::Arm_Cosine;
75 constexpr static auto motionMagic_cruiseVelocity = units::angular_velocity::turns_per_second_t{0};
76 constexpr static auto motionMagic_acceleration = units::angular_acceleration::turns_per_second_squared_t{0};
77 constexpr static auto motionMagic_jerk = units::angular_jerk::turns_per_second_cubed_t{0.0};
78 constexpr static auto motionMagic_expo_kV = ctre::unit::volts_per_turn_per_second_t{0.1};
79 constexpr static auto motionMagic_expo_kA = ctre::unit::volts_per_turn_per_second_squared_t{5};
80 };
81 struct wrist {
82 constexpr static double kP = 40.0;
83 constexpr static double kI = 0.0;
84 constexpr static double kD = 0.0;
85 constexpr static double kS = 0.45;
86 constexpr static double kV = 1.4;
87 constexpr static double kA = 0.0;
88 constexpr static double kG = 0.0;
89 constexpr static int gravityType = ctre::phoenix6::signals::GravityTypeValue::Elevator_Static;
90 constexpr static auto motionMagic_cruiseVelocity = units::angular_velocity::turns_per_second_t{65.0};
91 constexpr static auto motionMagic_acceleration = units::angular_acceleration::turns_per_second_squared_t{10.0};
92 constexpr static auto motionMagic_jerk = units::angular_jerk::turns_per_second_cubed_t{0.0};
93 constexpr static auto motionMagic_expo_kV = ctre::unit::volts_per_turn_per_second_t{5.0};
94 constexpr static auto motionMagic_expo_kA = ctre::unit::volts_per_turn_per_second_squared_t{0.1};
95 };
96 } // namespace elevator
97 namespace climber {
98 struct climber {
99 constexpr static double kP = 60.0;
100 constexpr static double kI = 0.0;
101 constexpr static double kD = 0.0;
102 constexpr static double kS = 0.0;
103 constexpr static double kV = 20.0;
104 constexpr static double kA = 0.0;
105 constexpr static double kG = 0.26;
106 constexpr static int gravityType = ctre::phoenix6::signals::GravityTypeValue::Arm_Cosine;
107 constexpr static auto motionMagic_cruiseVelocity = units::angular_velocity::turns_per_second_t{65.0};
108 constexpr static auto motionMagic_acceleration = units::angular_acceleration::turns_per_second_squared_t{10.0};
109 constexpr static auto motionMagic_jerk = units::angular_jerk::turns_per_second_cubed_t{0.0};
110 constexpr static auto motionMagic_expo_kV = ctre::unit::volts_per_turn_per_second_t{5.0};
111 constexpr static auto motionMagic_expo_kA = ctre::unit::volts_per_turn_per_second_squared_t{0.1};
112 };
113 } // namespace climber
114 namespace intake {
115 struct intake {
116 constexpr static double kP = 0.0;
117 constexpr static double kI = 0.0;
118 constexpr static double kD = 0.0;
119 constexpr static double kS = 0.0;
120 constexpr static double kV = 0.0;
121 constexpr static double kA = 0.0;
122 constexpr static double kG = 0.0;
123 constexpr static int gravityType = ctre::phoenix6::signals::GravityTypeValue::Elevator_Static;
124 };
125
126 } // namespace intake
127 } // namespace comp_bot
147} // namespace controlLoop
Definition control_loops.h:14
Definition control_loops.h:98
static constexpr double kA
Definition control_loops.h:104
static constexpr auto motionMagic_acceleration
Definition control_loops.h:108
static constexpr int gravityType
Definition control_loops.h:106
static constexpr auto motionMagic_jerk
Definition control_loops.h:109
static constexpr auto motionMagic_expo_kA
Definition control_loops.h:111
static constexpr auto motionMagic_expo_kV
Definition control_loops.h:110
static constexpr auto motionMagic_cruiseVelocity
Definition control_loops.h:107
static constexpr double kI
Definition control_loops.h:100
static constexpr double kP
Definition control_loops.h:99
static constexpr double kS
Definition control_loops.h:102
static constexpr double kV
Definition control_loops.h:103
static constexpr double kG
Definition control_loops.h:105
static constexpr double kD
Definition control_loops.h:101
Definition control_loops.h:27
static constexpr int gravityType
Definition control_loops.h:35
static constexpr double kD
Definition control_loops.h:30
static constexpr double kA
Definition control_loops.h:33
static constexpr double kV
Definition control_loops.h:32
static constexpr double kP
Definition control_loops.h:28
static constexpr double kS
Definition control_loops.h:31
static constexpr double kG
Definition control_loops.h:34
static constexpr double kI
Definition control_loops.h:29
static constexpr double kP
Definition control_loops.h:38
static constexpr double kD
Definition control_loops.h:40
static constexpr double kI
Definition control_loops.h:39
Definition control_loops.h:17
static constexpr double kG
Definition control_loops.h:24
static constexpr double kA
Definition control_loops.h:23
static constexpr double kP
Definition control_loops.h:18
static constexpr double kS
Definition control_loops.h:21
static constexpr int gravityType
Definition control_loops.h:25
static constexpr double kV
Definition control_loops.h:22
static constexpr double kI
Definition control_loops.h:19
static constexpr double kD
Definition control_loops.h:20
static constexpr auto angularAcceleration
Definition control_loops.h:47
static constexpr double kP
Definition control_loops.h:43
static constexpr auto angularVelocity
Definition control_loops.h:46
static constexpr double kD
Definition control_loops.h:45
static constexpr double kI
Definition control_loops.h:44
Definition control_loops.h:66
static constexpr auto motionMagic_cruiseVelocity
Definition control_loops.h:75
static constexpr double kP
Definition control_loops.h:67
static constexpr auto motionMagic_jerk
Definition control_loops.h:77
static constexpr auto motionMagic_acceleration
Definition control_loops.h:76
static constexpr auto motionMagic_expo_kA
Definition control_loops.h:79
static constexpr int gravityType
Definition control_loops.h:74
static constexpr double kA
Definition control_loops.h:72
static constexpr double kS
Definition control_loops.h:70
static constexpr auto motionMagic_expo_kV
Definition control_loops.h:78
static constexpr double kD
Definition control_loops.h:69
static constexpr double kI
Definition control_loops.h:68
static constexpr double kG
Definition control_loops.h:73
static constexpr double kV
Definition control_loops.h:71
Definition control_loops.h:51
static constexpr double kG
Definition control_loops.h:58
static constexpr auto motionMagic_expo_kA
Definition control_loops.h:64
static constexpr int gravityType
Definition control_loops.h:59
static constexpr double kA
Definition control_loops.h:57
static constexpr auto motionMagic_acceleration
Definition control_loops.h:61
static constexpr double kD
Definition control_loops.h:54
static constexpr auto motionMagic_expo_kV
Definition control_loops.h:63
static constexpr double kV
Definition control_loops.h:56
static constexpr double kI
Definition control_loops.h:53
static constexpr double kP
Definition control_loops.h:52
static constexpr auto motionMagic_jerk
Definition control_loops.h:62
static constexpr double kS
Definition control_loops.h:55
static constexpr auto motionMagic_cruiseVelocity
Definition control_loops.h:60
Definition control_loops.h:81
static constexpr auto motionMagic_jerk
Definition control_loops.h:92
static constexpr auto motionMagic_expo_kA
Definition control_loops.h:94
static constexpr double kI
Definition control_loops.h:83
static constexpr auto motionMagic_expo_kV
Definition control_loops.h:93
static constexpr double kA
Definition control_loops.h:87
static constexpr double kS
Definition control_loops.h:85
static constexpr double kV
Definition control_loops.h:86
static constexpr auto motionMagic_cruiseVelocity
Definition control_loops.h:90
static constexpr auto motionMagic_acceleration
Definition control_loops.h:91
static constexpr int gravityType
Definition control_loops.h:89
static constexpr double kG
Definition control_loops.h:88
static constexpr double kD
Definition control_loops.h:84
static constexpr double kP
Definition control_loops.h:82
Definition control_loops.h:115
static constexpr int gravityType
Definition control_loops.h:123
static constexpr double kI
Definition control_loops.h:117
static constexpr double kP
Definition control_loops.h:116
static constexpr double kG
Definition control_loops.h:122
static constexpr double kV
Definition control_loops.h:120
static constexpr double kS
Definition control_loops.h:119
static constexpr double kD
Definition control_loops.h:118
static constexpr double kA
Definition control_loops.h:121