Team Two/Final Paper
From Maslab 2011
Contents |
Team Members
- Leighton Barnes - Course 18, 2013
- Cathy Wu - Course 6, 2012
- Stanislav Nikolov - Course 6, 2011
- Dan Fourie - Course 2, 2012
Overview
Mechanical Design
Our robot was designed for robustness and reliability. Our robot serves as a reliable platform for the software vision and control systems. As such it should be sturdy, constructed quickly, have extremely low mechanical failure rates, be able to withstand hours of testing, and be robust to positioning errors. The robot's structural members will be built primarily from acrylic sheet. It will utilize a rubber band roller powered by a DC motor to collect balls and 4-bar linkage hopper actuated by a servo to get balls over the wall. DC geared motors will drive no-slip wheels.
Drive System
3 boxes
no slip wheels
steel hubs
Electronics Mounting
Shock mounted laptop, monitor remove
ORC board plate
camera potting, adjustable
bump sensor suite
limit switches
battery slot
encoders
Scoring Mechanism
4 bar linkage
rubber band roller
Electrical Design and Sensors
Motor Controllers
power FET
H-bridge
protection diode
Batteries
NiCd and Lithium options reasons we used lead-acid
Sensor Choice
bump sensors
break-beam
encoders
IR range-finders
gyro (or lack thereof)
Software Design
Architecture
cathy
vision driven
color calibration
state machine with bump detection and timeouts
sensor abstractions
Multi-threading
cathy issues?
States
cathy
what states
timeouts
Vision
cathy
color calibration
data structures
botclient
documentary mode
Wall following
stan
Stuck detection
stan
Testing
Testing suite
cathy
Mechanical Issues
ball jamming
eeepc access
battery placement
bump sensor coverage
pins falling out
motor failing
Failure modes and Countermeasures
Electric Issues
leighton
single-conductor wire and broken connections
uORC sample rate
power for fourth motor
Software Issues
cathy & stan
multi-threading
ball jamming
wall following
stuck detection
Performance
Suggestions
- Form a team early and commit to doing MASLAB for all of IAP. We formed our team before the start of the school year.
- Have a well balanced team. It's important to cover all grounds with software, mechanical, and electrical. Our 2 software + 1 mechanical + 1 electrical combination balanced us very well.
- Work really really hard and stay motivated. We pulled endless all-nighters and never gave up. We continued to pester the staff mailing list with questions and even took a day to set up some legit practice fields in 26-100 before the seeding tournament.
- Start before IAP and aim to have most of everything done in the first 2 weeks of IAP. Because we did most of the design before IAP, We managed to have a functional robot (not the pegbot) by the first mock competition, which helped us out greatly. We also were able to spend the last week and a half making fixes for various edge cases and had time to just polish up things.
- Test often and relentlessly. You'll find something wrong with your robot every time.