Skip to content

Commit 83d3840

Browse files
committed
Improved subsystems a bit
1 parent 7348976 commit 83d3840

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+631
-361
lines changed
130 KB
Loading
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<configuration>
3+
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
4+
<encoder>
5+
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
6+
</encoder>
7+
</appender>
8+
9+
<root level="debug">
10+
<appender-ref ref="Console"/>
11+
</root>
12+
</configuration>

classes/production/rio/logback.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<configuration>
3+
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
4+
<encoder>
5+
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
6+
</encoder>
7+
</appender>
8+
9+
<root level="debug">
10+
<appender-ref ref="Console"/>
11+
</root>
12+
</configuration>

config/commands.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
#
44
DriveTank:
55
deadzone: .15
6-
leftMultiplier: 120.0
7-
rightMultiplier: 120.0
86
exponent: 2.0
7+
multiplier:
8+
left: 120.0
9+
right: 120.0
910

1011
DriveArcade:
1112
deadzone: .1

config/ports.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
Drive:
2+
leftMotor: { channel: 0, inverted: true }
3+
rightMotor: { channel: 1, inverted: false }
4+
leftEncoder: { aChannel: 2, bChannel: 3, reverse: true, distancePerPulse: .06597 }
5+
rightEncoder: { aChannel: 0, bChannel: 1, distancePerPulse: .06597 }
6+
Turret:
7+
pinchRollerMotor: { channel: 5, inverted: false }
8+
kingRollerMotor: { channel: 3, inverted: false }
9+
ballSensor: { channel: 4, minDistance: 300.0, maxDistance: 26.0 }
10+
ballCompressionSensor: { channel: 1, scale: 1.0, offset: 0.0 }
11+
hoodDeploySolenoid: 0
12+
shortSolenoid: 1
13+
longSolenoid: 2
14+
shooterWheelMotor: { channel: 2, inverted: true }
15+
shooterWheelEncoder:
16+
aChannel: 4
17+
bChannel: 5
18+
reverse: true
19+
distancePerPulse: 0.0009765625
20+
encodingType: k1X
21+
# samplesToAverage: 100
22+
turretRotationMotor: { channel: 4, inverted: true }
23+
turretRotationEncoder: { aChannel: 6, bChannel: 7, reverse: true, distancePerPulse: 0.02538 }
24+
leftLimit: { channel: 11, type: NPN }
25+
rightLimit: { channel: 10, type: NPN }
26+
centerLimit: { channel: 12, type: NPN }

config/simulation.yml

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@ Drive:
1010
momentum: 50
1111
dampening: 4
1212
encoder: { multiplier: 25.13 } # 8 * pi
13-
controller: { type: PID, P: .5, F: .00641 }
14-
driveMode: CONTROLLER
15-
maxSpeed: 156.0
1613
OperatorInterface:
1714
Picker:
1815
motor: # 775Pro
@@ -22,6 +19,13 @@ Picker:
2219
momentum: 50
2320
dampening: 4
2421
encoder: { multiplier: 1 }
22+
pinchRollerMotor: # 1 x 550
23+
maxRPM: 19000
24+
maxTorque: 3.36 # 3.36in-lbf * 1
25+
gearRatio: 70.0
26+
momentum: 50
27+
dampening: 4
28+
pinchRollerEncoder: { multiplier: 1 }
2529
Turret:
2630
shooterWheelMotor: # 2 x 775Pro
2731
maxRPM: 18730
@@ -30,15 +34,6 @@ Turret:
3034
momentum: 50
3135
dampening: 4
3236
shooterWheelEncoder: { multiplier: 1 }
33-
shooterWheelController:
34-
type: PID
35-
inputSamplesToAverage: 16
36-
P: 0.025
37-
I: 0.025
38-
maxIError: 10.0
39-
F: 0.004
40-
minOutput: 0.0
41-
target: { within: 1.0 }
4237
rotationMotor: # 1 x 550
4338
maxRPM: 19000
4439
maxTorque: 3.36 # 3.36in-lbf * 1
@@ -53,18 +48,5 @@ Turret:
5348
momentum: 50
5449
dampening: 4
5550
kingRollerEncoder: { multiplier: 1 }
56-
pinchRollerMotor: # 1 x 550
57-
maxRPM: 19000
58-
maxTorque: 3.36 # 3.36in-lbf * 1
59-
gearRatio: 70.0
60-
momentum: 50
61-
dampening: 4
62-
pinchRollerEncoder: { multiplier: 1 }
63-
angleController:
64-
type: PID
65-
maxAbsoluteSetpoint: 110.0
66-
P: .1
67-
D: 0
68-
maxAbsoluteOutput: 0.75
69-
target: { within: .5, stop: true }
51+
angleRange: 110.0
7052
Vision:

