From a6ff3ac923d595eca47b84c45f4d71ba00e892d4 Mon Sep 17 00:00:00 2001 From: 2491NoMythic <2491nomythic@gmail.com> Date: Sat, 4 Feb 2023 15:34:24 -0600 Subject: [PATCH 01/20] Making a folder for looking at previous robots --- docs/Robo-year/Robot2022/2022Breakdown.md | 7 +++++++ docs/Robo-year/Robot2022/Drivetrain.md | 15 +++++++++++++++ docs/Robo-year/Robot2022/_category_.json | 8 ++++++++ docs/Robo-year/_category_.json | 9 +++++++++ 4 files changed, 39 insertions(+) create mode 100644 docs/Robo-year/Robot2022/2022Breakdown.md create mode 100644 docs/Robo-year/Robot2022/Drivetrain.md create mode 100644 docs/Robo-year/Robot2022/_category_.json create mode 100644 docs/Robo-year/_category_.json diff --git a/docs/Robo-year/Robot2022/2022Breakdown.md b/docs/Robo-year/Robot2022/2022Breakdown.md new file mode 100644 index 0000000..c3322df --- /dev/null +++ b/docs/Robo-year/Robot2022/2022Breakdown.md @@ -0,0 +1,7 @@ +# Hello! I'm Janus + +My favourite color is purple and I played in the 2022 game RAPID REACT! + +I am named after Janus, the Roman god of beginnings and endings. The god is typically depicted with having 2 faces, one facing the future and one facing the past. This name was chosen to represent the idea that our team has come back after the pandemic and is turning a new page in our book! + +I can do many things! (I can't acutally do too much, but I do what I do well) I am comprised of 5 subsystems: Drivetrain, Climber, Intake, Vision, and Lights! These files with have most of the important infomation for me and my drive code as well as any personal anecdotes that came with programming me! \ No newline at end of file diff --git a/docs/Robo-year/Robot2022/Drivetrain.md b/docs/Robo-year/Robot2022/Drivetrain.md new file mode 100644 index 0000000..6eaa3f6 --- /dev/null +++ b/docs/Robo-year/Robot2022/Drivetrain.md @@ -0,0 +1,15 @@ +# Drivetrain + +The drivetrain consists of 4 motors in a tank drive. We have LeftLead, LeftFollow, RightLead, and RightFollow and they all work in tandem. The idea of choosing a tank drive this year was to be a more physically defensive robot in order to play defense well as well as bring able to zoom and push cargo and robots around the field. Also in this subsystem is the Gyro affectionatly named "GyroBirb" + +## How does this Drivetrain work? + +If it wasn't clear from the names, there are only 2 motors that we actually supply instructions to throughout the match, LeftLead and RightLead. LeftFollow and RightFollow are programmed to do whatever we tell their lead motors do which saves roboRio processing power which is really nice. (This only works on tank drivetrains becuse we really only need 2 inputs, a left side and a right side.) + +```java + leftFollowMotor.follow(leftLeadMotor); + rightFollowMotor.follow(rightLeadMotor); +``` +Within the constuctor also exists the setup for PID Tuning but this PID tuning system is a little different from normal. Both of the PID values being tuned are being stored on the name motor because we have a distance number and a turn number, so the PID tuning is pointed at the numbers only on one motor. + +Another tidbit is that our TeleOp drive is different from our AutoDrive, AutoDrive is the only one with PID tuning, TeleOp does not. \ No newline at end of file diff --git a/docs/Robo-year/Robot2022/_category_.json b/docs/Robo-year/Robot2022/_category_.json new file mode 100644 index 0000000..d7b8686 --- /dev/null +++ b/docs/Robo-year/Robot2022/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Robot 2022 (Janus)", + "position": 1, + "link": { + "type": "generated-index", + "description": "The Robot of 2022" + } + } diff --git a/docs/Robo-year/_category_.json b/docs/Robo-year/_category_.json new file mode 100644 index 0000000..5647864 --- /dev/null +++ b/docs/Robo-year/_category_.json @@ -0,0 +1,9 @@ +{ + "label": "Past Robots", + "position": 8, + "link": { + "type": "generated-index", + "description": "Collection of the Robots of the Past." + } + } + \ No newline at end of file From bf7260843b8614e8f7e6a1f177973378372b561b Mon Sep 17 00:00:00 2001 From: 2491NoMythic <2491nomythic@gmail.com> Date: Tue, 7 Feb 2023 18:39:15 -0600 Subject: [PATCH 02/20] Wrapping up 2022 robot page --- docs/Robo-year/2022Breakdown.md | 67 +++++++++++++++++++++++ docs/Robo-year/Robot2022/2022Breakdown.md | 7 --- docs/Robo-year/Robot2022/Drivetrain.md | 15 ----- docs/Robo-year/Robot2022/_category_.json | 8 --- docs/Robo-year/_category_.json | 2 +- 5 files changed, 68 insertions(+), 31 deletions(-) create mode 100644 docs/Robo-year/2022Breakdown.md delete mode 100644 docs/Robo-year/Robot2022/2022Breakdown.md delete mode 100644 docs/Robo-year/Robot2022/Drivetrain.md delete mode 100644 docs/Robo-year/Robot2022/_category_.json diff --git a/docs/Robo-year/2022Breakdown.md b/docs/Robo-year/2022Breakdown.md new file mode 100644 index 0000000..f872826 --- /dev/null +++ b/docs/Robo-year/2022Breakdown.md @@ -0,0 +1,67 @@ +# Hello! I'm Janus + +My favourite color is purple and I played in the 2022 game RAPID REACT! + +I am named after Janus, the Roman god of beginnings and endings. The god is typically depicted with having 2 faces, one facing the future and one facing the past. This name was chosen to represent the idea that our team has come back after the pandemic and is turning a new page in our book! + +I can do many things! (I can't acutally do too much, but I do what I do well) I am comprised of 5 subsystems: Drivetrain, Climber, Intake, Vision, and Lights! These files with have most of the important infomation for me and my drive code as well as any personal anecdotes that came with programming me! + +## Drivetrain + +The drivetrain consists of 4 motors in a tank drive. We have LeftLead, LeftFollow, RightLead, and RightFollow and they all work in tandem. The idea of choosing a tank drive this year was to be a more physically defensive robot in order to play defense well as well as bring able to zoom and push cargo and robots around the field. Also in this subsystem is the Gyro affectionatly named "GyroBirb" + +### How does this Drivetrain work? + +If it wasn't clear from the names, there are only 2 motors that we actually supply instructions to throughout the match, LeftLead and RightLead. LeftFollow and RightFollow are programmed to do whatever we tell their lead motors do which saves roboRio processing power which is really nice. (This only works on tank drivetrains becuse we really only need 2 inputs, a left side and a right side.) + +```java + leftFollowMotor.follow(leftLeadMotor); + rightFollowMotor.follow(rightLeadMotor); +``` +Within the constuctor also exists the setup for PID Tuning but this PID tuning system is a little different from normal. Both of the PID values being tuned are being stored on the name motor because we have a distance number and a turn number, so the PID tuning is pointed at the numbers only on one motor. + +Another tidbit is that our TeleOp drive is different from our AutoDrive, AutoDrive is the only one with PID tuning, TeleOp does not. + +## Climber + +The climber is comprised of a pneumatic and 2 motors. The pneumatic controls the "Arm Tip State" and the motors are moving in tandem to retract or extend the climber arms. We wanted to use pneumatics becuse we thought the speed and consistency of the pneumatics would be really helpful for doing fast climbs. + +### How does it work? + +The motors are rather simple, its a simple PID loop with no kI and it is almost exclusively for autos; Otherwise, the motors were controled via the POV buttons on the PS4 controller. They have a magnetic limit switch at the bottom, preventing them from going down too far and the upward limit was predefined in the code and not controllable via the player. They have an enum designated to them to determine if they were going UP or DOWN. + +```java +package frc.robot; + +public enum ArmExtendState { + DOWN, + UP +} +``` + +One of the harder parts of the climber was controlling the state of the pneumatic and recieving what state it currently is in. We ended up creating an enum that had 2 values, IN and OUT so they we can look easily at what the arm is currently doing. If the Arm Tip State changed, the enum would change alongside it making it super easy to find. + +```java +package frc.robot; + +public enum ArmTipState { + IN, + OUT +} +``` + +## Intake + +The intake is another subsystem that has 1 pneumatic and 2 motors. The pneumatic would raise and lover the intake of the robot and the motors on the end would be the things spinning bars to acutally intake and outtake the cargo. + +### How intake? + +The programming is not as complicated as some other times. An interesting part however is that out intake could hold 2 pieces of cargo and intake/outtkake them separate from each other. This system wasn't flawless, but it worked for the most part. To control the intake, there were 2 buttons to control the pneumatic to either make the inake go up or down and similarly, there were 4 buttons for the motors: left intake, right intake, left outtake, right outtake. + +## Vision + +There is not much done with the lights this time around, but there exist a limelight on the robot and it currently functions as a drive camera. Another unimplemented idea was using a Pixy2 to sense what color the balls were inside of our intake. This was done by using color sensing and pushing it to an enum. This was never fully fleshed out, but it would have been really coooooollllllllllll. + +## Lights + +The lights this year were kind of a last minute add. We wanted to put lights on the robot after it finished so we decided to slap them on there attached to the intake. This turned out way prettier than we were expecing it to. We made 4 states for the lights that were going to be used: Purple, which made them all purple; rainbow, which were some ooh ahh swirly lights; climbing, which made purple bits go upwards, and pit lights which made the robot go dim but not off to make robot surgery a little easier. diff --git a/docs/Robo-year/Robot2022/2022Breakdown.md b/docs/Robo-year/Robot2022/2022Breakdown.md deleted file mode 100644 index c3322df..0000000 --- a/docs/Robo-year/Robot2022/2022Breakdown.md +++ /dev/null @@ -1,7 +0,0 @@ -# Hello! I'm Janus - -My favourite color is purple and I played in the 2022 game RAPID REACT! - -I am named after Janus, the Roman god of beginnings and endings. The god is typically depicted with having 2 faces, one facing the future and one facing the past. This name was chosen to represent the idea that our team has come back after the pandemic and is turning a new page in our book! - -I can do many things! (I can't acutally do too much, but I do what I do well) I am comprised of 5 subsystems: Drivetrain, Climber, Intake, Vision, and Lights! These files with have most of the important infomation for me and my drive code as well as any personal anecdotes that came with programming me! \ No newline at end of file diff --git a/docs/Robo-year/Robot2022/Drivetrain.md b/docs/Robo-year/Robot2022/Drivetrain.md deleted file mode 100644 index 6eaa3f6..0000000 --- a/docs/Robo-year/Robot2022/Drivetrain.md +++ /dev/null @@ -1,15 +0,0 @@ -# Drivetrain - -The drivetrain consists of 4 motors in a tank drive. We have LeftLead, LeftFollow, RightLead, and RightFollow and they all work in tandem. The idea of choosing a tank drive this year was to be a more physically defensive robot in order to play defense well as well as bring able to zoom and push cargo and robots around the field. Also in this subsystem is the Gyro affectionatly named "GyroBirb" - -## How does this Drivetrain work? - -If it wasn't clear from the names, there are only 2 motors that we actually supply instructions to throughout the match, LeftLead and RightLead. LeftFollow and RightFollow are programmed to do whatever we tell their lead motors do which saves roboRio processing power which is really nice. (This only works on tank drivetrains becuse we really only need 2 inputs, a left side and a right side.) - -```java - leftFollowMotor.follow(leftLeadMotor); - rightFollowMotor.follow(rightLeadMotor); -``` -Within the constuctor also exists the setup for PID Tuning but this PID tuning system is a little different from normal. Both of the PID values being tuned are being stored on the name motor because we have a distance number and a turn number, so the PID tuning is pointed at the numbers only on one motor. - -Another tidbit is that our TeleOp drive is different from our AutoDrive, AutoDrive is the only one with PID tuning, TeleOp does not. \ No newline at end of file diff --git a/docs/Robo-year/Robot2022/_category_.json b/docs/Robo-year/Robot2022/_category_.json deleted file mode 100644 index d7b8686..0000000 --- a/docs/Robo-year/Robot2022/_category_.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "label": "Robot 2022 (Janus)", - "position": 1, - "link": { - "type": "generated-index", - "description": "The Robot of 2022" - } - } diff --git a/docs/Robo-year/_category_.json b/docs/Robo-year/_category_.json index 5647864..81225b7 100644 --- a/docs/Robo-year/_category_.json +++ b/docs/Robo-year/_category_.json @@ -3,7 +3,7 @@ "position": 8, "link": { "type": "generated-index", - "description": "Collection of the Robots of the Past." + "description": "Collection of the Robots Past." } } \ No newline at end of file From 206cac047994e296b20855d6e0a9fce14fbaa477 Mon Sep 17 00:00:00 2001 From: 2491NoMythic <2491nomythic@gmail.com> Date: Tue, 7 Feb 2023 18:46:29 -0600 Subject: [PATCH 03/20] Added programmers that year --- docs/Robo-year/2022Breakdown.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/Robo-year/2022Breakdown.md b/docs/Robo-year/2022Breakdown.md index f872826..3e81d7a 100644 --- a/docs/Robo-year/2022Breakdown.md +++ b/docs/Robo-year/2022Breakdown.md @@ -65,3 +65,13 @@ There is not much done with the lights this time around, but there exist a limel ## Lights The lights this year were kind of a last minute add. We wanted to put lights on the robot after it finished so we decided to slap them on there attached to the intake. This turned out way prettier than we were expecing it to. We made 4 states for the lights that were going to be used: Purple, which made them all purple; rainbow, which were some ooh ahh swirly lights; climbing, which made purple bits go upwards, and pit lights which made the robot go dim but not off to make robot surgery a little easier. + + + +Programmers this year were: + +Liam S. (Captain) +Royce J. +Quinn F. +Augie T. +Ben H. \ No newline at end of file From d29e42372f22d30d9a924da547de625f4aba0054 Mon Sep 17 00:00:00 2001 From: 2491NoMythic <2491nomythic@gmail.com> Date: Tue, 7 Feb 2023 19:31:32 -0600 Subject: [PATCH 04/20] More testing --- docs/Robo-year/{2022Breakdown.md => 2022Breakdown.mdx} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename docs/Robo-year/{2022Breakdown.md => 2022Breakdown.mdx} (98%) diff --git a/docs/Robo-year/2022Breakdown.md b/docs/Robo-year/2022Breakdown.mdx similarity index 98% rename from docs/Robo-year/2022Breakdown.md rename to docs/Robo-year/2022Breakdown.mdx index 3e81d7a..179f59d 100644 --- a/docs/Robo-year/2022Breakdown.md +++ b/docs/Robo-year/2022Breakdown.mdx @@ -15,8 +15,8 @@ The drivetrain consists of 4 motors in a tank drive. We have LeftLead, LeftFollo If it wasn't clear from the names, there are only 2 motors that we actually supply instructions to throughout the match, LeftLead and RightLead. LeftFollow and RightFollow are programmed to do whatever we tell their lead motors do which saves roboRio processing power which is really nice. (This only works on tank drivetrains becuse we really only need 2 inputs, a left side and a right side.) ```java - leftFollowMotor.follow(leftLeadMotor); - rightFollowMotor.follow(rightLeadMotor); +leftFollowMotor.follow(leftLeadMotor); +rightFollowMotor.follow(rightLeadMotor); ``` Within the constuctor also exists the setup for PID Tuning but this PID tuning system is a little different from normal. Both of the PID values being tuned are being stored on the name motor because we have a distance number and a turn number, so the PID tuning is pointed at the numbers only on one motor. From 7ed98dfb8af59a2589c37224c10139f5fd85e950 Mon Sep 17 00:00:00 2001 From: 2491NoMythic <2491nomythic@gmail.com> Date: Tue, 7 Feb 2023 19:35:43 -0600 Subject: [PATCH 05/20] Beep Boop testing :) --- docs/Robo-year/2022Breakdown.mdx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/Robo-year/2022Breakdown.mdx b/docs/Robo-year/2022Breakdown.mdx index 179f59d..942569b 100644 --- a/docs/Robo-year/2022Breakdown.mdx +++ b/docs/Robo-year/2022Breakdown.mdx @@ -6,9 +6,15 @@ I am named after Janus, the Roman god of beginnings and endings. The god is typi I can do many things! (I can't acutally do too much, but I do what I do well) I am comprised of 5 subsystems: Drivetrain, Climber, Intake, Vision, and Lights! These files with have most of the important infomation for me and my drive code as well as any personal anecdotes that came with programming me! -## Drivetrain -The drivetrain consists of 4 motors in a tank drive. We have LeftLead, LeftFollow, RightLead, and RightFollow and they all work in tandem. The idea of choosing a tank drive this year was to be a more physically defensive robot in order to play defense well as well as bring able to zoom and push cargo and robots around the field. Also in this subsystem is the Gyro affectionatly named "GyroBirb" +
+ Drivetrain +
+
The drivetrain consists of 4 motors in a tank drive. We have LeftLead, LeftFollow, RightLead, and RightFollow and they all work in tandem. The idea of choosing a tank drive this year was to be a more physically defensive robot in order to play defense well as well as bring able to zoom and push cargo and robots around the field. Also in this subsystem is the Gyro affectionatly named "GyroBirb" +
+
+
+ ### How does this Drivetrain work? From 0d4347f746002ee78222902dabc63c0e7e68c26c Mon Sep 17 00:00:00 2001 From: 2491NoMythic <2491nomythic@gmail.com> Date: Tue, 7 Feb 2023 19:41:18 -0600 Subject: [PATCH 06/20] mdx part 2 --- docs/Robo-year/2022Breakdown.mdx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/Robo-year/2022Breakdown.mdx b/docs/Robo-year/2022Breakdown.mdx index 942569b..43f18c8 100644 --- a/docs/Robo-year/2022Breakdown.mdx +++ b/docs/Robo-year/2022Breakdown.mdx @@ -15,6 +15,13 @@ I can do many things! (I can't acutally do too much, but I do what I do well) I
+
+ Drivetrain +
+
The drivetrain consists of 4 motors in a tank drive. We have LeftLead, LeftFollow, RightLead, and RightFollow and they all work in tandem. The idea of choosing a tank drive this year was to be a more physically defensive robot in order to play defense well as well as bring able to zoom and push cargo and robots around the field. Also in this subsystem is the Gyro affectionatly named "GyroBirb"
+
+
+
### How does this Drivetrain work? From 7e0f6f7494f9ab0745ded127f7570c4453aa24f2 Mon Sep 17 00:00:00 2001 From: 2491NoMythic <2491nomythic@gmail.com> Date: Tue, 7 Feb 2023 19:42:42 -0600 Subject: [PATCH 07/20] Ahhhhh maybe I should just download node on this --- docs/Robo-year/2022Breakdown.mdx | 9 --------- 1 file changed, 9 deletions(-) diff --git a/docs/Robo-year/2022Breakdown.mdx b/docs/Robo-year/2022Breakdown.mdx index 43f18c8..566424f 100644 --- a/docs/Robo-year/2022Breakdown.mdx +++ b/docs/Robo-year/2022Breakdown.mdx @@ -6,15 +6,6 @@ I am named after Janus, the Roman god of beginnings and endings. The god is typi I can do many things! (I can't acutally do too much, but I do what I do well) I am comprised of 5 subsystems: Drivetrain, Climber, Intake, Vision, and Lights! These files with have most of the important infomation for me and my drive code as well as any personal anecdotes that came with programming me! - -
- Drivetrain -
-
The drivetrain consists of 4 motors in a tank drive. We have LeftLead, LeftFollow, RightLead, and RightFollow and they all work in tandem. The idea of choosing a tank drive this year was to be a more physically defensive robot in order to play defense well as well as bring able to zoom and push cargo and robots around the field. Also in this subsystem is the Gyro affectionatly named "GyroBirb" -
-
-
-
Drivetrain
From a3ea8b7c84902b5f7e163f78ad8a8d1f4043061a Mon Sep 17 00:00:00 2001 From: 2491NoMythic <2491nomythic@gmail.com> Date: Tue, 7 Feb 2023 19:52:56 -0600 Subject: [PATCH 08/20] Squeezing more into MDX --- docs/Robo-year/2022Breakdown.mdx | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/docs/Robo-year/2022Breakdown.mdx b/docs/Robo-year/2022Breakdown.mdx index 566424f..9bcafd7 100644 --- a/docs/Robo-year/2022Breakdown.mdx +++ b/docs/Robo-year/2022Breakdown.mdx @@ -9,14 +9,9 @@ I can do many things! (I can't acutally do too much, but I do what I do well) I
Drivetrain
-
The drivetrain consists of 4 motors in a tank drive. We have LeftLead, LeftFollow, RightLead, and RightFollow and they all work in tandem. The idea of choosing a tank drive this year was to be a more physically defensive robot in order to play defense well as well as bring able to zoom and push cargo and robots around the field. Also in this subsystem is the Gyro affectionatly named "GyroBirb"
-
-
-
- -### How does this Drivetrain work? - -If it wasn't clear from the names, there are only 2 motors that we actually supply instructions to throughout the match, LeftLead and RightLead. LeftFollow and RightFollow are programmed to do whatever we tell their lead motors do which saves roboRio processing power which is really nice. (This only works on tank drivetrains becuse we really only need 2 inputs, a left side and a right side.) +
The drivetrain consists of 4 motors in a tank drive. We have LeftLead, LeftFollow, RightLead, and RightFollow and they all work in tandem. The idea of choosing a tank drive this year was to be a more physically defensive robot in order to play defense well as well as bring able to zoom and push cargo and robots around the field. Also in this subsystem is the Gyro affectionatly named "GyroBirb" + + If it wasn't clear from the names, there are only 2 motors that we actually supply instructions to throughout the match, LeftLead and RightLead. LeftFollow and RightFollow are programmed to do whatever we tell their lead motors do which saves roboRio processing power which is really nice. (This only works on tank drivetrains becuse we really only need 2 inputs, a left side and a right side.) ```java leftFollowMotor.follow(leftLeadMotor); @@ -25,6 +20,10 @@ rightFollowMotor.follow(rightLeadMotor); Within the constuctor also exists the setup for PID Tuning but this PID tuning system is a little different from normal. Both of the PID values being tuned are being stored on the name motor because we have a distance number and a turn number, so the PID tuning is pointed at the numbers only on one motor. Another tidbit is that our TeleOp drive is different from our AutoDrive, AutoDrive is the only one with PID tuning, TeleOp does not. +
+
+
+
## Climber From 2411750a6d281add09ff6233e86e1ff5028d54f6 Mon Sep 17 00:00:00 2001 From: 2491NoMythic <2491nomythic@gmail.com> Date: Sat, 11 Feb 2023 11:46:19 -0600 Subject: [PATCH 09/20] Dropdown menu extraviganza --- docs/Robo-year/2022Breakdown.mdx | 59 +++++++++++++++++++------------- 1 file changed, 35 insertions(+), 24 deletions(-) diff --git a/docs/Robo-year/2022Breakdown.mdx b/docs/Robo-year/2022Breakdown.mdx index 9bcafd7..462f28e 100644 --- a/docs/Robo-year/2022Breakdown.mdx +++ b/docs/Robo-year/2022Breakdown.mdx @@ -10,27 +10,22 @@ I can do many things! (I can't acutally do too much, but I do what I do well) I Drivetrain
The drivetrain consists of 4 motors in a tank drive. We have LeftLead, LeftFollow, RightLead, and RightFollow and they all work in tandem. The idea of choosing a tank drive this year was to be a more physically defensive robot in order to play defense well as well as bring able to zoom and push cargo and robots around the field. Also in this subsystem is the Gyro affectionatly named "GyroBirb" - If it wasn't clear from the names, there are only 2 motors that we actually supply instructions to throughout the match, LeftLead and RightLead. LeftFollow and RightFollow are programmed to do whatever we tell their lead motors do which saves roboRio processing power which is really nice. (This only works on tank drivetrains becuse we really only need 2 inputs, a left side and a right side.) - ```java leftFollowMotor.follow(leftLeadMotor); rightFollowMotor.follow(rightLeadMotor); ``` Within the constuctor also exists the setup for PID Tuning but this PID tuning system is a little different from normal. Both of the PID values being tuned are being stored on the name motor because we have a distance number and a turn number, so the PID tuning is pointed at the numbers only on one motor. - -Another tidbit is that our TeleOp drive is different from our AutoDrive, AutoDrive is the only one with PID tuning, TeleOp does not. +Another tidbit is that our TeleOp drive is different from our AutoDrive, AutoDrive is the only one with PID tuning, TeleOp doesn't use PID tuned driving.

-## Climber - -The climber is comprised of a pneumatic and 2 motors. The pneumatic controls the "Arm Tip State" and the motors are moving in tandem to retract or extend the climber arms. We wanted to use pneumatics becuse we thought the speed and consistency of the pneumatics would be really helpful for doing fast climbs. - -### How does it work? - +
+ Climber +
+
The climber is comprised of a pneumatic and 2 motors. The pneumatic controls the "Arm Tip State" and the motors are moving in tandem to retract or extend the climber arms. We wanted to use pneumatics becuse we thought the speed and consistency of the pneumatics would be really helpful for doing fast climbs. The motors are rather simple, its a simple PID loop with no kI and it is almost exclusively for autos; Otherwise, the motors were controled via the POV buttons on the PS4 controller. They have a magnetic limit switch at the bottom, preventing them from going down too far and the upward limit was predefined in the code and not controllable via the player. They have an enum designated to them to determine if they were going UP or DOWN. ```java @@ -53,25 +48,41 @@ public enum ArmTipState { } ``` -## Intake - -The intake is another subsystem that has 1 pneumatic and 2 motors. The pneumatic would raise and lover the intake of the robot and the motors on the end would be the things spinning bars to acutally intake and outtake the cargo. - -### How intake? - -The programming is not as complicated as some other times. An interesting part however is that out intake could hold 2 pieces of cargo and intake/outtkake them separate from each other. This system wasn't flawless, but it worked for the most part. To control the intake, there were 2 buttons to control the pneumatic to either make the inake go up or down and similarly, there were 4 buttons for the motors: left intake, right intake, left outtake, right outtake. - -## Vision - -There is not much done with the lights this time around, but there exist a limelight on the robot and it currently functions as a drive camera. Another unimplemented idea was using a Pixy2 to sense what color the balls were inside of our intake. This was done by using color sensing and pushing it to an enum. This was never fully fleshed out, but it would have been really coooooollllllllllll. +
+
+
+
-## Lights +
+ Intake +
+
The intake is another subsystem that has 1 pneumatic and 2 motors. The pneumatic would raise and lover the intake of the robot and the motors on the end would be the things spinning bars to acutally intake and outtake the cargo. +The programming is not as complicated as some of the other subsystems. An interesting part however is that the intake could hold 2 pieces of cargo and intake/outtkake them separatly from each other. This system wasn't flawless, but it worked for the most part. To control the height of the intake, there were 2 buttons to control the pneumatic to either make the inake go up or down and similarly, there were 4 buttons for the motors: left intake, right intake, left outtake, right outtake. -The lights this year were kind of a last minute add. We wanted to put lights on the robot after it finished so we decided to slap them on there attached to the intake. This turned out way prettier than we were expecing it to. We made 4 states for the lights that were going to be used: Purple, which made them all purple; rainbow, which were some ooh ahh swirly lights; climbing, which made purple bits go upwards, and pit lights which made the robot go dim but not off to make robot surgery a little easier. +
+
+
+
+
+ Vision +
+
There is not much done with the lights this time around, but there exists a limelight on the robot and it functions mainly as a drive camera. The idea was to find the pillar in the center and reorientate towards it automatically. + Another unimplemented idea was using a Pixy2 to sense what color the balls were inside of our intake. It worked sort of but it was not very consistent and required constant re-calibrating. The information was put into an enum, but again, this was never fully fleshed out, but it would have been really coooooollllllllllll. +
+
+
+
+
+ Lights +
+
The lights this year were kind of a last minute add. We wanted to put lights on the robot after it finished so we decided to slap them on there attached to the intake. This turned out way prettier than we were expecing it to. We made 4 states for the lights that were going to be used: Purple, which made them all purple; rainbow, which were some ooh ahh swirly lights; climbing, which made purple bits go upwards, and pit lights which made the robot go dim but not off to make robot surgery a little easier.
+
+
+
-Programmers this year were: +Hello! From your past programmers: Liam S. (Captain) Royce J. From d0a9d4eeabe5140590ad58b932260945e28c97ee Mon Sep 17 00:00:00 2001 From: 2491NoMythic <2491nomythic@gmail.com> Date: Sat, 11 Feb 2023 11:49:11 -0600 Subject: [PATCH 10/20] Errors? --- docs/Robo-year/2022Breakdown.mdx | 46 ++++++++++++++++---------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/docs/Robo-year/2022Breakdown.mdx b/docs/Robo-year/2022Breakdown.mdx index 462f28e..fe12bf7 100644 --- a/docs/Robo-year/2022Breakdown.mdx +++ b/docs/Robo-year/2022Breakdown.mdx @@ -11,12 +11,12 @@ I can do many things! (I can't acutally do too much, but I do what I do well) I
The drivetrain consists of 4 motors in a tank drive. We have LeftLead, LeftFollow, RightLead, and RightFollow and they all work in tandem. The idea of choosing a tank drive this year was to be a more physically defensive robot in order to play defense well as well as bring able to zoom and push cargo and robots around the field. Also in this subsystem is the Gyro affectionatly named "GyroBirb" If it wasn't clear from the names, there are only 2 motors that we actually supply instructions to throughout the match, LeftLead and RightLead. LeftFollow and RightFollow are programmed to do whatever we tell their lead motors do which saves roboRio processing power which is really nice. (This only works on tank drivetrains becuse we really only need 2 inputs, a left side and a right side.) -```java -leftFollowMotor.follow(leftLeadMotor); -rightFollowMotor.follow(rightLeadMotor); -``` -Within the constuctor also exists the setup for PID Tuning but this PID tuning system is a little different from normal. Both of the PID values being tuned are being stored on the name motor because we have a distance number and a turn number, so the PID tuning is pointed at the numbers only on one motor. -Another tidbit is that our TeleOp drive is different from our AutoDrive, AutoDrive is the only one with PID tuning, TeleOp doesn't use PID tuned driving. + ```java + leftFollowMotor.follow(leftLeadMotor); + rightFollowMotor.follow(rightLeadMotor); + ``` + Within the constuctor also exists the setup for PID Tuning but this PID tuning system is a little different from normal. Both of the PID values being tuned are being stored on the name motor because we have a distance number and a turn number, so the PID tuning is pointed at the numbers only on one motor. + Another tidbit is that our TeleOp drive is different from our AutoDrive, AutoDrive is the only one with PID tuning, TeleOp doesn't use PID tuned driving.

@@ -26,27 +26,27 @@ Another tidbit is that our TeleOp drive is different from our AutoDrive, AutoDri Climber
The climber is comprised of a pneumatic and 2 motors. The pneumatic controls the "Arm Tip State" and the motors are moving in tandem to retract or extend the climber arms. We wanted to use pneumatics becuse we thought the speed and consistency of the pneumatics would be really helpful for doing fast climbs. -The motors are rather simple, its a simple PID loop with no kI and it is almost exclusively for autos; Otherwise, the motors were controled via the POV buttons on the PS4 controller. They have a magnetic limit switch at the bottom, preventing them from going down too far and the upward limit was predefined in the code and not controllable via the player. They have an enum designated to them to determine if they were going UP or DOWN. + The motors are rather simple, its a simple PID loop with no kI and it is almost exclusively for autos; Otherwise, the motors were controled via the POV buttons on the PS4 controller. They have a magnetic limit switch at the bottom, preventing them from going down too far and the upward limit was predefined in the code and not controllable via the player. They have an enum designated to them to determine if they were going UP or DOWN. -```java -package frc.robot; + ```java + package frc.robot; -public enum ArmExtendState { - DOWN, - UP -} -``` + public enum ArmExtendState { + DOWN, + UP + } + ``` -One of the harder parts of the climber was controlling the state of the pneumatic and recieving what state it currently is in. We ended up creating an enum that had 2 values, IN and OUT so they we can look easily at what the arm is currently doing. If the Arm Tip State changed, the enum would change alongside it making it super easy to find. + One of the harder parts of the climber was controlling the state of the pneumatic and recieving what state it currently is in. We ended up creating an enum that had 2 values, IN and OUT so they we can look easily at what the arm is currently doing. If the Arm Tip State changed, the enum would change alongside it making it super easy to find. -```java -package frc.robot; + ```java + package frc.robot; -public enum ArmTipState { - IN, - OUT -} -``` + public enum ArmTipState { + IN, + OUT + } + ```

@@ -57,7 +57,7 @@ public enum ArmTipState { Intake
The intake is another subsystem that has 1 pneumatic and 2 motors. The pneumatic would raise and lover the intake of the robot and the motors on the end would be the things spinning bars to acutally intake and outtake the cargo. -The programming is not as complicated as some of the other subsystems. An interesting part however is that the intake could hold 2 pieces of cargo and intake/outtkake them separatly from each other. This system wasn't flawless, but it worked for the most part. To control the height of the intake, there were 2 buttons to control the pneumatic to either make the inake go up or down and similarly, there were 4 buttons for the motors: left intake, right intake, left outtake, right outtake. + The programming is not as complicated as some of the other subsystems. An interesting part however is that the intake could hold 2 pieces of cargo and intake/outtkake them separatly from each other. This system wasn't flawless, but it worked for the most part. To control the height of the intake, there were 2 buttons to control the pneumatic to either make the inake go up or down and similarly, there were 4 buttons for the motors: left intake, right intake, left outtake, right outtake.

From 7c8770b68ec95a34fd2d28e87fdce992e11f9c07 Mon Sep 17 00:00:00 2001 From: 2491NoMythic <2491nomythic@gmail.com> Date: Sat, 11 Feb 2023 11:52:04 -0600 Subject: [PATCH 11/20] :) --- docs/Robo-year/2022Breakdown.mdx | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/Robo-year/2022Breakdown.mdx b/docs/Robo-year/2022Breakdown.mdx index fe12bf7..898fc68 100644 --- a/docs/Robo-year/2022Breakdown.mdx +++ b/docs/Robo-year/2022Breakdown.mdx @@ -58,7 +58,6 @@ I can do many things! (I can't acutally do too much, but I do what I do well) I
The intake is another subsystem that has 1 pneumatic and 2 motors. The pneumatic would raise and lover the intake of the robot and the motors on the end would be the things spinning bars to acutally intake and outtake the cargo. The programming is not as complicated as some of the other subsystems. An interesting part however is that the intake could hold 2 pieces of cargo and intake/outtkake them separatly from each other. This system wasn't flawless, but it worked for the most part. To control the height of the intake, there were 2 buttons to control the pneumatic to either make the inake go up or down and similarly, there were 4 buttons for the motors: left intake, right intake, left outtake, right outtake. -

From e72c3c4ed844e3021162823fed4a84117aeac2e5 Mon Sep 17 00:00:00 2001 From: 2491NoMythic <2491nomythic@gmail.com> Date: Sat, 11 Feb 2023 11:53:59 -0600 Subject: [PATCH 12/20] Lines were out of order --- docs/Robo-year/2022Breakdown.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Robo-year/2022Breakdown.mdx b/docs/Robo-year/2022Breakdown.mdx index 898fc68..11a3931 100644 --- a/docs/Robo-year/2022Breakdown.mdx +++ b/docs/Robo-year/2022Breakdown.mdx @@ -77,8 +77,8 @@ I can do many things! (I can't acutally do too much, but I do what I do well) I Lights
The lights this year were kind of a last minute add. We wanted to put lights on the robot after it finished so we decided to slap them on there attached to the intake. This turned out way prettier than we were expecing it to. We made 4 states for the lights that were going to be used: Purple, which made them all purple; rainbow, which were some ooh ahh swirly lights; climbing, which made purple bits go upwards, and pit lights which made the robot go dim but not off to make robot surgery a little easier.
+

-
Hello! From your past programmers: From 950ca6c934d3ef08b90fefaa0a09b9823f2d7d9e Mon Sep 17 00:00:00 2001 From: Liam Sykes <78829557+trixydevs@users.noreply.github.com> Date: Sat, 18 Mar 2023 15:08:07 -0500 Subject: [PATCH 13/20] Fixed the error maybe? --- docs/Robo-year/2022Breakdown.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/Robo-year/2022Breakdown.mdx b/docs/Robo-year/2022Breakdown.mdx index 11a3931..66c0c7c 100644 --- a/docs/Robo-year/2022Breakdown.mdx +++ b/docs/Robo-year/2022Breakdown.mdx @@ -69,7 +69,7 @@ I can do many things! (I can't acutally do too much, but I do what I do well) I
There is not much done with the lights this time around, but there exists a limelight on the robot and it functions mainly as a drive camera. The idea was to find the pillar in the center and reorientate towards it automatically. Another unimplemented idea was using a Pixy2 to sense what color the balls were inside of our intake. It worked sort of but it was not very consistent and required constant re-calibrating. The information was put into an enum, but again, this was never fully fleshed out, but it would have been really coooooollllllllllll.
-
+
@@ -78,7 +78,7 @@ I can do many things! (I can't acutally do too much, but I do what I do well) I
The lights this year were kind of a last minute add. We wanted to put lights on the robot after it finished so we decided to slap them on there attached to the intake. This turned out way prettier than we were expecing it to. We made 4 states for the lights that were going to be used: Purple, which made them all purple; rainbow, which were some ooh ahh swirly lights; climbing, which made purple bits go upwards, and pit lights which made the robot go dim but not off to make robot surgery a little easier.
-
+
Hello! From your past programmers: From be7ec0cde2d529fa156a79fc402aaf3f20280b4e Mon Sep 17 00:00:00 2001 From: Liam Sykes <78829557+trixydevs@users.noreply.github.com> Date: Sat, 18 Mar 2023 15:13:11 -0500 Subject: [PATCH 14/20] Fixed the java call, --- docs/Robo-year/2022Breakdown.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/Robo-year/2022Breakdown.mdx b/docs/Robo-year/2022Breakdown.mdx index 66c0c7c..110f816 100644 --- a/docs/Robo-year/2022Breakdown.mdx +++ b/docs/Robo-year/2022Breakdown.mdx @@ -11,10 +11,12 @@ I can do many things! (I can't acutally do too much, but I do what I do well) I
The drivetrain consists of 4 motors in a tank drive. We have LeftLead, LeftFollow, RightLead, and RightFollow and they all work in tandem. The idea of choosing a tank drive this year was to be a more physically defensive robot in order to play defense well as well as bring able to zoom and push cargo and robots around the field. Also in this subsystem is the Gyro affectionatly named "GyroBirb" If it wasn't clear from the names, there are only 2 motors that we actually supply instructions to throughout the match, LeftLead and RightLead. LeftFollow and RightFollow are programmed to do whatever we tell their lead motors do which saves roboRio processing power which is really nice. (This only works on tank drivetrains becuse we really only need 2 inputs, a left side and a right side.) + ```java leftFollowMotor.follow(leftLeadMotor); rightFollowMotor.follow(rightLeadMotor); ``` + Within the constuctor also exists the setup for PID Tuning but this PID tuning system is a little different from normal. Both of the PID values being tuned are being stored on the name motor because we have a distance number and a turn number, so the PID tuning is pointed at the numbers only on one motor. Another tidbit is that our TeleOp drive is different from our AutoDrive, AutoDrive is the only one with PID tuning, TeleOp doesn't use PID tuned driving.
From 22ca1ca77a5d327ef8367d4457604050c332ebc4 Mon Sep 17 00:00:00 2001 From: Liam Sykes <78829557+trixydevs@users.noreply.github.com> Date: Sat, 18 Mar 2023 15:18:18 -0500 Subject: [PATCH 15/20] Not having node is hard someitmes --- docs/Robo-year/2022Breakdown.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/Robo-year/2022Breakdown.mdx b/docs/Robo-year/2022Breakdown.mdx index 110f816..0e12bcb 100644 --- a/docs/Robo-year/2022Breakdown.mdx +++ b/docs/Robo-year/2022Breakdown.mdx @@ -10,13 +10,13 @@ I can do many things! (I can't acutally do too much, but I do what I do well) I Drivetrain
The drivetrain consists of 4 motors in a tank drive. We have LeftLead, LeftFollow, RightLead, and RightFollow and they all work in tandem. The idea of choosing a tank drive this year was to be a more physically defensive robot in order to play defense well as well as bring able to zoom and push cargo and robots around the field. Also in this subsystem is the Gyro affectionatly named "GyroBirb" - If it wasn't clear from the names, there are only 2 motors that we actually supply instructions to throughout the match, LeftLead and RightLead. LeftFollow and RightFollow are programmed to do whatever we tell their lead motors do which saves roboRio processing power which is really nice. (This only works on tank drivetrains becuse we really only need 2 inputs, a left side and a right side.) - + If it wasn't clear from the names, there are only 2 motors that we actually supply instructions to throughout the match, LeftLead and RightLead. LeftFollow and RightFollow are programmed to do whatever we tell their lead motors do which saves roboRio processing power which is really nice. (This only works on tank drivetrains becuse we really only need 2 inputs, a left side and a right side.) + ```java leftFollowMotor.follow(leftLeadMotor); rightFollowMotor.follow(rightLeadMotor); ``` - + Within the constuctor also exists the setup for PID Tuning but this PID tuning system is a little different from normal. Both of the PID values being tuned are being stored on the name motor because we have a distance number and a turn number, so the PID tuning is pointed at the numbers only on one motor. Another tidbit is that our TeleOp drive is different from our AutoDrive, AutoDrive is the only one with PID tuning, TeleOp doesn't use PID tuned driving.
From 5da25ec5dd0c32c29bd9c57e5e812900eb146a18 Mon Sep 17 00:00:00 2001 From: 2491NoMythic <2491nomythic@gmail.com> Date: Tue, 21 Mar 2023 17:43:03 -0500 Subject: [PATCH 16/20] Revamped the Climber description --- docs/Robo-year/2022Breakdown.mdx | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/docs/Robo-year/2022Breakdown.mdx b/docs/Robo-year/2022Breakdown.mdx index 0e12bcb..f6dce12 100644 --- a/docs/Robo-year/2022Breakdown.mdx +++ b/docs/Robo-year/2022Breakdown.mdx @@ -27,8 +27,12 @@ I can do many things! (I can't acutally do too much, but I do what I do well) I
Climber
-
The climber is comprised of a pneumatic and 2 motors. The pneumatic controls the "Arm Tip State" and the motors are moving in tandem to retract or extend the climber arms. We wanted to use pneumatics becuse we thought the speed and consistency of the pneumatics would be really helpful for doing fast climbs. - The motors are rather simple, its a simple PID loop with no kI and it is almost exclusively for autos; Otherwise, the motors were controled via the POV buttons on the PS4 controller. They have a magnetic limit switch at the bottom, preventing them from going down too far and the upward limit was predefined in the code and not controllable via the player. They have an enum designated to them to determine if they were going UP or DOWN. +
The climber is comprised of a pneumatic and 2 motors. The pneumatic controls the "Arm Tip State" and the motors move in tandem to extend or retract the climber arms. We wanted to use pneumatics becuse the speed and consistency of the pneumatics was going to be really useful for doing fast and consistent climbs. + The motors are a little complicated. The motors control a spool that dictates how far the arm can extend. The arm has springs that always push the arm out but the spools act like leashes and keep it from extending any more than we want it to. + The motor control is a PID loop with no kI and the auto control is really only used if we want to control the arm in a non-manual matter such as autos. + They have a magnetic limit switch at the bottom, preventing them from going down too far and the upward limit was predefined in the code and not controllable via the player. + Because we want to know the state of the arm so nothing runs into each other, we needed a way to find out the state of the subsystem in a fast call. To do this, we modified the control to not revolve on a TRUE/FALSE output, but rather on an ENUM that we created. + We created 2 different ENUMS each with their 2 different states. ArmExtendState to see if the arm is extended or retracted and ArmTipState to determine if the arm was tilted in or out. The naming convention isn't exactly the greatest... but it works for us! ```java package frc.robot; @@ -37,18 +41,25 @@ I can do many things! (I can't acutally do too much, but I do what I do well) I DOWN, UP } - ``` - - One of the harder parts of the climber was controlling the state of the pneumatic and recieving what state it currently is in. We ended up creating an enum that had 2 values, IN and OUT so they we can look easily at what the arm is currently doing. If the Arm Tip State changed, the enum would change alongside it making it super easy to find. - - ```java - package frc.robot; public enum ArmTipState { IN, OUT } ``` + We control the arm with 2 different buttons: D-PAD left and D-PAD down. D-PAD left follows a sequential command that: tilts the arm out, extends the arms, and tilts the arms up. D-PAD down just retracts the arm. We programmed it like this to automate it for the drivers and make the climbing process an easier process. + + ``` + public FullClimbPhase1(OldClimber climber, Intake intake, LightsHardware lights) { + ClimbLights climbLights = new ClimbLights(lights); + addCommands( + new InstantCommand(() -> { climbLights.schedule(); }), + new MoveArm(intake, IntakeArmState.armDown), + new TiltBackAndExtend(climber), + new ArmPneumaticTipping(climber, ArmTipState.IN) + ); +} + ```

From 34c28212fa7f14058b9a899c713e2fc63946d836 Mon Sep 17 00:00:00 2001 From: 2491NoMythic <2491nomythic@gmail.com> Date: Tue, 21 Mar 2023 19:19:04 -0500 Subject: [PATCH 17/20] Lights and Vision revamp? --- docs/Robo-year/2022Breakdown.mdx | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/docs/Robo-year/2022Breakdown.mdx b/docs/Robo-year/2022Breakdown.mdx index f6dce12..6fec82e 100644 --- a/docs/Robo-year/2022Breakdown.mdx +++ b/docs/Robo-year/2022Breakdown.mdx @@ -49,7 +49,7 @@ I can do many things! (I can't acutally do too much, but I do what I do well) I ``` We control the arm with 2 different buttons: D-PAD left and D-PAD down. D-PAD left follows a sequential command that: tilts the arm out, extends the arms, and tilts the arms up. D-PAD down just retracts the arm. We programmed it like this to automate it for the drivers and make the climbing process an easier process. - ``` + ```java public FullClimbPhase1(OldClimber climber, Intake intake, LightsHardware lights) { ClimbLights climbLights = new ClimbLights(lights); addCommands( @@ -79,8 +79,16 @@ I can do many things! (I can't acutally do too much, but I do what I do well) I
Vision
-
There is not much done with the lights this time around, but there exists a limelight on the robot and it functions mainly as a drive camera. The idea was to find the pillar in the center and reorientate towards it automatically. - Another unimplemented idea was using a Pixy2 to sense what color the balls were inside of our intake. It worked sort of but it was not very consistent and required constant re-calibrating. The information was put into an enum, but again, this was never fully fleshed out, but it would have been really coooooollllllllllll. +
There are 3 cameras on the robot. The limelight, a pixy, and a generic webcam. The limelight wasn't finished, but the idea was to be able to look at the center pillar and rotate to point to make scoring consistent. The pixy was implimented at home, but at competitions it went a little awry. + The pixy was supposed to identify the color of ball in our rollers and transmit that data to our lights. This was especially helpful if we had different colored balls in our rollers. We used an enum to dictate what kind of balls we have but the pixy was heavilly reliant on the lighting and once we made it to competition, the lighting at competiton was different than the one at home so it didn't work + + ```java + public enum CargoState { + Empty, + Red, + Blue, +} + ```

@@ -89,7 +97,14 @@ I can do many things! (I can't acutally do too much, but I do what I do well) I
Lights
-
The lights this year were kind of a last minute add. We wanted to put lights on the robot after it finished so we decided to slap them on there attached to the intake. This turned out way prettier than we were expecing it to. We made 4 states for the lights that were going to be used: Purple, which made them all purple; rainbow, which were some ooh ahh swirly lights; climbing, which made purple bits go upwards, and pit lights which made the robot go dim but not off to make robot surgery a little easier.
+
The lights this year were kind of a last minute add. We wanted to put lights on the robot after it finished so we decided to slap them on there attached to the intake. This turned out way prettier than we were expecing it to. We made 4 states for the lights that were going to be used: +
    +
  • Purple, which made them all purplee
  • +
  • Rainbow, which were some ooh ahh swirly lights
  • +
  • Climbing, which made purple bits go upwards
  • +
  • Pit lights which made the robot go dim but not off to make robot surgery a little easier
  • +
+

From 8dcab2df3ffc047325c8de1e3aac98029bec1146 Mon Sep 17 00:00:00 2001 From: 2491NoMythic <2491nomythic@gmail.com> Date: Sat, 25 Mar 2023 15:09:51 -0500 Subject: [PATCH 18/20] Added code to the intake section --- docs/Robo-year/2022Breakdown.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/Robo-year/2022Breakdown.mdx b/docs/Robo-year/2022Breakdown.mdx index 6fec82e..b829e98 100644 --- a/docs/Robo-year/2022Breakdown.mdx +++ b/docs/Robo-year/2022Breakdown.mdx @@ -71,6 +71,23 @@ I can do many things! (I can't acutally do too much, but I do what I do well) I
The intake is another subsystem that has 1 pneumatic and 2 motors. The pneumatic would raise and lover the intake of the robot and the motors on the end would be the things spinning bars to acutally intake and outtake the cargo. The programming is not as complicated as some of the other subsystems. An interesting part however is that the intake could hold 2 pieces of cargo and intake/outtkake them separatly from each other. This system wasn't flawless, but it worked for the most part. To control the height of the intake, there were 2 buttons to control the pneumatic to either make the inake go up or down and similarly, there were 4 buttons for the motors: left intake, right intake, left outtake, right outtake. + ```java + if (ps4Controller.getL2Button()) { + intake.leftIntake(IN_SPEED); + } else if (ps4Controller.getL1Button()) { + intake.leftIntake(OUT_SPEED); + } else { + intake.leftIntake(0); + } + + if (ps4Controller.getR2Button()) { + intake.rightIntake(IN_SPEED); + } else if (ps4Controller.getR1Button()) { + intake.rightIntake(OUT_SPEED); + } else { + intake.rightIntake(0); + } + ```

From cfe5db6780c7887f128f3ddab5429ee8e86f37c3 Mon Sep 17 00:00:00 2001 From: 2491NoMythic <2491nomythic@gmail.com> Date: Sat, 25 Mar 2023 15:12:04 -0500 Subject: [PATCH 19/20] Fixed? --- docs/Robo-year/2022Breakdown.mdx | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/Robo-year/2022Breakdown.mdx b/docs/Robo-year/2022Breakdown.mdx index b829e98..1c6d661 100644 --- a/docs/Robo-year/2022Breakdown.mdx +++ b/docs/Robo-year/2022Breakdown.mdx @@ -79,7 +79,6 @@ I can do many things! (I can't acutally do too much, but I do what I do well) I } else { intake.leftIntake(0); } - if (ps4Controller.getR2Button()) { intake.rightIntake(IN_SPEED); } else if (ps4Controller.getR1Button()) { From 55c231e899420f2d85e7af44902371e4edd3cfc5 Mon Sep 17 00:00:00 2001 From: 2491NoMythic <2491nomythic@gmail.com> Date: Sat, 25 Mar 2023 15:14:05 -0500 Subject: [PATCH 20/20] hmmm --- docs/Robo-year/2022Breakdown.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/Robo-year/2022Breakdown.mdx b/docs/Robo-year/2022Breakdown.mdx index 1c6d661..f301c2a 100644 --- a/docs/Robo-year/2022Breakdown.mdx +++ b/docs/Robo-year/2022Breakdown.mdx @@ -71,6 +71,7 @@ I can do many things! (I can't acutally do too much, but I do what I do well) I
The intake is another subsystem that has 1 pneumatic and 2 motors. The pneumatic would raise and lover the intake of the robot and the motors on the end would be the things spinning bars to acutally intake and outtake the cargo. The programming is not as complicated as some of the other subsystems. An interesting part however is that the intake could hold 2 pieces of cargo and intake/outtkake them separatly from each other. This system wasn't flawless, but it worked for the most part. To control the height of the intake, there were 2 buttons to control the pneumatic to either make the inake go up or down and similarly, there were 4 buttons for the motors: left intake, right intake, left outtake, right outtake. + ```java if (ps4Controller.getL2Button()) { intake.leftIntake(IN_SPEED); @@ -87,6 +88,7 @@ I can do many things! (I can't acutally do too much, but I do what I do well) I intake.rightIntake(0); } ``` +