-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnotes.txt
More file actions
74 lines (70 loc) · 4.4 KB
/
notes.txt
File metadata and controls
74 lines (70 loc) · 4.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
2025 TODO:
- Test Auto S2 to B to Barge2
- If ending barge position looks safe, add commands to raise elevator to barge and outtake algae
- Test S1 to BL to Barge1
- If ending barge position looks safe, add commands to raise elevator to barge and outtake algae
- Test Auto S3 to BR to P
- If algae-outtake at processor doesn't score, try parallel sequence of: elevator-tilt-out, algae-outtake
- Ensure autos do not finish with robot on starting line
- Test LED Subsystem (L/R bumpers on driver)
- Remove / re-set camera stream widget(s) in dashboards
- Create dashboard in Elastic with following widgets:
- Field
- Swerve
- Command Scheduler
- Total Current draw (graph)
- Perform test driving runs to calculate std deviations for wheel odometry and vision for pose estimator (ensure finish pose has a AprilTag visible by vision)
1. Drive straight a set distance, measure starting robot pose vs. finish robot pose
2. Drive sideways (stafe straight) a set distance, measure starting robot pose vs. finish robot pose
3. Drive diagonally a set distance, measure starting robot pose vs. finish robot pose
- Repeat above several times, recording final measurements and comparing to each below
- For each of the above, compare measured pose vs. reported pose from SwerveDriveOdometry (/RBR/PoseSwerveOdometry in AdvantageScope),
this will give you odometry error value, use these errors to calculate std deviation
- For each of the above, compare measured pose vs. reported pose from PhotonVision (/RBR/Vision/PoseEstimates/Accepted in AdvantageScope),
this will give you vision error value, use these errors to calculate std deviation
----------
Done:
- Run SysId tests on drive motors on field
- Re-run sysid tests using fresh battery (had to adjust voltage reading code, was returning 0 values)
- Place robot with wheels all facing forward (bevels on left), ensure front of robot if facing correct direction
- Deploy main robot code and start tele-op to reset the encoders (don't move the robot using joystick though)
- Deploy sysid code, then run the 4 tests
- Grab the .wpilog file from USB drive via SFTP to /U/ drive
- Feed logs into SysId tool \FRC\2024\2024 WPILib Tools\SysId 2024
- https://docs.wpilib.org/en/stable/docs/software/advanced-controls/system-identification/loading-data.html
- https://docs.wpilib.org/en/stable/docs/software/advanced-controls/system-identification/analyzing-gains.html
Input:
- Exposure and Gain:
- Adjust these to achieve good brightness without flicker and low motion blur. This may vary based on lighting conditions in your competition environment
- To avoid motion blur issues:
- Lower your exposure as low as possible. Using gain and brightness to account for lack of brightness.
- For all pipelines, exposure time should be set as low as possible while still allowing for the target to be reliably tracked.
This allows for faster processing as decreasing exposure will increase your camera FPS.
- 1280x800 @100 FPS resolution
- Mode: 3d
- Exposure: 70.0
- brightness: 0
- Gain: 40
AprilTag:
- Tag Family 36h11 (verify 2025 game is using the same family as 2024)
- Decimate 2
- Blur: 0
- Threads: 4 (O PI has 8 cores/threads - so 4 per camera)
- Refine Edges: On
- Max Error Bits: 2 (maybe test with 3 at some point based on docs)
- Decision Margin Cutoff: 30
- Pose Iterations: 40
Output:
- Show Multiple Targets: Off
- Do Multi-Target Estimation: On (This is "Multi-Tag")
- Implement vision simulation
- https://docs.photonvision.org/en/v2025.0.0-beta-4/docs/simulation/simulation-java.html
- https://github.com/PhotonVision/photonvision/tree/2a6fa1b6ac81f239c59d724da5339f608897c510/photonlib-java-examples/swervedriveposeestsim
- For Krakens, TalonFX current limits:
- Default values for 2025
Stator current limit of 120 A
Supply current limit of 70 A
Supply current lower limit of 40 A after limiting (at 70 A) for 1 second
- Example codebases:
- https://github.com/StuyPulse/Izzi/blob/main/src/main/java/com/stuypulse/robot/subsystems/swerve/modules/KrakenSwerveModule.java
- https://github.com/StuyPulse/Izzi/blob/main/src/main/java/com/stuypulse/robot/constants/Motors.java