פשטו את שילוב AMR ו-AGV עם רכיבי ROS 2

מאת ‎קנטון וויליסטון

באדיבות ‎DigiKey's North American Editors

רובוטים ניידים אוטונומיים (AMR) ורכבים מונחים אוטומטיים (AGV) דורשים תיאום הדוק בין מספר תת-מערכות, כולל חיישנים, מנועים, ניווט וקבלת החלטות מבוססות בינה מלאכותית (AI). שילוב כל תת-המערכות הללו הוא מאתגר עבור מפתחים.

מערכת ההפעלה של הרובוטים (ROS‏) מציעה דרך להתמודד עם מורכבות זו. ROS היא תוכנת-ביניים (Middleware‏) בקוד-פתוח עבור רובוטיקה, המספקת מסגרות-עבודה סטנדרטיות עבור תקשורת ואקוסיסטם גדול של חבילות תוכנה לשימושים חוזרים. על ידי בחירת רכיבים עם תמיכה מקורית ב-ROS, המתכננים יכולים להשתמש במודולי חומרה מוכנים-מראש עם פונקציונליות הניתנת לטיפול בתוכנה, לקצר את זמן ההשקה ולשפר את יכולת הפעולה-ההדדית.

מאמר זה סוקר בקצרה את האתגרים העומדים בפני מתכנני AMR ו-AGV וכיצד ROS יכולים לסייע. לאחר מכן הוא מציג חומרה תואמת-ROS של Analog Devices‏ (ADI‏), כולל בקרי מנועים, יחידות מדידה אינרציאליות (IMUs) וחיישני זמן טיסה (ToF), ומסביר כיצד רכיבים אלה משתלבים עם חבילות תוכנה ROS כדי להאיץ את פיתוח המוצר.

אתגר האינטגרציה עבור AMRs ו-AGVs

עבודת האינטגרציה יכולה להשתלט על לוח הזמנים המוקדם בתכנון AMR או AGV. בשכבת החומרה, על הצוותים לבחור רכיבים, לתכנן ממשקים ולאמת את תקינות האותות והתזמון. בשכבת התוכנה, עליהם לטעון מנהלי-התקנים, להגדיר זרימת נתונים ולהבטיח שהמערכת מתנהגת בצורה צפויה בתנאים אמיתיים.

צוותים מוכשרים יכולים לעמוד ביעדים אלה באמצעות תכנים בתוך-הבית, אך לעתים קרובות ביצוע פעולה זו פירושו יצירה-מחדש של יכולות מן-המדף. קשה להצדיק מאמץ זה, במיוחד כאשר גישות מסורתיות יכולות לנעול צוותים לממשקים קנייניים. כאשר הדרישות מתפתחות, החלפת רכיב עשויה לחייב עיבוד-מחדש של חלקים משמעותיים של חבילת התוכנה.

כיצד ROS מתמודדת עם אתגרי אינטגרציה

ROS נוצר כדי לטפל בבעיות אלו. למרות השם, ROS אינה מערכת הפעלה במובן הקלאסי. במקום זאת, זוהי מסגרת קוד פתוח המציעה מגוון רחב של כלים, ספריות ומוסכמות.

הקונספט המרכזי של ROS הוא בניית יישומי רובוטיקה מורכבים לתוך צמתים מודולריים (איור 1). תהליכים קטנים אלה מבצעים משימות ספציפיות, כגון קריאת נתוני חיישנים או בקרת מהירות מנוע.

תרשים של אבני הבניין הבסיסיות של ROS הכוללות חבילות תוכנה, צמתים, הודעות ושירותיםאיור 1: אבני הבניין הבסיסיות של ROS כוללות חבילות תוכנה, צמתים, הודעות ושירותים. (מקור התמונה: Analog Devices, התאמה על ידי Kenton Williston)

הצמתים מתקשרים באמצעות שני מנגנונים עיקריים:

  • נושאים: מודל מפרסם-מנוי המתאים להזרמת נתונים רציפה, כגון הזנות חיישנים
  • שירותים: מודל בקשה-תגובה, הטוב ביותר לפעולות לא-תכופות, כגון הגדרת מכשיר ואתחולו

