עיבוד חי או נתונים מוקלטים: מה באמת צריך VPN?
החליטו איזו עבודת רובוט חייבת לחצות את הרשת: תוצאות בזמן, טלמטריית תצפית או מערך נתונים מוקלט. שלושה תנאים, ואז פקודות ה-bag.
רובוט שמפסיק להיות שימושי במרחק חדר אחד סובל מבעיית קישור או מבעיית עומס עבודה הרבה לפני שיש לו בעיית VPN. הצפנה מגנה על נתיב; היא אינה מרחיבה כיסוי רדיו ואינה גורמת לחישוב מרוחק להסתיים מוקדם יותר. ההחלטה שלפניכם היא איזו עבודה באמת חייבת לחצות את הרשת, והתשובה הזו בדרך כלל מסירה יותר תעבורה ממה שאנשים מצפים. שלושה תנאים מכריעים אותה, ותפוקה אינה אחד מהם.
שלושה סידורים, שאלת תלות אחת
הטבלה מפרידה בין הסידורים לפי מה שתלוי בקישור, ולא לפי איזו תוכנה מופיעה בתרשים.
| Arrangement | What depends on the link | What stays onboard |
|---|---|---|
| Live remote processing | The exchange and any timely result the workstation returns | Only what the remote step does not block |
| Onboard processing, remote observation | The declared telemetry or display stream | The processing loop itself |
| Local recording, later analysis | Transfer of one selected dataset | The entire run, including raw sensors |
אף שורה בטבלה הזו אינה טיעון בטיחות. פונקציות בקרה ובטיחות עדיין זקוקות לתשובה מוסמכת לגבי השהיה, אובדן מנות וניתוק חיבור, ואף מחוון מנהרה לא מספק אותה. הטבלה אומרת היכן התלות חיה, וזה החלק שעיצוב רשת יכול באמת לשנות.
תנאי ראשון: האם התשובה חייבת להיות בזמן?
אם תוצאה מרוחקת מזינה בקר, הרשת יושבת בתוך לולאת הבקרה, וההשהיה, הרעידה וההפסקות שלה הופכות לתכונות בקרה. אם אותה תוצאה מזינה רק צג, לוח מחוונים או אדם שמסתכל, אותה השהיה היא קוסמטית.
עבודה בלולאה סגורה על קישור אלחוטי אפשרית, ומשם מגיעים רוב הדיווחים «ה-VPN איטי», כי המנהרה היא הרכיב הנראה בעוד שהרדיו והניתוב הם הסיבה. מדדו את זמן ההלוך-חזור של ההודעה בפועל ולא את הפינג של המנהרה עצמה, ואז שאלו אם המספר נכנס לתקציב הלולאה. כשהוא לא נכנס, העבירו את השלב אל הרובוט במקום לנהל משא ומתן על רמת שירות מחמירה יותר לקישור שאיש בחדר לא שולט בו. רשמו את המספר שנמדד יחד עם התנאים שבהם נלקח, כי הדוח הבא יגיע בלעדיהם.
תנאי שני: איזה קצב, כיוון והפסקה אתם יכולים להצהיר?
רשמו את הנתונים, הקצב, הכיוון וההפסקה הארוכה ביותר שהאפליקציה סובלת. זרם מצלמה כלפי מעלה וערוץ פקודות כלפי מטה נכשלים בדרכים שונות, והפסקה שבדיקה נייחת סובלת תסיים משימה בתנועה.
הפרידו בין החיבור הפיזי למנהרה כשאתם משווים אפשרויות, כי רדיו חזק יותר ועומס קטן יותר הם תיקונים שונים. העברה גדולה שמסתיימת בסופו של דבר אינה מוכיחה דבר על הגעה עקבית של תוצאה רגישה לזמן, ומנהרה בריאה אינה מוכיחה דבר על הרדיו שמאחוריה.
אחר כך הפחיתו את הביקוש במקום להגן עליו. הקטינו את הדגימה של זרם התצפית, שלחו סיכומים או דלתות, והשאירו נתוני חיישנים גולמיים על הרובוט, במקום שבו אחסון זול והעברה לא. מטען קטן יותר מחליש את הטיעון לקישור מהיר יותר ולעיתים קרובות מסיר את הצורך בו.
תנאי שלישי: מי חייב לראות את זה, ומה נשאר מקומי
תצפית היא בדרך כלל דרישה קטנה בהרבה מעיבוד. אם אדם חייב לצפות במצלמה ואחר כך חייב להתקיים יומן, זהו טלמטריה בתוספת אחסון; אם מודל חייב לרוץ, שאלו תחילה אם הוא יכול לרוץ על הרובוט כשרק התוצאה שלו נשלחת. העברת השלב הכבד לרובוט מסירה את התלות הסינכרונית ומשאירה העברה שאפשר לנסות שוב.
שני משתתפי ROS על אותו רובוט אינם מצדיקים מנהרה כשלעצמם. נגישות צמתים, הרשאת אפליקציה ותוכנית התאוששות מקומית הן בעיות נפרדות, ואליל VPN עונה רק על הראשונה, ורק לתעבורה שמבקשים ממנו לנתב.
הקלטת מערך נתונים היא עיצוב בפני עצמו, עם הפקודות שלו
לדוגמה התלויה בגרסה, מדריך ההקלטה של ROS 2 Jazzy מכסה הקלטת נושאים נבחרים, בדיקת ה-bag שנוצר והשמעתו מחדש. הקליטו את נושאי התצפית המאושרים, תנו שם לריצה, ושמרו את הגדרות ההודעות ואת התצורה לצידו.
ros2 bag record -o run42 /scan /camera/image_raw
ros2 bag info run42
ros2 bag play run42
אל תקליטו כל נושא רק מפני שהכלי מקל על כך. האחסון מתמלא, נתוני מצלמה ומיקום נושאים רגישות, ו-bag של נושאים ללא תוויות הוא בעיית ניתוח למי שיפתח אותו בפעם הבאה. ההפצה הפרוסה קובעת גם את הפקודות: כלים שנכתבו ל-bag של ROS 1 אינם עוברים ל-bag של ROS 2, לכן התאימו את התיעוד לגרסה המותקנת ברובוט.
השמיעו בסביבת ניתוח או סימולציה מבודדת. השמעת נושאי פקודה מוקלטים אל מפעילים של רובוט חי היא תאונה, והמניעה היא תחום ROS נפרד או היעדר חומרה בלולאה כלל.
החליטו לאן שייכת התלות ורשמו זאת: VPN מגן על חילופין שחייבים לקרות, עיבוד על הרובוט מסיר חילופין שמעולם לא היו צריכים להיות סינכרוניים, ומערך נתונים מוקלט מחליף צרכן חי בצרכן מאוחר יותר. אחר כך בדקו בכוונה את המקרה המנותק, כשהעבודה המקומית עדיין פועלת, לפני שמישהו מכריז שהעיצוב הושלם.