בקרת תנועה ובקרת כוח – מיתוג On-the-fly

תקציר:

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

האתגרים בביצוע תהליכים אלו הינם:

  1. אלגוריתם מובנה לבקרת כוח (בנוסף לבקרת מיקום/מהירות).
  2. אלגוריתמים להחלטה על המיתוג (במקום/זמן הנכון) בין מודי העבודה השונים (מיקום, ואז כוח, ואז שוב במיקום).

והאתגר הגדול ביותר:

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

מאמר זה מציג את מודי העבודה והאלגוריתמים שמומשו בבקר התנועה כדי לתמוך באפליקציות מסוג זה.

תיאור מבנה הבקרה חוגי הבקרה:

מבנה הבקר תחת עבודה במוד בקרת מיקום מוצג באיור מספר1.

איור מספר 1: מבנה הבקר תחת עבודה במוד בקרת מיקום

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

מבנה הבקר תחת עבודה במוד בקרת כוח מוצג באיור מספר 2.

איור מספר 2: מבנה הבקר תחת עבודה במוד בקרת כוח

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

תיאור הבעיה:

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

הבעיה מורכבת משני שלבים:

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

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

קביעת התנאים למיתוג בין מודי עבודה בזמן אמת (On-the-fly mode switching)

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

שיטות מיתוג אפשריות ממוד בקרת מיקום למוד בקרת כוח:

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

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

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

בהקשר זה יש גם לציין שהבקר תומך בשינוי מהירות on-the-fly כפונקציה של מיקום המנוע, כך שברצף אחד של תנועה ניתן לשנות מהירות בנקודת מיקום מוגדרת (כאשר מתקרבים לעצם) ולהתקרב במהירות איטית לעצם עד לזיהוי מגע כאמור למעלה.

שיטות מיתוג אפשריות ממוד בקרת כוח לבקרת מיקום:

  • בסיום הפעלת פקודות הכוח שמוגדרות על ידי המשתמש (עוד על כך בפרק נפרד בהמשך).

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

  • במעבר סף מיקום שנקבע ידי המשתמש.

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

  • על ידי מתן פקודה יזומה בכול עת.
  • על ידי כניסה דיסקרטית (כלשהיא, לבחירה על ידי המשתמש).

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

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

איורים מספר 3 ו- 4 מציגים את ממשקי המשתמש לקביעת שיטות המיתוג והפרמטרים שלהן.

איור מספר 3: שיטות מיתוג ופרמטרי מיתוג למעבר בין מודי עבודה של בקרת מיקום ובקרת כוח

איור מספר 4: קביעת כניסה דיסקרטית לשימוש למיתוג בין מודי עבודה של בקרת מיקום ובקרת כוח

ביצוע המיתוג בין מודי העבודה – בקרת מיקום לבקרת כוח

מעבר זה הינו פשוט יחסית למעבר מבקרת כוח לבקרת מיקום.

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

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

איור מספר 5 מציג את תהליך המיתוג (הקלטה של תהליך העבודה של רובוט המבצע את משימת בקרת המיקום ובקרת הכוח).

איור מספר 5: תהליך המיתוג ממוד בקרת מיקום למוד בקרת כוח

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

איור מספר 6 מציג מקרה נוסף של מיתוג, הפעם כולל השינוי האוטומטי במהירות התנועה (למהירות איטית יותר) עם ההתקרבות למיקום הצפוי של העצם מולו יש לבצע בקרת כוח.

איור מספר 6: תהליך המיתוג ממוד בקרת מיקום למוד בקרת כוח – מקרה נוסף – האטה לפני מגע

ביצוע המיתוג בין מודי העבודה – בקרת כוח לבקרת מיקום

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

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

איור מספר 7: פונקציונליות של מוד בקרת המיקום שאינה בשימוש בזמן עבודה במוד בקרת כוח (מודגש בצהוב)

עיון מעמיק יותר באיור מספר 2 יראה את החלק הזה שאינו משמש לבקרת הכוח עצמה, אלא משמש להכנה, on-the-fly למיתוג בחזרה למוד בקרת מיקום בכול רגע שהוא. ראה איור מספר 8.

איור מספר 8: האלגוריתם שמופעל במוד בקרת כוח כדי “להיות מוכן” למיתוג בחזרה למוד בקרת מיקום

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

איור מספר 9 מציג את המיתוג ממוד בקרת כוח למוד בקרת מיקום ואת תחילת התנועה אחורה כדי להתנתק מהעצם.

איור מספר 9: תהליך המיתוג ממוד בקרת כוח למוד בקרת מיקום ותנועה אחורה

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

הגדרת פקודת הכוח על ידי המשתמש

המשתמש יכול להגדיר אחד משלושה מקורות לפקודת הכוח (כאשר נמצאים במוד בקרת כוח):

  1. ערך שנקבע על ידי המשתמש (וניתן לשינוי on-the-fly), כאשר המשתמש שולט על השיפוע של השינוי במעבר מערך לערך.
  2. כניסה אנלוגית (כול אחת מהכניסות האנלוגיות של הבקר, הכוללת הגבר מתכנת, אופסט ופילטר).
  3. סדרה של ערכים כאשר המשתמש מגדיר את ערכי פקודות הכוח לאורך הסדרה, הזמן להישאר בכול אחד מהערכים והשיפוע במעבר בין כול ערך לערך. על ידי כך המשתמש יכול לעצב פרופיל של פקודת הכוח תוך כדי התחזקות המגע עם העצם והפעלת העיבוד שמתבצע על העצם.
  4. הזרקה של פקודה סינוסואידלית עם ערכי תדר, אמפליטודה ואופסט מתכנתים.

ממשק משתמש ופרמטרים אחרים למוד בקרת כוח

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

איור מספר 11: ממשק משתמש מלא לכול פרמטרי בקרת כוח ומיתוג בין מוד בקרת מיקום ומוד בקרת כוח

הממשק כולל את החלקים הבאים:

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

ביצועים מדודים במערכת בקרת מיקום/כוח

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

התהליך המוצג הינו תהליך ארוך (כפי שנדרש באפליקציה זו). עם זאת, האלגוריתמים תומכים בשינוי on-the-fly ברזולוציה של זמן דגימה (61 מיקרו שניות) ומותאמים גם למיתוגים ולפעולה מהירה בהרבה.

איור מספר 12: דוגמא למהלך פעילות שלם של הרובו

לסיכום:

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

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

מידע נוסף:

הטכנולוגיה והפתרונות הטכניים המוצגים במאמר זה הודגמו באמצעות בקרי תנועה ותוכנת הבקרה של חברת אגיטו. למידע נוסף, אנא צרו קשר עם נציגי החברה (info@agito.co.il).

על הכותב

אייל ספיר הינו מייסד ובעלים משותף של חברת אגיטו מערכות הינע. אייל הינו בעל ניסיון רב שנים בתחום בקרת התנועה, בארץ ובעולם ועוסק בפיתוח ושיווק מוצרי מערכות בקרה (אלגוריתמים, תוכנה וחומרה) מזה כ- 30 שנה. טלפון: 052-2564079.

אייל ספיר, אגיטו מערכות הינע

תגובות סגורות