innovation / team 190
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
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
KSD – Kamen Straddling Device
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
Summary• 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!
Questions?