מה זה NavSight
פרויקט הגמר לתואר B.Sc. בהנדסת תוכנה במכללת שנקר, ציון 100/100. ניווט באנדרואיד שממשיך לעבוד כשהלוויינים לא עובדים: בלי קליטת GPS, בלי ענן, בלי רשת.
ליבה ויזואלית-אינרציאלית ב-C++ מאחדת את הכביש שזורם מול המצלמה עם חיישני ה-IMU של הטלפון במסנן קלמן מסוג error-state, ואז קוראת את המהירות האמיתית מפני הכביש עצמו: הקרקע היא מישור בגובה ידוע מתחת לעדשה, כך שהזרימה האופטית לרוחבה מתורגמת ישירות למטרים לשנייה. ברמזור אדום הוא מראה בדיוק 0 קמ"ש; כשהתמונה מחשיכה או מיטשטשת, הערכה אינרציאלית חסומה ממשיכה לשאת את הרוכב עד שהמצלמה מתאוששת.
מתאם מפה מבוסס מודל מרקוב חבוי, שרץ על המכשיר, מצמיד את התוצאה לגרף הכבישים של OpenStreetMap שנשמר באחסון המקומי, כך שהמיקום לעולם לא יכול לסטות מהרחוב. חיפוש יעד, ניתוב, התאמה ומעקב רצים כולם על המכשיר, מאחורי ממשק Jetpack Compose מעל JNI.
נבנה ונבדק בחיפה בזמן שיבוש GNSS רחב היקף, מהסוג שהקפיא את ה-GPS של הטלפון עצמו לדקה שלמה באמצע נסיעה ומתח מסלול של 1,280 מ' בשליש. בהשוואה למדידות ייחוס שהשיבוש לא הגיע אליהן, הוא החזיק 91–93% מהמרחק האמיתי, התאים את המהירות החציונית בטווח של 3.5%, ורץ ב-15.4 מילישניות לפריים: פי שלושה עשר בתוך תקציב הזמן האמיתי, עם 13 מתוך 13 בדיקות מערכת עוברות.
סביבת הרצה חוזרת לדסקטופ מקמפלת את אותה ליבת C++ ומריצה מחדש נסיעות מוקלטות בית אחר בית, כך שכל שינוי במנוע מקבל ציון A/B ב-CI לפני שהוא מגיע למכשיר. השיטה והתוצאות כתובות כפרפרינט ב-Zenodo.


