# Week 2 (1/13 to 1/20) ## Assembly ### Training We conducted training for new members (Rotations): - Motor testing - Used phoenix tuner and driver's station - Recorded motor data in a spreadsheet and labeled motors - Comp maintenance - Created a [Pit checklist](../../_static/Comp%20Pit%20Checklist.pdf) - Pneumatics - How to use the manual test bench - Layout and components of prototype bot pneumatics - Soldering - Chain Tensioning - Practicing chain tensioning by using wrenches to tie and loosen snail gears ### Claw Once the assembly of the double piston claw was done, we attached it to the prototype bot. ![Claw](../../images/2023/Week2/asmclaw.png) *Image of the completed claw assembly* We fixed a claw prototype’s cone compression. ![Claw2](../../images/2023/Week2/asmClaw2.png) *Demo of claw holding cone* We tested a claw prototype - Set up pneumatic test bench and tested the two-piston claw design. It was successful for both the cone and the cube. ![Claw3](../../images/2023/Week2/asmClaw3.png) We finished the assembly of the claw prototype. Upon completion, it was tested and successfully picked up and scored a cone on the node about 4 times until the wood snapped while testing. ![Claw4](../../images/2023/Week2/asmClaw4.png) *Broken wood on claw prototype* ### Arm Installed the piston on arm - Tubing - Wires *Piston attatched to claw prototype* ![Arm](../../images/2023/Week2/asmArm.png) ### Elevator We also worked on the elevator prototype: - Worked with CAD in assembly of the elevator - Took inventory for elevator parts - Riveted U shape ![Elevator](../../images/2023/Week2/asmElev.png) *The start of our elevator prototype* ### Cone Runner We worked on the assembly of the cone runner intake prototype. - Once assembled, we tested it. ![Cone Runner](../../images/2023/Week2/asmConeRunner.png) *Assembled cone runner intake prototype* Video of the intake working: https://drive.google.com/file/d/1Y-SxlztuHSmEjaizDpQcaamlR35QkoNe/view?usp=sharing ### Field Elements We finished assembling the end cone ramp. Connected the cube shelf divider beam to cone ramp horizontal beam using wood screws and spacer plywood ![Cone Ramp](../../images/2023/Week2/asmConeRamp.png) *Image of the completed Cone Ramp.* Made a substation height simulator (Double Substation Stand) - Cut wood and assembled ![Stand](../../images/2023/Week2/asmStand.png) *New double substation stand* ### Robot Repairs/Maintenance We did several repairs on our prototype bots such as: - Fixed CAN on prototype bot - Fixed gearboxes on prototype bot - We finished attaching handles onto our swerve bot. ![Swerve Handles](../../images/2023/Week2/asmHandles.png) *Handles on Swerve* We fixed a Pneumatic Leak in our Prototype Bot: We found slanted tubing, so we cut a new tube and reconnected it ### Robot Cart We continued brainstorming and designing a new robot cart. We completed the following: After the brainstorming on Friday, we made the 1st iteration design and reviewed those designs with our advisor ![Robot Cart CAD](../../images/2023/Week2/asmRoboCart1.png) *CAD design of new robot cart* We continued to work on Robot Cart. - Got feedback from advisor - Created a 2nd iteration - Started Bill of Materials (BOM) ![Robot Cart](../../images/2023/Week2/asmRoboCart2.png) *Two possible designs for the robot cart* ### Driver Station We began work on a new driver station. - Assembled the base of the driver station. - Used the bandsaw to cut bars for the base and polycarb. ![Driver Station](../../images/2023/Week2/asmDriveStation.png) *Finished driver station base* ### Other We repaired the Wooden Dolley our team uses to push around large materials. - Replace broken plywood - Stapled fabric using staple gun ![Wooden Dolley](../../images/2023/Week2/asmDolley.png) *Fixed Wooden Dolley* We also assembled versaplanetary gearboxes for our prototype bot. We started working on our new robot cart and driver’s station. - brainstorming updated designs - design constraints - additional features We recorded inventory for the following components: - Cone Runner - Motor Did basic battery maintenance: - Battery Leads: take off and replace battery leads. Use heat gun to secure heatshrink. - Tested 2 batteries with a computerized battery analyzer Made changes to encoder connection (NEOs): - Spliced 24AWG onto 28AWG onto neo motor encoder wires We Disassembled telescope climb to get more parts needed for other claw prototypes: - Bearings - stock We recorded inventory for versaplanetary gearboxes. Some assembly members had Manufacturing Training on: - Work offsets - Helping MFG with parts list - Facing, probing We performed the following electrical work: - Prepared CANcoders for 2nd swerve ![Encoder](../../images/2023/Week2/asmEncoder.png) *Completed encoder preparation* We helped the ADMIN sub team with the following: - Created FRC sponsors Stickers - Started design for sponsorship panels ![Sponsor Panel](../../images/2023/Week2/asmSponsors.png) *Image of our sponsor panel layout* ## CAD ### Telescope Arm First cad of two stage telescope arm. Each tube is 27 inches long. Received feedback. Need to find a way to move the arm. Thinking of attaching motor to elevator carriage. ![Arm](../../images/2023/Week2/cadArm.png) *Screenshot of arm CAD* ### Elevator We finished updating the elevator. Some of the updates included making the bars into 29 inches to make it easier for manufacturing. We created drawings of all the parts, and created a BOM that we must order to make the elevator. ![Elevator](../../images/2023/Week2/cadElev.png) *Screenshot of elevator CAD* ### Rotational Claw We then tested the rotational claw with the pneumatic piston test bench and had 100% success rate out of 10 trials with cone and cube. ![Claw](../../images/2023/Week2/cadClaw.png) *Screenshot of the claw cad.* ### Buddy Climb We started on the first buddy climber prototype design using pieces of plywood. Functionalities wise we wanted the swerve drive base to drive on to the structure and the T shape to hook underneath the swerve drive base wheels. We chose a T shape to accommodate the locations of the wheels of varying drive bases. ![Buddy Climb](../../images/2023/Week2/cadBuddy1.png) *CAD and prototype of buddy climb* Polycarbonate was also added to the buddy climber prototype for stability and better testing results. ![Buddy Climb](../../images/2023/Week2/cadBuddy2.png) *2nd itteration of buddy climb* Video: https://drive.google.com/file/d/1M8oEwEvdnluFsA1Wh9ukeqFCu9yDInEV/view?usp=sharing ### Cone Runner We wanted to focus on ground intake and created a cone runner design and a single angular ground intake design. ![Cone Runner](../../images/2023/Week2/cadConeRunner.png) *CAD model of cone runner design* ### Swerve Bumpers After testing dimensions with a current swerve drive base docking and engaging we completed the swerve bumper design with technical drawings from those dimensions. We wanted to make the process of taking off bumpers and putting them back on as easy as possible. We went with a pin design with 4 c-channel mounts with two on opposite sides. ![Drawings](../../images/2023/Week2/cadBumper1.png) ![Drawings](../../images/2023/Week2/cadBumper2.png) *Screenshots of the drawings for our swerve bumpers* This swerve drive was previously used during the off season of 2022-2023 and now with season we had to make a few changes with the handlebar placement and crossbar placement for the future design this is to model potential configurations but is not final. ![Swerve Handles](../../images/2023/Week2/cadHandles1.png) Then we created a structure for the cone runner to mount on that is 4 inches tall and 11 inches wide. ![Swerve Handles](../../images/2023/Week2/cadHandles2.png) ### West Coast Bumpers Moving on to west coast drive base bumpers, we completed the first design and started on technical drawings. Again, using c-channel for a pin attachment like the swerve bumpers design. Changed the c-channel placement and the wood lengths. ![Drawings](../../images/2023/Week2/cadWC.png) *CAD model of West Coast bumpers* ## Manufacturing ### TM-1 Cleaning The manufacturing subteam set up a 3D printer with TPU filament and another with Nylon X to test the usability of the various materials. We printed a test belt with the TPU, which proved to be successful. We also reorganized and lowered our stock rack so that we could add more shelves and create a more efficient storage area for manufacturing. Furthermore, the side guards on the TM-1 were removed in preparation for the elevator bar. The TM-1 vises and work surface, as well as the side guards, were vacuumed and cleaned with oil. ![TM-1](../../images/2023/Week2/mfg1.png) *A close-up of the tidied bare TM-1 work surface. * ![TM-1](../../images/2023/Week2/mfg2.png) *A full shot of the TM-1 with its guard railing removed.* ![MFG](../../images/2023/Week2/mfg3.png) *A selfie shot of the people who busted their butts and worked through approx. 10 machine cloths to get this baby nice and shiny.* ![TM-1 part](../../images/2023/Week2/mfg4.png) *A full shot of our cleaned guard railing with its screws and washers (for connection to the TM-1) taped on to ease reattachment + the tips of my feet (how scandalous). * #### Gussets & Bars At the beginning of the day, half of the manufacturing subteam helped disassemble the hangar from last year’s game while the other half reviewed the completed elevator CAD drawings. After some modifications in the gussets, the drawings were approved for manufacturing. The parts were first divided into which CNC mills they would be manufactured on and then divided into groups regarding their plate thickness (gussets). We completed all of the bar CAMs and are almost done with the gusset CAMs. The stock was also cut in preparation for facing (bar length + .25 in). ![Gusset CAM](../../images/2023/Week2/mfgGussetCAM.png) *Picture of the completed CAM for the .125 gussets* On January 16th, the manufacturing subteam began facing the remaining bar stock and finalizing the CAM for the gussets. However, there was some miscommunication regarding the thickness of the gusset plates, so the gussets were reCAMed. However, the original .0625in plate gussets (P407 – qt8, P408 – qt4, P414 – qt2) were completed by the end of the meeting and bandsawed off the plate. 4 bars were completed by the end of the meeting (P401 – qt2, P406 – qt1, P409 – qt1). ![Gusset CAM](../../images/2023/Week2/mfgGussets.png) *Completed plate with corner gussets - P407, bot motor gusset - P408, and backrest gusset - P414* ![Bars](../../images/2023/Week2/mfgBars.png) *Completed bars (base up bar - P401 , carriage beam - P406 , bot rail – P409)* On Thursday, all the bars for elevator (except for top support rail) were completed and the mini mill was set up to run the remaining .0625 parts. During a worktime of approximately 90 minutes, manufacturing sanded and buffered the previously manufactured gussets. They were then chamfered on both sides, but the team then found that the reaming program for the gussets were too shallow and did not allow for some holes to fit a rivet. To ensure that all holes could be riveted, we deburred the faulty holes. However, we discovered our error in the CAM when the bottom height of the reamer was due to the program not acknowledging the reamer tip in “drill tip through”. Thus, in future parts, we have fixed this issue and the reamers fit. ![Gusset](../../images/2023/Week2/mfgGussets2.png) *Our completed sanded, buffered, and chamfered gussets.* One sheet of .0625 gussets were manufactured with the intent to be doubled to .125 gussets (as we had run out of 1/8 alum sheets). Members learned how to bandsaw round edges of the gussets through relief cuts. However, due to the change in CAD design, manufacturing gussets was put on hold. Instead, we CAMed a program to drill shoulder screw holes into new 1/16 sheets of aluminum so that they could be manufactured on our tooling plate. ![Members](../../images/2023/Week2/mfgMembers.png) *MFG members hard at work* Gussets for another swerve drive were CAMed and dry run on the mini mills, but not manufactured due to a shortened meeting time. #### Organization of Stock Rack ![Stock Rack](../../images/2023/Week2/mfgStockRack.png) *Reorganized stock rack* ## Programming ### Vision Group This week, we learned that there are two methods of determining the robot’s distance from the april tags using the Limelight. The first method uses the angle and the height of the camera along with the angle and height of the april tag to determine the distance from the camera to the target. It also uses the angle from the Limelight to the target which is the value that is changed to help determine the distance between the Limelight and april tag. However, if the numbers were slightly off, then the distance would be changed exponentially. That is why we decided to go with the second method that uses the area of the Limelight which the target takes up. To do so, we had to find an equation to determine how the area of the target relates to the distance between the Limelight and the april tag. We tested the turning using the pitch received from the Limelight, and it was successful ### Auto Group First, we continued testing the drive and claw functionalities of the prototype bot. For the sides of the drive base that had an unused motor, the motor current ramped up to around 178 amps. The removal of the motor resulted in the motor current ramping up to only around 30-40 amps, which is a safe amount. Next, we tested autos that drove straight and faced a certain angle using a NavX, but they need further PID tuning. We have also tested several buddy climb iterations. There were some successful trials; however, the swerve drivetrain was unable to stay on the buddy climb for most trials. ### Swerve Group This week, we worked on adding smaller features to our codebase. First, we transferred some of the swerve commands we had written, such as turn to angle using the gyroscope and charge station balancing, to be compatible with a west coast drivetrain, as at this point, we were not sure which drivebase we would be committing to. After that, we worked on adding logging to the robot, first testing using the [WPILib DataLog framework](https://docs.wpilib.org/en/stable/docs/software/telemetry/datalog.html) on a testbench, and then writing code to implement it into our subsystems. We hope that this will solve some of our slowdown issues from last year, when we used [BadLog](https://github.com/dominikWin/badlog) for logging, as DataLog does I/O operations on a separate thread, which should reduce slowdown. ```java public static void init() { // Old logging code createTopic("LeftMaster" + "/Voltage", () -> robotContainer.drivetrain.leftMaster.getMotorOutputVoltage()); createTopic("RightMaster" + "/Voltage", () -> robotContainer.drivetrain.leftMaster.getMotorOutputVoltage()); createTopic("RightFollower" + "/Voltage", () -> robotContainer.drivetrain.rightSlave.getMotorOutputVoltage()); createTopic("LeftFollower" + "/Voltage", () -> robotContainer.drivetrain.leftSlave.getMotorOutputVoltage()); createTopic("LeftMaster" + "/Current", () -> robotContainer.drivetrain.leftMaster.getMotorOutputVoltage()); createTopic("RightMaster" + "/Current", () -> robotContainer.drivetrain.leftMaster.getMotorOutputVoltage()); createTopic("RightFollower" + "/Current", () -> robotContainer.drivetrain.rightSlave.getMotorOutputVoltage()); createTopic("LeftFollower" + "/Current", () -> robotContainer.drivetrain.leftSlave.getMotorOutputVoltage()); ... } @Override public void robotInit() { // New logging code (logs everything from networktables) DataLogManager.start("/lvuser/logs/"); DataLogManager.logNetworkTables(true); ... } ```