why i’m so proud of frc team 694 and their cv in auton scoring

FRC Team 694, StuyPulse is currently competing at the China Robotics Challenge which is an off season event. The event uses the same game/challenge as the “main” season which ran from January 2016-April 2016. This year’s event was the Stronghold game. In the autonomous part of the game, you got points for going over obstacles (defenses) and/or shooting a ball into a target.  The team worked on CV (computer vision) very hard this year. This was going to be the year we used CV in competition.. We used it one year when a lot of the code was supplied to teams. And we got CV recognition working last year, but not soon enough to integrate with the robot. We did have a really cool demo where it automatically recognized a target but never quite got it fully working with the robot.

Which brings us to 2016. Don’t get me wrong, I’m thrilled that it worked. But that’s only a piece of why I’m so proud of what happened with CV this year

Subteam

There were dedicated team members who focused on CV for most of the build season. This wasn’t one student on a Skunkswork project. Making a subteam shows this is a priority. Something the team values and wants to see succeed.

Sustainablility/Continuity

There were students in different grades on the subteam. This will ensure that the knowledge and experiences gained won’t all graduate at the same time. Which allows this to become a skill that grows every year rather than having to start over.

Technical understanding

The last two years I’ve seen a marked increase in the deep understanding of how CV works. It isn’t just poking at it. This is hard stuff. Same for communication channels between the camera and the robot. Although I did enjoy the discussion about bit endian vs little endian on transferring data. I knew it was that because we had that problem in the past. So seeing it back, I recognized it faster. Convincing the student I was working with on the problem took a little longer ;).

Team Communication

Some years, I see mixed messages about CV. Whether it is the drivers not trusting it or other parts of the robot being higher priority, the messaging can become demoralizing to the people working on the code. This year, I felt like the whole team wanted to see this happen. There were designated windows to work on CV integration with the robot even really close to the robot’s due date. It wasn’t shafted. It wasn’t put on the back burner.

Quick response to change

There were a number of integration problems. The students quickly adjusted to each one trying different strategies.  And they learned what works/doesn’t work for next year too.

*Never* giving up

Whether it was between matches at competition or after we got eliminated at a competition, the students were working at various aspects of the robot. Even after it became apparent we weren’t going to run the CV during competition because the risk at Championships was too high, the students STILL didn’t give up. They made the most of practice field time to test. They kept testing and integrating and testing and… They *never* gave up and got it working.

At home, I have a Peanuts picture near my desk. It has Lucy holding the football and Charlie Brown looking at it with a caption “Never ever EVER give up.” This is really important. You never know when pushing just a little bit further is going to be the difference. And I’m so proud of them for that. Pushing past the point where most people would give up in a really important skill and just as important as tech skills.

Cookies and Chocolate

On “stop build” day, the team had come further than ever before with CV. The electronics mentor and I chipped in and bought cookies to give out at the “tagging ceremony.” (This is when the code gets tagged in github as the last code tested on the robot before ship date.) I spoke for a minute or so on how big a deal with was and issued a challenge. I would bring in “something better than cookies” if they scored a certain number of goals with CV in competition. A 9th grader said “there’s nothing better than cookies.”

This is the first year I believed it could happen. (Sorry Josh – there were too many forces against you.) While that didn’t happen it wasn’t because of not being able to do it. It was that the risk of getting eliminated at championships was too high by the time CV was reliable. It was the right call.

So at the end of year dinner, I extended the offer to include the China Robotics Championships. Where they scored in autonomous in two out of two practice matches. While the number of goals for my offer is higher than two, the repeatability of getting 100% of them in practice matches is enough for me to declare success for the contest.

Which bring us to – what is better than cookies. It’s not pizza. We eat too much pizza during the build season for that to be a reward for anything. Instead the answer is chocolate:

694-chocolate

694-candy

694-candy

Congratulations 694. I am so proud of you for this accomplishment. Both both the tech skills to do it and for the soft skills and tenacity. Great job!!!

[first] 2014 championship conference

Sometimes I blog about a conference when I attend it. Today, I attended a number of sessions at the 2014 First Championship Conference. It was my first time attending these talks. There was a good level of quality.

[first] RoboRio

RoboRio
fact-sheet
Also see Wpilib blog post

For other posts about the 2014 FIRST conference, see the index page.  (written on my iPad; please excuse typos)

General

  • Control system 2015-2019 (Had crio for 6 years)
  • Java SE 8 (not java me)
  • Runs about 10 times faster than on crio
  • Will support Eclipse.  Chose Eclipse because better c++ support. Then Oracle announced more support in NetBeans.
  • Multi core
  • Linux based. Available by ssh, webdav. Will have admin access. Canco nnecte, but wont require
  • Will probably have an updated driver station image. Will still only run on windows. Getting more portable over time so may happen one day. They also want simpliciity for troubleshooting on the field

pic
Changes to library

  • Port numbers will shift to be zero based
  • Extensions to API will use generics
  • Will try to keep backward compatibility for two years
  • Deprecated apis will probably go away
  • Everything will be zero indexed

Physical device

  • More robust, less points of failure
  • Can integrate custom electronics into mxp expansion port – will post design kit for custom expansions
  • Power distribution board can measure current of every motor on robot
  • Design will be based on CAN. But different than CAN of past
  • Voltage regulation module (vrm) – cheaper, makes power distribution board smaller. Let’s change easily for future years
  • Will be version of talon with CAN on it. Feature comparable to jaguar. Looking into ability to connect to limit switch
  • RoboRIO weighs about a third of cirio. Plus other modules are less/smaller

Cost

  • $200 power distribution
  • $90 pneumatics
  • $49 voltage regulation
  • $435 RoboRio

board
Timeline

  • RoboRIO available in December.
  • Rest available late October in reasonable quantity
  • This system less disruptive than when crio came out so probably wont do early release of hardware
  • Enough will be in kit of parts for veteran teams to get up and running with 4 motors. Not sure if will include voltage regulation module