Experimental device description

The main components are: computer, standard video camera (1), reflector lighter (2), light reflectors (3) and standard devices for the physical laboratory classes (4). As an example of experimental equipment for demonstration, we have chosen the linked pendulums.

Interface and settings of the program

The main windows of the computer program are: the control window (3), the incoming video stream window (1), the detected spot visualization window (2) and the window for enlarged fragments (4).

Interface

The control window (3) is the main window of the application. It appears as a dialog box (MFC library), and is responsible for the control of the program. The other windows do not have control features.

The incoming video stream window (1) is responsible for showing the incoming video, and founded spot visualization window (2) show all detected bright spots. Spots in this window can be different colors, depending on which mode of the program is running. The last window (4) is only necessary for the adjustment of the laboratory equipment. It allows for inspection of enlarged fragments of the video stream within the set brightness level, and it also builds the intensity graph for the selected fragment string.

Fragments of work with the program (click to enlarge):

General working algorithm

First, the program locates all the bright spots with geometrically correct and exact boundaries. Then all detected spots are compared with the ones previously detected. For comparison, the program automatically activates the spot future position prediction algorithm. With this algorithm, it predicts the future location of any previously detected spot, and for comparison finds the nearest to predicted location. The prediction algorithm is based on mathematical theory built by Rudolf Kalman.

Video stream procession in real time requires optimized algorithms and the fastest mathematical methods for working with data, or the program will be unable to process video stream without delays. Thus, for working with graphics we use DirectX library. This library allows showing of the video without being slowed down by the standard methods of the Windows operating system.

During the working process, the program does not add data directly to the database. First, it stores data using a "linked nodes" algorithm, and only after the work (experiment) is finished, the program copies data to the Microsoft Access database. Linked nodes structures are built in operative memory only, thus entering data into such structures is much faster than to a database on a hard disk.

Project Development

The development of the current project took several years, and we can state next stages of its development:

1. Programming of the video stream capture and its viewing on the screen using DirectX library.

2. Development of the main video processing algorithm (spot locating algorithm)

3. Development of the comparison methods (Kalman filter)

4. Development of the interface and additional program capabilities

5. Improving of the project in general

During the development of this project, we took after the developers of other similar equipment. The closest analog of our device is VideoCom, which is being produced by the German Company, Labold Didactic.

VideoCom optically registers moving objects using line matrix (512 or 1024 elements). The main imperfection is in the ability to measure only single-coordinates, while in most physical experiments it is necessary to measure two coordinates (movement in the plane). VideoCom also cannot detect more than a few moving objects.

VideoCom (Labold Didactic) device set on our experimental equipment.