ניתן לשלב מספר צמתים והתלותיות שלהם (כולל נושאים ושירותים קשורים) לחבילה אחת כדי לספק פונקציונליות מקיפה יותר. לדוגמה, חברת Analog Devices יצרה חבילות מנהלי-התקנים ROS עבור מודולי החיישנים והמפעילים שלה, המיועדים עבור AGVs ו-AMRs. חבילות אלו מכילות את הצמתים, הגדרות ההודעות וקובצי התצורה הדרושים עבור שילוב החומרה במערכת מבוססת-ROS‏.

כיצד ROS מייעל את תכנון AMR ו-AGV

ארכיטקטורה מודולרית זו מאפשרת יכולת פעולה-הדדית ומאיצה את הפיתוח. בשכבת החומרה, ROS מספק ממשקים סטנדרטיים עבור רכיבים כגון מצלמות ובקרי מנוע. זה מאיץ את האינטגרציה תוך שחרור המתכננים מתלות בספקים ודמי רישוי.

בשכבת התוכנה, ROS מציעה כלים ותוכנות-ביניים המסייעות למתכננים לפתח, לבדוק, לפרוס ולתחזק רובוטים מורכבים. הגרסה הנוכחית של מסגרת-העבודה, ROS 2, מעניקה מאפיינים שימושיים במיוחד עבור AMRs ו-AGVs. אלה כוללים:

  • חבילת ניווט Nav2‏, התומכת בעצי התנהגות, אזורי כניסה, מגבלות מהירות ועוד.
  • אלגוריתמי מיקום מתוחכמים, כולל כלי מיפוי וקביעת מיקום המאפשרים ל-AMRs ול-AGVs להבין את סביבתם
  • שילוב עם כלי סימולציה, ויזואליזציה ורישום המסייעים הן בפיתוח והן בדיאגנוסטיקה

ROS 2 פועל בדרך כלל על מחשב מבוסס Linux‏, אם כי מערכות הפעלה אחרות נתמכות גם כן. ROS 2 תומך גם ב-micro-ROS‏, גרסה הפועלת באופן טבעי על יחידות מיקרו-בקר (MCU) עם מערכות הפעלה בזמן-אמת (RTOS), כגון Zephyr ו-FreeRTOS.

בקרת מנוע עם שילוב ROS 2

כדי להמחיש את הפוטנציאל של ROS 2, נבחן את המורכבויות של בקרת הדוחף. רוב רכבי ה-AMR וה-AGV משתמשים בתצורת הנעה דיפרנציאלית, שבה שני קבוצות גלגלים המבוקרות באופן עצמאי מאפשרות תנועה קדימה ופנייה כאחד. ארכיטקטורה זו דורשת בקר מנוע המסוגל להניע את שני הגלגלים בו זמנית תוך קבלת פקודות מתואמות ממערכת הניווט.

ה-TMCM-2611-AGV‏ של ADI (איור 2) עונה ישירות על צורך זה. לוח זה, חלק ממשפחת מודולי בקר מנוע Trinamic‏ (TMCM‏), הוא פלטפורמת הנעת סרוו דו-צירית עבור מנועי DC ללא מברשות (BLDC) תלת-פאזיים, המיועדת עבור יישומי הנעת AGV ו-AMR. כל ציר יכול להניע מנועים עד 14 אמפר (A‏) RMS‏ ב-48‏ וולט, עם משוב מיקום באמצעות אנקודרים קוואדראטוריים אינקרמנטליים או חיישני אפקט Hall‏ דיגיטליים.

תמונה של בקר/דוחף דו-צירי TMCM-2611-AGV של Analog Devicesאיור 2: ה-TMCM-2611-AGV הוא בקר/דוחף דו-צירי למנועי BLDC תלת-פאזיים. (מקור התמונה: Analog Devices)

דוחף adi_tmcl ROS 2‏ מחבר חומרה זו לאקוסיסטם ROS 2 בעיקר באמצעות נושאים (איור 3). לדוגמה, חבילת תוכנה לניווט יכולה לפרסם פקודות מהירות לכל קבוצת גלגלים דרך נושאים /cmd_vel_X. דוחף adi_tmcl נרשם לנושאים אלה, מתרגם פקודות לפריימים Trinamic Motion Control Language‏ (TMCL‏), ושולח אותם על-גבי אפיק CAN‏ דרך ממשק SocketCAN‏ מקורי (Native‏)-Linux‏.

תרשים של חבילת מנהל-התקן TMCL ROS2 של Analog Devices (לחצו להגדלה)איור 3: חבילת תוכנה מנהל ההתקן TMCL ROS2 משלבת מערך חסון של ממשקים. (מקור התמונה: Analog Devices)

