מה זה SLAM?
SLAM או Simultaneous Localization and Mapping, כלומר מיפוי רובוטי הוא תחום חישובי בתחומי
הרובוטיקה והראייה הממוחשבת.
המטרה העיקרית של SLAM היא שרובוט או מכשיר (כמו מזל”ט או רכב אוטונומי) יבנה מפה של סביבה
לא ידועה תוך קביעת מיקומו במפה זו.
תהליך זה הוא סימולטני מכיוון שהמיפוי והלוקליזציה מתבצעים בו-זמנית, וזו משימה מאתגרת שכן שני התהליכים תלויים זה בזה:
מיפוי מדויק דורש מידע מיקום מדויק, ולוקליזציה מדויקת דורשת מפה מדויקת.
מרכיבים ואתגרים מרכזיים במיפוי רובוטי
חיישנים: מערכות SLAM מסתמכות על חיישנים שונים כדי לצפות בסביבה.
אלה יכולים לכלול מצלמות (עבור SLAM חזותי), Lidar, מכ”ם, סונאר, GPS, IMU, ועוד.
בחירת החיישנים משפיעה על עיצוב אלגוריתם SLAM ותחום היישום שלו.
חילוץ תכונות: מהנתונים התחושתיים, מערכת SLAM צריכה לזהות ולחלץ תכונות של הסביבה שניתן לעקוב אחריהן לאורך זמן.
תכונות אלה יכולות להיות נקודות ספציפיות בתמונה, קצוות או צורות ייחודיות.
שיוך נתונים: המערכת צריכה לקבוע אילו תכונות בתצפית הנוכחית מתאימות לאיזה תכונות בתצפיות קודמות או במפה.
שלב זה חיוני לעדכון המפה ומיקומו של הרובוט במדויק.
הערכת מצב: SLAM כולל הערכת מצב הרובוט והמפה.
המצב כולל את מיקום הרובוט, כיוון, מהירות ותאוצה, יחד עם מיקומי התכונות בסביבה.
עדכון מפה: עם ביצוע תצפיות חדשות, המפה מתעדכנת באופן שוטף.
האתגר כאן הוא למזג את הנתונים החדשים עם המפה הקיימת באופן עקבי, תוך התחשבות באי-ודאות או אי דיוקים בתצפית ובתנועה.
זיהוי סגירת לולאה: היבט חשוב של SLAM הוא זיהוי מתי הרובוט חזר למקום בו ביקר בעבר, המכונה סגירת לולאה.
זיהוי מוצלח של סגירת לולאה מאפשר למערכת לתקן שגיאות מצטברות במפה ובמסלול הרובוט.
SLAM היא טכנולוגיה בסיסית ברובוטיקה ומערכות אוטונומיות, המאפשרת יישומים כגון ניווט רובוטים, נהיגה אוטונומית ומערכות מציאות רבודה.
גישות SLAM שונות מפותחות, כולל אלו המבוססות על מודלים הסתברותיים, תורת הגרפים ולמידה עמוקה.
אלגוריתמים של SLAM
אלגוריתמים של SLAM מאפשרים לרובוטים ומערכות אוטונומיות לנווט ולהבין את סביבתם.
ניתן לסווג אלגוריתמים אלו באופן רחב על סמך גישתם לבעיית ה-SLAM, בין אם הם מתמקדים באופטימיזציה של דיוק,
מהירות, יעילות משאבים או התאמה לסביבות שונות.
להלן סקירה של כמה מאלגוריתמים וטכניקות מפתח של SLAM:
SLAM מסנן קלמן מורחב (EKF-SLAM)
תיאור: EKF-SLAM היא אחת מטכניקות ה-SLAM המוקדמות והנחקרות ביותר.
הוא משתמש ב-Extended Kalman Filter, שיטת קירוב ליניארי, כדי להעריך את המצב ואת השונות של רובוט ונקודות ציון בסביבתו.
יתרונות: מובן היטב; מספק מסגרת חזקה עבור סביבות בקנה מידה קטן.
חסרונות: קנה מידה גרוע עם מספר ציוני הדרך בשל המורכבות החישובית שלו.
FastSLAM
תיאור: FastSLAM משתמש בגישת מסנן חלקיקים כדי לפתור את בעיית ה-SLAM.
הוא מייצג את מסלול הרובוט עם קבוצה של חלקיקים, שלכל אחד מהם משקל משויך על סמך מידת התאמתו לנתונים שנצפו.
יתרונות: סקלבילי יותר מ-EKF-SLAM; יכול להתמודד היטב עם דינמיקה ומדידות לא ליניאריות.
חסרונות: מספר החלקיקים יכול לגדול במהירות, ולהשפיע על היעילות החישובית בסביבות מורכבות.
SLAM מבוסס גרפים
תיאור: גישה זו מדגמנת את בעיית ה-SLAM כגרף, כאשר צמתים מייצגים פוזיציות של רובוט או ציוני דרך,
והקצוות מייצגים אילוצים מרחביים בין צמתים על סמך מדידות חיישנים.
לאחר מכן נעשה שימוש בטכניקות אופטימיזציה כדי למצוא את תצורת הצמתים המתאימה ביותר לאילוצים.
יתרונות: סקלבילי מאוד; יכול להתמודד ביעילות עם מערכי נתונים גדולים.
חסרונות: דורש טכניקות אופטימיזציה מתוחכמות; ניחוש ראשוני יכול להשפיע באופן משמעותי על התוצאה.
ORB-SLAM
תיאור: מערכת SLAM מונוקולרית מבוססת תכונות המשתמשת בתכונות ORB כדי להשיג התאמה ומעקב יעילים.
הוא כולל רכיבי אתחול, מעקב ואופטימיזציה של מפות.
יתרונות: עובד בזמן אמת; מסוגל לסגור לולאות ולהתמקם מחדש; עובד עם מצלמות חד-קולריות, סטריאו ו-RGB-D.
חסרונות: תלוי בנוכחות של מאפיינים מובחנים בסביבה; עלולים להיאבק בהגדרות דלות בתכונות או בהגדרות דינמיות.
LSD-SLAM
תיאור: שיטה ישירה, שבניגוד לשיטות מבוססות תכונות, משתמשת בערכי העוצמה של כל הפיקסלים בתמונה
כדי להעריך את העומק ואת תנועת המצלמה.
זה מאפשר שחזור מפה צפופה למחצה.
יתרונות: יכול לעבוד בסביבות שבהן זיהוי תכונות הוא קשה; מספק מפות מפורטות.
חסרונות: רגיש יותר לשינויי תאורה ודורש יותר משאבי חישוב.
SLAM חזותי-אינרציאלי (VINS)
תיאור: משלב נתונים חזותיים (ממצלמות) ומדידות אינרציאליות (IMUS) כדי לשפר את החוסן והדיוק של SLAM,
במיוחד בסביבות שבהן כל אחד מהחיישנים לבדו לא יספיק.
יתרונות: משפר ביצועים בסביבות מאתגרות; מספק עמידות לתנועות מהירות ותנאי ראייה לקויים.
חסרונות: כיול בין חיישני חזותיים ואינרציה יכול להיות מורכב; דורש כוונון קפדני.
RTAB-Map
תיאור: מערכת SLAM מודעת לסגירת לולאה המותאמת ל-SLAM בקנה מידה גדול ולטווח ארוך.
הוא משתמש במסגרת אופטימיזציה מבוססת גרפים והוא ידוע במיוחד ביישומו ברובוטיקה עם חיישני RGB-D, סטריאו ו-Lidar.
יתרונות: יעיל בסביבות גדולות; בעל יכולת סגירת לולאה ומיקום מחדש; תומך במיפוי מרובה מפגשים.
חסרונות: דורש זיכרון משמעותי ומשאבים חישוביים למיפוי בסקיילים גדולים.
מי זקוק לטכנולוגיית SLAM?
טכנולוגיית SLAM חיונית עבור מגוון רחב של יישומים ותעשיות שבהן ניווט אוטונומי ומיפוי סביבתי מפורט הם קריטיים.
הנה כמה מהמגזרים והמשתמשים המרכזיים שצריכים SLAM:
רכבים אוטונומיים: חברות רכב המפתחות מכוניות בנהיגה עצמית משתמשות ב-SLAM כדי לאפשר לכלי רכב אלו לנווט
בבטחה וביעילות בסביבות עירוניות מורכבות.
SLAM מסייע בהבנת מיקומו של הרכב ביחס לסביבתו ובזיהוי מכשולים ופריסה של הכביש.
רובוטיקה: רובוטים המשמשים בתעשיות ייצור, לוגיסטיקה ושירותים מסתמכים על SLAM לניווט בתוך מחסנים,
מפעלים ומרחבים ציבוריים.
זה כולל רובוטי שילוח, רובוטים לניקוי וכאלה המשמשים בניהול מלאי.
מוצרי צריכה אלקטרוניים: יצרני גאדג’טים לצרכן כמו רובוטים לניקוי אבק, רובוטים לכיסוח דשא ומזל”טים משתמשים ב-SLAM
לניווט ולהימנעות ממכשולים בבית או בסביבת המשתמש.
מציאות רבודה (AR) ומציאות מדומה (VR): מערכות AR ו-VR משתמשות ב-SLAM כדי לעקוב במדויק אחר תנועות המשתמש
וכיצד הם מקיימים אינטראקציה עם הסביבות הוירטואליות והמציאותיות.
מדידות ומיפוי: אנשי מקצוע בתחום מדידות, ארכיאולוגיה ובנייה משתמשים ברחפנים מצוידים ב-SLAM
כדי ליצור מפות מפורטות ומודלים תלת מימדיים של נופים, מבנים ואתרים היסטוריים.
צבא ובטחון: ביישומים צבאיים ובטחוניים, SLAM משמש לפעולות סיור, מעקב וחיפוש והצלה, במיוחד בסביבות שבהן GPS
ועזרי ניווט מסורתיים אחרים לא זמינים או לא אמינים.
חקר תת-ימי: כלי רכב תת-ימיים אוטונומיים (AUV) משתמשים ב-SLAM לחקר קרקעית האוקיינוס, מיפוי מבנים תת-מימיים
ולימוד ביולוגיה ימית, שבה אותות GPS אינם נגישים.
חקר החלל: נאס”א וסוכנויות חלל אחרות משתמשות ב-SLAM לניווט של רוברים על הירח, על מאדים ואפשר לגופים שמימיים אחרים,
מה שמאפשר לכלי הרכב הללו לחצות שטחים באופן אוטונומי.
חירום, חיפוש והצלה: באזורים מוכי אסון שבהם הסביבה אינה ידועה או השתנתה באופן משמעותי, SLAM יכול לעזור לרובוטים
או רחפנים לנווט דרך פסולת וסכנות כדי לאתר ניצולים או להעריך נזק.
SLAM לעומת VSLAM
SLAM ו-VSLAM מתייחסים לטכנולוגיות המאפשרות לרובוט, רכב או מכשיר להבין את מיקומו בסביבה לא ידועה תוך מיפוי הסביבה
בצורה סימולטנית.
ההבדל בין השניים טמון בעיקר בסוג החיישנים המשמשים לתפיסה ורכישת נתונים.
SLAM
SLAM יכול להשתמש במגוון טכנולוגיות חיישנים כדי לתפוס את הסביבה.
אלה כוללים:
Lidar: משתמש בקרני לייזר למדידת מרחקים ויעיל ביותר להפקת מפות תלת מימד מדויקות של הסביבה.
מכ”ם: משתמש בגלי רדיו, מתאים לסביבות עם ראות לקויה או ליישומים הדורשים זיהוי עצמים במרחקים ארוכים יותר.
סונאר: משתמש בגלי קול, בשימוש נפוץ ביישומים מתחת למים.
יחידות מדידה אינרציאליות (IMU): מספק נתונים קריטיים על כיוון, תאוצה ומהירות, להבנת תנועה ושינויים במיקום.
GPS: מציעה נתוני מיקום, אם כי היא אינה מספיקה בפני עצמה עבור SLAM בסביבות פנימיות מורכבות או באזורים עם תקשורת לוויין לקויה.
אלגוריתמי SLAM משלבים נתונים מחיישנים אלה כדי לבנות מפה של הסביבה ולקבוע את מיקום המכשיר בתוך המפה הזו.
בחירת החיישנים תלויה בדרישות הספציפיות של האפליקציה, לרבות הסביבה (חוץ מול פנים), רמת הפירוט הנדרשת ושיקולי העלות.
VSLAM
VSLAM מתייחס ספציפית לטכניקות SLAM המסתמכות בעיקר על מידע חזותי שנלכד באמצעות מצלמות. לגישה זו מספר מאפיינים:
מצלמות כחיישנים ראשיים: משתמש במצלמות אחת או יותר כדי לצלם תמונות או וידאו של הסביבה.
המצלמות יכולות להיות חד-קולריות (מצלמה בודדת), סטריאו (זוג מצלמות ללכידת מידע עומק), או מצלמות עומק (כמו מצלמות RGB-D,
אשר לוכדות מידע צבע (RGB) ועומק (D) בו-זמנית).
זיהוי והתאמה של תכונות: אלגוריתמי VSLAM מזהים ועוקבים לרוב אחר תכונות חזותיות ייחודיות על פני מסגרות מצלמה עוקבות
כדי להעריך תנועה ולבנות מפה.
זה יכול לכלול קצוות, פינות או נקודות אחרות שניתן לזהות.
יתרונות ואתגרים: VSLAM יכול להיות חסכוני יותר מכמה גישות SLAM אחרות מכיוון שמצלמות זולות יותר מאשר,
למשל, חיישני Lidar.
עם זאת, VSLAM עשוי להיאבק בתנאי תאורה חלשה, בסביבות חסרות תכונה, או כאשר מתמודדים עם תנועות מהירות
המטשטשות את התמונות.
ההבדלים
תלות בחיישנים: ההבחנה העיקרית היא ההסתמכות של VSLAM על נתונים חזותיים לעומת הגישה הפוטנציאלית של
ריבוי חיישנים של SLAM.
תנאים סביבתיים: הביצועים של VSLAM תלויים יותר בתנאי תאורה ובנוכחות של מאפיינים חזותיים, בעוד שניתן להתאים את SLAM
למגוון רחב יותר של סביבות על ידי בחירת חיישנים מתאימים.
עלות: מערכות VSLAM עשויות להיות זולות יותר בגלל העלות הנמוכה יותר של מצלמות בהשוואה לכמה סוגים אחרים של חיישנים,
מה שהופך את VSLAM לנגישה יותר עבור יישומים ברמה צרכנית.
אלטרנטיבות לטכנולוגיית SLAM
בעוד SLAM הפכה לטכנולוגיה המובילה לניווט ומיפוי אוטונומי, ישנן גישות וטכנולוגיות חלופיות להשגת יעדים דומים,
במיוחד בתרחישים שבהם SLAM היא לא האפשרות המתאימה ביותר.
חלופות אלה יכולות להתבסס על טכנולוגיות חיישנים שונות, תשתית או אסטרטגיות חישוביות:
ניווט מבוסס GPS ו-IMU
עבור ניווט חיצוני, במיוחד למרחקים גדולים, מערכת GPS בשילוב עם IMU יכולה לספק לוקליזציה יעילה.
שיטה זו מסתמכת על לוויינים עבור מיקום וחיישני אינרציה למעקב אחר תנועה והתמצאות.
זה נמצא בשימוש נרחב בניווט ברכב, אבל הדיוק שלv יכול להיות מוגבל בקניונים או בסביבות פנימיות.
לוקליזציה מבוססת תשתית
גישה זו משתמשת בתכונות סביבתיות מוגדרות מראש או בתשתית לניווט, כגון קודי QR, תגי RFID או סמנים ספציפיים
המוצבים בתוך הסביבה.
רובוטים או מכשירים יכולים לזהות את הסמנים הללו כדי לקבוע את מיקומם ולנווט בהתאם.
שיטה זו יכולה להיות מדויקת ביותר אך דורשת שינוי של הסביבה, דבר שלא תמיד אפשרי.
מערכות מבוססות Beacon
Beacon הם מכשירים אלחוטיים קטנים המופעלים על ידי סוללה המשדרים אותות שניתן לזהות על ידי רובוט או מכשיר נייד.
על ידי פריסת משואות (Beacon) מרובות בסביבה ושימוש במדידות חוזק האות (RSSI) או זמן טיסה (ToF),
מכשיר יכול לבצע טריאנגולציה.
ניתן להשתמש בטכנולוגיית Beacon עבור מערכות מיקום פנימיות (IPS) והיא שימושית במיוחד בסביבות שבהן
אותות GPS חלשים או לא זמינים.
ניווט מקורב (Dead Reckoning)
ניווט מקורב מעריך את המיקום הנוכחי של מכשיר בהתבסס על מיקום שנקבע בעבר, ומהירויות ידועות או משוערות לאורך
זמן שחלף, תוך שילוב נתוני כיוון.
ניווט מקורב משתמש בנתוני IMU (מדדי תאוצה וג’ירוסקופים) כדי לעקוב אחר תנועה.
זרימה אופטית
זרימה אופטית משתמשת בתנועה הנראית לעין של עצמים, משטחים וקצוות בסצנה ויזואלית הנגרמת על ידי התנועה היחסית
בין צופה (עין או מצלמה) לבין הסצנה.
ניתן להשתמש בטכניקה זו להערכת תנועת רובוט ביחס לסביבתו.
זה שימושי במיוחד בניווט ברחפנים לשמירה על ריחוף יציב או להתחמקות ממכשולים.
סביבות ממופות מראש
שימוש בסביבה ממופה מראש שבה המפה נוצרת מראש בשיטות ידניות או בציוד סריקה בעל דיוק גבוה.
לאחר מכן הרובוט או המכשיר משתמשים במפה זו לצורך לוקליזציה, ומשתמשים בחיישנים כדי להתאים
את התצפיות שלו למפה.
שיטה זו יכולה להיות מאוד מדויקת אך חסרה את יכולת ההסתגלות לשינויים בסביבה.
לוקליזציה אולטרסאונד
בדומה למערכות Beacon, לוקליזציה של אולטרסאונד משתמשת בגלי קול במקום בגלי רדיו.
תגיות אולטרסאונד בסביבה פולטות צלילים הנקלטים על ידי מקלט במכשיר הנע, אשר מחשב את מיקומו על סמך עיכוב
הזמן של האותות המגיעים.
שיטה זו מדויקת אך יש לה מגבלות בטווח והיא יכולה להיות מושפעת מרעש והשתקפויות סביבתיות.
בדיקת מרחק חזותית
מדידת מרחק חזותית קשורה ל-VSLAM אך מתמקדת אך ורק בהערכה מצטברת של מיקומו וכיוון הרובוט על ידי ניתוח השינויים
בתמונות שצולמו במצלמות המשולבות.
אמנם זה לא בונה מפה של הסביבה, אבל זה שימושי להערכת מסלול של רובוט או רכב למרחקים קצרים.