In the AI lab, there is a table with several stepper motors screwed onto it. 3 of the motors move a platform to any (X,Y,Z) coordinates you want, and a fourth motor rotates a plate to any angle you want. They are all controlled from within a metal box, which connects via USB to a computer. You can communicate with it by opening a socket and sending it strings of text; there is Matlab code to do this for you.

You connect via USB to the 6K series controller, which in turn communicates with 4 different drives, which each control a single stepper motor. The first three motors control the X, Y, and Z directions on the main jig; the fourth controls the rotational platform. The first three motors each have three positional sensors on them: one on each end and one in the middle. These keep the controller from telling the drives to move them past the ends of their track, and help in centering them when the "reset" program is run. The fourth motor has no such sensors plugged in. Because of this, the controller will refuse to turn it on until you use the 'LH' command to disable the limit switch hardware checking (which is on by default, to prevent accidentally breaking something by stepping it off the end of its track). This is done by default in the Matlab function jigReset; for more information, examine that code and the command reference included here. The rotational platform does have a home limit switch, but that has not been connected to the controller because it's not obvious how to connect extra sensors to it (it was assembled by professionals who connected all the original sensers for the positional jig but did not leave room for new sensors).

I have attached the manuals for the controller to this page, though I'm having trouble linking them. To get to them, hit the "attach" link in the menu on the left.

"Resolution" has units of steps per motor revolution. A step is the smallest amount by which the motor can turn. The standard resolution for our motors is 25,000. Things won't work right unless the controller and the drive have the same resolution (otherwise, everything will be scaled incorrectly). The default values are set up correctly as of summer 2011.