why i’m so proud of frc team 694 and their two cube auton this year

Two years ago, I offered a prize if the robot could score a certain number of computer vision (CV) shots. The prize was custom printed M&Ms. This year, I offered a challenge again. I’m not doing a challenge every year. The challenge needs to meet certain criteria:

  1. Significant jump in tech capabilities
  2. Significant jump in teamwork
  3. Attainable, but stretch goal
  4. I feel like it

Here’s our robot:

There were a number of factors enabling success:

  1. The team was able to set up shop in the cafeteria for about 10 days. (Chinese New Year weekend and Presidents Day week.) This allowed for building a full size half practice field including sufficient height to test. It also allowed the practice field to remain set up so time wasn’t wasted setting up every day. We would not have had such a successful autonomous routine with this.
  2. This year was the first year, FRC Team 694 StuyPulse successfully built two robots – Wildcard and Mildcard. Not only that, but the robots were pretty much identical. Having an “extra” robot allowed us to test advanced autonomous modes even after the robot was “done.” This program has a “change freeze” on working on the physical robot, but not on software.
  3. Many skilled, smart and motivated students. Even the freshmen took on significant challenges in the space of programming and engineering. This allowed us to drive straight, go the right distance, tune, etc faster than usual. In fact, a couple freshman are leading a motion profiling project!
  4. Self starters. One of the freshmen (freshwomen?) started a project to record every practice run. This replaced debates on what happened in a run with actual facts. All competition matches were recorded as well for the same reason.
  5. Never giving up. I’m big on valuing this. The students worked on and succeeded at things that I thought were impossible.
  6. Communication was the best I’ve ever seen. Much more communication was on Slack (in a place mentors could see) than ever before. Different departments of the team communicated well throughout the season.

I’m particularly pleased that some of the contributions to our success this year came from some of the younger members of the team. This means that we get to advance even more next year. Go StuyPulse!

On to the prize. This was better than the CV year so I wanted to bring in something nicer. It needed to portable and have a low cost per unit (I needed a few hundred.) And ideally it would be wrapped. I decided on 30 mini chocolates each saying:

Congrats Team 694. Two identical working robots and two cub auton. What a year!

(two cube auton means scoring a game element, acquiring another and then scoring that one)


I also did a random draw for “nicer prizes”. (ex: my championships field pin and t-shirt). To enter the random draw, students had to say how they contributed. I got a nice range of replies including:

  • Helped with robot and field reset as well as carpet duty, so the autons could be tested more quickly
  • helped wire the bots and came to every meeting to retrieve batteries for auton testing
  • I filmed our tests so that we could rewatch them and learn what went well.
  • I helped wire the practice bot so that SE could continue working on auton development after bag and tag.
  • I helped set up the carpet 🙂
  • helped fundraise the team to have money for a second robot! 🙂
  • built bumpers to make sure the bot was legal and could play

I picked these to share because they will make sense to someone not on the team, don’t reference specific people or inside jokes. Fun fact. Half the total entries use the word “helped”. That’s a nice teamwork word!

using eclipse launch configurations to deploy FRC robot code faster in eclipse

I use Eclipse launch configurations at work and coding at home all the time. It never occurred to me to mention them to the team until last week. A student asked “is there a way to use a keyboard shortcut to deploy.”

Before

For those not familiar with FRC (FIRST Robotics Challenge), the deployment procedure is:

  1. Select the project in your workspace.
  2. Click “Run”
  3. Mouse over “Run As”
  4. Click “WPILib Java Deploy”

This kicks off the Ant build to do the deploy. Certainly not a terrible process. But when you do this dozens of times and in a rush, it can feel tedious. I think that’s why I never suggested it. At the lab, I ensure the students always drive at the keyboard. So I never have to click four things to deploy and it doesn’t feel tedious. Whereas when I’m coding myself, I feel it and optimize my time/clicking.

Setting up a launch configuration

The first thing I did was show how to set up and favorite a launch configuration.

The initial setup:

  1. Run a build the “long way”
  2. “Run” > “External Tools” > “External Tools Configuration…”
  3. Click build.xml or build.xml (1) or whatever you see in the list. Confirm it is for this year’s robot. (You may find it easier to select all the build.* configurations, delete them and then run one new build.)
  4. Change the name to one that you like. For example, “2018 Robot”
  5. Click the “Common” tab
  6. Click “Display in Favorites Menu”
  7. Click “Apply”

Then to run it, you just click the triangle next to the launcher and it is stickied first in the list. (Be sure to click the triangle next to the green arrow with the red box. There’s also one without the red box which is used for running Java command line programs.)

This gets us down to two mouse clicks. But it is still not a keyboard shortcut; the initial request.

Keyboard shortcut

I had to look this up, but you can provide a keyboard shortcut. Sort of. I couldn’t figure out how to create a keyboard mapping to a specific run configuration. But that doesn’t matter here. We want to map to the last run configuration.

  1. Open the Eclipse preferences. (The Eclipse menu on a Mac and the Window menu otherwise)
  2. “General” > “Editor” > “Keys”
  3. Type “Run last” in the filter to find the matching entry
  4. Setup a binding. I chose command F + command R. (The beginning of spelling out FRC), but you can choose anything.
  5. note that the contest/when is “in windows”.  This means the shortcut is avilable when you have any file open. Just when you want when looking at or making robot code better.

maker faire and heat plan

Is there something with every other year and Maker Faire weather. In 2013, we exercised our rain plan and had a giant goldfish bowl of rain! In 2015, we used our rain plan again. Last year, it rained overnight, but not during the event. This year in 2017, I was excited about the weather. It was going to be shorts weather with not a cloud in the sky.

Turns out there’s a downside to that. It was too hot for the robots. On Saturday, the robots started overheating and we were caught by surprise. The RoboTigers made a sunhat for their robot:

On Sunday, we let the teams know what to expect. In particular to make sure the robots took breaks in the shade and not just the humans. The problem was there wasn’t much shade. So I made some with tablecloths. Elegant looking robots:

The Brooklyn Blacksmiths needed to cover a part of the robot so the motor didn’t overheat when running. They had a work glove around so added that. Then the robot became a high five robot!

We also brought a water cooler that we kept refilling so water was handy. Finally, when people around us left early, we expanded into their space. Good for us to have more space. And good for Maker Faire to not have that gap.

And we won a ribbon. In shorts and all!