This section contains notes about the equipment we used. This section will probably only be useful to you if you have the same equipment. However, it might be helpful to skim it at least because some of it might apply to you.
S.Ha.R.K. is quite picky about computers. Programs that run fine on one may not run at all on another. Other times, programs that execute fine on one computer may have problems on another. It is recommend to test your program frequently, and on multiple computers. NOTE: Since S.Ha.R.K. is a real-time operating system, tasks that cannot be scheduled on one computer may be able on a faster one. The same applies in reverse. Keep that in mind when setting deadlines for tasks.
DT2811 A/D Card
This card uses an ISA slot, so whatever program you develop using this card has to run on a slow (PII or lower) system. The cable had already been wired to use the ground channel in the card to reduce the noise, so no further modifications were necessary. We labeled the colors of the wires corresponding to the cardís pin outs in the AD1200 Manual.
Power Module PA0103
For us, this had been wired already, so we did not have to change anything.
Track, Cart, Rod, and LED
These were all wired and configured to work with the DT2811 card already, so no large modifications were necessary. An LED was taped onto the cart to provide an easy way for the cameras to track the cart. It was wired to the Power Module in series with resistors.
The track was set to be level with the ground. However, over time, it needs readjusting. It is recommended that you check before you start. In the toolbox, there should be a level for this job. Each foot of the base can be twisted to adjust the height, and the level of the track itself can be adjusted with the two screws (size 7/64Ē hex). We found the track dips in the center, so we stuck some paper underneath it. We painted the wood matte black to cancel the reflections from the bright LED. The track should be secured either by tape or other means to the table, since the movement of the cart will cause it to move also.
Two potentiometers (adjustable resistors) are built into the cart. The rod angle potentiometer is the big yellow cylinder on top of the cart. It can be adjusted by the screw in front of the cart. The second potentiometer can be found behind the big wheel of the cart.
It can be adjusted by the screw holding the big wheel in place. As the rod and the wheel moves, it changes the resistance in these potentiometers, which in turn changes the voltage returned to the DT2811 card. Once again, the DT2811 card can only take from -5 to 5 volts, so care must be taken to never exceed these ranges when running your inverted pendulum stabilizing program. To zero the cart, we recommend lifting the cart and turning the big wheel until it registers at 0 volts (S.Ha.R.K. program should show this). Then place it down on the center of the track. For the rod, place the level against the rod and adjust so the air bubble is in between the two lines.
If the rod voltage changes after moving it back to the original position, the rod receptacle might be too loose. There is a small star screw that can be tightened using a 3/32Ē Allen wrench. However, if over-tightened, the rod will not move freely and will stick (most often in the vertical position). You must experiment how much to tighten it. For us, the rod itself cannot be removed from the rod receptacle. We think it may be super glued. This presents a problem because the equation to calculate gains needs the masses of the cart and rod individually. To avoid this problem, we founf all our gains through trial and error.
If using a sensitive camera such as our Day/Night camera, it is recommended to tape the bottom of the rod black to prevent reflections from the bright LED. You will be able to see on the Black & White image on the computer connected to the cameras if the program is picking up any extra light than the LED. There should only be a white circle indicating the LED position. Everything else must be covered or blocked, because these reflections throw off our tracking program, since it looks for the bright spot in the image.
A complete and up-to-date list can be found in folder [shark root directory]/drivers/bttv/bttvcards.
We used the Winfast TV2000 Deluxe (TV2000 with radio tuner) and the Osprey 101 (v.100 card with a webcam). It is recommended to test yours first with the S.Ha.R.K. BTTV demo to make sure S.Ha.R.K. supports it. The only parameter you would have to know would be the channel which the card outputs the images from. Osprey 101 uses channel 0, while Winfast TV2000 uses channel 1. S.Ha.R.K. supports channels 0-4. If you donít know the channel your card uses, just try them sequentially. If itís the wrong channel, you will get either nothing or static.
Since most framegrabbers run at 30fps, you should schedule your framegrabber task accordingly.
Not all Ethernet cards work with S.Ha.R.K. Test yours with the Talk demo found in the [shark root directory]/demos/network folder.
For our program, both the simple webcam and the super sensitive Day/Night security camera worked fine. As long it can connect to the framegrabber, your camera should work. NOTE: Your camera can be a webcam, security cam, camcorder, digital cam, etc.
MICA2 motes were used for this project. Motes are small wireless transmitters and receivers. These are made by Crossbow
(http://www.xbow.com/Products/productsdetails.aspx?sid=72). They were programmed using TinyOS version 1.1.0
(http://www.tinyos.net). A schedule for transmitting was determined beforehand and programmed into the motes. Each computer had a serial cable connected to COM1 and a mote programming board, which had a mote on it.