Carnegie Mellon University

Carnegie Mellon Robotics Academy

Use educational affordances of robotics to create CS-STEM opportunities for all learners

April 20, 2020

The Story of One Robotics Academy Graduate

The Story of One Robotics Academy Graduate: 
The Journey and Things my FLL Team Learned Along the Way
April 12, 2020
Francis Schaeffer

"680 points, that’s awesome” I thought. My team, the Waring School BrickWolves, had just posted a video showing the last iteration of their First Lego League robot game on Youtube.  Everytime the team formulates a new game for competition, they film, edit, and score a new video.  I knew this video was special, however. It was the robot game we would have used in Detroit at the First Lego League World Festival.  I also thought, and still think, that it is likely the highest possible score on this year’s robot game, the City Shaper season. We can’t know if we could have actually scored the full 680 points in any of our three runs at Worlds, but if we had, we would likely have won the robot performance award. 

Three years ago, in the summer of 2017 I spent a very happy week training at the Carnegie Mellon Robotics Academy.  The school I work for, the Waring School in Beverly MA, wanted to start a robotics team. We built out an old storage room into a robotics lab, chose FLL as our program and I was chosen to be the teacher.  I have no background in robotics or programming, but I was willing and I was a physics teacher, so people thought that I might be able to do it.  

The 2017-2018 BrickWolves Teams

In the fall of 2017 I gave the 6th and 7th graders who joined our brand new FLL team a crash course in EV3, using the Introduction to Programming EV3 I learned at the Robotics Academy.  It was a crazy season for us marked by a very steep learning curve.  In Massachusetts, FLL teams compete in early December. Starting with total beginners in September meant that we had a lot to learn in a very short amount of time.  We went to our regional qualifying tournament, did not make the cut to move on to States, and went home in a literal snow storm.  We could have ended there, but I realized that we had the space, the time and the kids, so why stop the season?  We broke the kids in teams of two, got a second FLL table and mat, and ran our own internal season from January to June.  That was probably one of the best decisions that I made as a coach that year. The kids took what they had learned from the fall and from seeing other teams and from videos they found on line (especially Builderdude 35) and built new robots, new programming approaches, and new games.  We realized that the teams we made in the fall had been a bit too large for our students; teams of two meant all the hands could be on the robots all the time.  Our January to June second season was fun and was when a lot of the most important learning happened; the kids learned to build sensor-feedback programs, how to build solid, compact, chassis, and how to build attachments that would seat and unseat in seconds.  

In the fall of 2018, the Into Orbit season started.  I decided to break the team into two basic groups, the kids who had experience (who I put into two varsity teams), and the kids who were new to FLL, which we called the JV.  My co-coach Sarah and I worked with these two groups. We could teach the new kids the basics of programming while allowing the veterans to dive straight into the season. We put the veterans into two small teams, one of three and one of four members.  We thought small teams would make the dynamics easier. The varsity kids were very dedicated; they stayed late after school and came in on weekends for months. They used what they had learned the previous year to develop much more sophisticated robot chassis, attachments, and continuous sensor-feedback based programs, as well as more developed Innovation Projects.  In December 2018 the two competition teams ended up winning first and second place at their regionals. The next week, at the Eastern MA State Championship, one team won First Place Research Award and the other team won the First Place Champions Award, which meant that team had the right to compete in Detroit at Worlds. The team that was going to Detroit spent from January to April preparing their robot game and improving their project.  The team that did not advance spent the spring working with the JV kids on small teams as they prepared for our second annual internal robot competition.  

The 2018-2019 BrickWolves Teams at States

At the December 2018 state tournament we made an important realization, we did not really understand light sensor calibration.  Making light level adjustments during the tournament at the pits almost cost us our win because the lighting at the pits was so different from the lighting at the tables.  In the weeks after the state tournament we studied calibration and found ways to truly calibrate the light sensors. We also learned how to force the gyro to fully reset on the fly.  These were key discoveries.  

brickwolves-worlds.jpgThe 2018-2019 BrickWolf the went to Worlds

April 24, 2019 came around and off we went to Detroit.  The experience was a blast. We ended up 22nd out of the 104 teams in Robot Game, but won no prizes.  We learned a lot by watching the best teams in the world. We learned that our project needed to be less sciency and more about direct impact.  We learned that dog-gears will only take you so far, seating issues limit them; the best teams don’t use dog gears. We learned that preparing explicitly for core values judging matters a lot.  We learned that the best teams took the movable mission models Home early in the match and then redeployed them from Home later in the match to their maximum scoring positions. We learned that the best teams have transition times between runs of about 4 seconds.  We learned that the best teams in the world were mostly European and older due to the different age restrictions in Europe. That final observation made me realize that we should do FLL one more year, rather than transition to FTC. Like the year before, we decided, why stop now?  The season is only over, why let it be over? After Detroit, in May, June and July, most members of the two competition teams and I just kept meeting and started plugging away on improving based on the things we had learned in Detroit.  

