לשבור את קללת ה-SLAM: איך מריצים מיפוי ומיקום אוטונומי על חומרת קצה מבלי לחנוק את הרחפן

חברות שמפתחות רחפנים ומערכות רובוטיות אוטונומיות שדורשות ניווט מדויק בסביבות סגורות תת קרקעיות או כאלו שחוסמות קליטת GPS חייבות לשלב מערכות SLAM. היכולת לבנות מפה של הסביבה ולמקם את כלי הטיס בתוכה במקביל מהווה תנאי סף חיוני לשרידות המשימה. רחפן שסורק באופן אוטונומי מחסן לוגיסטי גדול מנטר מפעל רגיש או מנווט במנהרה טקטית מוכרח להבין את המרחב הגיאומטרי והנפחי שסביבו בזמן אמת. האתגר התפעולי המרכזי שעומד בפני מנהלי פיתוח וארכיטקטי מערכת מתמקד בהשגת רמת האוטונומיה המורכבת הזו ישירות על גבי מחשב הטיסה המשובץ של הרחפן. בסביבה זו מהנדסים מודדים בקפידה כל גרם משקל של סוללה וכל ואט של הספק מעבד תחת אילוצי בטיחות קשיחים שאינם מאפשרים שיהוי או עיכוב זמנים במחזור הבקרה של הטיסה.
צוותי פיתוח שמנסים לפתור אתגר זה בוחרים פעמים רבות בפתרון הפשוט של הוספת כוח מחשוב. הם משתמשים באלגוריתמי קוד פתוח כבדים שמבוססים על גיאומטריה דלילה דוגמת גרסאות מסורתיות של ORB SLAM ומריצים אותם ישירות על גבי מעבדים גרפיים חזקים בחומרת הקצה. הגישה הנאיבית הזו נכשלת כאשר הרחפן מתמודד עם תנאי השטח המבצעיים. מפתחים תכננו את האלגוריתמים הללו במקור עבור רובוטים קרקעיים או סימולציות בענן. כלים אלו מסתמכים על הקצאות זיכרון דינמיות ובלתי פוסקות על זיכרון Heap. פעולות אלו יוצרות פרגמנטציית זיכרון חריפה לאורך זמן וגורמות לכישלון המערכת באוויר.
מנגנון סגירת הלולאות הקלאסי מבוסס על סריקת מטריצות ענק של מאפיינים ויזואליים. ככל שהשטח שנסרק גדל כך החיפוש בגרף יוצר עומס כבד על ממשק ה AHB Bus Interconnect ועל זיכרון המטמון של המעבד. ניסיונות לבנות מפה נפחית עבור התחמקות ממכשולים בזמן אמת בתוך סביבות תפעוליות דינמיות כמו מחסנים שפועלים בהם עובדים ומלגזות חושפים בעיות נוספות. פתרונות פילוח סמנטי נאיביים או שימוש בפונקציות חסונות דוגמת Huber M estimators חדלים מלתפקד כאשר אובייקט דינמי תופס מעל ארבעים אחוזים מחלון הראייה מול העדשה. במצבים אלו הפילטר חווה היפוך מודל סטטיסטי ומתחיל לפרש את התנועה הדינמית כמסלול הטיסה האמיתי. שגיאה זו מעמיסה על רוחב הפס של הזיכרון בצורה קיצונית ויוצרת קפיצות שיהוי של מאות מילי שניות. עיכוב כזה מסכן רחפן שחייב לקבל תיקוני מיקום בתדר גבוה כדי לשמור על יציבות אווירודינמית.
כחלופה חברות מסוימות בוחרות בפתרונות חיצוניים כמו ניווט מבוסס ענן שכולל הזרמת נתונים ויזואליים לשרת מרוחק שמבצע את חישובי הניווט ומחזיר פקודות מיקום. חלופה זו מאבדת את היעילות שלה באופן מיידי כאשר מופיע שיהוי ברשת אובדן פאקטים או חסימה אלקטרונית אקטיבית. תקלות אלו מבטלות לחלוטין את הגדרת הרחפן ככלי אוטונומי. פתרון אחר מתבסס על מעבר לחיישני LiDAR כבדים ויקרים שמבצעים מיפוי גיאומטרי מהיר. חיישנים אלו מגדילים באופן דרמטי את עלויות הייצור מקצרים את זמן הטיסה של הסוללה בעקבות המשקל החריג ומגבילים את כושר התחרות של המוצר בשוק המסחרי.
כדי לעקוף את צוואר הבקבוק החישובי ולהעניק לרחפנים אוטונומיה מוחלטת חזית הטכנולוגיה מחייבת מעבר לארכיטקטורה מבוזרת של אופטימיזציית גרפים דלילים בשילוב מבני נתונים מסוג Zero Allocation Continuous Volumetric Representation.
הפתרון האלגוריתמי שאנו מציעים פועל בשיטת קופסה לבנה ומהונדס מן היסוד עבור המגבלות של חומרת קצה משובצת. התוכנה נמנעת מפתרון גרף אופטימיזציה גלובלי יחיד ובמקום זאת מחלקת את המרחב הגיאומטרי באופן דינמי באמצעות טכניקת Hierarchical Sub Mapping לתת מפות עצמאיות ומבודדות. חיבור תת המפות עלול ליצור עיוות גיאומטרי וחוסר עקביות סטטיסטית מאחר שנקודות הליניאריזציה בגרף המקומי מאבדות תיאום עם נקודות הייחוס הגלובליות. כדי למנוע שגיאות אלו האלגוריתם מיישם טכניקת First Estimates Jacobians על גבי תת יריעות של חבורות לי שמקבעת את נקודות הליניאריזציה הראשוניות בגרף. המערכת מבצעת את כלל הפעולות על גבי מאגרי זיכרון סטטיים שמבטיחים ביצועים וניהול משאבים בזמן קבוע של O(1) ומונעים לחלוטין את סכנת כשל הזיכרון.
המערכת מתמודדת עם סביבות דינמיות צפופות ומונעת שגיאות היפוך מודל על ידי ויתור על פילוח סמנטי כבד. היא מיישמת במקומו מנגנוני Coarse Motion Models שמבודדים סטטיסטית את התפלגויות הרעש של עצמים נעים ישירות בתוך גרף הפקטורים. מנוע התוכנה מייצג את הסביבה הנפחית לצורכי בטיחות באמצעות מבנים רציפים שקשורים ישירות לצמתי המפתח בגרף בשיטת Anchor based 3D Gaussian Splatting. ארכיטקטורה זו משתמשת באופטימיזציית נראות מוחלקת שמבטיחה רציפות מתמטית של הנגזרות ומונעת חוסר רציפות ביעקוביאנים בזמן תנועות מהירות. בזכות גישה זו תוכנת הניווט מבצעת Ray marching ועדכוני מפה צפופים בתדר של עשרות הרצים ללא תלות במבני עץ מורכבים. מנגנון זה מונע את סכנת השכחה הקטסטרופלית של המרחב הגיאומטרי ומשחרר לחלוטין את צווארי הבקבוק ברוחב הפס של הזיכרון או בערוץ התקשורת הפנימי של השבב. פיתוח ב- C++ או ב- RUST מנצל האצות וקטוריות מובנות בחומרה כדוגמת פקודות SIMD וארכיטקטורת NEON. ניצול יעיל זה מאפשר למהנדסים להריץ את הליבה המתמטית של חישובי הניווט בצריכת זרם מזערית וללא התערבות במשאבי המעבד שמוקצים לבקרת הטיסה החיונית.
השורה התחתונה משנה את החזר ההשקעה ואת רמת האמינות המבצעית של צי הרחפנים. יישום הנדסה אלגוריתמית שמותאמת לחומרת קצה מוריד את צריכת כוח העיבוד ואת הספק האנרגיה של המערכת בכשבעים אחוזים. התוכנה שומרת בו זמנית על דיוק מיקום ברמת הסנטימטר ומפה נפחית עקבית לאורך שעות של טיסה רציפה. יכולת זו מאפשרת לחברות להריץ אלגוריתמים מתקדמים של ניווט מיפוי והתחמקות ממכשולים על גבי חומרת קצה מסחרית זולה קלה ונגישה ללא תלות בחיישני LiDAR יקרים או בשירותי ענן. כך מתאפשר לשחרר לשוק מוצר מוקשח בטיחותי ובר הרחבה שמסוגל לפעול באוטונומיה מוחלטת בסביבות הקיצוניות ביותר ומעניק יתרון טכנולוגי ועסקי בולט על פני המתחרים.

