FIRST Robotics

This weekend is the Portland Regional for the 2008 FIRST competition. Every year, the FIRST Game Design Committee (GDC) designs a new game for the competition. Starting when the game is announced (First Sat in Jan, usually), teams of high school students have 6.5 weeks to design, build, and ship a robot that can compete. The aim of this whole thing is to introduce students to the wonders of Engineering, and all the associated fiddly bits like accounting, planning, organization, purchasing, CAD, finance, etc. Basically, they get to be an engineering company for 6 weeks. Good teams will do all the backend planning and finance (read: fundraising) before the 6 week "build season" starts. To help get them through this (somewhat difficult) task, teams are encouraged to build relationships with real engineering or technical companies. They are also encouraged to partner with their suppliers for help, discounts, machining, etc. This is where I come in.

I am working once again with the Issaquah Robotics Society on the 2008 robot. In 2006, I was asked to cut a few parts for the team since I work at a waterjet manufacturer. Team 1318 had 4 waterjet parts on the robot that year. In 2007, we had over 40 waterjet parts, and we were able to cut many of them during a tour. The students had a great time visiting the plant, and the demonstration lab let us use the machine to cut a series of parts that were ready to mount directly on the robot. You can see many of the parts in my gallery (We are the robot with purple bumpers around the outside). Most of the waterjet parts were brackets, though the notable exceptions are all visible in this picture. All of the claw parts, the 1318 logo bracket at the apex of the arm, and the main arm drive sprocket are waterjet. Not visible are the custom shaft adapters and motor mounts in the shoulder mechanism.
At the Portland regional in 2007, we made it all the way to Semifinals without breaking a single thing once the competition started. we did have to tighten two set screws at some point. This inadvertently won us a "Cleanest Pit" award from a fellow team, since we never actually had to get tools out.

This year, we have a pretty revolutionary robot, I think. The 2008 competition (video above) has a few classes of robot that can compete; hurdler, herder, and what we call "rabbit". We are not expecting many rabbit class robots. A random survey of robots on youtube seems to agree. Our robot (with a Monty Python killer rabbit on top) is shown to the right. The entire chassis is one single waterjet plate, with all other things bolted to it. Th rabbit has over 60 waterjet parts, and most of them are not brackets, like last year. There are two of everything; custom sprockets, custom timing pulleys, motor mounting plates, copper slip rings, and a bunch of parts that I can give you our name for, but that won't mean anything (bridge plates, brush retainers, the sandwich (8 parts for each copy)).
In this second view, you can see more of the wheel modules. Each wheel module has two wheels (basically just a wide wheel) and a 6:1 ratio belt/pulley combo attached to a 3500RPM (under load) torque-y motor. each wheel module is rotated by a smaller motor, and can rotate continuously 360 degrees. this allows us to translate sideways, pirouette, drive forward, or any combination of the three.

I honestly can go on for hours about our robot and all the waterjet parts. (Reference this CAD model for a better view). But the reason I am so passionate about the FIRST robotics competition is actually really simple to explain. I graduated from high school after spending four (three technically) years on a FIRST team, went directly to engineering school, got a degree in Electromechanical Engineering, and got a decent engineering job pretty much directly out of college. (Not to mention the 2+ years I worked at iRobot while in college). The program really prepares students for the real world. FIRST isn't a perfect program, but the constraints it puts on a project are very realistic. We are just starting a new project at work that will be done in three months. It will be very fast paced, and many people have to work together to make it happen, while still managing everything else the normally do. This is exactly what I've been trained for, and this is exactly what I'm trying to impart to the students I work with. Even the equipment we make at work (the X-Y machine portion) is very similar to the robots they build. There is a central controller, some small motor controllers (amplifiers to the machining world), a few different types of motors and solenoids. Last year we had pneumatics, which our machines have. Many of the motors on the robots are even controlled with PID control algorithms, just like the equipment we make. A number of the students have learned embedded C, and all of our code is student written and maintained. All of our parts are designed first in CAD, prints are made and handed to other students to fabricate. Tolerances are discussed, changes are propagated back to the models, and the robot is assembled in a fairly controlled manner. If you didn't read the first part, then you may even think I am talking about a real engineering company.

The students in this program will graduate college and move on to deal with some of the problems facing the world today. These students will design wind turbine, more efficient cars, new space capsules, and all kinds of things I can't even think of.

That is the reason I support FIRST.

