The I.V.C. can track a user within a 15 foot radius from the camera, about 60 degrees in either direction. It will not follow swift, sudden motion as it would be undesirable for the viewer to see the quick, jagged motion of the picture. On the contrary, the camera will have a smooth steady motion to follow the user's movement. This will require the use of a tracking scheme to sense position, and some robotics to rotate the camera. For the tracking scheme, the team will use a two dimensional sensor; one dimension for lateral movement and the other for height adjustment. Since it is desirable to have the user be centered in the frame, we will try to design for an angular tolerance of approximately +/- 2 degrees in each dimension. Should this prove to be visually annoying or unsatisfactory then we will lower our tolerance to a more suitable visual level.
During the research stage, it was realized that the most efficient way to implement a tracking device would be to make it a stand alone system. That is to say that the tracking device is completely separate from the videoconferencing and therefore will not impede the performance of the network in any way. The next consideration was to use a specific transmitter and receiver that are constant in their characteristics. This makes the system easier to implement in that there is a constant, deterministic homing signal rather than a stochastic one, such as the user's voice, which would be constantly changing. These considerations left us with two options which we were considering; an infrared system or an audio system (both of which would be undetectable by the user). Being that sound travels much slower than light, an audio system seemed the most appropriate (due to the ease of detecting time arrival differences).
For ease of design, the tracking device will consist of an audio transmitter and three audio receivers. Each of these components are DC devices based on the piezo electric effect and emit/receive sound at 40 Khz (+/-1Khz), which is well beyond the range of human hearing. The transmitter will be attached to the user while the receivers will be mounted around the camera in an "L" shape. Audio signals will be emitted either as steady pulses or as user generated pulses (by the push of a "buzzer" button) and the tracking device will only be enabled while the pulses are being transmitted. The receivers will pick up the pulses in the order in which they arrive at each component, and the delay between each component is what will determine the position of the user. The delay data will be collected by the Motorola HC11 microcontroller which has a machine cycle of approximately 0.5 msec compared to the delay which will be on the order of 30 msec. As can be easily seen, this will provide plenty of resolution. The process of timing the delay will be implemented with the input capture pins of the HC11. Since there are three receivers in the system and the HC11 has 3 input capture pins, this works out well. The microcontroller's input capture pins can detect either a rising or falling edge. Thus, voltage comparators will be used to bring the transducer outputs to TTL levels. The delay time will then be retrieved from the capture registers and used as the data for the position sensing.
For the purpose of moving the QuickCam, the choices are between using a continuous motor or a servo-motor, both of which require analog feedback, or a stepping motor which can use digital feedback. Since it is more desirable to use digital feedback from the microcontroller, the stepping motor is the obvious choice. In order to choose the proper stepping motor, the practical parameters such as angular tolerance, holding torque, and ease of control must be considered. With these considerations, an affordable, low power, unipolar motor, seems to be a prime candidate.
In this design, all motion will be rotational since the QuickCam is spherical. To implement rotation in two directions, two motors will be used. The likely motors (shown in the appendix) are unipolar, rated at 6V with 1.8 degrees per step, and a holding torque of 22.2 oz.-in. This will provide plenty of resolution, especially when half stepped, and sufficient torque since it is not actually moving the camera's position but simply rotating it about its axis. Each motor will receive feedback that has been collected from the two receivers in the "L" shaped array which correspond to the motion which that motor provides. The motors will continue to step until the delay between the two receivers is minimized. They will be full stepped as long as the delay is larger than some value (to be determined later), and half stepped when the delay falls below that value so that we can achieve better resolution.
The motors will be controlled by the Motorola HC11 microcontroller through the parallel port. One motor will use the four least significant bits of the port while the other motor will occupy the most significant bits. The operation of the stepper motors can be explained by visualizing each winding lead of the motor (a, b, c, and d), and considering a and b to be the two ends of one winding and c and d to be the two ends of the other winding. In this case, the sequence for full stepping would be:
a 1000100010001000 1100110011001100 b 0010001000100010 0011001100110011 c 0100010001000100 0110011001100110 d 0001000100010001 1001100110011001where the first sequence would require less power, but the second sequence would generate more holding torque since both windings would be energized at the same time. When we combine the two full stepping sequences, (successive cases where only one winding is energized and then both are energized and so on) in the above sequence, we obtain:
a 110000011100000111000001 b 000111000001110000011100 c 011100000111000001110000 d 000001110000011100000111which is the half stepping sequence. In order to turn the motor in the other direction, we will simply reverse the sequence.
The numbers 1 and 0, correspond to bits being transmitted by the microcontroller. Care must be taken in how fast these bits are sent to the motor and also how well the current in the windings is regulated. The main restriction for speed will be the limit at which the camera can be rotated without sacrificing the visual quality of the picture. This will be determined by rotating the camera at different speeds and adjusting the speed according to visual preference. Current amplification for the motors can be implemented with the use of bipolar transistors, or TTL level FETs.
The actual assembly of the system will use a very lightweight, low cost material since there is not a lot of weight produced by the components. One possibility is that each motor will have a rod connected to its rotor and a ball, much like a mouse track ball, connected to the end of the rod. These mouse balls will be touching the camera at two separate spots, the top and the back. As the motor turns, it will rotate the mouse ball which will in turn rotate the camera through friction. The receivers will be attached to the camera in such a way that they will rotate with the camera, this way the delay will always be from the camera's perspective. There will be a simple, cube-like truss which encompasses the camera and the receivers, and have the motors mounted to it. The truss must allow the camera to rotate freely while holding it securely in place. This can be implemented by using a three point contact system ("Y" shaped) on the bottom of the camera, along with the rotating points of contact at the top and back, for a total of five contact points.