Winning the 2010 FRC Championship

FIRST (For Inspiration and Recognition in Science and Technology) was founded by inventor Dean Kamen in 1988 and now is a worldwide organization with the mission of changing our culture. Dean observed that we become what we celebrate so he founded FIRST to inspire our youth to pursue education and careers in science and technology. FIRST generates excitement by using the sports model of a competition for robotics. The FIRST Robotics Competition (FRC) for high school students is the highest level of FIRST competition. FIRST Lego League (FLL) is intended for ages 9-14, and Junior FLL is intended for ages 6-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 have six weeks to design, fabricate, assemble, program, and test their robots. The robots must be locked in 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 flying in 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. His license plate frame reads "My other car is on Mars." That's Dave's voice narrating the video. The game is 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 their starting configuration. They can expand out of this envelope during the "finale" portion of the game (last 20 seconds) or some other conditions. Robots must have bumpers on all four sides about 10 inches off the floor so they don't interfere with the regulation soccer balls that are a little over nine inches in diameter. Robots can weigh no more than about 150 pounds including battery and bumpers.

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 the future and our role in cultural change. Beach Cities Robotics is about the development of our students: not only how we inspire them about the importance of science and technology, but also about how we empower them to reach out to the local community to spread the word about FIRST. This is done through 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 make presentations 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 participating in club day and other high school events on campus. Our students are trained in our workshops in public speaking by a professional trainer who volunteers her time so our students can give effective presentations 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 them practical training in robot development and programming that will serve them well when they graduate to the high school FRC team.

System Engineering Process

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

On the day of the kickoff, we simulated the game using students acting as robots on a field contrived from the outdoor furniture available at the kickoff 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 perform a featured action. This allowed us to get a sense of what was important in winning a game.

From our analysis of the game we concluded that the game would be decided on the midfield, where all scored balls are returned by the ball return mechanisms. A good midfielder robot would be able to get to a ball quickly, grab it easily, and kick it into the near scoring zone, preferably directly into a goal. We also wanted enough flexibility to be able to score in the near zone, and to start in any of the three zones with an effective autonomous mode. Our preferred starting position was in the far zone, where we would autonomously kick three balls into the near zone goal, and then climb over 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 the game using the simulations, etc., we had to decide on what type of robot we wanted to build. This lead us to a decision to evaluate three distinctly different robots. Essentially the students saw that there were different roles that a robot could fulfill. We could have built a striker (near zone scoring robot), a midfielder, or a purely defensive bot. The students listed the features that would be needed to build a successful robot for each role. For each role the students listed the 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 a small 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 the students figured the smartest strategy was to design a midfielder robot. While providing versatility to play both offense and defense, it also had the most features of the three roles. From there we wrote 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 mobility and good wheel torque (for pushing other robots and resisting being pushed). Due to manpower constraints 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 mass problem, and the added complexity would tax our design, fabrication, and assembly resources. We also felt that in the last 20 seconds of a game, while other robots were hanging, we could probably score one or two balls.

We created a schedule for the six week build period. We wanted to have initial robot designs done in the first two weeks to start fabrication of some critical parts, to have all design done by four weeks, and to have assembly completed by five weeks so we could turn the robot over to the programmers 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 team could practice, the programming team could experiment with software, and we could prototype improved 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 team discussed 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 wheel diameter to seven inches (six inches was too small, eight inches led to a shorter wheel base and a 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 students proficient 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. We have a file server for coordinating the design on the several machines. The drive base design was completed first, with envelopes and interfaces for kicker and grabber mechanisms. This allowed us 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 motor drive. We built several wooden prototypes of stored energy kickers using surgical tubing as an energy storage medium, and several wooden kickers with various sizes of pneumatic cylinders at various pivot radii. We wanted to be able to kick the length of the field (without a bounce in the middle zone) so that we wouldn't have to worry about objects in the middle zone (such as balls and robots) getting in the way. We found that only a stored energy kicker could give the kick velocity we needed. This led to a fairly complex and heavy design, so in retrospect, our decision not to add a hanger was a good one. We needed the mass reserve.

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.

We prototyped a vacuum system that would be able to suck the ball into the correct spot. Due to testing limitations we were unable to get a fully functional ‘sucker’. We also tried rollers. The key 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 using different 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 we discovered 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 penetration into the frame perimeter). The prototype testing also let us determine the gear ratio that we used in the robot's roller gearbox. This was done by looking at the gearing and rough free speed of 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, the ball must be held at the proper position. The rules allowed the ball to penetrate three inches into the frame perimeter, and the kicker could extend 2.5 inches outside the frame perimeter for up to two seconds, 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 found that when installed on the robot that the hard roller could often bump the ball away from the robot when engaging at speed, so we improved the design with a softer "brush" configuration made 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 FRC but found that it was shedding zip ties when reversed (for releasing balls when pushing them directly into a goal), so we came up with a new design before the LA Regional FRC where we were finalists. The new design had a much more positive grab, and allowed us to implement a head up display (HUD) for the co-driver to indicate when the robot had the ball. In many critical situations, the bumps hide the balls, so this was a very important addition. We put an LED in the corner of co-driver's safety glasses that would light up when the grabber had the ball.

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

