Winning the 2010 FRC Championship

FIRST (For Inspiration and Recognition in Science and Technology) was founded by inventor Dean Kamenin 1988 and now is a worldwide organization with the mission of changing our culture. Dean observedthat we become what we celebrate so he founded FIRST to inspire our youth to pursue education andcareers in science and technology. FIRST generates excitement by using the sports model of a competitionfor robotics. The FIRST Robotics Competition (FRC) for high school students is the highest level of FIRSTcompetition. FIRST Lego League (FLL) is intended for ages 9-14, and Junior FLL is intended for ages6-9.

FRC robots must be designed to play a new and different game every year, unveiled at the annual kickoff,generally held on the first Saturday in January. After the unveiling of the game, student teams havesix weeks to design, fabricate, assemble, program, and test their robots. The robots must be lockedin their shipping containers and delivered by the deadline, or the team does not compete. This year,over 2,000 FRC teams from around the world met that deadline. The flags of 31 nations were flyingin the Georgia Dome at this year's Championship.

Introduction

This year's game is called Breakaway and is described by this video,created by Dave Lavery of JPL. Dave is one of the members of the FIRST Game Design Committee. Hislicense plate frame reads "My other car is on Mars." That's Dave's voice narrating the video. The gameis documented in detail by written rules for the construction of the robot and the playing of the game.

Robots this year can be no more than 36 inches long 28, inches wide, and 60 inches high, in theirstarting configuration. They can expand out of this envelope during the "finale" portion of thegame (last 20 seconds) or some other conditions. Robots must have bumpers on all four sides about10 inches off the floor so they don't interfere with the regulation soccer balls that are a littleover nine inches in diameter. Robots can weigh no more than about 150 pounds including battery andbumpers.

This year's 294 build season is documented here,and links to this year's competitions are here.

Community Outreach

The values of FIRST emphasize that the competitions are not just about the robots, but about thefuture and our role in cultural change. Beach Cities Robotics is about the development of ourstudents: not only how we inspire them about the importance of science and technology, but also abouthow we empower them to reach out to the local community to spread the word about FIRST. This is donethrough various outreach activities, including robot demonstrations at high school, middle school,and elementary school events such as back-to-school nights and "science nights." Students makepresentations to local businesses and solicit contributions, including in-kind (food and services)and monetary.

Students are active in recruiting team members from the schools' student bodies by participatingin club day and other high school events on campus. Our students are trained in our workshops inpublic speaking by a professional trainer who volunteers her time so our students can give effectivepresentations and are well spoken when talking with news media people.

Our award-winning FLL team brings students into the FIRST culture at a younger age and gives thempractical training in robot development and programming that will serve them well when they graduateto the high school FRC team.

System Engineering Process

We teach the students a full blown system engineering process. First, we study the rulesand understand the game. Then we analyze the game to determine what kind of robots will be alliedin winning partnerships, and what role we want to play in those winning alliances.


After the kickoff video broadcast, the students and mentors study the rules.

On the day of the kickoff, we simulated the gameusing students acting as robots on a field contrived from the outdoor furniture available at thekickoff venue. Each student robot was assigned one or two capabilities (grab, kick, move the ball)and virtual (as in a chess game) time was used. On each beat of the clock, a student would performa featured action. This allowed us to get a sense of what was important in winning a game.


Students simulate the game to get a feel for strategy.

From our analysis of the game we concluded that the game would be decided on the midfield, where allscored balls are returned by the ball return mechanisms. A good midfielder robot would be able to getto a ball quickly, grab it easily, and kick it into the near scoring zone, preferably directly into agoal. We also wanted enough flexibility to be able to score in the near zone, and to start in anyof the three zones with an effective autonomous mode. Our preferred starting position was in thefar zone, where we would autonomously kick three balls into the near zone goal, and then climbover the bump into the midfield, ready to grab the returned balls.

