Robot Design & Strategy Seminar Peoria FLL Group Abhijit Patkar 09-Sep-2017

Welcome to the HYDRO DYNAMICS Season - Robot Game Agenda

Overview

Robot Design Judging

Mission Strategy

Robot Building

Robot Programming

Table Competitions

Wrap-up

Discussion Overview Why FIRST? FIRST Programs

 501 (c) (3) Non-profit organization

 Founded 1989, by inventor

 International HQ in Manchester, NH

 85,000 volunteers

 3,000+ sponsoring companies

 60+ teams in Peoria area

 Two qualifiers/competitions  Bradley University, Dec 9th  Lindbergh Middle, Dec 16th

 Two scrimmages  Dunlap High, Nov 4th  Daarul Uloom, Nov 18th FLL 2017-2018 Challenge

 2007 POWER PUZZLE  2016 ANIMAL ALLIES  2006  2015 TRASH TREK  2005 OCEAN ODYSSEY  2014 FLL WORLD CLASS  2004 NO LIMITS  2013 NATURE'S FURY  2003 MISSION MARS  2012 SENIOR SOLUTIONS  2002 CITY SIGHTS  2011  2001 ARCTIC IMPACT  2010  2000 VOLCANIC PANIC  2009 SMART MOVE  1999 FIRST CONTACT  2008  1998 PILOT YEAR FLL Competition

Three judged events & up to four table rounds

Core Values Robot Design Project

Table score is only used to determine advancement to State Tournament Tournament Day

Regional Qualifiers All-day Saturday 8am to 5pm

Three main activities for teams  Pit area and practice tables  Judging Events  Table Competitions

Award Ceremony

State Championship – typically last Saturday in January What to Bring to the Tournament

Team Information Sheet  Three copies, one for each judge panel Team Roster - Consent and Release form  Get it from FIRST registration system Robot, extra robot batteries and charger (if rechargeable) Robot attachments & starting jigs Laptop computer for program changes Food, drinks, and snacks Extension cord and power strip Setup kit & loose pieces We're all in this together!

 The robot does not do what it is  Stop all new work on the robot 1 supposed to do (ideally 2) weeks before competition

 It worked yesterday; today it is all  Rehearse presentations messed up  Put together documentation for robot  Preparing for judging sessions design judging

 Time management  Include teamwork activities throughout

 BOTTOM LINE: You’re not alone! the season Every team faces these challenges!  Follow the rubrics

 Practice giving presentations to parents Robot Design Judging Robot Design Judging

Judging sessions are very important The robot is judged according to a rubric PREPARE and PRACTICE Evaluations are subjective and are done by a panel of volunteer judges Provide documentation for judges This table run is not scored, take your time, explain what the robot is doing Rubric – more than just the robot

 Mechanical Design  Durability  Mechanical Efficiency  Mechanization

 Programming  Programming Quality  Programming Efficiency  Automation/Navigation

 Strategy & Innovation  Design Process  Mission Strategy  Innovation Mission Strategy Team Mission

Your team must: Create a strategy to maximize points in 2.5 minutes Build a robot that interacts with mission pieces Program the robot to accomplish missions

Explore the challenge theme in depth

Share the fun of team based technical problem solving

Get exposure to technical and professional career paths Engineering process

Define problem

Brainstorm solutions and select one

Keep it simple

Plan and create a flowchart

Take measurements

Test, Validate, Test Preparation

Important to stop and think about WHAT your robot needs to do BEFORE you go and build it

Understand and analyze the game

Decide what missions to go for

Sketch and brainstorm Print a copy! Read the document! Make sure to check the Game Updates once a week! Understand the Missions

Wording is chosen very carefully in the document

If it doesn’t say you can’t do it, then you can

Look outside the box or the circle

Print a copy! Read the document! Make sure to check the Game Updates once a week! Strategize

 How should we order things?  Points – they are complicated  Ease of accomplishing mission  “Fun”  What missions can we combined?  Location (zones, just passing by)  Same attachment  Creating/removing obstacles for later missions  Retrieving scoring objects for later missions Online scoring tool –  End Game flltournament.com (Challenges tab) Strategize 2

Run 1 Run 3

Run 2 Field Setup Guide

Placing your practice mat according to the field setup guide is CRITICAL

 STEP 3 - The Mat is smaller than the playing surface by design. Slide and align it so that there is no gap between the south edge of the Mat and the south Border Wall, then center the Mat east-west, with equal gaps at left and right.

Follow the setup guide – pay attention at the scrimmages Robot Building Design the Runs

Time on the field is valuable  Robot can’t score when it’s in base

Align the robot quickly  Make attachments easy to put on/take off  Strategy: Try to start with as many attachments ON, and take off as you go – it’s usually easier to take off than put on  Use markings on the mat  Use starting “Jigs”

Practice, practice, practice Construction

 Smaller robot is more maneuverable

 Consider where to mount sensors

 Keep your robot sturdy and modular  Three points of contact

 Big wheels vs. small wheels  What are the pros/cons?  Will a robot with big wheels move faster?  Will a robot with big wheels move more accurately?

 Organize your parts into sorters

