advertisement

ECE 191: Design Project Group #9: Audio Navigation for Blind People and Rescue workers Spring 04 Sponsor: California Institute for Telecommunications and Information Cal(IT)2 Mentor: Dr. John Miller Members:Tony Cheung Kin San Kung Khanh Luu I Chang Wu URL: http://ece191-spring04-9.tripod.com/ Agenda Gantt Chart Tasks Comparisons of different input methods Java display program Matlab location program Plans for next week Gantt chart Research Design Order Device Contruction Test/Debug Revise/Optimization Demonstration Documentation Weeks Tasks Task1: Input waypoint data into our database (Tony, Ken) Task2: Implement java display program (IChang) Task3: Matlab location program and web documentation (Khanh) Task4: Input the information of 10 waypoints with a laptop and a movable table (All of the members) Input after collecting data 2 minutes per waypoint to collect and input data + unknown time to correct mistake (recollect data) Advantages: 2. Requires shorter time if there is no mistake Flexible Disadvantage: 1. Takes a lot of time to recollect data 1. Input data in real time 1. 1. 2. 3 minutes per waypoint Advantage: If we made mistake, we could correct it immediately. Disadvantages: Can not see the computer screen under sunlight. Can not input data if the wireless network connection is not available. A slide from last week Java display program For every waypoint, check how many times it appears in our database. If the waypoint appears more than once, it is an intersection waypoint. for ( int i = 0; i < count; i++) { Object tempWaypoint = warrenWaypoints.get(i); if ( refWaypoint.equals(tempWaypoint)) { if ( i + 1 < count) { waypoints[j] = warrenWaypoints.get(i+1); j ++; // number of the appearance } // end if } // end if } // end for Continue… // no intersection if ( j == 1){ if ( refPathname.equals(nextPathname)) { double feet = ((Waypoint)nextWaypoint ).getFeet(); double inches = ((Waypoint)nextWaypoint ).getInches(); sum += 12*feet + inches; System.out.println("Current location ----->\n"+ "\n" + nextWaypoint.toString() + "\n"); System.out.println("Total distance traveled: " + sum/12 + + "\n"); } // end if } // end if "feet " + sum%12 + "inches " Continue… // encounter an intersection else{ System.out.println("-----> We are at "+j+ "-way " +"intersection\n"); System.out.println("Please choose one of the followings\n"); // print the intersection waypoints for( int i = 0; i < j; i ++) { System.out.println("("+f+") "+ waypoints[i].toString() + "\n"); f++; } // end for sUserInput = inFromUser.readLine(); int c = Integer.parseInt(sUserInput); c--; System.out.println("Current location ----->\n"+"\n"+ waypoints[c].toString() + "\n"); double feet = ((Waypoint)waypoints[c]).getFeet(); double inches = ((Waypoint)waypoints[c]).getInches(); sum += 12*feet + inches; System.out.println("Total distance traveled: " + sum/12 + "feet " + sum%12 + "inches " + "\n"); } // end else Output of a normal waypoint Current Location Path Name: PriceCenter_to_EBUI Waypoint ID:1 Waypoint Name: ATM Total distance traveled : 20feet 10 inches When the user encounters an intersection waypoint and wishes to continue, The Output: --> We are at 3-way intersection Please choose one of the followings : (1) Path name: PriceCenter_to_EBUI Waypoint ID: 3 Waypint name: tree (2) Path name: PriceCenter_to_EBUII Waypoint ID: 5 Waypoint name: CMRR If (2) is chosen, Current Location Path Name: PriceCenter_to_EBUII Waypoint ID: 5 Waypoint name: CMRR Total distance traveled : 125feet 9inches Matlab location program Three vertices and a point form four small triangles and compare the area of three vertices with other three triangles to determine a point inside or outside the triangle d1=sqrt((y2-y1)^2+(x2-x1)^2); d2=sqrt((y3-y2)^2+(x3-x2)^2); d3=sqrt((y3-y1)^2+(x3-x1)^2); d4=sqrt((y1-a2)^2+(x1-a1)^2); d5=sqrt((y2-a2)^2+(x2-a1)^2); d6=sqrt((y3-a2)^2+(x3-a1)^2); c1=0.5*(d3+d4+d6); c2=0.5*(d1+d4+d5); c3=0.5*(d1+d2+d3); c4=0.5*(d2+d5+d6); area1=sqrt(c1*(c1-d3)*(c1-d4)*(c1-d6)); area2=sqrt(c2*(c2-d1)*(c2-d4)*(c2-d5)); area3=sqrt(c3*(c3-d1)*(c3-d2)*(c3-d3)); area4=sqrt(c4*(c4-d2)*(c4-d5)*(c4-d6)); if (area1+area2+area4 <= area3) display ('The point is inside a triangle'); else display('The point is outside a triangle'); end Decide if a point inside or outside a triangle Summary Java display program Matlab location program Experiment of inputting 10 waypoints Plans for next week Test the java display program Come up some slides for the final presentation