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 Dean Kamen
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 NANO QUEST 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 FOOD FACTOR 2001 ARCTIC IMPACT 2010 BODY FORWARD 2000 VOLCANIC PANIC 2009 SMART MOVE 1999 FIRST CONTACT 2008 CLIMATE CONNECTIONS 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