300 likes | 477 Views
Innovation / Team 190. “introduction of new things or methods”. Why “reinvent the wheel”?. Gives team a sense of ownership Intellectually stimulating! Occasionally very successful. How to be Innovative!. It’s about creativity more than invention Old things in new ways
E N D
Innovation / Team 190 “introduction of new things or methods”
Why “reinvent the wheel”? • Gives team a sense of ownership • Intellectually stimulating! • Occasionally very successful
How to be Innovative! • It’s about creativity more than invention • Old things in new ways • Requires input diversity • Be a risk-taker • Believe that success is about meeting team goals, not about tournament wins • Challenge team to think “out-of-the-box”
Team 190 Methodology • Establish team goals • Earning “WOW!” praise typically ranks much higher than winning tournaments • Challenge team to develop something so effective that FIRST outlaws it next season! • Start each season with a clean sheet of paper
Example: FRC 2004 “MOH Goat’s 15 seconds of Autonomous Glory”
Autonomous Problem to Solve • Robot had to: • Drive to stairs • Raise hook (probe) • Up the stairs • Around the goal • To the center of platform • Winch up • Hook on bar
Pre-start • Initial alignment set with LAD – Laser Aiming Device • Speed 40 – to avoid jerk on motor start • Drive for 0.5 sec • EDL Engaged
EDL – Electronic Differential Lock Closed – drives straight Opened – allows turns
Long Run to Stairs • Speed 127 (full speed). Remember: only 15 seconds for this trick • Driving until 18” ultrasonic distance • EDL Engaged
Ultrasonic Rangefinder Gets distance for autonomous drive to the platforms
Just Before Stairs • Slow down to 40 getting ready for stairs • Probe starts to go up • Drive about 3’
Going up Stairs • EDL engaged • Probe still going up • Drives at 40 for duration • Ultrasonic and wheel encoders unreliable here • Driving with one wheel in mid-air
Canted Wheels Can drive with two wheels off the platform but only rests on outer wheels normally for turning ease
On the Platform • Drives forward at 40 until 5’ ultrasonic distance • Probe still going up • EDL disengages
Around the Goal • Turn -40 degrees (depends on field side) • Drives for fixed distance using encoders • Ultrasonic unreliable because of angle
Wheel Encoders for Distance Homemade and worked pretty well – we’ve sincestarted bought optical encoders and gear-tooth sensors
Straighten out • Turns back to 0 degrees (straight) • Speed of 30 • Drives for distance using encoders • Probe going up
Drive to Platform • Slow down to 20 driving for short duration (approaching platform) • Probe fully extended by now, “tensionometer” for feedback
Tensionometer White spectra cord is extending cable, steel braid is lifting cable
Catch Hook on Bar • Drive motors off • Probe starts going down to engage bar • Triggered by time
Winch Up and Drive • Start robot going up • Drive motors forward speed 20 to help robot go over 6” step • Gyro mounted vertically senses robot swing
Winch up • Sequence of running winch up is complex in itself • Operate anti-back drive device • Sense latching on bar • Slow motor • Allow back drive and lower robot on hooks
Winch with Anti-backdrive Ratcheting action on going up and servo-retractable, sensor-equipped pin to allow the robot to lower onto hooks
Touch Sensors for Hooks Sensed when hooks were opened by approaching pull-up bar. Then sensed when both hooks were closed AND bar was at bottom of slot: SAFE TO BACKDRIVE WINCH TO TAKE LOAD OFF CABLE
The code(for the programming geeks) • Goals: • Multiple autonomous modes • Flexibility to make quick changes • Not have to debug code for each mode • Solution: • Make a table-driven solution • Each table entry was a different autonomous set (node)
Autonomous Node • Each node (table entry) represents a single step • Nodes have motor and sensor values • Nodes have triggers to go to the next step typedef struct _AutonNode { int Distance; int Bearing; int Speed; unsigned int Duration; int DesiredShoulderPosition; int DesiredWristPosition int DesiredExtenderPosition; int DesiredTurretPosition; unsigned char Flags; unsigned int Trigger; char *Name; } AutonNode_;
Program • An array of nodes makes up one autonomous program • There was an array of arrays (pointers) for multiple autonomous programs
Never won a tournament But…a team favorite—won 20 awards Engineering Inspiration Award (BAE) Xerox Creativity Award (Arizona) Xerox Creativity Award (The Championship) Fastest Hanging Robot (Wonderland's FIRST Robotic Competition) Best Autonomous Award (Wonderland's FIRST Robotic Competition) Finalist (Mayhem on the Merrimack) Leadership in Controls Award (IRI) President’s Award (IRI) Plus 12 peer awards from other teams! Summary