170 likes | 308 Views
Final Design Presentation DUNA* (Dynamic Urban Navigation using A*). Name of Team: A*. Contents. 1. High Level Description 2. Fundamental of A* 3. System Components 4. System Capabilities 5. Coolness Factor 6. Accomplishments 7. Individual Contributions
E N D
Final Design PresentationDUNA* (Dynamic Urban Navigation using A*) Name of Team: A* May .26 . 2003
Contents 1. High Level Description 2. Fundamental of A* 3. System Components 4. System Capabilities 5. Coolness Factor 6. Accomplishments 7. Individual Contributions 8. Building a large software system 9. Reference May .26 . 2003
1. High Level Description • We designed and implemented urban navigation simulation tool using A* algorithm. • The DUNA* is a fully functional dynamic urban navigation using A*. It is meant to be checked over and founded out the fastest path from starting point to your destination in a urban area. • The DUNA* is encapsulated by a menu, which provides a user-friendly interface. The arena is created using user mouse on the sketchpad. The maps contain lots of geometrical function to design complex urban in a fascinating 2D environment. The format is read in by our engine and placed into a A* algorithm to find Best Path. Direct input action maps are used for in gui controls (Mouse and Keyboard). • The User interface has various commands to create urban visually and to achieve configuration changes. May .26 . 2003
Omaha to Boston: 1463 miles Kansas City to Boston: 1437 miles Wichita to Boston: 1627 miles Chicago to Boston: 1015 miles Souix City to Boston: 1570 miles 2. Fundamental of A* • Using heuristic function May .26 . 2003
H(state) = Cost(state) + Estimate(state) Where: Cost(state) = actual cost incurred in reaching the state Estimate(state) = estimate of cost needed to get from state to goal May .26 . 2003
State S2 will be expanded before any state like S4, whose cost is greater than the cost of the minimal solution. To assure that this will happen, it must be the case that: Cost(S4) + Estimate(S4) > Cost(S2) + Estimate(S2) But we know that the cost of S4 is Calt, so this would mean that: Calt + Estimate(S4) > Cost(S2) + Estimate(S2) We assumed that Calt > Cmin, so if it is the case that Cost(S2) + Estimate(S2) <= Cmin then there is no way that state S4 could be expanded before S2 is, no matter what value that Estimate(S4) has (even if it is zero). Let us use Actual(state) to represent the actual distance from state to a goal. For state S2, we know that: Cost(S2) + Actual(S2) = Cmin So to ensure that state S2 will be expanded before any states that would led to a more costly solution, it is necessary to have a way to estimate the distance to the goal such that: Estimate(state) <= Actual(state) That is: The heuristic estimate of the distance from the state to the goal must be less than or equal to the actual minimal distance from that state to the goal. If it is, then A* search is guaranteed to find the minimal cost solution May .26 . 2003
3. System Components • The DUNA* is completely written in C++, OpenGL. • The develop environments are Microsoft Windows 98, Microsoft Visual Studio. The platform for our DUNA* is Window system. • The basic require components for running our solution are: Hardware: 32MB RAM, 100 MB Hard, etc. Software: Windows 98, OpenGL 1.2. • The recommended components are: Hardware: 128MB RAM, OpenGL 1.4 and Direct X8.1support. Software: Windows 98/ Windows 2000 . May .26 . 2003
4. System Capabilities(1) Elements of UrbanMap • RoadElement • BldgElement • Road • Vertex • Node • RoadEdge • Block May .26 . 2003
4. System Capabilities(2) • Considered traffic of Road • Although the Shortest path, if the traffic of road is high, then Reroutes path • Compute cross-road • Can save VRML 2.0 file • Heuristic function computes the traffics of road and the distance from current to Goal May .26 . 2003
4. System Capabilities(3) Demo program May .26 . 2003
5. Coolness Factor We are especially proud of the fact that we used so many different components in our DUNA* (Dynamic Urban Navigation using A*). We’ve implemented 2D dynamic drawing, input control and graphics all together to form one great urban navigation map. May .26 . 2003
6. Accomplishments We are very pleased with our final project. According our mid - presentation, we accomplished all the essential components and most of desired components. We learned a lot in the process of dealing with components we have no prior experience with. May .26 . 2003
7. Individual Contributions Kim, Hyoung-jin :- Contribution 1/3: -Handled A* algorithm and heuristic Search. -Requested and got a machine for us to use for OS windows 98. -Created the background design. - Coding as using C++, OpenGL -Debugging and testing the project. -Tested and got other people to test the project. Kim, Jin-sul :– Contribution 1/3: -Handled interactive GUI for user to design urban using MFC, openGL. -Designed the documentation, the project and team logo. - Coding for GUI as using MFC and data functionality. -Tested and got other people to test the project. -Went over each interactive function design and made it more user friendly. Park, Hyun-chul :– Contribution 1/3: -Handled graphical design using openGL. -Code for computer graphics functionality using C++,openGL. -Established complex design of programming. -Able to get the results back from the GUI and redesign. -Debugging and testing the project. May .26 . 2003
8. Building a large software system Dealing with large-scale integrations can be extremely hard if the team doesn’t lay down a concrete design for each component and how they fit together. May .26 . 2003
Reference • http://theory.stanford.edu/~amitp/GameProgramming/AStarComparison.html • http://www.policyalmanac.org/games/aStarTutorial.htm • text book(Discrete Mathematics and its Application) • Real-Time Rendering by Akenine-Moller • Ariel F. ,Roni S. , Sarit K. PHA* ( Performing A* in Unknown Physical Environments. In Proc. of AAMAS’02, July May .26 . 2003