While the Houston and Detroit championships were happening the new City Shaper table was released and the new Spike Prime robot was demonstrated.  We had no idea what the rules were for the City Shaper table, but we could see its tight spaces, all the lines, the bridge, and the much smaller launch area.  Over the spring and summer the kids went through multiple iterations of chassis design. They took everything that they learned from the previous two seasons, and working in Studio, a LEGO CAD program, they came up with Stormageddon Mark X.  They designed Storm X for the City Shaper table. It is small, compact, has strong internal structure, and well placed sensors.

 brickwolves-robot.jpgThe Brickwolves 2019-2020 Robot, Stormageddon X Pro

Four sensors is not a lot, so their placement and selection is critical.  The kids made the bold choice to dedicate one of their sensors to transitions.  They placed two color sensors at the front corners of the robot, and a third color sensor inside the robot.  The third color sensor detects the color of a tab that each attachment has sticking off of it. Using this color data, the robot then selects the correct run associated with that attachment and ques it to the center button for launch.  This allows my team to make their transitions very fast. The third color sensor also detects, using reflected light intensity, whether the attachment is fully seated on the gears. Until it is, the robot oscillates the gears to enhance seating and warns the team not to launch.  I was so proud watching the kids as they developed this system. They took everything they learned the first two years and put it to great use. They named this system MPAS, the Master Program and Attachment System. The design of Storm X is well discussed in this video.  

As we got closer to the August 1, 2019 release date we worked on learning new skills.  For example, we watched Builderdude35’s videos about PID line following and wrote our own PID line followers for Storm X.  We knew lines were going to be important to us from looking at the board and I knew that learning the logic of PID would open up new insights for the kids.  Teaching 14 year olds the ideas of integrals and derivatives was a lot easier when you could see what the robot was doing.  

brickwolves-teamreview.jpgThe BrickWolves working on the robot game in our Waring School robotics space

On August 1, the official City Shaper rules were announced and the new season began.  I merged the two competition teams and added two new members. No one was going to be left behind this time if we got the chance to go to Detroit!  I knew that this was the last season in FLL for most of the kids as they would age out. The kids threw themselves into creating a robot game. They created spreadsheets, each run was color coded with the color of the associated attachment, showing the missions, their order, their points, the run time, and the transition time.  They spent many days developing and working on their Innovation Project. They wanted it to be real, something that would have an actual impact. Over the course of the season, they developed the Student Carbon Calculator Curriculum, which is a 30-day curriculum, aligned with MA state education frameworks for 6th grade science, that teaches students about embodied carbon by having them run a case study of their own school building.  To create the project they worked with the talents they had around them. One parent in the team is an architect, another a public school principal and another a web developer. The kids had to learn to code the calculator, and to deal with the innards of MA curriculum guidelines.  Their hope was to go beyond sharing to actual implementation. You can read more about their project in this article posted on the Carbon Leadership Forum webpage.    

brickwolves-parents.jpgThe BrickWolves working with parents, who are experts, on our project

With an experienced and mature team of eight members I broke the team into smaller sub teams.  Not every kid worked an equal amount of time on each aspect of the season. Some kids worked more on the project, some worked on our community engagement, some worked on our social media, others worked more on the robot game.  Delegation and management were key. The kids took to their roles and lived up to them.  

brickwolves-tshirts.jpgBrickWolves touching up the T-shirts they designed and printed

During the school year we met during our scheduled slots, after school and almost every Saturday.  The kids created social media accounts (including twitter, Youtube, Instagram), designed and silk screened their own team shirts, started helping younger teams, and also began teaching robotics at a local elementary school in Beverly.  We also began running explicite Core Values exercises.  I gave one student the task of finding and running exercises like those given in core values judging.  We worked hard to critique our performance as a group and so became much more aware and intentional about each person’s role and the group dynamic.  We wrote down our insights and reviewed them periodically. A few days ago I asked the kids what helped them to succeed this season and several said it was the core values exercises.  One wrote, “Doing core values exercises [helps a lot], this not only improves your success in tournaments but allows you to get to know your team and how you best work together.”  Another wrote, “Team size doesn’t matter as much as the effectiveness of the team - get the largest team you can that still works well and effectively together.”

