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/
Gantt Chart
Tasks
Comparisons of different input methods
Java display program
Matlab location program
Plans for next week
Research
Design
Order Device
Contruction
Test/Debug
Revise/Optimization
Demonstration
Documentation
Weeks
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)
1.
2.
1.
2 minutes per waypoint to collect and input data + unknown time to correct mistake (recollect data)
Advantages:
Requires shorter time if there is no mistake
Flexible
Disadvantage:
Takes a lot of time to recollect data
1.
1.
2.
If we made mistake, we could correct it immediately.
Can not see the computer screen under sunlight.
Can not input data if the wireless network connection is not available.
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) {
} // end if
} // end if
} // end for waypoints[j] = warrenWaypoints.get(i+1); j ++; // number of the appearance
// 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 + "feet " + sum%12 + "inches "
+ "\n");
} // end if
} // end if
// 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
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
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
Java display program
Matlab location program
Experiment of inputting 10 waypoints
Test the java display program
Come up some slides for the final presentation