agile design for first robotics
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Agile Design For FIRST Robotics2009 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
Buy It, Don’t Build It
Buddy System
Design For ChangeDesign 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?!?
TimeDesign For Change
Waterfall Model
• Plan up front, lock down designTHIS 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
Robot
Mechanical Control
Gear Box Wheels
Power Transmission
Drive
Chain/Sprocket
Electrical ProgrammingManipulator
Chassis
Component Level
System Level
Product Level
Hardware Level
Sub-System Level
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
Don’t build things you can buy.
Buy It
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
Robot
Mechanical Control
Gear Box Wheels
Power Transmission
Drive
Chain/Sprocket
Electrical ProgrammingManipulator
Chassis
Component Level
System Level
Product Level
Hardware Level
Sub-System Level
Robot
Mechanical Control
Gear Box Wheels
Power Transmission
Drive
Chain/Sprocket
Electrical ProgrammingManipulator
Chassis
Component Level
System Level
Product Level
Hardware Level
Sub-System Level
“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
Buy It, Don’t Build It
Buddy System