In deciding the robot design we had to do some down selection. First after studying thegame using the simulations, etc., we had to decide on what type of robot we wanted to build. This led us to a decision to evaluate three distinctly different robots. Essentially the studentssaw that there were different roles that a robot could fulfill. We could have built a striker (nearzone scoring robot), a midfielder, or a purely defensive bot. The students listed the featuresthat would be needed to build a successful robot for each role. For each role the students listedthe features that were needed for that robot. For example the defensive robot needed a large kick,it needed to be able to go over the bump, and it needed lots of traction. The stiker needed only asmall kick, it needed to be fast, and it needed good ball control.

The students then needed to decide what role we wanted to play. Based upon the simulations thestudents figured the smartest strategy was to design a midfielder robot. While providing versatilityto play both offense and defense, it also had the most features of the three roles. From there wewrote down to the feature list that we thought would make a perfect robot to fulfill the role.This included good ball control, multi-zone traversal, hanging, dual zone ball kicking, good mobilityand good wheel torque (for pushing other robots and resisting being pushed). Due to manpowerconstraints and design limits, the students voted that the lift would be removed from the midfielder. We felt that with the amount of students we had we could meet the other requirements that we had written.Thus was born the midfielder design we wanted to achieve.

We made a conscious decision not to include a hanging mechanism because we knew we would have a massproblem, and the added complexity would tax our design, fabrication, and assembly resources. We alsofelt that in the last 20 seconds of a game, while other robots were hanging, we could probablyscore one or two balls.

We created a schedule for the six week build period. We wanted to have initial robot designsdone in the first two weeks to start fabrication of some critical parts, to have all design doneby four weeks, and to have assembly completed by five weeks so we could turn the robot over to theprogrammers for software testing. We generally met those goals.

We built two copies of the robot so that after we shipped the competition robot, the drive teamcould practice, the programming team could experiment with software, and we could prototypeimproved mechanisms. We were allowed to withhold 65 pounds of mechanism from the robot shipping crate.

Design Phase

We had a matrix of robot features and associated utilities and costs for each feature. For example,a ball grabber has a high utility and a moderate cost (complexity and mass). The entire teamdiscussed and voted on the robot configuration. We did trades on the size and number of wheels,settling on a six-wheel design with which we have extensive experience. We minimized the wheeldiameter to seven inches (six inches was too small, eight inches led to a shorter wheel base anda higher center of gravity).

The entire robot was designed in Autodesk Inventor, a 3D solid modeling comuter aided design (CAD)program. Due to our summer workshops and fall training programs, we have at least six studentsproficient in CAD, and every part was designed and a part drawing was produced before fabrication.We have access to four computers that are CAD capable, two destop computers and two laptops. Wehave a file server for coordinating the design on the several machines. The drive base design wascompleted first, with envelopes and interfaces for kicker and grabber mechanisms. This allowedus to begin drive base fabrication before kicker and grabber detailed designs were complete.

Prototyping

For each of the features (ball handling and kicking), there are several ways to approach the design, so we built prototypes to evaluate them.For example, a kicker can be built with pneumatics, stored energy spring, or with electric motordrive. We built several wooden prototypes of stored energy kickers using surgical tubing as anenergy storage medium, and several wooden kickers with various sizes of pneumatic cylinders atvarious pivot radii. We wanted to be able to kick the length of the field (without a bounce in themiddle zone) so that we wouldn't have to worry about objects in the middle zone (such as ballsand robots) getting in the way. We found that only a stored energy kicker could give the kickvelocity we needed. This led to a fairly complex and heavy design, so in retrospect, our decisionnot to add a hanger was a good one. We needed the mass reserve.


Students test a prototype kicker.

We finally settled on a four bar linkage,which had the most consistent results because the angle of attack on the ball is held constant.


Four bar linkage prototype.

We prototyped a vacuum system that would be able to suck the ball into the correct spot. Due totesting limitations we were unable to get a fully functional ‘sucker’. We also tried rollers. Thekey experimentation with the roller was the grip, the torque, and location the roller was in.We built a prototype that allowed the different variables to be tuned. Material was varied usingdifferent rollers. The power was adjusted in a cordless drill to modify the speed/torque. Finally,the height was adjusted to simulate contact at different ball heights. From the testing wediscovered one of the most important things that carried through even to the pincher design.This was the nee for a backstop to prevent the ball from being sucked in too far into the robot.The backstop provided a means to never violate the three inch rule (that limits ball penetrationinto the frame perimeter). The prototype testing also let us determine the gear ratio that weused in the robot's roller gearbox. This was done by looking at the gearing and rough free speedof the drill. We then matched gearing to properly accommodate a CIM motor.

