Advice and information for ARBC-sponsored teams

E-mail messages to FLL Challenge Coaches.  The national FIRST program and the Washington state FIRST partner organizations send e-mail messages to the official team coaches throughout the season.  The messages contain critical information about the season.  Since you don’t start getting the messages until you are a registered coach, use these links to the archives to catch up on past messages:

Per-student Team Startup Contributions.  The per-student contributions to team startup costs that ARBC collects to get a team registered are due as soon as students are placed on teams.  Coaches should collect the fees from parents/guardians (fee amount is on the pre-registration page) and submit them to ARBC using this Startup Contributions Form. Instructions (including where to send the form) are included on the form.

Ten Steps for Getting Started

These ten steps may sometimes overlap or need to completed out of order – adapt and overcome!

1. Form a team

Teams can be formed from any group of like-minded individuals of the appropriate age/grade for the program.  ARBC assists with team formation by collecting the names of interested parents and students, which we share with the people who have volunteered to coach teams.  An FLL Challenge team must have two adult coaches for up to ten student team members; please volunteer to coach if you haven’t already!

2. Select a meeting location

Teams can meet anywhere that is acceptable to all parents and students involved with the team.  Ideal meeting locations have enough room for the team to meet and carry out their work, and to store their materials between team meetings.  If possible, avoid having to setup and take down the robot game table for each meeting (the robot game table is 4’ x 8’, so this is not always possible).

3. Select meeting days/times

FLL Challenge teams must accomplish a lot!  Most teams need to meet at least twice per week.  Each meeting must be long enough to accomplish a good chunk of work (2 hours or so).  Students may find longer meetings difficult unless they are truly motivated.  Afternoons after school are a popular time choice, especially for teams that meet in school facilities.  Make sure that all students/parents are committed to the selected days/times – team members that arrive late/leave early will disrupt the team’s work.

4. Complete the on-line FIRST coach signup

Two team coaches (and any mentors working at least 30% with a team) must register with FIRST and complete a background check process.  The ARBC FLL team administrator sets up the official team entry with FIRST, then “invites” the coaches to complete their registration and background check.  Coaches – please complete your registration as soon as you receive the invitation.

FIRST account login page (Your invitation contains the correct URL, you’ll only need this direct link if you lose it and don’t have a bookmark.)

5. Acquire/study team equipment and season materials

All of the FIRST seasonal challenge materials are available on-line and can be downloaded; some are also provided in hardcopy form once your team is registered.  ARBC loans LEGO robot sets to the teams that ARBC sponsors; ARBC also orders/pays for sponsored team’s official FIRST season materials using a combination of the team startup contributions and ARBC resources as needed.

Some of the most important resources for coaches and students include:

  • Challenge Overview and Updates
    • These describe what teams need to be doing to get ready for this season’s tournaments
  • Robot Game Rulebook
    • This describes in detail the requirements for the robot game, including equipment and mission scoring
    • All students as well as the coaches musts be familiar with this rulebook for a successful tournament robot game experience
  • Rubrics and Judging Session Flow Chart
    • Three out of four tournament scoring opportunities are judged sessions
    • Coaches and students must be familiar with the Rubrics used to score judged sessions for a successful tournament judging sessions experience

Coaches can use these resources to help them “get smart” about how to guide the students for this season:

  • Multimedia Resources
    • Some on-line and hardcopy resources that can help your student team members understand this season’s problem domain
  • Team Meeting Guide
    • Contains suggestions (not requirements) for running team meetings, including content to be introduced to students
  • Session Support Slides
    • Detailed PowerPoint slides outlining possible meeting activities, structured to support the Team Meeting Guide

Unlike the Rulebooks and Rubrics, coaches should not feel bound or limited by these resources – they are supplemental, not prescription or directive.

If you have questions about any of the resources such as how or whether you are expected to use them, please contact the ARBC FLL Challenge administrator for help.  (Send e-mail to Info@AnacortesRobotics.org if you don’t know who to ask.)

