(I had originally wanted to have a cool tank-treaded robot that could climb stairs like an iRobot Packbot, but my independent-study-project budget was only enough to pay for the vertical part of the aiming mechanism. The machine shop foreman still gave me a lot of helpful advice with my mechanical design, though.) Above is the timing belt and pulleys that make up the vertical aiming mechanism (shown sideways). As for attaching the motor shafts to the pulleys, both motors came with a round shaft. The pulleys come with a "set screw," which is a screw that tightens down and grips the motor shaft. The machine shop people used a grinder to make a flat spot in the motor shaft for the set screw. The whole pulley setup ended up working really well. It allowed me to gear down the motors, but the control stayed tight for aiming.
Movement Motors.
The motors that move the robot around are simpler; each one just drives a wheel directly. They're 12V DC gearmotors designed for car power windows; you can find ones like them for around $20 at various online surplus places or Ebay. I think they work really well for robot motion; they're not too fast or slow and have good torque. The fact that the gearing is integrated with the motor makes things simple and compact. The process of actually mounting them was kind of difficult, though. For each motor, I attached a piece of thick plywood to the robot body and bolted the motor to that, as you can see above.
It took me a while to decide how to actually attach the motors to the wheels. On the robot, the axle that's attached to each wheel is a 1/4-inch diameter steel rod from a hardware store. The motor's shaft is smaller, with 1/8-inch diameter. I had the idea to attach the motor shaft to the wheel axle using plastic tubing from a hardware store (shown above). I bought tubing that was just big enough to slip over the axle. I used two hose clamps (around 50 cents apiece) to tighten the tubing around the axle and the motor shaft.