config/subsystems.yml

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
Drive:
2-
leftMotor: { channel: 0, inverted: true }
3-
rightMotor: { channel: 1, inverted: false }
4-
leftEncoder: { aChannel: 2, bChannel: 3, reverse: true, distancePerPulse: .06597 }
5-
rightEncoder: { aChannel: 0, bChannel: 1, distancePerPulse: .06597 }
62
controller:
73
type: PID
84
P: .01
@@ -11,7 +7,6 @@ Drive:
117
minISetpoint: 1.0
128
maxIError: 12.0
139
dataLogging: false
14-
driveMode: CONTROLLER
1510
maxSpeed: 120.0
1611
Picker:
1712
pickMotor: { channel: 6, inverted: false }
@@ -22,21 +17,6 @@ OperatorInterface:
2217
driverJoystick: 0
2318
gunnerJoystick: 1
2419
Turret:
25-
pinchRollerMotor: { channel: 5, inverted: false }
26-
kingRollerMotor: { channel: 3, inverted: false }
27-
ballSensor: { channel: 4, minDistance: 300.0, maxDistance: 26.0 }
28-
ballCompressionSensor: { channel: 1, scale: 1.0, offset: 0.0 }
29-
hoodDeploySolenoid: 0
30-
shortSolenoid: 1
31-
longSolenoid: 2
32-
shooterWheelMotor: { channel: 2, inverted: true }
33-
shooterWheelEncoder:
34-
aChannel: 4
35-
bChannel: 5
36-
reverse: true
37-
distancePerPulse: 0.0009765625
38-
encodingType: k1X
39-
# samplesToAverage: 100
4020
shooterWheelController:
4121
type: PID
4222
# inputSamplesToAverage 16
@@ -47,8 +27,6 @@ Turret:
4727
minOutput: 0.0
4828
target: { within: 1.0 }
4929
# dataLogging: true
50-
turretRotationMotor: { channel: 4, inverted: true }
51-
turretRotationEncoder: { aChannel: 6, bChannel: 7, reverse: true, distancePerPulse: 0.02538 }
5230
angleController:
5331
type: PID
5432
maxAbsoluteSetpoint: 110.0
@@ -59,7 +37,7 @@ Turret:
5937
leftLimit: { channel: 11, type: NPN }
6038
rightLimit: { channel: 10, type: NPN }
6139
centerLimit: { channel: 12, type: NPN }
62-
defaultBallAge: NEW
40+
defaultBallAge: AGED
6341
Vision:
6442
ledPower: { channel: 7, inverted: false } #not finalized
6543
tableName: TatorVision

core/src/main/java/org/teamtators/rotator/CoreModule.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import dagger.Module;
66
import dagger.Provides;
77
import org.teamtators.rotator.commands.CoreCommands;
8+
import org.teamtators.rotator.components.*;
89
import org.teamtators.rotator.config.ConfigCommandStore;
910
import org.teamtators.rotator.control.ForController;
1011
import org.teamtators.rotator.control.Stepper;
@@ -13,11 +14,10 @@
1314
import org.teamtators.rotator.scheduler.Scheduler;
1415
import org.teamtators.rotator.scheduler.Subsystem;
1516
import org.teamtators.rotator.subsystems.Drive;
16-
import org.teamtators.rotator.subsystems.AbstractPicker;
17-
import org.teamtators.rotator.subsystems.AbstractTurret;
18-
import org.teamtators.rotator.subsystems.AbstractVision;
17+
import org.teamtators.rotator.subsystems.Turret;
1918
import org.teamtators.rotator.tester.ManualTester;
2019

20+
import javax.inject.Named;
2121
import javax.inject.Singleton;
2222
import java.util.Arrays;
2323
import java.util.List;
@@ -62,7 +62,15 @@ ManualTester providesManualTester(AbstractOperatorInterface operatorInterface, S
6262

6363
@Provides
6464
@Singleton
65-
public List<Subsystem> providesSubsystems(Drive drive, AbstractPicker picker, AbstractTurret turret,
65+
@Named("subsystems")
66+
public List<Subsystem> providesSubsystems(Drive drive, Turret turret) {
67+
return Arrays.asList(drive, turret);
68+
}
69+
70+
@Provides
71+
@Singleton
72+
@Named("components")
73+
public List<Component> providesComponents(AbstractDrive drive, AbstractPicker picker, AbstractTurret turret,
6674
AbstractOperatorInterface operatorInterface, AbstractVision vision) {
6775
return Arrays.asList(drive, picker, turret, operatorInterface, vision);
6876
}

core/src/main/java/org/teamtators/rotator/CoreRobot.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package org.teamtators.rotator;
22

33
import com.fasterxml.jackson.databind.ObjectMapper;
4-
import org.teamtators.rotator.components.Chooser;
4+
import org.teamtators.rotator.components.*;
55
import org.teamtators.rotator.config.ConfigCommandStore;
66
import org.teamtators.rotator.config.ConfigLoader;
77
import org.teamtators.rotator.config.ControllerFactory;
@@ -15,9 +15,7 @@
1515
import org.teamtators.rotator.scheduler.Scheduler;
1616
import org.teamtators.rotator.scheduler.Subsystem;
1717
import org.teamtators.rotator.subsystems.Drive;
18-
import org.teamtators.rotator.subsystems.AbstractPicker;
19-
import org.teamtators.rotator.subsystems.AbstractTurret;
20-
import org.teamtators.rotator.subsystems.AbstractVision;
18+
import org.teamtators.rotator.subsystems.Turret;
2119
import org.teamtators.rotator.tester.ManualTester;
2220

2321
import javax.inject.Named;
@@ -32,7 +30,7 @@ public interface CoreRobot {
3230

3331
AbstractPicker picker();
3432

35-
AbstractTurret turret();
33+
Turret turret();
3634

3735
AbstractVision vision();
3836

@@ -48,6 +46,10 @@ public interface CoreRobot {
4846

4947
ControllerFactory controllerFactory();
5048

49+
@Named("components")
50+
List<Component> components();
51+
52+
@Named("subsystems")
5153
List<Subsystem> subsystems();
5254

5355
TriggerBinder triggerBinder();

core/src/main/java/org/teamtators/rotator/commands/DriveArcade.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import org.teamtators.rotator.CommandBase;
44
import org.teamtators.rotator.CoreRobot;
55
import org.teamtators.rotator.config.Configurable;
6+
import org.teamtators.rotator.operatorInterface.DriveUtils;
67
import org.teamtators.rotator.operatorInterface.LogitechF310;
78
import org.teamtators.rotator.scheduler.RobotState;
89
import org.teamtators.rotator.subsystems.Drive;

0 commit comments

Comments
 (0)