Team needs to reach a consensus on design decisions Chassis

What are your constraints? Start with what you know

 Space Try using an existing design  Rules Adapt and go from there What do you want to Build a variety and take them accomplish? for a test drive  Sensors How fast was it?  Motors How accurate was it?  How to attach tools? Is it repeatable?

Robot is the means to deliver the tool  Consider designing attachments first Attachments

 How does it work?  Passive  Mechanical  Motorized

 What is it like? Example: quick  Examples from the real world connect attachment  Make attachments as few as possible and easy to attach/detach

 Think of simple ways to accomplish missions  Don’t have to use a motor  Don’t have to approach from the “front”

Axles slide into holes in bars. Axles can also be fixed to the robot Attachments

 Example: trigger mechanism  Rubber band positioned  To snap hooking beam  To a vertical position Pivot  End of beam hits vertical part of platform causing beam to tilt up capturing the loop. Attachments

 Example: trigger mechanism

 The robot stops rotating when this piece hits the mission model BEFORE You Build

 Think about BASIC ACTIONS  PUSH, PULL, LIFT, CARRY, etc.

 Categorize missions that you want to do into one or multiple of your BASIC ACTIONS

 Sketch sample attachment designs for each BASIC ACTION Positioning Accuracy

 The robot is only a means to deliver a tool  If the robot does not go to the right location, it cannot deliver the tool  The robot will never move really accurately.  Plan for +/-0.5”

 The robot has to be AUTONOMOUS A fly swatter can be off x & y axis by 50% and still  It has to use sensors or some means of positioning itself on the field hit the fly!  Trying to rely only on Moves and Turns will not be reliable  Most teams only rely on moves and turns

 How far off can the robot be and still accomplish the task? FLL Examples?  Docking & alignment jigs, Guides, Rakes, Funnels, Boxes, Shovels Sensors – Motor Rotation

 Use sensors to improve accuracy  “View” a sensor reading on the NXT or EV3

 Rotation sensors  Inside the motors  What does the sensor actually read?

 Wheel rotations/degrees is different than distance on the mat  What if the wheels slip a little? Sensors – Light Sensors

 Lines on the field do not “change”  Help your robot “find itself” when “lost” in the field

 What does the Light Sensor actually read?  What happens when you put the light sensor flat on the mat?

 EXPERIMENT  Can it tell the difference between black & white?  What happens when the lights in the room get brighter?  TAKE DATA  How can we get around this?  Light calibration routine  More advanced software  Light sensor shield  Removes “variables” Robot Programming Tips

Divide program into small steps- use comment boxes

Program one step at a time

Action should be consistently repeatable (3x in a row)

Use my blocks (saves memory)

Pick a simple mission first that is close to base. Software – EV3 or NXT

 EV3 software recommended over NXT software

 EV3 Software  Windows Laptop or OS X  Full Functionality  iPad or Chromebook  Limited Functionality Table Competitions Table Competitions

 The contest is held in a main gym or large area

 There are 3 to 4 rounds of robot table runs

 Best single score determines winner

 Teams need to be queued up at least a match ahead

 Teams return to the pits after the match Pit Area and Practice Tables

The Pit is where we come to find your team for all activities.

Each team has a half table (~4 ft x 2 ft space)

Practice rounds and final tune-up of robots is common

Typically you may get 3-4 practice rounds

Sign-up for practices

Pay attention to the schedule

Judging events take precedence over table runs Wrap-up Resources

 Challenge, Updates, Resources  https://www.firstinspires.org/resource-library/fll/hydro-dynamics-challenge-updates-and- resources

 Peoria FLL Yahoo Group  https://groups.yahoo.com/neo/groups/PeoriaFLL/info

 Online scoring tool  http://flltournament.com/ChalList.aspx

 Mindstorms EV3 – Learn To Program  https://www.lego.com/en-us/mindstorms/learn-to-program Recommended Reading

 Coaching & Mentoring  https://sites.google.com/view/fllil-coach-mentor/home

 Strategy & Design  Additional slides in this presentation – Courtesy of FLL Credits

 Matt Birkel, Peoria FLL Group, 2015  Kevin Reed, Washington FIRST Group, 2011  FIRST Website, 2017  https://www.firstinspires.org/robotics/fll  IL FIRST Website, 2017  http://www.firstillinoisrobotics.org/fll.html

This presentation was created according to the Creative Commons License: https://creativecommons.org/licenses/by/3.0/us/ Discussion Strategy, Design, & Navigation – Slides by FLL Strategy Know the rules Start with the Challenge Documents Paper and Video - study both

Everyone on the team should know the rules! How the game works Goal: Design, build and program a robot and attachments to score as many points as possible in 2-½ minutes. Robot must complete missions autonomously. Robot can only be touched and manipulated when in base. Rules continued Pay Close Attention to:

Proper Mission Model Placement Definitions – IN, ON, etc.

If it Doesn’t say you can’t - you can!

Q&A will be published as questions and clarifications arise. Check the Challenge website regularly.

