Skip to main content
דלג לתוכן הראשי
אינטגרציית ראייה ממוחשבת עם רובוט תעשייתי
יישומים

ראייה ממוחשבת לרובוטים תעשייתיים: מדריך אינטגרציה

צוות ההנדסה של Xpert Robotics8 דקות קריאה

כיצד לשלב מערכת ראייה ממוחשבת עם רובוט תעשייתי — סוגי מצלמות, אסטרטגיית תאורה, תקשורת רובוט-ראייה ודוגמת אינטגרציה HikRobot + FANUC צעד אחר צעד.

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

בחירת מצלמה

סוגי מצלמות לפי יישום:

  • סריקת שטח (2D) — איסוף, בדיקות, קריאת ברקוד. הנפוצה ביותר. סדרת CA ו-SC של HikRobot
  • אור מובנה 3D — איסוף מתיבה, מדידת נפח, גיאומטריה מורכבת. איטי יותר אך בלתי-תלוי מיקום
  • סריקת קו — בדיקת רצף רציף, משטחי צמיגים, פח פלדה. דורש תנועת מסוע
  • מצלמה חכמה (עיבוד מובנה) — סדרת SC6000. מצלמה + מעבד ראייה ביחידה אחת, ללא מחשב נפרד

תאורה: המשתנה החשוב ביותר

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

תקשורת רובוט-ראייה: FANUC + HikRobot

תבנית האינטגרציה הסטנדרטית: הרובוט שולח פולס טריגר דיגיטלי למצלמה, ממתין ל-DI "תוצאה מוכנה", ואז קורא לתוכנית Karel שקוראת את הסט ה-XY משקע TCP. תוכנית Karel כותבת ערכי ההיסט לרגיסטרים מספריים, שתוכנית TP מחילה אותם על עמדת האיסוף.

💡

חשוב: TP לא יכולה לפתוח שקעי TCP ישירות. תקשורת שקע דורשת תוכנית Karel (למשל VIS_READ.PC) מקומפלת וטעונה על הבקר. תוכנית TP קוראת ל-Karel, שמבצעת קריאת השקע וכותבת תוצאות לרגיסטרים.

fanuc-tp
! === חלק 1: טריגר מצלמה ===
  1: DO[10:CAM_TRIG]=ON     ;  ! פתח טריגר למצלמה
  2: WAIT  .02(sec)          ;  ! החזק 20ms — פולס טריגר מינימלי
  3: DO[10:CAM_TRIG]=OFF    ;  ! שחרר טריגר

! === חלק 2: המתן לתוצאת ראייה ===
  4: WAIT DI[11:VIS_RDY]=ON,TIMEOUT,LBL[99] ;
                               !  שים לב: פסיק לפני TIMEOUT — חובה בתחביר TP

! === חלק 3: קרא היסט דרך Karel ===
  5: CALL VIS_READ           ;  ! Karel קורא שקע TCP: XOffset→R[20], YOffset→R[21]
  6: IF DI[12:VIS_FAIL]=ON,JMP LBL[98] ;  ! המצלמה לא מצאה חלק

! === חלק 4: החל היסט על עמדת האיסוף הבסיסית ===
  7: PR[5]=P[3:PICK_BASE]   ;  ! טען עמדת איסוף מלומדת ל-PR[5]
  8: R[30]=PR[5,1]          ;  ! קרא X הנוכחי של PR[5]
  9: R[30]=R[30]+R[20]      ;  ! הוסף היסט X מהראייה
 10: PR[5,1]=R[30]          ;  ! כתוב חזרה לאלמנט X של PR[5]
 11: R[31]=PR[5,2]          ;  ! קרא Y הנוכחי של PR[5]
 12: R[31]=R[31]+R[21]      ;  ! הוסף היסט Y מהראייה
 13: PR[5,2]=R[31]          ;  ! כתוב חזרה לאלמנט Y של PR[5]

! === חלק 5: נוע לעמדה המתוקנת ===
 14: J PR[5] 60% CNT50      ;  ! התקרב מעל עמדת האיסוף המתוקנת
 15: L PR[5] 150mm/sec FINE ;  ! גישה מדויקת לעמדה
 16: JMP LBL[100]           ;

LBL[98:NO_PART] :
 17: DO[14:NO_PART_ALM]=ON  ;  ! הפעל אזעקת חסר-חלק
 18: PAUSE                   ;
 19: JMP LBL[100]           ;

LBL[99:VIS_TIMEOUT] :
 20: DO[14:NO_PART_ALM]=ON  ;
 21: PAUSE                   ;

LBL[100:END] :

הערות תחביר מרכזיות: (1) TIMEOUT בפקודת WAIT דורש פסיק לפני LBL — "WAIT DI[x]=ON,TIMEOUT,LBL[n]". (2) TP לא יכולה לעשות PR[5,1] = PR[5,1] + R[20] בצעד אחד — חייב לקרוא ל-R[], להוסיף, ואז לכתוב חזרה. (3) תמיד השתמש בתוכנית Karel לקריאות שקע — לעולם אל תנסה TCP ב-TP ישירות.

כיול: כיול יד-עין

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

💡

Xpert Robotics שילבה מערכות ראייה של HikRobot עם רובוטי FANUC ו-Shibaura לבדיקת איכות ואיסוף מתיבה. צור קשר להערכת היתכנות ראייה ממוחשבת.

אינטגרציית ראייה ממוחשבת רובוטראייה ממוחשבת רובוט ישראלHikRobot FANUCרובוט מונחה ראייהבדיקת איכות רובוטית