I signed the team up for the Andover Scrimmage, the earliest scrimmage I could find so that we would have a deadline to push us into a full dress rehearsal of our project presentation, robot technical presentation, core values skills, and robot game.  Attending an early scrimmage the year before had done a lot for the team; no more saying you can deal with stuff later. Besides creating a deadline, we also learned a lot at the scrimmage the year before; for example, one judge took me aside and told me that our robot technical presentation was good but that what we needed was a robot technical binder to hand to the judges. (The next weekend we began writing our first robot binder.)  So on November 2, 2019, off we went to the Andover Scrimmage. We got the robot high score and were asked to present our project to the audience.   

At about 7pm a few days after the Androver scrimmage one of the members of the team had an insight.  He looked at me and said that he knew how to make the robot go truly straight down a line. During the second half of our 2017-2018 season we discovered the idea of gyro feedback steering but the gyro still drifts a bit, so long distance “straight runs” tend to be slight arcs.  Line following is good too, and we had studied PID line following, but the problem is that the robot keeps making tiny corrections and so ends up at unpredictable angles after it runs a set distance down a line.  The City Shaper board features a long straight line that parallels the South wall. The boy asked, why not combine line following and gyro steering into one myblock. The insight was to take the fundamental idea of gyro feedback steering, but to modify the target angle by the difference between the light sensor reading and a target light sensor value.  He named this idea Light Assisted Gyro Steering (LAGS) and it is how our robot goes straighter while moving at near it’s max speed, than others. It means we can get down that south line, to all the mission models on the other side of the board with high accuracy. Watching him figure this out was one of the highlight moments of the season for me.  

December 2019 came around, and we were ready for our regional tournament.  We had our project in good shape, our robot binder, our robot game ready, we were ready for core values judging, and we had our presentations practiced and our presentation slide shows built.  We ended up winning the regional tournament. The highlight for me, however, was watching the kids work with other teams. Our table got a lot of attention because of how we were doing out on the robot tables.  The kids stood at the table for hours talking about their project, teaching other kids how to design chassis, and teaching key programming ideas. They were warm, kind, open, experts and made me so proud. We collected some email addresses and after the tournament we had several teams come and visit us.  We also sent out versions of some of our key programming ideas to teams who asked for them.  

brickwolves-judges.jpgThe 2019-2020 BrickWolves answering questions at the Revere Qualifying Tournament

On Saturday Dec 14 it was time for the Estern MA State tournament in Newton.  The highlight for me was watching the Head Referee watch our first robot game.  During our first run he kept coming back to our table to watch and at one point he pulled out his phone to take pictures of our solution to Safety Factor, Mission 9. As a coach, I don’t get to see any of the judging, or get to stand with the kids by the robot tables, so it’s a day of watching from afar and hoping.  After hearing that our first score was 595, I knew we would be OK on the robot game front. Our highest robot score that day was 600 points out of a max possible score of 610 at the time.  One thing I was proud of was our consistency, our average score was 558.  LAGS and MPAS, as well as weeks of drilling each movement in the transitions paid off.  

brickwolves-lightning-round.jpgThe Brickwolves with their Lightening Round partners at States

At the MA state tournament the afternoon lighting rounds is a cooperative game in which teams are paired together.  Their scores are combined after a 1.5 minute round with any mission only scoring once between them. The Brickwolves were paired with a team that had had some significant troubles that day.  My kids had time to help their partner team fix aspects of their robot game and then paired up to win the lightning round together. Along with the lighting round trophy, and the Robot Performance Award,  the BrickWolves ended up winning the overall Champions Award due to our overall performance in all four areas. After we got our trophies, we stood in a circle, put our fists in, and said, “together;” no one was going to miss Detroit this time.  

brickwolves-official-champ-pic.jpgThe BrickWolves with their 2019-2020 Grand Champions trophy

It was time for Winter Break, but why stop?  We knew we could take our robot game to an even higher max score.  We also knew we could get our curriculum onto an even more solid footing; the coding needed an upgrade, we needed to pitch it to teachers, and we needed to flesh out the day to day plans.  The week after States, Andrew Himes of the Carbon Leadership Forum contacted us about our curriculum.  He offered to meet us over Zoom and to help us develop it further.  With his help we have been able to improve the calculations that the calculator makes, and get the curriculum workshopped by a team from Washington state who are all 6th graders.  My team also got the chance to implement their curriculum at our school. I had them come in and teach part of it with my 8th grade science class. I loved watching them teach kids about their own age.  Their expertise and skill shown through. We also learned we needed to upgrade the calculator further. We even found spelling mistakes. The kids also got to pitch their curriculum to 6th grade science teachers in Arlington MA.  They did a great job. We also kicked into gear trying to raise money for our trip to Detroit. The kids learned how to apply for grants, with the help of the advancement office at Waring School, and raised several thousand dollars from tech companies.  However, the kids were most excited to be sponsored by Chipotle, and were thrilled to get to put the Chipotle logo on their shirts. 