6. Start holding meetings

Use the FIRST-provided on-line materials to get your team started with the seasonal challenge subject and details.  Team members and coaches also need time to learn how to build/program the LEGO robot equipment.  Lots can happen before the official hardcopy and LEGO season materials arrive.

6. Collect per-student team startup contributions from parents

These funds are needed to help cover the cost of getting the team officially registered with FIRST and to cover other startup expenses.  Checks (made out to ARBC) are the currently preferred collection method.  Must be collected as soon as the team starts meeting.  Turn the collected funds over to ARBC as soon as possible so they don’t get misplaced.

8. Formally register the team members with FIRST

Once a team has started meeting, coaches must “Invite” parents to register their students on the FIRST website to complete the team registration with FIRST.  The ARBC team formation process collects the parent’s e-mail addresses; the ARBC FLL Challenge administrator will share them with the coaches.  All students must be officially registered in order to attend Tournaments.

9. Ask for help/guidance as needed

Part of ARBC’s support for teams is help and guidance for solving problems that may arise.  If a team’s coaches and parents have issues with understanding how to guide the team, contact the ARBC program support person (use Info@AnacortesRobotics.org if you don’t know the person’s direct e-mail).

10. Have fun, stay sane.

An FLL Core Value is having fun (usually while working hard).  FLL Challenge teams work hard; coaches work hard to.  Remember that it is all supposed to be fun for everyone as well as hard work.  Ask for help/guidance as needed.

Competition Scoring details

Judging points

The team will be judged for their display of Core Values (during the team’s presentations and the Robot Game), their Innovation Project, and their Robot Design.  Teams are scored as Beginning (1), Developing (2), Accomplished (3), or Exceeds (4) in a number of specific objectives in each of the judged areas.  The specific rubrics are:

  • Judging rubrics (in color) – Coming 8/6

Robot Game points

The team’s performances in the Robot Game are scored at the end of each match.  (Only the top scoring match’s point total is used for the team’s overall Robot Game score.)  The rules for playing the Robot Game are in the Robot Game Rulebook.  The Robot Game scoresheet (extracted from the Robot Game rule book) can be found here:

  • Robot Game scoresheet – Coming 8/6

IMPORTANT!
All robot game wording means precisely and only what it says. If a detail is not mentioned, it does not matter.  Read the Robot Game Rulebook carefully!

Planning Team Meetings

Third-party Guides

Some advanced FLL teams put together guides to help coaches, coach (these may build on the official FIRST season materials but are not official products):

SUBMERGED Session/Weekly Progress Slides

FIRST’s Team Meeting Guide provides an outline for holding team meetings that coaches can use.  This set of PowerPoint slides provides more directed approach, attempting to drive students towards required outcomes.  (These might be more useful as sources of ideas rather than strict guidance.)  You may have to download each set of slides to your computer if your browser doesn’t display them directly.  Each “session” covers the material for approximately one week out of a twelve week (3 month) build season, but probably cannot be followed blindly:

  • Coming 8/6

Completing the Innovation Project

The Innovation Project requires student team members to learn about a problem domain, find a problem in that domain, and then come up with an innovative (new) solution to the problem.  The act of performing investigative research does not always come easily to team members, many of whom are more used to being given explicit problem questions that they answer by referring back to specific instructional material.

Building/Playing Mission Models

The instructions for building the mission models are located on the FIRST Inspires website in the Resource library.  To save you some time/trouble finding them, here are the links to the English language building instructions.  Read the Robot Game Rulebook to learn how to “play” the Missions.

  • SUBMERGED mission model building instructions coming 8/6

Once the mission models are built, there are two sources of information on how to “play” the mission models in order to score points (click on the links to access the information):

  • Robot Game Rulebook – Coming 8/6 (details the exact rules for playing the robot game, including how to score mission model interactions)
  • Robot Game Missions video – Coming 8/6 (a narrated walkthrough of how to play the Robot Game including how the robot can interact with each Mission Model to score points)

