[first] keeping FIRST kids safe (the new youth protection program)

Keeping FIRST kids safe (largely about the new screening process)

This session was a short video followed by mostly Q&A.

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

The video

  • about how to protect students from physical, mental and emotional abuse. It also covered physical safety and teamwork.
  • Good – reinforce coopertition and go
  • For small issues, Talk about a problem, redirect to something more appropriate, be specific, document (for yourself, in case a pattern
  • If bigger problem, email safety@usfirst.org

Youth Protection Program

  • Will be training materials online- not yet
  • Two key coaches must register


  • Free.  (FIRST covers the cost of)
  • Give full legal name, address, optional last 4 of social security number
  • They look at:  Sex offender registry, criminal records db
  • Takes 1.5 business days unless problem

Who is screened

  • If screened in past 2 years, don’t have to do it again.  Expires every 3 years
  • “All” coaches and event volunteers
  • Up to lead coaches whether need other mentors require youth protection clearance
  • Anyone who volunteers for events in VIMS will be screened.
  • Walk on volunteers will still be accepted and paired with someone who has been screened

My impressions:

I had heard about the youth protection program, but hadn’t read what it was. Since I was here, I figured I would hear it live.

[first] chairman’s chat

Chairman’s chat

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

On stage were mostly coaches and mentors. There were also a few students and a 14 year Chairman.s judge. It makes sense to be mostly adults since they were with the team when they won. The format was all Q&A. Here are the points I found most interesting.


  • Become a better team by submitting because causes reflection on team culture. The process is the key.
  • Make sure everyone on the team knows what is in your written submission
  • how can make the world a better place. Globally, not just in community?
  • Try crazy ideas. Some work, some don’t

What were your presentation styles

  • created theme and used posters during presentation to give structure to presentation
  • miss daisy spent a lot of time on vidego, showed video during presentation after intro and then verbally highlighted some parts, then q and a. Made it like video w as a fourth person in the room
  • tell story so emotional connection
  • be memorable – used recipe listing what did and dressed as chef – onem inute for intro, one minute to describe each bowl and one minute to conclude
  • judge noted what seen: no single right way. What matters is what you did for the 12 things asked. Theme based on teams skills; doe sn ot have to relate to team name. How you can best tell your story
  • might need different presentation at regional vs championships. There gional judeges may already know story from being in commmunity or having heard it before

How convey community outreach and showing chairman’s worthy (vs engineering inspiration)
[A lot of silence]

  •  don’t look at it that way. Are you trying to change team, school, community,etc
  • about sustained excellence. Focus on different things each year and eventually have enough


  • See what your story is
  • Watch old winning videos to get ideas
  • used to be professionally made, no longer allowed to be. But still helps create a concise, coherent story
  • Paul Lazarus has tips on creating video

What do to get judges to remember yourself

  • what you say matters more than how look . Need to tell in a way that isn’t the same as everyone else. Everyone created FLL teams. How did you do it? How did it benefit others?
  • numbers still matter
  • handouts. Leave something with the judges. Fun swag plus something informative about what done
  • practice your presentation, be good at it

Can you re-use the theme?

  • yes. Technotics did dance every year. Judges remembered brand from repetition as well
  • know your material in case get asked about it

How respond to cookie cutter approach to chairman’s (start x teams, do y hours of community service)

  •   one of the questions is about how innovative/creative. Another isa bout how many teams started. Both parts are important. You need the numbers and to be special
  • it is like cooking. How beat serve your community and cook for them
  • never say no when asked for help or someone has an idea

Do chairman’s and engineering inspiration judges talk to each other?

  • separate deliberation. Talk at end about top few for all awards to get more input.
  • does team act they way describe it?

Essay more factual or emotional

  • need to find a balance
  • picture your team when announced at an event if win. What would be said about it. Daisy submitted a booklyet “daisy by the nubmers” to show calculationsa bout where numbers come from.
  • tell it from the point of view of a person so have perosn behind numbers
  • numbers come first. Teams dont make upth ings but do exagarate. judges notice and reject team
  • who is best to present,. Think about who conveys passion when speak

How balance past vs current activities.

  • both matter. Here is what we are doing
  • chairman’s is about sustained excellence. Emphasize last five years. Judges repeat for a long time. If you say you plan to do the same thing every year and dont get to it, looks bad. More emphasis on what actually did vs what plan to do
  • facts can be both quantitative and qualitative
  • the internet is a great tool. Google yourself and see how many hits. Shows how w ell message spread
  • numbers addup. If on the local news, how many people see it?
  • knocked down numbers ten percent so didnt over estimate

How much do judges look at supplemental materials?

  •  helps to go back to written material within panel
  • there are multiple judging panels helps when discusss with other panels so they can see

How best answer questions in interview

  • no one best way
  • be concise, factual, passsionate
  • nice when can point to answer on posterboard

On use of visuals

  •  a few presentations were good without visuals
  • visuals generally help
  • visuals are a problem if waste time
  • not good if standing in front of judges not sure who would say what
  • photos are good. Don’t just repeat what you are saying

My impressions:
Despite mentoring a team for 5 years (that has won regional Chairman’s several times), I didn’t really know what the Chairman’s award was about. I think that is because a lot of things “just happen.” Which is good – the point of Chairman’s is to have that culture. I think it would be useful for everyone on the team to read the 12 questions (in the manual) that go into Chairman’s.

getting computer vision to work on a raspberry pi

This year, I helped a local high school FIRST robotics team get computer vision working on a Raspberry Pi.   Two students worked on the problem.  At the beginning, they both worked on computer vision.  Later, one specialized on the Pi and the other on CV.  I learned a lot from a book and from playing with it.  We encountered some interesting and memorable problems along the way.

Recognizing a target

We started with sample code from another team from last year.  This helped learn how to write the code and understand the fundamentals.  It also helped with the “plumbing” code.  As hard as it was to recognize a target, this didn’t prove to be the most frustrating part.  The Pi itself mounted a number of challenges.

Parts for the Pi

We bought/scavenged parts for the Pi.  A USB keyboard, USB mouse and cell phone micro charger where donated.  A HDMI/DVI cable we needed to buy.  We borrowed a computer monitor and ethernet cable.

Finding the right jars

The Pi is built on ARM.  We needed javacv-0.2-linux-arm.jar.  It turned out there is no linux arm version in the latest javacv (0.3).  There is one in 0.2 which we used.  Which was incompatible with the versions of other tools.  (see next problem.)

Setting up the Pi

Compiling opencv on the pi takes 4 hours.  Since that’s how long a meeting is, this meant running the compile overnight.  Having to wait overnight to find out if something worked was like a taste of what punchcard programmers had to go through!

Then it turned out we couldn’t even use our compile.  We were missing the libjniopencv_core.so file. We spent a few days trying to solve this.  We wound up  using a pre-compiled for Pi version.  This is how we got version compatibility.

Updating a NetBeans Ant script

Since speed matters in a competition,we wanted to change the build run target to not compile first.  Netbeans comes with an empty looking build.xml and a useful build impl xml file.  (This is actually my favorite feature of NetBeans – that the build can easily be run outside of NetBeans.)  We easily found the run target in the build impl file.  We copied it to build.xml, renamed it and removed the compile dependency.  This wasn’t actually a problem, but it was interesting how NetBeans sets up the build file.

Starting a script on startup

We wanted the Pi to start the computer vision script automatically on boot up.  We created a file in /etc/init.d since this is a Linux (Debian) install.  Then we made a fatal error.  We forgot to add the & to run the script in the background.  So when we tested rebooting, the Pi hung.  And we couldn’t SSH to it because it hadn’t booted.  The solution was to take the pi’s sd card to another computer and edit the bootup script to use single user mode.  We could then login and edit the startup script to add the missing &.


We used Java sockets to transfer the “answer” from the Pi to the robot.  The answer being a single number representing the number of degrees off from the center of the target.  We made the mistake of testing this with both ends on a regular computer.  When moving to the robot it didn’t compile because the robot uses J2ME.  We then refactored to use the mobile version (code here).

Performance – CPU

Success.  Computer vision works.  The problem is it took 3 seconds per image.  We reduced it to 1.3 seconds per image by reducing the resolution to the smallest one the camera supports.  We shaved off another 0.1-0.2 seconds by turning off file caching in ImageIO.  We learned the problem was full CPU usage when calling ImageIO.read.

I found an interesting thread showing the “old way” of creating a JPEG using ImageIcon was much faster.  We tried it and the thread was right.  It even created an image we could open in a photo editor.  The problem is that it didn’t work with our code/libraries for image processing.  We don’t know why.  Obviously ImageIO has some default we are unaware of.  A 1 second time is acceptable so this isn’t  a problem.  But it’s an interesting conundrum.

Another interesting CPU note.  We tried compiling image magik.  It took over 3 hours on the Pi.  By contrast, it took 2.5 minutes on a Mac.