1 / 13

Tourist Tracker a.k.a. Visit Planner

Tourist Tracker a.k.a. Visit Planner. Brent Horine EEL6788 April 13, 2011. Program Features. For phone users… Suggestions for shops and activities based upon preferences Exchange reviews Coupons for nearby shops based upon interest For property owners…

kolina
Download Presentation

Tourist Tracker a.k.a. Visit Planner

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tourist Trackera.k.a. Visit Planner Brent Horine EEL6788 April 13, 2011

  2. Program Features • For phone users… • Suggestions for shops and activities based upon preferences • Exchange reviews • Coupons for nearby shops based upon interest • For property owners… • Tangible value of location based upon walking traffic • For business owners… • Drive consumers to store • Site selection • Staffing guidance • Marketing feedback (e.g. signage) • For chamber of commerce • Understand value propositions • Promote business

  3. Key Operational Functions • Create paths based upon sampled location points • Highlight locations with significant foot traffic • Highlight locations which trigger lots of stops

  4. Key Research Activities • Discern mode of movement • Driving/walking/bicycling/motorcycling/horse carriage • Event triggering when entering/exiting shops

  5. Simplifying Assumptions • Lat/Lon form a square grid at this scale • Roads are mostly straight • 2 Dimensional (ignore altitude) • GPS errors, once smoothed, tend to be constant, i.e. fixed offset, with respect to map • Errors are normally distributed so we can use least squares (not really valid)

  6. Major Problems • Emulator inadequate for fully evaluating technology • Emulator does not send NMEA Sentences to NMEAListener • Cannot directly simulate number of satellites • No direct access to road segments, so need to create my own database of road segments

  7. Rules for Classifying Motion • Smooth GPS samples (e.g. MA of 3) • Aggregate points into paths • If max speed > SpeedThreshold then in car, bicycle, or motorcycle • Fit points to line using linear least squares • Find nearest road segments • Calculate angle between path and road

  8. Rules Part II • If angle is less than ANGLE_THRESH then calculate distance between the parallel lines • If distance is less than DIST_THRESH then evaluate quality of fit. • If quality of fit is better than QoF_THRESH, then assume care or bicycle or motorcycle or horse carriage • Else walking

  9. Algorithms • Use Jama to solve the matrix algebra for LS fit (assumes data is well conditioned. LU decomposition or SVD might be better, but more computationally intense) • Angle can be found from cross product or dot product and an inverse trig function • We could compare slope, but would have to normalize since slope can vary from 0 to infinity

  10. More Formulas • Distance between two parallel lines (if angle is less than threshold, we assume they are perfectly parallel. This may lead to large errors, but then chances are we’ll fail the next test and properly assume they are walking.) • Line 1: y = Ax + b1 • Line 2: y = Ax + b2

  11. More Rules • Handle onStatusChanged • If state is not inside_store then • If numSatellites < SAT_THRESH then • Perform a SQLite query for nearby stores • If not null then set state to inside_store • If state is inside_store and numSatellites > SAT_THRESH then set state to leaving_store • Prompt user with list of N nearby stores with any preference matches listed first

  12. Comments • Unfortunately, this is rather difficult to test using the emulator. The logic can work, but does the premise hold? • I.e. does the onStatusChanged get called when the number of satellites in view changes or quality of fix otherwise changes? • Is the number of satellites a valid measure of inside vs outside likelihood? • Alternative approach is to get the list of satellites and iterate over them. Get the SNR and whether that satellite was used in the fix. • Perhaps examine the top 4 SNRs (assuming they’re used in the fix) and keep track of the mean and standard deviation. Look for outliers. Low SNR outlier means in store. High SNR outlier means exited store. Pitfall is when satellite orbit takes it below visible horizon. Have to “hand-off” statistics to next satellite. How to handle that in a valid manner? • This will have to wait until this summer when my contract on my Palm Pre expires and I can buy an Android for a decent price!

  13. Status • User side coupon server UI logic • GPS location processing • Still need to aggregate points into paths • Still need to build DB and queries to find closest shops and road segments • Need to calculate the variance of error from straight line fit • Need more test jig development

More Related