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.  Print this and have the students judge their presentations themselves:

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.)  Print this and have students use this for scoring their own robot game missions during testing and practice matches:

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 and other materials

FIRST’s Team Meeting Guide provides an outline for holding team meetings that coaches can use.  Although the FIRST Resource library contains the baseline set of information a team needs to compete, the FIRSTLEGOLeague.org website has supplemental information that you may find useful.  Among them is a set of PowerPoint slides provides more directed approach to helping students, 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:

This additional website may be confusing since it duplicates material on the main FIRST website, but looking through all of its materials is helpful.

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.

The more engaged you can help the students become in researching/investigating the problem domain, the more likely they are to be able to start thinking about problems and solutions.  Finding members of the community who have experience in the problem domain and having them speak with the students for 30 to 60 minutes to help them see very concrete ideas and problems is very helpful.

The actual judging of the Innovation Project is based entirely on the team’s judged presentation at the competition.  Their presentation can include handouts of materials to the judges, but the judges will not keep any of the materials past the judging session.  Every student should be engaged in the presentation, and every student should be prepared to answer questions about the problem domain, their problem and their solution.  This doesn’t mean that every student should know everything, just that every student should have at least a piece of the puzzle and be prepared to talk about it.

It is also helpful if the student team members can talk about:

  • how they came up with their idea for a problem
    • Where did they go for ideas?
    • What problems did they consider and discard before settling on the one their project is based upon?
  • how they developed their solution:
    • What ideas for a solution did they consider?
    • How did they evaluate possible solutions?
    • How did the pick the one they thought was best?
  • to whom they have shown the solution:
    • Friends and classmates?
    • Parents and relatives?
    • Experts in the community who can provide feedback on the details of their problem and proposed solution?
  • feedback they received about their solution, and
  • what updates they have made to their solution based on feedback.

Teams that can talk about the process of their Innovation Project in addition to the project itself will probably do better in judging.  Even better if they show clear signs of an iterative process that incorporates feedback from others. 

Building/Playing Mission Models

The instructions for building the mission models are located on the FIRST LEGO League website (with a link to them on the FIRST Inspires website in the Resource library.  Have the students read the Robot Game Rulebook to learn how to “play” the missions in detail – the Rulebook is the authoritative specification for scoring points in the robot game.  (Note that the periodic Challenge Updates that are published in the Resource Library MAY change some of the scoring criteria if a rule is found to be ambiguous or confusing.)

Plan for the team to spend at least several hours building the mission models.  It is a fun but possibly challenging exercise for the students.  Adults should double-check the construction/operation of the mission models to make sure they are correct.  This can be an exercise that doesn’t require particular expertise from a coach, so mentors may lead this activity while coaches focus on planning for the season.

Once the mission models are built, there are two sources of information on how to “play” the mission models in order to score points; both of these resources are in the FIRST Inspires Resource library:

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

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, which is probably in the Robot Game Rulebook.  Developing this strategy is a good example of an iterative design approach:

  1. What is the first mission the students want to solve?  Have them design, code, and test the mission.  When it works, go to the next step.
  2. What is the next mission the students want to solve?  Have them design, code, and test the mission.  When it is working, go to the next step.
  3. What is the order in which the students want to carry out the missions? Do they need to do anything to the robot in between the missions?  Plan this out, then test the set of missions executed together.  Fix any problems and repeat testing until the set of missions works correctly.
  4. Keep repeating steps 2 and 3 until they have all the missions working or they run out of time (the latter is much more likely than the former).

It is highly likely that the actual process of picking missions, designing/coding the robotic solution for the missions, and testing/correcting the missions until they work will be messier than these simple steps.  Students may break into pairs and work on different missions simultaneously.  As students come up with working solutions for one mission, they may realize they have a better approach to a mission that is already “done.”  And as they work to build their total set of missions, they may realize better approaches/strategies for combining missions, mixing up the actual robot movements so that multiple missions are being executed simultaneously, etc.  You should encourage this kind of thinking whenever possible, to avoid the students getting into a purely linear, single-threaded approach to both developing the mission solutions and to operating the robot while solving missions.

Robot Programming

Robot Mission Custom Coding Sheet

Planning individual robot missions involves developing a concept for the mission, creating a path diagram for the robot’s motion, and writing pseudo-code for the programming statements before actually coding the mission.  A custom coding sheet in the Robot Game Rulebook captures these planning elements.   Make copies of it for your student team members to use to document their development process, and bring the completed planning sheets to the competition to show the judges.

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:

Programming Hints

Good to know/remember

  • The LEGO brick doesn’t know which motors/sensors for a particular  use are plugged into which 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)
    • Student team members document what motors/sensors are in which ports and use this configuration consistently for all missions they are taking to competition.  If the brick needs to be swapped out or some motors/sensors are accidentally unplugged, having this documentation could be the difference between a quick “fix” and a tearful failure during the robot game.
  • The tournament game tables are generally set up according to the Robot Game Rulebook, but are 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
  • “Movement” blocks control two motors simultaneously for directional movement of a robot with two driving motors
    • The 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 reduce the inside wheel speed by some percentage for each unit of input until a crossover point when the inside wheel will be stationary while the outside wheel turns the robot using the inside wheel as the pivot point.  Some call this a “pivot turn” and consider it to be a more accurate/repeatable approach to turning.
    • Steering inputs in excess of the crossover point cause the inside wheel to move in the direction opposite the outside wheel at increasing rates   A maximum steering input causes the robot to rotate around the midpoint of the axis between the two drive wheels.  Some people call this a “spin turn”, and it is perhaps second in accuracy to only the “pivot turn.”
    • Some bricks (EV3 vintage?) have been observed to behave inconsistently at steering inputs close to the crossover point.  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” 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.  Don’t jump to a “MyBlock” solution until/unless the student team members test and prove to themselves that it is more accurate.

Avoiding assumptions

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

  • Every code block should start by initializing variables, zeroing out counters, defining movement motors, and establishing other program elements that might vary between different code blocks.
    • 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 time-based movement measurements (seconds) in virtually all 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.)

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:

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.