FRC Team 972
Building Robots, Building Engineers
The FIRST Robotics Competition game for 2017, dubbed FIRST STEAMworks, involved delivering gears to a mock-airship to fix it, shoot whiffle balls into boilers to fuel it, and climb up a rope to prepare for it to take-off.
After analyzing the game and its rules, we decided that our strategy would be to focus on shooting the balls into the boilers and climb the rope at the end of the match. From this strategy we created and tested prototypes, developed a design using Computer-Aided Design, manufactured parts, and eventually assembled the robot. All the while, the programming team wrote and perfected the code.
By the time build season had ended, however, we realized that it would not be feasible to get our fuel-shooter to be consistent enough by competition to score effectively. We decided to retrofit our robot to become a gear-delivering robot, which was both a more feasible design and a far more effective strategy in earning points. Though our robot was bagged at the end of build season, we created a gear intake and holding mechanism separately before competition.
Despite this dramatic redesign, we rose to the occasion and ultimately fielded a robot that was extraordinarily competitive. We placed seven places higher than last year at the Central Valley Regional and even more impressive, we were chosen as the first pick of the eighth-seed alliance to progress to quarterfinals at the Silicon Valley Regional.
Now that it’s the last week of build season, we have finally finished (most of) our robot and put it in a bag for competition! We are machining the last parts of our shooter, gear mechanism, and the shooter feeder. The electrical board is completed and mounted onto our drive base, and the superstructure consisting of all our mechanisms has yet to be completed and mounted on top of the drive base. Programmers are continuing to work on PID and vision, and the shooter code now has 75% to 80% accuracy whilst shooting fuel into the boiler.
Our shooter prototype testing recently-programmed vision and PID.
The mechanical team has completed the intake system and the hopper this week, and is now machining final parts to complete the shooter, shooter intake, shooter feeder, and gear mechanisms. We brought in a 3D printer so that we can printgears and an adjuster for our shooter. Though we had low attendance due to weather, the mechanical members who were able to attend, are also working on welding and CNC machining (computer numerical control machining) brackets for our robot signal light, or RSL. The RSL indicates whether our robot is on, enabled, or off. Our robot’s hopper, made out of polycarbonate, is designed to hold approximately 55 balls. While the hopper itself is completed, we are also working to incorporate a feeder into its design, consisting of two brushes facing vertically upwards that feed balls from the hopper into the shooter. The mechanical team is working on building the feeder and mounting the feeder onto the hopper by the very end of this week.
Jake Caligiuri overlooks the 3D printer printing gears.
Programmers have been working on networking with the Jetson TX1 and motion profiling with the IMU. Control systems tuning has allowed for our shooter’s accuracy to increase to 80%. Because not all mechanisms have been completed, the programmers have been testing and deploying code onto prototypes that the mechanical team has completed last week. These prototypes are built as similarly in size and shape to the real mechanisms by reflecting the CAD. Hence, the code can be finalized with the needed measurements of the robot, such as distances and proportions.
Programmers test shooter code deployed onto the prototype shooter.
The electrical team completed the electrical board this week, and are now helping out in both mechanical and programming. At first, there were issues with wire lengths, and several wires had to be spliced and lengthened so they could reach motors from the electrical board. After soldering wires together to lengthen them, the splices were covered in heat shrink to smooth out the wire as a whole. The lengthened wires allowed for easy connection from mechanisms to the electrical board, and with this, the board was finished.
Brian Cruz guides a new member in mounting the final electrical board onto the chassis.
We are nearing the end of build season, and have completed the fully functional chassis and drive train. We plan to get our super structure done next week and get some driving practice in as well.
Alex Lee grabs materials from the robotics cart holding last year’s robot
Our super structure consists of a hopper to hold fuel, an intake system that leads 5 fuel balls at a time into the hopper, and a high goal shooter. We also have a simple gear manipulator to use during the autonomous mode of the competition. We have decided on the high goal shooter because it is an efficient and more unique way to gain points, and it is most likely to be compatible with our alliance partners, assuming that most teams plan on having gear-focused robots.
Andy Sheu lectures on the specifics of the robot’s program
Programmers have nearly finished the autonomous program of the robot. We plan to have our robot drive forward, place a gear into the airship with a passive gear system, and turn around to shoot a ball into a boiler, all without any of the drive team putting their hands on the drive station. The electrical team has completed the electrical board and it is set up on the robot to be conveniently under the hopper for easy access if we need to fix an electrical issue in between matches at competition. Our electrical board is labeled and the wires are organized and grouped together with zip ties to keep the system organized, so that anybody modifying the electrical system can do so quickly.
Justin Quan installs the electrical board on our new robot’s chassis.
As a precaution we are designing a backup plan to enact in case our high goal shooter fails. A proposition for this includes a passive gear system. However, we are more likely to continue in our current endeavor than divert our focus on this secondary plan. By the end of week six we hope to finish our hopper, intake, shooter, and climber.
Brian Cruz strips and crimps wires to be put on the electrical board
Amidst the build season frenzy, we will be exhibiting last year’s robot at a local elementary school’s science fair to inspire the next generation of engineers. We hope that this will spark the creativity and imagination of these younger students, and that we will demonstrate how with a bit of time, teamwork, determination, and amazing mentors they can accomplish anything. When they see this robot we hope they will join robotics and take an interest in STEM.
We are over half way done with build season, and we have made a lot of progress. The CAD team has finished the CAD, and is adding final touches to the design. The programmers are continuing to learn and practice advanced forms of code, and are now preparing code for our newly-built electrical board.
Paul Rubino adds finishing touches to the CAD
Our mechanical team has acquired all of the metal necessary to build our bot, and we are waiting on the prototype team to tweak and perfect the completed designs. The CAD team has completed the CAD since last week, and is currently adding minor additions such as screws and bolts to the design. They are also going through the useful and critical processes of stress analysis. In Autodesk Inventor, the CAD Software, they are utilizing a built-in tool to measure which parts of the robot may be experiencing the most tension and stress, to determine components that are mostly likely break during competition. After measuring the stressed portions, the team adds extra support to the vulnerable areas in case the robot experiences any bouncing and bumping while driving. The stress analysis feature takes into account force, static structure, and pressure of or around the robot. Our robot chassis has been built, and through that, the programming team is able to test code that fits our robot’s design.
Gautam Prabhu teaches other members how to place the wheels onto the chassis with the newly-broached sprockets
The programming team has begun testing the drive code on the actual chassis. Knowing the size and weight of the robot through the CAD, and now the physical chassis, the programmers have received a better idea of the values needed for the speed controllers, IMU, PID, and more. The electrical team has started wiring the final electrical board, and is regulating where wires may be organized in accordance to the chassis. While the robot’s CAD was still being designed, our team members took the accessibility of the electrical board into account, so it currently lays flat on our robot’s chassis under the superstructure.
Ben Coe teaches underclassmen how to use the lathe
By next week, we hope to have completed our superstructure. We wish to reserve our last week for practice driving, as we want non-veteran members to be participants of our drive team this year.
As Week 3 comes to an end, the team has nearly completed prototyping and CAD, and is now preparing to assemble mechanisms for our final robot. By testing using our recently-made prototypes, we have made design changes to ensure the optimal integration of mechanisms and overall efficiency of this year’s robot.
Isabella Gueth welds for the first time!
Quentin Leon explores possibilities of vision and PID programming.
Programmers are currently using our kitbot, a basic practice bot, to test code for the final robot. The programmers have started work on PID, which is a control loop feedback mechanism which corrects minor errors in movement inherent to the system to allow for more precise alignment and shooting. The programmers also intend to use a gyro and accelerometer on this year’s robot, allowing the robot to simply drive or shoot to a certain distance based on an angle input into the code. This allows for a reliable programming plan for the intense 15-second autonomous period in the start of the match.
Harrison Van Der Walt and Jacob Snyder machining prototype parts.
The CAD team is finishing up the CAD for our robot. For the past week, the design team have been working non-stop and have been teaching new members CAD to contribute to the final design of our robot. Team leads have been busy ordering and buying essential materials. With your generous donations, we’ve bought nearly everything we need for our custom electrical board, sufficient metal to construct the robot, and various other components necessary to our robot’s design.
Thank you all for your generous donations that have allowed us to build not only our robot, but also our team!
It’s officially week two of build season, and we’ve switched gears (no pun intended) from deciding which robot to build to actually designing and fabricating our robot. Programmers have begun programming basic code, such as our drive code, and have been assigning roles to certain electrical parts and mechanisms. Our mechanical team continues to use CAD (Computer Aided Design) to design our robot digitally.
Jake Caligiuri works on a rough CAD of our robot’s chassis
Ben Coe designs a gear-manipulating mechanism
We’ve decided to use a West Coast (or tank) drive train on our robot, using two joysticks to control it. Our mechanical team continues to finalize prototypes, and we are now perfecting mechanisms we wish to use on our final robot. The CAD team is deciding how these systems will be placed on our robot so we have optimal mobility and minimal weight. Various CADed robot ideas will be finalized this week and we will have a roughly completed CAD of our robot by the end of this Saturday, 1/21/17.
Justin Quan programs the IMU (inertial measurement unit) on our robot used for testing (the kitbot)
Talal Sohail closely investigates the electronics on our kitbot
The programmers have begun writing basic drive code, vision/camera code, imputing values for joystick buttons and sensors, and testing programming techniques like toggle code to use in the upcoming weeks of build season. The programming team, along with the mechanical team, has been using the kitbot (our practice robot) to test various codes and mechanisms. The mechanical team uses the kitbot to test pneumatic systems for our finalized and sophisticated prototypes, while the programmers use it to test their drive code, camera code, and sensors. The electrical team is working closely with the programming team to test new sensors and to ensure we know how we’re going to use them on our final robot.
This is the first of six weeks in build season, which is the period we have to design, program, build, and test our robot for competition. We made several prototypes of potential mechanisms our robot could have to compete effectively in the game, including a low goal shooter, high goal shooter, fuel and gear intakes, gear manipulator, and rope climber.
Week One Kickoff Breakfast
Team members discuss prototype ideas for gear manipulation
Team members form groups to discuss prototype ideas
Both veterans and new members gathered together for a team brunch at school! We arranged this meeting to watch the game release video of this year’s FIRST Robotics Competition together. Some members gathered together to discuss ideas and begin prototyping possible robot mechanisms. The fundamental prototype to our team’s manipulation of balls is an intake system to pick up balls from the ground to place in our robot. Part of this year’s FRC Competition, 2017 FIRST Steamworks, includes picking up wiffle balls (“fuel”) from a hopper or the floor to score into a goal in a boiler. Our current intake system consists of rotating belts that glide along the floor and pick up the balls, which are then placed in a holder in our robot.
To make use of the balls retrieved by the robot, we developed a protoype for a ball ejecting system to score into the low goal of the boiler. Our prototype mechanism was made to eject balls that have been picked up from the ground using our ball-intake system. After our intake system successfully picks up fuel from the ground, the fuel is transported into a holder within our robot, and finally shot out with fly wheels when our robot is in front of the low goal.
In contrast to the low goal prototype, we also created a prototype of a high goal shooter. The high goal is a funnel-shaped pipe whose rim at the top of the boiler is approximately 8 feet above the ground. The pipe is backed by a net to catch any stray balls that may miss the entrance of the goal. Teams must shoot 3 high goals to score one match point during the teleoperated period. Although this is more complex than a low goal shooter, it is more efficient than shooting low goal, which requires three times the number of goals for the same amount of high goal points.
This year’s competition end game involves the robots climbing a rope about 4 feet off the ground and having the robot touch a touchpad at the top of the rope, at which point the robot is prepared for takeoff. This climbing prototype was created with a bar and 4 long and thin pegs spaced apart 1.5 inches. The pegs and rotating bar allow for a rope to get caught, and continue rotating so our robot is hoisted up while the rope is coiled during the endgame.