כיצד לבנות להקות אוטונומיות אדישות לחומרה באמצעות בידוד צמתי ROS2
מדריך טכני לתכנון ארכיטקטורות אוטונומיה אדישות לחומרה באמצעות תבניות בידוד צמתי ROS2 לפעילות רב-תחומית ניתנת להרחבה.
בניית מערכות אוטונומיה הפועלות על פני חומרת רובוטיקה רב-תחומית דורשת הפרדה ארכיטקטונית קפדנית בין בקרת פלטפורמה ספציפית לבין לוגיקת החלטה ברמה גבוהה. השגיאה הבסיסית ברוב תוכניות הרובוטיקה הצבאיות היא צימוד תוכנת אוטונומיה ישירות לממשקי API של כלי רכב, יצירת מערכות שבירות הנכשלות כאשר החומרה משתנה או כאשר קצב הפעילות דורש החלפת פלטפורמה מהירה. ROS2 מספק את התשתית לבידוד נכון באמצעות הארכיטקטורה מבוססת הצמתים שלו, אך ניצול יכולת זו דורש בחירות תכנוניות מכוונות שרוב המשלבים מתעלמים מהן לטובת מונוליתים מהירים. התבנית המאפשרת אדישות חומרה אמיתית היא הפשטה שכבתית שבה מתאמי פלטפורמה מתרגמים פרוטוקולים ספציפיים לכלי רכב לאוצר מילים פיקודי קנוני, בעוד שצמתי אוטונומיה פועלים לחלוטין מול ממשק יציב זה מבלי לגעת ישירות בחומרה.
תבנית המתאם חייבת להיות דקה ופשוטה. כל פלטפורמה מקבלת בדיוק צומת מתאם אחד האחראי על תרגום בין ממשק הבקרה המקורי של הכלי לבין סכימת הודעות ROS2 סטנדרטית. עבור כלי רכב MAVLink, משמעות הדבר היא צריכת הודעות COMMAND_LONG ו-MISSION_ITEM והפצת נושאי תנוחה, מהירות וסטטוס סטנדרטיים. עבור רובוטים קרקעיים המשתמשים בממשקי API קנייניים, משמעות הדבר היא עטיפת קריאות אלו בממשק שירות ROS2 עם סמנטיקה זהה למתאם האווירי. המתאם אינו מבצע תכנון, תיאום או לוגיקת החלטה. זוהי שכבת תרגום טהורה הגורמת לרחפן, כלי רכב קרקעי וכלי שיט ימי להיראות זהים לכל מה שמעלה בזרם.
צמתי אוטונומיה חיים לחלוטין מעל גבול מתאם זה ולעולם אינם מייבאים ספריות ספציפיות לפלטפורמה. צומת תכנון נתיב נרשם לנושאי תנוחה ומפרסם פקודות נקודות ציון מבלי לדעת אם לפלטפורמה יש רוטורים, גלגלים או גוף. בקר תצורה שומר על גיאומטריה יחסית תוך שימוש בהודעות מיקום ומהירות קנוניות בלבד. הימנעות מהתנגשות פועלת מול ייצוג מכשולים מאוחד ללא קשר לאופן החישה. בידוד זה אינו רק היגיינת תוכנה טובה, הוא חיוני מבחינה תפעולית כאשר יש צורך להחליף רחפן פגום בתחליף כנף קבועה באמצע משימה, או כאשר מחזורי רענון טכנולוגי כופים שינויי פלטפורמה כל שמונה עשר חודשים.
סכימת ההודעות עצמה הופכת לדוקטרינה. היא חייבת להיות עשירה מספיק כדי לבטא תמרונים מורכבים על פני כל סוגי הפלטפורמות, אך מוגבלת מספיק כדי למנוע התפוצצות מורכבות המתאם. פקודות מיקום, מהירות ותאוצה במסגרות מקומיות או גלובליות. שינויי מצב דיסקרטיים להמראה, נחיתה, ריחוק ומצבי חירום. דיווח מצב בריאות ומשאבים עם רמות חומרה סטנדרטיות. נתוני חיישנים מנורמלים למסגרות קואורדינטות משותפות עם מדדי איכות. סכימה זו היא החוזה השומר על עקביות המערכת, והיא חייבת להיות מנוהלת גרסאות, נבדקת ומוגנת מפני זחילת היקף באגרסיביות כמו כל תקן ממשק פיזי.
יישום חי של תבנית זו ניתן לראות ב-KhanBMS, האוכף אדישות חומרה באמצעות היררכיית הפקודות בהשראת המונגולים, שבה צמתי ארבן, זוון, מינגהאן וטומן פועלים לחלוטין מול ממשקים קנוניים. המערכת מנתבת כוונה ממפעילי חאן אנושיים כלפי מטה דרך שכבות תיאום ביניים למתאמי פלטפורמה, מבלי שאף שכבה תדע את היישום הפיזי של השכבה שמתחתיה. זוון המתאם עשרה כלי רכב מנפיק פקודות תצורה הפועלות באופן זהה בין אם כלי רכב אלה הם רחפנים, רובוטים קרקעיים או תערובות הטרוגניות, מכיוון ששכבת המתאם מבטיחה שוויון סמנטי על פני סוגי חומרה.
חוסן קצה דורש שארכיטקטורה זו תתדרדר בחן כאשר התקשורת נכשלת. מתאמים חייבים לשמור במטמון את המצב התקין האחרון הידוע ולהמשיך לבצע את סט הפקודות העדכני ביותר גם כאשר צמתים במעלה הזרם נעלמים. צמתי אוטונומיה חייבים לזהות אובדן מתאם ולחזור להתנהגויות בטוחות או לקדם צמתים כפופים כדי לשמור על רציפות המשימה. תבנית הבידוד מאפשרת זאת מכיוון שכשלים מוכלים בתוך גבולות הצמתים במקום להתפשט במורד תת-מערכות מצומדות היטב. מתאם מת מוציא מכלל פעולה פלטפורמה אחת, לא את כל הלהקה, ופלטפורמות חלופיות יכולות להצטרף לרשת על ידי יצירת מופע מתאם חדש ללא שינויים בלוגיקת התיאום.
התמורה התפעולית היא קצב פעולה ושרידות. תוכניות שנבנו על ארכיטקטורה זו הפעילו את אותו קוד אוטונומיה על שישה סוגי מבני מטוסים שונים ללא הידור מחדש. רענון טכנולוגיית הפלטפורמה מתרחש באמצעות עדכוני מתאם, בעוד שלוגיקת המשימה נשארת יציבה על פני דורות כלי הרכב. תקשורת שנויה במחלוקת הופכת לניתנת לניהול מכיוון שכל צומת יכול לפעול באופן עצמאי למחצה במסגרת סמכותו. הארכיטקטורה אינה אקזוטית או חדשנית, היא פשוט יישום ממושמע של הפרדת דאגות עם ההכרה שחומרה תמיד תשתנה מהר יותר מדרישות המשימה, ומערכות שלא יצליחו להתנתק ממציאות זו יקרסו למוות במחזור אינסופי של אינטגרציה ורגרסיה.