Kicker

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

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


CAD image of the kicker assembly, courtesy of Peter Johnson.

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

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

Before the FRC Championship in Atlanta, we improved our kicker by strengthening the ball interface beam, and reducing the kick angle from 45 degrees to 20 degrees for a flatter kick to make it easier to hit the goal at close range. Hitting the goal at a low height was important because the chains 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 pawl was not the first design, which was to utilize a dog gear/clutch to allow the kicker gear box to become decoupled with the kicker mechanism. The problem was that we were afraid that the high torque 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 once the dog was released all the stored energy was then transmitted into the rotation of all the gears in the gearbox, making the kick very weak. The ratchet and pawl were then designed as fix to allow kick variability even if it locked into a single kick strength once armed. The ratchet system worked beautifully.

Fabrication and Assembly

Our wheels were the first component to have a completed design so they were the first parts to be fabricated. Our wonderful sponsors and volunteers at Northrop Grumman machined our wheels for 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 fabrication labor to the team for various robot parts include Todd Mendenhall and GKN Aerospace.

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.

Two side plates were used to hold the three wheels and chain on each side. The two sides were held together with transverse members welded by a volunteer at Northrop Grumman (Mike Utley). We had two partially assembled drive bases in week five. We had a fully assembled and running drive base in 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.

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

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 of the circular visual targets above each of the four field goals. We mounted the camera on our 2006 robot for 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, and it has sensing of the ball grab, so the autonomous program was fairly simple. The robot moved forward until it detected ball engagement, kicked, and continued to the next ball. We autonomously kicked three balls from the far zone, or two balls from the near zone, at optimal energy for scoring goals in both cases.

The camera is an Axis 206 full-frame Ethernet camera, the same as last year. We didn’t use automated targeting in competition for several reasons. First, we found it more effective to use the camera feed at the driver station with the camera mounted below the bumpers, so we were able to see balls otherwise hidden on the field. Unfortunately this camera placement was much less suitable for seeing the goals. Second, we ran out of time for proper testing of the camera in field-like conditions. Third, the field lighting conditions made it difficult for the camera to perform good targeting. We used a custom dashboard applet (SmashTcpDashboard) instead of the provided LabView dashboard to give us near-realtime 30 fps video from the camera at the driver station.

The teleoperation user interface consisted of joysticks for the driver (tank steering) and a joystick with various switches for the co-driver for operating the grabber and kicker. The driver also had a switch for shifting from low to high gear and vice versa. The grabber can be turned on and off and reversed 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 a standard PID (proportional, integral, differential) algorithm. These presets were arrived at by trial and error during testing.

The co-driver had 3 buttons for selecting different kicker strengths. One of these buttons was fortunately 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 current draw ended up being a significant drain on our batteries, so we added a timeout that would reduce motor power 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 current of 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 which the alliances are more or less randomly assigned (certain constraints in the assignment algorithm preclude teams from playing matches too close together in time, for instance). Each team carries forward 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 allowed to choose their two alliance partner teams. This is where the politics comes in. A team may choose a team it feels it can work with better, rather than considering only the strength of the robot and drive team. Also, teams may choose alliance partners that complement their playing strengths and weaknesses.

We were top seeded in the Newton Division at the Championship competition. It was extremely important that 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 their captain status if they accept an invitation from a higher seeded team. Therefore, before choosing team 67 (The HOT Team, Michigan, seeded second) as our first pick, we needed to approach them to assess their 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, 1 to try to balance alliances. In other words, the top seeded team gets the last second pick. That means that we needed a very good understanding of the strengths and weaknesses of the available teams (86 teams total in the Newton Division). The only way to get that information was for our scouting subteam to 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, the author 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 matches on Thursday and Friday. We held a meeting Friday night to compile the data and discuss it with the rest 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 third midfielder 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 just about 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 to celebrate achievement in science and technology, and to inspire youth to pursue careers and education in math and engineering. This is demonstrated by the fact that in the last eight years, 100% of our graduates 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 June 8, 2011, by Rick Wagner.

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