brickwolves-pitch.jpgBrickWolves Pitching The Student Carbon Calculator Curriculum to teachers and teaching the curriculum to 8th graders

After winter break we spent more time teaching kids at the local elementary school, meeting teams who took an interest in us at the regional and state tournaments and preparing the upgraded robot game.  

brickwolves-teaching.jpgA BrickWolves teaching robotics at Centerville Elementary School in Beverly

brickwolves-code.pngThe BrickWolves working with a younger FLL team

The kids kept finding new ways to score points.  For example, at the start of the season we talked about the fact that we wanted to be able to score the (Mission 1) flag points for the bridge whether or not we were the first to the top.  The kids realized that we could push the flags up from the outside. We assumed that we would be in competition with teams who might get to the bridge first at Worlds, so we retooled our final run of the match to use the idea that we discussed in August.  Another big addition was a device for pinching the elevator (Mission 8). We knew we could not have any Equipment touching the moving parts at the end of the match, but nothing in the rules said that we could not use a pinching device on the non-moving parts to increase friction in the hinges and thus hold the Elevator horizontal.  We also realized the only way to go much beyond 600 points was to put all the Building Units in the Small Branches of the tree (Mission 5), so we developed, with great difficulty, a way to get every Unit on the board into the tree. The final insight that takes our robot game to 680 points was the fact that the Hooked Blue Unit counts as a Unit and so can also be placed in the small branches of the tree.  However, to do that meant taking The Hooked Unit off of the Crane and then placing it in the tree with all the other Units. Getting it off the hook reliably is very hard but the kids found a way.  

Each time the kids thought of something that seemed at all questionable, they would write to Game Support and get the all clear.  The Game Support people were great. They wrote back with clear answers in a timely manner. Their email to us, about taking the Hooked Blue Unit off of the crane and placing it in the tree was one of the highlight moments of the season.  Game support wrote, “The hooked unit is a legitimate Unit.  Everything you’ve done here should score as you intend, as long as the referee can connect the same dots you do.”  Scott, of Game Support, then went on to write that, “If your issue was more common, or due to a problem I caused, I could post an Update about it, but that’s not the case here.  Regarding your rather excellent ideas, if I posted a “hey all - this is legal” Update, I’d be selling you out, advertising your intellectual property (letting your cat out of the bag), and the depth of it would confuse most people anyway.”  The kids were basically floating after getting this response; they had gotten the official word that their idea was so cool that the Game Support people called it “intellectual property.”. It was one of the greatest compliments they could have gotten.  

As March vacation rolled near we were in full preparation mode for Detroit.  We had 3D printed our logo as give-aways, designed the booth, designed posters, and we're almost ready to film complete 680 point runs, but then the virus arrived.  When we left for vacation, it seemed like the tournament might happen, a week into the break and I knew it would be called off. When it was called off, we thought about what to do.  We hoped that FIRST would run a virtual tournament and even proposed it to them, but the complexity of doing this stopped them. Instead, they are running a virtual showcase. The kids and I continue to meet by Zoom.  Like before, why stop? It’s only over, so don’t let it be over. Since cancelation, the team has put up videos, Instagram posts and tweets about our work over the season, including a really great video showing the 680 point run.  We are still working with the Carbon Leadership Forum to improve the calculator and the curriculum.  The kids also decided that they would make videos about technical aspects of the robot game and answer questions about their work on Reddit.  In the next few weeks they will likely post videos about MPAS, LAGS, chassis design, a system called Failsafes, and our project.  The kids have been great. Of course they are disappointed not to go to worlds.  They even thought that they might win. However, many people have written to us to tell us that they like our work.  We pass the emails to each other. Also, why stop, why not get ready for FTC? We are already planning to take a summer class in Java in order to be able to code for the new robot.  The class might be on line, or at a local college. So, the kids are documenting what they did, continuing their project, sharing what they learned, and moving on into new adventures.  

Last week I wrote to Vu Nguyen, my old teacher from the Robotics Academy, to thank him again for starting me out and to show him the robot video.  He suggested I write something about what my team has done, so here it is.  I couldn’t quite stop once I got going. I wish you the best in your robotics adventure and hope you find some of the lessons my team learned useful.  I have loved my time in FLL.  Thank you Sarah (my co-coach), and my team: Adam, Olive, Owen, Amelia, Charlie, Collin, Peter, and Chris.  I love the BrickWolves.