Open Loop
     an ME218B Project

ME218B: Open Loop

Dept. of Mechanical Eng. | Stanford University



The Team

For 'B' Quarter, the Soccer Pinball trio of Kent Anderson, Vickie Chiang, and Matthew Hill were joined by a new _AAAllstar, John Alabi. John's added star power pushed the team to new levels, culminating in a stunning, come from behind victory in the end-of-quarter, class-wide tournament.

Words of Wisdom

  1. Start early!!!
  2. Don't skimp on the mechanical design. Awesome tape sensing circuits and code won't matter if your wheels keep falling off
  3. Solder on connectors for every pin on the E128/C32, even if you don't plan to use them. It's much easier than going back later. Don't solder them immediately adjacent to the connector--have them offset so you can actually access them.
  4. Mount circuit boards for easy access and make them readily removable for repair/modifications.
  5. Plan wiring ahead of time. Group wires going to the same place. Label wires and connectors. Design-in channels for wiring to run through.
  6. Lower your goals for function and raise them for reliability
  7. Black-box subsystems as much as possible, early-on.
  8. Keep subsystems as independent as possible. If you can take your shooter on/off by un-doing 2 cables and 4 screws in order to debug/test it independently, you won't be struggling over access to the robot at crunch time.
  9. Check your assumptions early on.
  10. Beware cheap multi-meter readings at the extremes of its range. Especially for estimating stall currents.
  11. Design top down, then test bottom up.
  12. Build test modules for every function you use in code.  If you do beacon sensing and make decisions based on those results, test these independently.  Never assume code that works on its own will work in another module. 
  13. Worry about how you initialize stuff.  If something just isn't working, a quick check can be to change the order of your initialization functions...this can identify whether you're saving over previous settings
  14. No matter how tempting, never run from untested code.  Even a simple comment in the code can f$^@ things up unexpectedly.
  15. The simplest strategy always wins.  Start simple, and give yourself room to grow.  Just because you can explain it quickly, doesn't make it simple.  Simple means fewer sensors, less movement, fewer decisions, and often more open loop design.  Once you get that working, then worry about adding improvements.  You'll realize the quarter is already over!
  16. Make sure to use |= or &= as necessary instead of =…
  17. Take adequate time to brainstorm your strategy and design ideas in the beginning.  When the team comes up with something feasible that's based on solid engineering fundamentals, stick with it.
  18. Make sure to keep the lines of communication open between all teammates. 
  19. Check out HSC Electronics in Santa Clara…it's the Toys-R-Us for Mechatronics Geeks.
  20. The cabinet of freedom includes National Semiconductor stuff in the TA shop... ask the TAs about this