בכיוון השני, מנהל ההתקן adi_tmcl מפרסם משוב מנוע לנושאי tmc_info_X/, ומספק מידע על המהירות, מיקום, מומנט וסטטוס. צמתים אחרים יכולים להירשם לנתונים אלה לצורך חישוב מרחק, אבחון או בקרה בחוג-סגור ברמת היישום.

זרימה דו-כיוונית זו ממחישה כיצד ROS 2 מאפשר תכנון מערכת מודולרי. אלגוריתם הניווט אינו צריך לדעת דבר על TMCL או אפיק CAN; הוא פשוט מפרסם הודעות מהירות סטנדרטיות ומקבל משוב.

מנהל ההתקן adi_tmcl משתמש גם בשירותים עבור משימות כגון אתחול וגישה לפרמטרים. לדוגמה, ‎/tmcl_gap_all מאחזר את כל ערכי פרמטרי הציר, ו-‎/tmcl_ggp_all מאחזר את כל ערכי הפרמטרים הגלובליים עבור לוח הבקר.

מדידת אינרציה עבור מעקב מיקום

למרות שאנקודרי גלגלים מאפשרים למערכת להעריך מיקום על סמך מהלך הגלגל, מדידת אודומטריית גלגל לבדה לרוב אינה מספקת עבור עקיבת מיקום מדויקת. ההחלקה של הגלגלים ומשטחים לא-אחידים עלולים לגרום לשגיאות משמעותיות לאורך זמן. זהו שיקול במיוחד בסביבות פנים רבות שבהן אותות GPS אינם אמינים ואינם יכולים לספק תיקונים שוטפים.

יחידות IMU מספקות ייחוס תנועה עצמאי ש-AMR ו-AGV יכולים להשתמש בו כדי לשפר את דיוק החישוב. דוגמה בולטת לכך היא משפחת ADIS16500/05/07‏, המציעה חישה אינרציאלית מדויקת של שש דרגות חופש באמצעות ג'ירוסקופים תלת-ציריים ומדי תאוצה תלת-ציריים, כולם במארז BGA בגודל 15 × 15 × 5 מילימטר (מ"מ). כיול במפעל מאפיין כל חיישן מבחינת רגישות, ממתח, יישור וקיזוז טמפרטורה, ובכך מפחית את נטל האינטגרציה ממתכנני המערכת.

דוגמה מייצגת הוא ה-ADIS16500AMLZ‏ (איור 4). לחלק זה תחום ג'ירוסקופ של ±2000° לשנייה (s‏/°‏), יציבות ממתח בפעולת ג'ירוסקופ של 8.1° לשעה (hr‏/°‏), ומהלך רנדומלי זוויתי של 0.29° לשורש-שעה (hr‏√/°‏). מפרטים אלה מסייעים בהפחתת הסחיפה לאורך זמן, ומשפרים את ביצועי Dead Reckoning בין תיקונים חיצוניים.

תמונה של IMU MEMS מדויק ADIS16500AMLZ של Analog Devicesאיור 4: ה-ADIS16500AMLZ הוא IMU‏ MEMS‏ מדויק במארז BGA קומפקטי. (מקור התמונה: Analog Devices)

עבור אינטגרציית ROS 2, משפחת ADIS16500/05/07 נתמכת על ידי מנהל ההתקן imu_ros2‏. מנהל-ההתקן ממנף את תת-מערכת I/O‏ תעשייתית Linux‏ באמצעות LibIIO‏. היציאה שלו תואמת עם חבילות תוכנה היתוך חיישנים ROS 2‏ נפוצות כגון robot_localization‏, המממשות Extended Kalman Filters כדי לשלב IMU‏ ונתוני אודומטריה.

מתכננים המעוניינים להתנסות עם IMU יכולים להתחיל עם לוח ההערכה ADIS16500/PCBZ‏ (איור 5). לוח זה חושף את ממשק SPI של ה-IMU דרך פס-פינים בעל 16 פינים התואם לכבלים שטוחים סטנדרטיים בפסיעה של 2 מ"מ.

תמונה של לוח הערכה ADIS16500/PCBZ של Analog Devicesאיור 5: לוח ההערכה ADIS16500/PCBZ חושף את ממשק SPI דרך פס-פינים עם 16 פינים. (מקור התמונה: Analog Devices)

חישת עומק עבור גילוי מכשולים