NASA kindly hosts the competition live as a webcast. Check this link on any Friday or Saturday in the next month or so to see live robot action.

You should also find and visit your local regional this year.


died in a blogging accident

or, what browsers do xkcd readers use?

93% of my blog traffic comes from search engines. 89% of my search engine traffic comes from variations on "died in a knitting accident". It is safe to say that 100% of people who search for that either read xkcd, or are knitters who had someone force xkcd on them. I happen to have the browser data of the subset of people who read xkcd and needed to search to see what came up.

Without further ado, the results:
1. 47.92%
2. 23.96%
3. 9.27%
4. 8.63%
5. 6.39%
6. 1.92%
7. 0.96%
8. 0.32%
9. 0.32%
10. 0.32%

I am thrilled that some nut visited using SunOS. Keep it up.
If you look at browser only:
1. 66.45%
2. 23.96%
3. 6.39%
4. 1.92%
5. 1.28%

Compare with my wife's knitting blog:
1. 58.46%
2. 36.92%
3. 3.85%
4. 0.77%

I'd also like to hear from the visitor who has a 3840 x 1200 desktop, though it may actually be my coworker with three screens at work.
1. 29.07%
2. 21.41%
3. 14.38%
4. 8.63%
5. 8.31%
6. 4.79%
7. 3.51%
8. 3.19%
9. 1.60%
10. 1.28%
11. 0.96%
12. 0.64%
13. 0.64%
14. 0.64%
15. 0.32%
16. 0.32%
17. 0.32%

Some people may need to be notified that computers do 32 bit color now....
1. 79.87%
2. 15.02%
3. 5.11%

Conclusion: Google knows too much about you.

Corollary: I spend too much time looking at hit graphs



My original engineering dream was to make robotic prosthetics. I still want to do this someday. Recently, Dean Kamen announced an Awesome robotic arm, called Luke.

Watch the video!


The microscale may be dead. I think the bearing is sticking (for the second time). There can only be one solution to a mechanical problem... software! I tried to work around it in some interesting ways.
  • Adjust the indicator flag to be more like the original article
  • Adjust the flag most of the way to normal
  • Attempt to calculate the mass as a function of both the current force and the current error
  • Adjust the gain so that it moves faster
  • Adjust the gain so it moves more slowly
  • Adjust the gain so it moves WAY more slowly
  • Put the gain back where it was
  • Add 2 to the gain instead of 1
  • Undo
  • Stop averaging the last two error readings
  • Undo
  • On Even seconds, reduce the force by 5mg to break the friction
  • 10mg?
  • 15mg?
  • Undo back to 10mg
  • When seconds MOD 4 == 0, reduce the force, ==1 and ==2 go back to the regular force, ==3 actually try to balance
  • Same, but with MOD 5
  • Same, but break the 5 second cycle into 1,2,2 instead of 1,3,1 (Fake, recover, balance)
  • reduce the force by 20mg
So, after all that (half of which is in the SVN), It is repeatable to within +/- 0.3 mg (when it stabilizes), or it will flail around wildly +/- 70mg. The only difference between the two states is when you put the sample on the scale.

Possible "improvements"/Next Steps(that don't involve the 2kW heaters from the last UW project, just to see if they still can melt aluminum in 10 minutes)
  • replace the galvanometer
  • add springs to support the flag (stabilize)
  • make the moving parts lighter (reduces accuracy - HA!)
  • Realize that Erica can manually take the data faster than I can fix the scale
  • Offer to set up webcam and OCR the regular scale into data
  • Offer to write AHK script that will show pictures from the Nikon of the regular scale, so data entry is faster

(for those keeping track, Finished_Projects is now back to nil,m not counting FIRST)



I've been working for a little while with a couple other folks on a reprap. One thing we didn't like about the basic (Darwin) reprap is the large number of parts needed to make it (example). We started coming up with some ideas, and I was able to design a simple 3-axis gantry system that uses 11 copies of a simple printed block, and that's it. all other parts are non-printable, but simple, like threaded rod and bar stock. In theory, the reprap will have interchangeable heads, allowing extrusion, cutting, and maybe even laser cutting. I even want to make a low pressure waterjet, though the added complexity is not fun.

Current status:
  • I think one of the Johns is ordering parts.
  • The design needs to be adjusted to use less plastic per block.
  • Need to get the uBrain or some other motor controller working.
  • Someone needs to look at software to control this thing, but I guess building it comes first.

Idea: Someone needs to interface a reprap to BugLabs.net hardware.