במתמטיקאי מחקר ופיתוח בע"מ מתמחים בדיוק בנקודת המפגש הזו שבין מתמטיקה שימושית עמוקה, גיאומטריה חישובית והוצאה לפועל בסביבות Embedded. כצוות מחקר אלגוריתמי יישומי, אנו לוקחים את חזית האלגוריתמיקה הסטוכסטית ותיאוריות ה-SLAM המודרניות ביותר, ומממשים אותן בקוד יציב, יעיל ואופטימלי לחומרת הקצה שלכם, כדי להפוך את המערכות האוטונומיות שלכם לפתרונות קשיחים המוכנים ל-Scale ייצורי מלא בשטח. אם אתם זקוקים לשותף טכנולוגי עתיר ניסיון שיודע לספק שירותי מחקר ופיתוח Hands-on, מארגוני אנטרפרייז ועד סטארט-אפים, ממשרדי תכנון ועד למפעלי אנרגיה, על מנת להוציא חזון אלגוריתמי שלכם מהכוח אל הפועל? הבה נדבר!
כמובן, אנחנו כתמיד ממשיכים לספק שירותי מחקר אלגוריתמי יישומי ונותנים פתרונות ב-"קימונו פתוח" ומקדמים עצמאות הלקוחות שלנו ואי-תלות בנו.
שלמה יונה,
מייסד ומדען ראשי,
מתמטיקאי מחקר ופיתוח בע"מ
053-7326360
פודקאסט על החברה ועליי, שלמה יונה, ואופן העבודה שלנו ואיתנו:

.png)
Comments