320 likes | 446 Views
Agile Design For FIRST Robotics. 2009 FIRST Robotics Conference Atlanta, Georgia. Greg Marra & Tom Bottiglieri. Greg and Tom. TheBlueAlliance.net Boston Regional College Students in Boston( ish ), MA Olin College Northeastern University FRC Alumni & Mentors 177 - Bobcat Robotics
E N D
Agile Design For FIRST Robotics 2009 FIRST Robotics Conference Atlanta, Georgia Greg Marra & Tom Bottiglieri
Greg and Tom • TheBlueAlliance.net • Boston Regional • College Students in Boston(ish), MA • Olin College • Northeastern University • FRC Alumni & Mentors • 177 - Bobcat Robotics • 195 - The Cyber Knights • 125 - The Nutrons • 2124 - The X Factor
Agile Development • Movement in Software Engineering • Values: • Teamwork over Process • Frequent Reflection and Adaption • System Level Understanding • Iterative, Re-usable Designs • These values can be applied by FRC Teams
Take Home Messages Design For Change System Integration Record and Reflect Buddy System Buy It, Don’t Build It
Design For Change Design For Change
Identify Goals And Values • Determine Strategy • Let function drive design • NOT the other way around! • Minimize “Confirmation Bias” • Don’t shove round pegs into square holes • “Building a good launcher” vs. “Scoring Points Effectively” Design For Change
Triple Constraint • Overall robot quality affected by: • Time • Budget • Scope • You cannot change one without affecting another! • Which is most important for FRC?!? Time Design For Change
Waterfall Model • Plan up front, lock down design THIS IS BAD! Design For Change
Agile Model • Implement small piece • Test • Evaluate / Review / Reflect • Repeat • Repeating this process many times allows you to home in on your design goals. THIS IS GOOD! Design For Change
Iterative Design / Module Re-Use • Make small changes, year to year • Use your experience wisely • Sometimes it’s ok to understand the switches and knobs, but not what's under the hood. • You only have 6 weeks! • Spend more time solving higher level problems Design For Change
Liquidity • Nothing is final, nothing is perfect • Don’t be afraid to fail • Small failures are necessary for iteration • Be prepared to jump ship • Modular design allows change later Design For Change
System Integration System Integration
What is a system? System Integration
What is a system? • A Robot is a system of components • Components are also systems • You can repeat this tree out to every last nut and bolt on the robot. System Integration
Product Level Robot System Level Mechanical Control Sub-System Level Manipulator Drive Electrical Programming Component Level Chassis Power Transmission Hardware Level Gear Box Wheels Chain/Sprocket
Systems Integration • Integrators are concerned with “The Big Picture” • Chain is only as strong as its weakest link System Integration
Record and Reflect Record and Reflect
Design Notebooks • What have we accomplished? • What is in our way? • How can we remove obstacles? Record and Reflect
Reflection • You’re smarter than you were on January 6th. • Hard problems are now easy • Look how much you’ve learned Record and Reflect
The Buddy System Buddy System
We > Me ? ! Buddy System
We > Me Buddy System
COTS Drives Interfacing • FRC Robots are prototypes • Interface points are most common failure points in FRC robots • There IS value in designing higher level systems! • Do your research • “Off the Shelf” doesn’t mean “Invincible” Buy It
Design Simplification • You solve complex problems by simplifying terms. You can do the same with robots. • Finding a partial/full COTS solution for a sub-system will allow more time to concentrate on building a rock solid interface. • For example…. Buy It
Product Level Robot System Level Mechanical Control Sub-System Level Manipulator Drive Electrical Programming Component Level Chassis Power Transmission Hardware Level Gear Box Wheels Chain/Sprocket
Product Level Robot System Level Mechanical Control Sub-System Level Manipulator Drive Electrical Programming Component Level Chassis Power Transmission Hardware Level Gear Box Wheels Chain/Sprocket
“Real World” Examples • Here are some successful teams who really “Get It” • Each team exemplifies some Agile Design methods
Simplicity In Design • Rhode Warriors – 121 • Minimize build time • Maximize tweaking time
COTS Use • Simbotics – 1114 • They have solved many design problems with “canned” solutions • Drive Base • 2008 Shooter • 2006 Shooter
Module Reuse / Iterative Design • The Pink Team - 233 2004 2005 2007 2008
Take Home Messages Design For Change Systems Integration Record and Reflect Buddy System Buy It, Don’t Build It