Grabber

A good kicker without a good ball grabber is not very useful, because to kick accurately, theball must be held at the proper position. The rules allowed the ball to penetrate three inches intothe frame perimeter, and the kicker could extend 2.5 inches outside the frame perimeter for up to twoseconds, allowing 5.5 inches of kick engagement with the ball. We made several roller ball grabber prototypes,which spun the ball backwards so the ball will stay with the robot when backing up and turning.A grabber is also useful for getting balls against the sides of the field and bumps. We foundthat when installed on the robot that the hard roller could often bump the ball away from therobot when engaging at speed, so we improved the design with a softer "brush" configurationmade with nylon zip ties clipped to 2.5 inches and dipped in rubber tool grip friction material.We used that roller for our win at the San Diego Regional FRCbut found that it was shedding zip ties when reversed (for releasing balls when pushing themdirectly into a goal), so we came up with a new design before the LA Regional FRCwhere we were finalists. The new design had a much more positive grab, and allowed us to implementa head up display (HUD) for the co-driver to indicate when the robot had the ball. In manycritical situations, the bumps hide the balls, so this was a very important addition. We put an LEDin the corner of co-driver's safety glasses that would light up when the grabber had the ball.


Improving the grabber at the San Diego Regional competition.

The new grabber used a small diameter friction roller driven with a friction clutch so that themotor would continue turning, but the roller would stop and hold the ball statically. When thathappened, motor current would increase, causing the computer to send a signal to the driver's stationto give the LED indication. We won the Innovation in Control Award at the LA Regional for our grabbersystem.

Kicker

The four-bar linkage kicker had a wide ball interface beam to allow kicking a ball from anycontinuous position in the front (about 14 inches wide), and allowed the kicking of two ballsat once, which happened occasionally. The rules prohibit controlling more than one ball at a time, butallow kicking two or more. Using a stored energy kicker also allowed us to continuosly vary thekick energy by computer control.

The kicker was pulled toward the front of the robot by elastic material with about 80 pounds ofpeak force. To energize the kicker, it was pulled back by a cable and winch driven by two electricmotors through a reduction gearbox. Two motors were used to increase the speed of energizing betweenkicks. The kicker would be held in the energized position by a ratchet and pawl controlled by apneumatic cylinder. To release the kicker, the pawl would be pneumatically disengaged after thewinch was reversed to give slack. It was a fairly complex method, but computer control allowedthe co-driver to operate it with a fairly simple interface, made possible by the feedback sensorson the kicker. We used two limit switches and an encoder. The limit switch on the front woulddenote a zero location to return the kicker to the same time. This was only used in debug/postmatch. The back limit switch prevented the kicker in over ‘arming’ and breaking itself. The encoderon the kicker gearbox would then be used to define the exact location in the ratchet to which the kickerwas being armed.


CAD image of the kicker assembly, courtesy of Peter Johnson. The pneumatic cylinder is the trigger.

The co-driver would press a button to set an energy level, near, medium, or far. The winch motorwould then drive the kicker to that position of pull-back. The co-driver could change the settingany time up until it was armed. When he was sure he was ready to kick, the co-driver would hit thearm button which would engage the ratchet pawl and relax the winch cable (managed by a take-upspring system), and enable the kick button.

We used black surgical tubing as the energy storage medium for the kicker initially, but, afterthe San Diego Regional, we changed it to a set of flat rubber sheets to get more energy (higherenergy density) for a more powerful kick.

Before the FRC Championship in Atlanta, we improved our kicker by strengthening the ball interfacebeam, and reducing the kick angle from 45 degrees to 20 degrees for a flatter kick to make iteasier to hit the goal at close range. Hitting the goal at a low height was important because thechains hung across the goal would reject balls hitting the goal opening higher up.