Everyone on the team should know the rules! Setting Priorities Time will be biggest consideration ● 2.5 minutes to run robot ● 3 months to work on missions

Can’t do everything

How do you choose? Priorities continued Assess: Point density - What is going to give you the most points for the least amount of effort and time spent?

Relative level of difficulty Time Remaining Score ● Further from base with more turns ● Mechanical difficulty 155 ● Programming difficulty

Team Strengths ● Are you better at programming/building/about even? Combining/Ordering Missions What can we do together? • Location (Zones, Just Passing By) • Same Attachment/Similar actions(Picking up, dropping off, etc.) How should we order things? • Get easy/most reliable points first • Ease of putting on/taking off attachment • Using same attachment • Creating/removing obstacles for later missions • Retrieving scoring objects for later missions • End Game Zone Example Sample Mission Tracker Design

Chassis Design Considerations

What are your constraints? ● Mission Model layout ● Rules ● Access to power/programming port

What features do you want your robot to have? ● Sensors ● Motors ● How to attach tools ● Wheels/Treads Chassis - Approach Building a Foundation • Assess team capabilities • Try using an existing design; adapt and go from there • Build a few & take them for a test drive • Start simple • Built it robust Tools/Attachments What is it like? •Use examples from the real world

How does it work? • Passive (wedges, etc.) • Mechanical (springs, etc.) • Motorized Tools/Attachments Quick Prototyping-Proof of Concept •Make a simple prototype to prove that your solution solves the problem •May take several tries to get it right •Once you get something working keep it and rebuild for improvements •Take lots of pictures/video Robot+Attachments - putting them together Consider transition time ●Standardize the way attachments go on and off ●Avoid using pegs as they tend to stay with the wrong piece ●Try using axles, magnetic pieces, latches Navigation Three methods of moving the robot

Least 1. Dead Reckoning reliable • Moving based on a known distance (rotations/degrees of the motor) or time 2. Sensor Orientation • Finding position using lines, detectable markings and strategic objects 3. Mechanical Orientation Most reliable • Using bumpers, rollers, guides and jigs to square or guide the robot Dead Reckoning • Basic point and shoot • Moving the robot based on rotation sensor count • Reliable for short distances & limited turns • Moving the robot based on time • Not as reliable • Highly variable on long distances • Highly affected by battery voltage level Dead Reckoning The BIG problem w/ Dead Reckoning is… • After 2 turns your robot is “lost”! Why? • Imperfections in the motors/robot • Wheel slip • Weight and friction differences based on position of attachments • You might not have aimed your robot perfectly • Accumulated error from encoders • Gear lash from starting and stopping adds as much as 10-30 degreesto the encoderreadingseach time • Move Block “weaves” as it tries to autocorrect • Robot might not end pointing straight because of weaving Sensor Orientation • Using mat markings and table objects • Light/Color sensor(s) stop at lines/markings or follow lines • Ultrasonic sensor(s) to “locate” an object or maintain a desired distance • Gyro to make a turn • “Square up” to lines Navigation Square up to a line

Approach Reorientation Navigation Light Sensors for line navigation Lightsensor for waypoint detection

Shieldedlight sensor for line following Mechanical Orientation • Mechanical stops • “Square up” to walls • Funnels to guide the robot • Rails/rollers that ride along the outer wall Mechanical Orientation • THE MOST RELIABLE MEANS OF NAVIGATION! • If you can do it with mechanical orientation… do it! • USUALLY you need to use Dead Reckoning or Sensor Orientation to get close, then use Mechanical Orientation to finish the mission Variability Q: Why doesn’t my robot move straight or turn reliably? A: Nobody’s does! • But there are things you can do to minimize the problem • You need to shave off error – Good design – Good buildingtechnique – Smart programming – Standardizing Good Design Moving predictably: Things that help • Low Center of Gravity (CoG) • Even weight distribution • Motor pairings for equal power • NOT USING a swivel castor How did we learn this?

Experiment! Wheel base/tire size experiment Wheel base/tire size experiment

Variance for narrow base & multiple tire sizes Wheel base/tire size experiment Variance for wide base & multiple tire sizes Good Building Technique • Mounting tires on rims properly • Supporting the axles so they don’t flex • Removing friction/anything rubbing Smart Programming Moving predictably: • DUMPING INERTIA between moves • Avoiding Wheel Slip • Don’t patch out! • Avoid running over objects (if possible) • Counter-rotate Turns vs Swing Turns • Counter-rotate: Great for tight spaces, but not accuracy • Swing: Great for accuracy, but not tight spaces Turns Swing turn Counter-rotate turn Standardizing: Batteries • Voltage can have a huge effect on reliability • When robot is suddenly NOT working it’s probably because of low voltage • Watch for fresh battery over-volt • Sometimes too fast with fresh batteries • Standardize on brand/type • Monitor the voltage throughout practice Standardizing: The starting location • Use base marks for lining up robot • Draw a map of each mission starting position • Build a starting jig • Align to markings on mat NOT the table • Make it adjustable so it can be snug to table rails