The team should develop a strategy for playing the mission models (the order of the missions and how the robot moves to get to each mission).  An important aid in developing this strategy is the robot path diagram (extracted from the Robot Game Rulebook):

  • Robot Path Diagram – Coming 8/6

Robot Programming

Robot Mission Custom Coding Sheet

Planning robot missions involves a concept for the mission, a path diagram for the robot’s motion, and pseudo-code for the programming statements.  This custom coding sheet captures these planning elements:

  • Custom Mission Coding Sheet – Coming 8/6

SPIKE Prime app (LEGO Education application)

LEGO Education provides a single consolidated application for programming both the SPIKE Prime robots used for FLL Challenge as well as the SPIKE Essentials robotics equipment used for FLL Explore.  LEGO provides a downloadable/installable version of the application for Windows 10/11, Macintosh, iPad, Android, and Chromebooks.  In addition to the downloadable/installable applications, LEGO Education provides a web version of the application that runs in the Google Chrome browser.  Links:

EV3 Classroom (LEGO Education application)

LEGO Education has all-but- retired the older LABview-based EV3 programming tool (now renamed to EV3 Lab).  The newer multi-platform EV3 programming tool is called EV3 Classroom and is available for Windows, Mac, Chromebook, Android, and iPad.  The app has a built-in “Start” section that includes instructions on building a “Driving Base” (basic robot chassis), introductory programming (Getting Started), Unit Plans for building knowledge and skills, and building plans for a variety of robotic models:

Use EV3 Classroom unless you are knowledgeable and skilled enough to know about and use other applications like the now-deprecated EV3 Lab, LEGO Educations EV3 MicroPython programming, or Microsoft’s MakeCode. 

FIRST‘s EV3 Classroom Alternative Robot Lessons (for EV3 instead of Spike)

FIRST’s guidance for learning robot programming has shifted to the relatively new Spike platform and away from the venerable and still-capable EV3.  At the same time, LEGO Education has shifted from the original EV3 Labview software (only provided for Windows and Mac) to the new EV3 Classroom app.  Unfortunately, the older-but-still-available FIRST tutorials that used the EV3 Labview tool aren’t directly consistent with LEGO Education’s newer EV3 Classroom app.  Fortunately, an Alternative Robot Lesson series was developed for a previous season and can still be used as an entry-level tutorial:

  • FLL Challenge Alternative Robot Lessons (one-page overview)
  • LEGO Education Robot Trainer Unit Plans (referenced in the FLL Challenge Alternative Robot Lessons)
    • These are the same lessons that are built into the EV3 Classroom app Unit Plans -> Robot Trainer
    • Lessons include Moves and Turns, Objects and Obstacles, Grab and Release, Colors and Lines, Angles and Patterns, The Factory Robot, and The Guided Mission 2021-22 (not the current season)
    • Students that understand/master the robot behaviors in these lessons are well-positioned to take on the FLL Challenge Robot Game missions
    • Coaches and team members can use this web-based view of the lesson plans to review the lessons

EV3 Lessons (3rd-party educational materials)

Robot programming is about controlling motors (moving the robot and robot manipulators), reading sensors, and performing calculations.  Teams interested in building EV3 robot programming skills through guided sessions can benefit from the resources at this URL:

Programming Hints