גילוי מכשולים הוא מאפיין סטנדרטי נוסף של AMR/AGV. בעוד ש-LiDAR מצטיין בגילוי מכשולים בטווחים ארוכים יותר, יישומים רבים דורשים גם חישה בשדה-קרוב כדי לגלות מכשולים נמוכים, אי-רציפות ברצפה או עצמים הנמצאים מחוץ למישור הסריקה של LiDAR. מצלמות עומק ToF מטפלות בפער זה על ידי אספקת תמונות עומק צפופות על פני שדה ראייה רחב.

מודול ToF‏ ADTF3175BMLZ‏ (איור 6) מתאים בצורה מצוינת עבור דרישות אלו. המודול, המשלב חיישן עומק CMOS עם אופטיק הארה, קולט פריימים של עומק ובהירות אקטיבית (AB) ברזולוציה של עד 1024 × 1024 עם שדה ראייה של °‏75 × 75°. שילוב זה של רזולוציה וכיסוי הופך אותו למתאים היטב עבור ניטור אזורי בטיחות וגילוי רצפה בסביבות מחסן וייצור שבהן מכשולים עשויים להופיע בגבהים משתנים.

תמונה של מודול ToF‏ ADTF3175BMLZ‏ של Analog Devicesאיור 6: מודול ToF‏ ADTF3175BMLZ משלב חיישן עומק CMOS עם אופטיקת הארה. (מקור התמונה: Analog Devices)

מנהל ההתקן adi_3dtof_adtf31xx‏ מאפשר גישה נוחה לנתוני המצלמה על ידי פרסום פריימים עומק ו-AB באמצעות פורמטי הודעות ROS 2 סטנדרטיים. יציאות אלו משתלבות ישירות עם חבילות תוכנת הבנה (Perception‏) נפוצות עבור משימות כגון יצירת ענן נקודות, גילוי רצפה וניטור בועות בטיחות. מנהל-ההתקן תומך גם באופן פלייבק קובץ המאפשר פיתוח ובדיקת אלגוריתמים ללא חיבור חומרה פיזי.

לצורך פיתוח ואב טיפוס, ערכת EVAL-ADTF3175D-NXZ‏ (איור 7) מספקת פלטפורמת חיישנים שלמה. המאפיין הבולט ביותר של הערכה הוא לוח מבוסס-Arm®‎‏ המריץ Linux‏ ויכול לארח ישירות את צומת ROS 2. לחלופין, החיישן יכול להזרים נתוני עומק דרך Ethernet למארח ROS 2 נפרד, ולהעניק גמישות בין ארכיטקטורות מערכת שונות.

תמונה של ערכת הערכה EVAL-ADTF3175D-NXZ של Analog Devicesאיור 7: ערכת ההערכה EVAL-ADTF3175D-NXZ כוללת מארח Linux‏ מבוסס Arm. (מקור התמונה: Analog Devices)

פלטפורמת הייחוס (ADAM‏) Autonomous Mobot‏ Analog Devices‏ מדגימה כיצד רכיבים אלה התואמים ל-ROS משתלבים עם פתרונות נוספים לניהול סוללות, המרת הספק ותקשורת כדי ליצור מערכת AMR שלמה.

סיכום

ניתן להפחית משמעותית את מורכבות התכנון והפיתוח של AMR ו-AGV על ידי בחירת רכיבים תואמי-ROS. שימוש במקור רכיבים מוכח כגון ADI, המספק מנהלי-התקנים ROS 2 עבור מגוון רחב של חיישנים ומפעילים, יכול להיות שותף בעל ערך.

DigiKey logo

מיאון אחריות: דעות, אמונות ונקודות מבט המובעות על ידי מחברים שונים ו/או משתתפי פורום באתר אינטרנט זה לא בהכרח משקפות את הדעות, האמונות ונקודות המבט של חברת DigiKey או את המדיניות הרשמית של חברת DigiKey.

אודות כותב זה

Image of Kenton Williston

קנטון וויליסטון

קנטון וויליסטון קיבל .B.S בהנדסת חשמל בשנת 2000 והחל את הקריירה שלו כאנליסט בנצ'מרק מעבדים. מאז הוא עבד כעורך בקבוצת EE Times ועזר להשיק ולהוביל מספר פרסומים וכנסים המשרתים את תעשיית האלקטרוניקה.

אודות מוציא לאור זה

DigiKey's North American Editors