During robot development, we had some trouble getting the kicker to work at all. The ratchet and pawlwas not the first design, which was to utilize a dog gear/clutch to allow the kicker gear box tobecome decoupled with the kicker mechanism. The problem was that we were afraid that the hightorque loads on the dog clutch would prevent the pneumatic piston from pulling the clutch out.To mitigate this we moved the clutch further into the gear box, which was a fatal flaw because oncethe dog was released all the stored energy was then transmitted into the rotation of all the gearsin the gearbox, making the kick very weak. The ratchet and pawl were then designed as fix to allowkick variability even if it locked into a single kick strength once armed. The ratchetsystem worked beautifully.

Fabrication and Assembly

Our wheels were the first component to have a completed design so they were the first parts to befabricated. Our wonderful sponsors and volunteers at Northrop Grumman machined our wheelsfor us. We needed a dozen wheels for the two robots with a few spares. There were two types of wheels,the center motor-driven wheels and the chain-driven wheels. Other sponsors who contributed fabricationlabor to the team for various robot parts include Todd Mendenhall and GKN Aerospace.


Wheels machined by Northrop Grumman volunteers.

The next design to be completed was for the drive train side plates.Each robot had four identical plates. We used forward-aft symmetry to minimize NC machine setup time.The 1/4 inch thick plates were pocketed for lightening with a sixteenth inch web.


Side plates machined by Northrop Grumman volunteers.

Two side plates were used to hold the three wheels and chain on each side. The two sides were held together with transverse memberswelded by a volunteer at Northrop Grumman (Mike Utley). We had two partially assembled drive basesin week five. We had a fully assembled and running drive basein week six. The drive base has a two speed transmission, shifted pneumatically, under computer control.Our student team captain, Ryan Sharp, arranged for a sponsor to donate annodizing, so the aluminum parts were anodized blue and orange,the team colors.


Transverse members welded by Northrop Grumman volunteer Mike Utley.

For the twelfth consecutive year, Beach Cities Robotics designed, built, and shipped a competitive robotin six weeks!


Team with partially assembled drive bases.

Programming and Test

This year's kit included the CMU color camera and software library (shape recognition and localization),as it has for the last three years. The software library allows the detection, direction, and ranging ofthe circular visual targets above each of the four field goals. We mounted the camera on our 2006 robotfor testing of these features, and were able to calibrate range and direction for targeting our kicks.However, in the final robot design, we used dead reckoning for autonomous kicking.That is, the robot has a priori knowledge of its starting position and the ball locations, andit has sensing of the ball grab, so the autonomous program was fairly simple. The robot moved forwarduntil it detected ball engagement, kicked, and continued to the next ball. We autonomously kicked threeballs from the far zone, or two balls from the near zone, at optimal energy for scoring goals in bothcases.


Parts were anodized blue and orange.

The teleoperation user interface consisted of joysticks for the driver (tank steering) and a joystickwith various switches for the co-driver for operating the grabber and kicker. The driver also had aswitch for shifting from low to high gear and vice versa. The grabber can be turned on and off andreversed for ejecting the ball when pushing it into a goal. These operations were software controlled.The kicker winch used an encoder so the motor could drive the winch to a preset position using astandard PID (proportional, integral, differential) algorithm. These presets were arrived at by trialand error during testing.

The co-driver had 3 buttons for selecting different kicker strengths. One of these buttons wasfortunately also the zero position. The co-driver also had buttons to arm the kicker (engaged the ratchet and unwind the winch to the fully unwound position) and fire it. Software interlocks prevented firing before the cable was fully unwound (this was the cause of several cable breaks in our first practices). The codriver also had buttons for adjusting the kicker strength by a single ratchet tooth up/down and a manual override which allowed driving of the winch directly (overriding the PID control) using the vertical axis on the joystick. The rezeroing limit switch feature was used only during manual drive of the winch.

Ball detection in our intake was determined via internal current sensing on the Jaguar, read via CANbus. Due to the clutch, the current was significantly higher (30A) with a ball than without (4A). The currentdraw ended up being a significant drain on our batteries, so we added a timeout that would reduce motorpower on the intake when stopped or driving forward after the ball had been detected for 1 second. The motor power was just sufficient to turn the CIM (instead of stalling it) and resulted in a currentof around 20A in the low-power mode.