Good to know/remember

  • The LEGO EV3 brick doesn’t know which motors are plugged into which motor ports (the lettered ports) or which sensors are plugged into which sensor ports (the numbered ports), so it is important that:
    • Programmers and hardware technicians (builders) communicate with each other the physical interfaces (which ports for which motors/sensors) and the logical interfaces (which ports are programmatically identified for which motors/sensors)
  • The tournament game tables are generally set up according to the Robot Game Rulebook, but are very likely to vary somewhat from however a team’s regular practice field is set up
    • The mat may be in a slightly different position within the walls
    • The mission models may be in slightly different positions on the mat
    • Robot programming that allows for minor variances is generally more successful in competition than rigid code carefully tuned to just one field
    • Attending a scrimmage or other practice venue where a robot can be tested on “foreign” fields is a great way to see where weaknesses exist in robot programming
  • EV3 “Movement” blocks control the two large motors simultaneously for directional movement of a robot with two driving motors
    • The EV3 brick has built-in control logic so that both motors rotate at the same speed when going forwards or backwards
    • The “steering” input value causes the control logic to run the motor for the inside wheel of a turn more slowly (or even in reverse) so that the robot makes a steady turn while moving forwards or backwards
    • Steering inputs from 1 to 50 reduce the inside wheel speed by 2% for each unit of input (20% for 10, 40% for 20) with an input of 50 reducing the inside wheel speed by 100% (i.e., the inside wheel should be stationary while the outside wheel turns the robot using the inside wheel as the pivot point.)
    • Steering inputs from 51 to 100 turn the inside wheel in the direction opposite the outside wheel at increasing rates of 2% for each unit of input (-20% for 10, -40% for 20, etc.) with an input of 100 causing the inside wheel to rotate opposite the outside wheel at 100% of its speed.  A steering input of 100 causes the robot to rotate around the midpoint of the axis between the two drive wheels.
    • Some EV3 bricks have been observed to behave inconsistently at steering inputs close to 50.  The inside wheel may move more than it should during the turn, but jump back to the position it should have just reached by the end of the turn.  If making Movement block “pivot turns” (steering input 50) isn’t working on your team’s robot, an alternative “MyBlock” can be defined to use Motor block statements that hold the inside (pivot) wheel in place while commanding the outside wheel to move by itself to make the robot pivot.

Avoiding assumptions

Good programs don’t assume their environment when they don’t have to.  Here are anti-assumption suggestions:

  • Zero out the “degrees counted” on motors at the start of routines that depend on odometer to measure distances
  • Explicitly define the “movement motors” when using Movement (dual-motor control) blocks
  • Set a default movement speed; override it only when necessary
  • Understand and deliberately control whether motors “hold position” or coast when stopped; holding position uses power but is more precise when multiple move segments are chained together

Generally good practices:

  • Programmers should write their programs out in pseudocode (simple English language statements about what the robot should do) before selecting the explicit code statements that are the actual program
    • Pseudocode can often better capture what the programmer intends to do before they translate their intentions into program code that will only do what it is capable of doing
  • Use speed controls rather than power level controls in almost all cases; power levels lead to variable performance as battery state of charge changes
  • Use reasonable speeds; too fast leads to wheel slippage or precision driving problems, too slow may make a mission take too long
  • Use distance-based movement measurements (rotations or degrees) rather than timing-based movement measurements (seconds) in most cases; timing-based movement distance varies according to factors including motor speed, battery charge level, and friction conditions
  • Odometry (measuring wheel movement) is simple to implement and can lead to adequate results in less complex situations, but sensor-based movement control adapts better to minor variations in field conditions
  • Use “wait” blocks judiciously to allow the physical world where mass&momentum exist to catch up with the computational world  where statements jump from one to the next in less than a microsecond (1/1,000,000 sec.)

LEGO construction trivia

  • A basic unit of length in LEGO construction is the on-center distance between “studs” (the nubs on the top of some types of blocks) and the “holes” in Technics beams – this distance is 8 mm.
  • Axles and some other parts are measured in lengths such as “3”, “4”, “5”, etc.  The units are the inter-stud distance of 8 mm, so a 3 unit axle is 24 mm long (about 1 inch)
    • If you don’t have access to the measurement scale from one of the LEGO robot kit inventory cards, you can determine the length of an axle by holding it up against a beam or other component with studs or holes; a 8 unit axle will cover 8 studs  or holes of distance
  • LEGO blocks are .1 mm smaller on either side than the multiple of 8 mm that their stud count would suggest; this is to provide some relief for fitting parts together and taking them apart.  For example, a 2 stud by 4 stud block is 15.8 mm wide by 31.8 mm long.