היתוך נתונים באמצעות מסנן קלמן ושיטות מתקדמות אחרות

בפוסט הזה נתייחס לשיטות שערוך מצב ועיבוד אותות במערכות ניווט. הכלי השימושי הנפוץ בתחום זה הוא שיטת בקרה בשם מסנן קלמן.
פילטר קלמן הבסיסי ומגבלות הלינאריות של המודל
מהנדסי מערכות ואנשי פיתוח נדרשים להתמודד באופן יומיומי עם האתגר המורכב שסובב סביב שערוך מצב של מערכות דינמיות בסביבה שופעת רעשים. לשם כך, הקהילה ההנדסית משתמשת רבות באלגוריתם Kalman Filter, שמספק פתרון מתמטי אלגנטי ויעיל. האלגוריתם פועל בשני שלבים עוקבים שכוללים שלב חיזוי ושלב עדכון. בשלב החיזוי, האלגוריתם משתמש במודל הקינמטי של המערכת כדי לקדם את וקטור המצב ואת מטריצת השונות המשותפת צעד אחד קדימה בזמן. המודל מסתמך על מטריצת מעבר שמתארת את הדינמיקה של המערכת, ומוסיף את מטריצת רעש התהליך שמשקפת את חוסר הוודאות המובנה במודל. בשלב העדכון, המערכת קולטת נתונים מחיישנים חיצוניים ומחשבת את שבח קלמן. שבח זה מאזן באופן אופטימלי בין האמון שהאלגוריתם נותן בתחזית המודל לבין האמון שהאלגוריתם מעניק למדידת החיישן החדשה. כאשר מהנדסים מיישמים את הפילטר על מערכת לינארית לחלוטין שסובלת מרעש גאוסי טהור, האלגוריתם מפיק שערוך אופטימלי שממזער את שגיאת הריבוע הממוצעת בביטחון מוחלט. אולם, בעולם המעשי, מערכות ניווט של רחפנים וכלים אוטונומיים מתאפיינות בקינמטיקה בעלת אופי לא לינארי מובהק. עובדה זו דורשת מהמפתחים למצוא פתרונות מתקדמים יותר להתמודדות עם משוואות תנועה שמכילות פונקציות טריגונומטריות סבוכות ומכפלות וקטוריות שמובילות לאי ודאות מצטברת.
המעבר לאלגוריתם Extended Kalman Filter וסוגיית השגיאות
כדי לגשר על הפער שבין התיאוריה הלינארית למציאות הלא לינארית, מתמטיקאים פיתחו את הגישה שאנו מכירים בשם Extended Kalman Filter. אלגוריתם זה מרחיב את הפילטר המקורי בכך שהוא מאפשר למתכנתים להזין פונקציות מעבר ופונקציות מדידה לא לינאריות לחלוטין למערכת. במקום להשתמש במטריצות לינאריות קבועות, האלגוריתם מחשב את מטריצות היעקוביאן של פונקציות המערכת בכל צעד זמן מחדש. מטריצת היעקוביאן מכילה את הנגזרות החלקיות של פונקציות המצב ביחס לכל אחד ממשתני המצב, והמערכת מעריכה נגזרות אלו בדיוק בנקודת השערוך העדכנית ביותר. גישה זו מבצעת למעשה קירוב טיילור מסדר ראשון, שמניח כי בסביבה המיידית של נקודת העבודה, המערכת מתנהגת בצורה כמעט לינארית. גישה זו עובדת היטב עבור מערכות שמשתנות לאט או שמציגות אי לינאריות עדינה במיוחד.
עם זאת, כאשר רחפן מבצע תמרונים חדים או חווה זוויות חדות של גלגול ועלרוד, פונקציות המצב משתנות במהירות חריגה. במצבים אלו, קירוב טיילור מסדר ראשון מאבד את תוקפו, ומטריצת היעקוביאן שוגה בייצוג הדינמיקה האמיתית של כלי הטיס. כתוצאה מכך, האלגוריתם מכניס שגיאות קירוב משמעותיות לתוך תהליך קידום מטריצת השונות המשותפת. שגיאות אלו הולכות ומצטברות, וגורמות לאלגוריתם לסמוך בצורה עיוורת על תחזיות שגויות. תהליך זה מעוות את חישוב שבח קלמן ועלול להוביל לאובדן מוחלט של פונקציית הניווט, מצב שמהנדסים מכנים התבדרות הפילטר. יתרה מזאת, חישוב הנגזרות החלקיות דורש כוח עיבוד נוסף ומסבך את תהליך כתיבת הקוד, במיוחד כאשר משוואות הקינמטיקה מורכבות במיוחד.
הגישה החלופית של Unscented Kalman Filter
במטרה לפתור את חוסר הדיוק שנובע מקירובי היעקוביאן, חוקרים פיתחו את אלגוריתם Unscented Kalman Filter שמציע פרדיגמה שונה לחלוטין שמבוססת על דגימה דטרמיניסטית. במקום לנסות לקרב את הפונקציה הלא לינארית עצמה דרך נגזרות, האלגוריתם בוחר לקרב את התפלגות ההסתברות של משתני המצב. מתודולוגיה זו מסתמכת על טרנספורמציית אנ-סנטד שמייצרת סט דטרמיניסטי של נקודות דגימה שאנו מכנים נקודות סיגמא. האלגוריתם מחשב נקודות אלו באופן שישקף במדויק את התוחלת ואת מטריצת השונות המשותפת של מצב המערכת הנוכחי לפני ביצוע הטרנספורמציה. כדי לייצר את הנקודות במרחב בעל n ממדים, המערכת מחשבת את שורש המטריצה של מטריצת השונות המשותפת בעזרת אלגוריתם פירוק צ'ולסקי, ויוצרת קבוצה של שני n ועוד אחד נקודות סיגמא. האלגוריתם מוסיף ומחסיר את עמודות השורש מווקטור התוחלת, וכך יוצר מעטפת של נקודות שפרוסות בצורה סימטרית במרחב המצב. לאחר מכן, במקום לגזור פונקציות, האלגוריתם מעביר כל נקודת סיגמא בנפרד דרך משוואות המעבר האמיתיות והלא לינאריות של המערכת ללא שום קירוב.
לאחר שכל נקודות הסיגמא עוברות דרך המודל הקינמטי למרחב החדש, האלגוריתם משקלל אותן מחדש כדי להפיק את התוחלת החדשה ואת מטריצת השונות המשותפת החזויה. תהליך השקלול מסתמך על קבוצת משקלים נפרדת עבור התוחלת ועבור השונות, תוך שימוש בשלושה פרמטרים שמתכננים מכיילים בקפידה. הפרמטר α קובע את רדיוס הפיזור של נקודות הסיגמא סביב נקודת המרכז, ולרוב אנו מעניקים לו ערך זעיר כדי למנוע דגימה של אזורים לא רלוונטיים במרחב או כדי למנוע חריגה מגבולות המודל. הפרמטר β משלב ידע מוקדם על צורת ההתפלגות של המשתנים, וכאשר אנו עוסקים ברעש גאוסי, אנו מציבים בו ערך של שתיים שמבטיח דיוק אופטימלי ומזעור של השפעת מומנטים מסדר גבוה. הפרמטר κ מהווה גורם כיול משני שמאפשר שליטה נוספת במשקל הנקודה המרכזית. בזכות שיטת דגימה חכמה זו, אלגוריתם Unscented Kalman Filter לוכד את התכונות הסטטיסטיות של המערכת בדיוק שמקביל לקירוב סדר שלישי של טור טיילור עבור רעש גאוסי, וזאת מבלי לחשב אפילו נגזרת אחת. יכולת זו מעניקה לו עליונות ברורה בטיפול בקינמטיקה מורכבת של רחפנים בהשוואה לגרסה המורחבת.
בנוסף, קהילת המחקר משתמשת רבות בגרסה שנגזרת מאלגוריתם זה ונושאת את השם Cubature Kalman Filter. אלגוריתם זה מציע גישה דומה שמסתמכת על כלל אינטגרציה רדיאלי כדורי בדרגה שלישית במקום על פרמטרי כיול שרירותיים. במסנן זה, המערכת בוחרת נקודות בצורה דטרמיניסטית שקולה ללא צורך בפרמטרים α או β וללא שימוש בנקודה מרכזית בעלת משקל שלילי. רבים בקהילת הניווט רואים באלגוריתם זה חלופה יציבה יותר מבחינה נומרית עבור מערכות מרובות ממדים, אף על פי שההיגיון הבסיסי של העברת נקודות דגימה דרך פונקציות המערכת נותר זהה.
Unscented Kalman Filter | Extended Kalman Filter | Kalman Filter | מאפיין מרכזי |
לא לינארי קיצוני | לא לינארי | לינארי טהור | מודל דינמי מתאים |
טרנספורמציית נקודות סיגמא | קירוב טיילור מסדר ראשון | חישוב אנליטי מדויק | שיטת טיפול בשגיאות |
ללא צורך בנגזרות | מחייב חישוב יעקוביאן | ללא צורך בנגזרות | דרישת נגזרות |
מדויק עד סדר שלישי לגאוסי | נמוך במקרים חדים | אופטימלי לרעש גאוסי | דיוק סטטיסטי |
בינוני עד גבוה | בינוני תלוי בפונקציה | נמוך מאוד | עומס חישובי |
ניתוח מעמיק של חוזקות וחולשות במשפחת המסננים
יתרונות מובהקים בסביבה עתירת חיישנים בקצב מהיר
משפחת מסנני קלמן מציעה מגוון רחב של יתרונות שמבססים את מעמדה כבחירה המובילה בתעשיית התעופה והרובוטיקה. החוזקה הבולטת ביותר נוגעת ליעילות החישובית בזמן אמת. מכיוון שהאלגוריתם מסתמך על סדרה של פעולות כפל וחיבור של מטריצות בעלות ממדים קטנים יחסית, מעבדים זעירים שצורכים מעט מאוד חשמל יכולים להריץ אותו בקצבים שעולים על ארבע מאות הרץ במערכות ניווט מודרניות כגון אלו שמותקנות בבקרי טיסה מתקדמים. יתר על כן, משפחה זו מתאפיינת בטבע רקורסיבי מובהק. האלגוריתם אינו דורש מהמערכת לאחסן בזיכרון מדידות היסטוריות, אלא מסתמך אך ורק על וקטור המצב האחרון ועל מטריצת השונות המשותפת העדכנית ביותר שמכילה את כל הידע הקודם. עובדה זו חוסכת משאבי זיכרון יקרים ומונעת הצטברות עומס חישובי לאורך זמן הטיסה.
מעבר ליעילות משאבים, מסננים אלו מפגינים יכולת פנומנלית בהיתוך מידע ממספר רב של חיישנים אסינכרוניים במקביל. מתכננים יכולים להגדיר פונקציות מדידה שונות עבור כל חיישן, והאלגוריתם ישקלל את המידע מכולם תוך התחשבות במטריצת אי הוודאות הספציפית של כל מכשיר שמיוצגת על ידי מטריצת רעש המדידה R. כאשר הרחפן מקבל מידע ממד גובה לייזר בקצב אחד, וממקלט לוויינים בקצב אחר, האלגוריתם משלב את שניהם לאותו וקטור מצב בצורה חלקה. תכונה נוספת ראויה לציון היא האופטימליות המתמטית במצבים שבהם המערכת חווה רעש תהליך ורעש מדידה בעלי התפלגות גאוסית טהורה. תחת תנאים אלו, תיאורטיקנים הוכיחו שהמסנן ממזער באופן אבסולוטי את שגיאת השערוך הריבועית, וכך מספק למערכת הבקרה את התוצאה הסטטיסטית הטובה ביותר שאפשר לחלץ מהנתונים הזמינים.
מגבלות תיאורטיות ומעשיות שמקשות על היישום
למרות היתרונות הרבים, מהנדסי אלגוריתמים נתקלים במספר חסרונות משמעותיים שמחייבים התייחסות תכנונית קפדנית. חולשה מרכזית אחת נובעת מהרגישות הגבוהה לתנאי ההתחלה של המערכת. אם מהנדס מגדיר ערכי התחלה שרחוקים מאוד מהמצב האמיתי של הרחפן, או אם הוא מגדיר מטריצת שונות משותפת התחלתית שאינה משקפת כראוי את חוסר הוודאות, המסנן עלול לעקוב אחרי מסלול שגוי במשך זמן רב, ובמקרים מסוימים הוא יתבדר לחלוטין ולא יצליח להתכנס אל הערך הנכון לעולם.
מגבלה משמעותית נוספת מתגלה כאשר המערכת פועלת בסביבות שמתאפיינות ברעשים בעלי התפלגות שאינה גאוסית. חיישנים רבים, ובמיוחד מקלטי ניווט לווייני בסביבה אורבנית צפופה שסובלים מהחזרי אותות, נוטים לייצר מדידות שגויות קיצוניות שמייצרות התפלגויות בעלות זנבות עבים. מסנני קלמן, שכופים על כל המידע הסטטיסטי תבנית של פעמון גאוסי סימטרי בעל תוחלת אחת ושונות אחת, מתקשים מאוד להתעלם ממדידות שגויות אלו ונוטים להסיט את השערוך כולו לכיוון החריגה הרגעית. כמו כן, מודלים שכוללים מספר התפלגויות סבירות בו זמנית יכשילו את המסנן. המסנן יחשב ממוצע בין שני מיקומים אפשריים ויציב את הרחפן בדיוק באמצע, באזור שכנראה אינו סביר פיזיקלית, עובדה שפוסלת את השימוש בו בתרחישי התמצאות עמומים שבהם המיקום הראשוני אינו ידוע כלל. לשם פתרון אתגר זה, מהנדסים מרבים להשתמש במודל של מסנן שמידט (Schmidt-EKF) שמאפשר למערכת לשמור פרמטרים מטרידים (משתנים או פרמטרים שחובה לקחת בחשבון כדי שהמערכת תפעל בצורה מדויקת, אך ערכם המדויק אינו מעניין אותנו כשלעצמו) כמו מאפייני מפה ללא עדכון מלא של השערוך שלהם, אלא רק מעקב אחר השונות המשותפת שלהם עם וקטור הניווט. שיטה זו תורמת רבות לחיסכון במשאבי חישוב בסביבות עתירות מאפיינים לא ודאיים.
סכנת התבדרות המטריצות ופתרון השורש הריבועי
בעיה חמורה שאורבת לכל מהנדס שניגש ליישם מסנן רקורסיבי נוגעת ליציבות הנומרית של מטריצת השונות המשותפת לאורך זמן. האלגוריתם מעדכן את מטריצת השונות פעם אחר פעם בעזרת פעולות חיבור וחיסור שרצות על מעבדים שפועלים תחת מגבלות של דיוק נקודה צפה בסיסי או כפול. עם חלוף הזמן, שגיאות עיגול זעירות מתחילות להצטבר בתוך תאי המטריצה. הצטברות זו גורמת למטריצה לאבד את תכונת הסימטריה שלה. גרוע מכך, בגלל פעולות חיסור בשלב עדכון המדידה, היא עלולה לאבד את תכונת החיוביות המוחלטת שלה. ברגע שמטריצת השונות מפסיקה להיות מוגדרת חיובית, האלגוריתם נכשל מתמטית כאשר הוא מנסה לחשב את שורש המטריצה עבור נקודות הסיגמא או כאשר הוא מחשב את שבח קלמן.
כדי להתגבר על מכשול מסוכן זה, חוקרים פיתחו את משפחת האלגוריתמים Square-Root Filter שמבצעת את כל החישובים המסובכים ישירות על גורמי השורש של המטריצה במקום על המטריצה המלאה. באלגוריתם Square-Root Unscented Kalman Filter שפיתחו החוקרים ואן דר מרווה וואן, המערכת אינה שומרת בזיכרון את המטריצה השלמה P, אלא מנהלת אך ורק את גורם צ'ולסקי המשולשי שלה שאנו מסמנים באות S, כך שמתקיים P שווה ל-S כפול S משוחלף. בשלב קידום הזמן, המערכת משתמשת בטכניקה אלגברית חזקה שנקראת פירוק QR כדי להרכיב מחדש את שורש מטריצת השונות מתוך השונות של נקודות הסיגמא המשוקללות יחד עם שורש מטריצת רעש התהליך.
כמו כן, בשלב עדכון המדידה, האלגוריתם מפעיל פונקציות אלגבריות לעדכון צ'ולסקי בדרגה אחת שמעדכנות את השורש הריבועי באופן ישיר בהתבסס על מדידות החיישן ועל משקל הנקודה המרכזית, ללא צורך בהעלאה בריבוע או בחישובי שורש יקרים שעלולים לייצר שגיאות נומריות. מכיוון שמשקל הנקודה המרכזית יכול להיות שלילי, האלגוריתם מבצע פעולת עדכון או הפחתה של צ'ולסקי בהתאם לסימן המשקל. בנוסף לכך, גישה זו מבטיחה באופן מתמטי טהור שהמטריצה הנגזרת שיוצרת את השונות המשותפת תישאר תמיד מוגדרת חיובית וסימטרית. מתודולוגיה מבריקה זו מעניקה למסנן חוסן נומרי שמאפשר לו לרוץ במשך ימים שלמים ברציפות על בקרי טיסה פשוטים ללא שום תקלות חישוב שנובעות משגיאות נקודה צפה.
יישום מעשי בניווט אינרציאלי של רחפנים משולב לוויינים
מנגנון הפעולה של חיישני אינרציה ומקלטי המיקום החיצוניים
ניווט אוטונומי ומדויק של רחפנים מסתמך כמעט באופן בלעדי על ארכיטקטורת היתוך מידע שמשלבת בין חיישני תנועה אינרציאליים פנימיים לבין רשתות לוויינים חיצוניות שמספקות נתוני GNSS. רכיב ה-IMU מודד תאוצות קוויות דרך מדי תאוצה ומודד מהירויות זוויתיות דרך גירוסקופים. החוזקה הגדולה של חיישן זה נובעת מקצב העבודה העצום שלו, שיכול לספק נתונים בתדר שעולה על אלף הרץ. נתונים מהירים אלו מאפשרים לבקר הטיסה להגיב למשבי רוח פתאומיים ולייצב את זווית הרחפן בזמן אמת. עם זאת, המערכת נדרשת לבצע אינטגרציה כפולה על מנת לחלץ נתוני מיקום ומהירות מתוך התאוצות והזוויות. תהליך האינטגרציה לוקח רעש מדידה לבן והופך אותו לתהליך של הילוך אקראי שצובר טעויות ללא הפסקה במרחב. בנוסף, מדי האינרציה סובלים מתופעת סחיפת הטיה שמוסיפה שגיאה קבועה שהולכת ותופחת עם כל שניה של אינטגרציה. ללא התערבות חיצונית, משתני המיקום והמהירות יתרחקו מהמציאות לחלוטין בתוך שניות בודדות והרחפן יאבד כיוון.
כדי לרסן את הסחיפה המהירה הזו, המערכת קולטת נתוני GNSS שמספקים מידע גלובלי ומוחלט על מיקומו של הרחפן בכדור הארץ ועל המהירות שלו ביחס לקרקע. הנתונים הלווייניים מגיעים בקצב איטי בהרבה, לרוב סביב חמישה עד עשרה הרץ, אך הם אינם סובלים משגיאה מצטברת שגדלה לאורך זמן. מסנן קלמן נכנס לתמונה כדי לייצר סינרגיה מושלמת בין שני מקורות המידע הללו. המסנן משתמש במשוואות הקינמטיות של רכיב האינרציה כדי לקדם את משתני המצב במדויק ולמלא את פערי הזמן שבין דגימות הלוויין האיטיות. כאשר הרחפן קולט דגימת מיקום אבסולוטית מהלוויין, האלגוריתם מחשב את שגיאת החיזוי הרגעית ומפעיל את שבח קלמן כדי לתקן לא רק את משתני המיקום והמהירות, אלא גם את הערכות ההטיה של הגירוסקופים ומדי התאוצה הפנימיים. תיקון הטיות זה מהווה נדבך קריטי שמאפשר לחיישן האינרציה לפעול בצורה חלקה ומדויקת יותר בצעדי הזמן הבאים.
ניהול שגיאות באמצעות Error-State Kalman Filter
כדי לנהל את היתוך המידע במערכת מורכבת שכוללת עשרות משתני מצב, מפתחי בקרי טיסה מרבים לנטוש את הגרסאות הבסיסיות של קלמן ועוברים להשתמש בארכיטקטורה המתוחכמת שאנו מכנים Error-State Kalman Filter. בארכיטקטורה אלגנטית זו, מערכת הניווט מחזיקה בשני וקטורי מצב נפרדים לחלוטין שמייצגים את המציאות יחד. הווקטור הראשון הוא המצב הנומינלי שמכיל את המיקום, המהירות והזווית. המערכת מעדכנת את המצב הנומינלי באופן רציף באמצעות אינטגרציה ישירה של קריאות מנועי האינרציה אל תוך משוואות הקינמטיקה הלא לינאריות, מבלי להתחשב כלל ברעש או באי ודאות בשלב זה. הווקטור השני הוא וקטור מצב השגיאה. את וקטור השגיאה מנהל מסנן קלמן שמתעדכן מהמדידות החיצוניות, תחת ההנחה כי השגיאות נותרות קטנות מספיק כדי שנוכל להשתמש במודל לינארי פשוט שמתאר את ההתפתחות והתפשטות השגיאה לאורך זמן.
חלוקה חכמה זו מועילה במיוחד כאשר אנו מטפלים במצב הזוויתי של הרחפן במרחב תלת ממדי. מערכות תעופה מודרניות מתארות את המרחב הזוויתי בעזרת קווטרניון שמשמר תמיד אורך של גודל יחידה, וזאת כדי להימנע מבעיות חמורות של איבוד דרגות חופש ונעילת גימבל שמאפיינות ייצוג של זוויות אוילר. אולם, קווטרניונים חיים על יריעה גיאומטרית מיוחדת שמסומנת כ-SO(3), שאינה חולקת תכונות עם מרחב וקטורי רגיל ואינה מאפשרת פעולות חיבור וחיסור אלגבריות תקניות. עובדה זו מונעת הפעלה ישירה של פילטר קלמן שמחייב מרחב לינארי בעל איברים שמתחברים. בארכיטקטורת מצב השגיאה, המערכת מגדירה את שגיאת האוריינטציה כווקטור סיבוב תלת ממדי קטן ששוכן במרחב המשיק של היריעה הגיאומטרית. מרחב משיק זה מתנהג כמרחב וקטורי יוקלידי תקני לחלוטין. הוא מאפשר לאלגוריתם לבצע את כל חישובי השונות, הממוצעים ושבח קלמן בחופשיות מלאה. ברגע שמקלט הלוויינים מוסר נתון חותך, המסנן מחשב את וקטור מצב השגיאה הכולל. בשלב הבא שמכונה שלב ההזרקה והאיפוס, המערכת מזריקה את התיקונים לתוך המצב הנומינלי בעזרת פעולות כפל קווטרניונים שמכבדות את הגיאומטריה של המרחב. מיד לאחר מכן, האלגוריתם מאפס את וקטור מצב השגיאה חזרה לאפס מוחלט ומעדכן את המטריצות הסטטיסטיות כדי לשקף את האיפוס ולהתחיל מחזור חדש שבו השגיאות שוב קטנות וראויות לקירוב לינארי.
במקביל לגישה זו, ענף מחקר חדש פיתח את משפחת מסנני Invariant Extended Kalman Filter שמיישמת את תיאוריית חבורות ליי (Lie Groups) באופן עמוק יותר. על ידי ניסוח שגיאת השערוך בצורה שאינה תלויה במערכת הצירים הספציפית אלא שומרת על תכונות אינווריאנטיות (שמאליות או ימניות), המהנדסים מצליחים לייצר משוואות שגיאה שבהן מטריצות היעקוביאן אינן תלויות במצב הנוכחי של הרחפן. ניסוח מתמטי זה מבטיח שמטריצת אי הוודאות של המערכת תתכנס לערכים קבועים סביב מסלולים רחבים הרבה יותר, ותשפר משמעותית את העקביות הסטטיסטית של הניווט, גם כאשר הרחפן מבצע סיבובים מורכבים במיוחד ששולחים פילטרים מסורתיים להתבדרות נומרית.
שמירת רציפות הניווט בתנאי איבוד קליטת לוויינים
בסביבות מתגרות ומאתגרות כמו רחובות עירוניים צרים, גאיות עמוקים או מתקנים סגורים, הרחפן חווה לעיתים תכופות אובדן זמני או מלא של קליטת לוויינים. אלגוריתם הניווט המשולב תוכנן במיוחד כדי להתמודד עם משברים מסוג זה ללא זעזועים שעלולים לרסק את הכלי. כאשר נתוני הלוויין פוסקים מלהגיע או כאשר מספר הלוויינים הזמינים יורד מתחת לסף שמאפשר חילוץ מיקום תקין, שלב עדכון המדידה החיצונית של המסנן פשוט לא יוצא לפועל. במצב זה, האלגוריתם ממשיך לפעול בצורה עצמאית בתוך לולאת החיזוי בלבד, שבה הוא מחשב את הקינמטיקה של הכלי בהסתמך על הנתונים האינרציאליים הטהורים. מכיוון שהמסנן השקיע את כל זמן הטיסה המקדים בשערוך מדויק ועמוק של שגיאות ההטיה הקבועות של החיישנים הפנימיים, הוא מסוגל כעת לחסר את ההטיות הללו מהקריאות הגולמיות ומספק מסלול נקי מסחיפות קשות, לפחות לפרק זמן קצר של מספר שניות.
במהלך פרק זמן תחת עיוורון גלובלי זה, מטריצת השונות המשותפת של הפילטר אינה זוכה לעדכון שמקטין אותה. להפך, היא ממשיכה לגדול בצעדים משמעותיים עם כל שילוב של רעש מערכת, תהליך שמשקף למערכת הבקרה את ההתפתחות המהירה של חוסר הוודאות לגבי המיקום המדויק. ככל שזמן העיוורון נמשך, המטריצה צוברת רכיבי רעש שמנפחים את אליפסואיד השגיאה של הרחפן. ברגע שהרחפן יוצא מתוך השטח המת, תופס קו ראייה לשמיים ומקבל מחדש עוגן לווייני אמין, האלגוריתם מבצע סוף סוף עדכון מדידה. בשל העובדה שמטריצת אי הוודאות העצמית של המצב תפחה לממדים עצומים ביחס לאי הוודאות הקטנה שמאפיינת את מדידת הלוויין, האלגוריתם מחשב מטריצת שבח קלמן גדולה במיוחד שמראה אמון כמעט מוחלט בחיישן החיצוני. שבח גדול זה מאלץ את וקטור המצב להימשך בעוצמה לכיוון המדידה המוחלטת, ומתקן באבחה אחת את כל הסחיפה שהצטברה, תוך התחשבות מלאה במתאמים הסטטיסטיים שבין משתני המהירות, המיקום והזוויות כדי לשמר תנועה עקבית ולא לייצר קפיצות לא פיזיקליות במהירות הכלי.
סקירת חלופות נפוצות והשוואה מערכתית
חלקיקים ווירטואליים בהתמודדות עם חוסר לינאריות קיצונית
כאשר רחפנים פועלים בתוך סביבות שמתאפיינות באי לינאריות קיצונית לחלוטין או ברעשים שרחוקים מאוד מהמודל הגאוסי הסטנדרטי, מהנדסים מרבים לשלב מנגנונים חלופיים כמו Particle Filters שמבוססים על שיטות מונטה קרלו. בניגוד למסנני קלמן שמתחזקים אך ורק וקטור תוחלת דל ומטריצת שונות אחת כדי לייצג את כל המידע שבעולם, מסנן החלקיקים משתמש בכוח חישוב גולמי כדי לנהל אלפי השערות שונות וספציפיות בו זמנית. אוסף של חלקיקים אלו מרכיב יחד את פונקציית צפיפות ההסתברות הכוללת מבלי להניח אף הנחה על הצורה המתמטית שלה. האלגוריתם מקצה משקל הסתברותי לכל חלקיק בנפרד על בסיס מידת ההתאמה שלו למדידות החיישנים החדשות שמגיעות אל המערכת. אחת למספר מחזורי חישוב, האלגוריתם מבצע שלב דגימה מחדש, שבו הוא משכפל חלקיקים בעלי משקל גבוה שמתארים אזורים סבירים במרחב, ומוחק לחלוטין חלקיקים בעלי משקל נמוך שמייצגים מצבי תנועה לא סבירים.
יתרונם העצום של מסננים מבוססי חלקיקים טמון ביכולתם המובנית להתמודד עם התפלגויות מרובות מוקדים שמכילות מספר השערות מקבילות. לדוגמה, אם רחפן מזהה רחוב שדומה לשני רחובות שונים במפה באותה מידה, המסנן שומר על שתי קבוצות חלקיקים נפרדות, אחת בכל רחוב אופציונלי. המסנן ממשיך לעקוב אחרי שתיהן עד שמידע חיישני נוסף מפריד ביניהן ומכריע את הכף לכיוון הרחוב הנכון. אולם, יתרון זה גובה מחיר כבד ביותר בדמות משאבי חישוב אסטרונומיים. מסנני חלקיקים סובלים מתופעה מתמטית אכזרית שמוכרת כקללת הממדים. משמעות קללה זו היא שככל שאנו מוסיפים משתני מצב למערכת כדי לתאר סביבה מסובכת יותר, כמות החלקיקים שנדרשת כדי לכסות את המרחב בצפיפות ראויה גדלה בצורה מעריכית ומכריעה את משאבי העיבוד של כלי טיס קטנים. יתרה מזאת, אלגוריתמים אלו נוטים להיתקל בבעיית התנוונות, מצב שבו בעקבות דגימות מחדש חוזרות ונשנות כל כוח החישוב של המערכת מרוכז בטעות בחלקיק אחד בלבד. עקב כך, המערכת מאבדת את המגוון הסטטיסטי שנדרש לה לצורך התאוששות משגיאות פתאומיות. כדי לצמצם תופעה זו במשימות מיפוי וניווט מקביל (SLAM), מפתחים משתמשים בארכיטקטורה היברידית בשם Rao-Blackwellized Particle Filter שמפצלת את הבעיה. היא מטפלת במשתנים הלא לינאריים דרך חלקיקים, אבל משתמשת במסנני קלמן פנימיים כדי לפתור את המשתנים הלינאריים ביעילות עבור כל חלקיק בנפרד.
אופטימיזציה מבוססת גרפים על פני חלונות זמן (Factor Graphs)
בשנים האחרונות, תעשיית הניווט והמיפוי האוטונומי מאמצת בחום פתרונות שמבוססים על Factor Graphs כחלופה פופולרית ומתקדמת למסננים רקורסיביים מבוססי קלמן. בעוד שפילטר קלמן מעצם טבעו מתמצת את כל הידע מהעבר אל תוך משתנה עכשווי בודד ומוחק את כל הנתונים ההיסטוריים מתוך הזיכרון, ארכיטקטורת הגרפים שומרת אצלה את כל ההיסטוריה של מסלול התנועה. אלגוריתם זה בונה גרף דו צדדי ענק שמכיל צמתי משתנים שמייצגים את מיקומי הרחפן בנקודות זמן שונות מן העבר ועד ההווה. במקביל הוא יוצר צמתי גורמים שמייצגים את פונקציות המדידה הקינמטיות ואת קריאות החיישנים, אשר כובלות את המשתנים זה לזה ברשת של אילוצים מתמטיים. המטרה התוכנתית של המערכת היא למצוא את המסלול הכללי שממזער את פונקציית העלות של הגרף כולו בעזרת שיטות אופטימיזציה לא לינאריות מתקדמות, כגון אלגוריתם לונברג מרקוארדט שפועל באופן איטרטיבי על מטריצות דלילות.
ההבדל היסודי מול מסנן קלמן המורחב נעוץ בדרך שבה המערכת מטפלת בשגיאות קירוב שנגרמות מלינאריזציה. מסנן קלמן שמבצע קירוב טיילור בנקודת זמן מסוימת כדי לחשב יעקוביאן, נועל את השגיאה שנוצרה בתוך מטריצת השונות המשותפת העדכנית ולא מסוגל להפעיל את הקירוב מחדש לעולם, גם אם יקבל מידע חותך רגע לאחר מכן. לעומתו, שיטת הגרפים שומרת את המצבים ההיסטוריים פעילים. תכונה זו מאפשרת למערכת לחשב את כל היעקוביאנים מהעבר מחדש בהתבסס על מידע מתקן שהגיע מאוחר יותר. תהליך אופטימיזציה מחודש זה משפר את העקביות הסטטיסטית ואת הדיוק הסופי באופן חסר תקדים בהשוואה למסנני קלמן, במיוחד בסביבות עירוניות עתירות הפרעות וחסימות אותות. פיתוחים מודרניים של ספריות אלגוריתמיות כגון iSAM2 שזמינות בתוך מערכת GTSAM, מאפשרים לבצע עדכונים חלקיים ומהירים של הגרף באזורים שבהם התרחש שינוי בלבד. יכולת זו חוסכת לחשב את כל הגרף מאפס בכל פסיעה ושומרת על עצימות חישובית הגיונית שמסוגלת לרוץ על מחשב הכלי בזמן אמת. למרות הישגים מרשימים אלו, ניהול גרף עצום ממדים גובה משאבי זיכרון אדירים, והוא הופך רלוונטי רק כאשר פתרון הניווט מחייב התמודדות עם סביבות סבוכות שמייצרות המון נתונים סותרים שדורשים בוררות גלובלית.
שערוך חלון מתגלגל לאכיפת אילוצים (Moving Horizon Estimation)
חלופה מחקרית נוספת שנכנסת אט אט אל מערכות הניווט המתקדמות ביותר נקראת Moving Horizon Estimation. גישה זו שואבת רעיונות גם מהפילטר הרקורסיבי וגם מאופטימיזציית הגרפים, ומוצאת פשרה ביניהם. האלגוריתם מיישם אופטימיזציה קשוחה על חלון זמן ספציפי ומוגבל, שמכיל רק עשרות צעדים אחורנית ונע קדימה יחד עם תנועת הרחפן. כדי לא לאבד את המידע ההיסטורי שכבר נותח, האלגוריתם דוחס את כל המידע הישן שנופל מחוץ לחלון המוגדר לתוך ביטוי מתמטי שנקרא עלות הגעה. ביטוי זה מייצג בדיוק את תנאי ההתחלה הסטטיסטיים של חלון הזמן המנותח ומבטיח המשכיות.
בניגוד מוחלט לכל נגזרותיה של משפחת קלמן שמתקשות מאוד לכפות אילוצים פיזיקליים מוחלטים על וקטור המצב באופן אלגנטי, גישת חלון אופטימיזציה זו יכולה לקבל מהמתכנת פקודות מפורשות שמונעות ממשתנים מסוימים לחרוג מגבולות פיזיקליים. האלגוריתם מסוגל לעבד אילוצים בצורת שוויונות ואי שוויונות מתמטיים שמוכנסים למנוע האופטימיזציה ישירות. יכולת זו מאפשרת למערכת לאכוף מראש שמירת מהירויות מתחת לסף עליון כלשהו, או להכריח את מודל המיקום להישאר תמיד בגובה חיובי מעל הקרקע. מסנני קלמן הרגילים נוטים לפעמים להפר גבולות קשיחים אלו בשל טבעו של הפילוג הגאוסי שמתפזר אל מעבר לגבולות הפיזיים המציאותיים בעת חישוב התוחלת. עם זאת, פתרון בעיית אופטימיזציה לא לינארית כבדה שכוללת אילוצים קשיחים בכל צעד זמן בודד דורש כוח עיבוד מאסיבי שחורג בהרבה מיכולותיהם הצנועות של בקרי טיסה מסורתיים. לכן, מהנדסים משלבים שיטות אופטימיזציה אלו אך ורק כאשר הרחפן נושא מחשבי לוח חזקים במיוחד שמוקדשים לניווט בלבד. בשל צריכת משאבי החישוב המוגזמת של הגישות האלטרנטיביות, הרוב המוחלט של רחפני השוק המסחרי והצבאי הקל עדיין ממשיך להסתמך בביטחון על הנדסה מדוקדקת של משפחת מסנני קלמן, שעוברים התאמות ואופטימיזציה מקיפה לכדי שלמות תוכנתית שמתאימה למשאבים הקיימים.
חיסרון תיאורטי עיקרי | יתרון מרכזי בשימוש תעשייתי | צריכת משאבי עיבוי וזיכרון | שיטת טיפול בשגיאה לאורך זמן | אלגוריתם ניווט |
קושי לתקן שגיאות לינאריזציה מהעבר | שילוב אינרציאלי יעיל בזמן אמת | נמוכה מאוד, מאפשר קצבים גבוהים | לינאריזציה ספציפית ודחיסה למטריצת שונות | מסנן קלמן מורחב / מצב שגיאה |
התנוונות חלקיקים תדירה | מעולה בייצוג פילוג א-גאוסי עמום | גבוהה מאוד (קללת הממדים) | פילוג השערות מרובות עם דגימה מחדש | מסנני חלקיקים מונטה קרלו |
עומס זיכרון אדיר בהשוואה למסנן קלמן | חישוב יעקוביאנים רטרואקטיבי ומדויק | גבוהה, משתנה בהתאם לאורך ההיסטוריה | חישוב מסלול היסטורי שלם תוך עדכון קשרים | אופטימיזציה מבוססת גרפים |
לא ישים כלל על בקרי תעופה סטנדרטיים | מאפשר החלת אילוצי קינמטיקה קשיחים | גבוהה, מחייב אופטימיזטור כבד ברקע | שימור עלות הגעה עם תיקון חלון אחרון | אופטימיזציית חלון נע (MHE) |

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

.png)
Comments