4
4
5
5
package frc .robot ;
6
6
7
+ import edu .wpi .first .math .geometry .Translation2d ;
7
8
import edu .wpi .first .math .geometry .Translation3d ;
8
- import edu .wpi .first .math .util .Units ;
9
9
import swervelib .math .Matter ;
10
10
import swervelib .math .SwerveMath ;
11
- import swervelib .parser .PIDFConfig ;
11
+ import swervelib .parser .SwerveDriveConfiguration ;
12
12
13
13
/**
14
14
* Classe de constantes
@@ -19,12 +19,15 @@ public final class Constants {
19
19
public static final class Dimensoes {
20
20
// Tempo de loop (sparkMax + normal = 130ms)
21
21
public static final double LOOP_TIME = 0.13 ;
22
- // Massa do robô
22
+ // Massa do robô *DEVE SER CONFIGURADO PARA O SEU ROBÔ*
23
23
public static final double ROBOT_MASS = 38 ;
24
- //Velocidade máxima
24
+ //Velocidade máxima *DEVE SER CONFIGURADO PARA O SEU ROBÔ*
25
25
public static final double MAX_SPEED = 4 ;
26
+ //Posição do módulo mais longe *COLOQUE OS MESMOS VALORES DO JSON*
27
+ private static final Translation2d FURTHEST_MODULE_POSE = new Translation2d (MAX_SPEED , LOOP_TIME );
28
+ public static final double MAX_ANGULAR_SPEED = SwerveMath .calculateMaxAngularVelocity (MAX_SPEED , FURTHEST_MODULE_POSE .getX (), FURTHEST_MODULE_POSE .getY ());
26
29
27
- //Posições do centro de massa
30
+ //Posições do centro de massa *DEVE SER CONFIGURADO PARA SEU ROBÔ*
28
31
private static final double xMass = 0 ;
29
32
private static final double yMass = 0 ;
30
33
private static final double zMass = .08 ;
@@ -33,16 +36,6 @@ public static final class Dimensoes {
33
36
public static final Matter CHASSIS = new Matter (new Translation3d (xMass , yMass , (zMass )), ROBOT_MASS );
34
37
}
35
38
36
- // Classe que contém os PID para o autônomo
37
- public static final class PID {
38
- // PID para frente e para trás
39
- public static final PIDFConfig xAutoPID = new PIDFConfig (0.65 , 0 , 0.05 );
40
- // PID para esquerda e direita
41
- public static final PIDFConfig yAutoPID = new PIDFConfig (0.6 , 0 , 0 );
42
- // PID de rotação
43
- public static final PIDFConfig angleAutoPID = new PIDFConfig (0.1 , 0 , 0.01 );
44
- }
45
-
46
39
// Contem a porta em que o controle está
47
40
public static final class Controle {
48
41
// Porta do controle
@@ -52,11 +45,7 @@ public static final class Controle {
52
45
public static final double DEADBAND = 0.2 ;
53
46
}
54
47
55
- public static final class Tracao {
56
- // Define se a tração vai ser orientada ao campo (sim = true)
57
- public static final boolean fieldRelative = true ;
58
- // false para malha-fechada
59
- public static final boolean isOpenLoop = false ;
48
+ public static final class SwerveConfigs {
60
49
// true para correção de aceleração
61
50
public static final boolean accelCorrection = false ;
62
51
// constante para diminuir o input do joystick (0 < multiplicadorRotacional <= 1)
@@ -68,9 +57,6 @@ public static final class Tracao {
68
57
69
58
public static final double TURN_CONSTANT = 0.75 ;
70
59
71
- // constante que define a velocidade máxima
72
- public static final double MAX_SPEED = 4.4 ;
73
-
74
60
public static final double dt = 0.02 ;
75
61
76
62
public static final double constantRotation = 4 ;
0 commit comments