Scouting, Strategy, and Competition

The fact that the game is played by alliances (red and blue) gives added dimensions to strategy,including a political one. A competition consists of a series of qualification matches in whichthe alliances are more or less randomly assigned (certain constraints in the assignment algorithmpreclude teams from playing matches too close together in time, for instance). Each team carriesforward the points (a summation) that the alliance achieves. At the end of the qualification matches(each team plays seven to ten, depending on the competition), the eight top seeded teams are allowedto choose their two alliance partner teams. This is where the politics comes in. A team may choosea team it feels it can work with better, rather than considering only the strength of the robot anddrive team. Also, teams may choose alliance partners that complement their playing strengths andweaknesses.

We were top seeded in the Newton Division at the Championship competition. It was extremely importantthat we pick good alliance partners. If a team declines to accept an invitation to join an alliance,it may not accept another invitation. This applies to alliance captain teams, which lose theircaptain status if they accept an invitation from a higher seeded team. Therefore, before choosingteam 67 (The HOT Team, Michigan, seeded second) as our first pick, we needed to approach them to assesstheir intentions before taking the field for alliance partner choosing. The order of choosing is"serpentine," that is, the order for alliance selection is 1, 2, 3, 4, 5, 6, 7, 8, 8, 7, 6, 5, 4, 3, 2, 1to try to balance alliances. In other words, the top seeded team gets the last second pick. That meansthat we needed a very good understanding of the strengths and weaknesses of the available teams (86teams total in the Newton Division). The only way to get that information was for our scouting subteamto observe the robots on the field during the qualifying matches.

We had six students on the scouting team with two relief students, advised by the scouting mentor, theauthor of this article. The scouting team captain was Matt Steiger, a student at Mira Costa High School.The six students used laptop computers to record data about robot performance (balls scored, etc.),one for each of the six robots on the field at a time, recording data for all the qualification matcheson Thursday and Friday. We held a meeting Friday night to compile the data and discuss it with therest of the team, and make our recommendations in the form of two lists of midfielder and "striker"(near zone scoring) robots.

We decided that the winning alliance would have two midfielder robots (like ours) and a thirdmidfielder or striker (assuming that most good midfielders were also good strikers). As it worked out,team 67 accepted our invitation to join our alliance, and team 177 (Bobcat Robotics, Connecticut)turned out to also be a good pick.

Conclusion

We first won the FRC Championship in 2001. After nine years, we have won it again. But it's not justabout the robots. It's about teamwork, and about learning skills such as computer aided design (CAD),engineering calculations, fabrication, assembly, algorithms and programming, management, fundraising,community outreach, and all those things it takes to compete and win with gracious professionalism.

Beach Cities Robotics continues to work to achieve the goals of FIRST in changing our culture tocelebrate achievement in science and technology, and to inspire youth to pursue careers and educationin math and engineering. This is demonstrated by the fact that in the last eight years, 100% of ourgraduates have gone on to pursue college education.

Acknowledgements

I wish to thank UC Berkeley Professor Ken Goldberg for suggesting the writing of this article. Andrea Wagner (team coordinator) proof read the article and provided valuable comments. Naturally, it goes without saying that this article wouldn't be possible without the awesome team 294 itself, with all the hard work in designing and building the robot, with all the long hours by our students, mentors, and sponsors. In particular, students Ryan Sharp, Anton Schuetze-Coburn, and mentors Andrew Keisic (lead technical mentor), Peter Johnson, and Ken Sterk, were instrumental in producing the Championship winning robot. Ken and Peter also contributed to the text of this article.

Rick Wagner, April, 2010, Redondo Beach, California, USA.


WinningChamps.html, this hand-crafted HTML file was created April 12, 2010.
Last updated August 10, 2021, by Dr. Rick Wagner.

Copyright 2010-2021 by Dr. Rick Wagner and Beach Cities Robotics. All rights reserved.