Saturday, May 3, 2008

Final thoughts

The biggest difficulties we faced as a team were twofold: (1) our goal of implementing all functionalities suggested in the design phase was too ambitious given the limited time we had, and (2) even though three of us collaborated leveraging our interdisciplinary expertises, the project was more code-intensive and time-consuming than we had imagined.

However, as our project was time-consuming and code-intensive, we needed more time to work.
Thus, we would have been much better off had we had another member with a strong JAVA background or software engineering knowledge.

Nonetheless, I believe that we did a very good job at developing and integrating some of the key initial ideas in terms of building user-friendly tangible user interface and creating a dynamic, robust system. However, we could not implement some of the key concepts of the system(i.e. velocity and interaction between cars). Thus, we needed to eliminate some key features such as traffic jam and speed change to dispense with complex algorithm involving velocity and car interaction.

(Video) Working Demo

video

This video demonstrates how the traffic simulator works in real time.
The two Traffic Starter feed one car at a time into the system. A red rectangle representing a car on a track keeps moving, following the track of each block. Once a car encounters a tri-split or di-split track, it will make a choice (i.e. go straight, turn right, or turn left).

Unfortunately, this system is missing some of the key features suggested in the initial design such as constant feeding of multiple cars or speed change of cars depending on traffic condition. Nonetheless, this demonstration shows a potential to which extent this project can be further improved to simulate a complete, real-time traffic condition which can be studied and manipulated in an attempt to minimize the traffic jam.

(Photo) Final Design and Implementation

Top-down view of possible traffic system

Side view of possible traffic system

Entire traffic simulator system

Top-down view of the board

Constructed traffic system on the board

The implementation of 2D JAVA graphics was especially difficult and time-consuming because we had to hard-code 20 to 90 different coordinates for each track token depending on the type of track. In addition, the integration of three main modules(i.e. webcam, 2D graphics, and topcodes) were also problematic and difficult due to problems such as the glare from projector and light bulbs as well as the low resolution of 1.3M pixel camera. Aside from the software integration, the hardware(system) configuration involving the projector, board, and webcam was a challenge as well.