Monday, March 24, 2008

Design Process Documentation


Traffic System(temp.) Design Process


Fig1. TUIML TAC Palette

The motivation of our project was to create a tangible user interface which can be served as an educational tool for those who are interested in understanding the basic logic behind the traffic system and the method of traffic diversion.

The key word for our project was "flow." That is, the ultimate goal that users are expected to achieve from this interface is to make a traffic system flow smoothly. The traffic system is composed of tracks of multiple shapes, two types of intersections, and traffic starters.

So far, we have come up with five different shapes of track: (1) Straight, (2) Curve, (3) Hill, (4) Fork, and (5) Exit. These tracks can be physically connected to either Stop Intersection, Traffic Light Intersection, Traffic Starter, or other tracks to build a traffic system.

The rational behind the control of the whole traffic system is to keep track of "speed." The Straight track increases the speed in both directions whereas the Curve track decreases the speed in both directions. In addition, the Traffic Light Intersection and Stop Intersection decrease the speed in all four directions. Although the real-life stop sign and traffic light work in a much more complicated fashion, we tried to simply the algorithm for the scope of our project.

To create a flow into the traffic system, the Traffic Starter can be connected to the end of a certain track. Depending on the level of traffic set forth by each Traffic Starter - little, usual, huge - each track will be accounted for increasing or decreasing the speed of the flow.
To put simply, the more the Straight Track is connected to the traffic system, the faster the cars can be driven, which therefore reduces traffic and eventually induces a smooth flow of the traffic system.

Although our project has a potential to be further developed to be utilized at the industry level, it would be somewhat difficult to incorporate some ideas and technologies due to limited time and technical difficulties. Therefore, we decided to focus more on the "speed," which is our core measure to determine the flow of the traffic system.

Thanks to Brio blocks and Mike's prior experience with the computer vision, we haven't had many conceptual problems; however, I believe the challenges we have faced so far are minimal compared to what will be faced at the implementation level. The two biggest challenges would be implementing I/O and devising a traffic algorithm. The traffic algorithm will be simple enough to imitate and simulate a real traffic environment. For example, each type of track will be assigned a unique speed parameter; i.e. -20 for decrease in speed and +20 for increase in speed. Then, these tracks will be connected and the speed parameters will be summed up to calculate the total "speed" of the whole traffic system. As Mike suggested, we will use Java 2D and computer vision for the I/O process.

Finally, we realized during the presentation in class that it would be much easier to set up a camera below the board to read in the track information such as direction and connection instead of set up above the board. This made sense because parts of human body such as hands may block the computer vision and confuse the system to realize that what's hidden by hands is missing from the board. In addition, from today's class(Mar. 24), I thought about the difficulty to show the flow of the traffic on the surface of the tracks. We're now considering the idea of projecting beams onto the surface to represent traffic. However, I pondered upon the idea of using three colors(green, yellow, and red) to project directly onto the entire surface of each track to show the level of "congestion" at that specific road. Further discussion will be made at the next class meeting.

0 comments: